\sqrt{x + 1} - \sqrt{x}\frac{1}{\sqrt{x + 1} + \sqrt{x}}double f(double x) {
double r10977419 = x;
double r10977420 = 1.0;
double r10977421 = r10977419 + r10977420;
double r10977422 = sqrt(r10977421);
double r10977423 = sqrt(r10977419);
double r10977424 = r10977422 - r10977423;
return r10977424;
}
double f(double x) {
double r10977425 = 1.0;
double r10977426 = x;
double r10977427 = r10977426 + r10977425;
double r10977428 = sqrt(r10977427);
double r10977429 = sqrt(r10977426);
double r10977430 = r10977428 + r10977429;
double r10977431 = r10977425 / r10977430;
return r10977431;
}




Bits error versus x
Results
| Original | 30.1 |
|---|---|
| Target | 0.2 |
| Herbie | 0.2 |
Initial program 30.1
rmApplied flip--29.9
Taylor expanded around inf 0.2
Final simplification0.2
herbie shell --seed 2019107 +o rules:numerics
(FPCore (x)
:name "2sqrt (example 3.1)"
:herbie-target
(/ 1 (+ (sqrt (+ x 1)) (sqrt x)))
(- (sqrt (+ x 1)) (sqrt x)))