NO ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: l9 0: l0 -> l1 : Result_4^0'=Result_4^post_1, __const_13^0'=__const_13^post_1, __disjvr_0^0'=__disjvr_0^post_1, __disjvr_1^0'=__disjvr_1^post_1, x_5^0'=x_5^post_1, [ Result_4^0==Result_4^post_1 && __const_13^0==__const_13^post_1 && __disjvr_0^0==__disjvr_0^post_1 && __disjvr_1^0==__disjvr_1^post_1 && x_5^0==x_5^post_1 ], cost: 1 1: l1 -> l3 : Result_4^0'=Result_4^post_2, __const_13^0'=__const_13^post_2, __disjvr_0^0'=__disjvr_0^post_2, __disjvr_1^0'=__disjvr_1^post_2, x_5^0'=x_5^post_2, [ x_5^post_2==-1+x_5^0 && Result_4^0==Result_4^post_2 && __const_13^0==__const_13^post_2 && __disjvr_0^0==__disjvr_0^post_2 && __disjvr_1^0==__disjvr_1^post_2 ], cost: 1 5: l1 -> l6 : Result_4^0'=Result_4^post_6, __const_13^0'=__const_13^post_6, __disjvr_0^0'=__disjvr_0^post_6, __disjvr_1^0'=__disjvr_1^post_6, x_5^0'=x_5^post_6, [ x_5^post_6==-1+x_5^0 && Result_4^0==Result_4^post_6 && __const_13^0==__const_13^post_6 && __disjvr_0^0==__disjvr_0^post_6 && __disjvr_1^0==__disjvr_1^post_6 ], cost: 1 8: l1 -> l8 : Result_4^0'=Result_4^post_9, __const_13^0'=__const_13^post_9, __disjvr_0^0'=__disjvr_0^post_9, __disjvr_1^0'=__disjvr_1^post_9, x_5^0'=x_5^post_9, [ x_5^1_1==-1+x_5^0 && x_5^1_1<=__const_13^0 && __const_13^0<=x_5^1_1 && x_5^post_9==x_5^post_9 && -x_5^post_9<=0 && Result_4^0==Result_4^post_9 && __const_13^0==__const_13^post_9 && __disjvr_0^0==__disjvr_0^post_9 && __disjvr_1^0==__disjvr_1^post_9 ], cost: 1 10: l1 -> l5 : Result_4^0'=Result_4^post_11, __const_13^0'=__const_13^post_11, __disjvr_0^0'=__disjvr_0^post_11, __disjvr_1^0'=__disjvr_1^post_11, x_5^0'=x_5^post_11, [ x_5^1_2==-1+x_5^0 && x_5^1_2<=__const_13^0 && __const_13^0<=x_5^1_2 && x_5^post_11==x_5^post_11 && 0<=-1-x_5^post_11 && Result_4^post_11==Result_4^post_11 && __const_13^0==__const_13^post_11 && __disjvr_0^0==__disjvr_0^post_11 && __disjvr_1^0==__disjvr_1^post_11 ], cost: 1 2: l3 -> l4 : Result_4^0'=Result_4^post_3, __const_13^0'=__const_13^post_3, __disjvr_0^0'=__disjvr_0^post_3, __disjvr_1^0'=__disjvr_1^post_3, x_5^0'=x_5^post_3, [ __disjvr_0^post_3==__disjvr_0^0 && Result_4^0==Result_4^post_3 && __const_13^0==__const_13^post_3 && __disjvr_0^0==__disjvr_0^post_3 && __disjvr_1^0==__disjvr_1^post_3 && x_5^0==x_5^post_3 ], cost: 1 3: l4 -> l2 : Result_4^0'=Result_4^post_4, __const_13^0'=__const_13^post_4, __disjvr_0^0'=__disjvr_0^post_4, __disjvr_1^0'=__disjvr_1^post_4, x_5^0'=x_5^post_4, [ -x_5^0<=0 && Result_4^0==Result_4^post_4 && __const_13^0==__const_13^post_4 && __disjvr_0^0==__disjvr_0^post_4 && __disjvr_1^0==__disjvr_1^post_4 && x_5^0==x_5^post_4 ], cost: 1 4: l2 -> l1 : Result_4^0'=Result_4^post_5, __const_13^0'=__const_13^post_5, __disjvr_0^0'=__disjvr_0^post_5, __disjvr_1^0'=__disjvr_1^post_5, x_5^0'=x_5^post_5, [ Result_4^0==Result_4^post_5 && __const_13^0==__const_13^post_5 && __disjvr_0^0==__disjvr_0^post_5 && __disjvr_1^0==__disjvr_1^post_5 && x_5^0==x_5^post_5 ], cost: 1 6: l6 -> l7 : Result_4^0'=Result_4^post_7, __const_13^0'=__const_13^post_7, __disjvr_0^0'=__disjvr_0^post_7, __disjvr_1^0'=__disjvr_1^post_7, x_5^0'=x_5^post_7, [ __disjvr_1^post_7==__disjvr_1^0 && Result_4^0==Result_4^post_7 && __const_13^0==__const_13^post_7 && __disjvr_0^0==__disjvr_0^post_7 && __disjvr_1^0==__disjvr_1^post_7 && x_5^0==x_5^post_7 ], cost: 1 7: l7 -> l5 : Result_4^0'=Result_4^post_8, __const_13^0'=__const_13^post_8, __disjvr_0^0'=__disjvr_0^post_8, __disjvr_1^0'=__disjvr_1^post_8, x_5^0'=x_5^post_8, [ 0<=-1-x_5^0 && Result_4^post_8==Result_4^post_8 && __const_13^0==__const_13^post_8 && __disjvr_0^0==__disjvr_0^post_8 && __disjvr_1^0==__disjvr_1^post_8 && x_5^0==x_5^post_8 ], cost: 1 9: l8 -> l1 : Result_4^0'=Result_4^post_10, __const_13^0'=__const_13^post_10, __disjvr_0^0'=__disjvr_0^post_10, __disjvr_1^0'=__disjvr_1^post_10, x_5^0'=x_5^post_10, [ Result_4^0==Result_4^post_10 && __const_13^0==__const_13^post_10 && __disjvr_0^0==__disjvr_0^post_10 && __disjvr_1^0==__disjvr_1^post_10 && x_5^0==x_5^post_10 ], cost: 1 11: l9 -> l0 : Result_4^0'=Result_4^post_12, __const_13^0'=__const_13^post_12, __disjvr_0^0'=__disjvr_0^post_12, __disjvr_1^0'=__disjvr_1^post_12, x_5^0'=x_5^post_12, [ Result_4^0==Result_4^post_12 && __const_13^0==__const_13^post_12 && __disjvr_0^0==__disjvr_0^post_12 && __disjvr_1^0==__disjvr_1^post_12 && x_5^0==x_5^post_12 ], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 11: l9 -> l0 : Result_4^0'=Result_4^post_12, __const_13^0'=__const_13^post_12, __disjvr_0^0'=__disjvr_0^post_12, __disjvr_1^0'=__disjvr_1^post_12, x_5^0'=x_5^post_12, [ Result_4^0==Result_4^post_12 && __const_13^0==__const_13^post_12 && __disjvr_0^0==__disjvr_0^post_12 && __disjvr_1^0==__disjvr_1^post_12 && x_5^0==x_5^post_12 ], cost: 1 Removed unreachable and leaf rules: Start location: l9 0: l0 -> l1 : Result_4^0'=Result_4^post_1, __const_13^0'=__const_13^post_1, __disjvr_0^0'=__disjvr_0^post_1, __disjvr_1^0'=__disjvr_1^post_1, x_5^0'=x_5^post_1, [ Result_4^0==Result_4^post_1 && __const_13^0==__const_13^post_1 && __disjvr_0^0==__disjvr_0^post_1 && __disjvr_1^0==__disjvr_1^post_1 && x_5^0==x_5^post_1 ], cost: 1 1: l1 -> l3 : Result_4^0'=Result_4^post_2, __const_13^0'=__const_13^post_2, __disjvr_0^0'=__disjvr_0^post_2, __disjvr_1^0'=__disjvr_1^post_2, x_5^0'=x_5^post_2, [ x_5^post_2==-1+x_5^0 && Result_4^0==Result_4^post_2 && __const_13^0==__const_13^post_2 && __disjvr_0^0==__disjvr_0^post_2 && __disjvr_1^0==__disjvr_1^post_2 ], cost: 1 8: l1 -> l8 : Result_4^0'=Result_4^post_9, __const_13^0'=__const_13^post_9, __disjvr_0^0'=__disjvr_0^post_9, __disjvr_1^0'=__disjvr_1^post_9, x_5^0'=x_5^post_9, [ x_5^1_1==-1+x_5^0 && x_5^1_1<=__const_13^0 && __const_13^0<=x_5^1_1 && x_5^post_9==x_5^post_9 && -x_5^post_9<=0 && Result_4^0==Result_4^post_9 && __const_13^0==__const_13^post_9 && __disjvr_0^0==__disjvr_0^post_9 && __disjvr_1^0==__disjvr_1^post_9 ], cost: 1 2: l3 -> l4 : Result_4^0'=Result_4^post_3, __const_13^0'=__const_13^post_3, __disjvr_0^0'=__disjvr_0^post_3, __disjvr_1^0'=__disjvr_1^post_3, x_5^0'=x_5^post_3, [ __disjvr_0^post_3==__disjvr_0^0 && Result_4^0==Result_4^post_3 && __const_13^0==__const_13^post_3 && __disjvr_0^0==__disjvr_0^post_3 && __disjvr_1^0==__disjvr_1^post_3 && x_5^0==x_5^post_3 ], cost: 1 3: l4 -> l2 : Result_4^0'=Result_4^post_4, __const_13^0'=__const_13^post_4, __disjvr_0^0'=__disjvr_0^post_4, __disjvr_1^0'=__disjvr_1^post_4, x_5^0'=x_5^post_4, [ -x_5^0<=0 && Result_4^0==Result_4^post_4 && __const_13^0==__const_13^post_4 && __disjvr_0^0==__disjvr_0^post_4 && __disjvr_1^0==__disjvr_1^post_4 && x_5^0==x_5^post_4 ], cost: 1 4: l2 -> l1 : Result_4^0'=Result_4^post_5, __const_13^0'=__const_13^post_5, __disjvr_0^0'=__disjvr_0^post_5, __disjvr_1^0'=__disjvr_1^post_5, x_5^0'=x_5^post_5, [ Result_4^0==Result_4^post_5 && __const_13^0==__const_13^post_5 && __disjvr_0^0==__disjvr_0^post_5 && __disjvr_1^0==__disjvr_1^post_5 && x_5^0==x_5^post_5 ], cost: 1 9: l8 -> l1 : Result_4^0'=Result_4^post_10, __const_13^0'=__const_13^post_10, __disjvr_0^0'=__disjvr_0^post_10, __disjvr_1^0'=__disjvr_1^post_10, x_5^0'=x_5^post_10, [ Result_4^0==Result_4^post_10 && __const_13^0==__const_13^post_10 && __disjvr_0^0==__disjvr_0^post_10 && __disjvr_1^0==__disjvr_1^post_10 && x_5^0==x_5^post_10 ], cost: 1 11: l9 -> l0 : Result_4^0'=Result_4^post_12, __const_13^0'=__const_13^post_12, __disjvr_0^0'=__disjvr_0^post_12, __disjvr_1^0'=__disjvr_1^post_12, x_5^0'=x_5^post_12, [ Result_4^0==Result_4^post_12 && __const_13^0==__const_13^post_12 && __disjvr_0^0==__disjvr_0^post_12 && __disjvr_1^0==__disjvr_1^post_12 && x_5^0==x_5^post_12 ], cost: 1 Simplified all rules, resulting in: Start location: l9 0: l0 -> l1 : [], cost: 1 1: l1 -> l3 : x_5^0'=-1+x_5^0, [], cost: 1 8: l1 -> l8 : x_5^0'=x_5^post_9, [ -1+x_5^0-__const_13^0==0 && -x_5^post_9<=0 ], cost: 1 2: l3 -> l4 : [], cost: 1 3: l4 -> l2 : [ -x_5^0<=0 ], cost: 1 4: l2 -> l1 : [], cost: 1 9: l8 -> l1 : [], cost: 1 11: l9 -> l0 : [], cost: 1 ### Simplification by acceleration and chaining ### Eliminated locations (on linear paths): Start location: l9 14: l1 -> l1 : x_5^0'=x_5^post_9, [ -1+x_5^0-__const_13^0==0 && -x_5^post_9<=0 ], cost: 2 16: l1 -> l1 : x_5^0'=-1+x_5^0, [ 1-x_5^0<=0 ], cost: 4 12: l9 -> l1 : [], cost: 2 Accelerating simple loops of location 1. Accelerating the following rules: 14: l1 -> l1 : x_5^0'=x_5^post_9, [ -1+x_5^0-__const_13^0==0 && -x_5^post_9<=0 ], cost: 2 16: l1 -> l1 : x_5^0'=-1+x_5^0, [ 1-x_5^0<=0 ], cost: 4 [test] deduced pseudo-invariant x_5^post_9-x_5^0<=0, also trying -x_5^post_9+x_5^0<=-1 Accelerated rule 14 with non-termination, yielding the new rule 17. Accelerated rule 14 with non-termination, yielding the new rule 18. Accelerated rule 16 with backward acceleration, yielding the new rule 19. [accelerate] Nesting with 1 inner and 2 outer candidates Nested simple loops 14 (outer loop) and 19 (inner loop) with Rule(1 | x_5^0>=0, -1-__const_13^0==0, -x_5^post_9<=0, | NONTERM || 10 | ), resulting in the new rules: 20, 21. Removing the simple loops: 14 16. Accelerated all simple loops using metering functions (where possible): Start location: l9 17: l1 -> [10] : [ -1+x_5^0-__const_13^0==0 && -x_5^post_9<=0 && -1+x_5^post_9-__const_13^0==0 ], cost: NONTERM 18: l1 -> [10] : [ -1+x_5^0-__const_13^0==0 && -x_5^post_9<=0 && x_5^post_9-x_5^0<=0 && -1+x_5^post_9-__const_13^0==0 ], cost: NONTERM 19: l1 -> l1 : x_5^0'=0, [ x_5^0>=0 ], cost: 4*x_5^0 20: l1 -> [10] : [ x_5^0>=0 && -1-__const_13^0==0 && -x_5^post_9<=0 ], cost: NONTERM 21: l1 -> [10] : [ -1+x_5^0-__const_13^0==0 && -x_5^post_9<=0 && -1-__const_13^0==0 ], cost: NONTERM 12: l9 -> l1 : [], cost: 2 Chained accelerated rules (with incoming rules): Start location: l9 12: l9 -> l1 : [], cost: 2 22: l9 -> [10] : [ -1+x_5^0-__const_13^0==0 && -1-__const_13^0<=0 ], cost: NONTERM 23: l9 -> [10] : [ -1+x_5^0-__const_13^0==0 && -1-__const_13^0<=0 ], cost: NONTERM 24: l9 -> l1 : x_5^0'=0, [ x_5^0>=0 ], cost: 2+4*x_5^0 25: l9 -> [10] : [ x_5^0>=0 && -1-__const_13^0==0 ], cost: NONTERM 26: l9 -> [10] : [ -1+x_5^0-__const_13^0==0 && -1-__const_13^0==0 ], cost: NONTERM Removed unreachable locations (and leaf rules with constant cost): Start location: l9 22: l9 -> [10] : [ -1+x_5^0-__const_13^0==0 && -1-__const_13^0<=0 ], cost: NONTERM 23: l9 -> [10] : [ -1+x_5^0-__const_13^0==0 && -1-__const_13^0<=0 ], cost: NONTERM 24: l9 -> l1 : x_5^0'=0, [ x_5^0>=0 ], cost: 2+4*x_5^0 25: l9 -> [10] : [ x_5^0>=0 && -1-__const_13^0==0 ], cost: NONTERM 26: l9 -> [10] : [ -1+x_5^0-__const_13^0==0 && -1-__const_13^0==0 ], cost: NONTERM ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: l9 23: l9 -> [10] : [ -1+x_5^0-__const_13^0==0 && -1-__const_13^0<=0 ], cost: NONTERM 24: l9 -> l1 : x_5^0'=0, [ x_5^0>=0 ], cost: 2+4*x_5^0 25: l9 -> [10] : [ x_5^0>=0 && -1-__const_13^0==0 ], cost: NONTERM 26: l9 -> [10] : [ -1+x_5^0-__const_13^0==0 && -1-__const_13^0==0 ], cost: NONTERM Computing asymptotic complexity for rule 23 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: [ -1+x_5^0-__const_13^0==0 && -1-__const_13^0<=0 ] NO