WORST_CASE(Omega(0),?) Initial ITS Start location: l10 0: l0 -> l1 : i^0'=i^post0, n^0'=n^post0, j^0'=j^post0, tmp^0'=tmp^post0, (-tmp^post0+tmp^0 == 0 /\ j^0-j^post0 == 0 /\ i^0-i^post0 == 0 /\ -i^0+n^0 <= 0 /\ n^0-n^post0 == 0), cost: 1 1: l0 -> l2 : i^0'=i^post1, n^0'=n^post1, j^0'=j^post1, tmp^0'=tmp^post1, (0 == 0 /\ -j^post1+j^0 == 0 /\ i^0-i^post1 == 0 /\ 1+i^0-n^0 <= 0 /\ -n^post1+n^0 == 0), cost: 1 6: l1 -> l7 : i^0'=i^post6, n^0'=n^post6, j^0'=j^post6, tmp^0'=tmp^post6, (n^0-n^post6 == 0 /\ tmp^0-tmp^post6 == 0 /\ i^0-i^post6 == 0 /\ -j^post6+j^0 == 0), cost: 1 10: l2 -> l1 : i^0'=i^post10, n^0'=n^post10, j^0'=j^post10, tmp^0'=tmp^post10, (-tmp^post10+tmp^0 == 0 /\ i^0-i^post10 == 0 /\ -j^post10+j^0 == 0 /\ tmp^0 <= 0 /\ -tmp^0 <= 0 /\ n^0-n^post10 == 0), cost: 1 11: l2 -> l8 : i^0'=i^post11, n^0'=n^post11, j^0'=j^post11, tmp^0'=tmp^post11, (j^0-j^post11 == 0 /\ -tmp^post11+tmp^0 == 0 /\ i^0-i^post11 == 0 /\ n^0-n^post11 == 0 /\ 1-tmp^0 <= 0), cost: 1 12: l2 -> l8 : i^0'=i^post12, n^0'=n^post12, j^0'=j^post12, tmp^0'=tmp^post12, (j^0-j^post12 == 0 /\ i^0-i^post12 == 0 /\ 1+tmp^0 <= 0 /\ -tmp^post12+tmp^0 == 0 /\ n^0-n^post12 == 0), cost: 1 2: l3 -> l4 : i^0'=i^post2, n^0'=n^post2, j^0'=j^post2, tmp^0'=tmp^post2, (-j^post2+j^0 == 0 /\ n^0-n^post2 == 0 /\ -i^0+n^0 <= 0 /\ -tmp^post2+tmp^0 == 0 /\ i^0-i^post2 == 0), cost: 1 3: l3 -> l5 : i^0'=i^post3, n^0'=n^post3, j^0'=j^post3, tmp^0'=tmp^post3, (-1-i^0+i^post3 == 0 /\ n^0-n^post3 == 0 /\ 1+i^0-n^0 <= 0 /\ j^post3 == 0 /\ -tmp^post3+tmp^0 == 0), cost: 1 5: l5 -> l0 : i^0'=i^post5, n^0'=n^post5, j^0'=j^post5, tmp^0'=tmp^post5, (i^0-i^post5 == 0 /\ n^0-n^post5 == 0 /\ -tmp^post5+tmp^0 == 0 /\ -j^post5+j^0 == 0), cost: 1 4: l6 -> l3 : i^0'=i^post4, n^0'=n^post4, j^0'=j^post4, tmp^0'=tmp^post4, (i^0-i^post4 == 0 /\ -tmp^post4+tmp^0 == 0 /\ -j^post4+j^0 == 0 /\ -n^post4+n^0 == 0), cost: 1 7: l7 -> l6 : i^0'=i^post7, n^0'=n^post7, j^0'=j^post7, tmp^0'=tmp^post7, (i^0-i^post7 == 0 /\ j^0-j^post7 == 0 /\ n^0-n^post7 == 0 /\ -tmp^post7+tmp^0 == 0 /\ j^0 <= 0), cost: 1 8: l7 -> l6 : i^0'=i^post8, n^0'=n^post8, j^0'=j^post8, tmp^0'=tmp^post8, (-tmp^post8+tmp^0 == 0 /\ 1-j^0 <= 0 /\ -j^post8+j^0 == 0 /\ n^0-n^post8 == 0 /\ 1-i^0+i^post8 == 0), cost: 1 9: l8 -> l5 : i^0'=i^post9, n^0'=n^post9, j^0'=j^post9, tmp^0'=tmp^post9, (-1+j^post9-j^0 == 0 /\ -n^post9+n^0 == 0 /\ -tmp^post9+tmp^0 == 0 /\ -1-i^0+i^post9 == 0), cost: 1 13: l9 -> l6 : i^0'=i^post13, n^0'=n^post13, j^0'=j^post13, tmp^0'=tmp^post13, (-tmp^post13+tmp^0 == 0 /\ -j^post13+j^0 == 0 /\ i^post13 == 0 /\ n^0-n^post13 == 0), cost: 1 14: l10 -> l9 : i^0'=i^post14, n^0'=n^post14, j^0'=j^post14, tmp^0'=tmp^post14, (-tmp^post14+tmp^0 == 0 /\ i^0-i^post14 == 0 /\ -n^post14+n^0 == 0 /\ -j^post14+j^0 == 0), cost: 1 Removed unreachable rules and leafs Start location: l10 0: l0 -> l1 : i^0'=i^post0, n^0'=n^post0, j^0'=j^post0, tmp^0'=tmp^post0, (-tmp^post0+tmp^0 == 0 /\ j^0-j^post0 == 0 /\ i^0-i^post0 == 0 /\ -i^0+n^0 <= 0 /\ n^0-n^post0 == 0), cost: 1 1: l0 -> l2 : i^0'=i^post1, n^0'=n^post1, j^0'=j^post1, tmp^0'=tmp^post1, (0 == 0 /\ -j^post1+j^0 == 0 /\ i^0-i^post1 == 0 /\ 1+i^0-n^0 <= 0 /\ -n^post1+n^0 == 0), cost: 1 6: l1 -> l7 : i^0'=i^post6, n^0'=n^post6, j^0'=j^post6, tmp^0'=tmp^post6, (n^0-n^post6 == 0 /\ tmp^0-tmp^post6 == 0 /\ i^0-i^post6 == 0 /\ -j^post6+j^0 == 0), cost: 1 10: l2 -> l1 : i^0'=i^post10, n^0'=n^post10, j^0'=j^post10, tmp^0'=tmp^post10, (-tmp^post10+tmp^0 == 0 /\ i^0-i^post10 == 0 /\ -j^post10+j^0 == 0 /\ tmp^0 <= 0 /\ -tmp^0 <= 0 /\ n^0-n^post10 == 0), cost: 1 11: l2 -> l8 : i^0'=i^post11, n^0'=n^post11, j^0'=j^post11, tmp^0'=tmp^post11, (j^0-j^post11 == 0 /\ -tmp^post11+tmp^0 == 0 /\ i^0-i^post11 == 0 /\ n^0-n^post11 == 0 /\ 1-tmp^0 <= 0), cost: 1 12: l2 -> l8 : i^0'=i^post12, n^0'=n^post12, j^0'=j^post12, tmp^0'=tmp^post12, (j^0-j^post12 == 0 /\ i^0-i^post12 == 0 /\ 1+tmp^0 <= 0 /\ -tmp^post12+tmp^0 == 0 /\ n^0-n^post12 == 0), cost: 1 3: l3 -> l5 : i^0'=i^post3, n^0'=n^post3, j^0'=j^post3, tmp^0'=tmp^post3, (-1-i^0+i^post3 == 0 /\ n^0-n^post3 == 0 /\ 1+i^0-n^0 <= 0 /\ j^post3 == 0 /\ -tmp^post3+tmp^0 == 0), cost: 1 5: l5 -> l0 : i^0'=i^post5, n^0'=n^post5, j^0'=j^post5, tmp^0'=tmp^post5, (i^0-i^post5 == 0 /\ n^0-n^post5 == 0 /\ -tmp^post5+tmp^0 == 0 /\ -j^post5+j^0 == 0), cost: 1 4: l6 -> l3 : i^0'=i^post4, n^0'=n^post4, j^0'=j^post4, tmp^0'=tmp^post4, (i^0-i^post4 == 0 /\ -tmp^post4+tmp^0 == 0 /\ -j^post4+j^0 == 0 /\ -n^post4+n^0 == 0), cost: 1 7: l7 -> l6 : i^0'=i^post7, n^0'=n^post7, j^0'=j^post7, tmp^0'=tmp^post7, (i^0-i^post7 == 0 /\ j^0-j^post7 == 0 /\ n^0-n^post7 == 0 /\ -tmp^post7+tmp^0 == 0 /\ j^0 <= 0), cost: 1 8: l7 -> l6 : i^0'=i^post8, n^0'=n^post8, j^0'=j^post8, tmp^0'=tmp^post8, (-tmp^post8+tmp^0 == 0 /\ 1-j^0 <= 0 /\ -j^post8+j^0 == 0 /\ n^0-n^post8 == 0 /\ 1-i^0+i^post8 == 0), cost: 1 9: l8 -> l5 : i^0'=i^post9, n^0'=n^post9, j^0'=j^post9, tmp^0'=tmp^post9, (-1+j^post9-j^0 == 0 /\ -n^post9+n^0 == 0 /\ -tmp^post9+tmp^0 == 0 /\ -1-i^0+i^post9 == 0), cost: 1 13: l9 -> l6 : i^0'=i^post13, n^0'=n^post13, j^0'=j^post13, tmp^0'=tmp^post13, (-tmp^post13+tmp^0 == 0 /\ -j^post13+j^0 == 0 /\ i^post13 == 0 /\ n^0-n^post13 == 0), cost: 1 14: l10 -> l9 : i^0'=i^post14, n^0'=n^post14, j^0'=j^post14, tmp^0'=tmp^post14, (-tmp^post14+tmp^0 == 0 /\ i^0-i^post14 == 0 /\ -n^post14+n^0 == 0 /\ -j^post14+j^0 == 0), cost: 1 Applied preprocessing Original rule: l0 -> l1 : i^0'=i^post0, n^0'=n^post0, j^0'=j^post0, tmp^0'=tmp^post0, (-tmp^post0+tmp^0 == 0 /\ j^0-j^post0 == 0 /\ i^0-i^post0 == 0 /\ -i^0+n^0 <= 0 /\ n^0-n^post0 == 0), cost: 1 New rule: l0 -> l1 : -i^0+n^0 <= 0, cost: 1 Applied preprocessing Original rule: l0 -> l2 : i^0'=i^post1, n^0'=n^post1, j^0'=j^post1, tmp^0'=tmp^post1, (0 == 0 /\ -j^post1+j^0 == 0 /\ i^0-i^post1 == 0 /\ 1+i^0-n^0 <= 0 /\ -n^post1+n^0 == 0), cost: 1 New rule: l0 -> l2 : tmp^0'=tmp^post1, 1+i^0-n^0 <= 0, cost: 1 Applied preprocessing Original rule: l3 -> l5 : i^0'=i^post3, n^0'=n^post3, j^0'=j^post3, tmp^0'=tmp^post3, (-1-i^0+i^post3 == 0 /\ n^0-n^post3 == 0 /\ 1+i^0-n^0 <= 0 /\ j^post3 == 0 /\ -tmp^post3+tmp^0 == 0), cost: 1 New rule: l3 -> l5 : i^0'=1+i^0, j^0'=0, 1+i^0-n^0 <= 0, cost: 1 Applied preprocessing Original rule: l6 -> l3 : i^0'=i^post4, n^0'=n^post4, j^0'=j^post4, tmp^0'=tmp^post4, (i^0-i^post4 == 0 /\ -tmp^post4+tmp^0 == 0 /\ -j^post4+j^0 == 0 /\ -n^post4+n^0 == 0), cost: 1 New rule: l6 -> l3 : TRUE, cost: 1 Applied preprocessing Original rule: l5 -> l0 : i^0'=i^post5, n^0'=n^post5, j^0'=j^post5, tmp^0'=tmp^post5, (i^0-i^post5 == 0 /\ n^0-n^post5 == 0 /\ -tmp^post5+tmp^0 == 0 /\ -j^post5+j^0 == 0), cost: 1 New rule: l5 -> l0 : TRUE, cost: 1 Applied preprocessing Original rule: l1 -> l7 : i^0'=i^post6, n^0'=n^post6, j^0'=j^post6, tmp^0'=tmp^post6, (n^0-n^post6 == 0 /\ tmp^0-tmp^post6 == 0 /\ i^0-i^post6 == 0 /\ -j^post6+j^0 == 0), cost: 1 New rule: l1 -> l7 : TRUE, cost: 1 Applied preprocessing Original rule: l7 -> l6 : i^0'=i^post7, n^0'=n^post7, j^0'=j^post7, tmp^0'=tmp^post7, (i^0-i^post7 == 0 /\ j^0-j^post7 == 0 /\ n^0-n^post7 == 0 /\ -tmp^post7+tmp^0 == 0 /\ j^0 <= 0), cost: 1 New rule: l7 -> l6 : j^0 <= 0, cost: 1 Applied preprocessing Original rule: l7 -> l6 : i^0'=i^post8, n^0'=n^post8, j^0'=j^post8, tmp^0'=tmp^post8, (-tmp^post8+tmp^0 == 0 /\ 1-j^0 <= 0 /\ -j^post8+j^0 == 0 /\ n^0-n^post8 == 0 /\ 1-i^0+i^post8 == 0), cost: 1 New rule: l7 -> l6 : i^0'=-1+i^0, -1+j^0 >= 0, cost: 1 Applied preprocessing Original rule: l8 -> l5 : i^0'=i^post9, n^0'=n^post9, j^0'=j^post9, tmp^0'=tmp^post9, (-1+j^post9-j^0 == 0 /\ -n^post9+n^0 == 0 /\ -tmp^post9+tmp^0 == 0 /\ -1-i^0+i^post9 == 0), cost: 1 New rule: l8 -> l5 : i^0'=1+i^0, j^0'=1+j^0, TRUE, cost: 1 Applied preprocessing Original rule: l2 -> l1 : i^0'=i^post10, n^0'=n^post10, j^0'=j^post10, tmp^0'=tmp^post10, (-tmp^post10+tmp^0 == 0 /\ i^0-i^post10 == 0 /\ -j^post10+j^0 == 0 /\ tmp^0 <= 0 /\ -tmp^0 <= 0 /\ n^0-n^post10 == 0), cost: 1 New rule: l2 -> l1 : tmp^0 == 0, cost: 1 Applied preprocessing Original rule: l2 -> l8 : i^0'=i^post11, n^0'=n^post11, j^0'=j^post11, tmp^0'=tmp^post11, (j^0-j^post11 == 0 /\ -tmp^post11+tmp^0 == 0 /\ i^0-i^post11 == 0 /\ n^0-n^post11 == 0 /\ 1-tmp^0 <= 0), cost: 1 New rule: l2 -> l8 : -1+tmp^0 >= 0, cost: 1 Applied preprocessing Original rule: l2 -> l8 : i^0'=i^post12, n^0'=n^post12, j^0'=j^post12, tmp^0'=tmp^post12, (j^0-j^post12 == 0 /\ i^0-i^post12 == 0 /\ 1+tmp^0 <= 0 /\ -tmp^post12+tmp^0 == 0 /\ n^0-n^post12 == 0), cost: 1 New rule: l2 -> l8 : 1+tmp^0 <= 0, cost: 1 Applied preprocessing Original rule: l9 -> l6 : i^0'=i^post13, n^0'=n^post13, j^0'=j^post13, tmp^0'=tmp^post13, (-tmp^post13+tmp^0 == 0 /\ -j^post13+j^0 == 0 /\ i^post13 == 0 /\ n^0-n^post13 == 0), cost: 1 New rule: l9 -> l6 : i^0'=0, TRUE, cost: 1 Applied preprocessing Original rule: l10 -> l9 : i^0'=i^post14, n^0'=n^post14, j^0'=j^post14, tmp^0'=tmp^post14, (-tmp^post14+tmp^0 == 0 /\ i^0-i^post14 == 0 /\ -n^post14+n^0 == 0 /\ -j^post14+j^0 == 0), cost: 1 New rule: l10 -> l9 : TRUE, cost: 1 Simplified rules Start location: l10 15: l0 -> l1 : -i^0+n^0 <= 0, cost: 1 16: l0 -> l2 : tmp^0'=tmp^post1, 1+i^0-n^0 <= 0, cost: 1 20: l1 -> l7 : TRUE, cost: 1 24: l2 -> l1 : tmp^0 == 0, cost: 1 25: l2 -> l8 : -1+tmp^0 >= 0, cost: 1 26: l2 -> l8 : 1+tmp^0 <= 0, cost: 1 17: l3 -> l5 : i^0'=1+i^0, j^0'=0, 1+i^0-n^0 <= 0, cost: 1 19: l5 -> l0 : TRUE, cost: 1 18: l6 -> l3 : TRUE, cost: 1 21: l7 -> l6 : j^0 <= 0, cost: 1 22: l7 -> l6 : i^0'=-1+i^0, -1+j^0 >= 0, cost: 1 23: l8 -> l5 : i^0'=1+i^0, j^0'=1+j^0, TRUE, cost: 1 27: l9 -> l6 : i^0'=0, 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 -> l6 : i^0'=0, TRUE, cost: 1 New rule: l10 -> l6 : i^0'=0, TRUE, cost: 2 Applied deletion Removed the following rules: 27 28 Eliminating location l3 by chaining: Applied chaining First rule: l6 -> l3 : TRUE, cost: 1 Second rule: l3 -> l5 : i^0'=1+i^0, j^0'=0, 1+i^0-n^0 <= 0, cost: 1 New rule: l6 -> l5 : i^0'=1+i^0, j^0'=0, 1+i^0-n^0 <= 0, cost: 2 Applied deletion Removed the following rules: 17 18 Eliminated locations on linear paths Start location: l10 15: l0 -> l1 : -i^0+n^0 <= 0, cost: 1 16: l0 -> l2 : tmp^0'=tmp^post1, 1+i^0-n^0 <= 0, cost: 1 20: l1 -> l7 : TRUE, cost: 1 24: l2 -> l1 : tmp^0 == 0, cost: 1 25: l2 -> l8 : -1+tmp^0 >= 0, cost: 1 26: l2 -> l8 : 1+tmp^0 <= 0, cost: 1 19: l5 -> l0 : TRUE, cost: 1 30: l6 -> l5 : i^0'=1+i^0, j^0'=0, 1+i^0-n^0 <= 0, cost: 2 21: l7 -> l6 : j^0 <= 0, cost: 1 22: l7 -> l6 : i^0'=-1+i^0, -1+j^0 >= 0, cost: 1 23: l8 -> l5 : i^0'=1+i^0, j^0'=1+j^0, TRUE, cost: 1 29: l10 -> l6 : i^0'=0, TRUE, cost: 2 Eliminating location l0 by chaining: Applied chaining First rule: l5 -> l0 : TRUE, cost: 1 Second rule: l0 -> l1 : -i^0+n^0 <= 0, cost: 1 New rule: l5 -> l1 : -i^0+n^0 <= 0, cost: 2 Applied chaining First rule: l5 -> l0 : TRUE, cost: 1 Second rule: l0 -> l2 : tmp^0'=tmp^post1, 1+i^0-n^0 <= 0, cost: 1 New rule: l5 -> l2 : tmp^0'=tmp^post1, 1+i^0-n^0 <= 0, cost: 2 Applied deletion Removed the following rules: 15 16 19 Eliminating location l7 by chaining: Applied chaining First rule: l1 -> l7 : TRUE, cost: 1 Second rule: l7 -> l6 : j^0 <= 0, cost: 1 New rule: l1 -> l6 : j^0 <= 0, cost: 2 Applied chaining First rule: l1 -> l7 : TRUE, cost: 1 Second rule: l7 -> l6 : i^0'=-1+i^0, -1+j^0 >= 0, cost: 1 New rule: l1 -> l6 : i^0'=-1+i^0, -1+j^0 >= 0, cost: 2 Applied deletion Removed the following rules: 20 21 22 Eliminating location l8 by chaining: Applied chaining First rule: l2 -> l8 : -1+tmp^0 >= 0, cost: 1 Second rule: l8 -> l5 : i^0'=1+i^0, j^0'=1+j^0, TRUE, cost: 1 New rule: l2 -> l5 : i^0'=1+i^0, j^0'=1+j^0, -1+tmp^0 >= 0, cost: 2 Applied chaining First rule: l2 -> l8 : 1+tmp^0 <= 0, cost: 1 Second rule: l8 -> l5 : i^0'=1+i^0, j^0'=1+j^0, TRUE, cost: 1 New rule: l2 -> l5 : i^0'=1+i^0, j^0'=1+j^0, 1+tmp^0 <= 0, cost: 2 Applied deletion Removed the following rules: 23 25 26 Eliminated locations on tree-shaped paths Start location: l10 33: l1 -> l6 : j^0 <= 0, cost: 2 34: l1 -> l6 : i^0'=-1+i^0, -1+j^0 >= 0, cost: 2 24: l2 -> l1 : tmp^0 == 0, cost: 1 35: l2 -> l5 : i^0'=1+i^0, j^0'=1+j^0, -1+tmp^0 >= 0, cost: 2 36: l2 -> l5 : i^0'=1+i^0, j^0'=1+j^0, 1+tmp^0 <= 0, cost: 2 31: l5 -> l1 : -i^0+n^0 <= 0, cost: 2 32: l5 -> l2 : tmp^0'=tmp^post1, 1+i^0-n^0 <= 0, cost: 2 30: l6 -> l5 : i^0'=1+i^0, j^0'=0, 1+i^0-n^0 <= 0, cost: 2 29: l10 -> l6 : i^0'=0, TRUE, cost: 2 Applied merging first rule: l2 -> l5 : i^0'=1+i^0, j^0'=1+j^0, -1+tmp^0 >= 0, cost: 2 second rule: l2 -> l5 : i^0'=1+i^0, j^0'=1+j^0, 1+tmp^0 <= 0, cost: 2 new rule: l2 -> l5 : i^0'=1+i^0, j^0'=1+j^0, (1+tmp^0 <= 0 \/ -1+tmp^0 >= 0), cost: 2 Merged rules Start location: l10 33: l1 -> l6 : j^0 <= 0, cost: 2 34: l1 -> l6 : i^0'=-1+i^0, -1+j^0 >= 0, cost: 2 24: l2 -> l1 : tmp^0 == 0, cost: 1 37: l2 -> l5 : i^0'=1+i^0, j^0'=1+j^0, (1+tmp^0 <= 0 \/ -1+tmp^0 >= 0), cost: 2 31: l5 -> l1 : -i^0+n^0 <= 0, cost: 2 32: l5 -> l2 : tmp^0'=tmp^post1, 1+i^0-n^0 <= 0, cost: 2 30: l6 -> l5 : i^0'=1+i^0, j^0'=0, 1+i^0-n^0 <= 0, cost: 2 29: l10 -> l6 : i^0'=0, TRUE, cost: 2 Eliminating location l2 by chaining: Applied chaining First rule: l5 -> l2 : tmp^0'=tmp^post1, 1+i^0-n^0 <= 0, cost: 2 Second rule: l2 -> l1 : tmp^0 == 0, cost: 1 New rule: l5 -> l1 : tmp^0'=tmp^post1, (tmp^post1 == 0 /\ 1+i^0-n^0 <= 0), cost: 3 Applied chaining First rule: l5 -> l2 : tmp^0'=tmp^post1, 1+i^0-n^0 <= 0, cost: 2 Second rule: l2 -> l5 : i^0'=1+i^0, j^0'=1+j^0, (1+tmp^0 <= 0 \/ -1+tmp^0 >= 0), cost: 2 New rule: l5 -> l5 : i^0'=1+i^0, j^0'=1+j^0, tmp^0'=tmp^post1, (1+i^0-n^0 <= 0 /\ (1+tmp^post1 <= 0 \/ -1+tmp^post1 >= 0)), cost: 4 Applied deletion Removed the following rules: 24 32 37 Eliminated locations on tree-shaped paths Start location: l10 33: l1 -> l6 : j^0 <= 0, cost: 2 34: l1 -> l6 : i^0'=-1+i^0, -1+j^0 >= 0, cost: 2 31: l5 -> l1 : -i^0+n^0 <= 0, cost: 2 38: l5 -> l1 : tmp^0'=tmp^post1, (tmp^post1 == 0 /\ 1+i^0-n^0 <= 0), cost: 3 39: l5 -> l5 : i^0'=1+i^0, j^0'=1+j^0, tmp^0'=tmp^post1, (1+i^0-n^0 <= 0 /\ (1+tmp^post1 <= 0 \/ -1+tmp^post1 >= 0)), cost: 4 30: l6 -> l5 : i^0'=1+i^0, j^0'=0, 1+i^0-n^0 <= 0, cost: 2 29: l10 -> l6 : i^0'=0, TRUE, cost: 2 Applied acceleration Original rule: l5 -> l5 : i^0'=1+i^0, j^0'=1+j^0, tmp^0'=tmp^post1, (1+i^0-n^0 <= 0 /\ (1+tmp^post1 <= 0 \/ -1+tmp^post1 >= 0)), cost: 4 New rule: l5 -> l5 : i^0'=i^0+n0, j^0'=j^0+n0, tmp^0'=tmp^post1, (-1+n0 >= 0 /\ -i^0+n^0-n0 >= 0 /\ (-1-tmp^post1 >= 0 \/ -1+tmp^post1 >= 0)), cost: 4*n0 Applied instantiation Original rule: l5 -> l5 : i^0'=i^0+n0, j^0'=j^0+n0, tmp^0'=tmp^post1, (-1+n0 >= 0 /\ -i^0+n^0-n0 >= 0 /\ (-1-tmp^post1 >= 0 \/ -1+tmp^post1 >= 0)), cost: 4*n0 New rule: l5 -> l5 : i^0'=n^0, j^0'=-i^0+n^0+j^0, tmp^0'=tmp^post1, (0 >= 0 /\ -1-i^0+n^0 >= 0 /\ (-1-tmp^post1 >= 0 \/ -1+tmp^post1 >= 0)), cost: -4*i^0+4*n^0 Applied simplification Original rule: l5 -> l5 : i^0'=n^0, j^0'=-i^0+n^0+j^0, tmp^0'=tmp^post1, (0 >= 0 /\ -1-i^0+n^0 >= 0 /\ (-1-tmp^post1 >= 0 \/ -1+tmp^post1 >= 0)), cost: -4*i^0+4*n^0 New rule: l5 -> l5 : i^0'=n^0, j^0'=-i^0+n^0+j^0, tmp^0'=tmp^post1, (-1-i^0+n^0 >= 0 /\ (1+tmp^post1 <= 0 \/ -1+tmp^post1 >= 0)), cost: -4*i^0+4*n^0 Applied deletion Removed the following rules: 39 Accelerated simple loops Start location: l10 33: l1 -> l6 : j^0 <= 0, cost: 2 34: l1 -> l6 : i^0'=-1+i^0, -1+j^0 >= 0, cost: 2 31: l5 -> l1 : -i^0+n^0 <= 0, cost: 2 38: l5 -> l1 : tmp^0'=tmp^post1, (tmp^post1 == 0 /\ 1+i^0-n^0 <= 0), cost: 3 41: l5 -> l5 : i^0'=n^0, j^0'=-i^0+n^0+j^0, tmp^0'=tmp^post1, (-1-i^0+n^0 >= 0 /\ (1+tmp^post1 <= 0 \/ -1+tmp^post1 >= 0)), cost: -4*i^0+4*n^0 30: l6 -> l5 : i^0'=1+i^0, j^0'=0, 1+i^0-n^0 <= 0, cost: 2 29: l10 -> l6 : i^0'=0, TRUE, cost: 2 Applied chaining First rule: l6 -> l5 : i^0'=1+i^0, j^0'=0, 1+i^0-n^0 <= 0, cost: 2 Second rule: l5 -> l5 : i^0'=n^0, j^0'=-i^0+n^0+j^0, tmp^0'=tmp^post1, (-1-i^0+n^0 >= 0 /\ (1+tmp^post1 <= 0 \/ -1+tmp^post1 >= 0)), cost: -4*i^0+4*n^0 New rule: l6 -> l5 : i^0'=n^0, j^0'=-1-i^0+n^0, tmp^0'=tmp^post1, (-2-i^0+n^0 >= 0 /\ (1+tmp^post1 <= 0 \/ -1+tmp^post1 >= 0)), cost: -2-4*i^0+4*n^0 Applied deletion Removed the following rules: 41 Chained accelerated rules with incoming rules Start location: l10 33: l1 -> l6 : j^0 <= 0, cost: 2 34: l1 -> l6 : i^0'=-1+i^0, -1+j^0 >= 0, cost: 2 31: l5 -> l1 : -i^0+n^0 <= 0, cost: 2 38: l5 -> l1 : tmp^0'=tmp^post1, (tmp^post1 == 0 /\ 1+i^0-n^0 <= 0), cost: 3 30: l6 -> l5 : i^0'=1+i^0, j^0'=0, 1+i^0-n^0 <= 0, cost: 2 42: l6 -> l5 : i^0'=n^0, j^0'=-1-i^0+n^0, tmp^0'=tmp^post1, (-2-i^0+n^0 >= 0 /\ (1+tmp^post1 <= 0 \/ -1+tmp^post1 >= 0)), cost: -2-4*i^0+4*n^0 29: l10 -> l6 : i^0'=0, TRUE, cost: 2 Eliminating location l5 by chaining: Applied chaining First rule: l6 -> l5 : i^0'=1+i^0, j^0'=0, 1+i^0-n^0 <= 0, cost: 2 Second rule: l5 -> l1 : -i^0+n^0 <= 0, cost: 2 New rule: l6 -> l1 : i^0'=1+i^0, j^0'=0, (-1-i^0+n^0 <= 0 /\ 1+i^0-n^0 <= 0), cost: 4 Applied chaining First rule: l6 -> l5 : i^0'=1+i^0, j^0'=0, 1+i^0-n^0 <= 0, cost: 2 Second rule: l5 -> l1 : tmp^0'=tmp^post1, (tmp^post1 == 0 /\ 1+i^0-n^0 <= 0), cost: 3 New rule: l6 -> l1 : i^0'=1+i^0, j^0'=0, tmp^0'=tmp^post1, (tmp^post1 == 0 /\ 1+i^0-n^0 <= 0 /\ 2+i^0-n^0 <= 0), cost: 5 Applied simplification Original rule: l6 -> l1 : i^0'=1+i^0, j^0'=0, tmp^0'=tmp^post1, (tmp^post1 == 0 /\ 1+i^0-n^0 <= 0 /\ 2+i^0-n^0 <= 0), cost: 5 New rule: l6 -> l1 : i^0'=1+i^0, j^0'=0, tmp^0'=tmp^post1, (tmp^post1 == 0 /\ 2+i^0-n^0 <= 0), cost: 5 Applied chaining First rule: l6 -> l5 : i^0'=n^0, j^0'=-1-i^0+n^0, tmp^0'=tmp^post1, (-2-i^0+n^0 >= 0 /\ (1+tmp^post1 <= 0 \/ -1+tmp^post1 >= 0)), cost: -2-4*i^0+4*n^0 Second rule: l5 -> l1 : -i^0+n^0 <= 0, cost: 2 New rule: l6 -> l1 : i^0'=n^0, j^0'=-1-i^0+n^0, tmp^0'=tmp^post1, (0 <= 0 /\ -2-i^0+n^0 >= 0 /\ (1+tmp^post1 <= 0 \/ -1+tmp^post1 >= 0)), cost: -4*i^0+4*n^0 Applied simplification Original rule: l6 -> l1 : i^0'=n^0, j^0'=-1-i^0+n^0, tmp^0'=tmp^post1, (0 <= 0 /\ -2-i^0+n^0 >= 0 /\ (1+tmp^post1 <= 0 \/ -1+tmp^post1 >= 0)), cost: -4*i^0+4*n^0 New rule: l6 -> l1 : i^0'=n^0, j^0'=-1-i^0+n^0, tmp^0'=tmp^post1, (-2-i^0+n^0 >= 0 /\ (1+tmp^post1 <= 0 \/ -1+tmp^post1 >= 0)), cost: -4*i^0+4*n^0 Applied partial deletion Original rule: l6 -> l5 : i^0'=n^0, j^0'=-1-i^0+n^0, tmp^0'=tmp^post1, (-2-i^0+n^0 >= 0 /\ (1+tmp^post1 <= 0 \/ -1+tmp^post1 >= 0)), cost: -2-4*i^0+4*n^0 New rule: l6 -> [12] : (-2-i^0+n^0 >= 0 /\ (1+tmp^post1 <= 0 \/ -1+tmp^post1 >= 0)), cost: -2-4*i^0+4*n^0 Applied deletion Removed the following rules: 30 31 38 42 Eliminated locations on tree-shaped paths Start location: l10 33: l1 -> l6 : j^0 <= 0, cost: 2 34: l1 -> l6 : i^0'=-1+i^0, -1+j^0 >= 0, cost: 2 43: l6 -> l1 : i^0'=1+i^0, j^0'=0, (-1-i^0+n^0 <= 0 /\ 1+i^0-n^0 <= 0), cost: 4 44: l6 -> l1 : i^0'=1+i^0, j^0'=0, tmp^0'=tmp^post1, (tmp^post1 == 0 /\ 2+i^0-n^0 <= 0), cost: 5 45: l6 -> l1 : i^0'=n^0, j^0'=-1-i^0+n^0, tmp^0'=tmp^post1, (-2-i^0+n^0 >= 0 /\ (1+tmp^post1 <= 0 \/ -1+tmp^post1 >= 0)), cost: -4*i^0+4*n^0 46: l6 -> [12] : (-2-i^0+n^0 >= 0 /\ (1+tmp^post1 <= 0 \/ -1+tmp^post1 >= 0)), cost: -2-4*i^0+4*n^0 29: l10 -> l6 : i^0'=0, TRUE, cost: 2 Applied pruning (of leafs and parallel rules): Start location: l10 33: l1 -> l6 : j^0 <= 0, cost: 2 34: l1 -> l6 : i^0'=-1+i^0, -1+j^0 >= 0, cost: 2 43: l6 -> l1 : i^0'=1+i^0, j^0'=0, (-1-i^0+n^0 <= 0 /\ 1+i^0-n^0 <= 0), cost: 4 44: l6 -> l1 : i^0'=1+i^0, j^0'=0, tmp^0'=tmp^post1, (tmp^post1 == 0 /\ 2+i^0-n^0 <= 0), cost: 5 45: l6 -> l1 : i^0'=n^0, j^0'=-1-i^0+n^0, tmp^0'=tmp^post1, (-2-i^0+n^0 >= 0 /\ (1+tmp^post1 <= 0 \/ -1+tmp^post1 >= 0)), cost: -4*i^0+4*n^0 29: l10 -> l6 : i^0'=0, TRUE, cost: 2 Eliminating location l1 by chaining: Applied chaining First rule: l6 -> l1 : i^0'=1+i^0, j^0'=0, (-1-i^0+n^0 <= 0 /\ 1+i^0-n^0 <= 0), cost: 4 Second rule: l1 -> l6 : j^0 <= 0, cost: 2 New rule: l6 -> l6 : i^0'=1+i^0, j^0'=0, (0 <= 0 /\ -1-i^0+n^0 <= 0 /\ 1+i^0-n^0 <= 0), cost: 6 Applied simplification Original rule: l6 -> l6 : i^0'=1+i^0, j^0'=0, (0 <= 0 /\ -1-i^0+n^0 <= 0 /\ 1+i^0-n^0 <= 0), cost: 6 New rule: l6 -> l6 : i^0'=1+i^0, j^0'=0, (-1-i^0+n^0 <= 0 /\ 1+i^0-n^0 <= 0), cost: 6 Applied chaining First rule: l6 -> l1 : i^0'=1+i^0, j^0'=0, tmp^0'=tmp^post1, (tmp^post1 == 0 /\ 2+i^0-n^0 <= 0), cost: 5 Second rule: l1 -> l6 : j^0 <= 0, cost: 2 New rule: l6 -> l6 : i^0'=1+i^0, j^0'=0, tmp^0'=tmp^post1, (0 <= 0 /\ tmp^post1 == 0 /\ 2+i^0-n^0 <= 0), cost: 7 Applied simplification Original rule: l6 -> l6 : i^0'=1+i^0, j^0'=0, tmp^0'=tmp^post1, (0 <= 0 /\ tmp^post1 == 0 /\ 2+i^0-n^0 <= 0), cost: 7 New rule: l6 -> l6 : i^0'=1+i^0, j^0'=0, tmp^0'=tmp^post1, (tmp^post1 == 0 /\ 2+i^0-n^0 <= 0), cost: 7 Applied chaining First rule: l6 -> l1 : i^0'=n^0, j^0'=-1-i^0+n^0, tmp^0'=tmp^post1, (-2-i^0+n^0 >= 0 /\ (1+tmp^post1 <= 0 \/ -1+tmp^post1 >= 0)), cost: -4*i^0+4*n^0 Second rule: l1 -> l6 : i^0'=-1+i^0, -1+j^0 >= 0, cost: 2 New rule: l6 -> l6 : i^0'=-1+n^0, j^0'=-1-i^0+n^0, tmp^0'=tmp^post1, (-2-i^0+n^0 >= 0 /\ (1+tmp^post1 <= 0 \/ -1+tmp^post1 >= 0)), cost: 2-4*i^0+4*n^0 Applied partial deletion Original rule: l6 -> l1 : i^0'=n^0, j^0'=-1-i^0+n^0, tmp^0'=tmp^post1, (-2-i^0+n^0 >= 0 /\ (1+tmp^post1 <= 0 \/ -1+tmp^post1 >= 0)), cost: -4*i^0+4*n^0 New rule: l6 -> [13] : (-2-i^0+n^0 >= 0 /\ (1+tmp^post1 <= 0 \/ -1+tmp^post1 >= 0)), cost: -4*i^0+4*n^0 Applied deletion Removed the following rules: 33 34 43 44 45 Eliminated locations on tree-shaped paths Start location: l10 47: l6 -> l6 : i^0'=1+i^0, j^0'=0, (-1-i^0+n^0 <= 0 /\ 1+i^0-n^0 <= 0), cost: 6 48: l6 -> l6 : i^0'=1+i^0, j^0'=0, tmp^0'=tmp^post1, (tmp^post1 == 0 /\ 2+i^0-n^0 <= 0), cost: 7 49: l6 -> l6 : i^0'=-1+n^0, j^0'=-1-i^0+n^0, tmp^0'=tmp^post1, (-2-i^0+n^0 >= 0 /\ (1+tmp^post1 <= 0 \/ -1+tmp^post1 >= 0)), cost: 2-4*i^0+4*n^0 50: l6 -> [13] : (-2-i^0+n^0 >= 0 /\ (1+tmp^post1 <= 0 \/ -1+tmp^post1 >= 0)), cost: -4*i^0+4*n^0 29: l10 -> l6 : i^0'=0, TRUE, cost: 2 Applied pruning (of leafs and parallel rules): Start location: l10 47: l6 -> l6 : i^0'=1+i^0, j^0'=0, (-1-i^0+n^0 <= 0 /\ 1+i^0-n^0 <= 0), cost: 6 48: l6 -> l6 : i^0'=1+i^0, j^0'=0, tmp^0'=tmp^post1, (tmp^post1 == 0 /\ 2+i^0-n^0 <= 0), cost: 7 49: l6 -> l6 : i^0'=-1+n^0, j^0'=-1-i^0+n^0, tmp^0'=tmp^post1, (-2-i^0+n^0 >= 0 /\ (1+tmp^post1 <= 0 \/ -1+tmp^post1 >= 0)), cost: 2-4*i^0+4*n^0 29: l10 -> l6 : i^0'=0, TRUE, cost: 2 Applied simplification Original rule: l6 -> l6 : i^0'=1+i^0, j^0'=0, (-1-i^0+n^0 <= 0 /\ 1+i^0-n^0 <= 0), cost: 6 New rule: l6 -> l6 : i^0'=1+i^0, j^0'=0, -1-i^0+n^0 == 0, cost: 6 Applied simplification Original rule: l6 -> l6 : i^0'=1+i^0, j^0'=0, tmp^0'=tmp^post1, (tmp^post1 == 0 /\ 2+i^0-n^0 <= 0), cost: 7 New rule: l6 -> l6 : i^0'=1+i^0, j^0'=0, tmp^0'=0, 2+i^0-n^0 <= 0, cost: 7 Simplified simple loops Start location: l10 49: l6 -> l6 : i^0'=-1+n^0, j^0'=-1-i^0+n^0, tmp^0'=tmp^post1, (-2-i^0+n^0 >= 0 /\ (1+tmp^post1 <= 0 \/ -1+tmp^post1 >= 0)), cost: 2-4*i^0+4*n^0 51: l6 -> l6 : i^0'=1+i^0, j^0'=0, -1-i^0+n^0 == 0, cost: 6 52: l6 -> l6 : i^0'=1+i^0, j^0'=0, tmp^0'=0, 2+i^0-n^0 <= 0, cost: 7 29: l10 -> l6 : i^0'=0, TRUE, cost: 2 Applied acceleration Original rule: l6 -> l6 : i^0'=1+i^0, j^0'=0, -1-i^0+n^0 == 0, cost: 6 New rule: l6 -> l6 : i^0'=i^0+n5, j^0'=0, (-1+n5 >= 0 /\ -1-i^0+n^0 >= 0 /\ -i^0-n5+n^0 >= 0 /\ 1+i^0-n^0 >= 0), cost: 6*n5 Applied instantiation Original rule: l6 -> l6 : i^0'=i^0+n5, j^0'=0, (-1+n5 >= 0 /\ -1-i^0+n^0 >= 0 /\ -i^0-n5+n^0 >= 0 /\ 1+i^0-n^0 >= 0), cost: 6*n5 New rule: l6 -> l6 : i^0'=n^0, j^0'=0, (0 >= 0 /\ -1-i^0+n^0 >= 0 /\ 1+i^0-n^0 >= 0), cost: -6*i^0+6*n^0 Applied acceleration Original rule: l6 -> l6 : i^0'=1+i^0, j^0'=0, tmp^0'=0, 2+i^0-n^0 <= 0, cost: 7 New rule: l6 -> l6 : i^0'=i^0+n7, j^0'=0, tmp^0'=0, (-1-i^0+n^0-n7 >= 0 /\ -1+n7 >= 0), cost: 7*n7 Applied instantiation Original rule: l6 -> l6 : i^0'=i^0+n7, j^0'=0, tmp^0'=0, (-1-i^0+n^0-n7 >= 0 /\ -1+n7 >= 0), cost: 7*n7 New rule: l6 -> l6 : i^0'=-1+n^0, j^0'=0, tmp^0'=0, (0 >= 0 /\ -2-i^0+n^0 >= 0), cost: -7-7*i^0+7*n^0 Applied simplification Original rule: l6 -> l6 : i^0'=n^0, j^0'=0, (0 >= 0 /\ -1-i^0+n^0 >= 0 /\ 1+i^0-n^0 >= 0), cost: -6*i^0+6*n^0 New rule: l6 -> l6 : i^0'=n^0, j^0'=0, (-1-i^0+n^0 >= 0 /\ 1+i^0-n^0 >= 0), cost: -6*i^0+6*n^0 Applied simplification Original rule: l6 -> l6 : i^0'=-1+n^0, j^0'=0, tmp^0'=0, (0 >= 0 /\ -2-i^0+n^0 >= 0), cost: -7-7*i^0+7*n^0 New rule: l6 -> l6 : i^0'=-1+n^0, j^0'=0, tmp^0'=0, -2-i^0+n^0 >= 0, cost: -7-7*i^0+7*n^0 Applied deletion Removed the following rules: 51 52 Accelerated simple loops Start location: l10 49: l6 -> l6 : i^0'=-1+n^0, j^0'=-1-i^0+n^0, tmp^0'=tmp^post1, (-2-i^0+n^0 >= 0 /\ (1+tmp^post1 <= 0 \/ -1+tmp^post1 >= 0)), cost: 2-4*i^0+4*n^0 55: l6 -> l6 : i^0'=n^0, j^0'=0, (-1-i^0+n^0 >= 0 /\ 1+i^0-n^0 >= 0), cost: -6*i^0+6*n^0 56: l6 -> l6 : i^0'=-1+n^0, j^0'=0, tmp^0'=0, -2-i^0+n^0 >= 0, cost: -7-7*i^0+7*n^0 29: l10 -> l6 : i^0'=0, TRUE, cost: 2 Applied chaining First rule: l10 -> l6 : i^0'=0, TRUE, cost: 2 Second rule: l6 -> l6 : i^0'=-1+n^0, j^0'=-1-i^0+n^0, tmp^0'=tmp^post1, (-2-i^0+n^0 >= 0 /\ (1+tmp^post1 <= 0 \/ -1+tmp^post1 >= 0)), cost: 2-4*i^0+4*n^0 New rule: l10 -> l6 : i^0'=-1+n^0, j^0'=-1+n^0, tmp^0'=tmp^post1, (-2+n^0 >= 0 /\ (1+tmp^post1 <= 0 \/ -1+tmp^post1 >= 0)), cost: 4+4*n^0 Applied chaining First rule: l10 -> l6 : i^0'=0, TRUE, cost: 2 Second rule: l6 -> l6 : i^0'=n^0, j^0'=0, (-1-i^0+n^0 >= 0 /\ 1+i^0-n^0 >= 0), cost: -6*i^0+6*n^0 New rule: l10 -> l6 : i^0'=n^0, j^0'=0, -1+n^0 == 0, cost: 2+6*n^0 Applied chaining First rule: l10 -> l6 : i^0'=0, TRUE, cost: 2 Second rule: l6 -> l6 : i^0'=-1+n^0, j^0'=0, tmp^0'=0, -2-i^0+n^0 >= 0, cost: -7-7*i^0+7*n^0 New rule: l10 -> l6 : i^0'=-1+n^0, j^0'=0, tmp^0'=0, -2+n^0 >= 0, cost: -5+7*n^0 Applied deletion Removed the following rules: 49 55 56 Chained accelerated rules with incoming rules Start location: l10 29: l10 -> l6 : i^0'=0, TRUE, cost: 2 57: l10 -> l6 : i^0'=-1+n^0, j^0'=-1+n^0, tmp^0'=tmp^post1, (-2+n^0 >= 0 /\ (1+tmp^post1 <= 0 \/ -1+tmp^post1 >= 0)), cost: 4+4*n^0 58: l10 -> l6 : i^0'=n^0, j^0'=0, -1+n^0 == 0, cost: 2+6*n^0 59: l10 -> l6 : i^0'=-1+n^0, j^0'=0, tmp^0'=0, -2+n^0 >= 0, cost: -5+7*n^0 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