\left(x + \sin y\right) + z \cdot \cos y
\cos y \cdot z + \left(x + \sin y\right)
double f(double x, double y, double z) {
double r180704 = x;
double r180705 = y;
double r180706 = sin(r180705);
double r180707 = r180704 + r180706;
double r180708 = z;
double r180709 = cos(r180705);
double r180710 = r180708 * r180709;
double r180711 = r180707 + r180710;
return r180711;
}
double f(double x, double y, double z) {
double r180712 = y;
double r180713 = cos(r180712);
double r180714 = z;
double r180715 = r180713 * r180714;
double r180716 = x;
double r180717 = sin(r180712);
double r180718 = r180716 + r180717;
double r180719 = r180715 + r180718;
return r180719;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 0.1
Simplified0.1
rmApplied fma-udef0.1
Final simplification0.1
herbie shell --seed 2019209 +o rules:numerics
(FPCore (x y z)
:name "Graphics.Rasterific.Svg.PathConverter:segmentToBezier from rasterific-svg-0.2.3.1, C"
:precision binary64
(+ (+ x (sin y)) (* z (cos y))))