\left(e^{x} - 2\right) + e^{-x}\mathsf{fma}\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \frac{1}{360}\right), \left(x \cdot x\right), \left(\mathsf{fma}\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right), \frac{1}{12}, \left(x \cdot x\right)\right)\right)\right)double f(double x) {
double r10634837 = x;
double r10634838 = exp(r10634837);
double r10634839 = 2.0;
double r10634840 = r10634838 - r10634839;
double r10634841 = -r10634837;
double r10634842 = exp(r10634841);
double r10634843 = r10634840 + r10634842;
return r10634843;
}
double f(double x) {
double r10634844 = x;
double r10634845 = r10634844 * r10634844;
double r10634846 = r10634845 * r10634845;
double r10634847 = 0.002777777777777778;
double r10634848 = r10634846 * r10634847;
double r10634849 = 0.08333333333333333;
double r10634850 = fma(r10634846, r10634849, r10634845);
double r10634851 = fma(r10634848, r10634845, r10634850);
return r10634851;
}




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