x \cdot \sin y + z \cdot \cos y
\mathsf{fma}\left(\cos y, z, x \cdot \sin y\right)double f(double x, double y, double z) {
double r8714146 = x;
double r8714147 = y;
double r8714148 = sin(r8714147);
double r8714149 = r8714146 * r8714148;
double r8714150 = z;
double r8714151 = cos(r8714147);
double r8714152 = r8714150 * r8714151;
double r8714153 = r8714149 + r8714152;
return r8714153;
}
double f(double x, double y, double z) {
double r8714154 = y;
double r8714155 = cos(r8714154);
double r8714156 = z;
double r8714157 = x;
double r8714158 = sin(r8714154);
double r8714159 = r8714157 * r8714158;
double r8714160 = fma(r8714155, r8714156, r8714159);
return r8714160;
}



Bits error versus x



Bits error versus y



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