\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 r275584 = x;
double r275585 = y;
double r275586 = r275584 * r275585;
double r275587 = z;
double r275588 = t;
double r275589 = r275587 * r275588;
double r275590 = 16.0;
double r275591 = r275589 / r275590;
double r275592 = r275586 + r275591;
double r275593 = a;
double r275594 = b;
double r275595 = r275593 * r275594;
double r275596 = 4.0;
double r275597 = r275595 / r275596;
double r275598 = r275592 - r275597;
double r275599 = c;
double r275600 = r275598 + r275599;
return r275600;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r275601 = x;
double r275602 = y;
double r275603 = r275601 * r275602;
double r275604 = z;
double r275605 = t;
double r275606 = r275604 * r275605;
double r275607 = 16.0;
double r275608 = r275606 / r275607;
double r275609 = r275603 + r275608;
double r275610 = a;
double r275611 = b;
double r275612 = r275610 * r275611;
double r275613 = 4.0;
double r275614 = r275612 / r275613;
double r275615 = r275609 - r275614;
double r275616 = c;
double r275617 = r275615 + r275616;
return r275617;
}



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