\left(e^{x} - 2\right) + e^{-x}\left(x \cdot x + \left(\left(x \cdot \left(x \cdot x\right)\right) \cdot \frac{1}{360}\right) \cdot \left(x \cdot \left(x \cdot x\right)\right)\right) + \log \left(e^{\left(x \cdot x\right) \cdot \frac{1}{12}}\right) \cdot \left(x \cdot x\right)double f(double x) {
double r4598652 = x;
double r4598653 = exp(r4598652);
double r4598654 = 2.0;
double r4598655 = r4598653 - r4598654;
double r4598656 = -r4598652;
double r4598657 = exp(r4598656);
double r4598658 = r4598655 + r4598657;
return r4598658;
}
double f(double x) {
double r4598659 = x;
double r4598660 = r4598659 * r4598659;
double r4598661 = r4598659 * r4598660;
double r4598662 = 0.002777777777777778;
double r4598663 = r4598661 * r4598662;
double r4598664 = r4598663 * r4598661;
double r4598665 = r4598660 + r4598664;
double r4598666 = 0.08333333333333333;
double r4598667 = r4598660 * r4598666;
double r4598668 = exp(r4598667);
double r4598669 = log(r4598668);
double r4598670 = r4598669 * r4598660;
double r4598671 = r4598665 + r4598670;
return r4598671;
}




Bits error versus x
Results
| Original | 29.5 |
|---|---|
| Target | 0.0 |
| Herbie | 0.6 |
Initial program 29.5
Simplified29.5
Taylor expanded around 0 0.6
Simplified0.6
rmApplied add-log-exp0.6
Final simplification0.6
herbie shell --seed 2019174
(FPCore (x)
:name "exp2 (problem 3.3.7)"
:herbie-target
(* 4.0 (pow (sinh (/ x 2.0)) 2.0))
(+ (- (exp x) 2.0) (exp (- x))))