\left(\left(x \cdot y + \frac{z \cdot t}{16}\right) - \frac{a \cdot b}{4}\right) + c\mathsf{fma}\left(t, \frac{z}{16}, \mathsf{fma}\left(x, y, 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 r9232785 = x;
double r9232786 = y;
double r9232787 = r9232785 * r9232786;
double r9232788 = z;
double r9232789 = t;
double r9232790 = r9232788 * r9232789;
double r9232791 = 16.0;
double r9232792 = r9232790 / r9232791;
double r9232793 = r9232787 + r9232792;
double r9232794 = a;
double r9232795 = b;
double r9232796 = r9232794 * r9232795;
double r9232797 = 4.0;
double r9232798 = r9232796 / r9232797;
double r9232799 = r9232793 - r9232798;
double r9232800 = c;
double r9232801 = r9232799 + r9232800;
return r9232801;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r9232802 = t;
double r9232803 = z;
double r9232804 = 16.0;
double r9232805 = r9232803 / r9232804;
double r9232806 = x;
double r9232807 = y;
double r9232808 = c;
double r9232809 = a;
double r9232810 = 4.0;
double r9232811 = r9232809 / r9232810;
double r9232812 = b;
double r9232813 = r9232811 * r9232812;
double r9232814 = r9232808 - r9232813;
double r9232815 = fma(r9232806, r9232807, r9232814);
double r9232816 = fma(r9232802, r9232805, r9232815);
return r9232816;
}



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.2
Simplified0.1
rmApplied associate-/r/0.0
Final simplification0.0
herbie shell --seed 2019192 +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))