\left(\frac{1}{x + 1} - \frac{2}{x}\right) + \frac{1}{x - 1}\frac{\sqrt{\sqrt{2}}}{\frac{x}{\sqrt[3]{\sqrt{2}}}} \cdot \frac{\sqrt{\sqrt{2}}}{\frac{x \cdot x - 1}{\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}}}double f(double x) {
double r4605108 = 1.0;
double r4605109 = x;
double r4605110 = r4605109 + r4605108;
double r4605111 = r4605108 / r4605110;
double r4605112 = 2.0;
double r4605113 = r4605112 / r4605109;
double r4605114 = r4605111 - r4605113;
double r4605115 = r4605109 - r4605108;
double r4605116 = r4605108 / r4605115;
double r4605117 = r4605114 + r4605116;
return r4605117;
}
double f(double x) {
double r4605118 = 2.0;
double r4605119 = sqrt(r4605118);
double r4605120 = sqrt(r4605119);
double r4605121 = x;
double r4605122 = cbrt(r4605119);
double r4605123 = r4605121 / r4605122;
double r4605124 = r4605120 / r4605123;
double r4605125 = r4605121 * r4605121;
double r4605126 = 1.0;
double r4605127 = r4605125 - r4605126;
double r4605128 = r4605122 * r4605122;
double r4605129 = r4605127 / r4605128;
double r4605130 = r4605120 / r4605129;
double r4605131 = r4605124 * r4605130;
return r4605131;
}




Bits error versus x
Results
| Original | 9.5 |
|---|---|
| Target | 0.2 |
| Herbie | 0.3 |
Initial program 9.5
rmApplied frac-sub25.6
Applied frac-add24.9
Simplified25.3
Taylor expanded around -inf 0.3
rmApplied add-sqr-sqrt1.0
Applied associate-/l*0.7
Simplified0.7
rmApplied add-cube-cbrt0.7
Applied times-frac0.8
Applied add-sqr-sqrt0.4
Applied times-frac0.3
Final simplification0.3
herbie shell --seed 2019134 +o rules:numerics
(FPCore (x)
:name "3frac (problem 3.3.3)"
:herbie-target
(/ 2 (* x (- (* x x) 1)))
(+ (- (/ 1 (+ x 1)) (/ 2 x)) (/ 1 (- x 1))))