(sse-cvt-sp-to-dp op mxcsr) → (mv * * *)
Function:
(defun sse-cvt-sp-to-dp (op mxcsr) (declare (type (unsigned-byte 32) op) (type (unsigned-byte 32) mxcsr)) (let ((__function__ 'sse-cvt-sp-to-dp)) (declare (ignorable __function__)) (b* (((mv flg result mxcsr) (sse-cvt-fp1-to-fp2 op mxcsr 8 23 11 52)) (result (n64 result))) (mv flg result mxcsr))))
Theorem:
(defthm n64p-result-sse-cvt-sp-to-dp (unsigned-byte-p 64 (mv-nth 1 (sse-cvt-sp-to-dp op mxcsr))) :rule-classes (:rewrite (:type-prescription :corollary (natp (mv-nth 1 (sse-cvt-sp-to-dp op mxcsr))) :hints (("Goal" :in-theory '(unsigned-byte-p integer-range-p natp)))) (:linear :corollary (and (<= 0 (mv-nth 1 (sse-cvt-sp-to-dp op mxcsr))) (< (mv-nth 1 (sse-cvt-sp-to-dp op mxcsr)) 18446744073709551616)) :hints (("Goal" :in-theory '(unsigned-byte-p integer-range-p (:e expt)))))))
Theorem:
(defthm n32p-mxcsr-sse-cvt-sp-to-dp (unsigned-byte-p 32 (mv-nth 2 (sse-cvt-sp-to-dp op mxcsr))) :rule-classes (:rewrite (:type-prescription :corollary (natp (mv-nth 2 (sse-cvt-sp-to-dp op mxcsr))) :hints (("Goal" :in-theory '(unsigned-byte-p integer-range-p natp)))) (:linear :corollary (and (<= 0 (mv-nth 2 (sse-cvt-sp-to-dp op mxcsr))) (< (mv-nth 2 (sse-cvt-sp-to-dp op mxcsr)) 4294967296)) :hints (("Goal" :in-theory '(unsigned-byte-p integer-range-p (:e expt)))))))