\left(l_M + r_M\right) + \frac{\left(\left(d \cdot d\right) \cdot l_c\right) \cdot r_c}{l_c + r_c}\left(l_M + r_M\right) + \frac{\left(\left(d \cdot d\right) \cdot l_c\right) \cdot r_c}{l_c + r_c}double code(double l_M, double r_M, double d, double l_c, double r_c) {
return ((double) (((double) (l_M + r_M)) + ((double) (((double) (((double) (((double) (d * d)) * l_c)) * r_c)) / ((double) (l_c + r_c))))));
}
double code(double l_M, double r_M, double d, double l_c, double r_c) {
return ((double) (((double) (l_M + r_M)) + ((double) (((double) (((double) (((double) (d * d)) * l_c)) * r_c)) / ((double) (l_c + r_c))))));
}



Bits error versus l_M



Bits error versus r_M



Bits error versus d



Bits error versus l_c



Bits error versus r_c
Results
Initial program 14.0
Final simplification14.0
herbie shell --seed 2020153
(FPCore (l_M r_M d l_c r_c)
:name "(+ (+ l_M r_M) (/ (* (* (* d d) l_c) r_c) (+ l_c r_c)))"
:precision binary64
(+ (+ l_M r_M) (/ (* (* (* d d) l_c) r_c) (+ l_c r_c))))