I wonder if we need to define FE_UNDERFLOW_INEXACT and FE_UNDERFLOW_EXACT The idea being that if all you care about is the INEXACT, you specify that and the implementation can use flags instead of traps if that's convenient. I don't know of any use for FE_UNDERFLOW_EXACT except having a complete list.