\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 r197924 = x;
double r197925 = y;
double r197926 = r197924 * r197925;
double r197927 = z;
double r197928 = t;
double r197929 = r197927 * r197928;
double r197930 = 16.0;
double r197931 = r197929 / r197930;
double r197932 = r197926 + r197931;
double r197933 = a;
double r197934 = b;
double r197935 = r197933 * r197934;
double r197936 = 4.0;
double r197937 = r197935 / r197936;
double r197938 = r197932 - r197937;
double r197939 = c;
double r197940 = r197938 + r197939;
return r197940;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r197941 = z;
double r197942 = t;
double r197943 = 16.0;
double r197944 = r197942 / r197943;
double r197945 = y;
double r197946 = x;
double r197947 = a;
double r197948 = 4.0;
double r197949 = r197947 / r197948;
double r197950 = -r197949;
double r197951 = b;
double r197952 = c;
double r197953 = fma(r197950, r197951, r197952);
double r197954 = fma(r197945, r197946, r197953);
double r197955 = fma(r197941, r197944, r197954);
return r197955;
}



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 2020060 +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))