\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\right) - \frac{a \cdot b}{4}\right)double f(double x, double y, double z, double t, double a, double b, double c) {
double r27916082 = x;
double r27916083 = y;
double r27916084 = r27916082 * r27916083;
double r27916085 = z;
double r27916086 = t;
double r27916087 = r27916085 * r27916086;
double r27916088 = 16.0;
double r27916089 = r27916087 / r27916088;
double r27916090 = r27916084 + r27916089;
double r27916091 = a;
double r27916092 = b;
double r27916093 = r27916091 * r27916092;
double r27916094 = 4.0;
double r27916095 = r27916093 / r27916094;
double r27916096 = r27916090 - r27916095;
double r27916097 = c;
double r27916098 = r27916096 + r27916097;
return r27916098;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r27916099 = t;
double r27916100 = z;
double r27916101 = 16.0;
double r27916102 = r27916100 / r27916101;
double r27916103 = x;
double r27916104 = y;
double r27916105 = c;
double r27916106 = fma(r27916103, r27916104, r27916105);
double r27916107 = a;
double r27916108 = b;
double r27916109 = r27916107 * r27916108;
double r27916110 = 4.0;
double r27916111 = r27916109 / r27916110;
double r27916112 = r27916106 - r27916111;
double r27916113 = fma(r27916099, r27916102, r27916112);
return r27916113;
}



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.1
Final simplification0.1
herbie shell --seed 2019173 +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))