\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 r3518259 = 1.0;
double r3518260 = x;
double r3518261 = r3518260 + r3518259;
double r3518262 = r3518259 / r3518261;
double r3518263 = 2.0;
double r3518264 = r3518263 / r3518260;
double r3518265 = r3518262 - r3518264;
double r3518266 = r3518260 - r3518259;
double r3518267 = r3518259 / r3518266;
double r3518268 = r3518265 + r3518267;
return r3518268;
}
double f(double x) {
double r3518269 = 2.0;
double r3518270 = x;
double r3518271 = 1.0;
double r3518272 = r3518270 + r3518271;
double r3518273 = r3518272 * r3518270;
double r3518274 = r3518270 - r3518271;
double r3518275 = r3518273 * r3518274;
double r3518276 = r3518269 / r3518275;
return r3518276;
}




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