\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 r199983 = x;
double r199984 = y;
double r199985 = r199983 * r199984;
double r199986 = z;
double r199987 = t;
double r199988 = r199986 * r199987;
double r199989 = 16.0;
double r199990 = r199988 / r199989;
double r199991 = r199985 + r199990;
double r199992 = a;
double r199993 = b;
double r199994 = r199992 * r199993;
double r199995 = 4.0;
double r199996 = r199994 / r199995;
double r199997 = r199991 - r199996;
double r199998 = c;
double r199999 = r199997 + r199998;
return r199999;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r200000 = x;
double r200001 = y;
double r200002 = r200000 * r200001;
double r200003 = z;
double r200004 = t;
double r200005 = r200003 * r200004;
double r200006 = 16.0;
double r200007 = r200005 / r200006;
double r200008 = r200002 + r200007;
double r200009 = a;
double r200010 = b;
double r200011 = r200009 * r200010;
double r200012 = 4.0;
double r200013 = r200011 / r200012;
double r200014 = r200008 - r200013;
double r200015 = c;
double r200016 = r200014 + r200015;
return r200016;
}



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 2020064
(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))