\sqrt{x + 1} - \sqrt{x}\frac{1}{\sqrt{x + 1} + \sqrt{x}}double f(double x) {
double r3314415 = x;
double r3314416 = 1.0;
double r3314417 = r3314415 + r3314416;
double r3314418 = sqrt(r3314417);
double r3314419 = sqrt(r3314415);
double r3314420 = r3314418 - r3314419;
return r3314420;
}
double f(double x) {
double r3314421 = 1.0;
double r3314422 = x;
double r3314423 = r3314422 + r3314421;
double r3314424 = sqrt(r3314423);
double r3314425 = sqrt(r3314422);
double r3314426 = r3314424 + r3314425;
double r3314427 = r3314421 / r3314426;
return r3314427;
}




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