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 r184792 = x;
double r184793 = y;
double r184794 = sin(r184793);
double r184795 = r184792 * r184794;
double r184796 = z;
double r184797 = cos(r184793);
double r184798 = r184796 * r184797;
double r184799 = r184795 + r184798;
return r184799;
}
double f(double x, double y, double z) {
double r184800 = x;
double r184801 = y;
double r184802 = sin(r184801);
double r184803 = z;
double r184804 = cos(r184801);
double r184805 = r184803 * r184804;
double r184806 = fma(r184800, r184802, r184805);
return r184806;
}



Bits error versus x



Bits error versus y



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