\cosh x \cdot \frac{\sin y}{y}\frac{\left(\sqrt[3]{e^{x} + e^{-x}} \cdot \sqrt[3]{e^{x} + e^{-x}}\right) \cdot \sqrt[3]{\cosh x}}{\left(\sqrt[3]{2} \cdot \sqrt[3]{2}\right) \cdot \frac{y}{\sin y}}double f(double x, double y) {
double r509111 = x;
double r509112 = cosh(r509111);
double r509113 = y;
double r509114 = sin(r509113);
double r509115 = r509114 / r509113;
double r509116 = r509112 * r509115;
return r509116;
}
double f(double x, double y) {
double r509117 = x;
double r509118 = exp(r509117);
double r509119 = -r509117;
double r509120 = exp(r509119);
double r509121 = r509118 + r509120;
double r509122 = cbrt(r509121);
double r509123 = r509122 * r509122;
double r509124 = cosh(r509117);
double r509125 = cbrt(r509124);
double r509126 = r509123 * r509125;
double r509127 = 2.0;
double r509128 = cbrt(r509127);
double r509129 = r509128 * r509128;
double r509130 = y;
double r509131 = sin(r509130);
double r509132 = r509130 / r509131;
double r509133 = r509129 * r509132;
double r509134 = r509126 / r509133;
return r509134;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.1 |
|---|---|
| Target | 0.1 |
| Herbie | 0.3 |
Initial program 0.1
rmApplied clear-num0.2
rmApplied add-cube-cbrt0.2
Applied associate-*l*0.2
Simplified0.2
rmApplied cosh-def0.2
Applied cbrt-div0.2
Applied cosh-def0.2
Applied cbrt-div0.2
Applied frac-times0.2
Applied frac-times0.3
Final simplification0.3
herbie shell --seed 2020100
(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)))