\frac{\sin x \cdot \sinh y}{x}\mathsf{fma}\left(\frac{\sin x}{x} \cdot \frac{1}{120}, {y}^{5}, \mathsf{fma}\left(\frac{1}{6}, y \cdot \left(\frac{\sin x}{x} \cdot \left(y \cdot y\right)\right), \frac{\sin x}{x} \cdot y\right)\right)double f(double x, double y) {
double r12848515 = x;
double r12848516 = sin(r12848515);
double r12848517 = y;
double r12848518 = sinh(r12848517);
double r12848519 = r12848516 * r12848518;
double r12848520 = r12848519 / r12848515;
return r12848520;
}
double f(double x, double y) {
double r12848521 = x;
double r12848522 = sin(r12848521);
double r12848523 = r12848522 / r12848521;
double r12848524 = 0.008333333333333333;
double r12848525 = r12848523 * r12848524;
double r12848526 = y;
double r12848527 = 5.0;
double r12848528 = pow(r12848526, r12848527);
double r12848529 = 0.16666666666666666;
double r12848530 = r12848526 * r12848526;
double r12848531 = r12848523 * r12848530;
double r12848532 = r12848526 * r12848531;
double r12848533 = r12848523 * r12848526;
double r12848534 = fma(r12848529, r12848532, r12848533);
double r12848535 = fma(r12848525, r12848528, r12848534);
return r12848535;
}




Bits error versus x




Bits error versus y
| 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 +o rules:numerics
(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))