anchor.diff:  	(push this-list rank-list)))
       rank-list))
   
  +(make-precomputed-table clear-rank clear-rank-list)
  +
   (defun 1-at (n)
  -  (let ((line clear-rank))
  +  (let ((line empty-rank))
       (loop
          for cell on line
          for i from 0
  
positive.code: (sb-c:defknown %bsf ((unsigned-byte 64)) (unsigned-byte 32) (sb-c::movable sb-c::foldable sb-c::flushable))
  (sb-c:define-vop (%bsf)
    (:policy :fast)
    (:translate %bsf)
    (:note "Scans forward for the first 1 bit")
    (:args (a :scs (sb-vm::unsigned-reg) :target b))
    (:arg-types sb-vm::unsigned-byte-64)
    (:results (b :scs (sb-vm::unsigned-reg)))
    (:result-types sb-vm::unsigned-num)
    (:generator
      0
      (sb-c::inst sb-vm::bsf b a)))
  (defun %bsf (a)
    (%bsf a))
    
  (defun make-bb-from-string (b)
    (declare (optimize speed (safety 0)) 
             (type string b))
  
negative.code: 
  (defun padlist (l)
    (if (< (length l) 8)
        (padlist (cons empty-rank l)) l))
  
  (defconstant upper-left-diagonals-list
    (loop
       for i from 0 below 8
         collect (reverse (padlist 
  			 (reverse (nthcdr i diagonal-ones-list))))))
  
  (princ upper-left-diagonals-list)
  
  (make-precomputed-table upper-left-diagonals 
  			upper-left-diagonals-list)
  