\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 r44891 = x;
double r44892 = y;
double r44893 = r44891 * r44892;
double r44894 = z;
double r44895 = t;
double r44896 = r44894 * r44895;
double r44897 = r44893 + r44896;
double r44898 = a;
double r44899 = b;
double r44900 = r44898 * r44899;
double r44901 = r44897 + r44900;
double r44902 = c;
double r44903 = i;
double r44904 = r44902 * r44903;
double r44905 = r44901 + r44904;
return r44905;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r44906 = c;
double r44907 = i;
double r44908 = a;
double r44909 = b;
double r44910 = x;
double r44911 = y;
double r44912 = z;
double r44913 = t;
double r44914 = r44912 * r44913;
double r44915 = fma(r44910, r44911, r44914);
double r44916 = fma(r44908, r44909, r44915);
double r44917 = fma(r44906, r44907, r44916);
return r44917;
}



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