\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 r162847 = 1.0;
double r162848 = x;
double r162849 = r162848 + r162847;
double r162850 = r162847 / r162849;
double r162851 = 2.0;
double r162852 = r162851 / r162848;
double r162853 = r162850 - r162852;
double r162854 = r162848 - r162847;
double r162855 = r162847 / r162854;
double r162856 = r162853 + r162855;
return r162856;
}
double f(double x) {
double r162857 = 2.0;
double r162858 = x;
double r162859 = 1.0;
double r162860 = r162858 + r162859;
double r162861 = r162860 * r162858;
double r162862 = r162858 - r162859;
double r162863 = r162861 * r162862;
double r162864 = r162857 / r162863;
return r162864;
}




Bits error versus x
Results
| Original | 9.6 |
|---|---|
| Target | 0.3 |
| Herbie | 0.3 |
Initial program 9.6
rmApplied frac-sub25.8
Applied frac-add25.4
Taylor expanded around 0 0.3
Final simplification0.3
herbie shell --seed 2020020
(FPCore (x)
:name "3frac (problem 3.3.3)"
:precision binary64
:herbie-target
(/ 2 (* x (- (* x x) 1)))
(+ (- (/ 1 (+ x 1)) (/ 2 x)) (/ 1 (- x 1))))