That's curious! Does anyone know why the spec was designed to allow so many possible NaN bit patterns? Seems like just one would do!
Taking, say, the 3 smallest subnormal numbers, or the three largest numbers, or whatever, would be extremely bad for allowing optimizations/algorithms/correctness checkers to reason about operations in the abstract.