\sqrt{x + 1.0} - \sqrt{x}\frac{1.0}{\sqrt{x + 1.0} + \sqrt{x}}double f(double x) {
double r24724579 = x;
double r24724580 = 1.0;
double r24724581 = r24724579 + r24724580;
double r24724582 = sqrt(r24724581);
double r24724583 = sqrt(r24724579);
double r24724584 = r24724582 - r24724583;
return r24724584;
}
double f(double x) {
double r24724585 = 1.0;
double r24724586 = x;
double r24724587 = r24724586 + r24724585;
double r24724588 = sqrt(r24724587);
double r24724589 = sqrt(r24724586);
double r24724590 = r24724588 + r24724589;
double r24724591 = r24724585 / r24724590;
return r24724591;
}




Bits error versus x
Results
| Original | 29.5 |
|---|---|
| Target | 0.2 |
| Herbie | 0.2 |
Initial program 29.5
rmApplied flip--29.3
Simplified28.9
Taylor expanded around 0 0.2
Final simplification0.2
herbie shell --seed 2019162
(FPCore (x)
:name "Main:bigenough3 from C"
:herbie-target
(/ 1.0 (+ (sqrt (+ x 1.0)) (sqrt x)))
(- (sqrt (+ x 1.0)) (sqrt x)))