x \cdot \sin y + z \cdot \cos y
\sqrt[3]{\cos y} \cdot \left({\left(\cos y \cdot \cos y\right)}^{\frac{1}{6}} \cdot \left(z \cdot {\left(\cos y \cdot \cos y\right)}^{\frac{1}{6}}\right)\right) + x \cdot \sin ydouble f(double x, double y, double z) {
double r6204509 = x;
double r6204510 = y;
double r6204511 = sin(r6204510);
double r6204512 = r6204509 * r6204511;
double r6204513 = z;
double r6204514 = cos(r6204510);
double r6204515 = r6204513 * r6204514;
double r6204516 = r6204512 + r6204515;
return r6204516;
}
double f(double x, double y, double z) {
double r6204517 = y;
double r6204518 = cos(r6204517);
double r6204519 = cbrt(r6204518);
double r6204520 = r6204518 * r6204518;
double r6204521 = 0.16666666666666666;
double r6204522 = pow(r6204520, r6204521);
double r6204523 = z;
double r6204524 = r6204523 * r6204522;
double r6204525 = r6204522 * r6204524;
double r6204526 = r6204519 * r6204525;
double r6204527 = x;
double r6204528 = sin(r6204517);
double r6204529 = r6204527 * r6204528;
double r6204530 = r6204526 + r6204529;
return r6204530;
}



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/315.4
Applied pow1/315.4
Applied pow-prod-down0.2
rmApplied sqr-pow0.2
Applied associate-*r*0.2
Final simplification0.2
herbie shell --seed 2019158 +o rules:numerics
(FPCore (x y z)
:name "Diagrams.ThreeD.Transform:aboutX from diagrams-lib-1.3.0.3, B"
(+ (* x (sin y)) (* z (cos y))))