\left(e^{x} - 2\right) + e^{-x}\left(x \cdot x + \left(\left(x \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot \left(x \cdot x\right)\right)\right) \cdot \frac{1}{360}\right) + \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \frac{1}{12}double f(double x) {
double r4134616 = x;
double r4134617 = exp(r4134616);
double r4134618 = 2.0;
double r4134619 = r4134617 - r4134618;
double r4134620 = -r4134616;
double r4134621 = exp(r4134620);
double r4134622 = r4134619 + r4134621;
return r4134622;
}
double f(double x) {
double r4134623 = x;
double r4134624 = r4134623 * r4134623;
double r4134625 = r4134623 * r4134624;
double r4134626 = r4134625 * r4134625;
double r4134627 = 0.002777777777777778;
double r4134628 = r4134626 * r4134627;
double r4134629 = r4134624 + r4134628;
double r4134630 = r4134624 * r4134624;
double r4134631 = 0.08333333333333333;
double r4134632 = r4134630 * r4134631;
double r4134633 = r4134629 + r4134632;
return r4134633;
}




Bits error versus x
Results
| Original | 29.4 |
|---|---|
| Target | 0.0 |
| Herbie | 0.5 |
Initial program 29.4
Simplified29.4
Taylor expanded around 0 0.5
Simplified0.5
Final simplification0.5
herbie shell --seed 2019171
(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))))