\left(\left(x \cdot y + \frac{z \cdot t}{16}\right) - \frac{a \cdot b}{4}\right) + c\left(\left(x \cdot y + z \cdot \frac{t}{16}\right) - \frac{a \cdot b}{4}\right) + cdouble f(double x, double y, double z, double t, double a, double b, double c) {
double r30065983 = x;
double r30065984 = y;
double r30065985 = r30065983 * r30065984;
double r30065986 = z;
double r30065987 = t;
double r30065988 = r30065986 * r30065987;
double r30065989 = 16.0;
double r30065990 = r30065988 / r30065989;
double r30065991 = r30065985 + r30065990;
double r30065992 = a;
double r30065993 = b;
double r30065994 = r30065992 * r30065993;
double r30065995 = 4.0;
double r30065996 = r30065994 / r30065995;
double r30065997 = r30065991 - r30065996;
double r30065998 = c;
double r30065999 = r30065997 + r30065998;
return r30065999;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r30066000 = x;
double r30066001 = y;
double r30066002 = r30066000 * r30066001;
double r30066003 = z;
double r30066004 = t;
double r30066005 = 16.0;
double r30066006 = r30066004 / r30066005;
double r30066007 = r30066003 * r30066006;
double r30066008 = r30066002 + r30066007;
double r30066009 = a;
double r30066010 = b;
double r30066011 = r30066009 * r30066010;
double r30066012 = 4.0;
double r30066013 = r30066011 / r30066012;
double r30066014 = r30066008 - r30066013;
double r30066015 = c;
double r30066016 = r30066014 + r30066015;
return r30066016;
}



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
Results
Initial program 0.1
rmApplied *-un-lft-identity0.1
Applied times-frac0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019173
(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))