anchor.diff:  (defconstant +g-v-off+ (* 6 256))
   (defconstant +b-v-off+ (* 7 256))
   
  -(declaim (type fixnum-array *ctab* *cr-r-tab* *cb-g-tab* *cr-g-tab* *cb-b-tab*))
  +(declaim (type fixnum-array +ctab+ +cr-r-tab+ +cb-g-tab+ +cr-g-tab+ +cb-b-tab+))
   
   ;;;Direct color conversion table
  -(defparameter *ctab* (make-array 2048 :element-type 'fixnum :initial-element 0))
  -
  -;;; Filling in the table
  -(loop for i fixnum from 0 to 255 do
  -      (setf (aref *ctab* (plus i +r-y-off+))
  -            (mul +.299+ i))
  -      (setf (aref *ctab* (plus i +g-y-off+))
  -            (mul +.587+ i))
  -      (setf (aref *ctab* (plus i +b-y-off+))
  -            (mul +.114+ i))
  -      (setf (aref *ctab* (plus i +r-u-off+))
  -            (mul +-.1687+ i))
  -      (setf (aref *ctab* (plus i +g-u-off+))
  -            (mul +-.3313+ i))
  -      (setf (aref *ctab* (plus i +b-u-off+))
  -            (+ (mul +.5+ i) +uvoffset+ +one-half+))
  -      (setf (aref *ctab* (plus i +r-v-off+))
  -            (+ (mul +.5+ i) +uvoffset+ +one-half+))
  -      (setf (aref *ctab* (plus i +g-v-off+))
  -            (mul +-.4187+ i))
  -      (setf (aref *ctab* (plus i +b-v-off+))
  -            (mul +-.0813+ i)))
  +(define-constant +ctab+
  +    (let ((table (make-array 2048 :element-type 'fixnum :initial-element 0)))
  +      (loop for i fixnum from 0 to 255 do
  +           (setf (aref table (plus i +r-y-off+))
  +                 (mul +.299+ i))
  +           (setf (aref table (plus i +g-y-off+))
  +                 (mul +.587+ i))
  +           (setf (aref table (plus i +b-y-off+))
  +                 (mul +.114+ i))
  +           (setf (aref table (plus i +r-u-off+))
  +                 (mul +-.1687+ i))
  +           (setf (aref table (plus i +g-u-off+))
  +                 (mul +-.3313+ i))
  +           (setf (aref table (plus i +b-u-off+))
  +                 (+ (mul +.5+ i) +uvoffset+ +one-half+))
  +           (setf (aref table (plus i +r-v-off+))
  +                 (+ (mul +.5+ i) +uvoffset+ +one-half+))
  +           (setf (aref table (plus i +g-v-off+))
  +                 (mul +-.4187+ i))
  +           (setf (aref table (plus i +b-v-off+))
  +                 (mul +-.0813+ i)))
  +      table))
   
   ;;; Constantsants for the inverse colorspace conversion
   (defconstant +1.40200+ (round (+ (* 1.40200 (ash 1 shift)) 0.5)))
  
positive.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)))
  
negative.code:                 for cb fixnum = (aref buffer pu)
                  for cr fixnum = (aref buffer pv) do
                  (setf (aref buffer py) ; BLUE
                        (the uint8 (limit (plus yy (aref +cb-b-tab+ cb)))))
                  (setf (aref buffer pu) ; GREEN
                        (the uint8 (limit (plus yy (ash (plus
  						       (aref +cb-g-tab+ cb)
  						       (aref +cr-g-tab+ cr))
  						      (- shift))))))
                  (setf (aref buffer pv) ; RED
                        (the uint8 (limit (plus yy (aref +cr-r-tab+ cr)))))))))
  
  (defun ycck-cmyk-convert (image)
    (let* ((buffer (descriptor-buffer image))
  