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 r180417 = x;
double r180418 = y;
double r180419 = cos(r180418);
double r180420 = r180417 * r180419;
double r180421 = z;
double r180422 = sin(r180418);
double r180423 = r180421 * r180422;
double r180424 = r180420 + r180423;
return r180424;
}
double f(double x, double y, double z) {
double r180425 = x;
double r180426 = y;
double r180427 = cos(r180426);
double r180428 = z;
double r180429 = sin(r180426);
double r180430 = r180428 * r180429;
double r180431 = fma(r180425, r180427, r180430);
return r180431;
}



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))))