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 r172885 = x;
double r172886 = y;
double r172887 = cos(r172886);
double r172888 = r172885 * r172887;
double r172889 = z;
double r172890 = sin(r172886);
double r172891 = r172889 * r172890;
double r172892 = r172888 + r172891;
return r172892;
}
double f(double x, double y, double z) {
double r172893 = x;
double r172894 = y;
double r172895 = cos(r172894);
double r172896 = 2.0;
double r172897 = pow(r172895, r172896);
double r172898 = 0.6666666666666666;
double r172899 = pow(r172897, r172898);
double r172900 = 0.3333333333333333;
double r172901 = pow(r172897, r172900);
double r172902 = r172899 * r172901;
double r172903 = cbrt(r172902);
double r172904 = r172893 * r172903;
double r172905 = cbrt(r172895);
double r172906 = r172904 * r172905;
double r172907 = z;
double r172908 = sin(r172894);
double r172909 = r172907 * r172908;
double r172910 = r172906 + r172909;
return r172910;
}



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
Simplified0.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))))