anchor.diff:  (defun write-bits (bi ni s)
     (declare #.*optimize*
              ;(special *prev-length* *prev-byte*)
  -           (type fixnum bi ni)
  +           (type fixnum bi ni *prev-legnth*)
  +	   (type uint8 *prev-byte*)
              (type stream s))
     (loop with lim fixnum = (if (> ni 8) 1 0)
           for i fixnum from lim downto 0 do
  
positive.code: 			    '(0  0  0  0  0  0  0  0)
  			    '(0  0  0  0  0  0  0  0))
                   for pos fixnum =
                      (position (first (aref (scan-cdesc scan) comp))
                                (descriptor-cid image)) ; an offset for byte positioning
                   for q-tab = (aref (descriptor-qtables image) (aref (descriptor-qdest image) comp))
                   for H fixnum = (first (aref freqs comp))
  
negative.code:                 for b fixnum = (aref rgb pos)
                  for cx fixnum = (minus xd dx)
                  for cy fixnum = (minus yd dy) do
  	       (setf (s16ref Y cx cy) (minus (ash (the fixnum (+ (aref *ctab* (plus r +r-y-off+))
  								 (aref *ctab* (plus g +g-y-off+))
  								 (aref *ctab* (plus b +b-y-off+))))
  						  (- shift))
                                               128))
                  (setf (s16ref U cx cy) (minus (ash (the fixnum (+ (aref *ctab* (plus r +r-u-off+))
  								  (aref *ctab* (plus g +g-u-off+))
  								  (aref *ctab* (plus b +b-u-off+))))
  						   (- shift))
                                               128))
  	       (setf (s16ref V cx cy) (minus (ash (the fixnum (+ (aref *ctab* (plus r +r-v-off+))
  								 (aref *ctab* (plus g +g-v-off+))
  								 (aref *ctab* (plus b +b-v-off+))))
  						  (- shift))
                                               128))))
      (values xend yend)))
  
  