x \cdot \cos y - z \cdot \sin y
\left(x \cdot \sqrt[3]{{\left({\left(\cos y\right)}^{2}\right)}^{\frac{2}{3}} \cdot {\left({\left(\cos y\right)}^{2}\right)}^{\frac{1}{3}}}\right) \cdot \sqrt[3]{\cos y} - z \cdot \sin ydouble f(double x, double y, double z) {
double r199780 = x;
double r199781 = y;
double r199782 = cos(r199781);
double r199783 = r199780 * r199782;
double r199784 = z;
double r199785 = sin(r199781);
double r199786 = r199784 * r199785;
double r199787 = r199783 - r199786;
return r199787;
}
double f(double x, double y, double z) {
double r199788 = x;
double r199789 = y;
double r199790 = cos(r199789);
double r199791 = 2.0;
double r199792 = pow(r199790, r199791);
double r199793 = 0.6666666666666666;
double r199794 = pow(r199792, r199793);
double r199795 = 0.3333333333333333;
double r199796 = pow(r199792, r199795);
double r199797 = r199794 * r199796;
double r199798 = cbrt(r199797);
double r199799 = r199788 * r199798;
double r199800 = cbrt(r199790);
double r199801 = r199799 * r199800;
double r199802 = z;
double r199803 = sin(r199789);
double r199804 = r199802 * r199803;
double r199805 = r199801 - r199804;
return r199805;
}



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 cbrt-unprod0.3
Simplified0.3
rmApplied add-cube-cbrt0.3
Simplified0.3
rmApplied pow1/30.3
Final simplification0.3
herbie shell --seed 2020047 +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))))