proposition: Theorem is_nan_equiv : forall x, PrimFloat.is_nan x = is_nan (Prim2B x).
proof: Proof. intro x. unfold PrimFloat.is_nan. rewrite eqb_spec. rewrite <-B2SF_Prim2B. case Prim2B as [sx|sx| |sx mx ex Bx]; [reflexivity|now case sx|reflexivity| ]. simpl. rewrite Bool.negb_false_iff. unfold SFeqb, SFcompare. rewrite Z.compare_refl, Pos.compare_refl. now case sx. Qed.
imports: Int63Compat Coq(ZArith Reals Floats SpecFloat) Zaux BinarySingleNaN