\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 r101033 = x;
double r101034 = exp(r101033);
double r101035 = 2.0;
double r101036 = r101034 - r101035;
double r101037 = -r101033;
double r101038 = exp(r101037);
double r101039 = r101036 + r101038;
return r101039;
}
double f(double x) {
double r101040 = x;
double r101041 = 2.0;
double r101042 = pow(r101040, r101041);
double r101043 = 0.002777777777777778;
double r101044 = 6.0;
double r101045 = pow(r101040, r101044);
double r101046 = r101043 * r101045;
double r101047 = 0.08333333333333333;
double r101048 = 4.0;
double r101049 = pow(r101040, r101048);
double r101050 = r101047 * r101049;
double r101051 = r101046 + r101050;
double r101052 = r101042 + r101051;
return r101052;
}




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