\left(l_M2 + r_M2\right) + \frac{\left(\left(delta \cdot delta\right) \cdot l_count\right) \cdot r_count}{n_count}\left(l_M2 + r_M2\right) + \frac{\left(\left(delta \cdot delta\right) \cdot l_count\right) \cdot r_count}{n_count}double code(double l_M2, double r_M2, double delta, double l_count, double r_count, double n_count) {
return ((double) (((double) (l_M2 + r_M2)) + ((double) (((double) (((double) (((double) (delta * delta)) * l_count)) * r_count)) / n_count))));
}
double code(double l_M2, double r_M2, double delta, double l_count, double r_count, double n_count) {
return ((double) (((double) (l_M2 + r_M2)) + ((double) (((double) (((double) (((double) (delta * delta)) * l_count)) * r_count)) / n_count))));
}



Bits error versus l_M2



Bits error versus r_M2



Bits error versus delta



Bits error versus l_count



Bits error versus r_count



Bits error versus n_count
Results
Initial program 11.7
Final simplification11.7
herbie shell --seed 2020153
(FPCore (l_M2 r_M2 delta l_count r_count n_count)
:name "(+ (+ l_M2 r_M2) (/ (* (* (* delta delta) l_count) r_count) n_count))"
:precision binary64
(+ (+ l_M2 r_M2) (/ (* (* (* delta delta) l_count) r_count) n_count)))