\frac{e^{x}}{e^{x} - 1}\frac{e^{x}}{\frac{\mathsf{expm1}\left(x + x\right)}{e^{x} + 1}}double f(double x) {
double r2335679 = x;
double r2335680 = exp(r2335679);
double r2335681 = 1.0;
double r2335682 = r2335680 - r2335681;
double r2335683 = r2335680 / r2335682;
return r2335683;
}
double f(double x) {
double r2335684 = x;
double r2335685 = exp(r2335684);
double r2335686 = r2335684 + r2335684;
double r2335687 = expm1(r2335686);
double r2335688 = 1.0;
double r2335689 = r2335685 + r2335688;
double r2335690 = r2335687 / r2335689;
double r2335691 = r2335685 / r2335690;
return r2335691;
}




Bits error versus x
Results
| Original | 40.0 |
|---|---|
| Target | 39.7 |
| Herbie | 0.4 |
Initial program 40.0
rmApplied flip--40.0
Simplified0.4
Final simplification0.4
herbie shell --seed 2019146 +o rules:numerics
(FPCore (x)
:name "expq2 (section 3.11)"
:herbie-target
(/ 1 (- 1 (exp (- x))))
(/ (exp x) (- (exp x) 1)))