\sqrt{x + 1} - \sqrt{x}\frac{1}{\sqrt{\sqrt{x + 1}} \cdot \sqrt{\sqrt{x + 1}} + \sqrt{x}}double f(double x) {
double r349734 = x;
double r349735 = 1.0;
double r349736 = r349734 + r349735;
double r349737 = sqrt(r349736);
double r349738 = sqrt(r349734);
double r349739 = r349737 - r349738;
return r349739;
}
double f(double x) {
double r349740 = 1.0;
double r349741 = x;
double r349742 = r349741 + r349740;
double r349743 = sqrt(r349742);
double r349744 = sqrt(r349743);
double r349745 = r349744 * r349744;
double r349746 = sqrt(r349741);
double r349747 = r349745 + r349746;
double r349748 = r349740 / r349747;
return r349748;
}




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