x \cdot \cos y + z \cdot \sin y
x \cdot \cos y + \left(\left(\sqrt[3]{\sqrt[3]{z} \cdot \sqrt[3]{z}} \cdot \sqrt[3]{\sqrt[3]{z} \cdot \sqrt[3]{z}}\right) \cdot \left(\sqrt[3]{\sqrt[3]{z}} \cdot \sqrt[3]{\sqrt[3]{z}}\right)\right) \cdot \left(\sqrt[3]{z} \cdot \sin y\right)double f(double x, double y, double z) {
double r166422 = x;
double r166423 = y;
double r166424 = cos(r166423);
double r166425 = r166422 * r166424;
double r166426 = z;
double r166427 = sin(r166423);
double r166428 = r166426 * r166427;
double r166429 = r166425 + r166428;
return r166429;
}
double f(double x, double y, double z) {
double r166430 = x;
double r166431 = y;
double r166432 = cos(r166431);
double r166433 = r166430 * r166432;
double r166434 = z;
double r166435 = cbrt(r166434);
double r166436 = r166435 * r166435;
double r166437 = cbrt(r166436);
double r166438 = r166437 * r166437;
double r166439 = cbrt(r166435);
double r166440 = r166439 * r166439;
double r166441 = r166438 * r166440;
double r166442 = sin(r166431);
double r166443 = r166435 * r166442;
double r166444 = r166441 * r166443;
double r166445 = r166433 + r166444;
return r166445;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 0.1
rmApplied add-cube-cbrt0.6
Applied associate-*l*0.6
rmApplied add-cube-cbrt0.6
Applied cbrt-prod0.6
Applied add-cube-cbrt0.7
Applied cbrt-prod0.7
Applied swap-sqr0.7
Final simplification0.7
herbie shell --seed 1978988140
(FPCore (x y z)
:name "Diagrams.ThreeD.Transform:aboutY from diagrams-lib-1.3.0.3"
:precision binary64
(+ (* x (cos y)) (* z (sin y))))