x \cdot \sin y + z \cdot \cos y
\left(\sqrt[3]{x} \cdot \left(\sqrt[3]{\sin y} \cdot \sqrt[3]{x \cdot \sin y}\right)\right) \cdot \sqrt[3]{x \cdot \sin y} + z \cdot \cos ydouble f(double x, double y, double z) {
double r149621 = x;
double r149622 = y;
double r149623 = sin(r149622);
double r149624 = r149621 * r149623;
double r149625 = z;
double r149626 = cos(r149622);
double r149627 = r149625 * r149626;
double r149628 = r149624 + r149627;
return r149628;
}
double f(double x, double y, double z) {
double r149629 = x;
double r149630 = cbrt(r149629);
double r149631 = y;
double r149632 = sin(r149631);
double r149633 = cbrt(r149632);
double r149634 = r149629 * r149632;
double r149635 = cbrt(r149634);
double r149636 = r149633 * r149635;
double r149637 = r149630 * r149636;
double r149638 = r149637 * r149635;
double r149639 = z;
double r149640 = cos(r149631);
double r149641 = r149639 * r149640;
double r149642 = r149638 + r149641;
return r149642;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 0.1
rmApplied add-cube-cbrt0.6
rmApplied cbrt-prod0.5
Applied associate-*l*0.5
Final simplification0.5
herbie shell --seed 2019304
(FPCore (x y z)
:name "Diagrams.ThreeD.Transform:aboutX from diagrams-lib-1.3.0.3, B"
:precision binary64
(+ (* x (sin y)) (* z (cos y))))