\left(\frac{1}{x + 1} - \frac{2}{x}\right) + \frac{1}{x - 1}\frac{2}{\left(\left(x + 1\right) \cdot x\right) \cdot \left(x - 1\right)}double f(double x) {
double r2811050 = 1.0;
double r2811051 = x;
double r2811052 = r2811051 + r2811050;
double r2811053 = r2811050 / r2811052;
double r2811054 = 2.0;
double r2811055 = r2811054 / r2811051;
double r2811056 = r2811053 - r2811055;
double r2811057 = r2811051 - r2811050;
double r2811058 = r2811050 / r2811057;
double r2811059 = r2811056 + r2811058;
return r2811059;
}
double f(double x) {
double r2811060 = 2.0;
double r2811061 = x;
double r2811062 = 1.0;
double r2811063 = r2811061 + r2811062;
double r2811064 = r2811063 * r2811061;
double r2811065 = r2811061 - r2811062;
double r2811066 = r2811064 * r2811065;
double r2811067 = r2811060 / r2811066;
return r2811067;
}




Bits error versus x
Results
| Original | 9.9 |
|---|---|
| Target | 0.3 |
| Herbie | 0.3 |
Initial program 9.9
rmApplied frac-sub25.9
Applied frac-add25.1
Taylor expanded around 0 0.3
Final simplification0.3
herbie shell --seed 2019128 +o rules:numerics
(FPCore (x)
:name "3frac (problem 3.3.3)"
:herbie-target
(/ 2 (* x (- (* x x) 1)))
(+ (- (/ 1 (+ x 1)) (/ 2 x)) (/ 1 (- x 1))))