(combine16u a1 a0) merges unsigned bytes, producing the 16-bit
unsigned interpretation of
Function:
(defun combine16u$inline (a1 a0) (declare (type (unsigned-byte 8) a1 a0)) (mbe :logic (logior (ash (nfix a1) 8) (nfix a0)) :exec (the (unsigned-byte 16) (logior (ash a1 8) a0))))
Theorem:
(defthm combine16u-unsigned-byte (implies (and (force (unsigned-byte-p 8 a1)) (force (unsigned-byte-p 8 a0))) (unsigned-byte-p 16 (combine16u a1 a0))))
Theorem:
(defthm combine16u-loghead-logtail (implies (natp i) (equal (combine16u (logtail 8 i) (loghead 8 i)) i)))