x \cdot \sin y + z \cdot \cos y
x \cdot \sin y + \left(\sqrt[3]{{\left(\cos y\right)}^{2}} \cdot z\right) \cdot \sqrt[3]{\cos y}double f(double x, double y, double z) {
double r162882 = x;
double r162883 = y;
double r162884 = sin(r162883);
double r162885 = r162882 * r162884;
double r162886 = z;
double r162887 = cos(r162883);
double r162888 = r162886 * r162887;
double r162889 = r162885 + r162888;
return r162889;
}
double f(double x, double y, double z) {
double r162890 = x;
double r162891 = y;
double r162892 = sin(r162891);
double r162893 = r162890 * r162892;
double r162894 = cos(r162891);
double r162895 = 2.0;
double r162896 = pow(r162894, r162895);
double r162897 = cbrt(r162896);
double r162898 = z;
double r162899 = r162897 * r162898;
double r162900 = cbrt(r162894);
double r162901 = r162899 * r162900;
double r162902 = r162893 + r162901;
return r162902;
}



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.0
Applied pow1/316.0
Applied pow-prod-down0.2
Simplified0.2
rmApplied *-un-lft-identity0.2
Applied associate-*l*0.2
Simplified0.3
Final simplification0.3
herbie shell --seed 2019303
(FPCore (x y z)
:name "Diagrams.ThreeD.Transform:aboutX from diagrams-lib-1.3.0.3, B"
:precision binary64
(+ (* x (sin y)) (* z (cos y))))