anchor.diff:  
   (defun mod32* (a b)
     (declare (type (unsigned-byte 32) a b))
  +  #+ecl
  +  (ffi:c-inline (a b)
  +                (:uint32-t :uint32-t)
  +                :uint32-t
  +                "#0 * #1"
  +                :one-liner t
  +                :side-effects nil)
  +  #-ecl
     (ldb (byte 32 0) (* a b)))
   
   #+cmu
  
positive.code:          (ftype (function ((unsigned-byte 64)) (unsigned-byte 64)) mod64lognot))
  
  (defun mod64lognot (num)
    (ldb (byte 64 0) (lognot num)))
  
  #+sbcl
  
negative.code: 
  (defun rol64 (a s)
    (declare (type (unsigned-byte 64) a) (type (integer 0 64) s))
    #+ecl
    (ffi:c-inline (a s)
                  (:uint64-t :uint8-t)
                  :uint64-t
                  "(#0 << #1) | (#0 >> (64 - #1))"
                  :one-liner t
                  :side-effects nil)
    #+(and sbcl ironclad-fast-mod64-arithmetic)
    (sb-rotate-byte:rotate-byte s (byte 64 0) a)
    #-(or ecl (and sbcl ironclad-fast-mod64-arithmetic))
    (logior (ldb (byte 64 0) (ash a s)) (ash a (- s 64))))
  
  (defun ror64 (a s)
    (declare (type (unsigned-byte 64) a) (type (integer 0 64) s))
    #+ecl
    (ffi:c-inline (a s)
                  (:uint64-t :uint8-t)
                  :uint64-t
                  "(#0 << (64 - #1)) | (#0 >> #1)"
                  :one-liner t
                  :side-effects nil)
    #+(and sbcl ironclad-fast-mod64-arithmetic)
    (sb-rotate-byte:rotate-byte (- s) (byte 64 0) a)
    #-(or ecl (and sbcl ironclad-fast-mod64-arithmetic))
    (rol64 a (- 64 s)))
  
  