\sqrt{x + 1} - \sqrt{x}\frac{1}{\sqrt{x + 1} + \sqrt{x}}double f(double x) {
double r3264334 = x;
double r3264335 = 1.0;
double r3264336 = r3264334 + r3264335;
double r3264337 = sqrt(r3264336);
double r3264338 = sqrt(r3264334);
double r3264339 = r3264337 - r3264338;
return r3264339;
}
double f(double x) {
double r3264340 = 1.0;
double r3264341 = x;
double r3264342 = r3264341 + r3264340;
double r3264343 = sqrt(r3264342);
double r3264344 = sqrt(r3264341);
double r3264345 = r3264343 + r3264344;
double r3264346 = r3264340 / r3264345;
return r3264346;
}




Bits error versus x
Results
| Original | 29.7 |
|---|---|
| Target | 0.2 |
| Herbie | 0.2 |
Initial program 29.7
rmApplied flip--29.5
Simplified0.2
Final simplification0.2
herbie shell --seed 2019139
(FPCore (x)
:name "2sqrt (example 3.1)"
:herbie-target
(/ 1 (+ (sqrt (+ x 1)) (sqrt x)))
(- (sqrt (+ x 1)) (sqrt x)))