\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 r5073378 = x;
double r5073379 = exp(r5073378);
double r5073380 = 2.0;
double r5073381 = r5073379 - r5073380;
double r5073382 = -r5073378;
double r5073383 = exp(r5073382);
double r5073384 = r5073381 + r5073383;
return r5073384;
}
double f(double x) {
double r5073385 = x;
double r5073386 = r5073385 * r5073385;
double r5073387 = r5073385 * r5073386;
double r5073388 = r5073387 * r5073387;
double r5073389 = 0.002777777777777778;
double r5073390 = r5073388 * r5073389;
double r5073391 = r5073386 + r5073390;
double r5073392 = r5073386 * r5073386;
double r5073393 = 0.08333333333333333;
double r5073394 = r5073392 * r5073393;
double r5073395 = r5073391 + r5073394;
return r5073395;
}




Bits error versus x
Results
| Original | 30.1 |
|---|---|
| Target | 0.0 |
| Herbie | 0.6 |
Initial program 30.1
Simplified30.1
Taylor expanded around 0 0.6
Simplified0.6
Final simplification0.6
herbie shell --seed 2019172
(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))))