q + d \cdot \left(g - r \cdot s\right)
q + d \cdot \left(g - r \cdot s\right)
double code(double q, double d, double g, double r, double s) {
return ((double) (q + ((double) (d * ((double) (g - ((double) (r * s))))))));
}
double code(double q, double d, double g, double r, double s) {
return ((double) (q + ((double) (d * ((double) (g - ((double) (r * s))))))));
}



Bits error versus q



Bits error versus d



Bits error versus g



Bits error versus r



Bits error versus s
Results
Initial program 3.5
Final simplification3.5
herbie shell --seed 2020152
(FPCore (q d g r s)
:name "(+ q (* d (- g (* r s))))"
:precision binary64
(+ q (* d (- g (* r s)))))