x \cdot \cos y - z \cdot \sin y
\left(x \cdot {\left(\sqrt{\sqrt[3]{{\left(\cos y\right)}^{6}}} \cdot \sqrt{\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 r202738 = x;
double r202739 = y;
double r202740 = cos(r202739);
double r202741 = r202738 * r202740;
double r202742 = z;
double r202743 = sin(r202739);
double r202744 = r202742 * r202743;
double r202745 = r202741 - r202744;
return r202745;
}
double f(double x, double y, double z) {
double r202746 = x;
double r202747 = y;
double r202748 = cos(r202747);
double r202749 = 6.0;
double r202750 = pow(r202748, r202749);
double r202751 = cbrt(r202750);
double r202752 = sqrt(r202751);
double r202753 = r202752 * r202752;
double r202754 = 0.3333333333333333;
double r202755 = pow(r202753, r202754);
double r202756 = r202746 * r202755;
double r202757 = cbrt(r202748);
double r202758 = r202756 * r202757;
double r202759 = z;
double r202760 = sin(r202747);
double r202761 = r202759 * r202760;
double r202762 = r202758 - r202761;
return r202762;
}



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/316.3
Applied pow1/316.2
Applied pow-prod-down0.2
Simplified0.2
rmApplied add-cbrt-cube0.2
Simplified0.2
rmApplied add-sqr-sqrt0.2
Final simplification0.2
herbie shell --seed 2019323
(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))))