\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 r46180 = x;
double r46181 = exp(r46180);
double r46182 = 2.0;
double r46183 = r46181 - r46182;
double r46184 = -r46180;
double r46185 = exp(r46184);
double r46186 = r46183 + r46185;
return r46186;
}
double f(double x) {
double r46187 = x;
double r46188 = 2.0;
double r46189 = pow(r46187, r46188);
double r46190 = 0.002777777777777778;
double r46191 = 6.0;
double r46192 = pow(r46187, r46191);
double r46193 = r46190 * r46192;
double r46194 = 0.08333333333333333;
double r46195 = 4.0;
double r46196 = pow(r46187, r46195);
double r46197 = r46194 * r46196;
double r46198 = r46193 + r46197;
double r46199 = r46189 + r46198;
return r46199;
}




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