\sqrt{x + 1} - \sqrt{x}\frac{1 + 0}{\sqrt{x + 1} + \sqrt{x}}double f(double x) {
double r137882 = x;
double r137883 = 1.0;
double r137884 = r137882 + r137883;
double r137885 = sqrt(r137884);
double r137886 = sqrt(r137882);
double r137887 = r137885 - r137886;
return r137887;
}
double f(double x) {
double r137888 = 1.0;
double r137889 = 0.0;
double r137890 = r137888 + r137889;
double r137891 = x;
double r137892 = r137891 + r137888;
double r137893 = sqrt(r137892);
double r137894 = sqrt(r137891);
double r137895 = r137893 + r137894;
double r137896 = r137890 / r137895;
return r137896;
}




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 2019356 +o rules:numerics
(FPCore (x)
:name "2sqrt (example 3.1)"
:precision binary64
:herbie-target
(/ 1 (+ (sqrt (+ x 1)) (sqrt x)))
(- (sqrt (+ x 1)) (sqrt x)))