\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 r49584 = x;
double r49585 = exp(r49584);
double r49586 = 2.0;
double r49587 = r49585 - r49586;
double r49588 = -r49584;
double r49589 = exp(r49588);
double r49590 = r49587 + r49589;
return r49590;
}
double f(double x) {
double r49591 = x;
double r49592 = 2.0;
double r49593 = pow(r49591, r49592);
double r49594 = 0.002777777777777778;
double r49595 = 6.0;
double r49596 = pow(r49591, r49595);
double r49597 = r49594 * r49596;
double r49598 = 0.08333333333333333;
double r49599 = 4.0;
double r49600 = pow(r49591, r49599);
double r49601 = r49598 * r49600;
double r49602 = r49597 + r49601;
double r49603 = r49593 + r49602;
return r49603;
}




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