\frac{1}{\sqrt{x}} - \frac{1}{\sqrt{x + 1}}\frac{\sqrt{\frac{1}{\sqrt{x + 1} \cdot \sqrt{x}}}}{\sqrt{\sqrt{x} + \sqrt{x + 1}}} \cdot \frac{\sqrt{\frac{1}{\sqrt{x + 1} \cdot \sqrt{x}}}}{\sqrt{\sqrt{x} + \sqrt{x + 1}}}double f(double x) {
double r11144989 = 1.0;
double r11144990 = x;
double r11144991 = sqrt(r11144990);
double r11144992 = r11144989 / r11144991;
double r11144993 = r11144990 + r11144989;
double r11144994 = sqrt(r11144993);
double r11144995 = r11144989 / r11144994;
double r11144996 = r11144992 - r11144995;
return r11144996;
}
double f(double x) {
double r11144997 = 1.0;
double r11144998 = x;
double r11144999 = r11144998 + r11144997;
double r11145000 = sqrt(r11144999);
double r11145001 = sqrt(r11144998);
double r11145002 = r11145000 * r11145001;
double r11145003 = r11144997 / r11145002;
double r11145004 = sqrt(r11145003);
double r11145005 = r11145001 + r11145000;
double r11145006 = sqrt(r11145005);
double r11145007 = r11145004 / r11145006;
double r11145008 = r11145007 * r11145007;
return r11145008;
}




Bits error versus x
Results
| Original | 19.7 |
|---|---|
| Target | 0.7 |
| Herbie | 0.6 |
Initial program 19.7
rmApplied frac-sub19.7
Simplified19.7
rmApplied flip--19.5
Applied associate-/l/19.5
Simplified0.8
rmApplied associate-/r*0.4
rmApplied add-sqr-sqrt0.4
Applied add-sqr-sqrt0.6
Applied times-frac0.6
Final simplification0.6
herbie shell --seed 2019104
(FPCore (x)
:name "2isqrt (example 3.6)"
:herbie-target
(/ 1 (+ (* (+ x 1) (sqrt x)) (* x (sqrt (+ x 1)))))
(- (/ 1 (sqrt x)) (/ 1 (sqrt (+ x 1)))))