\left(e^{x} - 2\right) + e^{-x}{x}^{2} + \left(\frac{1}{360} \cdot {x}^{6} + \frac{1}{12} \cdot {x}^{4}\right)double f(double x) {
double r77973 = x;
double r77974 = exp(r77973);
double r77975 = 2.0;
double r77976 = r77974 - r77975;
double r77977 = -r77973;
double r77978 = exp(r77977);
double r77979 = r77976 + r77978;
return r77979;
}
double f(double x) {
double r77980 = x;
double r77981 = 2.0;
double r77982 = pow(r77980, r77981);
double r77983 = 0.002777777777777778;
double r77984 = 6.0;
double r77985 = pow(r77980, r77984);
double r77986 = r77983 * r77985;
double r77987 = 0.08333333333333333;
double r77988 = 4.0;
double r77989 = pow(r77980, r77988);
double r77990 = r77987 * r77989;
double r77991 = r77986 + r77990;
double r77992 = r77982 + r77991;
return r77992;
}




Bits error versus x
Results
| Original | 29.9 |
|---|---|
| Target | 0.0 |
| Herbie | 0.6 |
Initial program 29.9
Taylor expanded around 0 0.6
Final simplification0.6
herbie shell --seed 2019212
(FPCore (x)
:name "exp2 (problem 3.3.7)"
:precision binary64
:herbie-target
(* 4 (pow (sinh (/ x 2)) 2))
(+ (- (exp x) 2) (exp (- x))))