(riml08 lin-addr r-x x86) → (mv * * x86)
Function:
(defun riml08 (lin-addr r-x x86) (declare (xargs :stobjs (x86))) (declare (type (signed-byte 48) lin-addr) (type (member :r :x) r-x)) (declare (xargs :guard (canonical-address-p lin-addr))) (let ((__function__ 'riml08)) (declare (ignorable __function__)) (mv-let (flag val x86) (rml08 lin-addr r-x x86) (mv flag (n08-to-i08 val) x86))))
Theorem:
(defthm i08p-mv-nth-1-riml08 (signed-byte-p 8 (mv-nth 1 (riml08 lin-addr r-x x86))) :rule-classes (:rewrite (:type-prescription :corollary (integerp (mv-nth 1 (riml08 lin-addr r-x x86))) :hints (("Goal" :in-theory '(signed-byte-p integer-range-p)))) (:linear :corollary (and (<= -128 (mv-nth 1 (riml08 lin-addr r-x x86))) (< (mv-nth 1 (riml08 lin-addr r-x x86)) 128)) :hints (("Goal" :in-theory '(signed-byte-p integer-range-p (:e expt)))))))
Theorem:
(defthm x86p-riml08 (implies (force (x86p x86)) (x86p (mv-nth 2 (riml08 lin-addr r-x x86)))) :rule-classes (:rewrite :type-prescription))