Do a 60-bit wide evaluation of an AIG.
(aig-vecsim60 aig alst) → *
Function:
(defun aig-vecsim60 (aig alst) (declare (xargs :guard t)) (let ((__function__ 'aig-vecsim60)) (declare (ignorable __function__)) (aig-cases aig :true -1 :false 0 :var (let ((look (hons-get aig alst))) (if look (60-bit-fix (cdr look)) -1)) :inv (the (signed-byte 61) (lognot (the (signed-byte 61) (aig-vecsim60 (car aig) alst)))) :and (let ((a (aig-vecsim60 (car aig) alst))) (mbe :logic (logand a (aig-vecsim60 (cdr aig) alst)) :exec (if (= (the (signed-byte 61) a) 0) 0 (the (signed-byte 61) (logand (the (signed-byte 61) a) (the (signed-byte 61) (aig-vecsim60 (cdr aig) alst))))))))))
Theorem:
(defthm aig-vecsim60-60-bits (signed-byte-p 61 (aig-vecsim60 aig alst)))
Function:
(defun aig-vecsim60-memoize-condition (aig alst) (declare (ignorable aig alst) (xargs :guard 't)) (and (consp aig) (cdr aig)))