\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 r169550 = x;
double r169551 = y;
double r169552 = r169550 * r169551;
double r169553 = z;
double r169554 = t;
double r169555 = r169553 * r169554;
double r169556 = 16.0;
double r169557 = r169555 / r169556;
double r169558 = r169552 + r169557;
double r169559 = a;
double r169560 = b;
double r169561 = r169559 * r169560;
double r169562 = 4.0;
double r169563 = r169561 / r169562;
double r169564 = r169558 - r169563;
double r169565 = c;
double r169566 = r169564 + r169565;
return r169566;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r169567 = x;
double r169568 = y;
double r169569 = r169567 * r169568;
double r169570 = z;
double r169571 = t;
double r169572 = r169570 * r169571;
double r169573 = 16.0;
double r169574 = r169572 / r169573;
double r169575 = r169569 + r169574;
double r169576 = a;
double r169577 = b;
double r169578 = r169576 * r169577;
double r169579 = 4.0;
double r169580 = r169578 / r169579;
double r169581 = r169575 - r169580;
double r169582 = c;
double r169583 = r169581 + r169582;
return r169583;
}



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 2020024 +o rules:numerics
(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))