(rotate-left-65 x places) → *
Function:
(defun rotate-left-65$inline (x places) (declare (type (unsigned-byte 65) x) (type (unsigned-byte 65) places)) (let ((__function__ 'rotate-left-65)) (declare (ignorable __function__)) (mbe :logic (rotate-left x 65 places) :exec (let* ((x (mbe :logic (loghead 65 x) :exec x)) (places (mbe :logic (lnfix places) :exec places)) (places (mbe :logic (mod places 65) :exec (if (< places 65) (the (integer 0 64) places) (the (integer 0 64) (rem places 65))))) (low-num (the (integer 0 65) (- 65 places))) (mask (the (unsigned-byte 65) (1- (the (unsigned-byte 66) (ash 1 low-num))))) (xl (the (unsigned-byte 65) (logand x mask))) (xh (the (unsigned-byte 65) (logand x (the (signed-byte 66) (lognot mask))))) (xh-shift (the (unsigned-byte 65) (ash xh (the (integer -65 0) (- low-num))))) (xl-shift (the (unsigned-byte 65) (ash (the (unsigned-byte 65) xl) (the (integer 0 65) places)))) (ans (the (unsigned-byte 65) (logior xl-shift xh-shift)))) ans))))