\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 r180021 = x;
double r180022 = y;
double r180023 = r180021 * r180022;
double r180024 = z;
double r180025 = t;
double r180026 = r180024 * r180025;
double r180027 = 16.0;
double r180028 = r180026 / r180027;
double r180029 = r180023 + r180028;
double r180030 = a;
double r180031 = b;
double r180032 = r180030 * r180031;
double r180033 = 4.0;
double r180034 = r180032 / r180033;
double r180035 = r180029 - r180034;
double r180036 = c;
double r180037 = r180035 + r180036;
return r180037;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r180038 = x;
double r180039 = y;
double r180040 = r180038 * r180039;
double r180041 = z;
double r180042 = t;
double r180043 = r180041 * r180042;
double r180044 = 16.0;
double r180045 = r180043 / r180044;
double r180046 = r180040 + r180045;
double r180047 = a;
double r180048 = b;
double r180049 = r180047 * r180048;
double r180050 = 4.0;
double r180051 = r180049 / r180050;
double r180052 = r180046 - r180051;
double r180053 = c;
double r180054 = r180052 + r180053;
return r180054;
}



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