NO ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: l4 0: l0 -> l1 : __const_100^0'=__const_100^post_1, __const_10^0'=__const_10^post_1, __const_11^0'=__const_11^post_1, e^0'=e^post_1, n^0'=n^post_1, [ 1<=e^0 && n^0<=__const_100^0 && n^post_1==n^0+__const_11^0 && e^post_1==1+e^0 && __const_10^0==__const_10^post_1 && __const_100^0==__const_100^post_1 && __const_11^0==__const_11^post_1 ], cost: 1 2: l0 -> l2 : __const_100^0'=__const_100^post_3, __const_10^0'=__const_10^post_3, __const_11^0'=__const_11^post_3, e^0'=e^post_3, n^0'=n^post_3, [ 1<=e^0 && 1+__const_100^0<=n^0 && n^post_3==n^0-__const_10^0 && e^post_3==-1+e^0 && __const_10^0==__const_10^post_3 && __const_100^0==__const_100^post_3 && __const_11^0==__const_11^post_3 ], cost: 1 1: l1 -> l0 : __const_100^0'=__const_100^post_2, __const_10^0'=__const_10^post_2, __const_11^0'=__const_11^post_2, e^0'=e^post_2, n^0'=n^post_2, [ __const_10^0==__const_10^post_2 && __const_100^0==__const_100^post_2 && __const_11^0==__const_11^post_2 && e^0==e^post_2 && n^0==n^post_2 ], cost: 1 3: l2 -> l0 : __const_100^0'=__const_100^post_4, __const_10^0'=__const_10^post_4, __const_11^0'=__const_11^post_4, e^0'=e^post_4, n^0'=n^post_4, [ __const_10^0==__const_10^post_4 && __const_100^0==__const_100^post_4 && __const_11^0==__const_11^post_4 && e^0==e^post_4 && n^0==n^post_4 ], cost: 1 4: l3 -> l0 : __const_100^0'=__const_100^post_5, __const_10^0'=__const_10^post_5, __const_11^0'=__const_11^post_5, e^0'=e^post_5, n^0'=n^post_5, [ n^post_5==n^post_5 && e^post_5==1 && __const_10^0==__const_10^post_5 && __const_100^0==__const_100^post_5 && __const_11^0==__const_11^post_5 ], cost: 1 5: l4 -> l3 : __const_100^0'=__const_100^post_6, __const_10^0'=__const_10^post_6, __const_11^0'=__const_11^post_6, e^0'=e^post_6, n^0'=n^post_6, [ __const_10^0==__const_10^post_6 && __const_100^0==__const_100^post_6 && __const_11^0==__const_11^post_6 && e^0==e^post_6 && n^0==n^post_6 ], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 5: l4 -> l3 : __const_100^0'=__const_100^post_6, __const_10^0'=__const_10^post_6, __const_11^0'=__const_11^post_6, e^0'=e^post_6, n^0'=n^post_6, [ __const_10^0==__const_10^post_6 && __const_100^0==__const_100^post_6 && __const_11^0==__const_11^post_6 && e^0==e^post_6 && n^0==n^post_6 ], cost: 1 Simplified all rules, resulting in: Start location: l4 0: l0 -> l1 : e^0'=1+e^0, n^0'=n^0+__const_11^0, [ 1<=e^0 && n^0<=__const_100^0 ], cost: 1 2: l0 -> l2 : e^0'=-1+e^0, n^0'=n^0-__const_10^0, [ 1<=e^0 && 1+__const_100^0<=n^0 ], cost: 1 1: l1 -> l0 : [], cost: 1 3: l2 -> l0 : [], cost: 1 4: l3 -> l0 : e^0'=1, n^0'=n^post_5, [], cost: 1 5: l4 -> l3 : [], cost: 1 ### Simplification by acceleration and chaining ### Eliminated locations (on linear paths): Start location: l4 7: l0 -> l0 : e^0'=1+e^0, n^0'=n^0+__const_11^0, [ 1<=e^0 && n^0<=__const_100^0 ], cost: 2 8: l0 -> l0 : e^0'=-1+e^0, n^0'=n^0-__const_10^0, [ 1<=e^0 && 1+__const_100^0<=n^0 ], cost: 2 6: l4 -> l0 : e^0'=1, n^0'=n^post_5, [], cost: 2 Accelerating simple loops of location 0. Accelerating the following rules: 7: l0 -> l0 : e^0'=1+e^0, n^0'=n^0+__const_11^0, [ 1<=e^0 && n^0<=__const_100^0 ], cost: 2 8: l0 -> l0 : e^0'=-1+e^0, n^0'=n^0-__const_10^0, [ 1<=e^0 && 1+__const_100^0<=n^0 ], cost: 2 [test] deduced pseudo-invariant __const_11^0<=0, also trying -__const_11^0<=-1 Accelerated rule 7 with non-termination, yielding the new rule 9. Accelerated rule 7 with backward acceleration, yielding the new rule 10. Accelerated rule 7 with backward acceleration, yielding the new rule 11. [test] deduced pseudo-invariant -__const_10^0<=0, also trying __const_10^0<=-1 Accelerated rule 8 with backward acceleration, yielding the new rule 12. Accelerated rule 8 with backward acceleration, yielding the new rule 13. [accelerate] Nesting with 3 inner and 2 outer candidates Also removing duplicate rules: 9. Accelerated all simple loops using metering functions (where possible): Start location: l4 7: l0 -> l0 : e^0'=1+e^0, n^0'=n^0+__const_11^0, [ 1<=e^0 && n^0<=__const_100^0 ], cost: 2 8: l0 -> l0 : e^0'=-1+e^0, n^0'=n^0-__const_10^0, [ 1<=e^0 && 1+__const_100^0<=n^0 ], cost: 2 10: l0 -> [5] : [ 1<=e^0 && n^0<=__const_100^0 && __const_11^0<=0 ], cost: NONTERM 11: l0 -> l0 : e^0'=e^0+k, n^0'=n^0+__const_11^0*k, [ 1<=e^0 && -__const_11^0<=-1 && k>=0 && n^0+__const_11^0*(-1+k)<=__const_100^0 ], cost: 2*k 12: l0 -> l0 : e^0'=-k_2+e^0, n^0'=n^0-__const_10^0*k_2, [ -__const_10^0<=0 && k_2>=0 && 1<=1-k_2+e^0 && 1+__const_100^0<=n^0-__const_10^0*(-1+k_2) ], cost: 2*k_2 13: l0 -> l0 : e^0'=0, n^0'=n^0-__const_10^0*e^0, [ 1+__const_100^0<=n^0 && __const_10^0<=-1 && e^0>=0 ], cost: 2*e^0 6: l4 -> l0 : e^0'=1, n^0'=n^post_5, [], cost: 2 Chained accelerated rules (with incoming rules): Start location: l4 6: l4 -> l0 : e^0'=1, n^0'=n^post_5, [], cost: 2 14: l4 -> l0 : e^0'=2, n^0'=n^post_5+__const_11^0, [ n^post_5<=__const_100^0 ], cost: 4 15: l4 -> l0 : e^0'=0, n^0'=-__const_10^0+n^post_5, [ 1+__const_100^0<=n^post_5 ], cost: 4 16: l4 -> [5] : [ __const_11^0<=0 ], cost: NONTERM 17: l4 -> l0 : e^0'=1+k, n^0'=__const_11^0*k+n^post_5, [ -__const_11^0<=-1 && k>=0 && n^post_5+__const_11^0*(-1+k)<=__const_100^0 ], cost: 2+2*k 18: l4 -> l0 : e^0'=1-k_2, n^0'=-__const_10^0*k_2+n^post_5, [ -__const_10^0<=0 && k_2>=0 && 1<=2-k_2 && 1+__const_100^0<=n^post_5-__const_10^0*(-1+k_2) ], cost: 2+2*k_2 19: l4 -> l0 : e^0'=0, n^0'=-__const_10^0+n^post_5, [ 1+__const_100^0<=n^post_5 && __const_10^0<=-1 ], cost: 4 Removed unreachable locations (and leaf rules with constant cost): Start location: l4 16: l4 -> [5] : [ __const_11^0<=0 ], cost: NONTERM 17: l4 -> l0 : e^0'=1+k, n^0'=__const_11^0*k+n^post_5, [ -__const_11^0<=-1 && k>=0 && n^post_5+__const_11^0*(-1+k)<=__const_100^0 ], cost: 2+2*k 18: l4 -> l0 : e^0'=1-k_2, n^0'=-__const_10^0*k_2+n^post_5, [ -__const_10^0<=0 && k_2>=0 && 1<=2-k_2 && 1+__const_100^0<=n^post_5-__const_10^0*(-1+k_2) ], cost: 2+2*k_2 ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: l4 16: l4 -> [5] : [ __const_11^0<=0 ], cost: NONTERM 17: l4 -> l0 : e^0'=1+k, n^0'=__const_11^0*k+n^post_5, [ -__const_11^0<=-1 && k>=0 && n^post_5+__const_11^0*(-1+k)<=__const_100^0 ], cost: 2+2*k 18: l4 -> l0 : e^0'=1-k_2, n^0'=-__const_10^0*k_2+n^post_5, [ -__const_10^0<=0 && k_2>=0 && 1<=2-k_2 && 1+__const_100^0<=n^post_5-__const_10^0*(-1+k_2) ], cost: 2+2*k_2 Computing asymptotic complexity for rule 16 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: [ __const_11^0<=0 ] NO