x \cdot \cos y - z \cdot \sin y
\mathsf{fma}\left(x, \cos y, -\left(\sin y \cdot \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right)\right) \cdot \sqrt[3]{z}\right)double f(double x, double y, double z) {
double r183875 = x;
double r183876 = y;
double r183877 = cos(r183876);
double r183878 = r183875 * r183877;
double r183879 = z;
double r183880 = sin(r183876);
double r183881 = r183879 * r183880;
double r183882 = r183878 - r183881;
return r183882;
}
double f(double x, double y, double z) {
double r183883 = x;
double r183884 = y;
double r183885 = cos(r183884);
double r183886 = sin(r183884);
double r183887 = z;
double r183888 = cbrt(r183887);
double r183889 = r183888 * r183888;
double r183890 = r183886 * r183889;
double r183891 = r183890 * r183888;
double r183892 = -r183891;
double r183893 = fma(r183883, r183885, r183892);
return r183893;
}



Bits error versus x



Bits error versus y



Bits error versus z
Initial program 0.1
rmApplied fma-neg0.1
Simplified0.1
rmApplied add-cube-cbrt0.6
Applied associate-*r*0.6
Final simplification0.6
herbie shell --seed 2019303 +o rules:numerics
(FPCore (x y z)
:name "Diagrams.ThreeD.Transform:aboutX from diagrams-lib-1.3.0.3, A"
:precision binary64
(- (* x (cos y)) (* z (sin y))))