(u32-+ x y) → product
Function:
(defun u32-+$inline (x y) (declare (type (unsigned-byte 32) x) (type (unsigned-byte 32) y) (xargs :type-prescription (natp (u32-+ x y))) (optimize (speed 3) (safety 0))) (declare (xargs :guard t)) (the (unsigned-byte 32) (logand (+ x y) *u32-max*)))
Theorem:
(defthm return-type-of-u32-+ (b* ((product (u32-+$inline x y))) (unsigned-byte-p 32 product)) :rule-classes :rewrite)