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 r134478 = x;
double r134479 = y;
double r134480 = cos(r134479);
double r134481 = r134478 * r134480;
double r134482 = z;
double r134483 = sin(r134479);
double r134484 = r134482 * r134483;
double r134485 = r134481 + r134484;
return r134485;
}
double f(double x, double y, double z) {
double r134486 = x;
double r134487 = y;
double r134488 = cos(r134487);
double r134489 = 6.0;
double r134490 = pow(r134488, r134489);
double r134491 = cbrt(r134490);
double r134492 = sqrt(r134491);
double r134493 = r134492 * r134492;
double r134494 = 0.3333333333333333;
double r134495 = pow(r134493, r134494);
double r134496 = r134486 * r134495;
double r134497 = cbrt(r134488);
double r134498 = r134496 * r134497;
double r134499 = z;
double r134500 = sin(r134487);
double r134501 = r134499 * r134500;
double r134502 = r134498 + r134501;
return r134502;
}



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:aboutY from diagrams-lib-1.3.0.3"
:precision binary64
(+ (* x (cos y)) (* z (sin y))))