anchor.diff:    (qdest (make-array 4) :type (simple-array t (*)))
     (zz (make-array 64 :element-type 'sint16) :type sint16-array)
     (ncomp 0 :type fixnum)
  +  (ws (2d-sint16-array
  +       '(0  0  0  0  0  0  0  0)
  +       '(0  0  0  0  0  0  0  0)
  +       '(0  0  0  0  0  0  0  0)
  +       '(0  0  0  0  0  0  0  0)
  +       '(0  0  0  0  0  0  0  0)
  +       '(0  0  0  0  0  0  0  0)
  +       '(0  0  0  0  0  0  0  0)
  +       '(0  0  0  0  0  0  0  0))
  +      :type sint16-2d-array)	; Temporary workspace for IDCT
     (adobe-app14-transform nil))
   
   ;;; Reads an JPEG marker from the stream
  
positive.code:          (Vmax (loop for entry across fr maximize (the fixnum (second entry))))
           (x-growth (ash Hmax 3))
           (y-growth (ash Vmax 3))
  	 (*ws* (2d-sint16-array
  		'(0  0  0  0  0  0  0  0)
  		'(0  0  0  0  0  0  0  0)
  		'(0  0  0  0  0  0  0  0)
  		'(0  0  0  0  0  0  0  0)
  		'(0  0  0  0  0  0  0  0)
  		'(0  0  0  0  0  0  0  0)
  		'(0  0  0  0  0  0  0  0)
  		'(0  0  0  0  0  0  0  0))) ; Temporary workspace for IDCT
           (freqs (make-array ncomp :initial-contents
                              (loop for i fixnum from 0 below ncomp ; collecting sampling frequencies
                                    for cid fixnum = (first (aref (scan-cdesc scan) i))
  
negative.code:           (incf tmp1 (plus z2 z4))
            (incf tmp2 (plus z2 z3))
            (incf tmp3 (plus z1 z4))
            (setf (s16ref ws dptr 0) (descale (plus tmp10 tmp3) +shift-1+))
            (setf (s16ref ws dptr 7) (descale (minus tmp10 tmp3) +shift-1+))
            (setf (s16ref ws dptr 1) (descale (plus tmp11 tmp2) +shift-1+))
            (setf (s16ref ws dptr 6) (descale (minus tmp11 tmp2) +shift-1+))
            (setf (s16ref ws dptr 2) (descale (plus tmp12 tmp1) +shift-1+))
            (setf (s16ref ws dptr 5) (descale (minus tmp12 tmp1) +shift-1+))
            (setf (s16ref ws dptr 3) (descale (plus tmp13 tmp0) +shift-1+))
            (setf (s16ref ws dptr 4) (descale (minus tmp13 tmp0) +shift-1+)))
  
      (loop for row of-type sint16-array across block ; iterating over rows
            for inrow of-type sint16-array across ws
            if (not (find-if-not #'zerop inrow :start 1)) do
            (setf dcval (dct-limit (descale (aref inrow 0) 4)))
            (setf (aref row 0) dcval)
  