anchor.diff:                    (format t "remaining ~:S~%" (allocator-remaining-ranges allocator)))
                   (activate-interval allocator new-range reg))
                 ;; Shouldn't be any remaining ranges coming live on this instruction.
  -              (assert (or (endp (allocator-remaining-ranges allocator))
  -                          (not (eql (live-range-start (first (allocator-remaining-ranges allocator))) instruction-index)))))
  +              (assert (or (not (ranges-remaining-p allocator))
  +                          (not (eql (live-range-start (next-remaining-range allocator)) instruction-index)))))
                (t
                 (update-active-intervals allocator inst instruction-index)))
          (allocate-instants allocator inst instruction-index))
  
positive.code:                                          :conflicts (gethash vreg vreg-conflicts))))
                 (when (not ir::*shut-up*)
                   (format t " Add range ~S~%" range))
                 (push range ranges)
                 (push range (gethash vreg vreg-ranges)))))
        (loop
           for range-start from 0
  
negative.code:            (let* ((src-interval (interval-at allocator src instruction-index))
                    (dst-interval (interval-at allocator dst instruction-index))
                    (first-active-range (first (allocator-active-ranges allocator)))
                    (first-remaining-range (next-remaining-range allocator)))
               (and (not (interval-spilled-p allocator src-interval))
                    (eql first-active-range src-interval)
                    (eql (live-range-end first-active-range) instruction-index)
  