x \cdot \cos y + z \cdot \sin y
\left(x \cdot {\left(\sqrt{\sqrt[3]{{\left(\cos y\right)}^{6}}} \cdot \sqrt{\sqrt[3]{{\left(\cos y\right)}^{6}}}\right)}^{\frac{1}{3}}\right) \cdot \sqrt[3]{\cos y} + z \cdot \sin ydouble f(double x, double y, double z) {
double r132604 = x;
double r132605 = y;
double r132606 = cos(r132605);
double r132607 = r132604 * r132606;
double r132608 = z;
double r132609 = sin(r132605);
double r132610 = r132608 * r132609;
double r132611 = r132607 + r132610;
return r132611;
}
double f(double x, double y, double z) {
double r132612 = x;
double r132613 = y;
double r132614 = cos(r132613);
double r132615 = 6.0;
double r132616 = pow(r132614, r132615);
double r132617 = cbrt(r132616);
double r132618 = sqrt(r132617);
double r132619 = r132618 * r132618;
double r132620 = 0.3333333333333333;
double r132621 = pow(r132619, r132620);
double r132622 = r132612 * r132621;
double r132623 = cbrt(r132614);
double r132624 = r132622 * r132623;
double r132625 = z;
double r132626 = sin(r132613);
double r132627 = r132625 * r132626;
double r132628 = r132624 + r132627;
return r132628;
}



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.3
Applied pow1/316.2
Applied pow-prod-down0.2
Simplified0.2
rmApplied add-cbrt-cube0.2
Simplified0.2
rmApplied add-sqr-sqrt0.2
Final simplification0.2
herbie shell --seed 2019323
(FPCore (x y z)
:name "Diagrams.ThreeD.Transform:aboutY from diagrams-lib-1.3.0.3"
:precision binary64
(+ (* x (cos y)) (* z (sin y))))