\sqrt{x + 1} - \sqrt{x}\frac{1}{\sqrt{x + 1} + \sqrt{x}}double f(double x) {
double r3686851 = x;
double r3686852 = 1.0;
double r3686853 = r3686851 + r3686852;
double r3686854 = sqrt(r3686853);
double r3686855 = sqrt(r3686851);
double r3686856 = r3686854 - r3686855;
return r3686856;
}
double f(double x) {
double r3686857 = 1.0;
double r3686858 = x;
double r3686859 = r3686858 + r3686857;
double r3686860 = sqrt(r3686859);
double r3686861 = sqrt(r3686858);
double r3686862 = r3686860 + r3686861;
double r3686863 = r3686857 / r3686862;
return r3686863;
}




Bits error versus x
Results
| Original | 29.9 |
|---|---|
| Target | 0.2 |
| Herbie | 0.2 |
Initial program 29.9
rmApplied flip--29.6
Simplified29.2
Simplified29.2
rmApplied clear-num29.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019163 +o rules:numerics
(FPCore (x)
:name "2sqrt (example 3.1)"
:herbie-target
(/ 1 (+ (sqrt (+ x 1)) (sqrt x)))
(- (sqrt (+ x 1)) (sqrt x)))