x \cdot \sin y + z \cdot \cos y
x \cdot \sin y + \left(z \cdot {\left({\left(\cos y\right)}^{2}\right)}^{\frac{1}{3}}\right) \cdot \sqrt[3]{\cos y}double f(double x, double y, double z) {
double r113412 = x;
double r113413 = y;
double r113414 = sin(r113413);
double r113415 = r113412 * r113414;
double r113416 = z;
double r113417 = cos(r113413);
double r113418 = r113416 * r113417;
double r113419 = r113415 + r113418;
return r113419;
}
double f(double x, double y, double z) {
double r113420 = x;
double r113421 = y;
double r113422 = sin(r113421);
double r113423 = r113420 * r113422;
double r113424 = z;
double r113425 = cos(r113421);
double r113426 = 2.0;
double r113427 = pow(r113425, r113426);
double r113428 = 0.3333333333333333;
double r113429 = pow(r113427, r113428);
double r113430 = r113424 * r113429;
double r113431 = cbrt(r113425);
double r113432 = r113430 * r113431;
double r113433 = r113423 + r113432;
return r113433;
}



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.6
Applied pow1/316.5
Applied pow-prod-down0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019199 +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))))