\left(\left(x \cdot y + \frac{z \cdot t}{16}\right) - \frac{a \cdot b}{4}\right) + c\mathsf{fma}\left(y, x, \mathsf{fma}\left(\frac{z}{16}, t, c - \frac{a}{4} \cdot b\right)\right)double f(double x, double y, double z, double t, double a, double b, double c) {
double r7846510 = x;
double r7846511 = y;
double r7846512 = r7846510 * r7846511;
double r7846513 = z;
double r7846514 = t;
double r7846515 = r7846513 * r7846514;
double r7846516 = 16.0;
double r7846517 = r7846515 / r7846516;
double r7846518 = r7846512 + r7846517;
double r7846519 = a;
double r7846520 = b;
double r7846521 = r7846519 * r7846520;
double r7846522 = 4.0;
double r7846523 = r7846521 / r7846522;
double r7846524 = r7846518 - r7846523;
double r7846525 = c;
double r7846526 = r7846524 + r7846525;
return r7846526;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r7846527 = y;
double r7846528 = x;
double r7846529 = z;
double r7846530 = 16.0;
double r7846531 = r7846529 / r7846530;
double r7846532 = t;
double r7846533 = c;
double r7846534 = a;
double r7846535 = 4.0;
double r7846536 = r7846534 / r7846535;
double r7846537 = b;
double r7846538 = r7846536 * r7846537;
double r7846539 = r7846533 - r7846538;
double r7846540 = fma(r7846531, r7846532, r7846539);
double r7846541 = fma(r7846527, r7846528, r7846540);
return r7846541;
}



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
Initial program 0.1
rmApplied *-un-lft-identity0.1
Applied *-un-lft-identity0.1
Applied distribute-lft-out0.1
Simplified0.0
Final simplification0.0
herbie shell --seed 2019179 +o rules:numerics
(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))