x \cdot \cos y - z \cdot \sin y
\sqrt[3]{\cos y} \cdot \left(x \cdot \left(\sqrt[3]{\sqrt[3]{\cos y}} \cdot \left(\sqrt[3]{\cos y} \cdot \sqrt[3]{\sqrt[3]{\cos y} \cdot \sqrt[3]{\cos y}}\right)\right)\right) - z \cdot \sin ydouble f(double x, double y, double z) {
double r9303864 = x;
double r9303865 = y;
double r9303866 = cos(r9303865);
double r9303867 = r9303864 * r9303866;
double r9303868 = z;
double r9303869 = sin(r9303865);
double r9303870 = r9303868 * r9303869;
double r9303871 = r9303867 - r9303870;
return r9303871;
}
double f(double x, double y, double z) {
double r9303872 = y;
double r9303873 = cos(r9303872);
double r9303874 = cbrt(r9303873);
double r9303875 = x;
double r9303876 = cbrt(r9303874);
double r9303877 = r9303874 * r9303874;
double r9303878 = cbrt(r9303877);
double r9303879 = r9303874 * r9303878;
double r9303880 = r9303876 * r9303879;
double r9303881 = r9303875 * r9303880;
double r9303882 = r9303874 * r9303881;
double r9303883 = z;
double r9303884 = sin(r9303872);
double r9303885 = r9303883 * r9303884;
double r9303886 = r9303882 - r9303885;
return r9303886;
}



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 add-cube-cbrt0.4
Applied cbrt-prod0.4
Applied associate-*r*0.4
Final simplification0.4
herbie shell --seed 2019158
(FPCore (x y z)
:name "Diagrams.ThreeD.Transform:aboutX from diagrams-lib-1.3.0.3, A"
(- (* x (cos y)) (* z (sin y))))