\log \left(\frac{1 - \varepsilon}{1 + \varepsilon}\right)\left(\left(\varepsilon \cdot \varepsilon\right) \cdot \varepsilon\right) \cdot \frac{-2}{3} - \left(\varepsilon \cdot 2 + {\varepsilon}^{5} \cdot \frac{2}{5}\right)double f(double eps) {
double r2472017 = 1.0;
double r2472018 = eps;
double r2472019 = r2472017 - r2472018;
double r2472020 = r2472017 + r2472018;
double r2472021 = r2472019 / r2472020;
double r2472022 = log(r2472021);
return r2472022;
}
double f(double eps) {
double r2472023 = eps;
double r2472024 = r2472023 * r2472023;
double r2472025 = r2472024 * r2472023;
double r2472026 = -0.6666666666666666;
double r2472027 = r2472025 * r2472026;
double r2472028 = 2.0;
double r2472029 = r2472023 * r2472028;
double r2472030 = 5.0;
double r2472031 = pow(r2472023, r2472030);
double r2472032 = 0.4;
double r2472033 = r2472031 * r2472032;
double r2472034 = r2472029 + r2472033;
double r2472035 = r2472027 - r2472034;
return r2472035;
}




Bits error versus eps
Results
| Original | 58.5 |
|---|---|
| Target | 0.2 |
| Herbie | 0.2 |
Initial program 58.5
Taylor expanded around 0 0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019146
(FPCore (eps)
:name "logq (problem 3.4.3)"
:herbie-target
(* -2 (+ (+ eps (/ (pow eps 3) 3)) (/ (pow eps 5) 5)))
(log (/ (- 1 eps) (+ 1 eps))))