x \cdot \cos y - z \cdot \sin y
\left(x \cdot {\left(\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 r120537 = x;
double r120538 = y;
double r120539 = cos(r120538);
double r120540 = r120537 * r120539;
double r120541 = z;
double r120542 = sin(r120538);
double r120543 = r120541 * r120542;
double r120544 = r120540 - r120543;
return r120544;
}
double f(double x, double y, double z) {
double r120545 = x;
double r120546 = y;
double r120547 = cos(r120546);
double r120548 = 6.0;
double r120549 = pow(r120547, r120548);
double r120550 = cbrt(r120549);
double r120551 = 0.3333333333333333;
double r120552 = pow(r120550, r120551);
double r120553 = r120545 * r120552;
double r120554 = cbrt(r120547);
double r120555 = r120553 * r120554;
double r120556 = z;
double r120557 = sin(r120546);
double r120558 = r120556 * r120557;
double r120559 = r120555 - r120558;
return r120559;
}



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.1
Applied pow1/316.1
Applied pow-prod-down0.2
Simplified0.2
rmApplied add-cbrt-cube0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019325 +o rules:numerics
(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))))