NO ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: l6 0: l0 -> l1 : retp^0'=retp^post_1, retpp^0'=retpp^post_1, rho^0'=rho^post_1, rhop^0'=rhop^post_1, x^0'=x^post_1, xp^0'=xp^post_1, [ 1<=rhop^0 && xp^post_1==1+xp^0 && retp^0==retp^post_1 && retpp^0==retpp^post_1 && rho^0==rho^post_1 && rhop^0==rhop^post_1 && x^0==x^post_1 ], cost: 1 1: l0 -> l1 : retp^0'=retp^post_2, retpp^0'=retpp^post_2, rho^0'=rho^post_2, rhop^0'=rhop^post_2, x^0'=x^post_2, xp^0'=xp^post_2, [ rhop^0<=0 && xp^post_2==-1+xp^0 && retp^0==retp^post_2 && retpp^0==retpp^post_2 && rho^0==rho^post_2 && rhop^0==rhop^post_2 && x^0==x^post_2 ], cost: 1 5: l1 -> l2 : retp^0'=retp^post_6, retpp^0'=retpp^post_6, rho^0'=rho^post_6, rhop^0'=rhop^post_6, x^0'=x^post_6, xp^0'=xp^post_6, [ xp^0<=1 && retpp^post_6==0 && retp^0==retp^post_6 && rho^0==rho^post_6 && rhop^0==rhop^post_6 && x^0==x^post_6 && xp^0==xp^post_6 ], cost: 1 6: l1 -> l2 : retp^0'=retp^post_7, retpp^0'=retpp^post_7, rho^0'=rho^post_7, rhop^0'=rhop^post_7, x^0'=x^post_7, xp^0'=xp^post_7, [ 2<=xp^0 && retpp^post_7==1 && retp^0==retp^post_7 && rho^0==rho^post_7 && rhop^0==rhop^post_7 && x^0==x^post_7 && xp^0==xp^post_7 ], cost: 1 2: l2 -> l3 : retp^0'=retp^post_3, retpp^0'=retpp^post_3, rho^0'=rho^post_3, rhop^0'=rhop^post_3, x^0'=x^post_3, xp^0'=xp^post_3, [ retpp^0<=0 && retp^post_3==0 && retpp^0==retpp^post_3 && rho^0==rho^post_3 && rhop^0==rhop^post_3 && x^0==x^post_3 && xp^0==xp^post_3 ], cost: 1 3: l2 -> l3 : retp^0'=retp^post_4, retpp^0'=retpp^post_4, rho^0'=rho^post_4, rhop^0'=rhop^post_4, x^0'=x^post_4, xp^0'=xp^post_4, [ retp^post_4==1 && retpp^0==retpp^post_4 && rho^0==rho^post_4 && rhop^0==rhop^post_4 && x^0==x^post_4 && xp^0==xp^post_4 ], cost: 1 4: l2 -> l0 : retp^0'=retp^post_5, retpp^0'=retpp^post_5, rho^0'=rho^post_5, rhop^0'=rhop^post_5, x^0'=x^post_5, xp^0'=xp^post_5, [ rhop^post_5==rhop^post_5 && 1<=rhop^post_5 && retp^0==retp^post_5 && retpp^0==retpp^post_5 && rho^0==rho^post_5 && x^0==x^post_5 && xp^0==xp^post_5 ], cost: 1 8: l3 -> l5 : retp^0'=retp^post_9, retpp^0'=retpp^post_9, rho^0'=rho^post_9, rhop^0'=rhop^post_9, x^0'=x^post_9, xp^0'=xp^post_9, [ retp^0<=0 && retp^0==retp^post_9 && retpp^0==retpp^post_9 && rho^0==rho^post_9 && rhop^0==rhop^post_9 && x^0==x^post_9 && xp^0==xp^post_9 ], cost: 1 7: l4 -> l1 : retp^0'=retp^post_8, retpp^0'=retpp^post_8, rho^0'=rho^post_8, rhop^0'=rhop^post_8, x^0'=x^post_8, xp^0'=xp^post_8, [ x^post_8==2 && xp^post_8==x^post_8 && rhop^post_8==rho^0 && retp^0==retp^post_8 && retpp^0==retpp^post_8 && rho^0==rho^post_8 ], cost: 1 9: l6 -> l4 : retp^0'=retp^post_10, retpp^0'=retpp^post_10, rho^0'=rho^post_10, rhop^0'=rhop^post_10, x^0'=x^post_10, xp^0'=xp^post_10, [ retp^0==retp^post_10 && retpp^0==retpp^post_10 && rho^0==rho^post_10 && rhop^0==rhop^post_10 && x^0==x^post_10 && xp^0==xp^post_10 ], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 9: l6 -> l4 : retp^0'=retp^post_10, retpp^0'=retpp^post_10, rho^0'=rho^post_10, rhop^0'=rhop^post_10, x^0'=x^post_10, xp^0'=xp^post_10, [ retp^0==retp^post_10 && retpp^0==retpp^post_10 && rho^0==rho^post_10 && rhop^0==rhop^post_10 && x^0==x^post_10 && xp^0==xp^post_10 ], cost: 1 Removed unreachable and leaf rules: Start location: l6 0: l0 -> l1 : retp^0'=retp^post_1, retpp^0'=retpp^post_1, rho^0'=rho^post_1, rhop^0'=rhop^post_1, x^0'=x^post_1, xp^0'=xp^post_1, [ 1<=rhop^0 && xp^post_1==1+xp^0 && retp^0==retp^post_1 && retpp^0==retpp^post_1 && rho^0==rho^post_1 && rhop^0==rhop^post_1 && x^0==x^post_1 ], cost: 1 1: l0 -> l1 : retp^0'=retp^post_2, retpp^0'=retpp^post_2, rho^0'=rho^post_2, rhop^0'=rhop^post_2, x^0'=x^post_2, xp^0'=xp^post_2, [ rhop^0<=0 && xp^post_2==-1+xp^0 && retp^0==retp^post_2 && retpp^0==retpp^post_2 && rho^0==rho^post_2 && rhop^0==rhop^post_2 && x^0==x^post_2 ], cost: 1 5: l1 -> l2 : retp^0'=retp^post_6, retpp^0'=retpp^post_6, rho^0'=rho^post_6, rhop^0'=rhop^post_6, x^0'=x^post_6, xp^0'=xp^post_6, [ xp^0<=1 && retpp^post_6==0 && retp^0==retp^post_6 && rho^0==rho^post_6 && rhop^0==rhop^post_6 && x^0==x^post_6 && xp^0==xp^post_6 ], cost: 1 6: l1 -> l2 : retp^0'=retp^post_7, retpp^0'=retpp^post_7, rho^0'=rho^post_7, rhop^0'=rhop^post_7, x^0'=x^post_7, xp^0'=xp^post_7, [ 2<=xp^0 && retpp^post_7==1 && retp^0==retp^post_7 && rho^0==rho^post_7 && rhop^0==rhop^post_7 && x^0==x^post_7 && xp^0==xp^post_7 ], cost: 1 4: l2 -> l0 : retp^0'=retp^post_5, retpp^0'=retpp^post_5, rho^0'=rho^post_5, rhop^0'=rhop^post_5, x^0'=x^post_5, xp^0'=xp^post_5, [ rhop^post_5==rhop^post_5 && 1<=rhop^post_5 && retp^0==retp^post_5 && retpp^0==retpp^post_5 && rho^0==rho^post_5 && x^0==x^post_5 && xp^0==xp^post_5 ], cost: 1 7: l4 -> l1 : retp^0'=retp^post_8, retpp^0'=retpp^post_8, rho^0'=rho^post_8, rhop^0'=rhop^post_8, x^0'=x^post_8, xp^0'=xp^post_8, [ x^post_8==2 && xp^post_8==x^post_8 && rhop^post_8==rho^0 && retp^0==retp^post_8 && retpp^0==retpp^post_8 && rho^0==rho^post_8 ], cost: 1 9: l6 -> l4 : retp^0'=retp^post_10, retpp^0'=retpp^post_10, rho^0'=rho^post_10, rhop^0'=rhop^post_10, x^0'=x^post_10, xp^0'=xp^post_10, [ retp^0==retp^post_10 && retpp^0==retpp^post_10 && rho^0==rho^post_10 && rhop^0==rhop^post_10 && x^0==x^post_10 && xp^0==xp^post_10 ], cost: 1 Simplified all rules, resulting in: Start location: l6 0: l0 -> l1 : xp^0'=1+xp^0, [ 1<=rhop^0 ], cost: 1 1: l0 -> l1 : xp^0'=-1+xp^0, [ rhop^0<=0 ], cost: 1 5: l1 -> l2 : retpp^0'=0, [ xp^0<=1 ], cost: 1 6: l1 -> l2 : retpp^0'=1, [ 2<=xp^0 ], cost: 1 4: l2 -> l0 : rhop^0'=rhop^post_5, [ 1<=rhop^post_5 ], cost: 1 7: l4 -> l1 : rhop^0'=rho^0, x^0'=2, xp^0'=2, [], cost: 1 9: l6 -> l4 : [], cost: 1 ### Simplification by acceleration and chaining ### Eliminated locations (on linear paths): Start location: l6 0: l0 -> l1 : xp^0'=1+xp^0, [ 1<=rhop^0 ], cost: 1 1: l0 -> l1 : xp^0'=-1+xp^0, [ rhop^0<=0 ], cost: 1 5: l1 -> l2 : retpp^0'=0, [ xp^0<=1 ], cost: 1 6: l1 -> l2 : retpp^0'=1, [ 2<=xp^0 ], cost: 1 4: l2 -> l0 : rhop^0'=rhop^post_5, [ 1<=rhop^post_5 ], cost: 1 10: l6 -> l1 : rhop^0'=rho^0, x^0'=2, xp^0'=2, [], cost: 2 Eliminated locations (on tree-shaped paths): Start location: l6 0: l0 -> l1 : xp^0'=1+xp^0, [ 1<=rhop^0 ], cost: 1 1: l0 -> l1 : xp^0'=-1+xp^0, [ rhop^0<=0 ], cost: 1 11: l1 -> l0 : retpp^0'=0, rhop^0'=rhop^post_5, [ xp^0<=1 && 1<=rhop^post_5 ], cost: 2 12: l1 -> l0 : retpp^0'=1, rhop^0'=rhop^post_5, [ 2<=xp^0 && 1<=rhop^post_5 ], cost: 2 10: l6 -> l1 : rhop^0'=rho^0, x^0'=2, xp^0'=2, [], cost: 2 Eliminated locations (on tree-shaped paths): Start location: l6 13: l1 -> l1 : retpp^0'=0, rhop^0'=rhop^post_5, xp^0'=1+xp^0, [ xp^0<=1 && 1<=rhop^post_5 ], cost: 3 14: l1 -> l1 : retpp^0'=1, rhop^0'=rhop^post_5, xp^0'=1+xp^0, [ 2<=xp^0 && 1<=rhop^post_5 ], cost: 3 10: l6 -> l1 : rhop^0'=rho^0, x^0'=2, xp^0'=2, [], cost: 2 Accelerating simple loops of location 1. Accelerating the following rules: 13: l1 -> l1 : retpp^0'=0, rhop^0'=rhop^post_5, xp^0'=1+xp^0, [ xp^0<=1 && 1<=rhop^post_5 ], cost: 3 14: l1 -> l1 : retpp^0'=1, rhop^0'=rhop^post_5, xp^0'=1+xp^0, [ 2<=xp^0 && 1<=rhop^post_5 ], cost: 3 Accelerated rule 13 with backward acceleration, yielding the new rule 15. Accelerated rule 14 with non-termination, yielding the new rule 16. [accelerate] Nesting with 1 inner and 1 outer candidates Removing the simple loops: 13 14. Accelerated all simple loops using metering functions (where possible): Start location: l6 15: l1 -> l1 : retpp^0'=0, rhop^0'=rhop^post_5, xp^0'=2, [ 1<=rhop^post_5 && 2-xp^0>=1 ], cost: 6-3*xp^0 16: l1 -> [7] : [ 2<=xp^0 && 1<=rhop^post_5 ], cost: NONTERM 10: l6 -> l1 : rhop^0'=rho^0, x^0'=2, xp^0'=2, [], cost: 2 Chained accelerated rules (with incoming rules): Start location: l6 10: l6 -> l1 : rhop^0'=rho^0, x^0'=2, xp^0'=2, [], cost: 2 17: l6 -> [7] : [], cost: NONTERM Removed unreachable locations (and leaf rules with constant cost): Start location: l6 17: l6 -> [7] : [], cost: NONTERM ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: l6 17: l6 -> [7] : [], cost: NONTERM Computing asymptotic complexity for rule 17 Guard is satisfiable, yielding nontermination Resulting cost NONTERM has complexity: Nonterm Found new complexity Nonterm. Obtained the following overall complexity (w.r.t. the length of the input n): Complexity: Nonterm Cpx degree: Nonterm Solved cost: NONTERM Rule cost: NONTERM Rule guard: [] NO