\left(\frac{1}{x + 1} - \frac{2}{x}\right) + \frac{1}{x - 1}\frac{2}{{x}^{3} - 1 \cdot x}double f(double x) {
double r136936 = 1.0;
double r136937 = x;
double r136938 = r136937 + r136936;
double r136939 = r136936 / r136938;
double r136940 = 2.0;
double r136941 = r136940 / r136937;
double r136942 = r136939 - r136941;
double r136943 = r136937 - r136936;
double r136944 = r136936 / r136943;
double r136945 = r136942 + r136944;
return r136945;
}
double f(double x) {
double r136946 = 2.0;
double r136947 = x;
double r136948 = 3.0;
double r136949 = pow(r136947, r136948);
double r136950 = 1.0;
double r136951 = r136950 * r136947;
double r136952 = r136949 - r136951;
double r136953 = r136946 / r136952;
return r136953;
}




Bits error versus x
Results
| Original | 9.9 |
|---|---|
| Target | 0.3 |
| Herbie | 0.2 |
Initial program 9.9
rmApplied frac-sub26.2
Applied frac-add25.9
Simplified26.4
Taylor expanded around 0 0.3
Taylor expanded around 0 0.2
Final simplification0.2
herbie shell --seed 2020024 +o rules:numerics
(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))))