x \cdot \cos y - z \cdot \sin y
\left(x \cdot \left(\left(\sqrt[3]{\cos y} \cdot \sqrt[3]{\sqrt[3]{\cos y} \cdot \sqrt[3]{\cos y}}\right) \cdot \sqrt[3]{\sqrt[3]{\cos y}}\right)\right) \cdot \sqrt[3]{\cos y} - z \cdot \sin ydouble f(double x, double y, double z) {
double r152930 = x;
double r152931 = y;
double r152932 = cos(r152931);
double r152933 = r152930 * r152932;
double r152934 = z;
double r152935 = sin(r152931);
double r152936 = r152934 * r152935;
double r152937 = r152933 - r152936;
return r152937;
}
double f(double x, double y, double z) {
double r152938 = x;
double r152939 = y;
double r152940 = cos(r152939);
double r152941 = cbrt(r152940);
double r152942 = r152941 * r152941;
double r152943 = cbrt(r152942);
double r152944 = r152941 * r152943;
double r152945 = cbrt(r152941);
double r152946 = r152944 * r152945;
double r152947 = r152938 * r152946;
double r152948 = r152947 * r152941;
double r152949 = z;
double r152950 = sin(r152939);
double r152951 = r152949 * r152950;
double r152952 = r152948 - r152951;
return r152952;
}



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 2020089 +o rules:numerics
(FPCore (x y z)
:name "Diagrams.ThreeD.Transform:aboutX from diagrams-lib-1.3.0.3, A"
:precision binary64
(- (* x (cos y)) (* z (sin y))))