\left(\frac{0.5 \cdot RA}{\frac{dist}{RA}} + 0.5 \cdot dist\right) - \frac{0.5 \cdot RB}{\frac{dist}{RB}}\left(\frac{0.5 \cdot RA}{\frac{dist}{RA}} + 0.5 \cdot dist\right) - \frac{0.5 \cdot RB}{\frac{dist}{RB}}double code(double RA, double dist, double RB) {
return ((double) (((double) (((double) (((double) (0.5 * RA)) / ((double) (dist / RA)))) + ((double) (0.5 * dist)))) - ((double) (((double) (0.5 * RB)) / ((double) (dist / RB))))));
}
double code(double RA, double dist, double RB) {
return ((double) (((double) (((double) (((double) (0.5 * RA)) / ((double) (dist / RA)))) + ((double) (0.5 * dist)))) - ((double) (((double) (0.5 * RB)) / ((double) (dist / RB))))));
}



Bits error versus RA



Bits error versus dist



Bits error versus RB
Results
Initial program 0.1
Final simplification0.1
herbie shell --seed 2020153
(FPCore (RA dist RB)
:name "(- (+ (/ (* 0.5 RA) (/ dist RA)) (* 0.5 dist)) (/ (* 0.5 RB) (/ dist RB)))"
:precision binary64
(- (+ (/ (* 0.5 RA) (/ dist RA)) (* 0.5 dist)) (/ (* 0.5 RB) (/ dist RB))))