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 r186686 = x;
double r186687 = y;
double r186688 = cos(r186687);
double r186689 = r186686 * r186688;
double r186690 = z;
double r186691 = sin(r186687);
double r186692 = r186690 * r186691;
double r186693 = r186689 + r186692;
return r186693;
}
double f(double x, double y, double z) {
double r186694 = x;
double r186695 = y;
double r186696 = cos(r186695);
double r186697 = z;
double r186698 = sin(r186695);
double r186699 = r186697 * r186698;
double r186700 = fma(r186694, r186696, r186699);
return r186700;
}



Bits error versus x



Bits error versus y



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