anchor.diff:        :datum ,(first inputs))))
   
   (defmethod translate-simple-instruction
  -    ((instruction cleavir-ir:car-instruction) inputs outputs)
  +    ((instruction cleavir-ir:car-instruction)
  +     inputs outputs static-environment)
  +  (declare (ignore static-environment))
     `(setq ,(first outputs)
   	 (car ,(first inputs))))
   
   (defmethod translate-simple-instruction
  -    ((instruction cleavir-ir:cdr-instruction) inputs outputs)
  +    ((instruction cleavir-ir:cdr-instruction)
  +     inputs outputs static-environment)
  +  (declare (ignore static-environment))
     `(setq ,(first outputs)
   	 (cdr ,(first inputs))))
   
   (defmethod translate-simple-instruction
  -    ((instruction cleavir-ir:rplaca-instruction) inputs outputs)
  +    ((instruction cleavir-ir:rplaca-instruction)
  +     inputs outputs static-environment)
  +  (declare (ignore static-environment))
     (declare (ignore outputs))
     `(rplaca ,(first inputs) ,(second inputs)))
   
   (defmethod translate-simple-instruction
  -    ((instruction cleavir-ir:rplacd-instruction) inputs outputs)
  +    ((instruction cleavir-ir:rplacd-instruction)
  +     inputs outputs static-environment)
  +  (declare (ignore static-environment))
     (declare (ignore outputs))
     `(rplacd ,(first inputs) ,(second inputs)))
   
   (defmethod translate-simple-instruction
  -    ((instruction cleavir-ir:t-aref-instruction) inputs outputs)
  -  `(setq ,(first outputs)
  -	 (row-major-aref ,(first inputs) ,(second inputs))))
  -
  -(defmethod translate-simple-instruction
  -    ((instruction cleavir-ir:bit-aref-instruction) inputs outputs)
  -  `(setq ,(first outputs)
  -	 (row-major-aref ,(first inputs) ,(second inputs))))
  -
  -(defmethod translate-simple-instruction
  -    ((instruction cleavir-ir:unsigned-byte-8-aref-instruction) inputs outputs)
  -  `(setq ,(first outputs)
  -	 (row-major-aref ,(first inputs) ,(second inputs))))
  -
  -(defmethod translate-simple-instruction
  -    ((instruction cleavir-ir:short-float-aref-instruction) inputs outputs)
  -  `(setq ,(first outputs)
  -	 (row-major-aref ,(first inputs) ,(second inputs))))
  -
  -(defmethod translate-simple-instruction
  -    ((instruction cleavir-ir:single-float-aref-instruction) inputs outputs)
  -  `(setq ,(first outputs)
  -	 (row-major-aref ,(first inputs) ,(second inputs))))
  -
  -(defmethod translate-simple-instruction
  -    ((instruction cleavir-ir:double-float-aref-instruction) inputs outputs)
  -  `(setq ,(first outputs)
  -	 (row-major-aref ,(first inputs) ,(second inputs))))
  -
  -(defmethod translate-simple-instruction
  -    ((instruction cleavir-ir:long-float-aref-instruction) inputs outputs)
  -  `(setq ,(first outputs)
  -	 (row-major-aref ,(first inputs) ,(second inputs))))
  -
  -(defmethod translate-simple-instruction
  -    ((instruction cleavir-ir:t-aset-instruction) inputs outputs)
  -  (declare (ignore outputs))
  -  `(setf (row-major-aref ,(first inputs) ,(second inputs))
  -	 ,(third inputs)))
  -
  -(defmethod translate-simple-instruction
  -    ((instruction cleavir-ir:bit-aset-instruction) inputs outputs)
  -  (declare (ignore outputs))
  -  `(setf (row-major-aref ,(first inputs) ,(second inputs))
  -	 ,(third inputs)))
  -
  -(defmethod translate-simple-instruction
  -    ((instruction cleavir-ir:unsigned-byte-8-aset-instruction) inputs outputs)
  -  (declare (ignore outputs))
  -  `(setf (row-major-aref ,(first inputs) ,(second inputs))
  -	 ,(third inputs)))
  -
  -(defmethod translate-simple-instruction
  -    ((instruction cleavir-ir:short-float-aset-instruction) inputs outputs)
  -  (declare (ignore outputs))
  -  `(setf (row-major-aref ,(first inputs) ,(second inputs))
  -	 ,(third inputs)))
  -
  -(defmethod translate-simple-instruction
  -    ((instruction cleavir-ir:single-float-aset-instruction) inputs outputs)
  -  (declare (ignore outputs))
  -  `(setf (row-major-aref ,(first inputs) ,(second inputs))
  -	 ,(third inputs)))
  -
  -(defmethod translate-simple-instruction
  -    ((instruction cleavir-ir:double-float-aset-instruction) inputs outputs)
  -  (declare (ignore outputs))
  -  `(setf (row-major-aref ,(first inputs) ,(second inputs))
  -	 ,(third inputs)))
  -
  -(defmethod translate-simple-instruction
  -    ((instruction cleavir-ir:long-float-aset-instruction) inputs outputs)
  -  (declare (ignore outputs))
  -  `(setf (row-major-aref ,(first inputs) ,(second inputs))
  -	 ,(third inputs)))
  -
  -(defmethod translate-simple-instruction
  -    ((instruction cleavir-ir:fdefinition-instruction) inputs outputs)
  +    ((instruction cleavir-ir:t-aref-instruction)
  +     inputs outputs static-environment)
  +  (declare (ignore static-environment))
  +  `(setq ,(first outputs)
  +	 (row-major-aref ,(first inputs) ,(second inputs))))
  +
  +(defmethod translate-simple-instruction
  +    ((instruction cleavir-ir:bit-aref-instruction)
  +     inputs outputs static-environment)
  +  (declare (ignore static-environment))
  +  `(setq ,(first outputs)
  +	 (row-major-aref ,(first inputs) ,(second inputs))))
  +
  +(defmethod translate-simple-instruction
  +    ((instruction cleavir-ir:unsigned-byte-8-aref-instruction)
  +     inputs outputs static-environment)
  +  (declare (ignore static-environment))
  +  `(setq ,(first outputs)
  +	 (row-major-aref ,(first inputs) ,(second inputs))))
  +
  +(defmethod translate-simple-instruction
  +    ((instruction cleavir-ir:short-float-aref-instruction)
  +     inputs outputs static-environment)
  +  (declare (ignore static-environment))
  +  `(setq ,(first outputs)
  +	 (row-major-aref ,(first inputs) ,(second inputs))))
  +
  +(defmethod translate-simple-instruction
  +    ((instruction cleavir-ir:single-float-aref-instruction)
  +     inputs outputs static-environment)
  +  (declare (ignore static-environment))
  +  `(setq ,(first outputs)
  +	 (row-major-aref ,(first inputs) ,(second inputs))))
  +
  +(defmethod translate-simple-instruction
  +    ((instruction cleavir-ir:double-float-aref-instruction)
  +     inputs outputs static-environment)
  +  (declare (ignore static-environment))
  +  `(setq ,(first outputs)
  +	 (row-major-aref ,(first inputs) ,(second inputs))))
  +
  +(defmethod translate-simple-instruction
  +    ((instruction cleavir-ir:long-float-aref-instruction)
  +     inputs outputs static-environment)
  +  (declare (ignore static-environment))
  +  `(setq ,(first outputs)
  +	 (row-major-aref ,(first inputs) ,(second inputs))))
  +
  +(defmethod translate-simple-instruction
  +    ((instruction cleavir-ir:t-aset-instruction)
  +     inputs outputs static-environment)
  +  (declare (ignore static-environment))
  +  (declare (ignore outputs))
  +  `(setf (row-major-aref ,(first inputs) ,(second inputs))
  +	 ,(third inputs)))
  +
  +(defmethod translate-simple-instruction
  +    ((instruction cleavir-ir:bit-aset-instruction)
  +     inputs outputs static-environment)
  +  (declare (ignore static-environment))
  +  (declare (ignore outputs))
  +  `(setf (row-major-aref ,(first inputs) ,(second inputs))
  +	 ,(third inputs)))
  +
  +(defmethod translate-simple-instruction
  +    ((instruction cleavir-ir:unsigned-byte-8-aset-instruction)
  +     inputs outputs static-environment)
  +  (declare (ignore static-environment))
  +  (declare (ignore outputs))
  +  `(setf (row-major-aref ,(first inputs) ,(second inputs))
  +	 ,(third inputs)))
  +
  +(defmethod translate-simple-instruction
  +    ((instruction cleavir-ir:short-float-aset-instruction)
  +     inputs outputs static-environment)
  +  (declare (ignore static-environment))
  +  (declare (ignore outputs))
  +  `(setf (row-major-aref ,(first inputs) ,(second inputs))
  +	 ,(third inputs)))
  +
  +(defmethod translate-simple-instruction
  +    ((instruction cleavir-ir:single-float-aset-instruction)
  +     inputs outputs static-environment)
  +  (declare (ignore static-environment))
  +  (declare (ignore outputs))
  +  `(setf (row-major-aref ,(first inputs) ,(second inputs))
  +	 ,(third inputs)))
  +
  +(defmethod translate-simple-instruction
  +    ((instruction cleavir-ir:double-float-aset-instruction)
  +     inputs outputs static-environment)
  +  (declare (ignore static-environment))
  +  (declare (ignore outputs))
  +  `(setf (row-major-aref ,(first inputs) ,(second inputs))
  +	 ,(third inputs)))
  +
  +(defmethod translate-simple-instruction
  +    ((instruction cleavir-ir:long-float-aset-instruction)
  +     inputs outputs static-environment)
  +  (declare (ignore static-environment))
  +  (declare (ignore outputs))
  +  `(setf (row-major-aref ,(first inputs) ,(second inputs))
  +	 ,(third inputs)))
  +
  +(defmethod translate-simple-instruction
  +    ((instruction cleavir-ir:fdefinition-instruction)
  +     inputs outputs static-environment)
  +  (declare (ignore static-environment))
     `(setf ,(first outputs)
   	 (car (load-time-value
   	       (sicl-env:function-cell ,(first inputs)
  
positive.code: 	       nil))))
  
  (defmethod translate-simple-instruction
      ((instruction cleavir-ir:fixed-to-multiple-instruction) inputs outputs)
    `(setq ,(first outputs)
  	 (list ,@inputs)))
  
  (defmethod translate-simple-instruction
      ((instruction cleavir-ir:multiple-to-fixed-instruction) inputs outputs)
    (let ((temp (gensym)))
      `(let ((,temp ,(first inputs)))
         (declare (ignorable ,temp))
  
negative.code: 		  for output-vars = (mapcar #'translate-datum outputs)
  		  until (eq instruction last)
  		  collect (translate-simple-instruction
  			   instruction input-vars output-vars nil))
  	    (let* ((inputs (cleavir-ir:inputs last))
  		   (input-vars (mapcar #'translate-datum inputs))
  		   (outputs (cleavir-ir:outputs last))
  