\left(x \cdot y + z \cdot t\right) + a \cdot b
\mathsf{fma}\left(a, b, \mathsf{fma}\left(x, y, z \cdot t\right)\right)double f(double x, double y, double z, double t, double a, double b) {
double r109603 = x;
double r109604 = y;
double r109605 = r109603 * r109604;
double r109606 = z;
double r109607 = t;
double r109608 = r109606 * r109607;
double r109609 = r109605 + r109608;
double r109610 = a;
double r109611 = b;
double r109612 = r109610 * r109611;
double r109613 = r109609 + r109612;
return r109613;
}
double f(double x, double y, double z, double t, double a, double b) {
double r109614 = a;
double r109615 = b;
double r109616 = x;
double r109617 = y;
double r109618 = z;
double r109619 = t;
double r109620 = r109618 * r109619;
double r109621 = fma(r109616, r109617, r109620);
double r109622 = fma(r109614, r109615, r109621);
return r109622;
}



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
Final simplification0.0
herbie shell --seed 2019323 +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)))