e^{x} - 1{x}^{2} \cdot \left(\frac{1}{2} + x \cdot \frac{1}{6}\right) + xdouble f(double x) {
double r94780 = x;
double r94781 = exp(r94780);
double r94782 = 1.0;
double r94783 = r94781 - r94782;
return r94783;
}
double f(double x) {
double r94784 = x;
double r94785 = 2.0;
double r94786 = pow(r94784, r94785);
double r94787 = 0.5;
double r94788 = 0.16666666666666666;
double r94789 = r94784 * r94788;
double r94790 = r94787 + r94789;
double r94791 = r94786 * r94790;
double r94792 = r94791 + r94784;
return r94792;
}




Bits error versus x
Results
| Original | 58.6 |
|---|---|
| Target | 0.5 |
| Herbie | 0.5 |
Initial program 58.6
Taylor expanded around 0 0.5
Simplified0.5
Final simplification0.5
herbie shell --seed 2019199
(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))