diff --git a/src/liveness.py b/src/liveness.py
index f43c1e2ff6060213b5355679bef54d5ec5f5c0d6..de8dbf49a127ce1c000fb37f8c517a08a273d367 100644
--- a/src/liveness.py
+++ b/src/liveness.py
@@ -29,7 +29,8 @@ def create_use_def(block):
     defined = set()
 
     if block.dummy:
-        block.use_set = set(['$4', '$5', '$6', '$7'])
+        block.use_set = set(['$4', '$5', '$6', '$7', \
+            '$f0', '$f3', '$f4', '$f12', '$2'])
         block.def_set = set(['$2', '$3'])
         return
 
diff --git a/src/program.py b/src/program.py
index d03d2d02bf3913b84742f185c776e51d6ca8f903..3762a1c1ae29ce92a4b741818e35683d14ff55ae 100644
--- a/src/program.py
+++ b/src/program.py
@@ -66,21 +66,22 @@ class Program(Block):
         if not hasattr(self, 'statements'):
             self.statements = self.get_statements()
 
-        return remove_redundant_jumps(self)
-#               | remove_redundant_branch_jumps(self)
+        return remove_redundant_jumps(self) \
+               | remove_redundant_branch_jumps(self)
+        return False
 
     def optimize_blocks(self):
         """Optimize on block level. Keep executing all optimizations until no
         more changes occur."""
         changed = False
 
-#        for block in self.blocks:
-#            if remove_redundancies(block) \
-#                    | eliminate_common_subexpressions(block) \
-#                    | fold_constants(block) \
-#                    | copy_propagation(block) \
-#                    | eliminate_dead_code(block):
-#                changed = True
+        for block in self.blocks:
+            if remove_redundancies(block) \
+                    | eliminate_common_subexpressions(block) \
+                    | fold_constants(block) \
+                    | copy_propagation(block) \
+                    | eliminate_dead_code(block):
+                 changed = True
 
         return changed