\frac{\sin x \cdot \sinh y}{x}\sin x \cdot \mathsf{fma}\left(\frac{{\left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right)}^{5}}{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \left(\frac{{\left(\sqrt[3]{\sqrt[3]{y}} \cdot \sqrt[3]{\sqrt[3]{y}}\right)}^{5}}{\sqrt[3]{\sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}} \cdot \frac{{\left(\sqrt[3]{\sqrt[3]{y}}\right)}^{5}}{\sqrt[3]{\sqrt[3]{x}}}\right), \frac{1}{120}, \mathsf{fma}\left(\frac{1}{6}, \frac{{y}^{3}}{x}, \frac{y}{x}\right)\right)double f(double x, double y) {
double r351203 = x;
double r351204 = sin(r351203);
double r351205 = y;
double r351206 = sinh(r351205);
double r351207 = r351204 * r351206;
double r351208 = r351207 / r351203;
return r351208;
}
double f(double x, double y) {
double r351209 = x;
double r351210 = sin(r351209);
double r351211 = y;
double r351212 = cbrt(r351211);
double r351213 = r351212 * r351212;
double r351214 = 5.0;
double r351215 = pow(r351213, r351214);
double r351216 = cbrt(r351209);
double r351217 = r351216 * r351216;
double r351218 = r351215 / r351217;
double r351219 = cbrt(r351212);
double r351220 = r351219 * r351219;
double r351221 = pow(r351220, r351214);
double r351222 = cbrt(r351216);
double r351223 = r351222 * r351222;
double r351224 = r351221 / r351223;
double r351225 = pow(r351219, r351214);
double r351226 = r351225 / r351222;
double r351227 = r351224 * r351226;
double r351228 = r351218 * r351227;
double r351229 = 0.008333333333333333;
double r351230 = 0.16666666666666666;
double r351231 = 3.0;
double r351232 = pow(r351211, r351231);
double r351233 = r351232 / r351209;
double r351234 = r351211 / r351209;
double r351235 = fma(r351230, r351233, r351234);
double r351236 = fma(r351228, r351229, r351235);
double r351237 = r351210 * r351236;
return r351237;
}




Bits error versus x




Bits error versus y
| Original | 13.9 |
|---|---|
| Target | 0.2 |
| Herbie | 0.7 |
Initial program 13.9
rmApplied *-un-lft-identity13.9
Applied times-frac0.2
Simplified0.2
Taylor expanded around 0 0.7
Simplified0.7
rmApplied add-cube-cbrt0.7
Applied add-cube-cbrt0.7
Applied unpow-prod-down0.7
Applied times-frac0.7
rmApplied add-cube-cbrt0.7
Applied add-cube-cbrt0.7
Applied unpow-prod-down0.7
Applied times-frac0.7
Final simplification0.7
herbie shell --seed 2019235 +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))