\cosh x \cdot \frac{\sin y}{y}\frac{1}{y} \cdot \left(\cosh x \cdot \sin y\right)double f(double x, double y) {
double r484408 = x;
double r484409 = cosh(r484408);
double r484410 = y;
double r484411 = sin(r484410);
double r484412 = r484411 / r484410;
double r484413 = r484409 * r484412;
return r484413;
}
double f(double x, double y) {
double r484414 = 1.0;
double r484415 = y;
double r484416 = r484414 / r484415;
double r484417 = x;
double r484418 = cosh(r484417);
double r484419 = sin(r484415);
double r484420 = r484418 * r484419;
double r484421 = r484416 * r484420;
return r484421;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.1 |
|---|---|
| Target | 0.1 |
| Herbie | 0.3 |
Initial program 0.1
rmApplied associate-*r/0.1
rmApplied clear-num0.2
rmApplied div-inv0.3
Applied add-cube-cbrt0.3
Applied times-frac0.3
Simplified0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2020081 +o rules:numerics
(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)))