\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 r121068 = x;
double r121069 = exp(r121068);
double r121070 = 2.0;
double r121071 = r121069 - r121070;
double r121072 = -r121068;
double r121073 = exp(r121072);
double r121074 = r121071 + r121073;
return r121074;
}
double f(double x) {
double r121075 = x;
double r121076 = 2.0;
double r121077 = pow(r121075, r121076);
double r121078 = 0.002777777777777778;
double r121079 = 6.0;
double r121080 = pow(r121075, r121079);
double r121081 = r121078 * r121080;
double r121082 = 0.08333333333333333;
double r121083 = 4.0;
double r121084 = pow(r121075, r121083);
double r121085 = r121082 * r121084;
double r121086 = r121081 + r121085;
double r121087 = r121077 + r121086;
return r121087;
}




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 2019346
(FPCore (x)
:name "exp2 (problem 3.3.7)"
:precision binary64
:herbie-target
(* 4 (pow (sinh (/ x 2)) 2))
(+ (- (exp x) 2) (exp (- x))))