\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 r228732 = x;
double r228733 = y;
double r228734 = r228732 * r228733;
double r228735 = z;
double r228736 = t;
double r228737 = r228735 * r228736;
double r228738 = 16.0;
double r228739 = r228737 / r228738;
double r228740 = r228734 + r228739;
double r228741 = a;
double r228742 = b;
double r228743 = r228741 * r228742;
double r228744 = 4.0;
double r228745 = r228743 / r228744;
double r228746 = r228740 - r228745;
double r228747 = c;
double r228748 = r228746 + r228747;
return r228748;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r228749 = x;
double r228750 = y;
double r228751 = r228749 * r228750;
double r228752 = z;
double r228753 = t;
double r228754 = r228752 * r228753;
double r228755 = 16.0;
double r228756 = r228754 / r228755;
double r228757 = r228751 + r228756;
double r228758 = a;
double r228759 = b;
double r228760 = r228758 * r228759;
double r228761 = 4.0;
double r228762 = r228760 / r228761;
double r228763 = r228757 - r228762;
double r228764 = c;
double r228765 = r228763 + r228764;
return r228765;
}



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