x \cdot \cos y + z \cdot \sin y
\left(x \cdot {\left(\sqrt[3]{\sqrt[3]{{\left({\left(\cos y\right)}^{6}\right)}^{3}}}\right)}^{\frac{1}{3}}\right) \cdot \sqrt[3]{\cos y} + z \cdot \sin ydouble f(double x, double y, double z) {
double r206592 = x;
double r206593 = y;
double r206594 = cos(r206593);
double r206595 = r206592 * r206594;
double r206596 = z;
double r206597 = sin(r206593);
double r206598 = r206596 * r206597;
double r206599 = r206595 + r206598;
return r206599;
}
double f(double x, double y, double z) {
double r206600 = x;
double r206601 = y;
double r206602 = cos(r206601);
double r206603 = 6.0;
double r206604 = pow(r206602, r206603);
double r206605 = 3.0;
double r206606 = pow(r206604, r206605);
double r206607 = cbrt(r206606);
double r206608 = cbrt(r206607);
double r206609 = 0.3333333333333333;
double r206610 = pow(r206608, r206609);
double r206611 = r206600 * r206610;
double r206612 = cbrt(r206602);
double r206613 = r206611 * r206612;
double r206614 = z;
double r206615 = sin(r206601);
double r206616 = r206614 * r206615;
double r206617 = r206613 + r206616;
return r206617;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 0.1
rmApplied add-cube-cbrt0.4
Applied associate-*r*0.4
rmApplied pow1/315.9
Applied pow1/315.9
Applied pow-prod-down0.2
Simplified0.2
rmApplied add-cbrt-cube0.2
Simplified0.2
rmApplied add-cbrt-cube0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019306
(FPCore (x y z)
:name "Diagrams.ThreeD.Transform:aboutY from diagrams-lib-1.3.0.3"
:precision binary64
(+ (* x (cos y)) (* z (sin y))))