\frac{\sin x \cdot \sinh y}{x}\left(y \cdot \frac{\sin x}{x} + \frac{\frac{1}{6}}{\frac{x}{\left(y \cdot \left(y \cdot y\right)\right) \cdot \sin x}}\right) + \frac{1}{120} \cdot \left(\frac{\sin x}{x} \cdot {y}^{5}\right)double f(double x, double y) {
double r26214438 = x;
double r26214439 = sin(r26214438);
double r26214440 = y;
double r26214441 = sinh(r26214440);
double r26214442 = r26214439 * r26214441;
double r26214443 = r26214442 / r26214438;
return r26214443;
}
double f(double x, double y) {
double r26214444 = y;
double r26214445 = x;
double r26214446 = sin(r26214445);
double r26214447 = r26214446 / r26214445;
double r26214448 = r26214444 * r26214447;
double r26214449 = 0.16666666666666666;
double r26214450 = r26214444 * r26214444;
double r26214451 = r26214444 * r26214450;
double r26214452 = r26214451 * r26214446;
double r26214453 = r26214445 / r26214452;
double r26214454 = r26214449 / r26214453;
double r26214455 = r26214448 + r26214454;
double r26214456 = 0.008333333333333333;
double r26214457 = 5.0;
double r26214458 = pow(r26214444, r26214457);
double r26214459 = r26214447 * r26214458;
double r26214460 = r26214456 * r26214459;
double r26214461 = r26214455 + r26214460;
return r26214461;
}




Bits error versus x




Bits error versus y
Results
| Original | 14.1 |
|---|---|
| Target | 0.2 |
| Herbie | 0.7 |
Initial program 14.1
rmApplied *-un-lft-identity14.1
Applied times-frac0.2
Simplified0.2
Taylor expanded around 0 0.7
Simplified0.7
Taylor expanded around inf 14.7
Simplified0.7
Final simplification0.7
herbie shell --seed 2019158
(FPCore (x y)
:name "Linear.Quaternion:$ccosh from linear-1.19.1.3"
:herbie-target
(* (sin x) (/ (sinh y) x))
(/ (* (sin x) (sinh y)) x))