\left(e^{x} - 2\right) + e^{-x}\left(x \cdot x + \frac{1}{12} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \left(x \cdot \left(x \cdot x\right)\right) \cdot \left(\left(x \cdot \left(x \cdot x\right)\right) \cdot \frac{1}{360}\right)double f(double x) {
double r5240424 = x;
double r5240425 = exp(r5240424);
double r5240426 = 2.0;
double r5240427 = r5240425 - r5240426;
double r5240428 = -r5240424;
double r5240429 = exp(r5240428);
double r5240430 = r5240427 + r5240429;
return r5240430;
}
double f(double x) {
double r5240431 = x;
double r5240432 = r5240431 * r5240431;
double r5240433 = 0.08333333333333333;
double r5240434 = r5240432 * r5240432;
double r5240435 = r5240433 * r5240434;
double r5240436 = r5240432 + r5240435;
double r5240437 = r5240431 * r5240432;
double r5240438 = 0.002777777777777778;
double r5240439 = r5240437 * r5240438;
double r5240440 = r5240437 * r5240439;
double r5240441 = r5240436 + r5240440;
return r5240441;
}




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