Reliability of dwt_nlos_ipdiag compared to dwt_nlos_alldiag for NLOS

From what I understand in the DW3000 documentation, to analyse if an exchange was made in a LOS or NLOS environment we can read the IPATOV+STS1+STS2 registers. But if the signal power is too low we only read the IPATOV register with dwt_nlos_ipdiag.

In my code, STS is turned off. So can I directly use dwt_nlos_ipdiag without doing diagnostics with dwt_nlos_alldiag first and still have the same quality of analysis or is the alldiag method more reliable?

My application of the NLOS code is based on the documentation and this example code, where dwt_nlos_ipdiag is only called after dwt_nlos_alldiag fails:

Thanks

(Replying because I get an error when I try to edit my post)

My concern comes from the fact the two functions don’t use the same equation to get the probability of NLOS, so I’m wondering if the two have different levels of reliability:

alldiag:
sl_diff_ip = (10 * log10((float)ip_cp / ip_n) + ip_alpha + log_constant + D) - (10 * log10(((ip_f1 + ip_f2 + ip_f3) / ip_n)) + ip_alpha + D);
if (sl_diff_ip > 12){
return 100;
} else if (sl_diff_ip > 12*0.4){
return 100 * ((sl_diff_ip / 12-0.4) / (1-0.4));
}

ipdiag
index_diff = ((float)index.index_pp_u32 - (float)index.index_fp_u32) * 0.03125;
if (index_diff <= 3.3){
return 0;
} else if ((index_diff > 3.3) && (index_diff < 6.0)) {
return 100 * ((0.39178 * index_diff) - 1.31719);
} else {
return 100;
}