\left(e^{x} - 2\right) + e^{-x}\mathsf{fma}\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right), \frac{1}{360}, \mathsf{fma}\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right), \frac{1}{12}, x \cdot x\right)\right)double f(double x) {
double r2795143 = x;
double r2795144 = exp(r2795143);
double r2795145 = 2.0;
double r2795146 = r2795144 - r2795145;
double r2795147 = -r2795143;
double r2795148 = exp(r2795147);
double r2795149 = r2795146 + r2795148;
return r2795149;
}
double f(double x) {
double r2795150 = x;
double r2795151 = r2795150 * r2795150;
double r2795152 = r2795151 * r2795151;
double r2795153 = r2795152 * r2795151;
double r2795154 = 0.002777777777777778;
double r2795155 = 0.08333333333333333;
double r2795156 = fma(r2795152, r2795155, r2795151);
double r2795157 = fma(r2795153, r2795154, r2795156);
return r2795157;
}




Bits error versus x
| Original | 29.8 |
|---|---|
| Target | 0.0 |
| Herbie | 0.7 |
Initial program 29.8
Taylor expanded around 0 0.7
Simplified0.7
Final simplification0.7
herbie shell --seed 2019163 +o rules:numerics
(FPCore (x)
:name "exp2 (problem 3.3.7)"
:herbie-target
(* 4 (pow (sinh (/ x 2)) 2))
(+ (- (exp x) 2) (exp (- x))))