\frac{e^{x} - 1}{x}\frac{\frac{1}{x}}{\frac{1}{\mathsf{expm1}\left(x\right)}}double f(double x) {
double r1093963 = x;
double r1093964 = exp(r1093963);
double r1093965 = 1.0;
double r1093966 = r1093964 - r1093965;
double r1093967 = r1093966 / r1093963;
return r1093967;
}
double f(double x) {
double r1093968 = 1.0;
double r1093969 = x;
double r1093970 = r1093968 / r1093969;
double r1093971 = expm1(r1093969);
double r1093972 = r1093968 / r1093971;
double r1093973 = r1093970 / r1093972;
return r1093973;
}




Bits error versus x
Results
| Original | 39.4 |
|---|---|
| Target | 38.6 |
| Herbie | 0.0 |
Initial program 39.4
Simplified0.0
rmApplied clear-num0.0
rmApplied div-inv0.1
Applied associate-/r*0.0
Final simplification0.0
herbie shell --seed 2019153 +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))