\left(e^{x} - 2\right) + e^{-x}\frac{{x}^{4}}{12} + \left({x}^{2} + \frac{1}{360} \cdot {x}^{6}\right)double f(double x) {
double r129810 = x;
double r129811 = exp(r129810);
double r129812 = 2.0;
double r129813 = r129811 - r129812;
double r129814 = -r129810;
double r129815 = exp(r129814);
double r129816 = r129813 + r129815;
return r129816;
}
double f(double x) {
double r129817 = x;
double r129818 = 4.0;
double r129819 = pow(r129817, r129818);
double r129820 = 12.0;
double r129821 = r129819 / r129820;
double r129822 = 2.0;
double r129823 = pow(r129817, r129822);
double r129824 = 1.0;
double r129825 = 360.0;
double r129826 = r129824 / r129825;
double r129827 = 6.0;
double r129828 = pow(r129817, r129827);
double r129829 = r129826 * r129828;
double r129830 = r129823 + r129829;
double r129831 = r129821 + r129830;
return r129831;
}




Bits error versus x
Results
| Original | 30.1 |
|---|---|
| Target | 0.0 |
| Herbie | 0.7 |
Initial program 30.1
Taylor expanded around 0 0.7
Simplified0.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))))