x \cdot \cos y + z \cdot \sin y
\mathsf{fma}\left(\cos y, x, z \cdot \sin y\right)double f(double x, double y, double z) {
double r2765275 = x;
double r2765276 = y;
double r2765277 = cos(r2765276);
double r2765278 = r2765275 * r2765277;
double r2765279 = z;
double r2765280 = sin(r2765276);
double r2765281 = r2765279 * r2765280;
double r2765282 = r2765278 + r2765281;
return r2765282;
}
double f(double x, double y, double z) {
double r2765283 = y;
double r2765284 = cos(r2765283);
double r2765285 = x;
double r2765286 = z;
double r2765287 = sin(r2765283);
double r2765288 = r2765286 * r2765287;
double r2765289 = fma(r2765284, r2765285, r2765288);
return r2765289;
}



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