Lines Matching defs:csum
2483 fabs(csum) is always as large as fabs(x).
2485 To establish the invariant, *csum* is initialized to 1.0 which is
2488 net zero effect on the final sum. Since *csum* will be greater than
2490 dropped from *csum*.
2504 Another interesting assertion is that csum+lo*lo == csum. In the loop,
2508 Given that csum >= 1.0, we have:
2509 lo**2 <= 2**-54 < 2**-53 == 1/2*ulp(1.0) <= ulp(csum)/2
2510 Since lo**2 is less than 1/2 ulp(csum), we have csum+lo*lo == csum.
2560 double x, scale, oldcsum, csum = 1.0, frac1 = 0.0, frac2 = 0.0, frac3 = 0.0;
2593 assert(fabs(csum) >= fabs(x));
2594 oldcsum = csum;
2595 csum += x;
2596 frac1 += (oldcsum - csum) + x;
2599 assert(fabs(csum) >= fabs(x));
2600 oldcsum = csum;
2601 csum += x;
2602 frac2 += (oldcsum - csum) + x;
2604 assert(csum + lo * lo == csum);
2607 h = sqrt(csum - 1.0 + (frac1 + frac2 + frac3));
2616 assert(fabs(csum) >= fabs(x));
2617 oldcsum = csum;
2618 csum += x;
2619 frac1 += (oldcsum - csum) + x;
2622 assert(fabs(csum) >= fabs(x));
2623 oldcsum = csum;
2624 csum += x;
2625 frac2 += (oldcsum - csum) + x;
2628 assert(fabs(csum) >= fabs(x));
2629 oldcsum = csum;
2630 csum += x;
2631 frac3 += (oldcsum - csum) + x;
2633 x = csum - 1.0 + (frac1 + frac2 + frac3);
2645 assert(fabs(csum) >= fabs(x));
2646 oldcsum = csum;
2647 csum += x;
2648 frac1 += (oldcsum - csum) + x;
2650 return max * sqrt(csum - 1.0 + frac1);