\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 r42087 = x;
double r42088 = exp(r42087);
double r42089 = 2.0;
double r42090 = r42088 - r42089;
double r42091 = -r42087;
double r42092 = exp(r42091);
double r42093 = r42090 + r42092;
return r42093;
}
double f(double x) {
double r42094 = x;
double r42095 = 2.0;
double r42096 = pow(r42094, r42095);
double r42097 = 0.002777777777777778;
double r42098 = 6.0;
double r42099 = pow(r42094, r42098);
double r42100 = r42097 * r42099;
double r42101 = 0.08333333333333333;
double r42102 = 4.0;
double r42103 = pow(r42094, r42102);
double r42104 = r42101 * r42103;
double r42105 = r42100 + r42104;
double r42106 = r42096 + r42105;
return r42106;
}




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