\left(\left(x \cdot y + \frac{z \cdot t}{16}\right) - \frac{a \cdot b}{4}\right) + c\mathsf{fma}\left(z, \frac{t}{16}, \mathsf{fma}\left(y, x, \mathsf{fma}\left(-\frac{a}{4}, b, c\right)\right)\right)double f(double x, double y, double z, double t, double a, double b, double c) {
double r245445 = x;
double r245446 = y;
double r245447 = r245445 * r245446;
double r245448 = z;
double r245449 = t;
double r245450 = r245448 * r245449;
double r245451 = 16.0;
double r245452 = r245450 / r245451;
double r245453 = r245447 + r245452;
double r245454 = a;
double r245455 = b;
double r245456 = r245454 * r245455;
double r245457 = 4.0;
double r245458 = r245456 / r245457;
double r245459 = r245453 - r245458;
double r245460 = c;
double r245461 = r245459 + r245460;
return r245461;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r245462 = z;
double r245463 = t;
double r245464 = 16.0;
double r245465 = r245463 / r245464;
double r245466 = y;
double r245467 = x;
double r245468 = a;
double r245469 = 4.0;
double r245470 = r245468 / r245469;
double r245471 = -r245470;
double r245472 = b;
double r245473 = c;
double r245474 = fma(r245471, r245472, r245473);
double r245475 = fma(r245466, r245467, r245474);
double r245476 = fma(r245462, r245465, r245475);
return r245476;
}



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
Simplified0.0
Final simplification0.0
herbie shell --seed 2020064 +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))