\left(x + \sin y\right) + z \cdot \cos y
z \cdot \cos y + \left(\sin y + x\right)
double f(double x, double y, double z) {
double r10309063 = x;
double r10309064 = y;
double r10309065 = sin(r10309064);
double r10309066 = r10309063 + r10309065;
double r10309067 = z;
double r10309068 = cos(r10309064);
double r10309069 = r10309067 * r10309068;
double r10309070 = r10309066 + r10309069;
return r10309070;
}
double f(double x, double y, double z) {
double r10309071 = z;
double r10309072 = y;
double r10309073 = cos(r10309072);
double r10309074 = r10309071 * r10309073;
double r10309075 = sin(r10309072);
double r10309076 = x;
double r10309077 = r10309075 + r10309076;
double r10309078 = r10309074 + r10309077;
return r10309078;
}



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 2019165 +o rules:numerics
(FPCore (x y z)
:name "Graphics.Rasterific.Svg.PathConverter:segmentToBezier from rasterific-svg-0.2.3.1, C"
(+ (+ x (sin y)) (* z (cos y))))