\left(x \cdot y + z \cdot t\right) + a \cdot b
\mathsf{fma}\left(t, z, \mathsf{fma}\left(a, b, x \cdot y\right)\right)double f(double x, double y, double z, double t, double a, double b) {
double r200257 = x;
double r200258 = y;
double r200259 = r200257 * r200258;
double r200260 = z;
double r200261 = t;
double r200262 = r200260 * r200261;
double r200263 = r200259 + r200262;
double r200264 = a;
double r200265 = b;
double r200266 = r200264 * r200265;
double r200267 = r200263 + r200266;
return r200267;
}
double f(double x, double y, double z, double t, double a, double b) {
double r200268 = t;
double r200269 = z;
double r200270 = a;
double r200271 = b;
double r200272 = x;
double r200273 = y;
double r200274 = r200272 * r200273;
double r200275 = fma(r200270, r200271, r200274);
double r200276 = fma(r200268, r200269, r200275);
return r200276;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a



Bits error versus b
Initial program 0.0
Simplified0.0
Taylor expanded around inf 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020062 +o rules:numerics
(FPCore (x y z t a b)
:name "Linear.V3:$cdot from linear-1.19.1.3, B"
:precision binary64
(+ (+ (* x y) (* z t)) (* a b)))