x \cdot \sin y + z \cdot \cos y
\left(\sqrt[3]{x \cdot \sin y} \cdot \sqrt[3]{x \cdot \sin y}\right) \cdot \left(\sqrt[3]{x} \cdot \sqrt[3]{\sin y}\right) + z \cdot \cos ydouble f(double x, double y, double z) {
double r174825 = x;
double r174826 = y;
double r174827 = sin(r174826);
double r174828 = r174825 * r174827;
double r174829 = z;
double r174830 = cos(r174826);
double r174831 = r174829 * r174830;
double r174832 = r174828 + r174831;
return r174832;
}
double f(double x, double y, double z) {
double r174833 = x;
double r174834 = y;
double r174835 = sin(r174834);
double r174836 = r174833 * r174835;
double r174837 = cbrt(r174836);
double r174838 = r174837 * r174837;
double r174839 = cbrt(r174833);
double r174840 = cbrt(r174835);
double r174841 = r174839 * r174840;
double r174842 = r174838 * r174841;
double r174843 = z;
double r174844 = cos(r174834);
double r174845 = r174843 * r174844;
double r174846 = r174842 + r174845;
return r174846;
}



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