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 r110292 = x;
double r110293 = y;
double r110294 = cos(r110293);
double r110295 = r110292 * r110294;
double r110296 = z;
double r110297 = sin(r110293);
double r110298 = r110296 * r110297;
double r110299 = r110295 - r110298;
return r110299;
}
double f(double x, double y, double z) {
double r110300 = x;
double r110301 = y;
double r110302 = cos(r110301);
double r110303 = 6.0;
double r110304 = pow(r110302, r110303);
double r110305 = cbrt(r110304);
double r110306 = 0.3333333333333333;
double r110307 = pow(r110305, r110306);
double r110308 = r110300 * r110307;
double r110309 = cbrt(r110302);
double r110310 = r110308 * r110309;
double r110311 = z;
double r110312 = sin(r110301);
double r110313 = r110311 * r110312;
double r110314 = r110310 - r110313;
return r110314;
}



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
Final simplification0.2
herbie shell --seed 2019306 +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))))