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 r216698 = x;
double r216699 = y;
double r216700 = cos(r216699);
double r216701 = r216698 * r216700;
double r216702 = z;
double r216703 = sin(r216699);
double r216704 = r216702 * r216703;
double r216705 = r216701 + r216704;
return r216705;
}
double f(double x, double y, double z) {
double r216706 = x;
double r216707 = y;
double r216708 = cos(r216707);
double r216709 = z;
double r216710 = sin(r216707);
double r216711 = r216709 * r216710;
double r216712 = fma(r216706, r216708, r216711);
return r216712;
}



Bits error versus x



Bits error versus y



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