NO Initial ITS Start location: l6 0: l0 -> l1 : i^0'=i^post0, temp^0'=temp^post0, __const_10^0'=__const_10^post0, j^0'=j^post0, (temp^0-temp^post0 == 0 /\ i^0-i^post0 == 0 /\ j^0-j^post0 == 0 /\ __const_10^0-__const_10^post0 == 0), cost: 1 4: l1 -> l4 : i^0'=i^post4, temp^0'=temp^post4, __const_10^0'=__const_10^post4, j^0'=j^post4, (-__const_10^post4+__const_10^0 == 0 /\ -j^post4+j^0 == 0 /\ -temp^post4+temp^0 == 0 /\ 1-i^0+__const_10^0 <= 0 /\ -i^post4+i^0 == 0), cost: 1 5: l1 -> l2 : i^0'=i^post5, temp^0'=temp^post5, __const_10^0'=__const_10^post5, j^0'=j^post5, (temp^0-temp^post5 == 0 /\ i^0-__const_10^0 <= 0 /\ -i^0+j^post5 == 0 /\ i^0-i^post5 == 0 /\ __const_10^0-__const_10^post5 == 0), cost: 1 1: l2 -> l3 : i^0'=i^post1, temp^0'=temp^post1, __const_10^0'=__const_10^post1, j^0'=j^post1, (__const_10^0-__const_10^post1 == 0 /\ temp^0-temp^post1 == 0 /\ i^0-i^post1 == 0 /\ -j^post1+j^0 == 0), cost: 1 2: l3 -> l2 : i^0'=i^post2, temp^0'=temp^post2, __const_10^0'=__const_10^post2, j^0'=j^post2, (0 == 0 /\ i^0-i^post2 == 0 /\ -__const_10^post2+__const_10^0 == 0 /\ 1+j^post2-j^0 == 0), cost: 1 3: l3 -> l0 : i^0'=i^post3, temp^0'=temp^post3, __const_10^0'=__const_10^post3, j^0'=j^post3, (-__const_10^post3+__const_10^0 == 0 /\ -1-i^0+i^post3 == 0 /\ -j^post3+j^0 == 0 /\ -temp^post3+temp^0 == 0), cost: 1 6: l5 -> l0 : i^0'=i^post6, temp^0'=temp^post6, __const_10^0'=__const_10^post6, j^0'=j^post6, (-2+i^post6 == 0 /\ __const_10^0-__const_10^post6 == 0 /\ temp^0-temp^post6 == 0 /\ -j^post6+j^0 == 0), cost: 1 7: l6 -> l5 : i^0'=i^post7, temp^0'=temp^post7, __const_10^0'=__const_10^post7, j^0'=j^post7, (-j^post7+j^0 == 0 /\ -__const_10^post7+__const_10^0 == 0 /\ -temp^post7+temp^0 == 0 /\ i^0-i^post7 == 0), cost: 1 Removed unreachable rules and leafs Start location: l6 0: l0 -> l1 : i^0'=i^post0, temp^0'=temp^post0, __const_10^0'=__const_10^post0, j^0'=j^post0, (temp^0-temp^post0 == 0 /\ i^0-i^post0 == 0 /\ j^0-j^post0 == 0 /\ __const_10^0-__const_10^post0 == 0), cost: 1 5: l1 -> l2 : i^0'=i^post5, temp^0'=temp^post5, __const_10^0'=__const_10^post5, j^0'=j^post5, (temp^0-temp^post5 == 0 /\ i^0-__const_10^0 <= 0 /\ -i^0+j^post5 == 0 /\ i^0-i^post5 == 0 /\ __const_10^0-__const_10^post5 == 0), cost: 1 1: l2 -> l3 : i^0'=i^post1, temp^0'=temp^post1, __const_10^0'=__const_10^post1, j^0'=j^post1, (__const_10^0-__const_10^post1 == 0 /\ temp^0-temp^post1 == 0 /\ i^0-i^post1 == 0 /\ -j^post1+j^0 == 0), cost: 1 2: l3 -> l2 : i^0'=i^post2, temp^0'=temp^post2, __const_10^0'=__const_10^post2, j^0'=j^post2, (0 == 0 /\ i^0-i^post2 == 0 /\ -__const_10^post2+__const_10^0 == 0 /\ 1+j^post2-j^0 == 0), cost: 1 3: l3 -> l0 : i^0'=i^post3, temp^0'=temp^post3, __const_10^0'=__const_10^post3, j^0'=j^post3, (-__const_10^post3+__const_10^0 == 0 /\ -1-i^0+i^post3 == 0 /\ -j^post3+j^0 == 0 /\ -temp^post3+temp^0 == 0), cost: 1 6: l5 -> l0 : i^0'=i^post6, temp^0'=temp^post6, __const_10^0'=__const_10^post6, j^0'=j^post6, (-2+i^post6 == 0 /\ __const_10^0-__const_10^post6 == 0 /\ temp^0-temp^post6 == 0 /\ -j^post6+j^0 == 0), cost: 1 7: l6 -> l5 : i^0'=i^post7, temp^0'=temp^post7, __const_10^0'=__const_10^post7, j^0'=j^post7, (-j^post7+j^0 == 0 /\ -__const_10^post7+__const_10^0 == 0 /\ -temp^post7+temp^0 == 0 /\ i^0-i^post7 == 0), cost: 1 Applied preprocessing Original rule: l0 -> l1 : i^0'=i^post0, temp^0'=temp^post0, __const_10^0'=__const_10^post0, j^0'=j^post0, (temp^0-temp^post0 == 0 /\ i^0-i^post0 == 0 /\ j^0-j^post0 == 0 /\ __const_10^0-__const_10^post0 == 0), cost: 1 New rule: l0 -> l1 : TRUE, cost: 1 Applied preprocessing Original rule: l2 -> l3 : i^0'=i^post1, temp^0'=temp^post1, __const_10^0'=__const_10^post1, j^0'=j^post1, (__const_10^0-__const_10^post1 == 0 /\ temp^0-temp^post1 == 0 /\ i^0-i^post1 == 0 /\ -j^post1+j^0 == 0), cost: 1 New rule: l2 -> l3 : TRUE, cost: 1 Applied preprocessing Original rule: l3 -> l2 : i^0'=i^post2, temp^0'=temp^post2, __const_10^0'=__const_10^post2, j^0'=j^post2, (0 == 0 /\ i^0-i^post2 == 0 /\ -__const_10^post2+__const_10^0 == 0 /\ 1+j^post2-j^0 == 0), cost: 1 New rule: l3 -> l2 : temp^0'=temp^post2, j^0'=-1+j^0, 0 == 0, cost: 1 Applied preprocessing Original rule: l3 -> l0 : i^0'=i^post3, temp^0'=temp^post3, __const_10^0'=__const_10^post3, j^0'=j^post3, (-__const_10^post3+__const_10^0 == 0 /\ -1-i^0+i^post3 == 0 /\ -j^post3+j^0 == 0 /\ -temp^post3+temp^0 == 0), cost: 1 New rule: l3 -> l0 : i^0'=1+i^0, TRUE, cost: 1 Applied preprocessing Original rule: l1 -> l2 : i^0'=i^post5, temp^0'=temp^post5, __const_10^0'=__const_10^post5, j^0'=j^post5, (temp^0-temp^post5 == 0 /\ i^0-__const_10^0 <= 0 /\ -i^0+j^post5 == 0 /\ i^0-i^post5 == 0 /\ __const_10^0-__const_10^post5 == 0), cost: 1 New rule: l1 -> l2 : j^0'=i^0, i^0-__const_10^0 <= 0, cost: 1 Applied preprocessing Original rule: l5 -> l0 : i^0'=i^post6, temp^0'=temp^post6, __const_10^0'=__const_10^post6, j^0'=j^post6, (-2+i^post6 == 0 /\ __const_10^0-__const_10^post6 == 0 /\ temp^0-temp^post6 == 0 /\ -j^post6+j^0 == 0), cost: 1 New rule: l5 -> l0 : i^0'=2, TRUE, cost: 1 Applied preprocessing Original rule: l6 -> l5 : i^0'=i^post7, temp^0'=temp^post7, __const_10^0'=__const_10^post7, j^0'=j^post7, (-j^post7+j^0 == 0 /\ -__const_10^post7+__const_10^0 == 0 /\ -temp^post7+temp^0 == 0 /\ i^0-i^post7 == 0), cost: 1 New rule: l6 -> l5 : TRUE, cost: 1 Simplified rules Start location: l6 8: l0 -> l1 : TRUE, cost: 1 12: l1 -> l2 : j^0'=i^0, i^0-__const_10^0 <= 0, cost: 1 9: l2 -> l3 : TRUE, cost: 1 10: l3 -> l2 : temp^0'=temp^post2, j^0'=-1+j^0, 0 == 0, cost: 1 11: l3 -> l0 : i^0'=1+i^0, TRUE, cost: 1 13: l5 -> l0 : i^0'=2, TRUE, cost: 1 14: l6 -> l5 : TRUE, cost: 1 Eliminating location l5 by chaining: Applied chaining First rule: l6 -> l5 : TRUE, cost: 1 Second rule: l5 -> l0 : i^0'=2, TRUE, cost: 1 New rule: l6 -> l0 : i^0'=2, TRUE, cost: 2 Applied deletion Removed the following rules: 13 14 Eliminating location l1 by chaining: Applied chaining First rule: l0 -> l1 : TRUE, cost: 1 Second rule: l1 -> l2 : j^0'=i^0, i^0-__const_10^0 <= 0, cost: 1 New rule: l0 -> l2 : j^0'=i^0, i^0-__const_10^0 <= 0, cost: 2 Applied deletion Removed the following rules: 8 12 Eliminated locations on linear paths Start location: l6 16: l0 -> l2 : j^0'=i^0, i^0-__const_10^0 <= 0, cost: 2 9: l2 -> l3 : TRUE, cost: 1 10: l3 -> l2 : temp^0'=temp^post2, j^0'=-1+j^0, 0 == 0, cost: 1 11: l3 -> l0 : i^0'=1+i^0, TRUE, cost: 1 15: l6 -> l0 : i^0'=2, TRUE, cost: 2 Eliminating location l3 by chaining: Applied chaining First rule: l2 -> l3 : TRUE, cost: 1 Second rule: l3 -> l2 : temp^0'=temp^post2, j^0'=-1+j^0, 0 == 0, cost: 1 New rule: l2 -> l2 : temp^0'=temp^post2, j^0'=-1+j^0, 0 == 0, cost: 2 Applied chaining First rule: l2 -> l3 : TRUE, cost: 1 Second rule: l3 -> l0 : i^0'=1+i^0, TRUE, cost: 1 New rule: l2 -> l0 : i^0'=1+i^0, TRUE, cost: 2 Applied deletion Removed the following rules: 9 10 11 Eliminated locations on tree-shaped paths Start location: l6 16: l0 -> l2 : j^0'=i^0, i^0-__const_10^0 <= 0, cost: 2 17: l2 -> l2 : temp^0'=temp^post2, j^0'=-1+j^0, 0 == 0, cost: 2 18: l2 -> l0 : i^0'=1+i^0, TRUE, cost: 2 15: l6 -> l0 : i^0'=2, TRUE, cost: 2 Applied nonterm Original rule: l2 -> l2 : temp^0'=temp^post2, j^0'=-1+j^0, 0 == 0, cost: 2 New rule: l2 -> [7] : (0 >= 0 /\ -1+n >= 0), cost: NONTERM Sub-proof via acceration calculus written to file:///tmp/tmpnam_BgFeNc.txt Applied simplification Original rule: l2 -> [7] : (0 >= 0 /\ -1+n >= 0), cost: NONTERM New rule: l2 -> [7] : -1+n >= 0, cost: NONTERM Applied deletion Removed the following rules: 17 Accelerated simple loops Start location: l6 16: l0 -> l2 : j^0'=i^0, i^0-__const_10^0 <= 0, cost: 2 18: l2 -> l0 : i^0'=1+i^0, TRUE, cost: 2 20: l2 -> [7] : -1+n >= 0, cost: NONTERM 15: l6 -> l0 : i^0'=2, TRUE, cost: 2 Applied chaining First rule: l0 -> l2 : j^0'=i^0, i^0-__const_10^0 <= 0, cost: 2 Second rule: l2 -> [7] : -1+n >= 0, cost: NONTERM New rule: l0 -> [7] : i^0-__const_10^0 <= 0, cost: NONTERM Applied deletion Removed the following rules: 20 Chained accelerated rules with incoming rules Start location: l6 16: l0 -> l2 : j^0'=i^0, i^0-__const_10^0 <= 0, cost: 2 21: l0 -> [7] : i^0-__const_10^0 <= 0, cost: NONTERM 18: l2 -> l0 : i^0'=1+i^0, TRUE, cost: 2 15: l6 -> l0 : i^0'=2, TRUE, cost: 2 Eliminating location l2 by chaining: Applied chaining First rule: l0 -> l2 : j^0'=i^0, i^0-__const_10^0 <= 0, cost: 2 Second rule: l2 -> l0 : i^0'=1+i^0, TRUE, cost: 2 New rule: l0 -> l0 : i^0'=1+i^0, j^0'=i^0, i^0-__const_10^0 <= 0, cost: 4 Applied deletion Removed the following rules: 16 18 Eliminated locations on linear paths Start location: l6 21: l0 -> [7] : i^0-__const_10^0 <= 0, cost: NONTERM 22: l0 -> l0 : i^0'=1+i^0, j^0'=i^0, i^0-__const_10^0 <= 0, cost: 4 15: l6 -> l0 : i^0'=2, TRUE, cost: 2 Applied acceleration Original rule: l0 -> l0 : i^0'=1+i^0, j^0'=i^0, i^0-__const_10^0 <= 0, cost: 4 New rule: l0 -> l0 : i^0'=i^0+n0, j^0'=-1+i^0+n0, (-1+n0 >= 0 /\ 1-i^0-n0+__const_10^0 >= 0), cost: 4*n0 Sub-proof via acceration calculus written to file:///tmp/tmpnam_bNjnml.txt Applied instantiation Original rule: l0 -> l0 : i^0'=i^0+n0, j^0'=-1+i^0+n0, (-1+n0 >= 0 /\ 1-i^0-n0+__const_10^0 >= 0), cost: 4*n0 New rule: l0 -> l0 : i^0'=1+__const_10^0, j^0'=__const_10^0, (0 >= 0 /\ -i^0+__const_10^0 >= 0), cost: 4-4*i^0+4*__const_10^0 Applied simplification Original rule: l0 -> l0 : i^0'=1+__const_10^0, j^0'=__const_10^0, (0 >= 0 /\ -i^0+__const_10^0 >= 0), cost: 4-4*i^0+4*__const_10^0 New rule: l0 -> l0 : i^0'=1+__const_10^0, j^0'=__const_10^0, -i^0+__const_10^0 >= 0, cost: 4-4*i^0+4*__const_10^0 Applied deletion Removed the following rules: 22 Accelerated simple loops Start location: l6 21: l0 -> [7] : i^0-__const_10^0 <= 0, cost: NONTERM 24: l0 -> l0 : i^0'=1+__const_10^0, j^0'=__const_10^0, -i^0+__const_10^0 >= 0, cost: 4-4*i^0+4*__const_10^0 15: l6 -> l0 : i^0'=2, TRUE, cost: 2 Applied chaining First rule: l6 -> l0 : i^0'=2, TRUE, cost: 2 Second rule: l0 -> l0 : i^0'=1+__const_10^0, j^0'=__const_10^0, -i^0+__const_10^0 >= 0, cost: 4-4*i^0+4*__const_10^0 New rule: l6 -> l0 : i^0'=1+__const_10^0, j^0'=__const_10^0, -2+__const_10^0 >= 0, cost: -2+4*__const_10^0 Applied deletion Removed the following rules: 24 Chained accelerated rules with incoming rules Start location: l6 21: l0 -> [7] : i^0-__const_10^0 <= 0, cost: NONTERM 15: l6 -> l0 : i^0'=2, TRUE, cost: 2 25: l6 -> l0 : i^0'=1+__const_10^0, j^0'=__const_10^0, -2+__const_10^0 >= 0, cost: -2+4*__const_10^0 Eliminating location l0 by chaining: Applied chaining First rule: l6 -> l0 : i^0'=2, TRUE, cost: 2 Second rule: l0 -> [7] : i^0-__const_10^0 <= 0, cost: NONTERM New rule: l6 -> [7] : 2-__const_10^0 <= 0, cost: NONTERM Applied simplification Original rule: l6 -> [7] : 2-__const_10^0 <= 0, cost: NONTERM New rule: l6 -> [7] : -2+__const_10^0 >= 0, cost: NONTERM Applied partial deletion Original rule: l6 -> l0 : i^0'=1+__const_10^0, j^0'=__const_10^0, -2+__const_10^0 >= 0, cost: -2+4*__const_10^0 New rule: l6 -> [9] : -2+__const_10^0 >= 0, cost: -2+4*__const_10^0 Applied deletion Removed the following rules: 15 21 25 Eliminated locations on tree-shaped paths Start location: l6 26: l6 -> [7] : -2+__const_10^0 >= 0, cost: NONTERM 27: l6 -> [9] : -2+__const_10^0 >= 0, cost: -2+4*__const_10^0 Computing asymptotic complexity Proved nontermination of rule 26 via SMT. Proved the following lower bound Complexity: Nonterm Cpx degree: Nonterm Solved cost: NONTERM Rule cost: NONTERM Rule guard: -2+__const_10^0 >= 0