\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 r109782 = 1.0;
double r109783 = x;
double r109784 = r109783 + r109782;
double r109785 = r109782 / r109784;
double r109786 = 2.0;
double r109787 = r109786 / r109783;
double r109788 = r109785 - r109787;
double r109789 = r109783 - r109782;
double r109790 = r109782 / r109789;
double r109791 = r109788 + r109790;
return r109791;
}
double f(double x) {
double r109792 = 2.0;
double r109793 = x;
double r109794 = 1.0;
double r109795 = r109793 + r109794;
double r109796 = r109795 * r109793;
double r109797 = r109793 - r109794;
double r109798 = r109796 * r109797;
double r109799 = r109792 / r109798;
return r109799;
}




Bits error versus x
Results
| Original | 9.6 |
|---|---|
| Target | 0.3 |
| Herbie | 0.3 |
Initial program 9.6
rmApplied frac-sub25.9
Applied frac-add25.5
Taylor expanded around 0 0.3
Final simplification0.3
herbie shell --seed 2020062
(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))))