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:                  (s3 (aref vec (+ start 3)))
                   (s1+s3 (+ s1 s3))
                   (s1-s3 (mul+i (- s1 s3))))
              (setf (aref vec start)       (+ s0+s2 s1+s3)
                    (aref vec (+ start 1)) (- s0+s2 s1+s3)
                    (aref vec (+ start 2)) (- s0-s2 s1-s3)
                    (aref vec (+ start 3)) (+ s0-s2 s1-s3)))
  
negative.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))
  