\left(e^{x} - 2\right) + e^{-x}\mathsf{fma}\left(\frac{1}{360}, \left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right), \mathsf{fma}\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right), \frac{1}{12}, x \cdot x\right)\right)double f(double x) {
double r2649407 = x;
double r2649408 = exp(r2649407);
double r2649409 = 2.0;
double r2649410 = r2649408 - r2649409;
double r2649411 = -r2649407;
double r2649412 = exp(r2649411);
double r2649413 = r2649410 + r2649412;
return r2649413;
}
double f(double x) {
double r2649414 = 0.002777777777777778;
double r2649415 = x;
double r2649416 = r2649415 * r2649415;
double r2649417 = r2649416 * r2649416;
double r2649418 = r2649416 * r2649417;
double r2649419 = 0.08333333333333333;
double r2649420 = fma(r2649417, r2649419, r2649416);
double r2649421 = fma(r2649414, r2649418, r2649420);
return r2649421;
}




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