anchor.diff:           (let ((,acc ,(translate-function-call
                          (reduction-statement-unary-operator loop)
                          `(,eval-body ,(loop-statement-start loop)))))
  -           (loop for ,(loop-statement-index loop) of-type fixnum
  -                 from (1+ ,(loop-statement-start loop))
  -                 by ,(loop-statement-step loop)
  -                   below ,(loop-statement-end loop)
  -                 do (setf ,acc ,(translate-function-call
  -                                 (reduction-statement-binary-operator loop)
  -                                 acc
  -                                 `(,eval-body ,(loop-statement-index loop)))))
  +           (for (,(loop-statement-index loop)
  +                 (1+ ,(loop-statement-start loop))
  +                 ,(loop-statement-step loop)
  +                 ,(loop-statement-end loop))
  +                 (setf ,acc ,(translate-function-call
  +                              (reduction-statement-binary-operator loop)
  +                              acc
  +                              `(,eval-body ,(loop-statement-index loop)))))
              ,acc)))))
   
   (defmethod translate ((s-expression list))
  
positive.code: 
  (defmethod translate ((loop loop-statement))
    `(let* ,(loop-statement-bindings loop)
       (loop for ,(loop-statement-index loop) of-type fixnum
             from ,(loop-statement-start loop)
             by ,(loop-statement-step loop)
               below ,(loop-statement-end loop)
             do ,(translate (loop-statement-body loop)))))
  
  (defstruct (reduction-statement
              (:include loop-statement))
  
negative.code:            (optimize-loops loops)
             `(lambda (kernel)
                (declare (kernel kernel))
                (with-unsafe-optimizations
                  (let ((references (kernel-references kernel))
                        (unknown-functions (kernel-unknown-functions kernel))
                        (bounds (kernel-bounds kernel)))
  