\left(\left(x \cdot y + \frac{z \cdot t}{16}\right) - \frac{a \cdot b}{4}\right) + c\left(\left(x \cdot y + \frac{z \cdot t}{16}\right) - \frac{a \cdot b}{4}\right) + cdouble f(double x, double y, double z, double t, double a, double b, double c) {
double r161982 = x;
double r161983 = y;
double r161984 = r161982 * r161983;
double r161985 = z;
double r161986 = t;
double r161987 = r161985 * r161986;
double r161988 = 16.0;
double r161989 = r161987 / r161988;
double r161990 = r161984 + r161989;
double r161991 = a;
double r161992 = b;
double r161993 = r161991 * r161992;
double r161994 = 4.0;
double r161995 = r161993 / r161994;
double r161996 = r161990 - r161995;
double r161997 = c;
double r161998 = r161996 + r161997;
return r161998;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r161999 = x;
double r162000 = y;
double r162001 = r161999 * r162000;
double r162002 = z;
double r162003 = t;
double r162004 = r162002 * r162003;
double r162005 = 16.0;
double r162006 = r162004 / r162005;
double r162007 = r162001 + r162006;
double r162008 = a;
double r162009 = b;
double r162010 = r162008 * r162009;
double r162011 = 4.0;
double r162012 = r162010 / r162011;
double r162013 = r162007 - r162012;
double r162014 = c;
double r162015 = r162013 + r162014;
return r162015;
}



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
Results
Initial program 0.1
Final simplification0.1
herbie shell --seed 2019326
(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))