\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 r174744 = x;
double r174745 = y;
double r174746 = r174744 * r174745;
double r174747 = z;
double r174748 = t;
double r174749 = r174747 * r174748;
double r174750 = 16.0;
double r174751 = r174749 / r174750;
double r174752 = r174746 + r174751;
double r174753 = a;
double r174754 = b;
double r174755 = r174753 * r174754;
double r174756 = 4.0;
double r174757 = r174755 / r174756;
double r174758 = r174752 - r174757;
double r174759 = c;
double r174760 = r174758 + r174759;
return r174760;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r174761 = x;
double r174762 = y;
double r174763 = r174761 * r174762;
double r174764 = z;
double r174765 = t;
double r174766 = r174764 * r174765;
double r174767 = 16.0;
double r174768 = r174766 / r174767;
double r174769 = r174763 + r174768;
double r174770 = a;
double r174771 = b;
double r174772 = r174770 * r174771;
double r174773 = 4.0;
double r174774 = r174772 / r174773;
double r174775 = r174769 - r174774;
double r174776 = c;
double r174777 = r174775 + r174776;
return r174777;
}



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
Final simplification0.2
herbie shell --seed 2019208
(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))