double f(double x) {
double r5959291 = x;
double r5959292 = exp(r5959291);
double r5959293 = 1.0;
double r5959294 = r5959292 - r5959293;
double r5959295 = r5959294 / r5959291;
return r5959295;
}
double f(double x) {
double r5959296 = x;
double r5959297 = expm1(r5959296);
double r5959298 = r5959297 / r5959296;
return r5959298;
}
\frac{e^{x} - 1}{x}\frac{(e^{x} - 1)^*}{x}



Bits error versus x
| Original | 40.1 |
|---|---|
| Target | 39.2 |
| Herbie | 0.0 |
Initial program 40.1
Simplified0.0
Taylor expanded around inf 40.1
Simplified0.0
Final simplification0.0
herbie shell --seed 2019101 +o rules:numerics
(FPCore (x)
:name "Kahan's exp quotient"
:herbie-target
(if (and (< x 1) (> x -1)) (/ (- (exp x) 1) (log (exp x))) (/ (- (exp x) 1) x))
(/ (- (exp x) 1) x))