\sqrt{x + 1} - \sqrt{x}\frac{1 + 0}{\sqrt{x + 1} + \sqrt{x}}double f(double x) {
double r583520 = x;
double r583521 = 1.0;
double r583522 = r583520 + r583521;
double r583523 = sqrt(r583522);
double r583524 = sqrt(r583520);
double r583525 = r583523 - r583524;
return r583525;
}
double f(double x) {
double r583526 = 1.0;
double r583527 = 0.0;
double r583528 = r583526 + r583527;
double r583529 = x;
double r583530 = r583529 + r583526;
double r583531 = sqrt(r583530);
double r583532 = sqrt(r583529);
double r583533 = r583531 + r583532;
double r583534 = r583528 / r583533;
return r583534;
}




Bits error versus x
Results
| Original | 30.5 |
|---|---|
| Target | 0.2 |
| Herbie | 0.2 |
Initial program 30.5
rmApplied flip--30.3
Simplified0.2
Final simplification0.2
herbie shell --seed 2020060 +o rules:numerics
(FPCore (x)
:name "Main:bigenough3 from C"
:precision binary64
:herbie-target
(/ 1 (+ (sqrt (+ x 1)) (sqrt x)))
(- (sqrt (+ x 1)) (sqrt x)))