\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 r60648 = x;
double r60649 = exp(r60648);
double r60650 = 1.0;
double r60651 = r60649 - r60650;
double r60652 = r60649 / r60651;
return r60652;
}
double f(double x) {
double r60653 = x;
double r60654 = exp(r60653);
double r60655 = 0.5;
double r60656 = 0.16666666666666666;
double r60657 = r60656 * r60653;
double r60658 = r60655 + r60657;
double r60659 = r60653 * r60653;
double r60660 = r60658 * r60659;
double r60661 = r60653 + r60660;
double r60662 = r60654 / r60661;
return r60662;
}




Bits error versus x
Results
| Original | 41.4 |
|---|---|
| Target | 41.1 |
| Herbie | 0.8 |
Initial program 41.4
Taylor expanded around 0 11.5
Simplified0.8
Final simplification0.8
herbie shell --seed 2019196
(FPCore (x)
:name "expq2 (section 3.11)"
:herbie-target
(/ 1.0 (- 1.0 (exp (- x))))
(/ (exp x) (- (exp x) 1.0)))