\left(\left(x \cdot y + \frac{z \cdot t}{16}\right) - \frac{a \cdot b}{4}\right) + c\left(\left(\frac{z \cdot t}{16} + x \cdot y\right) - \frac{a \cdot b}{4}\right) + cdouble f(double x, double y, double z, double t, double a, double b, double c) {
double r218533 = x;
double r218534 = y;
double r218535 = r218533 * r218534;
double r218536 = z;
double r218537 = t;
double r218538 = r218536 * r218537;
double r218539 = 16.0;
double r218540 = r218538 / r218539;
double r218541 = r218535 + r218540;
double r218542 = a;
double r218543 = b;
double r218544 = r218542 * r218543;
double r218545 = 4.0;
double r218546 = r218544 / r218545;
double r218547 = r218541 - r218546;
double r218548 = c;
double r218549 = r218547 + r218548;
return r218549;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r218550 = z;
double r218551 = t;
double r218552 = r218550 * r218551;
double r218553 = 16.0;
double r218554 = r218552 / r218553;
double r218555 = x;
double r218556 = y;
double r218557 = r218555 * r218556;
double r218558 = r218554 + r218557;
double r218559 = a;
double r218560 = b;
double r218561 = r218559 * r218560;
double r218562 = 4.0;
double r218563 = r218561 / r218562;
double r218564 = r218558 - r218563;
double r218565 = c;
double r218566 = r218564 + r218565;
return r218566;
}



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 2019179
(FPCore (x y z t a b c)
:name "Diagrams.Solve.Polynomial:quartForm from diagrams-solve-0.1, C"
(+ (- (+ (* x y) (/ (* z t) 16.0)) (/ (* a b) 4.0)) c))