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 r231533 = x;
double r231534 = y;
double r231535 = cos(r231534);
double r231536 = r231533 * r231535;
double r231537 = z;
double r231538 = sin(r231534);
double r231539 = r231537 * r231538;
double r231540 = r231536 - r231539;
return r231540;
}
double f(double x, double y, double z) {
double r231541 = x;
double r231542 = y;
double r231543 = cos(r231542);
double r231544 = 2.0;
double r231545 = pow(r231543, r231544);
double r231546 = 0.6666666666666666;
double r231547 = pow(r231545, r231546);
double r231548 = 0.3333333333333333;
double r231549 = pow(r231545, r231548);
double r231550 = r231547 * r231549;
double r231551 = pow(r231550, r231548);
double r231552 = r231541 * r231551;
double r231553 = cbrt(r231543);
double r231554 = exp(r231553);
double r231555 = log(r231554);
double r231556 = r231552 * r231555;
double r231557 = z;
double r231558 = sin(r231542);
double r231559 = r231557 * r231558;
double r231560 = r231556 - r231559;
return r231560;
}



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))))