\left(\left(x \cdot y + z \cdot t\right) + a \cdot b\right) + c \cdot i
\mathsf{fma}\left(c, i, \mathsf{fma}\left(a, b, \mathsf{fma}\left(x, y, z \cdot t\right)\right)\right)double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r167795 = x;
double r167796 = y;
double r167797 = r167795 * r167796;
double r167798 = z;
double r167799 = t;
double r167800 = r167798 * r167799;
double r167801 = r167797 + r167800;
double r167802 = a;
double r167803 = b;
double r167804 = r167802 * r167803;
double r167805 = r167801 + r167804;
double r167806 = c;
double r167807 = i;
double r167808 = r167806 * r167807;
double r167809 = r167805 + r167808;
return r167809;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r167810 = c;
double r167811 = i;
double r167812 = a;
double r167813 = b;
double r167814 = x;
double r167815 = y;
double r167816 = z;
double r167817 = t;
double r167818 = r167816 * r167817;
double r167819 = fma(r167814, r167815, r167818);
double r167820 = fma(r167812, r167813, r167819);
double r167821 = fma(r167810, r167811, r167820);
return r167821;
}



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 2019350 +o rules:numerics
(FPCore (x y z t a b c i)
:name "Linear.V4:$cdot from linear-1.19.1.3, C"
:precision binary64
(+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)))