\left(\left(x \cdot y + \frac{z \cdot t}{16}\right) - \frac{a \cdot b}{4}\right) + c\mathsf{fma}\left(\frac{z}{16}, t, \mathsf{fma}\left(x, y, \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 r134655 = x;
double r134656 = y;
double r134657 = r134655 * r134656;
double r134658 = z;
double r134659 = t;
double r134660 = r134658 * r134659;
double r134661 = 16.0;
double r134662 = r134660 / r134661;
double r134663 = r134657 + r134662;
double r134664 = a;
double r134665 = b;
double r134666 = r134664 * r134665;
double r134667 = 4.0;
double r134668 = r134666 / r134667;
double r134669 = r134663 - r134668;
double r134670 = c;
double r134671 = r134669 + r134670;
return r134671;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r134672 = z;
double r134673 = 16.0;
double r134674 = r134672 / r134673;
double r134675 = t;
double r134676 = x;
double r134677 = y;
double r134678 = a;
double r134679 = 4.0;
double r134680 = r134678 / r134679;
double r134681 = b;
double r134682 = -r134681;
double r134683 = c;
double r134684 = fma(r134680, r134682, r134683);
double r134685 = fma(r134676, r134677, r134684);
double r134686 = fma(r134674, r134675, r134685);
return r134686;
}



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 2019350 +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))