\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 r276595 = x;
double r276596 = y;
double r276597 = r276595 * r276596;
double r276598 = z;
double r276599 = t;
double r276600 = r276598 * r276599;
double r276601 = 16.0;
double r276602 = r276600 / r276601;
double r276603 = r276597 + r276602;
double r276604 = a;
double r276605 = b;
double r276606 = r276604 * r276605;
double r276607 = 4.0;
double r276608 = r276606 / r276607;
double r276609 = r276603 - r276608;
double r276610 = c;
double r276611 = r276609 + r276610;
return r276611;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r276612 = x;
double r276613 = y;
double r276614 = r276612 * r276613;
double r276615 = z;
double r276616 = t;
double r276617 = r276615 * r276616;
double r276618 = 16.0;
double r276619 = r276617 / r276618;
double r276620 = r276614 + r276619;
double r276621 = a;
double r276622 = b;
double r276623 = r276621 * r276622;
double r276624 = 4.0;
double r276625 = r276623 / r276624;
double r276626 = r276620 - r276625;
double r276627 = c;
double r276628 = r276626 + r276627;
return r276628;
}



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