\left(\left(x \cdot y + \frac{z \cdot t}{16}\right) - \frac{a \cdot b}{4}\right) + c\left(\frac{z \cdot t}{16} + x \cdot y\right) - \left(a \cdot \frac{b}{4} - c\right)double f(double x, double y, double z, double t, double a, double b, double c) {
double r11009986 = x;
double r11009987 = y;
double r11009988 = r11009986 * r11009987;
double r11009989 = z;
double r11009990 = t;
double r11009991 = r11009989 * r11009990;
double r11009992 = 16.0;
double r11009993 = r11009991 / r11009992;
double r11009994 = r11009988 + r11009993;
double r11009995 = a;
double r11009996 = b;
double r11009997 = r11009995 * r11009996;
double r11009998 = 4.0;
double r11009999 = r11009997 / r11009998;
double r11010000 = r11009994 - r11009999;
double r11010001 = c;
double r11010002 = r11010000 + r11010001;
return r11010002;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r11010003 = z;
double r11010004 = t;
double r11010005 = r11010003 * r11010004;
double r11010006 = 16.0;
double r11010007 = r11010005 / r11010006;
double r11010008 = x;
double r11010009 = y;
double r11010010 = r11010008 * r11010009;
double r11010011 = r11010007 + r11010010;
double r11010012 = a;
double r11010013 = b;
double r11010014 = 4.0;
double r11010015 = r11010013 / r11010014;
double r11010016 = r11010012 * r11010015;
double r11010017 = c;
double r11010018 = r11010016 - r11010017;
double r11010019 = r11010011 - r11010018;
return r11010019;
}



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.2
rmApplied *-un-lft-identity0.2
Applied times-frac0.1
Simplified0.1
rmApplied associate-+l-0.1
Final simplification0.1
herbie shell --seed 2019192
(FPCore (x y z t a b c)
:name "Diagrams.Solve.Polynomial:quartForm from diagrams-solve-0.1, C"
(+ (- (+ (* x y) (/ (* z t) 16.0)) (/ (* a b) 4.0)) c))