Хз (лень сейчас смотреть), но имеет право. Там по спеке конкретные NaN pit patterns "скрыты" (так как они не portable). Более того, стандартный doubleToLongBits их даже специально маскирует и всегда возращает "канонический NaN", чтобы не утекали (но есть отдельный doubleToRawLongBits для тех, кто упорот).