\sqrt{x + 1} - \sqrt{x}\frac{1}{\sqrt{x + 1} + \sqrt{x}}double f(double x) {
double r8985722 = x;
double r8985723 = 1.0;
double r8985724 = r8985722 + r8985723;
double r8985725 = sqrt(r8985724);
double r8985726 = sqrt(r8985722);
double r8985727 = r8985725 - r8985726;
return r8985727;
}
double f(double x) {
double r8985728 = 1.0;
double r8985729 = x;
double r8985730 = r8985729 + r8985728;
double r8985731 = sqrt(r8985730);
double r8985732 = sqrt(r8985729);
double r8985733 = r8985731 + r8985732;
double r8985734 = r8985728 / r8985733;
return r8985734;
}




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