\sqrt{\left(\left(\left(tp + fp\right) \cdot \left(tp + fn\right)\right) \cdot \left(tn + fp\right)\right) \cdot \left(tn + fn\right)}\sqrt{\left(\left(\left(tp + fp\right) \cdot \left(tp + fn\right)\right) \cdot \left(tn + fp\right)\right) \cdot \left(tn + fn\right)}double code(double tp, double fp, double fn, double tn) {
return ((double) sqrt(((double) (((double) (((double) (((double) (tp + fp)) * ((double) (tp + fn)))) * ((double) (tn + fp)))) * ((double) (tn + fn))))));
}
double code(double tp, double fp, double fn, double tn) {
return ((double) sqrt(((double) (((double) (((double) (((double) (tp + fp)) * ((double) (tp + fn)))) * ((double) (tn + fp)))) * ((double) (tn + fn))))));
}



Bits error versus tp



Bits error versus fp



Bits error versus fn



Bits error versus tn
Results
Initial program 37.4
Final simplification37.4
herbie shell --seed 2020153
(FPCore (tp fp fn tn)
:name "(sqrt (* (* (* (+ tp fp) (+ tp fn)) (+ tn fp)) (+ tn fn)))"
:precision binary64
(sqrt (* (* (* (+ tp fp) (+ tp fn)) (+ tn fp)) (+ tn fn))))