\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 r76345 = x;
double r76346 = exp(r76345);
double r76347 = 2.0;
double r76348 = r76346 - r76347;
double r76349 = -r76345;
double r76350 = exp(r76349);
double r76351 = r76348 + r76350;
return r76351;
}
double f(double x) {
double r76352 = x;
double r76353 = 2.0;
double r76354 = pow(r76352, r76353);
double r76355 = 0.002777777777777778;
double r76356 = 6.0;
double r76357 = pow(r76352, r76356);
double r76358 = r76355 * r76357;
double r76359 = 0.08333333333333333;
double r76360 = 4.0;
double r76361 = pow(r76352, r76360);
double r76362 = r76359 * r76361;
double r76363 = r76358 + r76362;
double r76364 = r76354 + r76363;
return r76364;
}




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