double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r8191056 = x;
double r8191057 = y;
double r8191058 = r8191056 * r8191057;
double r8191059 = z;
double r8191060 = t;
double r8191061 = r8191059 * r8191060;
double r8191062 = r8191058 + r8191061;
double r8191063 = a;
double r8191064 = b;
double r8191065 = r8191063 * r8191064;
double r8191066 = r8191062 + r8191065;
double r8191067 = c;
double r8191068 = i;
double r8191069 = r8191067 * r8191068;
double r8191070 = r8191066 + r8191069;
return r8191070;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r8191071 = i;
double r8191072 = c;
double r8191073 = a;
double r8191074 = b;
double r8191075 = t;
double r8191076 = z;
double r8191077 = y;
double r8191078 = x;
double r8191079 = r8191077 * r8191078;
double r8191080 = fma(r8191075, r8191076, r8191079);
double r8191081 = fma(r8191073, r8191074, r8191080);
double r8191082 = fma(r8191071, r8191072, r8191081);
return r8191082;
}
\left(\left(x \cdot y + z \cdot t\right) + a \cdot b\right) + c \cdot i
(i \cdot c + \left((a \cdot b + \left((t \cdot z + \left(y \cdot x\right))_*\right))_*\right))_*



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
Taylor expanded around inf 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019101 +o rules:numerics
(FPCore (x y z t a b c i)
:name "Linear.V4:$cdot from linear-1.19.1.3"
(+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)))