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 r172858 = x;
double r172859 = y;
double r172860 = cos(r172859);
double r172861 = r172858 * r172860;
double r172862 = z;
double r172863 = sin(r172859);
double r172864 = r172862 * r172863;
double r172865 = r172861 + r172864;
return r172865;
}
double f(double x, double y, double z) {
double r172866 = x;
double r172867 = y;
double r172868 = cos(r172867);
double r172869 = z;
double r172870 = sin(r172867);
double r172871 = r172869 * r172870;
double r172872 = fma(r172866, r172868, r172871);
return r172872;
}



Bits error versus x



Bits error versus y



Bits error versus z
Initial program 0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019323 +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))))