x \cdot \cos y - z \cdot \sin y
\left(x \cdot {\left(\sqrt[3]{{\left(\cos y\right)}^{6}}\right)}^{\frac{1}{3}}\right) \cdot \sqrt[3]{\cos y} - z \cdot \sin ydouble f(double x, double y, double z) {
double r152065 = x;
double r152066 = y;
double r152067 = cos(r152066);
double r152068 = r152065 * r152067;
double r152069 = z;
double r152070 = sin(r152066);
double r152071 = r152069 * r152070;
double r152072 = r152068 - r152071;
return r152072;
}
double f(double x, double y, double z) {
double r152073 = x;
double r152074 = y;
double r152075 = cos(r152074);
double r152076 = 6.0;
double r152077 = pow(r152075, r152076);
double r152078 = cbrt(r152077);
double r152079 = 0.3333333333333333;
double r152080 = pow(r152078, r152079);
double r152081 = r152073 * r152080;
double r152082 = cbrt(r152075);
double r152083 = r152081 * r152082;
double r152084 = z;
double r152085 = sin(r152074);
double r152086 = r152084 * r152085;
double r152087 = r152083 - r152086;
return r152087;
}



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.8
Applied pow-prod-down0.2
Simplified0.2
rmApplied add-cbrt-cube0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2020027 +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))))