\frac{e^{x} - 1}{x}\frac{1}{\frac{x}{\mathsf{expm1}\left(x\right)}}double f(double x) {
double r3395950 = x;
double r3395951 = exp(r3395950);
double r3395952 = 1.0;
double r3395953 = r3395951 - r3395952;
double r3395954 = r3395953 / r3395950;
return r3395954;
}
double f(double x) {
double r3395955 = 1.0;
double r3395956 = x;
double r3395957 = expm1(r3395956);
double r3395958 = r3395956 / r3395957;
double r3395959 = r3395955 / r3395958;
return r3395959;
}




Bits error versus x
Results
| Original | 39.8 |
|---|---|
| Target | 39.0 |
| Herbie | 0.0 |
Initial program 39.8
Simplified0.0
rmApplied *-un-lft-identity0.0
Applied associate-/l*0.0
Final simplification0.0
herbie shell --seed 2019144 +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))