x \cdot \cos y + z \cdot \sin y
\left(x \cdot \left(\sqrt{{\left({\left(\cos y\right)}^{2}\right)}^{\frac{1}{3}}} \cdot \sqrt{\sqrt[3]{{\left(\cos y\right)}^{2}}}\right)\right) \cdot \sqrt[3]{\cos y} + z \cdot \sin ydouble f(double x, double y, double z) {
double r138082 = x;
double r138083 = y;
double r138084 = cos(r138083);
double r138085 = r138082 * r138084;
double r138086 = z;
double r138087 = sin(r138083);
double r138088 = r138086 * r138087;
double r138089 = r138085 + r138088;
return r138089;
}
double f(double x, double y, double z) {
double r138090 = x;
double r138091 = y;
double r138092 = cos(r138091);
double r138093 = 2.0;
double r138094 = pow(r138092, r138093);
double r138095 = 0.3333333333333333;
double r138096 = pow(r138094, r138095);
double r138097 = sqrt(r138096);
double r138098 = cbrt(r138094);
double r138099 = sqrt(r138098);
double r138100 = r138097 * r138099;
double r138101 = r138090 * r138100;
double r138102 = cbrt(r138092);
double r138103 = r138101 * r138102;
double r138104 = z;
double r138105 = sin(r138091);
double r138106 = r138104 * r138105;
double r138107 = r138103 + r138106;
return r138107;
}



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-sqr-sqrt0.3
rmApplied pow1/30.3
Final simplification0.3
herbie shell --seed 2019304
(FPCore (x y z)
:name "Diagrams.ThreeD.Transform:aboutY from diagrams-lib-1.3.0.3"
:precision binary64
(+ (* x (cos y)) (* z (sin y))))