x \cdot \sin y + z \cdot \cos y
x \cdot \sin y + \left(z \cdot {\left({\left({\left(\cos y\right)}^{2}\right)}^{\frac{2}{3}} \cdot \sqrt[3]{{\left(\cos y\right)}^{2}}\right)}^{\frac{1}{3}}\right) \cdot \sqrt[3]{\cos y}double f(double x, double y, double z) {
double r131741 = x;
double r131742 = y;
double r131743 = sin(r131742);
double r131744 = r131741 * r131743;
double r131745 = z;
double r131746 = cos(r131742);
double r131747 = r131745 * r131746;
double r131748 = r131744 + r131747;
return r131748;
}
double f(double x, double y, double z) {
double r131749 = x;
double r131750 = y;
double r131751 = sin(r131750);
double r131752 = r131749 * r131751;
double r131753 = z;
double r131754 = cos(r131750);
double r131755 = 2.0;
double r131756 = pow(r131754, r131755);
double r131757 = 0.6666666666666666;
double r131758 = pow(r131756, r131757);
double r131759 = cbrt(r131756);
double r131760 = r131758 * r131759;
double r131761 = 0.3333333333333333;
double r131762 = pow(r131760, r131761);
double r131763 = r131753 * r131762;
double r131764 = cbrt(r131754);
double r131765 = r131763 * r131764;
double r131766 = r131752 + r131765;
return r131766;
}



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-cube-cbrt0.3
Simplified0.2
Final simplification0.2
herbie shell --seed 2019323
(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))))