anchor.diff:           (nybase (mul ybase nwidth)))
       (declare #.*optimize*
                (type (simple-vector *) block)
  -             (type (array uint8 *) buffer)
  +             (type (simple-array uint8 (*)) buffer)
                (type fixnum x y H V ncomp xbase ybase nwidth nx dend nxbase nybase offset)
                (dynamic-extent ncomp xbase ybase nxbase nybase))
       (loop for row across block
  
positive.code:         (yend (plus dy (1- height))))
      (declare #.*optimize*
               (type fixnum dx dy h w height width ncomp xend yend)
               (type (array uint8 *) inbuf outbuf))
      (setf xend (min xend (1- w)))
      (setf yend (min yend (1- h)))
      (loop for yd fixnum from dy to yend
  
negative.code:                  izigzag write-bits))
  
  (eval-when (:compile-toplevel :load-toplevel :execute)
    (defvar *optimize*  '(optimize (safety 1) (space 0) (debug 0) (speed 3))))
  ;    '(optimize (safety 1) (space 3) (debug 0) (speed 0))))
  
  (eval-when (:compile-toplevel :load-toplevel :execute)
  