anchor.diff:  ;;;;; TRE compiler
   ;;;;; Copyright (c) 2008-2011 Sven Klose <pixel@copei.de>
  -;;;;;
  -;;;;; Peephole-optimizer for expression-expanded code.
   
   (defvar *opt-peephole-funinfo* nil)
   (defvar *opt-peephole-symbols* (make-hash-table :test #'eq))
  
positive.code:   (with (body x
  		 spare-tags (find-all-if (fn opt-peephole-has-no-jumps-to body _)
  		  				         (find-all-if #'number? x)))
      (remove-if (fn member _ spare-tags) x)))
  
  (defun opt-peephole-remove-spare-tags-body (x)
    (copy-lambda x :body (opt-peephole-remove-spare-tags (opt-peephole-tags-lambda (lambda-body x)))))
  
negative.code: 								                            (remove-assignments .d))
                                                    2)))))
  
         replace-tag
           #'((old-dest new-dest)
  			 (setf removed-tags (filter (fn ? (eq ._ old-dest)
                                                (cons _. new-dest)
                                                _)
                                          removed-tags)))
  
         add-removed-tag
           #'((old-tag new-tag)
  			 (replace-tag old-tag new-tag)
  		     (acons! old-tag new-tag removed-tags))
  
  	   reduce-tags
  		 #'((x)
  			  (opt-peephole-fun (#'reduce-tags)
      		    ((two-subsequent-tags? a d)
  				   (add-removed-tag a .x.)
  				   (reduce-tags d))
      		    ((and (number? a)
                        (%%vm-go? .x.))
                     (add-removed-tag a (cadr d.))
  				   (reduce-tags d))))
  
  	   rec
  