x \cdot \cos y + z \cdot \sin y
\left(x \cdot {\left({\left({\left(\cos y\right)}^{2}\right)}^{\left(\sqrt{\frac{1}{3}}\right)}\right)}^{\left(\sqrt{\frac{1}{3}}\right)}\right) \cdot \sqrt[3]{\cos y} + z \cdot \sin ydouble f(double x, double y, double z) {
double r235801 = x;
double r235802 = y;
double r235803 = cos(r235802);
double r235804 = r235801 * r235803;
double r235805 = z;
double r235806 = sin(r235802);
double r235807 = r235805 * r235806;
double r235808 = r235804 + r235807;
return r235808;
}
double f(double x, double y, double z) {
double r235809 = x;
double r235810 = y;
double r235811 = cos(r235810);
double r235812 = 2.0;
double r235813 = pow(r235811, r235812);
double r235814 = 0.3333333333333333;
double r235815 = sqrt(r235814);
double r235816 = pow(r235813, r235815);
double r235817 = pow(r235816, r235815);
double r235818 = r235809 * r235817;
double r235819 = cbrt(r235811);
double r235820 = r235818 * r235819;
double r235821 = z;
double r235822 = sin(r235810);
double r235823 = r235821 * r235822;
double r235824 = r235820 + r235823;
return r235824;
}



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