x \cdot \cos y + z \cdot \sin y
\mathsf{fma}\left(z, \sin y, x \cdot \cos y\right)double f(double x, double y, double z) {
double r132160 = x;
double r132161 = y;
double r132162 = cos(r132161);
double r132163 = r132160 * r132162;
double r132164 = z;
double r132165 = sin(r132161);
double r132166 = r132164 * r132165;
double r132167 = r132163 + r132166;
return r132167;
}
double f(double x, double y, double z) {
double r132168 = z;
double r132169 = y;
double r132170 = sin(r132169);
double r132171 = x;
double r132172 = cos(r132169);
double r132173 = r132171 * r132172;
double r132174 = fma(r132168, r132170, r132173);
return r132174;
}



Bits error versus x



Bits error versus y



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