e^{x} - 1x + {x}^{2} \cdot \left(\frac{1}{2} + x \cdot \frac{1}{6}\right)double f(double x) {
double r92737 = x;
double r92738 = exp(r92737);
double r92739 = 1.0;
double r92740 = r92738 - r92739;
return r92740;
}
double f(double x) {
double r92741 = x;
double r92742 = 2.0;
double r92743 = pow(r92741, r92742);
double r92744 = 0.5;
double r92745 = 0.16666666666666666;
double r92746 = r92741 * r92745;
double r92747 = r92744 + r92746;
double r92748 = r92743 * r92747;
double r92749 = r92741 + r92748;
return r92749;
}




Bits error versus x
Results
| Original | 58.7 |
|---|---|
| Target | 0.4 |
| Herbie | 0.4 |
Initial program 58.7
Taylor expanded around 0 0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2019179
(FPCore (x)
:name "expm1 (example 3.7)"
:pre (< -0.00017 x)
:herbie-target
(* x (+ (+ 1.0 (/ x 2.0)) (/ (* x x) 6.0)))
(- (exp x) 1.0))