\frac{\sin x \cdot \sinh y}{x}\frac{\frac{2 \cdot \sinh y}{\frac{x}{\sin x}}}{2}double f(double x, double y) {
double r524562 = x;
double r524563 = sin(r524562);
double r524564 = y;
double r524565 = sinh(r524564);
double r524566 = r524563 * r524565;
double r524567 = r524566 / r524562;
return r524567;
}
double f(double x, double y) {
double r524568 = 2.0;
double r524569 = y;
double r524570 = sinh(r524569);
double r524571 = r524568 * r524570;
double r524572 = x;
double r524573 = sin(r524572);
double r524574 = r524572 / r524573;
double r524575 = r524571 / r524574;
double r524576 = r524575 / r524568;
return r524576;
}




Bits error versus x




Bits error versus y
Results
| Original | 14.4 |
|---|---|
| Target | 0.2 |
| Herbie | 0.1 |
Initial program 14.4
rmApplied *-un-lft-identity14.4
Applied times-frac0.2
Simplified0.2
rmApplied div-inv0.3
rmApplied sinh-def43.8
Applied associate-*l/43.8
Applied associate-*r/43.8
Simplified0.1
Final simplification0.1
herbie shell --seed 2020046 +o rules:numerics
(FPCore (x y)
:name "Linear.Quaternion:$ccosh from linear-1.19.1.3"
:precision binary64
:herbie-target
(* (sin x) (/ (sinh y) x))
(/ (* (sin x) (sinh y)) x))