\left(\frac{1}{x + 1} - \frac{2}{x}\right) + \frac{1}{x - 1}\frac{\sqrt{\sqrt{2}}}{\frac{x - 1}{\sqrt{\sqrt{2}}}} \cdot \frac{\sqrt{2}}{\left(1 + x\right) \cdot x}double f(double x) {
double r14137208 = 1.0;
double r14137209 = x;
double r14137210 = r14137209 + r14137208;
double r14137211 = r14137208 / r14137210;
double r14137212 = 2.0;
double r14137213 = r14137212 / r14137209;
double r14137214 = r14137211 - r14137213;
double r14137215 = r14137209 - r14137208;
double r14137216 = r14137208 / r14137215;
double r14137217 = r14137214 + r14137216;
return r14137217;
}
double f(double x) {
double r14137218 = 2.0;
double r14137219 = sqrt(r14137218);
double r14137220 = sqrt(r14137219);
double r14137221 = x;
double r14137222 = 1.0;
double r14137223 = r14137221 - r14137222;
double r14137224 = r14137223 / r14137220;
double r14137225 = r14137220 / r14137224;
double r14137226 = r14137222 + r14137221;
double r14137227 = r14137226 * r14137221;
double r14137228 = r14137219 / r14137227;
double r14137229 = r14137225 * r14137228;
return r14137229;
}




Bits error versus x
Results
| Original | 9.7 |
|---|---|
| Target | 0.2 |
| Herbie | 0.2 |
Initial program 9.7
rmApplied frac-sub25.8
Applied frac-add25.0
Taylor expanded around -inf 0.2
rmApplied add-sqr-sqrt1.0
Applied times-frac0.5
rmApplied add-sqr-sqrt0.5
Applied sqrt-prod0.2
Applied associate-/l*0.2
Final simplification0.2
herbie shell --seed 2019107
(FPCore (x)
:name "3frac (problem 3.3.3)"
:herbie-target
(/ 2 (* x (- (* x x) 1)))
(+ (- (/ 1 (+ x 1)) (/ 2 x)) (/ 1 (- x 1))))