\left(e^{x} - 2\right) + e^{-x}{x}^{2} + \left(\frac{1}{360} \cdot {x}^{6} + \frac{1}{12} \cdot {x}^{4}\right)double f(double x) {
double r101705 = x;
double r101706 = exp(r101705);
double r101707 = 2.0;
double r101708 = r101706 - r101707;
double r101709 = -r101705;
double r101710 = exp(r101709);
double r101711 = r101708 + r101710;
return r101711;
}
double f(double x) {
double r101712 = x;
double r101713 = 2.0;
double r101714 = pow(r101712, r101713);
double r101715 = 0.002777777777777778;
double r101716 = 6.0;
double r101717 = pow(r101712, r101716);
double r101718 = r101715 * r101717;
double r101719 = 0.08333333333333333;
double r101720 = 4.0;
double r101721 = pow(r101712, r101720);
double r101722 = r101719 * r101721;
double r101723 = r101718 + r101722;
double r101724 = r101714 + r101723;
return r101724;
}




Bits error versus x
Results
| Original | 29.9 |
|---|---|
| Target | 0.0 |
| Herbie | 0.6 |
Initial program 29.9
Taylor expanded around 0 0.6
Final simplification0.6
herbie shell --seed 2020033
(FPCore (x)
:name "exp2 (problem 3.3.7)"
:precision binary64
:herbie-target
(* 4 (pow (sinh (/ x 2)) 2))
(+ (- (exp x) 2) (exp (- x))))