   [x op exp1 exp2] 	
   	(let [e1 (munch exp1)
   			  e2 (munch exp2)
-  			  d (Temp (minijava.ir.temp.Temp.))]
+  			  d (tm/temp)]
   			 	(emit (movl  e1 d))
   			 	(emit (addl  e2 d))
   			  d))

  [x op exp1 exp2] 	
  	(let [e1 (munch exp1)
  			  e2 (munch exp2)
  			  d (Temp (minijava.ir.temp.Temp.))]
  			 	(emit (movl  e2 d))
  			 	(emit (imull  e1 d))
  			  d))
  			  		  
 

  [x op exp1 exp2] 	
  	(let [e1 (munch exp1)
  			  e2 (munch exp2)
  			  d (tm/temp)]
  			 	(emit (movl  e2 d))
  			 	(emit (subl  e1 d))
  			  d))
