\sqrt{x + 1} - \sqrt{x}\frac{\left(x - x\right) + 1}{\sqrt{1 + x} + \sqrt{x}}double f(double x) {
double r23340728 = x;
double r23340729 = 1.0;
double r23340730 = r23340728 + r23340729;
double r23340731 = sqrt(r23340730);
double r23340732 = sqrt(r23340728);
double r23340733 = r23340731 - r23340732;
return r23340733;
}
double f(double x) {
double r23340734 = x;
double r23340735 = r23340734 - r23340734;
double r23340736 = 1.0;
double r23340737 = r23340735 + r23340736;
double r23340738 = r23340736 + r23340734;
double r23340739 = sqrt(r23340738);
double r23340740 = sqrt(r23340734);
double r23340741 = r23340739 + r23340740;
double r23340742 = r23340737 / r23340741;
return r23340742;
}




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 "Main:bigenough3 from C"
:herbie-target
(/ 1.0 (+ (sqrt (+ x 1.0)) (sqrt x)))
(- (sqrt (+ x 1.0)) (sqrt x)))