x \cdot \sin y + z \cdot \cos y
\mathsf{fma}\left(x, \sin y, z \cdot \cos y\right)double f(double x, double y, double z) {
double r14515968 = x;
double r14515969 = y;
double r14515970 = sin(r14515969);
double r14515971 = r14515968 * r14515970;
double r14515972 = z;
double r14515973 = cos(r14515969);
double r14515974 = r14515972 * r14515973;
double r14515975 = r14515971 + r14515974;
return r14515975;
}
double f(double x, double y, double z) {
double r14515976 = x;
double r14515977 = y;
double r14515978 = sin(r14515977);
double r14515979 = z;
double r14515980 = cos(r14515977);
double r14515981 = r14515979 * r14515980;
double r14515982 = fma(r14515976, r14515978, r14515981);
return r14515982;
}



Bits error versus x



Bits error versus y



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