WORST_CASE(Omega(0),?) Initial ITS Start location: l9 0: l0 -> l1 : guard^0'=guard^post0, j^0'=j^post0, i^0'=i^post0, n^0'=n^post0, (-n^post0+n^0 == 0 /\ guard^0-guard^post0 == 0 /\ j^0-j^post0 == 0 /\ -1-i^0+i^post0 == 0 /\ -j^0+n^0 <= 0), cost: 1 1: l0 -> l2 : guard^0'=guard^post1, j^0'=j^post1, i^0'=i^post1, n^0'=n^post1, (0 == 0 /\ -i^post1+i^0 == 0 /\ -j^post1+j^0 == 0 /\ 1+j^0-n^0 <= 0 /\ -n^post1+n^0 == 0), cost: 1 4: l1 -> l3 : guard^0'=guard^post4, j^0'=j^post4, i^0'=i^post4, n^0'=n^post4, (guard^0-guard^post4 == 0 /\ -n^post4+n^0 == 0 /\ -i^post4+i^0 == 0 /\ -j^post4+j^0 == 0), cost: 1 8: l2 -> l6 : guard^0'=guard^post8, j^0'=j^post8, i^0'=i^post8, n^0'=n^post8, (guard^0 <= 0 /\ -guard^0 <= 0 /\ -n^post8+n^0 == 0 /\ -i^post8+i^0 == 0 /\ guard^0-guard^post8 == 0 /\ j^0-j^post8 == 0), cost: 1 9: l2 -> l7 : guard^0'=guard^post9, j^0'=j^post9, i^0'=i^post9, n^0'=n^post9, (-j^post9+j^0 == 0 /\ guard^0-guard^post9 == 0 /\ 1-guard^0 <= 0 /\ -n^post9+n^0 == 0 /\ -i^post9+i^0 == 0), cost: 1 10: l2 -> l7 : guard^0'=guard^post10, j^0'=j^post10, i^0'=i^post10, n^0'=n^post10, (-n^post10+n^0 == 0 /\ 1+guard^0 <= 0 /\ guard^0-guard^post10 == 0 /\ -i^post10+i^0 == 0 /\ j^0-j^post10 == 0), cost: 1 2: l3 -> l4 : guard^0'=guard^post2, j^0'=j^post2, i^0'=i^post2, n^0'=n^post2, (-i^post2+i^0 == 0 /\ -i^0+n^0 <= 0 /\ j^0-j^post2 == 0 /\ -n^post2+n^0 == 0 /\ guard^0-guard^post2 == 0), cost: 1 3: l3 -> l5 : guard^0'=guard^post3, j^0'=j^post3, i^0'=i^post3, n^0'=n^post3, (guard^0-guard^post3 == 0 /\ 1+i^0-n^0 <= 0 /\ -1-i^0+j^post3 == 0 /\ i^0-i^post3 == 0 /\ -n^post3+n^0 == 0), cost: 1 5: l5 -> l0 : guard^0'=guard^post5, j^0'=j^post5, i^0'=i^post5, n^0'=n^post5, (guard^0-guard^post5 == 0 /\ j^0-j^post5 == 0 /\ -n^post5+n^0 == 0 /\ -i^post5+i^0 == 0), cost: 1 6: l6 -> l5 : guard^0'=guard^post6, j^0'=j^post6, i^0'=i^post6, n^0'=n^post6, (n^0-n^post6 == 0 /\ guard^0-guard^post6 == 0 /\ -1-j^0+j^post6 == 0 /\ -i^post6+i^0 == 0), cost: 1 7: l7 -> l6 : guard^0'=guard^post7, j^0'=j^post7, i^0'=i^post7, n^0'=n^post7, (guard^0-guard^post7 == 0 /\ i^0-i^post7 == 0 /\ 1+n^post7-n^0 == 0 /\ 1-j^0+j^post7 == 0), cost: 1 11: l8 -> l1 : guard^0'=guard^post11, j^0'=j^post11, i^0'=i^post11, n^0'=n^post11, (-n^post11+n^0 == 0 /\ guard^0-guard^post11 == 0 /\ i^post11 == 0 /\ j^0-j^post11 == 0), cost: 1 12: l9 -> l8 : guard^0'=guard^post12, j^0'=j^post12, i^0'=i^post12, n^0'=n^post12, (i^0-i^post12 == 0 /\ guard^0-guard^post12 == 0 /\ -n^post12+n^0 == 0 /\ j^0-j^post12 == 0), cost: 1 Removed unreachable rules and leafs Start location: l9 0: l0 -> l1 : guard^0'=guard^post0, j^0'=j^post0, i^0'=i^post0, n^0'=n^post0, (-n^post0+n^0 == 0 /\ guard^0-guard^post0 == 0 /\ j^0-j^post0 == 0 /\ -1-i^0+i^post0 == 0 /\ -j^0+n^0 <= 0), cost: 1 1: l0 -> l2 : guard^0'=guard^post1, j^0'=j^post1, i^0'=i^post1, n^0'=n^post1, (0 == 0 /\ -i^post1+i^0 == 0 /\ -j^post1+j^0 == 0 /\ 1+j^0-n^0 <= 0 /\ -n^post1+n^0 == 0), cost: 1 4: l1 -> l3 : guard^0'=guard^post4, j^0'=j^post4, i^0'=i^post4, n^0'=n^post4, (guard^0-guard^post4 == 0 /\ -n^post4+n^0 == 0 /\ -i^post4+i^0 == 0 /\ -j^post4+j^0 == 0), cost: 1 8: l2 -> l6 : guard^0'=guard^post8, j^0'=j^post8, i^0'=i^post8, n^0'=n^post8, (guard^0 <= 0 /\ -guard^0 <= 0 /\ -n^post8+n^0 == 0 /\ -i^post8+i^0 == 0 /\ guard^0-guard^post8 == 0 /\ j^0-j^post8 == 0), cost: 1 9: l2 -> l7 : guard^0'=guard^post9, j^0'=j^post9, i^0'=i^post9, n^0'=n^post9, (-j^post9+j^0 == 0 /\ guard^0-guard^post9 == 0 /\ 1-guard^0 <= 0 /\ -n^post9+n^0 == 0 /\ -i^post9+i^0 == 0), cost: 1 10: l2 -> l7 : guard^0'=guard^post10, j^0'=j^post10, i^0'=i^post10, n^0'=n^post10, (-n^post10+n^0 == 0 /\ 1+guard^0 <= 0 /\ guard^0-guard^post10 == 0 /\ -i^post10+i^0 == 0 /\ j^0-j^post10 == 0), cost: 1 3: l3 -> l5 : guard^0'=guard^post3, j^0'=j^post3, i^0'=i^post3, n^0'=n^post3, (guard^0-guard^post3 == 0 /\ 1+i^0-n^0 <= 0 /\ -1-i^0+j^post3 == 0 /\ i^0-i^post3 == 0 /\ -n^post3+n^0 == 0), cost: 1 5: l5 -> l0 : guard^0'=guard^post5, j^0'=j^post5, i^0'=i^post5, n^0'=n^post5, (guard^0-guard^post5 == 0 /\ j^0-j^post5 == 0 /\ -n^post5+n^0 == 0 /\ -i^post5+i^0 == 0), cost: 1 6: l6 -> l5 : guard^0'=guard^post6, j^0'=j^post6, i^0'=i^post6, n^0'=n^post6, (n^0-n^post6 == 0 /\ guard^0-guard^post6 == 0 /\ -1-j^0+j^post6 == 0 /\ -i^post6+i^0 == 0), cost: 1 7: l7 -> l6 : guard^0'=guard^post7, j^0'=j^post7, i^0'=i^post7, n^0'=n^post7, (guard^0-guard^post7 == 0 /\ i^0-i^post7 == 0 /\ 1+n^post7-n^0 == 0 /\ 1-j^0+j^post7 == 0), cost: 1 11: l8 -> l1 : guard^0'=guard^post11, j^0'=j^post11, i^0'=i^post11, n^0'=n^post11, (-n^post11+n^0 == 0 /\ guard^0-guard^post11 == 0 /\ i^post11 == 0 /\ j^0-j^post11 == 0), cost: 1 12: l9 -> l8 : guard^0'=guard^post12, j^0'=j^post12, i^0'=i^post12, n^0'=n^post12, (i^0-i^post12 == 0 /\ guard^0-guard^post12 == 0 /\ -n^post12+n^0 == 0 /\ j^0-j^post12 == 0), cost: 1 Applied preprocessing Original rule: l0 -> l1 : guard^0'=guard^post0, j^0'=j^post0, i^0'=i^post0, n^0'=n^post0, (-n^post0+n^0 == 0 /\ guard^0-guard^post0 == 0 /\ j^0-j^post0 == 0 /\ -1-i^0+i^post0 == 0 /\ -j^0+n^0 <= 0), cost: 1 New rule: l0 -> l1 : i^0'=1+i^0, -j^0+n^0 <= 0, cost: 1 Applied preprocessing Original rule: l0 -> l2 : guard^0'=guard^post1, j^0'=j^post1, i^0'=i^post1, n^0'=n^post1, (0 == 0 /\ -i^post1+i^0 == 0 /\ -j^post1+j^0 == 0 /\ 1+j^0-n^0 <= 0 /\ -n^post1+n^0 == 0), cost: 1 New rule: l0 -> l2 : guard^0'=guard^post1, 1+j^0-n^0 <= 0, cost: 1 Applied preprocessing Original rule: l3 -> l5 : guard^0'=guard^post3, j^0'=j^post3, i^0'=i^post3, n^0'=n^post3, (guard^0-guard^post3 == 0 /\ 1+i^0-n^0 <= 0 /\ -1-i^0+j^post3 == 0 /\ i^0-i^post3 == 0 /\ -n^post3+n^0 == 0), cost: 1 New rule: l3 -> l5 : j^0'=1+i^0, 1+i^0-n^0 <= 0, cost: 1 Applied preprocessing Original rule: l1 -> l3 : guard^0'=guard^post4, j^0'=j^post4, i^0'=i^post4, n^0'=n^post4, (guard^0-guard^post4 == 0 /\ -n^post4+n^0 == 0 /\ -i^post4+i^0 == 0 /\ -j^post4+j^0 == 0), cost: 1 New rule: l1 -> l3 : TRUE, cost: 1 Applied preprocessing Original rule: l5 -> l0 : guard^0'=guard^post5, j^0'=j^post5, i^0'=i^post5, n^0'=n^post5, (guard^0-guard^post5 == 0 /\ j^0-j^post5 == 0 /\ -n^post5+n^0 == 0 /\ -i^post5+i^0 == 0), cost: 1 New rule: l5 -> l0 : TRUE, cost: 1 Applied preprocessing Original rule: l6 -> l5 : guard^0'=guard^post6, j^0'=j^post6, i^0'=i^post6, n^0'=n^post6, (n^0-n^post6 == 0 /\ guard^0-guard^post6 == 0 /\ -1-j^0+j^post6 == 0 /\ -i^post6+i^0 == 0), cost: 1 New rule: l6 -> l5 : j^0'=1+j^0, TRUE, cost: 1 Applied preprocessing Original rule: l7 -> l6 : guard^0'=guard^post7, j^0'=j^post7, i^0'=i^post7, n^0'=n^post7, (guard^0-guard^post7 == 0 /\ i^0-i^post7 == 0 /\ 1+n^post7-n^0 == 0 /\ 1-j^0+j^post7 == 0), cost: 1 New rule: l7 -> l6 : j^0'=-1+j^0, n^0'=-1+n^0, TRUE, cost: 1 Applied preprocessing Original rule: l2 -> l6 : guard^0'=guard^post8, j^0'=j^post8, i^0'=i^post8, n^0'=n^post8, (guard^0 <= 0 /\ -guard^0 <= 0 /\ -n^post8+n^0 == 0 /\ -i^post8+i^0 == 0 /\ guard^0-guard^post8 == 0 /\ j^0-j^post8 == 0), cost: 1 New rule: l2 -> l6 : guard^0 == 0, cost: 1 Applied preprocessing Original rule: l2 -> l7 : guard^0'=guard^post9, j^0'=j^post9, i^0'=i^post9, n^0'=n^post9, (-j^post9+j^0 == 0 /\ guard^0-guard^post9 == 0 /\ 1-guard^0 <= 0 /\ -n^post9+n^0 == 0 /\ -i^post9+i^0 == 0), cost: 1 New rule: l2 -> l7 : -1+guard^0 >= 0, cost: 1 Applied preprocessing Original rule: l2 -> l7 : guard^0'=guard^post10, j^0'=j^post10, i^0'=i^post10, n^0'=n^post10, (-n^post10+n^0 == 0 /\ 1+guard^0 <= 0 /\ guard^0-guard^post10 == 0 /\ -i^post10+i^0 == 0 /\ j^0-j^post10 == 0), cost: 1 New rule: l2 -> l7 : 1+guard^0 <= 0, cost: 1 Applied preprocessing Original rule: l8 -> l1 : guard^0'=guard^post11, j^0'=j^post11, i^0'=i^post11, n^0'=n^post11, (-n^post11+n^0 == 0 /\ guard^0-guard^post11 == 0 /\ i^post11 == 0 /\ j^0-j^post11 == 0), cost: 1 New rule: l8 -> l1 : i^0'=0, TRUE, cost: 1 Applied preprocessing Original rule: l9 -> l8 : guard^0'=guard^post12, j^0'=j^post12, i^0'=i^post12, n^0'=n^post12, (i^0-i^post12 == 0 /\ guard^0-guard^post12 == 0 /\ -n^post12+n^0 == 0 /\ j^0-j^post12 == 0), cost: 1 New rule: l9 -> l8 : TRUE, cost: 1 Simplified rules Start location: l9 13: l0 -> l1 : i^0'=1+i^0, -j^0+n^0 <= 0, cost: 1 14: l0 -> l2 : guard^0'=guard^post1, 1+j^0-n^0 <= 0, cost: 1 16: l1 -> l3 : TRUE, cost: 1 20: l2 -> l6 : guard^0 == 0, cost: 1 21: l2 -> l7 : -1+guard^0 >= 0, cost: 1 22: l2 -> l7 : 1+guard^0 <= 0, cost: 1 15: l3 -> l5 : j^0'=1+i^0, 1+i^0-n^0 <= 0, cost: 1 17: l5 -> l0 : TRUE, cost: 1 18: l6 -> l5 : j^0'=1+j^0, TRUE, cost: 1 19: l7 -> l6 : j^0'=-1+j^0, n^0'=-1+n^0, TRUE, cost: 1 23: l8 -> l1 : i^0'=0, TRUE, cost: 1 24: l9 -> l8 : TRUE, cost: 1 Eliminating location l8 by chaining: Applied chaining First rule: l9 -> l8 : TRUE, cost: 1 Second rule: l8 -> l1 : i^0'=0, TRUE, cost: 1 New rule: l9 -> l1 : i^0'=0, TRUE, cost: 2 Applied deletion Removed the following rules: 23 24 Eliminating location l3 by chaining: Applied chaining First rule: l1 -> l3 : TRUE, cost: 1 Second rule: l3 -> l5 : j^0'=1+i^0, 1+i^0-n^0 <= 0, cost: 1 New rule: l1 -> l5 : j^0'=1+i^0, 1+i^0-n^0 <= 0, cost: 2 Applied deletion Removed the following rules: 15 16 Eliminated locations on linear paths Start location: l9 13: l0 -> l1 : i^0'=1+i^0, -j^0+n^0 <= 0, cost: 1 14: l0 -> l2 : guard^0'=guard^post1, 1+j^0-n^0 <= 0, cost: 1 26: l1 -> l5 : j^0'=1+i^0, 1+i^0-n^0 <= 0, cost: 2 20: l2 -> l6 : guard^0 == 0, cost: 1 21: l2 -> l7 : -1+guard^0 >= 0, cost: 1 22: l2 -> l7 : 1+guard^0 <= 0, cost: 1 17: l5 -> l0 : TRUE, cost: 1 18: l6 -> l5 : j^0'=1+j^0, TRUE, cost: 1 19: l7 -> l6 : j^0'=-1+j^0, n^0'=-1+n^0, TRUE, cost: 1 25: l9 -> l1 : 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'=1+i^0, -j^0+n^0 <= 0, cost: 1 New rule: l5 -> l1 : i^0'=1+i^0, -j^0+n^0 <= 0, cost: 2 Applied chaining First rule: l5 -> l0 : TRUE, cost: 1 Second rule: l0 -> l2 : guard^0'=guard^post1, 1+j^0-n^0 <= 0, cost: 1 New rule: l5 -> l2 : guard^0'=guard^post1, 1+j^0-n^0 <= 0, cost: 2 Applied deletion Removed the following rules: 13 14 17 Eliminating location l7 by chaining: Applied chaining First rule: l2 -> l7 : -1+guard^0 >= 0, cost: 1 Second rule: l7 -> l6 : j^0'=-1+j^0, n^0'=-1+n^0, TRUE, cost: 1 New rule: l2 -> l6 : j^0'=-1+j^0, n^0'=-1+n^0, -1+guard^0 >= 0, cost: 2 Applied chaining First rule: l2 -> l7 : 1+guard^0 <= 0, cost: 1 Second rule: l7 -> l6 : j^0'=-1+j^0, n^0'=-1+n^0, TRUE, cost: 1 New rule: l2 -> l6 : j^0'=-1+j^0, n^0'=-1+n^0, 1+guard^0 <= 0, cost: 2 Applied deletion Removed the following rules: 19 21 22 Eliminated locations on tree-shaped paths Start location: l9 26: l1 -> l5 : j^0'=1+i^0, 1+i^0-n^0 <= 0, cost: 2 20: l2 -> l6 : guard^0 == 0, cost: 1 29: l2 -> l6 : j^0'=-1+j^0, n^0'=-1+n^0, -1+guard^0 >= 0, cost: 2 30: l2 -> l6 : j^0'=-1+j^0, n^0'=-1+n^0, 1+guard^0 <= 0, cost: 2 27: l5 -> l1 : i^0'=1+i^0, -j^0+n^0 <= 0, cost: 2 28: l5 -> l2 : guard^0'=guard^post1, 1+j^0-n^0 <= 0, cost: 2 18: l6 -> l5 : j^0'=1+j^0, TRUE, cost: 1 25: l9 -> l1 : i^0'=0, TRUE, cost: 2 Applied merging first rule: l2 -> l6 : j^0'=-1+j^0, n^0'=-1+n^0, -1+guard^0 >= 0, cost: 2 second rule: l2 -> l6 : j^0'=-1+j^0, n^0'=-1+n^0, 1+guard^0 <= 0, cost: 2 new rule: l2 -> l6 : j^0'=-1+j^0, n^0'=-1+n^0, (-1+guard^0 >= 0 \/ 1+guard^0 <= 0), cost: 2 Merged rules Start location: l9 26: l1 -> l5 : j^0'=1+i^0, 1+i^0-n^0 <= 0, cost: 2 20: l2 -> l6 : guard^0 == 0, cost: 1 31: l2 -> l6 : j^0'=-1+j^0, n^0'=-1+n^0, (-1+guard^0 >= 0 \/ 1+guard^0 <= 0), cost: 2 27: l5 -> l1 : i^0'=1+i^0, -j^0+n^0 <= 0, cost: 2 28: l5 -> l2 : guard^0'=guard^post1, 1+j^0-n^0 <= 0, cost: 2 18: l6 -> l5 : j^0'=1+j^0, TRUE, cost: 1 25: l9 -> l1 : i^0'=0, TRUE, cost: 2 Eliminating location l2 by chaining: Applied chaining First rule: l5 -> l2 : guard^0'=guard^post1, 1+j^0-n^0 <= 0, cost: 2 Second rule: l2 -> l6 : guard^0 == 0, cost: 1 New rule: l5 -> l6 : guard^0'=guard^post1, (1+j^0-n^0 <= 0 /\ guard^post1 == 0), cost: 3 Applied chaining First rule: l5 -> l2 : guard^0'=guard^post1, 1+j^0-n^0 <= 0, cost: 2 Second rule: l2 -> l6 : j^0'=-1+j^0, n^0'=-1+n^0, (-1+guard^0 >= 0 \/ 1+guard^0 <= 0), cost: 2 New rule: l5 -> l6 : guard^0'=guard^post1, j^0'=-1+j^0, n^0'=-1+n^0, (1+j^0-n^0 <= 0 /\ (1+guard^post1 <= 0 \/ -1+guard^post1 >= 0)), cost: 4 Applied deletion Removed the following rules: 20 28 31 Eliminated locations on tree-shaped paths Start location: l9 26: l1 -> l5 : j^0'=1+i^0, 1+i^0-n^0 <= 0, cost: 2 27: l5 -> l1 : i^0'=1+i^0, -j^0+n^0 <= 0, cost: 2 32: l5 -> l6 : guard^0'=guard^post1, (1+j^0-n^0 <= 0 /\ guard^post1 == 0), cost: 3 33: l5 -> l6 : guard^0'=guard^post1, j^0'=-1+j^0, n^0'=-1+n^0, (1+j^0-n^0 <= 0 /\ (1+guard^post1 <= 0 \/ -1+guard^post1 >= 0)), cost: 4 18: l6 -> l5 : j^0'=1+j^0, TRUE, cost: 1 25: l9 -> l1 : i^0'=0, TRUE, cost: 2 Eliminating location l6 by chaining: Applied chaining First rule: l5 -> l6 : guard^0'=guard^post1, (1+j^0-n^0 <= 0 /\ guard^post1 == 0), cost: 3 Second rule: l6 -> l5 : j^0'=1+j^0, TRUE, cost: 1 New rule: l5 -> l5 : guard^0'=guard^post1, j^0'=1+j^0, (1+j^0-n^0 <= 0 /\ guard^post1 == 0), cost: 4 Applied chaining First rule: l5 -> l6 : guard^0'=guard^post1, j^0'=-1+j^0, n^0'=-1+n^0, (1+j^0-n^0 <= 0 /\ (1+guard^post1 <= 0 \/ -1+guard^post1 >= 0)), cost: 4 Second rule: l6 -> l5 : j^0'=1+j^0, TRUE, cost: 1 New rule: l5 -> l5 : guard^0'=guard^post1, j^0'=j^0, n^0'=-1+n^0, (1+j^0-n^0 <= 0 /\ (1+guard^post1 <= 0 \/ -1+guard^post1 >= 0)), cost: 5 Applied deletion Removed the following rules: 18 32 33 Eliminated locations on tree-shaped paths Start location: l9 26: l1 -> l5 : j^0'=1+i^0, 1+i^0-n^0 <= 0, cost: 2 27: l5 -> l1 : i^0'=1+i^0, -j^0+n^0 <= 0, cost: 2 34: l5 -> l5 : guard^0'=guard^post1, j^0'=1+j^0, (1+j^0-n^0 <= 0 /\ guard^post1 == 0), cost: 4 35: l5 -> l5 : guard^0'=guard^post1, j^0'=j^0, n^0'=-1+n^0, (1+j^0-n^0 <= 0 /\ (1+guard^post1 <= 0 \/ -1+guard^post1 >= 0)), cost: 5 25: l9 -> l1 : i^0'=0, TRUE, cost: 2 Applied simplification Original rule: l5 -> l5 : guard^0'=guard^post1, j^0'=1+j^0, (1+j^0-n^0 <= 0 /\ guard^post1 == 0), cost: 4 New rule: l5 -> l5 : guard^0'=0, j^0'=1+j^0, 1+j^0-n^0 <= 0, cost: 4 Applied simplification Original rule: l5 -> l5 : guard^0'=guard^post1, j^0'=j^0, n^0'=-1+n^0, (1+j^0-n^0 <= 0 /\ (1+guard^post1 <= 0 \/ -1+guard^post1 >= 0)), cost: 5 New rule: l5 -> l5 : guard^0'=guard^post1, n^0'=-1+n^0, (1+j^0-n^0 <= 0 /\ (1+guard^post1 <= 0 \/ -1+guard^post1 >= 0)), cost: 5 Simplified simple loops Start location: l9 26: l1 -> l5 : j^0'=1+i^0, 1+i^0-n^0 <= 0, cost: 2 27: l5 -> l1 : i^0'=1+i^0, -j^0+n^0 <= 0, cost: 2 36: l5 -> l5 : guard^0'=0, j^0'=1+j^0, 1+j^0-n^0 <= 0, cost: 4 37: l5 -> l5 : guard^0'=guard^post1, n^0'=-1+n^0, (1+j^0-n^0 <= 0 /\ (1+guard^post1 <= 0 \/ -1+guard^post1 >= 0)), cost: 5 25: l9 -> l1 : i^0'=0, TRUE, cost: 2 Applied acceleration Original rule: l5 -> l5 : guard^0'=0, j^0'=1+j^0, 1+j^0-n^0 <= 0, cost: 4 New rule: l5 -> l5 : guard^0'=0, j^0'=j^0+n1, (-1+n1 >= 0 /\ -j^0+n^0-n1 >= 0), cost: 4*n1 Applied instantiation Original rule: l5 -> l5 : guard^0'=0, j^0'=j^0+n1, (-1+n1 >= 0 /\ -j^0+n^0-n1 >= 0), cost: 4*n1 New rule: l5 -> l5 : guard^0'=0, j^0'=n^0, (0 >= 0 /\ -1-j^0+n^0 >= 0), cost: -4*j^0+4*n^0 Applied acceleration Original rule: l5 -> l5 : guard^0'=guard^post1, n^0'=-1+n^0, (1+j^0-n^0 <= 0 /\ (1+guard^post1 <= 0 \/ -1+guard^post1 >= 0)), cost: 5 New rule: l5 -> l5 : guard^0'=guard^post1, n^0'=-n3+n^0, (-j^0-n3+n^0 >= 0 /\ -1+n3 >= 0 /\ (-1-guard^post1 >= 0 \/ -1+guard^post1 >= 0)), cost: 5*n3 Applied instantiation Original rule: l5 -> l5 : guard^0'=guard^post1, n^0'=-n3+n^0, (-j^0-n3+n^0 >= 0 /\ -1+n3 >= 0 /\ (-1-guard^post1 >= 0 \/ -1+guard^post1 >= 0)), cost: 5*n3 New rule: l5 -> l5 : guard^0'=guard^post1, n^0'=j^0, (0 >= 0 /\ -1-j^0+n^0 >= 0 /\ (-1-guard^post1 >= 0 \/ -1+guard^post1 >= 0)), cost: -5*j^0+5*n^0 Applied simplification Original rule: l5 -> l5 : guard^0'=0, j^0'=n^0, (0 >= 0 /\ -1-j^0+n^0 >= 0), cost: -4*j^0+4*n^0 New rule: l5 -> l5 : guard^0'=0, j^0'=n^0, -1-j^0+n^0 >= 0, cost: -4*j^0+4*n^0 Applied simplification Original rule: l5 -> l5 : guard^0'=guard^post1, n^0'=j^0, (0 >= 0 /\ -1-j^0+n^0 >= 0 /\ (-1-guard^post1 >= 0 \/ -1+guard^post1 >= 0)), cost: -5*j^0+5*n^0 New rule: l5 -> l5 : guard^0'=guard^post1, n^0'=j^0, (-1-j^0+n^0 >= 0 /\ (1+guard^post1 <= 0 \/ -1+guard^post1 >= 0)), cost: -5*j^0+5*n^0 Applied deletion Removed the following rules: 36 37 Accelerated simple loops Start location: l9 26: l1 -> l5 : j^0'=1+i^0, 1+i^0-n^0 <= 0, cost: 2 27: l5 -> l1 : i^0'=1+i^0, -j^0+n^0 <= 0, cost: 2 40: l5 -> l5 : guard^0'=0, j^0'=n^0, -1-j^0+n^0 >= 0, cost: -4*j^0+4*n^0 41: l5 -> l5 : guard^0'=guard^post1, n^0'=j^0, (-1-j^0+n^0 >= 0 /\ (1+guard^post1 <= 0 \/ -1+guard^post1 >= 0)), cost: -5*j^0+5*n^0 25: l9 -> l1 : i^0'=0, TRUE, cost: 2 Applied chaining First rule: l1 -> l5 : j^0'=1+i^0, 1+i^0-n^0 <= 0, cost: 2 Second rule: l5 -> l5 : guard^0'=0, j^0'=n^0, -1-j^0+n^0 >= 0, cost: -4*j^0+4*n^0 New rule: l1 -> l5 : guard^0'=0, j^0'=n^0, -2-i^0+n^0 >= 0, cost: -2-4*i^0+4*n^0 Applied chaining First rule: l1 -> l5 : j^0'=1+i^0, 1+i^0-n^0 <= 0, cost: 2 Second rule: l5 -> l5 : guard^0'=guard^post1, n^0'=j^0, (-1-j^0+n^0 >= 0 /\ (1+guard^post1 <= 0 \/ -1+guard^post1 >= 0)), cost: -5*j^0+5*n^0 New rule: l1 -> l5 : guard^0'=guard^post1, j^0'=1+i^0, n^0'=1+i^0, (-2-i^0+n^0 >= 0 /\ (1+guard^post1 <= 0 \/ -1+guard^post1 >= 0)), cost: -3-5*i^0+5*n^0 Applied deletion Removed the following rules: 40 41 Chained accelerated rules with incoming rules Start location: l9 26: l1 -> l5 : j^0'=1+i^0, 1+i^0-n^0 <= 0, cost: 2 42: l1 -> l5 : guard^0'=0, j^0'=n^0, -2-i^0+n^0 >= 0, cost: -2-4*i^0+4*n^0 43: l1 -> l5 : guard^0'=guard^post1, j^0'=1+i^0, n^0'=1+i^0, (-2-i^0+n^0 >= 0 /\ (1+guard^post1 <= 0 \/ -1+guard^post1 >= 0)), cost: -3-5*i^0+5*n^0 27: l5 -> l1 : i^0'=1+i^0, -j^0+n^0 <= 0, cost: 2 25: l9 -> l1 : i^0'=0, TRUE, cost: 2 Eliminating location l5 by chaining: Applied chaining First rule: l1 -> l5 : j^0'=1+i^0, 1+i^0-n^0 <= 0, cost: 2 Second rule: l5 -> l1 : i^0'=1+i^0, -j^0+n^0 <= 0, cost: 2 New rule: l1 -> l1 : j^0'=1+i^0, i^0'=1+i^0, (1+i^0-n^0 <= 0 /\ -1-i^0+n^0 <= 0), cost: 4 Applied chaining First rule: l1 -> l5 : guard^0'=0, j^0'=n^0, -2-i^0+n^0 >= 0, cost: -2-4*i^0+4*n^0 Second rule: l5 -> l1 : i^0'=1+i^0, -j^0+n^0 <= 0, cost: 2 New rule: l1 -> l1 : guard^0'=0, j^0'=n^0, i^0'=1+i^0, (0 <= 0 /\ -2-i^0+n^0 >= 0), cost: -4*i^0+4*n^0 Applied simplification Original rule: l1 -> l1 : guard^0'=0, j^0'=n^0, i^0'=1+i^0, (0 <= 0 /\ -2-i^0+n^0 >= 0), cost: -4*i^0+4*n^0 New rule: l1 -> l1 : guard^0'=0, j^0'=n^0, i^0'=1+i^0, -2-i^0+n^0 >= 0, cost: -4*i^0+4*n^0 Applied chaining First rule: l1 -> l5 : guard^0'=guard^post1, j^0'=1+i^0, n^0'=1+i^0, (-2-i^0+n^0 >= 0 /\ (1+guard^post1 <= 0 \/ -1+guard^post1 >= 0)), cost: -3-5*i^0+5*n^0 Second rule: l5 -> l1 : i^0'=1+i^0, -j^0+n^0 <= 0, cost: 2 New rule: l1 -> l1 : guard^0'=guard^post1, j^0'=1+i^0, i^0'=1+i^0, n^0'=1+i^0, (0 <= 0 /\ -2-i^0+n^0 >= 0 /\ (1+guard^post1 <= 0 \/ -1+guard^post1 >= 0)), cost: -1-5*i^0+5*n^0 Applied simplification Original rule: l1 -> l1 : guard^0'=guard^post1, j^0'=1+i^0, i^0'=1+i^0, n^0'=1+i^0, (0 <= 0 /\ -2-i^0+n^0 >= 0 /\ (1+guard^post1 <= 0 \/ -1+guard^post1 >= 0)), cost: -1-5*i^0+5*n^0 New rule: l1 -> l1 : guard^0'=guard^post1, j^0'=1+i^0, i^0'=1+i^0, n^0'=1+i^0, (-2-i^0+n^0 >= 0 /\ (1+guard^post1 <= 0 \/ -1+guard^post1 >= 0)), cost: -1-5*i^0+5*n^0 Applied deletion Removed the following rules: 26 27 42 43 Eliminated locations on tree-shaped paths Start location: l9 44: l1 -> l1 : j^0'=1+i^0, i^0'=1+i^0, (1+i^0-n^0 <= 0 /\ -1-i^0+n^0 <= 0), cost: 4 45: l1 -> l1 : guard^0'=0, j^0'=n^0, i^0'=1+i^0, -2-i^0+n^0 >= 0, cost: -4*i^0+4*n^0 46: l1 -> l1 : guard^0'=guard^post1, j^0'=1+i^0, i^0'=1+i^0, n^0'=1+i^0, (-2-i^0+n^0 >= 0 /\ (1+guard^post1 <= 0 \/ -1+guard^post1 >= 0)), cost: -1-5*i^0+5*n^0 25: l9 -> l1 : i^0'=0, TRUE, cost: 2 Applied simplification Original rule: l1 -> l1 : j^0'=1+i^0, i^0'=1+i^0, (1+i^0-n^0 <= 0 /\ -1-i^0+n^0 <= 0), cost: 4 New rule: l1 -> l1 : j^0'=1+i^0, i^0'=1+i^0, 1+i^0-n^0 == 0, cost: 4 Simplified simple loops Start location: l9 45: l1 -> l1 : guard^0'=0, j^0'=n^0, i^0'=1+i^0, -2-i^0+n^0 >= 0, cost: -4*i^0+4*n^0 46: l1 -> l1 : guard^0'=guard^post1, j^0'=1+i^0, i^0'=1+i^0, n^0'=1+i^0, (-2-i^0+n^0 >= 0 /\ (1+guard^post1 <= 0 \/ -1+guard^post1 >= 0)), cost: -1-5*i^0+5*n^0 47: l1 -> l1 : j^0'=1+i^0, i^0'=1+i^0, 1+i^0-n^0 == 0, cost: 4 25: l9 -> l1 : i^0'=0, TRUE, cost: 2 Applied acceleration Original rule: l1 -> l1 : guard^0'=0, j^0'=n^0, i^0'=1+i^0, -2-i^0+n^0 >= 0, cost: -4*i^0+4*n^0 New rule: l1 -> l1 : guard^0'=0, j^0'=n^0, i^0'=i^0+n14, (-1-i^0+n^0-n14 >= 0 /\ -1+n14 >= 0), cost: -2*n14^2-4*i^0*n14+4*n^0*n14+2*n14 Applied instantiation Original rule: l1 -> l1 : guard^0'=0, j^0'=n^0, i^0'=i^0+n14, (-1-i^0+n^0-n14 >= 0 /\ -1+n14 >= 0), cost: -2*n14^2-4*i^0*n14+4*n^0*n14+2*n14 New rule: l1 -> l1 : guard^0'=0, j^0'=n^0, i^0'=-1+n^0, (0 >= 0 /\ -2-i^0+n^0 >= 0), cost: -2-4*(1+i^0-n^0)*n^0-2*i^0+2*n^0-2*(1+i^0-n^0)^2+4*(1+i^0-n^0)*i^0 Applied acceleration Original rule: l1 -> l1 : j^0'=1+i^0, i^0'=1+i^0, 1+i^0-n^0 == 0, cost: 4 New rule: l1 -> l1 : j^0'=i^0+n17, i^0'=i^0+n17, (1+i^0-n^0 >= 0 /\ -1-i^0+n^0 >= 0 /\ -i^0-n17+n^0 >= 0 /\ -1+n17 >= 0), cost: 4*n17 Applied instantiation Original rule: l1 -> l1 : j^0'=i^0+n17, i^0'=i^0+n17, (1+i^0-n^0 >= 0 /\ -1-i^0+n^0 >= 0 /\ -i^0-n17+n^0 >= 0 /\ -1+n17 >= 0), cost: 4*n17 New rule: l1 -> l1 : j^0'=n^0, i^0'=n^0, (0 >= 0 /\ 1+i^0-n^0 >= 0 /\ -1-i^0+n^0 >= 0), cost: -4*i^0+4*n^0 Applied simplification Original rule: l1 -> l1 : guard^0'=0, j^0'=n^0, i^0'=-1+n^0, (0 >= 0 /\ -2-i^0+n^0 >= 0), cost: -2-4*(1+i^0-n^0)*n^0-2*i^0+2*n^0-2*(1+i^0-n^0)^2+4*(1+i^0-n^0)*i^0 New rule: l1 -> l1 : guard^0'=0, j^0'=n^0, i^0'=-1+n^0, -2-i^0+n^0 >= 0, cost: -2-4*(1+i^0-n^0)*n^0-2*i^0+2*n^0-2*(1+i^0-n^0)^2+4*(1+i^0-n^0)*i^0 Applied simplification Original rule: l1 -> l1 : j^0'=n^0, i^0'=n^0, (0 >= 0 /\ 1+i^0-n^0 >= 0 /\ -1-i^0+n^0 >= 0), cost: -4*i^0+4*n^0 New rule: l1 -> l1 : j^0'=n^0, i^0'=n^0, (1+i^0-n^0 >= 0 /\ -1-i^0+n^0 >= 0), cost: -4*i^0+4*n^0 Applied deletion Removed the following rules: 45 47 Accelerated simple loops Start location: l9 46: l1 -> l1 : guard^0'=guard^post1, j^0'=1+i^0, i^0'=1+i^0, n^0'=1+i^0, (-2-i^0+n^0 >= 0 /\ (1+guard^post1 <= 0 \/ -1+guard^post1 >= 0)), cost: -1-5*i^0+5*n^0 50: l1 -> l1 : guard^0'=0, j^0'=n^0, i^0'=-1+n^0, -2-i^0+n^0 >= 0, cost: -2-4*(1+i^0-n^0)*n^0-2*i^0+2*n^0-2*(1+i^0-n^0)^2+4*(1+i^0-n^0)*i^0 51: l1 -> l1 : j^0'=n^0, i^0'=n^0, (1+i^0-n^0 >= 0 /\ -1-i^0+n^0 >= 0), cost: -4*i^0+4*n^0 25: l9 -> l1 : i^0'=0, TRUE, cost: 2 Applied chaining First rule: l9 -> l1 : i^0'=0, TRUE, cost: 2 Second rule: l1 -> l1 : guard^0'=guard^post1, j^0'=1+i^0, i^0'=1+i^0, n^0'=1+i^0, (-2-i^0+n^0 >= 0 /\ (1+guard^post1 <= 0 \/ -1+guard^post1 >= 0)), cost: -1-5*i^0+5*n^0 New rule: l9 -> l1 : guard^0'=guard^post1, j^0'=1, i^0'=1, n^0'=1, (-2+n^0 >= 0 /\ (1+guard^post1 <= 0 \/ -1+guard^post1 >= 0)), cost: 1+5*n^0 Applied chaining First rule: l9 -> l1 : i^0'=0, TRUE, cost: 2 Second rule: l1 -> l1 : guard^0'=0, j^0'=n^0, i^0'=-1+n^0, -2-i^0+n^0 >= 0, cost: -2-4*(1+i^0-n^0)*n^0-2*i^0+2*n^0-2*(1+i^0-n^0)^2+4*(1+i^0-n^0)*i^0 New rule: l9 -> l1 : guard^0'=0, j^0'=n^0, i^0'=-1+n^0, -2+n^0 >= 0, cost: -2*(-1+n^0)^2+4*n^0*(-1+n^0)+2*n^0 Applied chaining First rule: l9 -> l1 : i^0'=0, TRUE, cost: 2 Second rule: l1 -> l1 : j^0'=n^0, i^0'=n^0, (1+i^0-n^0 >= 0 /\ -1-i^0+n^0 >= 0), cost: -4*i^0+4*n^0 New rule: l9 -> l1 : j^0'=n^0, i^0'=n^0, -1+n^0 == 0, cost: 2+4*n^0 Applied deletion Removed the following rules: 46 50 51 Chained accelerated rules with incoming rules Start location: l9 25: l9 -> l1 : i^0'=0, TRUE, cost: 2 52: l9 -> l1 : guard^0'=guard^post1, j^0'=1, i^0'=1, n^0'=1, (-2+n^0 >= 0 /\ (1+guard^post1 <= 0 \/ -1+guard^post1 >= 0)), cost: 1+5*n^0 53: l9 -> l1 : guard^0'=0, j^0'=n^0, i^0'=-1+n^0, -2+n^0 >= 0, cost: -2*(-1+n^0)^2+4*n^0*(-1+n^0)+2*n^0 54: l9 -> l1 : j^0'=n^0, i^0'=n^0, -1+n^0 == 0, cost: 2+4*n^0 Removed unreachable locations and irrelevant leafs Start location: l9 Computing asymptotic complexity Proved the following lower bound Complexity: Unknown Cpx degree: ? Solved cost: 0 Rule cost: 0