\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 r135234 = x;
double r135235 = exp(r135234);
double r135236 = 2.0;
double r135237 = r135235 - r135236;
double r135238 = -r135234;
double r135239 = exp(r135238);
double r135240 = r135237 + r135239;
return r135240;
}
double f(double x) {
double r135241 = x;
double r135242 = 2.0;
double r135243 = pow(r135241, r135242);
double r135244 = 0.002777777777777778;
double r135245 = 6.0;
double r135246 = pow(r135241, r135245);
double r135247 = r135244 * r135246;
double r135248 = 0.08333333333333333;
double r135249 = 4.0;
double r135250 = pow(r135241, r135249);
double r135251 = r135248 * r135250;
double r135252 = r135247 + r135251;
double r135253 = r135243 + r135252;
return r135253;
}




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