\left(\frac{1}{x + 1} - \frac{2}{x}\right) + \frac{1}{x - 1}2 \cdot \frac{\frac{1}{x + 1}}{x \cdot \left(x - 1\right)}double f(double x) {
double r112456 = 1.0;
double r112457 = x;
double r112458 = r112457 + r112456;
double r112459 = r112456 / r112458;
double r112460 = 2.0;
double r112461 = r112460 / r112457;
double r112462 = r112459 - r112461;
double r112463 = r112457 - r112456;
double r112464 = r112456 / r112463;
double r112465 = r112462 + r112464;
return r112465;
}
double f(double x) {
double r112466 = 2.0;
double r112467 = 1.0;
double r112468 = x;
double r112469 = 1.0;
double r112470 = r112468 + r112469;
double r112471 = r112467 / r112470;
double r112472 = r112468 - r112469;
double r112473 = r112468 * r112472;
double r112474 = r112471 / r112473;
double r112475 = r112466 * r112474;
return r112475;
}




Bits error versus x
Results
| Original | 10.1 |
|---|---|
| Target | 0.3 |
| Herbie | 0.1 |
Initial program 10.1
Simplified10.1
rmApplied frac-sub25.9
Applied frac-add25.4
Simplified25.4
Simplified25.4
Taylor expanded around 0 0.3
rmApplied div-inv0.3
Simplified0.1
Final simplification0.1
herbie shell --seed 2019194
(FPCore (x)
:name "3frac (problem 3.3.3)"
:herbie-target
(/ 2.0 (* x (- (* x x) 1.0)))
(+ (- (/ 1.0 (+ x 1.0)) (/ 2.0 x)) (/ 1.0 (- x 1.0))))