\left(\left(x \cdot y + z \cdot t\right) + a \cdot b\right) + c \cdot i
\mathsf{fma}\left(z, t, \mathsf{fma}\left(x, y, \mathsf{fma}\left(c, i, b \cdot a\right)\right)\right)double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r4165980 = x;
double r4165981 = y;
double r4165982 = r4165980 * r4165981;
double r4165983 = z;
double r4165984 = t;
double r4165985 = r4165983 * r4165984;
double r4165986 = r4165982 + r4165985;
double r4165987 = a;
double r4165988 = b;
double r4165989 = r4165987 * r4165988;
double r4165990 = r4165986 + r4165989;
double r4165991 = c;
double r4165992 = i;
double r4165993 = r4165991 * r4165992;
double r4165994 = r4165990 + r4165993;
return r4165994;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r4165995 = z;
double r4165996 = t;
double r4165997 = x;
double r4165998 = y;
double r4165999 = c;
double r4166000 = i;
double r4166001 = b;
double r4166002 = a;
double r4166003 = r4166001 * r4166002;
double r4166004 = fma(r4165999, r4166000, r4166003);
double r4166005 = fma(r4165997, r4165998, r4166004);
double r4166006 = fma(r4165995, r4165996, r4166005);
return r4166006;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a



Bits error versus b



Bits error versus c



Bits error versus i
Initial program 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019169 +o rules:numerics
(FPCore (x y z t a b c i)
:name "Linear.V4:$cdot from linear-1.19.1.3, C"
(+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)))