\left(e^{x} - 2\right) + e^{-x}\left(x \cdot x + \left(\frac{1}{360} \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) + \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \frac{1}{12}double f(double x) {
double r5507025 = x;
double r5507026 = exp(r5507025);
double r5507027 = 2.0;
double r5507028 = r5507026 - r5507027;
double r5507029 = -r5507025;
double r5507030 = exp(r5507029);
double r5507031 = r5507028 + r5507030;
return r5507031;
}
double f(double x) {
double r5507032 = x;
double r5507033 = r5507032 * r5507032;
double r5507034 = 0.002777777777777778;
double r5507035 = r5507033 * r5507032;
double r5507036 = r5507034 * r5507035;
double r5507037 = r5507036 * r5507035;
double r5507038 = r5507033 + r5507037;
double r5507039 = r5507033 * r5507033;
double r5507040 = 0.08333333333333333;
double r5507041 = r5507039 * r5507040;
double r5507042 = r5507038 + r5507041;
return r5507042;
}




Bits error versus x
Results
| Original | 29.5 |
|---|---|
| Target | 0.0 |
| Herbie | 0.6 |
Initial program 29.5
Simplified29.5
Taylor expanded around 0 0.6
Simplified0.6
Final simplification0.6
herbie shell --seed 2019174
(FPCore (x)
:name "exp2 (problem 3.3.7)"
:herbie-target
(* 4.0 (pow (sinh (/ x 2.0)) 2.0))
(+ (- (exp x) 2.0) (exp (- x))))