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 r173995 = x;
double r173996 = y;
double r173997 = cos(r173996);
double r173998 = r173995 * r173997;
double r173999 = z;
double r174000 = sin(r173996);
double r174001 = r173999 * r174000;
double r174002 = r173998 - r174001;
return r174002;
}
double f(double x, double y, double z) {
double r174003 = x;
double r174004 = y;
double r174005 = cos(r174004);
double r174006 = 6.0;
double r174007 = pow(r174005, r174006);
double r174008 = cbrt(r174007);
double r174009 = 0.3333333333333333;
double r174010 = pow(r174008, r174009);
double r174011 = r174003 * r174010;
double r174012 = cbrt(r174005);
double r174013 = r174011 * r174012;
double r174014 = z;
double r174015 = sin(r174004);
double r174016 = r174014 * r174015;
double r174017 = r174013 - r174016;
return r174017;
}



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.6
Applied pow1/315.5
Applied pow-prod-down0.2
Simplified0.2
rmApplied add-cbrt-cube0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2020001 +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))))