\sqrt{x + 1} - \sqrt{x}\frac{\left(x - x\right) + 1}{\sqrt{1 + x} + \sqrt{x}}double f(double x) {
double r7216831 = x;
double r7216832 = 1.0;
double r7216833 = r7216831 + r7216832;
double r7216834 = sqrt(r7216833);
double r7216835 = sqrt(r7216831);
double r7216836 = r7216834 - r7216835;
return r7216836;
}
double f(double x) {
double r7216837 = x;
double r7216838 = r7216837 - r7216837;
double r7216839 = 1.0;
double r7216840 = r7216838 + r7216839;
double r7216841 = r7216839 + r7216837;
double r7216842 = sqrt(r7216841);
double r7216843 = sqrt(r7216837);
double r7216844 = r7216842 + r7216843;
double r7216845 = r7216840 / r7216844;
return r7216845;
}




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