\sqrt{x + 1} - \sqrt{x}{\left(\left(\sqrt{1 + x} + \sqrt{x}\right) \cdot \left(\sqrt{1 + x} + \sqrt{x}\right)\right)}^{\frac{-1}{2}}double f(double x) {
double r12596875 = x;
double r12596876 = 1.0;
double r12596877 = r12596875 + r12596876;
double r12596878 = sqrt(r12596877);
double r12596879 = sqrt(r12596875);
double r12596880 = r12596878 - r12596879;
return r12596880;
}
double f(double x) {
double r12596881 = 1.0;
double r12596882 = x;
double r12596883 = r12596881 + r12596882;
double r12596884 = sqrt(r12596883);
double r12596885 = sqrt(r12596882);
double r12596886 = r12596884 + r12596885;
double r12596887 = r12596886 * r12596886;
double r12596888 = -0.5;
double r12596889 = pow(r12596887, r12596888);
return r12596889;
}




Bits error versus x
Results
| Original | 29.7 |
|---|---|
| Target | 0.2 |
| Herbie | 0.2 |
Initial program 29.7
rmApplied flip--29.4
Simplified0.2
rmApplied add-sqr-sqrt0.3
rmApplied pow1/20.3
Applied pow1/20.3
Applied pow-prod-down0.2
Applied pow-flip0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019128
(FPCore (x)
:name "2sqrt (example 3.1)"
:herbie-target
(/ 1 (+ (sqrt (+ x 1)) (sqrt x)))
(- (sqrt (+ x 1)) (sqrt x)))