\cosh x \cdot \frac{\sin y}{y}\cosh x \cdot \frac{\frac{1}{y}}{\frac{1}{\sin y}}double f(double x, double y) {
double r316855 = x;
double r316856 = cosh(r316855);
double r316857 = y;
double r316858 = sin(r316857);
double r316859 = r316858 / r316857;
double r316860 = r316856 * r316859;
return r316860;
}
double f(double x, double y) {
double r316861 = x;
double r316862 = cosh(r316861);
double r316863 = 1.0;
double r316864 = y;
double r316865 = r316863 / r316864;
double r316866 = sin(r316864);
double r316867 = r316863 / r316866;
double r316868 = r316865 / r316867;
double r316869 = r316862 * r316868;
return r316869;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.2 |
|---|---|
| Target | 0.2 |
| Herbie | 0.3 |
Initial program 0.2
rmApplied clear-num0.2
rmApplied div-inv0.4
Applied associate-/r*0.3
Final simplification0.3
herbie shell --seed 2019303
(FPCore (x y)
:name "Linear.Quaternion:$csinh from linear-1.19.1.3"
:precision binary64
:herbie-target
(/ (* (cosh x) (sin y)) y)
(* (cosh x) (/ (sin y) y)))