anchor.diff:                   (s3-7 (- s3 s7)))
               (let ((a (+ s0+4 s2+6))
                     (b (+ s1+5 s3+7)))
  -              (setf (aref vec start)       (+ a b)
  +              (setf (aref vec       start) (+ a b)
                       (aref vec (+ start 1)) (- a b)))
               (let ((a (+ s0-4 ,(mul-root 's2-6 -2/8)))
                     (b ,(mul-root `(+ s1-5 ,(mul-root 's3-7 -2/8))
  
positive.code:                              (,name/2 start)
                               (for (,n/4 (i start)
                                          (k ,(+ n/2 +twiddle-offset+) 2))
                                 (let ((x (aref vec (+ i ,n/2)))
                                       (y (mul-i (aref vec (+ i ,(+ n/2 n/4)))))
                                       (t1 (aref twiddle k))
                                       (t2 (aref twiddle (1+ k))))
                                   (setf (aref vec (+ i ,n/2))
  
negative.code:           (declare (type index start))
            (let ((s0 (aref vec start))
                  (s1 (aref vec (1+ start))))
              (setf (aref vec      start) (+ s0 s1)
                    (aref vec (1+ start)) (- s0 s1)))
            nil)
          `(dif/4 (start)
  