\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) + \left(-\frac{a}{4}\right) \cdot b\right) + cdouble f(double x, double y, double z, double t, double a, double b, double c) {
double r254011 = x;
double r254012 = y;
double r254013 = r254011 * r254012;
double r254014 = z;
double r254015 = t;
double r254016 = r254014 * r254015;
double r254017 = 16.0;
double r254018 = r254016 / r254017;
double r254019 = r254013 + r254018;
double r254020 = a;
double r254021 = b;
double r254022 = r254020 * r254021;
double r254023 = 4.0;
double r254024 = r254022 / r254023;
double r254025 = r254019 - r254024;
double r254026 = c;
double r254027 = r254025 + r254026;
return r254027;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r254028 = x;
double r254029 = y;
double r254030 = r254028 * r254029;
double r254031 = z;
double r254032 = t;
double r254033 = r254031 * r254032;
double r254034 = 16.0;
double r254035 = r254033 / r254034;
double r254036 = r254030 + r254035;
double r254037 = a;
double r254038 = 4.0;
double r254039 = r254037 / r254038;
double r254040 = -r254039;
double r254041 = b;
double r254042 = r254040 * r254041;
double r254043 = r254036 + r254042;
double r254044 = c;
double r254045 = r254043 + r254044;
return r254045;
}



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
rmApplied clear-num0.1
rmApplied sub-neg0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2020057
(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))