NO Initial ITS Start location: l3 0: l0 -> l1 : elem_13^0'=elem_13^post0, len_98^0'=len_98^post0, l_11^0'=l_11^post0, x_12^0'=x_12^post0, (0 == 0 /\ -elem_13^post0 <= 0 /\ l_11^post0-x_12^0 == 0 /\ -len_98^0 <= 0 /\ elem_13^post0 <= 0 /\ 1-len_98^0 <= 0 /\ x_12^0-x_12^post0 == 0 /\ elem_13^post0-l_11^0 == 0 /\ -len_98^10 <= 0 /\ 1-len_98^10 <= 0), cost: 1 1: l1 -> l0 : elem_13^0'=elem_13^post1, len_98^0'=len_98^post1, l_11^0'=l_11^post1, x_12^0'=x_12^post1, (elem_13^0-elem_13^post1 == 0 /\ -x_12^post1+x_12^0 == 0 /\ -l_11^post1+l_11^0 == 0 /\ -len_98^post1+len_98^0 == 0), cost: 1 2: l2 -> l0 : elem_13^0'=elem_13^post2, len_98^0'=len_98^post2, l_11^0'=l_11^post2, x_12^0'=x_12^post2, (elem_13^0-elem_13^post2 == 0 /\ -x_12^post2+x_12^0 == 0 /\ len_98^0-len_98^post2 == 0 /\ -l_11^post2+l_11^0 == 0), cost: 1 3: l3 -> l2 : elem_13^0'=elem_13^post3, len_98^0'=len_98^post3, l_11^0'=l_11^post3, x_12^0'=x_12^post3, (l_11^0-l_11^post3 == 0 /\ elem_13^0-elem_13^post3 == 0 /\ len_98^0-len_98^post3 == 0 /\ -x_12^post3+x_12^0 == 0), cost: 1 Applied preprocessing Original rule: l0 -> l1 : elem_13^0'=elem_13^post0, len_98^0'=len_98^post0, l_11^0'=l_11^post0, x_12^0'=x_12^post0, (0 == 0 /\ -elem_13^post0 <= 0 /\ l_11^post0-x_12^0 == 0 /\ -len_98^0 <= 0 /\ elem_13^post0 <= 0 /\ 1-len_98^0 <= 0 /\ x_12^0-x_12^post0 == 0 /\ elem_13^post0-l_11^0 == 0 /\ -len_98^10 <= 0 /\ 1-len_98^10 <= 0), cost: 1 New rule: l0 -> l1 : elem_13^0'=0, len_98^0'=len_98^post0, l_11^0'=x_12^0, (-1+len_98^0 >= 0 /\ l_11^0 == 0), cost: 1 Applied preprocessing Original rule: l1 -> l0 : elem_13^0'=elem_13^post1, len_98^0'=len_98^post1, l_11^0'=l_11^post1, x_12^0'=x_12^post1, (elem_13^0-elem_13^post1 == 0 /\ -x_12^post1+x_12^0 == 0 /\ -l_11^post1+l_11^0 == 0 /\ -len_98^post1+len_98^0 == 0), cost: 1 New rule: l1 -> l0 : TRUE, cost: 1 Applied preprocessing Original rule: l2 -> l0 : elem_13^0'=elem_13^post2, len_98^0'=len_98^post2, l_11^0'=l_11^post2, x_12^0'=x_12^post2, (elem_13^0-elem_13^post2 == 0 /\ -x_12^post2+x_12^0 == 0 /\ len_98^0-len_98^post2 == 0 /\ -l_11^post2+l_11^0 == 0), cost: 1 New rule: l2 -> l0 : TRUE, cost: 1 Applied preprocessing Original rule: l3 -> l2 : elem_13^0'=elem_13^post3, len_98^0'=len_98^post3, l_11^0'=l_11^post3, x_12^0'=x_12^post3, (l_11^0-l_11^post3 == 0 /\ elem_13^0-elem_13^post3 == 0 /\ len_98^0-len_98^post3 == 0 /\ -x_12^post3+x_12^0 == 0), cost: 1 New rule: l3 -> l2 : TRUE, cost: 1 Simplified rules Start location: l3 4: l0 -> l1 : elem_13^0'=0, len_98^0'=len_98^post0, l_11^0'=x_12^0, (-1+len_98^0 >= 0 /\ l_11^0 == 0), cost: 1 5: l1 -> l0 : TRUE, cost: 1 6: l2 -> l0 : TRUE, cost: 1 7: l3 -> l2 : TRUE, cost: 1 Eliminating location l2 by chaining: Applied chaining First rule: l3 -> l2 : TRUE, cost: 1 Second rule: l2 -> l0 : TRUE, cost: 1 New rule: l3 -> l0 : TRUE, cost: 2 Applied deletion Removed the following rules: 6 7 Eliminating location l1 by chaining: Applied chaining First rule: l0 -> l1 : elem_13^0'=0, len_98^0'=len_98^post0, l_11^0'=x_12^0, (-1+len_98^0 >= 0 /\ l_11^0 == 0), cost: 1 Second rule: l1 -> l0 : TRUE, cost: 1 New rule: l0 -> l0 : elem_13^0'=0, len_98^0'=len_98^post0, l_11^0'=x_12^0, (-1+len_98^0 >= 0 /\ l_11^0 == 0), cost: 2 Applied deletion Removed the following rules: 4 5 Eliminated locations on linear paths Start location: l3 9: l0 -> l0 : elem_13^0'=0, len_98^0'=len_98^post0, l_11^0'=x_12^0, (-1+len_98^0 >= 0 /\ l_11^0 == 0), cost: 2 8: l3 -> l0 : TRUE, cost: 2 Applied acceleration Original rule: l0 -> l0 : elem_13^0'=0, len_98^0'=len_98^post0, l_11^0'=x_12^0, (-1+len_98^0 >= 0 /\ l_11^0 == 0), cost: 2 New rule: l0 -> l0 : elem_13^0'=0, len_98^0'=len_98^post0, l_11^0'=x_12^0, (-1+len_98^0 >= 0 /\ -l_11^0 >= 0 /\ -1+n0 >= 0 /\ l_11^0 >= 0 /\ -1+len_98^post0 >= 0 /\ x_12^0 >= 0 /\ -x_12^0 >= 0), cost: 2*n0 Applied unrolling Original rule: l0 -> l0 : elem_13^0'=0, len_98^0'=len_98^post0, l_11^0'=x_12^0, (-1+len_98^0 >= 0 /\ l_11^0 == 0), cost: 2 New rule: l0 -> l0 : elem_13^0'=0, len_98^0'=len_98^post0, l_11^0'=x_12^0, (-1+len_98^0 >= 0 /\ l_11^0 == 0 /\ -1+len_98^post0 >= 0 /\ x_12^0 == 0), cost: 4 Applied non-termination processor Original rule: l0 -> l0 : elem_13^0'=0, len_98^0'=len_98^post0, l_11^0'=x_12^0, (-1+len_98^0 >= 0 /\ l_11^0 == 0 /\ -1+len_98^post0 >= 0 /\ x_12^0 == 0), cost: 4 New rule: l0 -> [4] : (-1+len_98^0 >= 0 /\ l_11^0 == 0 /\ -1+len_98^post0 >= 0 /\ x_12^0 == 0), cost: NONTERM Applied simplification Original rule: l0 -> l0 : elem_13^0'=0, len_98^0'=len_98^post0, l_11^0'=x_12^0, (-1+len_98^0 >= 0 /\ -l_11^0 >= 0 /\ -1+n0 >= 0 /\ l_11^0 >= 0 /\ -1+len_98^post0 >= 0 /\ x_12^0 >= 0 /\ -x_12^0 >= 0), cost: 2*n0 New rule: l0 -> l0 : elem_13^0'=0, len_98^0'=len_98^post0, l_11^0'=x_12^0, (-1+len_98^0 >= 0 /\ -1+n0 >= 0 /\ l_11^0 <= 0 /\ l_11^0 >= 0 /\ -1+len_98^post0 >= 0 /\ x_12^0 <= 0 /\ x_12^0 >= 0), cost: 2*n0 Applied deletion Removed the following rules: 9 Accelerated simple loops Start location: l3 11: l0 -> [4] : (-1+len_98^0 >= 0 /\ l_11^0 == 0 /\ -1+len_98^post0 >= 0 /\ x_12^0 == 0), cost: NONTERM 12: l0 -> l0 : elem_13^0'=0, len_98^0'=len_98^post0, l_11^0'=x_12^0, (-1+len_98^0 >= 0 /\ -1+n0 >= 0 /\ l_11^0 <= 0 /\ l_11^0 >= 0 /\ -1+len_98^post0 >= 0 /\ x_12^0 <= 0 /\ x_12^0 >= 0), cost: 2*n0 8: l3 -> l0 : TRUE, cost: 2 Applied chaining First rule: l3 -> l0 : TRUE, cost: 2 Second rule: l0 -> [4] : (-1+len_98^0 >= 0 /\ l_11^0 == 0 /\ -1+len_98^post0 >= 0 /\ x_12^0 == 0), cost: NONTERM New rule: l3 -> [4] : (-1+len_98^0 >= 0 /\ l_11^0 == 0 /\ x_12^0 == 0), cost: NONTERM Applied chaining First rule: l3 -> l0 : TRUE, cost: 2 Second rule: l0 -> l0 : elem_13^0'=0, len_98^0'=len_98^post0, l_11^0'=x_12^0, (-1+len_98^0 >= 0 /\ -1+n0 >= 0 /\ l_11^0 <= 0 /\ l_11^0 >= 0 /\ -1+len_98^post0 >= 0 /\ x_12^0 <= 0 /\ x_12^0 >= 0), cost: 2*n0 New rule: l3 -> l0 : elem_13^0'=0, len_98^0'=len_98^post0, l_11^0'=x_12^0, (-1+len_98^0 >= 0 /\ -1+n0 >= 0 /\ l_11^0 == 0 /\ -1+len_98^post0 >= 0 /\ x_12^0 == 0), cost: 2+2*n0 Applied deletion Removed the following rules: 11 12 Chained accelerated rules with incoming rules Start location: l3 8: l3 -> l0 : TRUE, cost: 2 13: l3 -> [4] : (-1+len_98^0 >= 0 /\ l_11^0 == 0 /\ x_12^0 == 0), cost: NONTERM 14: l3 -> l0 : elem_13^0'=0, len_98^0'=len_98^post0, l_11^0'=x_12^0, (-1+len_98^0 >= 0 /\ -1+n0 >= 0 /\ l_11^0 == 0 /\ -1+len_98^post0 >= 0 /\ x_12^0 == 0), cost: 2+2*n0 Removed unreachable locations and irrelevant leafs Start location: l3 13: l3 -> [4] : (-1+len_98^0 >= 0 /\ l_11^0 == 0 /\ x_12^0 == 0), cost: NONTERM Computing asymptotic complexity Proved nontermination of rule 13 via SMT. Proved the following lower bound Complexity: Nonterm Cpx degree: Nonterm Solved cost: NONTERM Rule cost: NONTERM Rule guard: (-1+len_98^0 >= 0 /\ l_11^0 == 0 /\ x_12^0 == 0)