x \cdot \cos y + z \cdot \sin y
\mathsf{fma}\left(x, \cos y, z \cdot \sin y\right)double f(double x, double y, double z) {
double r204878 = x;
double r204879 = y;
double r204880 = cos(r204879);
double r204881 = r204878 * r204880;
double r204882 = z;
double r204883 = sin(r204879);
double r204884 = r204882 * r204883;
double r204885 = r204881 + r204884;
return r204885;
}
double f(double x, double y, double z) {
double r204886 = x;
double r204887 = y;
double r204888 = cos(r204887);
double r204889 = z;
double r204890 = sin(r204887);
double r204891 = r204889 * r204890;
double r204892 = fma(r204886, r204888, r204891);
return r204892;
}



Bits error versus x



Bits error versus y



Bits error versus z
Initial program 0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2020062 +o rules:numerics
(FPCore (x y z)
:name "Diagrams.ThreeD.Transform:aboutY from diagrams-lib-1.3.0.3"
:precision binary64
(+ (* x (cos y)) (* z (sin y))))