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 r202746 = x;
double r202747 = y;
double r202748 = sin(r202747);
double r202749 = r202746 * r202748;
double r202750 = z;
double r202751 = cos(r202747);
double r202752 = r202750 * r202751;
double r202753 = r202749 + r202752;
return r202753;
}
double f(double x, double y, double z) {
double r202754 = x;
double r202755 = y;
double r202756 = sin(r202755);
double r202757 = z;
double r202758 = cos(r202755);
double r202759 = r202757 * r202758;
double r202760 = fma(r202754, r202756, r202759);
return r202760;
}



Bits error versus x



Bits error versus y



Bits error versus z
Initial program 0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2020043 +o rules:numerics
(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))))