x \cdot \cos y - z \cdot \sin y
\left(x \cdot {\left(\sqrt{\sqrt[3]{{\left(\cos y\right)}^{6}}} \cdot \sqrt{\sqrt[3]{{\left(\cos y\right)}^{6}}}\right)}^{\frac{1}{3}}\right) \cdot \sqrt[3]{\cos y} - z \cdot \sin ydouble f(double x, double y, double z) {
double r128445 = x;
double r128446 = y;
double r128447 = cos(r128446);
double r128448 = r128445 * r128447;
double r128449 = z;
double r128450 = sin(r128446);
double r128451 = r128449 * r128450;
double r128452 = r128448 - r128451;
return r128452;
}
double f(double x, double y, double z) {
double r128453 = x;
double r128454 = y;
double r128455 = cos(r128454);
double r128456 = 6.0;
double r128457 = pow(r128455, r128456);
double r128458 = cbrt(r128457);
double r128459 = sqrt(r128458);
double r128460 = r128459 * r128459;
double r128461 = 0.3333333333333333;
double r128462 = pow(r128460, r128461);
double r128463 = r128453 * r128462;
double r128464 = cbrt(r128455);
double r128465 = r128463 * r128464;
double r128466 = z;
double r128467 = sin(r128454);
double r128468 = r128466 * r128467;
double r128469 = r128465 - r128468;
return r128469;
}



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-cbrt-cube0.2
Simplified0.2
rmApplied add-sqr-sqrt0.2
Final simplification0.2
herbie shell --seed 2019323
(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))))