\sqrt{\frac{fnmm \cdot fnpm}{fnpn \cdot \left(fnpn + 2\right)}}\sqrt{\frac{fnmm \cdot fnpm}{fnpn \cdot \left(fnpn + 2\right)}}double code(double fnmm, double fnpm, double fnpn) {
return ((double) sqrt(((double) (((double) (fnmm * fnpm)) / ((double) (fnpn * ((double) (fnpn + 2.0))))))));
}
double code(double fnmm, double fnpm, double fnpn) {
return ((double) sqrt(((double) (((double) (fnmm * fnpm)) / ((double) (fnpn * ((double) (fnpn + 2.0))))))));
}



Bits error versus fnmm



Bits error versus fnpm



Bits error versus fnpn
Results
Initial program 29.1
Final simplification29.1
herbie shell --seed 2020152
(FPCore (fnmm fnpm fnpn)
:name "(sqrt (/ (* fnmm fnpm) (* fnpn (+ fnpn 2.0))))"
:precision binary64
(sqrt (/ (* fnmm fnpm) (* fnpn (+ fnpn 2.0)))))