\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 r78460 = x;
double r78461 = exp(r78460);
double r78462 = 2.0;
double r78463 = r78461 - r78462;
double r78464 = -r78460;
double r78465 = exp(r78464);
double r78466 = r78463 + r78465;
return r78466;
}
double f(double x) {
double r78467 = x;
double r78468 = 2.0;
double r78469 = pow(r78467, r78468);
double r78470 = 0.002777777777777778;
double r78471 = 6.0;
double r78472 = pow(r78467, r78471);
double r78473 = r78470 * r78472;
double r78474 = 0.08333333333333333;
double r78475 = 4.0;
double r78476 = pow(r78467, r78475);
double r78477 = r78474 * r78476;
double r78478 = r78473 + r78477;
double r78479 = r78469 + r78478;
return r78479;
}




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 2019304
(FPCore (x)
:name "exp2 (problem 3.3.7)"
:precision binary64
:herbie-target
(* 4 (pow (sinh (/ x 2)) 2))
(+ (- (exp x) 2) (exp (- x))))