\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}{\sqrt{16}} \cdot \frac{t}{\sqrt{16}}\right) - \frac{1}{\frac{4}{a \cdot b}}\right) + cdouble f(double x, double y, double z, double t, double a, double b, double c) {
double r830010 = x;
double r830011 = y;
double r830012 = r830010 * r830011;
double r830013 = z;
double r830014 = t;
double r830015 = r830013 * r830014;
double r830016 = 16.0;
double r830017 = r830015 / r830016;
double r830018 = r830012 + r830017;
double r830019 = a;
double r830020 = b;
double r830021 = r830019 * r830020;
double r830022 = 4.0;
double r830023 = r830021 / r830022;
double r830024 = r830018 - r830023;
double r830025 = c;
double r830026 = r830024 + r830025;
return r830026;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r830027 = x;
double r830028 = y;
double r830029 = r830027 * r830028;
double r830030 = z;
double r830031 = 16.0;
double r830032 = sqrt(r830031);
double r830033 = r830030 / r830032;
double r830034 = t;
double r830035 = r830034 / r830032;
double r830036 = r830033 * r830035;
double r830037 = r830029 + r830036;
double r830038 = 1.0;
double r830039 = 4.0;
double r830040 = a;
double r830041 = b;
double r830042 = r830040 * r830041;
double r830043 = r830039 / r830042;
double r830044 = r830038 / r830043;
double r830045 = r830037 - r830044;
double r830046 = c;
double r830047 = r830045 + r830046;
return r830047;
}



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 add-sqr-sqrt0.1
Applied times-frac0.1
rmApplied clear-num0.1
Final simplification0.1
herbie shell --seed 2019303
(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))