\left(\left(x \cdot y + \frac{z \cdot t}{16}\right) - \frac{a \cdot b}{4}\right) + c\mathsf{fma}\left(z, \frac{t}{16}, \mathsf{fma}\left(y, x, \mathsf{fma}\left(-\frac{a}{4}, b, c\right)\right)\right)double f(double x, double y, double z, double t, double a, double b, double c) {
double r1028 = x;
double r1029 = y;
double r1030 = r1028 * r1029;
double r1031 = z;
double r1032 = t;
double r1033 = r1031 * r1032;
double r1034 = 16.0;
double r1035 = r1033 / r1034;
double r1036 = r1030 + r1035;
double r1037 = a;
double r1038 = b;
double r1039 = r1037 * r1038;
double r1040 = 4.0;
double r1041 = r1039 / r1040;
double r1042 = r1036 - r1041;
double r1043 = c;
double r1044 = r1042 + r1043;
return r1044;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r1045 = z;
double r1046 = t;
double r1047 = 16.0;
double r1048 = r1046 / r1047;
double r1049 = y;
double r1050 = x;
double r1051 = a;
double r1052 = 4.0;
double r1053 = r1051 / r1052;
double r1054 = -r1053;
double r1055 = b;
double r1056 = c;
double r1057 = fma(r1054, r1055, r1056);
double r1058 = fma(r1049, r1050, r1057);
double r1059 = fma(r1045, r1048, r1058);
return r1059;
}



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
Initial program 0.1
Simplified0.0
Final simplification0.0
herbie shell --seed 2020025 +o rules:numerics
(FPCore (x y z t a b c)
:name "Diagrams.Solve.Polynomial:quartForm from diagrams-solve-0.1, C"
:precision binary64
(+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c))