x \cdot \cos y + z \cdot \sin y
\mathsf{fma}\left(\sin y, z, \left(x \cdot \left(\sqrt[3]{\cos y} \cdot \sqrt[3]{\cos y}\right)\right) \cdot \sqrt[3]{\cos y}\right)double f(double x, double y, double z) {
double r154783 = x;
double r154784 = y;
double r154785 = cos(r154784);
double r154786 = r154783 * r154785;
double r154787 = z;
double r154788 = sin(r154784);
double r154789 = r154787 * r154788;
double r154790 = r154786 + r154789;
return r154790;
}
double f(double x, double y, double z) {
double r154791 = y;
double r154792 = sin(r154791);
double r154793 = z;
double r154794 = x;
double r154795 = cos(r154791);
double r154796 = cbrt(r154795);
double r154797 = r154796 * r154796;
double r154798 = r154794 * r154797;
double r154799 = r154798 * r154796;
double r154800 = fma(r154792, r154793, r154799);
return r154800;
}



Bits error versus x



Bits error versus y



Bits error versus z
Initial program 0.1
Simplified0.1
rmApplied add-cube-cbrt0.4
Applied associate-*r*0.4
Final simplification0.4
herbie shell --seed 2019194 +o rules:numerics
(FPCore (x y z)
:name "Diagrams.ThreeD.Transform:aboutY from diagrams-lib-1.3.0.3"
(+ (* x (cos y)) (* z (sin y))))