\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 r70236 = x;
double r70237 = exp(r70236);
double r70238 = 2.0;
double r70239 = r70237 - r70238;
double r70240 = -r70236;
double r70241 = exp(r70240);
double r70242 = r70239 + r70241;
return r70242;
}
double f(double x) {
double r70243 = x;
double r70244 = 2.0;
double r70245 = pow(r70243, r70244);
double r70246 = 0.002777777777777778;
double r70247 = 6.0;
double r70248 = pow(r70243, r70247);
double r70249 = r70246 * r70248;
double r70250 = 0.08333333333333333;
double r70251 = 4.0;
double r70252 = pow(r70243, r70251);
double r70253 = r70250 * r70252;
double r70254 = r70249 + r70253;
double r70255 = r70245 + r70254;
return r70255;
}




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