\sqrt{x + 1} - \sqrt{x}\sqrt{\frac{1}{\sqrt{x + 1} + \sqrt{x}}} \cdot \sqrt{\frac{1}{\sqrt{x + 1} + \sqrt{x}}}double f(double x) {
double r445480 = x;
double r445481 = 1.0;
double r445482 = r445480 + r445481;
double r445483 = sqrt(r445482);
double r445484 = sqrt(r445480);
double r445485 = r445483 - r445484;
return r445485;
}
double f(double x) {
double r445486 = 1.0;
double r445487 = x;
double r445488 = r445487 + r445486;
double r445489 = sqrt(r445488);
double r445490 = sqrt(r445487);
double r445491 = r445489 + r445490;
double r445492 = r445486 / r445491;
double r445493 = sqrt(r445492);
double r445494 = r445493 * r445493;
return r445494;
}




Bits error versus x
Results
| Original | 29.5 |
|---|---|
| Target | 0.2 |
| Herbie | 0.3 |
Initial program 29.5
rmApplied flip--29.2
Simplified0.2
rmApplied add-sqr-sqrt0.3
Final simplification0.3
herbie shell --seed 2020027
(FPCore (x)
:name "Main:bigenough3 from C"
:precision binary64
:herbie-target
(/ 1 (+ (sqrt (+ x 1)) (sqrt x)))
(- (sqrt (+ x 1)) (sqrt x)))