x \cdot \sin y + z \cdot \cos y
x \cdot \sin y + \left(z \cdot {\left({\left(\sqrt{{\left(\cos y\right)}^{2}}\right)}^{\frac{2}{3}} \cdot \left({\left(\sqrt{{\left(\cos y\right)}^{2}}\right)}^{\frac{2}{3}} \cdot {\left({\left(\cos y\right)}^{2}\right)}^{\frac{1}{3}}\right)\right)}^{\frac{1}{3}}\right) \cdot \sqrt[3]{\cos y}double f(double x, double y, double z) {
double r247098 = x;
double r247099 = y;
double r247100 = sin(r247099);
double r247101 = r247098 * r247100;
double r247102 = z;
double r247103 = cos(r247099);
double r247104 = r247102 * r247103;
double r247105 = r247101 + r247104;
return r247105;
}
double f(double x, double y, double z) {
double r247106 = x;
double r247107 = y;
double r247108 = sin(r247107);
double r247109 = r247106 * r247108;
double r247110 = z;
double r247111 = cos(r247107);
double r247112 = 2.0;
double r247113 = pow(r247111, r247112);
double r247114 = sqrt(r247113);
double r247115 = 0.6666666666666666;
double r247116 = pow(r247114, r247115);
double r247117 = 0.3333333333333333;
double r247118 = pow(r247113, r247117);
double r247119 = r247116 * r247118;
double r247120 = r247116 * r247119;
double r247121 = pow(r247120, r247117);
double r247122 = r247110 * r247121;
double r247123 = cbrt(r247111);
double r247124 = r247122 * r247123;
double r247125 = r247109 + r247124;
return r247125;
}



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/315.9
Applied pow-prod-down0.2
Simplified0.2
rmApplied add-cube-cbrt0.3
Simplified0.2
Simplified0.2
rmApplied add-sqr-sqrt0.2
Applied unpow-prod-down0.2
Applied associate-*l*0.2
Final simplification0.2
herbie shell --seed 2020049
(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))))