\left(e^{x} - 2\right) + e^{-x}\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \frac{1}{12} + \left(x \cdot x + \left(\left(x \cdot \left(x \cdot x\right)\right) \cdot \frac{1}{360}\right) \cdot \left(x \cdot \left(x \cdot x\right)\right)\right)double f(double x) {
double r4666830 = x;
double r4666831 = exp(r4666830);
double r4666832 = 2.0;
double r4666833 = r4666831 - r4666832;
double r4666834 = -r4666830;
double r4666835 = exp(r4666834);
double r4666836 = r4666833 + r4666835;
return r4666836;
}
double f(double x) {
double r4666837 = x;
double r4666838 = r4666837 * r4666837;
double r4666839 = r4666838 * r4666838;
double r4666840 = 0.08333333333333333;
double r4666841 = r4666839 * r4666840;
double r4666842 = r4666837 * r4666838;
double r4666843 = 0.002777777777777778;
double r4666844 = r4666842 * r4666843;
double r4666845 = r4666844 * r4666842;
double r4666846 = r4666838 + r4666845;
double r4666847 = r4666841 + r4666846;
return r4666847;
}




Bits error versus x
Results
| Original | 29.8 |
|---|---|
| Target | 0.0 |
| Herbie | 0.7 |
Initial program 29.8
Simplified29.8
Taylor expanded around 0 0.7
Simplified0.7
Final simplification0.7
herbie shell --seed 2019169
(FPCore (x)
:name "exp2 (problem 3.3.7)"
:herbie-target
(* 4.0 (pow (sinh (/ x 2.0)) 2.0))
(+ (- (exp x) 2.0) (exp (- x))))