\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 r82549 = x;
double r82550 = exp(r82549);
double r82551 = 2.0;
double r82552 = r82550 - r82551;
double r82553 = -r82549;
double r82554 = exp(r82553);
double r82555 = r82552 + r82554;
return r82555;
}
double f(double x) {
double r82556 = x;
double r82557 = 2.0;
double r82558 = pow(r82556, r82557);
double r82559 = 0.002777777777777778;
double r82560 = 6.0;
double r82561 = pow(r82556, r82560);
double r82562 = r82559 * r82561;
double r82563 = 0.08333333333333333;
double r82564 = 4.0;
double r82565 = pow(r82556, r82564);
double r82566 = r82563 * r82565;
double r82567 = r82562 + r82566;
double r82568 = r82558 + r82567;
return r82568;
}




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