\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 r1620204 = x;
double r1620205 = 1.0;
double r1620206 = r1620204 + r1620205;
double r1620207 = sqrt(r1620206);
double r1620208 = sqrt(r1620204);
double r1620209 = r1620207 - r1620208;
return r1620209;
}
double f(double x) {
double r1620210 = 1.0;
double r1620211 = x;
double r1620212 = r1620210 + r1620211;
double r1620213 = sqrt(r1620212);
double r1620214 = sqrt(r1620211);
double r1620215 = r1620213 + r1620214;
double r1620216 = r1620215 * r1620215;
double r1620217 = -0.5;
double r1620218 = pow(r1620216, r1620217);
return r1620218;
}




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)))