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 \log \left(e^{\sqrt[3]{\cos y}}\right) - z \cdot \sin ydouble f(double x, double y, double z) {
double r196565 = x;
double r196566 = y;
double r196567 = cos(r196566);
double r196568 = r196565 * r196567;
double r196569 = z;
double r196570 = sin(r196566);
double r196571 = r196569 * r196570;
double r196572 = r196568 - r196571;
return r196572;
}
double f(double x, double y, double z) {
double r196573 = x;
double r196574 = y;
double r196575 = cos(r196574);
double r196576 = 2.0;
double r196577 = pow(r196575, r196576);
double r196578 = 0.6666666666666666;
double r196579 = pow(r196577, r196578);
double r196580 = 0.3333333333333333;
double r196581 = pow(r196577, r196580);
double r196582 = r196579 * r196581;
double r196583 = pow(r196582, r196580);
double r196584 = r196573 * r196583;
double r196585 = cbrt(r196575);
double r196586 = exp(r196585);
double r196587 = log(r196586);
double r196588 = r196584 * r196587;
double r196589 = z;
double r196590 = sin(r196574);
double r196591 = r196589 * r196590;
double r196592 = r196588 - r196591;
return r196592;
}



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
rmApplied add-log-exp0.3
Final simplification0.3
herbie shell --seed 2020060
(FPCore (x y z)
:name "Diagrams.ThreeD.Transform:aboutX from diagrams-lib-1.3.0.3, A"
:precision binary64
(- (* x (cos y)) (* z (sin y))))