\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 r2442133 = x;
double r2442134 = exp(r2442133);
double r2442135 = 2.0;
double r2442136 = r2442134 - r2442135;
double r2442137 = -r2442133;
double r2442138 = exp(r2442137);
double r2442139 = r2442136 + r2442138;
return r2442139;
}
double f(double x) {
double r2442140 = 0.002777777777777778;
double r2442141 = x;
double r2442142 = r2442141 * r2442141;
double r2442143 = r2442142 * r2442142;
double r2442144 = r2442142 * r2442143;
double r2442145 = 0.08333333333333333;
double r2442146 = fma(r2442143, r2442145, r2442142);
double r2442147 = fma(r2442140, r2442144, r2442146);
return r2442147;
}




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