Ve skutečnosti mě pak napadlo, že to úplně pravda není. Pro NaN a cokoliv či dvě nekonečna je výsledek jakékoli porovnávací operace false (s flag), takže jednoduchá negace by dala true, což by nebylo korektní. V low-level kódu se to dá samozřejmě ignorovat či ověřit errors na konci, ale C specifikace je v tomto IMHO dost strikní, takže v důsledku by po každém porovnání v druhém směru musela následovat kontrola na errors...
Zvláštní je, že i některé další architektury si s tím vystačí, z textu například RISC-V, ale i "konzervativní" SSE v prvních verzích.