\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 r115130 = x;
double r115131 = exp(r115130);
double r115132 = 2.0;
double r115133 = r115131 - r115132;
double r115134 = -r115130;
double r115135 = exp(r115134);
double r115136 = r115133 + r115135;
return r115136;
}
double f(double x) {
double r115137 = x;
double r115138 = 2.0;
double r115139 = pow(r115137, r115138);
double r115140 = 0.002777777777777778;
double r115141 = 6.0;
double r115142 = pow(r115137, r115141);
double r115143 = r115140 * r115142;
double r115144 = 0.08333333333333333;
double r115145 = 4.0;
double r115146 = pow(r115137, r115145);
double r115147 = r115144 * r115146;
double r115148 = r115143 + r115147;
double r115149 = r115139 + r115148;
return r115149;
}




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