\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 r2532886 = x;
double r2532887 = exp(r2532886);
double r2532888 = 2.0;
double r2532889 = r2532887 - r2532888;
double r2532890 = -r2532886;
double r2532891 = exp(r2532890);
double r2532892 = r2532889 + r2532891;
return r2532892;
}
double f(double x) {
double r2532893 = 0.002777777777777778;
double r2532894 = x;
double r2532895 = r2532894 * r2532894;
double r2532896 = r2532895 * r2532895;
double r2532897 = r2532895 * r2532896;
double r2532898 = 0.08333333333333333;
double r2532899 = fma(r2532896, r2532898, r2532895);
double r2532900 = fma(r2532893, r2532897, r2532899);
return r2532900;
}




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