e^{x} - 1x + {x}^{2} \cdot \left(\frac{1}{2} + x \cdot \frac{1}{6}\right)double f(double x) {
double r100375 = x;
double r100376 = exp(r100375);
double r100377 = 1.0;
double r100378 = r100376 - r100377;
return r100378;
}
double f(double x) {
double r100379 = x;
double r100380 = 2.0;
double r100381 = pow(r100379, r100380);
double r100382 = 0.5;
double r100383 = 0.16666666666666666;
double r100384 = r100379 * r100383;
double r100385 = r100382 + r100384;
double r100386 = r100381 * r100385;
double r100387 = r100379 + r100386;
return r100387;
}




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