WORST_CASE(Omega(0),?) Initial ITS Start location: l7 0: l0 -> l1 : oldX0^0'=oldX0^post0, x0^0'=x0^post0, oldX1^0'=oldX1^post0, (0 == 0 /\ -oldX1^post0+x0^post0 == 0 /\ -x0^0+oldX0^post0 == 0), cost: 1 1: l0 -> l2 : oldX0^0'=oldX0^post1, x0^0'=x0^post1, oldX1^0'=oldX1^post1, (oldX1^0-oldX1^post1 == 0 /\ 2-oldX0^post1+x0^post1 == 0 /\ -x0^0+oldX0^post1 == 0), cost: 1 2: l0 -> l2 : oldX0^0'=oldX0^post2, x0^0'=x0^post2, oldX1^0'=oldX1^post2, (1-oldX0^post2+x0^post2 == 0 /\ oldX0^post2-x0^0 == 0 /\ oldX1^0-oldX1^post2 == 0), cost: 1 9: l2 -> l5 : oldX0^0'=oldX0^post9, x0^0'=x0^post9, oldX1^0'=oldX1^post9, (x0^post9-oldX0^post9 == 0 /\ -x0^0+oldX0^post9 == 0 /\ -oldX1^post9+oldX1^0 == 0), cost: 1 3: l3 -> l0 : oldX0^0'=oldX0^post3, x0^0'=x0^post3, oldX1^0'=oldX1^post3, (2-oldX0^post3 <= 0 /\ oldX1^0-oldX1^post3 == 0 /\ -oldX0^post3+x0^post3 == 0 /\ oldX0^post3-x0^0 == 0), cost: 1 4: l3 -> l0 : oldX0^0'=oldX0^post4, x0^0'=x0^post4, oldX1^0'=oldX1^post4, (oldX0^post4 <= 0 /\ -oldX0^post4+x0^post4 == 0 /\ oldX0^post4-x0^0 == 0 /\ oldX1^0-oldX1^post4 == 0), cost: 1 5: l3 -> l4 : oldX0^0'=oldX0^post5, x0^0'=x0^post5, oldX1^0'=oldX1^post5, (1-oldX0^post5 <= 0 /\ -1+oldX0^post5 <= 0 /\ oldX0^post5-x0^0 == 0 /\ oldX1^0-oldX1^post5 == 0 /\ -oldX0^post5+x0^post5 == 0), cost: 1 6: l4 -> l1 : oldX0^0'=oldX0^post6, x0^0'=x0^post6, oldX1^0'=oldX1^post6, (0 == 0 /\ x0^post6-oldX1^post6 == 0 /\ oldX0^post6-x0^0 == 0), cost: 1 7: l5 -> l3 : oldX0^0'=oldX0^post7, x0^0'=x0^post7, oldX1^0'=oldX1^post7, (-oldX0^post7+x0^post7 == 0 /\ 1-oldX0^post7 <= 0 /\ oldX0^post7-x0^0 == 0 /\ oldX1^0-oldX1^post7 == 0), cost: 1 8: l5 -> l4 : oldX0^0'=oldX0^post8, x0^0'=x0^post8, oldX1^0'=oldX1^post8, (x0^post8-oldX0^post8 == 0 /\ -x0^0+oldX0^post8 == 0 /\ oldX1^0-oldX1^post8 == 0 /\ oldX0^post8 <= 0), cost: 1 10: l6 -> l1 : oldX0^0'=oldX0^post10, x0^0'=x0^post10, oldX1^0'=oldX1^post10, (-x0^post10+x0^0 == 0 /\ oldX0^0-oldX0^post10 == 0 /\ -oldX1^post10+oldX1^0 == 0), cost: 1 11: l6 -> l0 : oldX0^0'=oldX0^post11, x0^0'=x0^post11, oldX1^0'=oldX1^post11, (-x0^post11+x0^0 == 0 /\ -oldX1^post11+oldX1^0 == 0 /\ oldX0^0-oldX0^post11 == 0), cost: 1 12: l6 -> l3 : oldX0^0'=oldX0^post12, x0^0'=x0^post12, oldX1^0'=oldX1^post12, (oldX0^0-oldX0^post12 == 0 /\ -x0^post12+x0^0 == 0 /\ -oldX1^post12+oldX1^0 == 0), cost: 1 13: l6 -> l4 : oldX0^0'=oldX0^post13, x0^0'=x0^post13, oldX1^0'=oldX1^post13, (-oldX1^post13+oldX1^0 == 0 /\ oldX0^0-oldX0^post13 == 0 /\ x0^0-x0^post13 == 0), cost: 1 14: l6 -> l5 : oldX0^0'=oldX0^post14, x0^0'=x0^post14, oldX1^0'=oldX1^post14, (-oldX1^post14+oldX1^0 == 0 /\ x0^0-x0^post14 == 0 /\ oldX0^0-oldX0^post14 == 0), cost: 1 15: l6 -> l2 : oldX0^0'=oldX0^post15, x0^0'=x0^post15, oldX1^0'=oldX1^post15, (oldX0^0-oldX0^post15 == 0 /\ -oldX1^post15+oldX1^0 == 0 /\ x0^0-x0^post15 == 0), cost: 1 16: l7 -> l6 : oldX0^0'=oldX0^post16, x0^0'=x0^post16, oldX1^0'=oldX1^post16, (oldX1^0-oldX1^post16 == 0 /\ x0^0-x0^post16 == 0 /\ oldX0^0-oldX0^post16 == 0), cost: 1 Removed unreachable rules and leafs Start location: l7 1: l0 -> l2 : oldX0^0'=oldX0^post1, x0^0'=x0^post1, oldX1^0'=oldX1^post1, (oldX1^0-oldX1^post1 == 0 /\ 2-oldX0^post1+x0^post1 == 0 /\ -x0^0+oldX0^post1 == 0), cost: 1 2: l0 -> l2 : oldX0^0'=oldX0^post2, x0^0'=x0^post2, oldX1^0'=oldX1^post2, (1-oldX0^post2+x0^post2 == 0 /\ oldX0^post2-x0^0 == 0 /\ oldX1^0-oldX1^post2 == 0), cost: 1 9: l2 -> l5 : oldX0^0'=oldX0^post9, x0^0'=x0^post9, oldX1^0'=oldX1^post9, (x0^post9-oldX0^post9 == 0 /\ -x0^0+oldX0^post9 == 0 /\ -oldX1^post9+oldX1^0 == 0), cost: 1 3: l3 -> l0 : oldX0^0'=oldX0^post3, x0^0'=x0^post3, oldX1^0'=oldX1^post3, (2-oldX0^post3 <= 0 /\ oldX1^0-oldX1^post3 == 0 /\ -oldX0^post3+x0^post3 == 0 /\ oldX0^post3-x0^0 == 0), cost: 1 4: l3 -> l0 : oldX0^0'=oldX0^post4, x0^0'=x0^post4, oldX1^0'=oldX1^post4, (oldX0^post4 <= 0 /\ -oldX0^post4+x0^post4 == 0 /\ oldX0^post4-x0^0 == 0 /\ oldX1^0-oldX1^post4 == 0), cost: 1 7: l5 -> l3 : oldX0^0'=oldX0^post7, x0^0'=x0^post7, oldX1^0'=oldX1^post7, (-oldX0^post7+x0^post7 == 0 /\ 1-oldX0^post7 <= 0 /\ oldX0^post7-x0^0 == 0 /\ oldX1^0-oldX1^post7 == 0), cost: 1 11: l6 -> l0 : oldX0^0'=oldX0^post11, x0^0'=x0^post11, oldX1^0'=oldX1^post11, (-x0^post11+x0^0 == 0 /\ -oldX1^post11+oldX1^0 == 0 /\ oldX0^0-oldX0^post11 == 0), cost: 1 12: l6 -> l3 : oldX0^0'=oldX0^post12, x0^0'=x0^post12, oldX1^0'=oldX1^post12, (oldX0^0-oldX0^post12 == 0 /\ -x0^post12+x0^0 == 0 /\ -oldX1^post12+oldX1^0 == 0), cost: 1 14: l6 -> l5 : oldX0^0'=oldX0^post14, x0^0'=x0^post14, oldX1^0'=oldX1^post14, (-oldX1^post14+oldX1^0 == 0 /\ x0^0-x0^post14 == 0 /\ oldX0^0-oldX0^post14 == 0), cost: 1 15: l6 -> l2 : oldX0^0'=oldX0^post15, x0^0'=x0^post15, oldX1^0'=oldX1^post15, (oldX0^0-oldX0^post15 == 0 /\ -oldX1^post15+oldX1^0 == 0 /\ x0^0-x0^post15 == 0), cost: 1 16: l7 -> l6 : oldX0^0'=oldX0^post16, x0^0'=x0^post16, oldX1^0'=oldX1^post16, (oldX1^0-oldX1^post16 == 0 /\ x0^0-x0^post16 == 0 /\ oldX0^0-oldX0^post16 == 0), cost: 1 Applied preprocessing Original rule: l0 -> l2 : oldX0^0'=oldX0^post1, x0^0'=x0^post1, oldX1^0'=oldX1^post1, (oldX1^0-oldX1^post1 == 0 /\ 2-oldX0^post1+x0^post1 == 0 /\ -x0^0+oldX0^post1 == 0), cost: 1 New rule: l0 -> l2 : oldX0^0'=x0^0, x0^0'=-2+x0^0, TRUE, cost: 1 Applied preprocessing Original rule: l0 -> l2 : oldX0^0'=oldX0^post2, x0^0'=x0^post2, oldX1^0'=oldX1^post2, (1-oldX0^post2+x0^post2 == 0 /\ oldX0^post2-x0^0 == 0 /\ oldX1^0-oldX1^post2 == 0), cost: 1 New rule: l0 -> l2 : oldX0^0'=x0^0, x0^0'=-1+x0^0, TRUE, cost: 1 Applied preprocessing Original rule: l3 -> l0 : oldX0^0'=oldX0^post3, x0^0'=x0^post3, oldX1^0'=oldX1^post3, (2-oldX0^post3 <= 0 /\ oldX1^0-oldX1^post3 == 0 /\ -oldX0^post3+x0^post3 == 0 /\ oldX0^post3-x0^0 == 0), cost: 1 New rule: l3 -> l0 : oldX0^0'=x0^0, -2+x0^0 >= 0, cost: 1 Applied preprocessing Original rule: l3 -> l0 : oldX0^0'=oldX0^post4, x0^0'=x0^post4, oldX1^0'=oldX1^post4, (oldX0^post4 <= 0 /\ -oldX0^post4+x0^post4 == 0 /\ oldX0^post4-x0^0 == 0 /\ oldX1^0-oldX1^post4 == 0), cost: 1 New rule: l3 -> l0 : oldX0^0'=x0^0, x0^0 <= 0, cost: 1 Applied preprocessing Original rule: l5 -> l3 : oldX0^0'=oldX0^post7, x0^0'=x0^post7, oldX1^0'=oldX1^post7, (-oldX0^post7+x0^post7 == 0 /\ 1-oldX0^post7 <= 0 /\ oldX0^post7-x0^0 == 0 /\ oldX1^0-oldX1^post7 == 0), cost: 1 New rule: l5 -> l3 : oldX0^0'=x0^0, -1+x0^0 >= 0, cost: 1 Applied preprocessing Original rule: l2 -> l5 : oldX0^0'=oldX0^post9, x0^0'=x0^post9, oldX1^0'=oldX1^post9, (x0^post9-oldX0^post9 == 0 /\ -x0^0+oldX0^post9 == 0 /\ -oldX1^post9+oldX1^0 == 0), cost: 1 New rule: l2 -> l5 : oldX0^0'=x0^0, TRUE, cost: 1 Applied preprocessing Original rule: l6 -> l0 : oldX0^0'=oldX0^post11, x0^0'=x0^post11, oldX1^0'=oldX1^post11, (-x0^post11+x0^0 == 0 /\ -oldX1^post11+oldX1^0 == 0 /\ oldX0^0-oldX0^post11 == 0), cost: 1 New rule: l6 -> l0 : TRUE, cost: 1 Applied preprocessing Original rule: l6 -> l3 : oldX0^0'=oldX0^post12, x0^0'=x0^post12, oldX1^0'=oldX1^post12, (oldX0^0-oldX0^post12 == 0 /\ -x0^post12+x0^0 == 0 /\ -oldX1^post12+oldX1^0 == 0), cost: 1 New rule: l6 -> l3 : TRUE, cost: 1 Applied preprocessing Original rule: l6 -> l5 : oldX0^0'=oldX0^post14, x0^0'=x0^post14, oldX1^0'=oldX1^post14, (-oldX1^post14+oldX1^0 == 0 /\ x0^0-x0^post14 == 0 /\ oldX0^0-oldX0^post14 == 0), cost: 1 New rule: l6 -> l5 : TRUE, cost: 1 Applied preprocessing Original rule: l6 -> l2 : oldX0^0'=oldX0^post15, x0^0'=x0^post15, oldX1^0'=oldX1^post15, (oldX0^0-oldX0^post15 == 0 /\ -oldX1^post15+oldX1^0 == 0 /\ x0^0-x0^post15 == 0), cost: 1 New rule: l6 -> l2 : TRUE, cost: 1 Applied preprocessing Original rule: l7 -> l6 : oldX0^0'=oldX0^post16, x0^0'=x0^post16, oldX1^0'=oldX1^post16, (oldX1^0-oldX1^post16 == 0 /\ x0^0-x0^post16 == 0 /\ oldX0^0-oldX0^post16 == 0), cost: 1 New rule: l7 -> l6 : TRUE, cost: 1 Simplified rules Start location: l7 17: l0 -> l2 : oldX0^0'=x0^0, x0^0'=-2+x0^0, TRUE, cost: 1 18: l0 -> l2 : oldX0^0'=x0^0, x0^0'=-1+x0^0, TRUE, cost: 1 22: l2 -> l5 : oldX0^0'=x0^0, TRUE, cost: 1 19: l3 -> l0 : oldX0^0'=x0^0, -2+x0^0 >= 0, cost: 1 20: l3 -> l0 : oldX0^0'=x0^0, x0^0 <= 0, cost: 1 21: l5 -> l3 : oldX0^0'=x0^0, -1+x0^0 >= 0, cost: 1 23: l6 -> l0 : TRUE, cost: 1 24: l6 -> l3 : TRUE, cost: 1 25: l6 -> l5 : TRUE, cost: 1 26: l6 -> l2 : TRUE, cost: 1 27: l7 -> l6 : TRUE, cost: 1 Eliminating location l6 by chaining: Applied chaining First rule: l7 -> l6 : TRUE, cost: 1 Second rule: l6 -> l0 : TRUE, cost: 1 New rule: l7 -> l0 : TRUE, cost: 2 Applied chaining First rule: l7 -> l6 : TRUE, cost: 1 Second rule: l6 -> l3 : TRUE, cost: 1 New rule: l7 -> l3 : TRUE, cost: 2 Applied chaining First rule: l7 -> l6 : TRUE, cost: 1 Second rule: l6 -> l5 : TRUE, cost: 1 New rule: l7 -> l5 : TRUE, cost: 2 Applied chaining First rule: l7 -> l6 : TRUE, cost: 1 Second rule: l6 -> l2 : TRUE, cost: 1 New rule: l7 -> l2 : TRUE, cost: 2 Applied deletion Removed the following rules: 23 24 25 26 27 Eliminated locations on tree-shaped paths Start location: l7 17: l0 -> l2 : oldX0^0'=x0^0, x0^0'=-2+x0^0, TRUE, cost: 1 18: l0 -> l2 : oldX0^0'=x0^0, x0^0'=-1+x0^0, TRUE, cost: 1 22: l2 -> l5 : oldX0^0'=x0^0, TRUE, cost: 1 19: l3 -> l0 : oldX0^0'=x0^0, -2+x0^0 >= 0, cost: 1 20: l3 -> l0 : oldX0^0'=x0^0, x0^0 <= 0, cost: 1 21: l5 -> l3 : oldX0^0'=x0^0, -1+x0^0 >= 0, cost: 1 28: l7 -> l0 : TRUE, cost: 2 29: l7 -> l3 : TRUE, cost: 2 30: l7 -> l5 : TRUE, cost: 2 31: l7 -> l2 : TRUE, cost: 2 Eliminated location l0 Start location: l7 22: l2 -> l5 : oldX0^0'=x0^0, TRUE, cost: 1 32: l3 -> l2 : oldX0^0'=x0^0, x0^0'=-2+x0^0, -2+x0^0 >= 0, cost: 2 33: l3 -> l2 : oldX0^0'=x0^0, x0^0'=-1+x0^0, -2+x0^0 >= 0, cost: 2 34: l3 -> l2 : oldX0^0'=x0^0, x0^0'=-2+x0^0, x0^0 <= 0, cost: 2 35: l3 -> l2 : oldX0^0'=x0^0, x0^0'=-1+x0^0, x0^0 <= 0, cost: 2 21: l5 -> l3 : oldX0^0'=x0^0, -1+x0^0 >= 0, cost: 1 29: l7 -> l3 : TRUE, cost: 2 30: l7 -> l5 : TRUE, cost: 2 31: l7 -> l2 : TRUE, cost: 2 36: l7 -> l2 : oldX0^0'=x0^0, x0^0'=-2+x0^0, TRUE, cost: 3 37: l7 -> l2 : oldX0^0'=x0^0, x0^0'=-1+x0^0, TRUE, cost: 3 Eliminated location l2 Start location: l7 39: l3 -> l5 : oldX0^0'=-2+x0^0, x0^0'=-2+x0^0, -2+x0^0 >= 0, cost: 3 40: l3 -> l5 : oldX0^0'=-1+x0^0, x0^0'=-1+x0^0, -2+x0^0 >= 0, cost: 3 41: l3 -> l5 : oldX0^0'=-2+x0^0, x0^0'=-2+x0^0, x0^0 <= 0, cost: 3 42: l3 -> l5 : oldX0^0'=-1+x0^0, x0^0'=-1+x0^0, x0^0 <= 0, cost: 3 21: l5 -> l3 : oldX0^0'=x0^0, -1+x0^0 >= 0, cost: 1 29: l7 -> l3 : TRUE, cost: 2 30: l7 -> l5 : TRUE, cost: 2 38: l7 -> l5 : oldX0^0'=x0^0, TRUE, cost: 3 43: l7 -> l5 : oldX0^0'=-2+x0^0, x0^0'=-2+x0^0, TRUE, cost: 4 44: l7 -> l5 : oldX0^0'=-1+x0^0, x0^0'=-1+x0^0, TRUE, cost: 4 Applied merging first rule: l3 -> l5 : oldX0^0'=-2+x0^0, x0^0'=-2+x0^0, -2+x0^0 >= 0, cost: 3 second rule: l3 -> l5 : oldX0^0'=-2+x0^0, x0^0'=-2+x0^0, x0^0 <= 0, cost: 3 new rule: l3 -> l5 : oldX0^0'=-2+x0^0, x0^0'=-2+x0^0, (x0^0 <= 0 \/ -2+x0^0 >= 0), cost: 3 Applied merging first rule: l3 -> l5 : oldX0^0'=-1+x0^0, x0^0'=-1+x0^0, -2+x0^0 >= 0, cost: 3 second rule: l3 -> l5 : oldX0^0'=-1+x0^0, x0^0'=-1+x0^0, x0^0 <= 0, cost: 3 new rule: l3 -> l5 : oldX0^0'=-1+x0^0, x0^0'=-1+x0^0, (x0^0 <= 0 \/ -2+x0^0 >= 0), cost: 3 Merged rules Start location: l7 45: l3 -> l5 : oldX0^0'=-2+x0^0, x0^0'=-2+x0^0, (x0^0 <= 0 \/ -2+x0^0 >= 0), cost: 3 46: l3 -> l5 : oldX0^0'=-1+x0^0, x0^0'=-1+x0^0, (x0^0 <= 0 \/ -2+x0^0 >= 0), cost: 3 21: l5 -> l3 : oldX0^0'=x0^0, -1+x0^0 >= 0, cost: 1 29: l7 -> l3 : TRUE, cost: 2 30: l7 -> l5 : TRUE, cost: 2 38: l7 -> l5 : oldX0^0'=x0^0, TRUE, cost: 3 43: l7 -> l5 : oldX0^0'=-2+x0^0, x0^0'=-2+x0^0, TRUE, cost: 4 44: l7 -> l5 : oldX0^0'=-1+x0^0, x0^0'=-1+x0^0, TRUE, cost: 4 Eliminated location l3 Start location: l7 47: l5 -> l5 : oldX0^0'=-2+x0^0, x0^0'=-2+x0^0, (-1+x0^0 >= 0 /\ -2+x0^0 >= 0), cost: 4 48: l5 -> l5 : oldX0^0'=-1+x0^0, x0^0'=-1+x0^0, (-1+x0^0 >= 0 /\ -2+x0^0 >= 0), cost: 4 30: l7 -> l5 : TRUE, cost: 2 38: l7 -> l5 : oldX0^0'=x0^0, TRUE, cost: 3 43: l7 -> l5 : oldX0^0'=-2+x0^0, x0^0'=-2+x0^0, TRUE, cost: 4 44: l7 -> l5 : oldX0^0'=-1+x0^0, x0^0'=-1+x0^0, TRUE, cost: 4 49: l7 -> l5 : oldX0^0'=-2+x0^0, x0^0'=-2+x0^0, (x0^0 <= 0 \/ -2+x0^0 >= 0), cost: 5 50: l7 -> l5 : oldX0^0'=-1+x0^0, x0^0'=-1+x0^0, (x0^0 <= 0 \/ -2+x0^0 >= 0), cost: 5 Applied simplification Original rule: l5 -> l5 : oldX0^0'=-2+x0^0, x0^0'=-2+x0^0, (-1+x0^0 >= 0 /\ -2+x0^0 >= 0), cost: 4 New rule: l5 -> l5 : oldX0^0'=-2+x0^0, x0^0'=-2+x0^0, -2+x0^0 >= 0, cost: 4 Applied simplification Original rule: l5 -> l5 : oldX0^0'=-1+x0^0, x0^0'=-1+x0^0, (-1+x0^0 >= 0 /\ -2+x0^0 >= 0), cost: 4 New rule: l5 -> l5 : oldX0^0'=-1+x0^0, x0^0'=-1+x0^0, -2+x0^0 >= 0, cost: 4 Simplified simple loops Start location: l7 51: l5 -> l5 : oldX0^0'=-2+x0^0, x0^0'=-2+x0^0, -2+x0^0 >= 0, cost: 4 52: l5 -> l5 : oldX0^0'=-1+x0^0, x0^0'=-1+x0^0, -2+x0^0 >= 0, cost: 4 30: l7 -> l5 : TRUE, cost: 2 38: l7 -> l5 : oldX0^0'=x0^0, TRUE, cost: 3 43: l7 -> l5 : oldX0^0'=-2+x0^0, x0^0'=-2+x0^0, TRUE, cost: 4 44: l7 -> l5 : oldX0^0'=-1+x0^0, x0^0'=-1+x0^0, TRUE, cost: 4 49: l7 -> l5 : oldX0^0'=-2+x0^0, x0^0'=-2+x0^0, (x0^0 <= 0 \/ -2+x0^0 >= 0), cost: 5 50: l7 -> l5 : oldX0^0'=-1+x0^0, x0^0'=-1+x0^0, (x0^0 <= 0 \/ -2+x0^0 >= 0), cost: 5 Applied acceleration Original rule: l5 -> l5 : oldX0^0'=-2+x0^0, x0^0'=-2+x0^0, -2+x0^0 >= 0, cost: 4 New rule: l5 -> l5 : oldX0^0'=x0^0-2*n1, x0^0'=x0^0-2*n1, (x0^0-2*n1 >= 0 /\ -1+n1 >= 0), cost: 4*n1 Applied acceleration Original rule: l5 -> l5 : oldX0^0'=-1+x0^0, x0^0'=-1+x0^0, -2+x0^0 >= 0, cost: 4 New rule: l5 -> l5 : oldX0^0'=-n3+x0^0, x0^0'=-n3+x0^0, (-1+n3 >= 0 /\ -1-n3+x0^0 >= 0), cost: 4*n3 Applied instantiation Original rule: l5 -> l5 : oldX0^0'=-n3+x0^0, x0^0'=-n3+x0^0, (-1+n3 >= 0 /\ -1-n3+x0^0 >= 0), cost: 4*n3 New rule: l5 -> l5 : oldX0^0'=1, x0^0'=1, (0 >= 0 /\ -2+x0^0 >= 0), cost: -4+4*x0^0 Applied simplification Original rule: l5 -> l5 : oldX0^0'=1, x0^0'=1, (0 >= 0 /\ -2+x0^0 >= 0), cost: -4+4*x0^0 New rule: l5 -> l5 : oldX0^0'=1, x0^0'=1, -2+x0^0 >= 0, cost: -4+4*x0^0 Applied deletion Removed the following rules: 51 52 Accelerated simple loops Start location: l7 53: l5 -> l5 : oldX0^0'=x0^0-2*n1, x0^0'=x0^0-2*n1, (x0^0-2*n1 >= 0 /\ -1+n1 >= 0), cost: 4*n1 55: l5 -> l5 : oldX0^0'=1, x0^0'=1, -2+x0^0 >= 0, cost: -4+4*x0^0 30: l7 -> l5 : TRUE, cost: 2 38: l7 -> l5 : oldX0^0'=x0^0, TRUE, cost: 3 43: l7 -> l5 : oldX0^0'=-2+x0^0, x0^0'=-2+x0^0, TRUE, cost: 4 44: l7 -> l5 : oldX0^0'=-1+x0^0, x0^0'=-1+x0^0, TRUE, cost: 4 49: l7 -> l5 : oldX0^0'=-2+x0^0, x0^0'=-2+x0^0, (x0^0 <= 0 \/ -2+x0^0 >= 0), cost: 5 50: l7 -> l5 : oldX0^0'=-1+x0^0, x0^0'=-1+x0^0, (x0^0 <= 0 \/ -2+x0^0 >= 0), cost: 5 Applied chaining First rule: l7 -> l5 : TRUE, cost: 2 Second rule: l5 -> l5 : oldX0^0'=x0^0-2*n1, x0^0'=x0^0-2*n1, (x0^0-2*n1 >= 0 /\ -1+n1 >= 0), cost: 4*n1 New rule: l7 -> l5 : oldX0^0'=x0^0-2*n1, x0^0'=x0^0-2*n1, (x0^0-2*n1 >= 0 /\ -1+n1 >= 0), cost: 2+4*n1 Applied chaining First rule: l7 -> l5 : oldX0^0'=x0^0, TRUE, cost: 3 Second rule: l5 -> l5 : oldX0^0'=x0^0-2*n1, x0^0'=x0^0-2*n1, (x0^0-2*n1 >= 0 /\ -1+n1 >= 0), cost: 4*n1 New rule: l7 -> l5 : oldX0^0'=x0^0-2*n1, x0^0'=x0^0-2*n1, (x0^0-2*n1 >= 0 /\ -1+n1 >= 0), cost: 3+4*n1 Applied chaining First rule: l7 -> l5 : oldX0^0'=-2+x0^0, x0^0'=-2+x0^0, TRUE, cost: 4 Second rule: l5 -> l5 : oldX0^0'=x0^0-2*n1, x0^0'=x0^0-2*n1, (x0^0-2*n1 >= 0 /\ -1+n1 >= 0), cost: 4*n1 New rule: l7 -> l5 : oldX0^0'=-2+x0^0-2*n1, x0^0'=-2+x0^0-2*n1, (-2+x0^0-2*n1 >= 0 /\ -1+n1 >= 0), cost: 4+4*n1 Applied chaining First rule: l7 -> l5 : oldX0^0'=-1+x0^0, x0^0'=-1+x0^0, TRUE, cost: 4 Second rule: l5 -> l5 : oldX0^0'=x0^0-2*n1, x0^0'=x0^0-2*n1, (x0^0-2*n1 >= 0 /\ -1+n1 >= 0), cost: 4*n1 New rule: l7 -> l5 : oldX0^0'=-1+x0^0-2*n1, x0^0'=-1+x0^0-2*n1, (-1+x0^0-2*n1 >= 0 /\ -1+n1 >= 0), cost: 4+4*n1 Applied chaining First rule: l7 -> l5 : oldX0^0'=-2+x0^0, x0^0'=-2+x0^0, (x0^0 <= 0 \/ -2+x0^0 >= 0), cost: 5 Second rule: l5 -> l5 : oldX0^0'=x0^0-2*n1, x0^0'=x0^0-2*n1, (x0^0-2*n1 >= 0 /\ -1+n1 >= 0), cost: 4*n1 New rule: l7 -> l5 : oldX0^0'=-2+x0^0-2*n1, x0^0'=-2+x0^0-2*n1, (-2+x0^0-2*n1 >= 0 /\ -1+n1 >= 0), cost: 5+4*n1 Applied chaining First rule: l7 -> l5 : oldX0^0'=-1+x0^0, x0^0'=-1+x0^0, (x0^0 <= 0 \/ -2+x0^0 >= 0), cost: 5 Second rule: l5 -> l5 : oldX0^0'=x0^0-2*n1, x0^0'=x0^0-2*n1, (x0^0-2*n1 >= 0 /\ -1+n1 >= 0), cost: 4*n1 New rule: l7 -> l5 : oldX0^0'=-1+x0^0-2*n1, x0^0'=-1+x0^0-2*n1, (-1+x0^0-2*n1 >= 0 /\ -1+n1 >= 0), cost: 5+4*n1 Applied chaining First rule: l7 -> l5 : TRUE, cost: 2 Second rule: l5 -> l5 : oldX0^0'=1, x0^0'=1, -2+x0^0 >= 0, cost: -4+4*x0^0 New rule: l7 -> l5 : oldX0^0'=1, x0^0'=1, -2+x0^0 >= 0, cost: -2+4*x0^0 Applied chaining First rule: l7 -> l5 : oldX0^0'=x0^0, TRUE, cost: 3 Second rule: l5 -> l5 : oldX0^0'=1, x0^0'=1, -2+x0^0 >= 0, cost: -4+4*x0^0 New rule: l7 -> l5 : oldX0^0'=1, x0^0'=1, -2+x0^0 >= 0, cost: -1+4*x0^0 Applied chaining First rule: l7 -> l5 : oldX0^0'=-2+x0^0, x0^0'=-2+x0^0, TRUE, cost: 4 Second rule: l5 -> l5 : oldX0^0'=1, x0^0'=1, -2+x0^0 >= 0, cost: -4+4*x0^0 New rule: l7 -> l5 : oldX0^0'=1, x0^0'=1, -4+x0^0 >= 0, cost: -8+4*x0^0 Applied chaining First rule: l7 -> l5 : oldX0^0'=-1+x0^0, x0^0'=-1+x0^0, TRUE, cost: 4 Second rule: l5 -> l5 : oldX0^0'=1, x0^0'=1, -2+x0^0 >= 0, cost: -4+4*x0^0 New rule: l7 -> l5 : oldX0^0'=1, x0^0'=1, -3+x0^0 >= 0, cost: -4+4*x0^0 Applied chaining First rule: l7 -> l5 : oldX0^0'=-2+x0^0, x0^0'=-2+x0^0, (x0^0 <= 0 \/ -2+x0^0 >= 0), cost: 5 Second rule: l5 -> l5 : oldX0^0'=1, x0^0'=1, -2+x0^0 >= 0, cost: -4+4*x0^0 New rule: l7 -> l5 : oldX0^0'=1, x0^0'=1, -4+x0^0 >= 0, cost: -7+4*x0^0 Applied chaining First rule: l7 -> l5 : oldX0^0'=-1+x0^0, x0^0'=-1+x0^0, (x0^0 <= 0 \/ -2+x0^0 >= 0), cost: 5 Second rule: l5 -> l5 : oldX0^0'=1, x0^0'=1, -2+x0^0 >= 0, cost: -4+4*x0^0 New rule: l7 -> l5 : oldX0^0'=1, x0^0'=1, -3+x0^0 >= 0, cost: -3+4*x0^0 Applied deletion Removed the following rules: 53 55 Chained accelerated rules with incoming rules Start location: l7 30: l7 -> l5 : TRUE, cost: 2 38: l7 -> l5 : oldX0^0'=x0^0, TRUE, cost: 3 43: l7 -> l5 : oldX0^0'=-2+x0^0, x0^0'=-2+x0^0, TRUE, cost: 4 44: l7 -> l5 : oldX0^0'=-1+x0^0, x0^0'=-1+x0^0, TRUE, cost: 4 49: l7 -> l5 : oldX0^0'=-2+x0^0, x0^0'=-2+x0^0, (x0^0 <= 0 \/ -2+x0^0 >= 0), cost: 5 50: l7 -> l5 : oldX0^0'=-1+x0^0, x0^0'=-1+x0^0, (x0^0 <= 0 \/ -2+x0^0 >= 0), cost: 5 56: l7 -> l5 : oldX0^0'=x0^0-2*n1, x0^0'=x0^0-2*n1, (x0^0-2*n1 >= 0 /\ -1+n1 >= 0), cost: 2+4*n1 57: l7 -> l5 : oldX0^0'=x0^0-2*n1, x0^0'=x0^0-2*n1, (x0^0-2*n1 >= 0 /\ -1+n1 >= 0), cost: 3+4*n1 58: l7 -> l5 : oldX0^0'=-2+x0^0-2*n1, x0^0'=-2+x0^0-2*n1, (-2+x0^0-2*n1 >= 0 /\ -1+n1 >= 0), cost: 4+4*n1 59: l7 -> l5 : oldX0^0'=-1+x0^0-2*n1, x0^0'=-1+x0^0-2*n1, (-1+x0^0-2*n1 >= 0 /\ -1+n1 >= 0), cost: 4+4*n1 60: l7 -> l5 : oldX0^0'=-2+x0^0-2*n1, x0^0'=-2+x0^0-2*n1, (-2+x0^0-2*n1 >= 0 /\ -1+n1 >= 0), cost: 5+4*n1 61: l7 -> l5 : oldX0^0'=-1+x0^0-2*n1, x0^0'=-1+x0^0-2*n1, (-1+x0^0-2*n1 >= 0 /\ -1+n1 >= 0), cost: 5+4*n1 62: l7 -> l5 : oldX0^0'=1, x0^0'=1, -2+x0^0 >= 0, cost: -2+4*x0^0 63: l7 -> l5 : oldX0^0'=1, x0^0'=1, -2+x0^0 >= 0, cost: -1+4*x0^0 64: l7 -> l5 : oldX0^0'=1, x0^0'=1, -4+x0^0 >= 0, cost: -8+4*x0^0 65: l7 -> l5 : oldX0^0'=1, x0^0'=1, -3+x0^0 >= 0, cost: -4+4*x0^0 66: l7 -> l5 : oldX0^0'=1, x0^0'=1, -4+x0^0 >= 0, cost: -7+4*x0^0 67: l7 -> l5 : oldX0^0'=1, x0^0'=1, -3+x0^0 >= 0, cost: -3+4*x0^0 Removed unreachable locations and irrelevant leafs Start location: l7 Computing asymptotic complexity Proved the following lower bound Complexity: Unknown Cpx degree: ? Solved cost: 0 Rule cost: 0