x \cdot \cos y + z \cdot \sin y
\left(x \cdot {\left({\left({\left(\cos y\right)}^{2}\right)}^{\frac{2}{3}} \cdot {\left({\left(\cos y\right)}^{2}\right)}^{\frac{1}{3}}\right)}^{\frac{1}{3}}\right) \cdot \sqrt[3]{\cos y} + z \cdot \sin ydouble f(double x, double y, double z) {
double r179168 = x;
double r179169 = y;
double r179170 = cos(r179169);
double r179171 = r179168 * r179170;
double r179172 = z;
double r179173 = sin(r179169);
double r179174 = r179172 * r179173;
double r179175 = r179171 + r179174;
return r179175;
}
double f(double x, double y, double z) {
double r179176 = x;
double r179177 = y;
double r179178 = cos(r179177);
double r179179 = 2.0;
double r179180 = pow(r179178, r179179);
double r179181 = 0.6666666666666666;
double r179182 = pow(r179180, r179181);
double r179183 = 0.3333333333333333;
double r179184 = pow(r179180, r179183);
double r179185 = r179182 * r179184;
double r179186 = pow(r179185, r179183);
double r179187 = r179176 * r179186;
double r179188 = cbrt(r179178);
double r179189 = r179187 * r179188;
double r179190 = z;
double r179191 = sin(r179177);
double r179192 = r179190 * r179191;
double r179193 = r179189 + r179192;
return r179193;
}



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.5
Applied pow1/316.5
Applied pow-prod-down0.2
Simplified0.2
rmApplied add-cube-cbrt0.3
Simplified0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2020060 +o rules:numerics
(FPCore (x y z)
:name "Diagrams.ThreeD.Transform:aboutY from diagrams-lib-1.3.0.3"
:precision binary64
(+ (* x (cos y)) (* z (sin y))))