\sqrt{x + 1} - \sqrt{x}\frac{1}{\sqrt{x + 1} + \sqrt{x}}double f(double x) {
double r4120902 = x;
double r4120903 = 1.0;
double r4120904 = r4120902 + r4120903;
double r4120905 = sqrt(r4120904);
double r4120906 = sqrt(r4120902);
double r4120907 = r4120905 - r4120906;
return r4120907;
}
double f(double x) {
double r4120908 = 1.0;
double r4120909 = x;
double r4120910 = r4120909 + r4120908;
double r4120911 = sqrt(r4120910);
double r4120912 = sqrt(r4120909);
double r4120913 = r4120911 + r4120912;
double r4120914 = r4120908 / r4120913;
return r4120914;
}




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