x \cdot \sin y + z \cdot \cos y
x \cdot \sin y + \left({\left(\sqrt{\cos y \cdot \cos y}\right)}^{\frac{1}{3}} \cdot \left(z \cdot {\left(\sqrt{\cos y \cdot \cos y}\right)}^{\frac{1}{3}}\right)\right) \cdot \sqrt[3]{\cos y}double f(double x, double y, double z) {
double r19814828 = x;
double r19814829 = y;
double r19814830 = sin(r19814829);
double r19814831 = r19814828 * r19814830;
double r19814832 = z;
double r19814833 = cos(r19814829);
double r19814834 = r19814832 * r19814833;
double r19814835 = r19814831 + r19814834;
return r19814835;
}
double f(double x, double y, double z) {
double r19814836 = x;
double r19814837 = y;
double r19814838 = sin(r19814837);
double r19814839 = r19814836 * r19814838;
double r19814840 = cos(r19814837);
double r19814841 = r19814840 * r19814840;
double r19814842 = sqrt(r19814841);
double r19814843 = 0.3333333333333333;
double r19814844 = pow(r19814842, r19814843);
double r19814845 = z;
double r19814846 = r19814845 * r19814844;
double r19814847 = r19814844 * r19814846;
double r19814848 = cbrt(r19814840);
double r19814849 = r19814847 * r19814848;
double r19814850 = r19814839 + r19814849;
return r19814850;
}



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/315.4
Applied pow1/315.4
Applied pow-prod-down0.2
rmApplied add-sqr-sqrt0.2
Applied unpow-prod-down0.2
Applied associate-*r*0.2
Final simplification0.2
herbie shell --seed 2019158
(FPCore (x y z)
:name "Diagrams.ThreeD.Transform:aboutX from diagrams-lib-1.3.0.3, B"
(+ (* x (sin y)) (* z (cos y))))