x \cdot \sin y + z \cdot \cos y
\sqrt[3]{\sqrt[3]{\cos y}} \cdot \left(\left(z \cdot {\left(\cos y \cdot \cos y\right)}^{\frac{1}{3}}\right) \cdot \sqrt[3]{\sqrt[3]{\cos y} \cdot \sqrt[3]{\cos y}}\right) + x \cdot \sin ydouble f(double x, double y, double z) {
double r11875004 = x;
double r11875005 = y;
double r11875006 = sin(r11875005);
double r11875007 = r11875004 * r11875006;
double r11875008 = z;
double r11875009 = cos(r11875005);
double r11875010 = r11875008 * r11875009;
double r11875011 = r11875007 + r11875010;
return r11875011;
}
double f(double x, double y, double z) {
double r11875012 = y;
double r11875013 = cos(r11875012);
double r11875014 = cbrt(r11875013);
double r11875015 = cbrt(r11875014);
double r11875016 = z;
double r11875017 = r11875013 * r11875013;
double r11875018 = 0.3333333333333333;
double r11875019 = pow(r11875017, r11875018);
double r11875020 = r11875016 * r11875019;
double r11875021 = r11875014 * r11875014;
double r11875022 = cbrt(r11875021);
double r11875023 = r11875020 * r11875022;
double r11875024 = r11875015 * r11875023;
double r11875025 = x;
double r11875026 = sin(r11875012);
double r11875027 = r11875025 * r11875026;
double r11875028 = r11875024 + r11875027;
return r11875028;
}



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
rmApplied add-cube-cbrt0.3
Applied cbrt-prod0.3
Applied associate-*r*0.3
rmApplied pow1/30.3
Final simplification0.3
herbie shell --seed 2019165 +o rules:numerics
(FPCore (x y z)
:name "Diagrams.ThreeD.Transform:aboutX from diagrams-lib-1.3.0.3, B"
(+ (* x (sin y)) (* z (cos y))))