WORST_CASE(Omega(0),?) Initial ITS Start location: l10 0: l0 -> l1 : i2^0'=i2^post0, i6^0'=i6^post0, i34^0'=i34^post0, i8^0'=i8^post0, (-i8^post0+i8^0 == 0 /\ i34^0-i34^post0 == 0 /\ 1+i34^0 <= 0 /\ i2^0-i2^post0 == 0 /\ i6^0-i6^post0 == 0), cost: 1 1: l0 -> l2 : i2^0'=i2^post1, i6^0'=i6^post1, i34^0'=i34^post1, i8^0'=i8^post1, (-i34^0 <= 0 /\ i2^0-i2^post1 == 0 /\ 1+i34^post1-i34^0 == 0 /\ -i6^post1+i6^0 == 0 /\ -i8^post1+i8^0 == 0), cost: 1 12: l1 -> l4 : i2^0'=i2^post12, i6^0'=i6^post12, i34^0'=i34^post12, i8^0'=i8^post12, (i34^0-i34^post12 == 0 /\ i2^0-i2^post12 == 0 /\ -i8^post12+i8^0 == 0 /\ -999+i6^post12 == 0), cost: 1 5: l2 -> l0 : i2^0'=i2^post5, i6^0'=i6^post5, i34^0'=i34^post5, i8^0'=i8^post5, (i2^0-i2^post5 == 0 /\ i6^0-i6^post5 == 0 /\ -i8^post5+i8^0 == 0 /\ -i34^post5+i34^0 == 0), cost: 1 2: l3 -> l1 : i2^0'=i2^post2, i6^0'=i6^post2, i34^0'=i34^post2, i8^0'=i8^post2, (-i34^post2+i34^0 == 0 /\ 1-i2^0 <= 0 /\ i6^0-i6^post2 == 0 /\ -i8^post2+i8^0 == 0 /\ i2^0-i2^post2 == 0), cost: 1 3: l3 -> l1 : i2^0'=i2^post3, i6^0'=i6^post3, i34^0'=i34^post3, i8^0'=i8^post3, (i2^0-i2^post3 == 0 /\ i6^0-i6^post3 == 0 /\ 1+i2^0 <= 0 /\ i34^0-i34^post3 == 0 /\ -i8^post3+i8^0 == 0), cost: 1 4: l3 -> l2 : i2^0'=i2^post4, i6^0'=i6^post4, i34^0'=i34^post4, i8^0'=i8^post4, (i2^0 <= 0 /\ -i2^0 <= 0 /\ i2^0-i2^post4 == 0 /\ -i8^post4+i8^0 == 0 /\ -999+i34^post4 == 0 /\ -i6^post4+i6^0 == 0), cost: 1 6: l4 -> l5 : i2^0'=i2^post6, i6^0'=i6^post6, i34^0'=i34^post6, i8^0'=i8^post6, (i6^0-i6^post6 == 0 /\ i8^0-i8^post6 == 0 /\ i2^0-i2^post6 == 0 /\ -i34^post6+i34^0 == 0), cost: 1 10: l5 -> l8 : i2^0'=i2^post10, i6^0'=i6^post10, i34^0'=i34^post10, i8^0'=i8^post10, (-999+i8^post10 == 0 /\ i2^0-i2^post10 == 0 /\ -i34^post10+i34^0 == 0 /\ 1+i6^0 <= 0 /\ i6^0-i6^post10 == 0), cost: 1 11: l5 -> l4 : i2^0'=i2^post11, i6^0'=i6^post11, i34^0'=i34^post11, i8^0'=i8^post11, (i34^0-i34^post11 == 0 /\ -i6^0 <= 0 /\ -i8^post11+i8^0 == 0 /\ i2^0-i2^post11 == 0 /\ 1-i6^0+i6^post11 == 0), cost: 1 7: l6 -> l7 : i2^0'=i2^post7, i6^0'=i6^post7, i34^0'=i34^post7, i8^0'=i8^post7, (i2^0-i2^post7 == 0 /\ i34^0-i34^post7 == 0 /\ 1+i8^0 <= 0 /\ i6^0-i6^post7 == 0 /\ -i8^post7+i8^0 == 0), cost: 1 8: l6 -> l8 : i2^0'=i2^post8, i6^0'=i6^post8, i34^0'=i34^post8, i8^0'=i8^post8, (1+i8^post8-i8^0 == 0 /\ -i34^post8+i34^0 == 0 /\ i2^0-i2^post8 == 0 /\ i6^0-i6^post8 == 0 /\ -i8^0 <= 0), cost: 1 9: l8 -> l6 : i2^0'=i2^post9, i6^0'=i6^post9, i34^0'=i34^post9, i8^0'=i8^post9, (-i6^post9+i6^0 == 0 /\ i2^0-i2^post9 == 0 /\ -i8^post9+i8^0 == 0 /\ -i34^post9+i34^0 == 0), cost: 1 13: l9 -> l3 : i2^0'=i2^post13, i6^0'=i6^post13, i34^0'=i34^post13, i8^0'=i8^post13, (-1+i2^post13 == 0 /\ -i8^post13+i8^0 == 0 /\ -i34^post13+i34^0 == 0 /\ i6^0-i6^post13 == 0), cost: 1 14: l10 -> l9 : i2^0'=i2^post14, i6^0'=i6^post14, i34^0'=i34^post14, i8^0'=i8^post14, (-i8^post14+i8^0 == 0 /\ i2^0-i2^post14 == 0 /\ -i6^post14+i6^0 == 0 /\ -i34^post14+i34^0 == 0), cost: 1 Removed unreachable rules and leafs Start location: l10 0: l0 -> l1 : i2^0'=i2^post0, i6^0'=i6^post0, i34^0'=i34^post0, i8^0'=i8^post0, (-i8^post0+i8^0 == 0 /\ i34^0-i34^post0 == 0 /\ 1+i34^0 <= 0 /\ i2^0-i2^post0 == 0 /\ i6^0-i6^post0 == 0), cost: 1 1: l0 -> l2 : i2^0'=i2^post1, i6^0'=i6^post1, i34^0'=i34^post1, i8^0'=i8^post1, (-i34^0 <= 0 /\ i2^0-i2^post1 == 0 /\ 1+i34^post1-i34^0 == 0 /\ -i6^post1+i6^0 == 0 /\ -i8^post1+i8^0 == 0), cost: 1 12: l1 -> l4 : i2^0'=i2^post12, i6^0'=i6^post12, i34^0'=i34^post12, i8^0'=i8^post12, (i34^0-i34^post12 == 0 /\ i2^0-i2^post12 == 0 /\ -i8^post12+i8^0 == 0 /\ -999+i6^post12 == 0), cost: 1 5: l2 -> l0 : i2^0'=i2^post5, i6^0'=i6^post5, i34^0'=i34^post5, i8^0'=i8^post5, (i2^0-i2^post5 == 0 /\ i6^0-i6^post5 == 0 /\ -i8^post5+i8^0 == 0 /\ -i34^post5+i34^0 == 0), cost: 1 2: l3 -> l1 : i2^0'=i2^post2, i6^0'=i6^post2, i34^0'=i34^post2, i8^0'=i8^post2, (-i34^post2+i34^0 == 0 /\ 1-i2^0 <= 0 /\ i6^0-i6^post2 == 0 /\ -i8^post2+i8^0 == 0 /\ i2^0-i2^post2 == 0), cost: 1 3: l3 -> l1 : i2^0'=i2^post3, i6^0'=i6^post3, i34^0'=i34^post3, i8^0'=i8^post3, (i2^0-i2^post3 == 0 /\ i6^0-i6^post3 == 0 /\ 1+i2^0 <= 0 /\ i34^0-i34^post3 == 0 /\ -i8^post3+i8^0 == 0), cost: 1 4: l3 -> l2 : i2^0'=i2^post4, i6^0'=i6^post4, i34^0'=i34^post4, i8^0'=i8^post4, (i2^0 <= 0 /\ -i2^0 <= 0 /\ i2^0-i2^post4 == 0 /\ -i8^post4+i8^0 == 0 /\ -999+i34^post4 == 0 /\ -i6^post4+i6^0 == 0), cost: 1 6: l4 -> l5 : i2^0'=i2^post6, i6^0'=i6^post6, i34^0'=i34^post6, i8^0'=i8^post6, (i6^0-i6^post6 == 0 /\ i8^0-i8^post6 == 0 /\ i2^0-i2^post6 == 0 /\ -i34^post6+i34^0 == 0), cost: 1 10: l5 -> l8 : i2^0'=i2^post10, i6^0'=i6^post10, i34^0'=i34^post10, i8^0'=i8^post10, (-999+i8^post10 == 0 /\ i2^0-i2^post10 == 0 /\ -i34^post10+i34^0 == 0 /\ 1+i6^0 <= 0 /\ i6^0-i6^post10 == 0), cost: 1 11: l5 -> l4 : i2^0'=i2^post11, i6^0'=i6^post11, i34^0'=i34^post11, i8^0'=i8^post11, (i34^0-i34^post11 == 0 /\ -i6^0 <= 0 /\ -i8^post11+i8^0 == 0 /\ i2^0-i2^post11 == 0 /\ 1-i6^0+i6^post11 == 0), cost: 1 8: l6 -> l8 : i2^0'=i2^post8, i6^0'=i6^post8, i34^0'=i34^post8, i8^0'=i8^post8, (1+i8^post8-i8^0 == 0 /\ -i34^post8+i34^0 == 0 /\ i2^0-i2^post8 == 0 /\ i6^0-i6^post8 == 0 /\ -i8^0 <= 0), cost: 1 9: l8 -> l6 : i2^0'=i2^post9, i6^0'=i6^post9, i34^0'=i34^post9, i8^0'=i8^post9, (-i6^post9+i6^0 == 0 /\ i2^0-i2^post9 == 0 /\ -i8^post9+i8^0 == 0 /\ -i34^post9+i34^0 == 0), cost: 1 13: l9 -> l3 : i2^0'=i2^post13, i6^0'=i6^post13, i34^0'=i34^post13, i8^0'=i8^post13, (-1+i2^post13 == 0 /\ -i8^post13+i8^0 == 0 /\ -i34^post13+i34^0 == 0 /\ i6^0-i6^post13 == 0), cost: 1 14: l10 -> l9 : i2^0'=i2^post14, i6^0'=i6^post14, i34^0'=i34^post14, i8^0'=i8^post14, (-i8^post14+i8^0 == 0 /\ i2^0-i2^post14 == 0 /\ -i6^post14+i6^0 == 0 /\ -i34^post14+i34^0 == 0), cost: 1 Applied preprocessing Original rule: l0 -> l1 : i2^0'=i2^post0, i6^0'=i6^post0, i34^0'=i34^post0, i8^0'=i8^post0, (-i8^post0+i8^0 == 0 /\ i34^0-i34^post0 == 0 /\ 1+i34^0 <= 0 /\ i2^0-i2^post0 == 0 /\ i6^0-i6^post0 == 0), cost: 1 New rule: l0 -> l1 : 1+i34^0 <= 0, cost: 1 Applied preprocessing Original rule: l0 -> l2 : i2^0'=i2^post1, i6^0'=i6^post1, i34^0'=i34^post1, i8^0'=i8^post1, (-i34^0 <= 0 /\ i2^0-i2^post1 == 0 /\ 1+i34^post1-i34^0 == 0 /\ -i6^post1+i6^0 == 0 /\ -i8^post1+i8^0 == 0), cost: 1 New rule: l0 -> l2 : i34^0'=-1+i34^0, i34^0 >= 0, cost: 1 Applied preprocessing Original rule: l3 -> l1 : i2^0'=i2^post2, i6^0'=i6^post2, i34^0'=i34^post2, i8^0'=i8^post2, (-i34^post2+i34^0 == 0 /\ 1-i2^0 <= 0 /\ i6^0-i6^post2 == 0 /\ -i8^post2+i8^0 == 0 /\ i2^0-i2^post2 == 0), cost: 1 New rule: l3 -> l1 : -1+i2^0 >= 0, cost: 1 Applied preprocessing Original rule: l3 -> l1 : i2^0'=i2^post3, i6^0'=i6^post3, i34^0'=i34^post3, i8^0'=i8^post3, (i2^0-i2^post3 == 0 /\ i6^0-i6^post3 == 0 /\ 1+i2^0 <= 0 /\ i34^0-i34^post3 == 0 /\ -i8^post3+i8^0 == 0), cost: 1 New rule: l3 -> l1 : 1+i2^0 <= 0, cost: 1 Applied preprocessing Original rule: l3 -> l2 : i2^0'=i2^post4, i6^0'=i6^post4, i34^0'=i34^post4, i8^0'=i8^post4, (i2^0 <= 0 /\ -i2^0 <= 0 /\ i2^0-i2^post4 == 0 /\ -i8^post4+i8^0 == 0 /\ -999+i34^post4 == 0 /\ -i6^post4+i6^0 == 0), cost: 1 New rule: l3 -> l2 : i34^0'=999, i2^0 == 0, cost: 1 Applied preprocessing Original rule: l2 -> l0 : i2^0'=i2^post5, i6^0'=i6^post5, i34^0'=i34^post5, i8^0'=i8^post5, (i2^0-i2^post5 == 0 /\ i6^0-i6^post5 == 0 /\ -i8^post5+i8^0 == 0 /\ -i34^post5+i34^0 == 0), cost: 1 New rule: l2 -> l0 : TRUE, cost: 1 Applied preprocessing Original rule: l4 -> l5 : i2^0'=i2^post6, i6^0'=i6^post6, i34^0'=i34^post6, i8^0'=i8^post6, (i6^0-i6^post6 == 0 /\ i8^0-i8^post6 == 0 /\ i2^0-i2^post6 == 0 /\ -i34^post6+i34^0 == 0), cost: 1 New rule: l4 -> l5 : TRUE, cost: 1 Applied preprocessing Original rule: l6 -> l8 : i2^0'=i2^post8, i6^0'=i6^post8, i34^0'=i34^post8, i8^0'=i8^post8, (1+i8^post8-i8^0 == 0 /\ -i34^post8+i34^0 == 0 /\ i2^0-i2^post8 == 0 /\ i6^0-i6^post8 == 0 /\ -i8^0 <= 0), cost: 1 New rule: l6 -> l8 : i8^0'=-1+i8^0, i8^0 >= 0, cost: 1 Applied preprocessing Original rule: l8 -> l6 : i2^0'=i2^post9, i6^0'=i6^post9, i34^0'=i34^post9, i8^0'=i8^post9, (-i6^post9+i6^0 == 0 /\ i2^0-i2^post9 == 0 /\ -i8^post9+i8^0 == 0 /\ -i34^post9+i34^0 == 0), cost: 1 New rule: l8 -> l6 : TRUE, cost: 1 Applied preprocessing Original rule: l5 -> l8 : i2^0'=i2^post10, i6^0'=i6^post10, i34^0'=i34^post10, i8^0'=i8^post10, (-999+i8^post10 == 0 /\ i2^0-i2^post10 == 0 /\ -i34^post10+i34^0 == 0 /\ 1+i6^0 <= 0 /\ i6^0-i6^post10 == 0), cost: 1 New rule: l5 -> l8 : i8^0'=999, 1+i6^0 <= 0, cost: 1 Applied preprocessing Original rule: l5 -> l4 : i2^0'=i2^post11, i6^0'=i6^post11, i34^0'=i34^post11, i8^0'=i8^post11, (i34^0-i34^post11 == 0 /\ -i6^0 <= 0 /\ -i8^post11+i8^0 == 0 /\ i2^0-i2^post11 == 0 /\ 1-i6^0+i6^post11 == 0), cost: 1 New rule: l5 -> l4 : i6^0'=-1+i6^0, i6^0 >= 0, cost: 1 Applied preprocessing Original rule: l1 -> l4 : i2^0'=i2^post12, i6^0'=i6^post12, i34^0'=i34^post12, i8^0'=i8^post12, (i34^0-i34^post12 == 0 /\ i2^0-i2^post12 == 0 /\ -i8^post12+i8^0 == 0 /\ -999+i6^post12 == 0), cost: 1 New rule: l1 -> l4 : i6^0'=999, TRUE, cost: 1 Applied preprocessing Original rule: l9 -> l3 : i2^0'=i2^post13, i6^0'=i6^post13, i34^0'=i34^post13, i8^0'=i8^post13, (-1+i2^post13 == 0 /\ -i8^post13+i8^0 == 0 /\ -i34^post13+i34^0 == 0 /\ i6^0-i6^post13 == 0), cost: 1 New rule: l9 -> l3 : i2^0'=1, TRUE, cost: 1 Applied preprocessing Original rule: l10 -> l9 : i2^0'=i2^post14, i6^0'=i6^post14, i34^0'=i34^post14, i8^0'=i8^post14, (-i8^post14+i8^0 == 0 /\ i2^0-i2^post14 == 0 /\ -i6^post14+i6^0 == 0 /\ -i34^post14+i34^0 == 0), cost: 1 New rule: l10 -> l9 : TRUE, cost: 1 Simplified rules Start location: l10 15: l0 -> l1 : 1+i34^0 <= 0, cost: 1 16: l0 -> l2 : i34^0'=-1+i34^0, i34^0 >= 0, cost: 1 26: l1 -> l4 : i6^0'=999, TRUE, cost: 1 20: l2 -> l0 : TRUE, cost: 1 17: l3 -> l1 : -1+i2^0 >= 0, cost: 1 18: l3 -> l1 : 1+i2^0 <= 0, cost: 1 19: l3 -> l2 : i34^0'=999, i2^0 == 0, cost: 1 21: l4 -> l5 : TRUE, cost: 1 24: l5 -> l8 : i8^0'=999, 1+i6^0 <= 0, cost: 1 25: l5 -> l4 : i6^0'=-1+i6^0, i6^0 >= 0, cost: 1 22: l6 -> l8 : i8^0'=-1+i8^0, i8^0 >= 0, cost: 1 23: l8 -> l6 : TRUE, cost: 1 27: l9 -> l3 : i2^0'=1, TRUE, cost: 1 28: l10 -> l9 : TRUE, cost: 1 Eliminating location l9 by chaining: Applied chaining First rule: l10 -> l9 : TRUE, cost: 1 Second rule: l9 -> l3 : i2^0'=1, TRUE, cost: 1 New rule: l10 -> l3 : i2^0'=1, TRUE, cost: 2 Applied deletion Removed the following rules: 27 28 Eliminating location l6 by chaining: Applied chaining First rule: l8 -> l6 : TRUE, cost: 1 Second rule: l6 -> l8 : i8^0'=-1+i8^0, i8^0 >= 0, cost: 1 New rule: l8 -> l8 : i8^0'=-1+i8^0, i8^0 >= 0, cost: 2 Applied deletion Removed the following rules: 22 23 Eliminated locations on linear paths Start location: l10 15: l0 -> l1 : 1+i34^0 <= 0, cost: 1 16: l0 -> l2 : i34^0'=-1+i34^0, i34^0 >= 0, cost: 1 26: l1 -> l4 : i6^0'=999, TRUE, cost: 1 20: l2 -> l0 : TRUE, cost: 1 17: l3 -> l1 : -1+i2^0 >= 0, cost: 1 18: l3 -> l1 : 1+i2^0 <= 0, cost: 1 19: l3 -> l2 : i34^0'=999, i2^0 == 0, cost: 1 21: l4 -> l5 : TRUE, cost: 1 24: l5 -> l8 : i8^0'=999, 1+i6^0 <= 0, cost: 1 25: l5 -> l4 : i6^0'=-1+i6^0, i6^0 >= 0, cost: 1 30: l8 -> l8 : i8^0'=-1+i8^0, i8^0 >= 0, cost: 2 29: l10 -> l3 : i2^0'=1, TRUE, cost: 2 Applied acceleration Original rule: l8 -> l8 : i8^0'=-1+i8^0, i8^0 >= 0, cost: 2 New rule: l8 -> l8 : i8^0'=-n0+i8^0, (n0 >= 0 /\ 1-n0+i8^0 >= 0), cost: 2*n0 Applied instantiation Original rule: l8 -> l8 : i8^0'=-n0+i8^0, (n0 >= 0 /\ 1-n0+i8^0 >= 0), cost: 2*n0 New rule: l8 -> l8 : i8^0'=-1, (0 >= 0 /\ 1+i8^0 >= 0), cost: 2+2*i8^0 Applied simplification Original rule: l8 -> l8 : i8^0'=-1, (0 >= 0 /\ 1+i8^0 >= 0), cost: 2+2*i8^0 New rule: l8 -> l8 : i8^0'=-1, 1+i8^0 >= 0, cost: 2+2*i8^0 Applied deletion Removed the following rules: 30 Accelerated simple loops Start location: l10 15: l0 -> l1 : 1+i34^0 <= 0, cost: 1 16: l0 -> l2 : i34^0'=-1+i34^0, i34^0 >= 0, cost: 1 26: l1 -> l4 : i6^0'=999, TRUE, cost: 1 20: l2 -> l0 : TRUE, cost: 1 17: l3 -> l1 : -1+i2^0 >= 0, cost: 1 18: l3 -> l1 : 1+i2^0 <= 0, cost: 1 19: l3 -> l2 : i34^0'=999, i2^0 == 0, cost: 1 21: l4 -> l5 : TRUE, cost: 1 24: l5 -> l8 : i8^0'=999, 1+i6^0 <= 0, cost: 1 25: l5 -> l4 : i6^0'=-1+i6^0, i6^0 >= 0, cost: 1 32: l8 -> l8 : i8^0'=-1, 1+i8^0 >= 0, cost: 2+2*i8^0 29: l10 -> l3 : i2^0'=1, TRUE, cost: 2 Applied chaining First rule: l5 -> l8 : i8^0'=999, 1+i6^0 <= 0, cost: 1 Second rule: l8 -> l8 : i8^0'=-1, 1+i8^0 >= 0, cost: 2+2*i8^0 New rule: l5 -> l8 : i8^0'=-1, 1+i6^0 <= 0, cost: 2001 Applied deletion Removed the following rules: 32 Chained accelerated rules with incoming rules Start location: l10 15: l0 -> l1 : 1+i34^0 <= 0, cost: 1 16: l0 -> l2 : i34^0'=-1+i34^0, i34^0 >= 0, cost: 1 26: l1 -> l4 : i6^0'=999, TRUE, cost: 1 20: l2 -> l0 : TRUE, cost: 1 17: l3 -> l1 : -1+i2^0 >= 0, cost: 1 18: l3 -> l1 : 1+i2^0 <= 0, cost: 1 19: l3 -> l2 : i34^0'=999, i2^0 == 0, cost: 1 21: l4 -> l5 : TRUE, cost: 1 24: l5 -> l8 : i8^0'=999, 1+i6^0 <= 0, cost: 1 25: l5 -> l4 : i6^0'=-1+i6^0, i6^0 >= 0, cost: 1 33: l5 -> l8 : i8^0'=-1, 1+i6^0 <= 0, cost: 2001 29: l10 -> l3 : i2^0'=1, TRUE, cost: 2 Removed unreachable locations and irrelevant leafs Start location: l10 15: l0 -> l1 : 1+i34^0 <= 0, cost: 1 16: l0 -> l2 : i34^0'=-1+i34^0, i34^0 >= 0, cost: 1 26: l1 -> l4 : i6^0'=999, TRUE, cost: 1 20: l2 -> l0 : TRUE, cost: 1 17: l3 -> l1 : -1+i2^0 >= 0, cost: 1 18: l3 -> l1 : 1+i2^0 <= 0, cost: 1 19: l3 -> l2 : i34^0'=999, i2^0 == 0, cost: 1 21: l4 -> l5 : TRUE, cost: 1 25: l5 -> l4 : i6^0'=-1+i6^0, i6^0 >= 0, cost: 1 29: l10 -> l3 : i2^0'=1, TRUE, cost: 2 Eliminating location l5 by chaining: Applied chaining First rule: l4 -> l5 : TRUE, cost: 1 Second rule: l5 -> l4 : i6^0'=-1+i6^0, i6^0 >= 0, cost: 1 New rule: l4 -> l4 : i6^0'=-1+i6^0, i6^0 >= 0, cost: 2 Applied deletion Removed the following rules: 21 25 Eliminated locations on linear paths Start location: l10 15: l0 -> l1 : 1+i34^0 <= 0, cost: 1 16: l0 -> l2 : i34^0'=-1+i34^0, i34^0 >= 0, cost: 1 26: l1 -> l4 : i6^0'=999, TRUE, cost: 1 20: l2 -> l0 : TRUE, cost: 1 17: l3 -> l1 : -1+i2^0 >= 0, cost: 1 18: l3 -> l1 : 1+i2^0 <= 0, cost: 1 19: l3 -> l2 : i34^0'=999, i2^0 == 0, cost: 1 34: l4 -> l4 : i6^0'=-1+i6^0, i6^0 >= 0, cost: 2 29: l10 -> l3 : i2^0'=1, TRUE, cost: 2 Applied acceleration Original rule: l4 -> l4 : i6^0'=-1+i6^0, i6^0 >= 0, cost: 2 New rule: l4 -> l4 : i6^0'=i6^0-n3, (1+i6^0-n3 >= 0 /\ n3 >= 0), cost: 2*n3 Applied instantiation Original rule: l4 -> l4 : i6^0'=i6^0-n3, (1+i6^0-n3 >= 0 /\ n3 >= 0), cost: 2*n3 New rule: l4 -> l4 : i6^0'=-1, (0 >= 0 /\ 1+i6^0 >= 0), cost: 2+2*i6^0 Applied simplification Original rule: l4 -> l4 : i6^0'=-1, (0 >= 0 /\ 1+i6^0 >= 0), cost: 2+2*i6^0 New rule: l4 -> l4 : i6^0'=-1, 1+i6^0 >= 0, cost: 2+2*i6^0 Applied deletion Removed the following rules: 34 Accelerated simple loops Start location: l10 15: l0 -> l1 : 1+i34^0 <= 0, cost: 1 16: l0 -> l2 : i34^0'=-1+i34^0, i34^0 >= 0, cost: 1 26: l1 -> l4 : i6^0'=999, TRUE, cost: 1 20: l2 -> l0 : TRUE, cost: 1 17: l3 -> l1 : -1+i2^0 >= 0, cost: 1 18: l3 -> l1 : 1+i2^0 <= 0, cost: 1 19: l3 -> l2 : i34^0'=999, i2^0 == 0, cost: 1 36: l4 -> l4 : i6^0'=-1, 1+i6^0 >= 0, cost: 2+2*i6^0 29: l10 -> l3 : i2^0'=1, TRUE, cost: 2 Applied chaining First rule: l1 -> l4 : i6^0'=999, TRUE, cost: 1 Second rule: l4 -> l4 : i6^0'=-1, 1+i6^0 >= 0, cost: 2+2*i6^0 New rule: l1 -> l4 : i6^0'=-1, 1000 >= 0, cost: 2001 Applied deletion Removed the following rules: 36 Chained accelerated rules with incoming rules Start location: l10 15: l0 -> l1 : 1+i34^0 <= 0, cost: 1 16: l0 -> l2 : i34^0'=-1+i34^0, i34^0 >= 0, cost: 1 26: l1 -> l4 : i6^0'=999, TRUE, cost: 1 37: l1 -> l4 : i6^0'=-1, 1000 >= 0, cost: 2001 20: l2 -> l0 : TRUE, cost: 1 17: l3 -> l1 : -1+i2^0 >= 0, cost: 1 18: l3 -> l1 : 1+i2^0 <= 0, cost: 1 19: l3 -> l2 : i34^0'=999, i2^0 == 0, cost: 1 29: l10 -> l3 : i2^0'=1, TRUE, cost: 2 Removed unreachable locations and irrelevant leafs Start location: l10 16: l0 -> l2 : i34^0'=-1+i34^0, i34^0 >= 0, cost: 1 20: l2 -> l0 : TRUE, cost: 1 19: l3 -> l2 : i34^0'=999, i2^0 == 0, cost: 1 29: l10 -> l3 : i2^0'=1, TRUE, cost: 2 Eliminating location l3 by chaining: Applied deletion Removed the following rules: 19 29 Eliminated locations on linear paths Start location: l10 16: l0 -> l2 : i34^0'=-1+i34^0, i34^0 >= 0, cost: 1 20: l2 -> l0 : TRUE, cost: 1 Removed unreachable locations and irrelevant leafs Start location: l10 Computing asymptotic complexity Proved the following lower bound Complexity: Unknown Cpx degree: ? Solved cost: 0 Rule cost: 0