\frac{\frac{m1}{n1} - \frac{m2}{n2}}{\sqrt{\frac{{s1}^{2}}{n1} - \frac{{s2}^{2}}{n2}}}\frac{\frac{m1}{n1} - \frac{m2}{n2}}{\sqrt{\frac{{s1}^{2}}{n1} - \frac{{s2}^{2}}{n2}}}double code(double m1, double n1, double m2, double n2, double s1, double s2) {
return ((double) (((double) (((double) (m1 / n1)) - ((double) (m2 / n2)))) / ((double) sqrt(((double) (((double) (((double) pow(s1, 2.0)) / n1)) - ((double) (((double) pow(s2, 2.0)) / n2))))))));
}
double code(double m1, double n1, double m2, double n2, double s1, double s2) {
return ((double) (((double) (((double) (m1 / n1)) - ((double) (m2 / n2)))) / ((double) sqrt(((double) (((double) (((double) pow(s1, 2.0)) / n1)) - ((double) (((double) pow(s2, 2.0)) / n2))))))));
}



Bits error versus m1



Bits error versus n1



Bits error versus m2



Bits error versus n2



Bits error versus s1



Bits error versus s2
Results
Initial program 38.7
Final simplification38.7
herbie shell --seed 2020153
(FPCore (m1 n1 m2 n2 s1 s2)
:name "(/ (- (/ m1 n1) (/ m2 n2)) (sqrt (- (/ (pow s1 2) n1) (/ (pow s2 2) n2))))"
:precision binary64
(/ (- (/ m1 n1) (/ m2 n2)) (sqrt (- (/ (pow s1 2.0) n1) (/ (pow s2 2.0) n2)))))