\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 r94465 = x;
double r94466 = exp(r94465);
double r94467 = 2.0;
double r94468 = r94466 - r94467;
double r94469 = -r94465;
double r94470 = exp(r94469);
double r94471 = r94468 + r94470;
return r94471;
}
double f(double x) {
double r94472 = x;
double r94473 = 2.0;
double r94474 = pow(r94472, r94473);
double r94475 = 0.002777777777777778;
double r94476 = 6.0;
double r94477 = pow(r94472, r94476);
double r94478 = r94475 * r94477;
double r94479 = 0.08333333333333333;
double r94480 = 4.0;
double r94481 = pow(r94472, r94480);
double r94482 = r94479 * r94481;
double r94483 = r94478 + r94482;
double r94484 = r94474 + r94483;
return r94484;
}




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