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 r212927 = x;
double r212928 = y;
double r212929 = cos(r212928);
double r212930 = r212927 * r212929;
double r212931 = z;
double r212932 = sin(r212928);
double r212933 = r212931 * r212932;
double r212934 = r212930 + r212933;
return r212934;
}
double f(double x, double y, double z) {
double r212935 = x;
double r212936 = y;
double r212937 = cos(r212936);
double r212938 = 2.0;
double r212939 = pow(r212937, r212938);
double r212940 = 0.6666666666666666;
double r212941 = pow(r212939, r212940);
double r212942 = 0.3333333333333333;
double r212943 = pow(r212939, r212942);
double r212944 = r212941 * r212943;
double r212945 = cbrt(r212944);
double r212946 = r212935 * r212945;
double r212947 = cbrt(r212937);
double r212948 = r212946 * r212947;
double r212949 = z;
double r212950 = sin(r212936);
double r212951 = r212949 * r212950;
double r212952 = r212948 + r212951;
return r212952;
}



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
(FPCore (x y z)
:name "Diagrams.ThreeD.Transform:aboutY from diagrams-lib-1.3.0.3"
:precision binary64
(+ (* x (cos y)) (* z (sin y))))