\left(x \cdot y + z \cdot t\right) + a \cdot b
\mathsf{fma}\left(b, a, \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 r116215 = x;
double r116216 = y;
double r116217 = r116215 * r116216;
double r116218 = z;
double r116219 = t;
double r116220 = r116218 * r116219;
double r116221 = r116217 + r116220;
double r116222 = a;
double r116223 = b;
double r116224 = r116222 * r116223;
double r116225 = r116221 + r116224;
return r116225;
}
double f(double x, double y, double z, double t, double a, double b) {
double r116226 = b;
double r116227 = a;
double r116228 = x;
double r116229 = y;
double r116230 = z;
double r116231 = t;
double r116232 = r116230 * r116231;
double r116233 = fma(r116228, r116229, r116232);
double r116234 = fma(r116226, r116227, r116233);
return r116234;
}



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 2020020 +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)))