x \cdot \sin y + z \cdot \cos y
\left(\sqrt[3]{x \cdot \sin y} \cdot \left(\sqrt[3]{x} \cdot \sqrt[3]{\sin y}\right)\right) \cdot \sqrt[3]{x \cdot \sin y} + z \cdot \cos ydouble f(double x, double y, double z) {
double r223001 = x;
double r223002 = y;
double r223003 = sin(r223002);
double r223004 = r223001 * r223003;
double r223005 = z;
double r223006 = cos(r223002);
double r223007 = r223005 * r223006;
double r223008 = r223004 + r223007;
return r223008;
}
double f(double x, double y, double z) {
double r223009 = x;
double r223010 = y;
double r223011 = sin(r223010);
double r223012 = r223009 * r223011;
double r223013 = cbrt(r223012);
double r223014 = cbrt(r223009);
double r223015 = cbrt(r223011);
double r223016 = r223014 * r223015;
double r223017 = r223013 * r223016;
double r223018 = r223017 * r223013;
double r223019 = z;
double r223020 = cos(r223010);
double r223021 = r223019 * r223020;
double r223022 = r223018 + r223021;
return r223022;
}



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.6
Final simplification0.6
herbie shell --seed 2020027
(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))))