NO ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: l13 0: l0 -> l1 : i6^0'=i6^post_1, length5^0'=length5^post_1, s^0'=s^post_1, tmp15^0'=tmp15^post_1, tmp^0'=tmp^post_1, tmp___09^0'=tmp___09^post_1, [ i6^0==i6^post_1 && length5^0==length5^post_1 && s^0==s^post_1 && tmp^0==tmp^post_1 && tmp15^0==tmp15^post_1 && tmp___09^0==tmp___09^post_1 ], cost: 1 15: l1 -> l2 : i6^0'=i6^post_16, length5^0'=length5^post_16, s^0'=s^post_16, tmp15^0'=tmp15^post_16, tmp^0'=tmp^post_16, tmp___09^0'=tmp___09^post_16, [ i6^0==i6^post_16 && length5^0==length5^post_16 && s^0==s^post_16 && tmp^0==tmp^post_16 && tmp15^0==tmp15^post_16 && tmp___09^0==tmp___09^post_16 ], cost: 1 1: l2 -> l0 : i6^0'=i6^post_2, length5^0'=length5^post_2, s^0'=s^post_2, tmp15^0'=tmp15^post_2, tmp^0'=tmp^post_2, tmp___09^0'=tmp___09^post_2, [ i6^0==i6^post_2 && length5^0==length5^post_2 && s^0==s^post_2 && tmp^0==tmp^post_2 && tmp15^0==tmp15^post_2 && tmp___09^0==tmp___09^post_2 ], cost: 1 2: l2 -> l3 : i6^0'=i6^post_3, length5^0'=length5^post_3, s^0'=s^post_3, tmp15^0'=tmp15^post_3, tmp^0'=tmp^post_3, tmp___09^0'=tmp___09^post_3, [ i6^0==i6^post_3 && length5^0==length5^post_3 && s^0==s^post_3 && tmp^0==tmp^post_3 && tmp15^0==tmp15^post_3 && tmp___09^0==tmp___09^post_3 ], cost: 1 3: l2 -> l0 : i6^0'=i6^post_4, length5^0'=length5^post_4, s^0'=s^post_4, tmp15^0'=tmp15^post_4, tmp^0'=tmp^post_4, tmp___09^0'=tmp___09^post_4, [ i6^0==i6^post_4 && length5^0==length5^post_4 && s^0==s^post_4 && tmp^0==tmp^post_4 && tmp15^0==tmp15^post_4 && tmp___09^0==tmp___09^post_4 ], cost: 1 4: l4 -> l5 : i6^0'=i6^post_5, length5^0'=length5^post_5, s^0'=s^post_5, tmp15^0'=tmp15^post_5, tmp^0'=tmp^post_5, tmp___09^0'=tmp___09^post_5, [ i6^0==i6^post_5 && length5^0==length5^post_5 && s^0==s^post_5 && tmp^0==tmp^post_5 && tmp15^0==tmp15^post_5 && tmp___09^0==tmp___09^post_5 ], cost: 1 16: l5 -> l9 : i6^0'=i6^post_17, length5^0'=length5^post_17, s^0'=s^post_17, tmp15^0'=tmp15^post_17, tmp^0'=tmp^post_17, tmp___09^0'=tmp___09^post_17, [ length5^0<=i6^0 && i6^0==i6^post_17 && length5^0==length5^post_17 && s^0==s^post_17 && tmp^0==tmp^post_17 && tmp15^0==tmp15^post_17 && tmp___09^0==tmp___09^post_17 ], cost: 1 17: l5 -> l4 : i6^0'=i6^post_18, length5^0'=length5^post_18, s^0'=s^post_18, tmp15^0'=tmp15^post_18, tmp^0'=tmp^post_18, tmp___09^0'=tmp___09^post_18, [ 1+i6^0<=length5^0 && tmp___09^post_18==tmp___09^post_18 && i6^post_18==1+i6^0 && length5^0==length5^post_18 && s^0==s^post_18 && tmp^0==tmp^post_18 && tmp15^0==tmp15^post_18 ], cost: 1 5: l6 -> l7 : i6^0'=i6^post_6, length5^0'=length5^post_6, s^0'=s^post_6, tmp15^0'=tmp15^post_6, tmp^0'=tmp^post_6, tmp___09^0'=tmp___09^post_6, [ i6^0==i6^post_6 && length5^0==length5^post_6 && s^0==s^post_6 && tmp^0==tmp^post_6 && tmp15^0==tmp15^post_6 && tmp___09^0==tmp___09^post_6 ], cost: 1 10: l7 -> l8 : i6^0'=i6^post_11, length5^0'=length5^post_11, s^0'=s^post_11, tmp15^0'=tmp15^post_11, tmp^0'=tmp^post_11, tmp___09^0'=tmp___09^post_11, [ i6^0==i6^post_11 && length5^0==length5^post_11 && s^0==s^post_11 && tmp^0==tmp^post_11 && tmp15^0==tmp15^post_11 && tmp___09^0==tmp___09^post_11 ], cost: 1 6: l8 -> l6 : i6^0'=i6^post_7, length5^0'=length5^post_7, s^0'=s^post_7, tmp15^0'=tmp15^post_7, tmp^0'=tmp^post_7, tmp___09^0'=tmp___09^post_7, [ i6^0==i6^post_7 && length5^0==length5^post_7 && s^0==s^post_7 && tmp^0==tmp^post_7 && tmp15^0==tmp15^post_7 && tmp___09^0==tmp___09^post_7 ], cost: 1 7: l8 -> l6 : i6^0'=i6^post_8, length5^0'=length5^post_8, s^0'=s^post_8, tmp15^0'=tmp15^post_8, tmp^0'=tmp^post_8, tmp___09^0'=tmp___09^post_8, [ i6^0==i6^post_8 && length5^0==length5^post_8 && s^0==s^post_8 && tmp^0==tmp^post_8 && tmp15^0==tmp15^post_8 && tmp___09^0==tmp___09^post_8 ], cost: 1 8: l8 -> l1 : i6^0'=i6^post_9, length5^0'=length5^post_9, s^0'=s^post_9, tmp15^0'=tmp15^post_9, tmp^0'=tmp^post_9, tmp___09^0'=tmp___09^post_9, [ i6^0==i6^post_9 && length5^0==length5^post_9 && s^0==s^post_9 && tmp^0==tmp^post_9 && tmp15^0==tmp15^post_9 && tmp___09^0==tmp___09^post_9 ], cost: 1 9: l9 -> l10 : i6^0'=i6^post_10, length5^0'=length5^post_10, s^0'=s^post_10, tmp15^0'=tmp15^post_10, tmp^0'=tmp^post_10, tmp___09^0'=tmp___09^post_10, [ i6^0==i6^post_10 && length5^0==length5^post_10 && s^0==s^post_10 && tmp^0==tmp^post_10 && tmp15^0==tmp15^post_10 && tmp___09^0==tmp___09^post_10 ], cost: 1 12: l10 -> l11 : i6^0'=i6^post_13, length5^0'=length5^post_13, s^0'=s^post_13, tmp15^0'=tmp15^post_13, tmp^0'=tmp^post_13, tmp___09^0'=tmp___09^post_13, [ i6^0==i6^post_13 && length5^0==length5^post_13 && s^0==s^post_13 && tmp^0==tmp^post_13 && tmp15^0==tmp15^post_13 && tmp___09^0==tmp___09^post_13 ], cost: 1 13: l10 -> l7 : i6^0'=i6^post_14, length5^0'=length5^post_14, s^0'=s^post_14, tmp15^0'=tmp15^post_14, tmp^0'=tmp^post_14, tmp___09^0'=tmp___09^post_14, [ i6^0==i6^post_14 && length5^0==length5^post_14 && s^0==s^post_14 && tmp^0==tmp^post_14 && tmp15^0==tmp15^post_14 && tmp___09^0==tmp___09^post_14 ], cost: 1 14: l10 -> l11 : i6^0'=i6^post_15, length5^0'=length5^post_15, s^0'=s^post_15, tmp15^0'=tmp15^post_15, tmp^0'=tmp^post_15, tmp___09^0'=tmp___09^post_15, [ i6^0==i6^post_15 && length5^0==length5^post_15 && s^0==s^post_15 && tmp^0==tmp^post_15 && tmp15^0==tmp15^post_15 && tmp___09^0==tmp___09^post_15 ], cost: 1 11: l11 -> l9 : i6^0'=i6^post_12, length5^0'=length5^post_12, s^0'=s^post_12, tmp15^0'=tmp15^post_12, tmp^0'=tmp^post_12, tmp___09^0'=tmp___09^post_12, [ tmp15^post_12==tmp15^post_12 && i6^0==i6^post_12 && length5^0==length5^post_12 && s^0==s^post_12 && tmp^0==tmp^post_12 && tmp___09^0==tmp___09^post_12 ], cost: 1 18: l12 -> l4 : i6^0'=i6^post_19, length5^0'=length5^post_19, s^0'=s^post_19, tmp15^0'=tmp15^post_19, tmp^0'=tmp^post_19, tmp___09^0'=tmp___09^post_19, [ tmp^post_19==tmp^post_19 && s^post_19==tmp^post_19 && length5^post_19==s^post_19 && i6^post_19==0 && tmp15^0==tmp15^post_19 && tmp___09^0==tmp___09^post_19 ], cost: 1 19: l13 -> l12 : i6^0'=i6^post_20, length5^0'=length5^post_20, s^0'=s^post_20, tmp15^0'=tmp15^post_20, tmp^0'=tmp^post_20, tmp___09^0'=tmp___09^post_20, [ i6^0==i6^post_20 && length5^0==length5^post_20 && s^0==s^post_20 && tmp^0==tmp^post_20 && tmp15^0==tmp15^post_20 && tmp___09^0==tmp___09^post_20 ], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 19: l13 -> l12 : i6^0'=i6^post_20, length5^0'=length5^post_20, s^0'=s^post_20, tmp15^0'=tmp15^post_20, tmp^0'=tmp^post_20, tmp___09^0'=tmp___09^post_20, [ i6^0==i6^post_20 && length5^0==length5^post_20 && s^0==s^post_20 && tmp^0==tmp^post_20 && tmp15^0==tmp15^post_20 && tmp___09^0==tmp___09^post_20 ], cost: 1 Removed unreachable and leaf rules: Start location: l13 0: l0 -> l1 : i6^0'=i6^post_1, length5^0'=length5^post_1, s^0'=s^post_1, tmp15^0'=tmp15^post_1, tmp^0'=tmp^post_1, tmp___09^0'=tmp___09^post_1, [ i6^0==i6^post_1 && length5^0==length5^post_1 && s^0==s^post_1 && tmp^0==tmp^post_1 && tmp15^0==tmp15^post_1 && tmp___09^0==tmp___09^post_1 ], cost: 1 15: l1 -> l2 : i6^0'=i6^post_16, length5^0'=length5^post_16, s^0'=s^post_16, tmp15^0'=tmp15^post_16, tmp^0'=tmp^post_16, tmp___09^0'=tmp___09^post_16, [ i6^0==i6^post_16 && length5^0==length5^post_16 && s^0==s^post_16 && tmp^0==tmp^post_16 && tmp15^0==tmp15^post_16 && tmp___09^0==tmp___09^post_16 ], cost: 1 1: l2 -> l0 : i6^0'=i6^post_2, length5^0'=length5^post_2, s^0'=s^post_2, tmp15^0'=tmp15^post_2, tmp^0'=tmp^post_2, tmp___09^0'=tmp___09^post_2, [ i6^0==i6^post_2 && length5^0==length5^post_2 && s^0==s^post_2 && tmp^0==tmp^post_2 && tmp15^0==tmp15^post_2 && tmp___09^0==tmp___09^post_2 ], cost: 1 3: l2 -> l0 : i6^0'=i6^post_4, length5^0'=length5^post_4, s^0'=s^post_4, tmp15^0'=tmp15^post_4, tmp^0'=tmp^post_4, tmp___09^0'=tmp___09^post_4, [ i6^0==i6^post_4 && length5^0==length5^post_4 && s^0==s^post_4 && tmp^0==tmp^post_4 && tmp15^0==tmp15^post_4 && tmp___09^0==tmp___09^post_4 ], cost: 1 4: l4 -> l5 : i6^0'=i6^post_5, length5^0'=length5^post_5, s^0'=s^post_5, tmp15^0'=tmp15^post_5, tmp^0'=tmp^post_5, tmp___09^0'=tmp___09^post_5, [ i6^0==i6^post_5 && length5^0==length5^post_5 && s^0==s^post_5 && tmp^0==tmp^post_5 && tmp15^0==tmp15^post_5 && tmp___09^0==tmp___09^post_5 ], cost: 1 16: l5 -> l9 : i6^0'=i6^post_17, length5^0'=length5^post_17, s^0'=s^post_17, tmp15^0'=tmp15^post_17, tmp^0'=tmp^post_17, tmp___09^0'=tmp___09^post_17, [ length5^0<=i6^0 && i6^0==i6^post_17 && length5^0==length5^post_17 && s^0==s^post_17 && tmp^0==tmp^post_17 && tmp15^0==tmp15^post_17 && tmp___09^0==tmp___09^post_17 ], cost: 1 17: l5 -> l4 : i6^0'=i6^post_18, length5^0'=length5^post_18, s^0'=s^post_18, tmp15^0'=tmp15^post_18, tmp^0'=tmp^post_18, tmp___09^0'=tmp___09^post_18, [ 1+i6^0<=length5^0 && tmp___09^post_18==tmp___09^post_18 && i6^post_18==1+i6^0 && length5^0==length5^post_18 && s^0==s^post_18 && tmp^0==tmp^post_18 && tmp15^0==tmp15^post_18 ], cost: 1 5: l6 -> l7 : i6^0'=i6^post_6, length5^0'=length5^post_6, s^0'=s^post_6, tmp15^0'=tmp15^post_6, tmp^0'=tmp^post_6, tmp___09^0'=tmp___09^post_6, [ i6^0==i6^post_6 && length5^0==length5^post_6 && s^0==s^post_6 && tmp^0==tmp^post_6 && tmp15^0==tmp15^post_6 && tmp___09^0==tmp___09^post_6 ], cost: 1 10: l7 -> l8 : i6^0'=i6^post_11, length5^0'=length5^post_11, s^0'=s^post_11, tmp15^0'=tmp15^post_11, tmp^0'=tmp^post_11, tmp___09^0'=tmp___09^post_11, [ i6^0==i6^post_11 && length5^0==length5^post_11 && s^0==s^post_11 && tmp^0==tmp^post_11 && tmp15^0==tmp15^post_11 && tmp___09^0==tmp___09^post_11 ], cost: 1 6: l8 -> l6 : i6^0'=i6^post_7, length5^0'=length5^post_7, s^0'=s^post_7, tmp15^0'=tmp15^post_7, tmp^0'=tmp^post_7, tmp___09^0'=tmp___09^post_7, [ i6^0==i6^post_7 && length5^0==length5^post_7 && s^0==s^post_7 && tmp^0==tmp^post_7 && tmp15^0==tmp15^post_7 && tmp___09^0==tmp___09^post_7 ], cost: 1 7: l8 -> l6 : i6^0'=i6^post_8, length5^0'=length5^post_8, s^0'=s^post_8, tmp15^0'=tmp15^post_8, tmp^0'=tmp^post_8, tmp___09^0'=tmp___09^post_8, [ i6^0==i6^post_8 && length5^0==length5^post_8 && s^0==s^post_8 && tmp^0==tmp^post_8 && tmp15^0==tmp15^post_8 && tmp___09^0==tmp___09^post_8 ], cost: 1 8: l8 -> l1 : i6^0'=i6^post_9, length5^0'=length5^post_9, s^0'=s^post_9, tmp15^0'=tmp15^post_9, tmp^0'=tmp^post_9, tmp___09^0'=tmp___09^post_9, [ i6^0==i6^post_9 && length5^0==length5^post_9 && s^0==s^post_9 && tmp^0==tmp^post_9 && tmp15^0==tmp15^post_9 && tmp___09^0==tmp___09^post_9 ], cost: 1 9: l9 -> l10 : i6^0'=i6^post_10, length5^0'=length5^post_10, s^0'=s^post_10, tmp15^0'=tmp15^post_10, tmp^0'=tmp^post_10, tmp___09^0'=tmp___09^post_10, [ i6^0==i6^post_10 && length5^0==length5^post_10 && s^0==s^post_10 && tmp^0==tmp^post_10 && tmp15^0==tmp15^post_10 && tmp___09^0==tmp___09^post_10 ], cost: 1 12: l10 -> l11 : i6^0'=i6^post_13, length5^0'=length5^post_13, s^0'=s^post_13, tmp15^0'=tmp15^post_13, tmp^0'=tmp^post_13, tmp___09^0'=tmp___09^post_13, [ i6^0==i6^post_13 && length5^0==length5^post_13 && s^0==s^post_13 && tmp^0==tmp^post_13 && tmp15^0==tmp15^post_13 && tmp___09^0==tmp___09^post_13 ], cost: 1 13: l10 -> l7 : i6^0'=i6^post_14, length5^0'=length5^post_14, s^0'=s^post_14, tmp15^0'=tmp15^post_14, tmp^0'=tmp^post_14, tmp___09^0'=tmp___09^post_14, [ i6^0==i6^post_14 && length5^0==length5^post_14 && s^0==s^post_14 && tmp^0==tmp^post_14 && tmp15^0==tmp15^post_14 && tmp___09^0==tmp___09^post_14 ], cost: 1 14: l10 -> l11 : i6^0'=i6^post_15, length5^0'=length5^post_15, s^0'=s^post_15, tmp15^0'=tmp15^post_15, tmp^0'=tmp^post_15, tmp___09^0'=tmp___09^post_15, [ i6^0==i6^post_15 && length5^0==length5^post_15 && s^0==s^post_15 && tmp^0==tmp^post_15 && tmp15^0==tmp15^post_15 && tmp___09^0==tmp___09^post_15 ], cost: 1 11: l11 -> l9 : i6^0'=i6^post_12, length5^0'=length5^post_12, s^0'=s^post_12, tmp15^0'=tmp15^post_12, tmp^0'=tmp^post_12, tmp___09^0'=tmp___09^post_12, [ tmp15^post_12==tmp15^post_12 && i6^0==i6^post_12 && length5^0==length5^post_12 && s^0==s^post_12 && tmp^0==tmp^post_12 && tmp___09^0==tmp___09^post_12 ], cost: 1 18: l12 -> l4 : i6^0'=i6^post_19, length5^0'=length5^post_19, s^0'=s^post_19, tmp15^0'=tmp15^post_19, tmp^0'=tmp^post_19, tmp___09^0'=tmp___09^post_19, [ tmp^post_19==tmp^post_19 && s^post_19==tmp^post_19 && length5^post_19==s^post_19 && i6^post_19==0 && tmp15^0==tmp15^post_19 && tmp___09^0==tmp___09^post_19 ], cost: 1 19: l13 -> l12 : i6^0'=i6^post_20, length5^0'=length5^post_20, s^0'=s^post_20, tmp15^0'=tmp15^post_20, tmp^0'=tmp^post_20, tmp___09^0'=tmp___09^post_20, [ i6^0==i6^post_20 && length5^0==length5^post_20 && s^0==s^post_20 && tmp^0==tmp^post_20 && tmp15^0==tmp15^post_20 && tmp___09^0==tmp___09^post_20 ], cost: 1 Simplified all rules, resulting in: Start location: l13 0: l0 -> l1 : [], cost: 1 15: l1 -> l2 : [], cost: 1 3: l2 -> l0 : [], cost: 1 4: l4 -> l5 : [], cost: 1 16: l5 -> l9 : [ length5^0<=i6^0 ], cost: 1 17: l5 -> l4 : i6^0'=1+i6^0, tmp___09^0'=tmp___09^post_18, [ 1+i6^0<=length5^0 ], cost: 1 5: l6 -> l7 : [], cost: 1 10: l7 -> l8 : [], cost: 1 7: l8 -> l6 : [], cost: 1 8: l8 -> l1 : [], cost: 1 9: l9 -> l10 : [], cost: 1 13: l10 -> l7 : [], cost: 1 14: l10 -> l11 : [], cost: 1 11: l11 -> l9 : tmp15^0'=tmp15^post_12, [], cost: 1 18: l12 -> l4 : i6^0'=0, length5^0'=length5^post_19, s^0'=length5^post_19, tmp^0'=length5^post_19, [], cost: 1 19: l13 -> l12 : [], cost: 1 ### Simplification by acceleration and chaining ### Eliminated locations (on linear paths): Start location: l13 24: l1 -> l1 : [], cost: 3 4: l4 -> l5 : [], cost: 1 16: l5 -> l9 : [ length5^0<=i6^0 ], cost: 1 17: l5 -> l4 : i6^0'=1+i6^0, tmp___09^0'=tmp___09^post_18, [ 1+i6^0<=length5^0 ], cost: 1 10: l7 -> l8 : [], cost: 1 8: l8 -> l1 : [], cost: 1 22: l8 -> l7 : [], cost: 2 9: l9 -> l10 : [], cost: 1 13: l10 -> l7 : [], cost: 1 21: l10 -> l9 : tmp15^0'=tmp15^post_12, [], cost: 2 20: l13 -> l4 : i6^0'=0, length5^0'=length5^post_19, s^0'=length5^post_19, tmp^0'=length5^post_19, [], cost: 2 Accelerating simple loops of location 1. Accelerating the following rules: 24: l1 -> l1 : [], cost: 3 Accelerated rule 24 with non-termination, yielding the new rule 25. [accelerate] Nesting with 0 inner and 0 outer candidates Removing the simple loops: 24. Accelerated all simple loops using metering functions (where possible): Start location: l13 25: l1 -> [14] : [], cost: NONTERM 4: l4 -> l5 : [], cost: 1 16: l5 -> l9 : [ length5^0<=i6^0 ], cost: 1 17: l5 -> l4 : i6^0'=1+i6^0, tmp___09^0'=tmp___09^post_18, [ 1+i6^0<=length5^0 ], cost: 1 10: l7 -> l8 : [], cost: 1 8: l8 -> l1 : [], cost: 1 22: l8 -> l7 : [], cost: 2 9: l9 -> l10 : [], cost: 1 13: l10 -> l7 : [], cost: 1 21: l10 -> l9 : tmp15^0'=tmp15^post_12, [], cost: 2 20: l13 -> l4 : i6^0'=0, length5^0'=length5^post_19, s^0'=length5^post_19, tmp^0'=length5^post_19, [], cost: 2 Chained accelerated rules (with incoming rules): Start location: l13 4: l4 -> l5 : [], cost: 1 16: l5 -> l9 : [ length5^0<=i6^0 ], cost: 1 17: l5 -> l4 : i6^0'=1+i6^0, tmp___09^0'=tmp___09^post_18, [ 1+i6^0<=length5^0 ], cost: 1 10: l7 -> l8 : [], cost: 1 8: l8 -> l1 : [], cost: 1 22: l8 -> l7 : [], cost: 2 26: l8 -> [14] : [], cost: NONTERM 9: l9 -> l10 : [], cost: 1 13: l10 -> l7 : [], cost: 1 21: l10 -> l9 : tmp15^0'=tmp15^post_12, [], cost: 2 20: l13 -> l4 : i6^0'=0, length5^0'=length5^post_19, s^0'=length5^post_19, tmp^0'=length5^post_19, [], cost: 2 Removed unreachable locations (and leaf rules with constant cost): Start location: l13 4: l4 -> l5 : [], cost: 1 16: l5 -> l9 : [ length5^0<=i6^0 ], cost: 1 17: l5 -> l4 : i6^0'=1+i6^0, tmp___09^0'=tmp___09^post_18, [ 1+i6^0<=length5^0 ], cost: 1 10: l7 -> l8 : [], cost: 1 22: l8 -> l7 : [], cost: 2 26: l8 -> [14] : [], cost: NONTERM 9: l9 -> l10 : [], cost: 1 13: l10 -> l7 : [], cost: 1 21: l10 -> l9 : tmp15^0'=tmp15^post_12, [], cost: 2 20: l13 -> l4 : i6^0'=0, length5^0'=length5^post_19, s^0'=length5^post_19, tmp^0'=length5^post_19, [], cost: 2 Eliminated locations (on tree-shaped paths): Start location: l13 27: l4 -> l9 : [ length5^0<=i6^0 ], cost: 2 28: l4 -> l4 : i6^0'=1+i6^0, tmp___09^0'=tmp___09^post_18, [ 1+i6^0<=length5^0 ], cost: 2 31: l7 -> l7 : [], cost: 3 32: l7 -> [14] : [], cost: NONTERM 29: l9 -> l7 : [], cost: 2 30: l9 -> l9 : tmp15^0'=tmp15^post_12, [], cost: 3 20: l13 -> l4 : i6^0'=0, length5^0'=length5^post_19, s^0'=length5^post_19, tmp^0'=length5^post_19, [], cost: 2 Accelerating simple loops of location 4. Accelerating the following rules: 28: l4 -> l4 : i6^0'=1+i6^0, tmp___09^0'=tmp___09^post_18, [ 1+i6^0<=length5^0 ], cost: 2 Accelerated rule 28 with backward acceleration, yielding the new rule 33. [accelerate] Nesting with 1 inner and 1 outer candidates Removing the simple loops: 28. Accelerating simple loops of location 7. Accelerating the following rules: 31: l7 -> l7 : [], cost: 3 Accelerated rule 31 with non-termination, yielding the new rule 34. [accelerate] Nesting with 0 inner and 0 outer candidates Removing the simple loops: 31. Accelerating simple loops of location 9. Accelerating the following rules: 30: l9 -> l9 : tmp15^0'=tmp15^post_12, [], cost: 3 Accelerated rule 30 with non-termination, yielding the new rule 35. [accelerate] Nesting with 0 inner and 0 outer candidates Removing the simple loops: 30. Accelerated all simple loops using metering functions (where possible): Start location: l13 27: l4 -> l9 : [ length5^0<=i6^0 ], cost: 2 33: l4 -> l4 : i6^0'=length5^0, tmp___09^0'=tmp___09^post_18, [ length5^0-i6^0>=1 ], cost: 2*length5^0-2*i6^0 32: l7 -> [14] : [], cost: NONTERM 34: l7 -> [16] : [], cost: NONTERM 29: l9 -> l7 : [], cost: 2 35: l9 -> [17] : [], cost: NONTERM 20: l13 -> l4 : i6^0'=0, length5^0'=length5^post_19, s^0'=length5^post_19, tmp^0'=length5^post_19, [], cost: 2 Chained accelerated rules (with incoming rules): Start location: l13 27: l4 -> l9 : [ length5^0<=i6^0 ], cost: 2 38: l4 -> [17] : [ length5^0<=i6^0 ], cost: NONTERM 32: l7 -> [14] : [], cost: NONTERM 29: l9 -> l7 : [], cost: 2 37: l9 -> [16] : [], cost: NONTERM 20: l13 -> l4 : i6^0'=0, length5^0'=length5^post_19, s^0'=length5^post_19, tmp^0'=length5^post_19, [], cost: 2 36: l13 -> l4 : i6^0'=length5^post_19, length5^0'=length5^post_19, s^0'=length5^post_19, tmp^0'=length5^post_19, tmp___09^0'=tmp___09^post_18, [ length5^post_19>=1 ], cost: 2+2*length5^post_19 Eliminated locations (on linear paths): Start location: l13 27: l4 -> l9 : [ length5^0<=i6^0 ], cost: 2 38: l4 -> [17] : [ length5^0<=i6^0 ], cost: NONTERM 37: l9 -> [16] : [], cost: NONTERM 39: l9 -> [14] : [], cost: NONTERM 20: l13 -> l4 : i6^0'=0, length5^0'=length5^post_19, s^0'=length5^post_19, tmp^0'=length5^post_19, [], cost: 2 36: l13 -> l4 : i6^0'=length5^post_19, length5^0'=length5^post_19, s^0'=length5^post_19, tmp^0'=length5^post_19, tmp___09^0'=tmp___09^post_18, [ length5^post_19>=1 ], cost: 2+2*length5^post_19 Eliminated locations (on tree-shaped paths): Start location: l13 37: l9 -> [16] : [], cost: NONTERM 39: l9 -> [14] : [], cost: NONTERM 40: l13 -> l9 : i6^0'=0, length5^0'=length5^post_19, s^0'=length5^post_19, tmp^0'=length5^post_19, [ length5^post_19<=0 ], cost: 4 41: l13 -> [17] : [ length5^post_19<=0 ], cost: NONTERM 42: l13 -> l9 : i6^0'=length5^post_19, length5^0'=length5^post_19, s^0'=length5^post_19, tmp^0'=length5^post_19, tmp___09^0'=tmp___09^post_18, [ length5^post_19>=1 ], cost: 4+2*length5^post_19 43: l13 -> [17] : [ length5^post_19>=1 ], cost: NONTERM Merged rules: Start location: l13 37: l9 -> [16] : [], cost: NONTERM 39: l9 -> [14] : [], cost: NONTERM 40: l13 -> l9 : i6^0'=0, length5^0'=length5^post_19, s^0'=length5^post_19, tmp^0'=length5^post_19, [ length5^post_19<=0 ], cost: 4 42: l13 -> l9 : i6^0'=length5^post_19, length5^0'=length5^post_19, s^0'=length5^post_19, tmp^0'=length5^post_19, tmp___09^0'=tmp___09^post_18, [ length5^post_19>=1 ], cost: 4+2*length5^post_19 44: l13 -> [17] : [], cost: NONTERM Eliminated locations (on tree-shaped paths): Start location: l13 44: l13 -> [17] : [], cost: NONTERM 45: l13 -> [16] : [ length5^post_19<=0 ], cost: NONTERM 46: l13 -> [14] : [ length5^post_19<=0 ], cost: NONTERM 47: l13 -> [16] : [ length5^post_19>=1 ], cost: NONTERM 48: l13 -> [14] : [ length5^post_19>=1 ], cost: NONTERM ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: l13 44: l13 -> [17] : [], cost: NONTERM 46: l13 -> [14] : [ length5^post_19<=0 ], cost: NONTERM 48: l13 -> [14] : [ length5^post_19>=1 ], cost: NONTERM Computing asymptotic complexity for rule 44 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