\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 r54055 = x;
double r54056 = exp(r54055);
double r54057 = 2.0;
double r54058 = r54056 - r54057;
double r54059 = -r54055;
double r54060 = exp(r54059);
double r54061 = r54058 + r54060;
return r54061;
}
double f(double x) {
double r54062 = x;
double r54063 = 2.0;
double r54064 = pow(r54062, r54063);
double r54065 = 0.002777777777777778;
double r54066 = 6.0;
double r54067 = pow(r54062, r54066);
double r54068 = r54065 * r54067;
double r54069 = 0.08333333333333333;
double r54070 = 4.0;
double r54071 = pow(r54062, r54070);
double r54072 = r54069 * r54071;
double r54073 = r54068 + r54072;
double r54074 = r54064 + r54073;
return r54074;
}




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