\sqrt{x + 1.0} - \sqrt{x}\frac{1.0}{\sqrt{x + 1.0} + \sqrt{x}}double f(double x) {
double r26127824 = x;
double r26127825 = 1.0;
double r26127826 = r26127824 + r26127825;
double r26127827 = sqrt(r26127826);
double r26127828 = sqrt(r26127824);
double r26127829 = r26127827 - r26127828;
return r26127829;
}
double f(double x) {
double r26127830 = 1.0;
double r26127831 = x;
double r26127832 = r26127831 + r26127830;
double r26127833 = sqrt(r26127832);
double r26127834 = sqrt(r26127831);
double r26127835 = r26127833 + r26127834;
double r26127836 = r26127830 / r26127835;
return r26127836;
}




Bits error versus x
Results
| Original | 29.5 |
|---|---|
| Target | 0.2 |
| Herbie | 0.2 |
Initial program 29.5
rmApplied flip--29.3
Simplified28.9
Taylor expanded around 0 0.2
Final simplification0.2
herbie shell --seed 2019162
(FPCore (x)
:name "Main:bigenough3 from C"
:herbie-target
(/ 1.0 (+ (sqrt (+ x 1.0)) (sqrt x)))
(- (sqrt (+ x 1.0)) (sqrt x)))