x \cdot \cos y + z \cdot \sin y
\mathsf{fma}\left(\sin y, z, x \cdot \cos y\right)double f(double x, double y, double z) {
double r213339 = x;
double r213340 = y;
double r213341 = cos(r213340);
double r213342 = r213339 * r213341;
double r213343 = z;
double r213344 = sin(r213340);
double r213345 = r213343 * r213344;
double r213346 = r213342 + r213345;
return r213346;
}
double f(double x, double y, double z) {
double r213347 = y;
double r213348 = sin(r213347);
double r213349 = z;
double r213350 = x;
double r213351 = cos(r213347);
double r213352 = r213350 * r213351;
double r213353 = fma(r213348, r213349, r213352);
return r213353;
}



Bits error versus x



Bits error versus y



Bits error versus z
Initial program 0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019174 +o rules:numerics
(FPCore (x y z)
:name "Diagrams.ThreeD.Transform:aboutY from diagrams-lib-1.3.0.3"
(+ (* x (cos y)) (* z (sin y))))