\frac{e^{x}}{e^{x} - 1}\frac{e^{x}}{x + \left(\frac{1}{2} + \frac{1}{6} \cdot x\right) \cdot \left(x \cdot x\right)}double f(double x) {
double r4605620 = x;
double r4605621 = exp(r4605620);
double r4605622 = 1.0;
double r4605623 = r4605621 - r4605622;
double r4605624 = r4605621 / r4605623;
return r4605624;
}
double f(double x) {
double r4605625 = x;
double r4605626 = exp(r4605625);
double r4605627 = 0.5;
double r4605628 = 0.16666666666666666;
double r4605629 = r4605628 * r4605625;
double r4605630 = r4605627 + r4605629;
double r4605631 = r4605625 * r4605625;
double r4605632 = r4605630 * r4605631;
double r4605633 = r4605625 + r4605632;
double r4605634 = r4605626 / r4605633;
return r4605634;
}




Bits error versus x
Results
| Original | 40.0 |
|---|---|
| Target | 39.7 |
| Herbie | 0.9 |
Initial program 40.0
Taylor expanded around 0 11.5
Simplified0.9
Final simplification0.9
herbie shell --seed 2019168
(FPCore (x)
:name "expq2 (section 3.11)"
:herbie-target
(/ 1 (- 1 (exp (- x))))
(/ (exp x) (- (exp x) 1)))