x \cdot \sin y + z \cdot \cos y
x \cdot \sin y + \left(z \cdot {\left({\left(\cos y\right)}^{2}\right)}^{\frac{1}{6}}\right) \cdot \left({\left({\left(\cos y\right)}^{2}\right)}^{\frac{1}{6}} \cdot \sqrt[3]{\cos y}\right)double f(double x, double y, double z) {
double r118737 = x;
double r118738 = y;
double r118739 = sin(r118738);
double r118740 = r118737 * r118739;
double r118741 = z;
double r118742 = cos(r118738);
double r118743 = r118741 * r118742;
double r118744 = r118740 + r118743;
return r118744;
}
double f(double x, double y, double z) {
double r118745 = x;
double r118746 = y;
double r118747 = sin(r118746);
double r118748 = r118745 * r118747;
double r118749 = z;
double r118750 = cos(r118746);
double r118751 = 2.0;
double r118752 = pow(r118750, r118751);
double r118753 = 0.16666666666666666;
double r118754 = pow(r118752, r118753);
double r118755 = r118749 * r118754;
double r118756 = cbrt(r118750);
double r118757 = r118754 * r118756;
double r118758 = r118755 * r118757;
double r118759 = r118748 + r118758;
return r118759;
}



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.9
Applied pow1/315.9
Applied pow-prod-down0.2
Simplified0.2
rmApplied sqr-pow0.2
Applied associate-*r*0.2
Simplified0.2
rmApplied associate-*l*0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019306 +o rules:numerics
(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))))