WORST_CASE(Omega(1),?) ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: l14 0: l0 -> l1 : i11^0'=i11^post_1, i13^0'=i13^post_1, i7^0'=i7^post_1, i9^0'=i9^post_1, i^0'=i^post_1, tmp^0'=tmp^post_1, tmp___0^0'=tmp___0^post_1, [ i^0==i^post_1 && i11^0==i11^post_1 && i13^0==i13^post_1 && i7^0==i7^post_1 && i9^0==i9^post_1 && tmp^0==tmp^post_1 && tmp___0^0==tmp___0^post_1 ], cost: 1 16: l1 -> l5 : i11^0'=i11^post_17, i13^0'=i13^post_17, i7^0'=i7^post_17, i9^0'=i9^post_17, i^0'=i^post_17, tmp^0'=tmp^post_17, tmp___0^0'=tmp___0^post_17, [ 50<=i7^0 && i9^1_1==0 && i9^post_17==0 && i^0==i^post_17 && i11^0==i11^post_17 && i13^0==i13^post_17 && i7^0==i7^post_17 && tmp^0==tmp^post_17 && tmp___0^0==tmp___0^post_17 ], cost: 1 17: l1 -> l0 : i11^0'=i11^post_18, i13^0'=i13^post_18, i7^0'=i7^post_18, i9^0'=i9^post_18, i^0'=i^post_18, tmp^0'=tmp^post_18, tmp___0^0'=tmp___0^post_18, [ 1+i7^0<=50 && i7^post_18==1+i7^0 && i^0==i^post_18 && i11^0==i11^post_18 && i13^0==i13^post_18 && i9^0==i9^post_18 && tmp^0==tmp^post_18 && tmp___0^0==tmp___0^post_18 ], cost: 1 1: l2 -> l3 : i11^0'=i11^post_2, i13^0'=i13^post_2, i7^0'=i7^post_2, i9^0'=i9^post_2, i^0'=i^post_2, tmp^0'=tmp^post_2, tmp___0^0'=tmp___0^post_2, [ 50<=i^0 && i^0==i^post_2 && i11^0==i11^post_2 && i13^0==i13^post_2 && i7^0==i7^post_2 && i9^0==i9^post_2 && tmp^0==tmp^post_2 && tmp___0^0==tmp___0^post_2 ], cost: 1 2: l2 -> l4 : i11^0'=i11^post_3, i13^0'=i13^post_3, i7^0'=i7^post_3, i9^0'=i9^post_3, i^0'=i^post_3, tmp^0'=tmp^post_3, tmp___0^0'=tmp___0^post_3, [ 1+i^0<=50 && i^post_3==1+i^0 && i11^0==i11^post_3 && i13^0==i13^post_3 && i7^0==i7^post_3 && i9^0==i9^post_3 && tmp^0==tmp^post_3 && tmp___0^0==tmp___0^post_3 ], cost: 1 15: l4 -> l2 : i11^0'=i11^post_16, i13^0'=i13^post_16, i7^0'=i7^post_16, i9^0'=i9^post_16, i^0'=i^post_16, tmp^0'=tmp^post_16, tmp___0^0'=tmp___0^post_16, [ i^0==i^post_16 && i11^0==i11^post_16 && i13^0==i13^post_16 && i7^0==i7^post_16 && i9^0==i9^post_16 && tmp^0==tmp^post_16 && tmp___0^0==tmp___0^post_16 ], cost: 1 3: l5 -> l6 : i11^0'=i11^post_4, i13^0'=i13^post_4, i7^0'=i7^post_4, i9^0'=i9^post_4, i^0'=i^post_4, tmp^0'=tmp^post_4, tmp___0^0'=tmp___0^post_4, [ i^0==i^post_4 && i11^0==i11^post_4 && i13^0==i13^post_4 && i7^0==i7^post_4 && i9^0==i9^post_4 && tmp^0==tmp^post_4 && tmp___0^0==tmp___0^post_4 ], cost: 1 13: l6 -> l9 : i11^0'=i11^post_14, i13^0'=i13^post_14, i7^0'=i7^post_14, i9^0'=i9^post_14, i^0'=i^post_14, tmp^0'=tmp^post_14, tmp___0^0'=tmp___0^post_14, [ 50<=i9^0 && i^post_14==0 && i11^0==i11^post_14 && i13^0==i13^post_14 && i7^0==i7^post_14 && i9^0==i9^post_14 && tmp^0==tmp^post_14 && tmp___0^0==tmp___0^post_14 ], cost: 1 14: l6 -> l5 : i11^0'=i11^post_15, i13^0'=i13^post_15, i7^0'=i7^post_15, i9^0'=i9^post_15, i^0'=i^post_15, tmp^0'=tmp^post_15, tmp___0^0'=tmp___0^post_15, [ 1+i9^0<=50 && i9^post_15==1+i9^0 && i^0==i^post_15 && i11^0==i11^post_15 && i13^0==i13^post_15 && i7^0==i7^post_15 && tmp^0==tmp^post_15 && tmp___0^0==tmp___0^post_15 ], cost: 1 4: l7 -> l4 : i11^0'=i11^post_5, i13^0'=i13^post_5, i7^0'=i7^post_5, i9^0'=i9^post_5, i^0'=i^post_5, tmp^0'=tmp^post_5, tmp___0^0'=tmp___0^post_5, [ 50<=i13^0 && i^post_5==0 && i11^0==i11^post_5 && i13^0==i13^post_5 && i7^0==i7^post_5 && i9^0==i9^post_5 && tmp^0==tmp^post_5 && tmp___0^0==tmp___0^post_5 ], cost: 1 5: l7 -> l8 : i11^0'=i11^post_6, i13^0'=i13^post_6, i7^0'=i7^post_6, i9^0'=i9^post_6, i^0'=i^post_6, tmp^0'=tmp^post_6, tmp___0^0'=tmp___0^post_6, [ 1+i13^0<=50 && i13^post_6==1+i13^0 && i^0==i^post_6 && i11^0==i11^post_6 && i7^0==i7^post_6 && i9^0==i9^post_6 && tmp^0==tmp^post_6 && tmp___0^0==tmp___0^post_6 ], cost: 1 12: l8 -> l7 : i11^0'=i11^post_13, i13^0'=i13^post_13, i7^0'=i7^post_13, i9^0'=i9^post_13, i^0'=i^post_13, tmp^0'=tmp^post_13, tmp___0^0'=tmp___0^post_13, [ i^0==i^post_13 && i11^0==i11^post_13 && i13^0==i13^post_13 && i7^0==i7^post_13 && i9^0==i9^post_13 && tmp^0==tmp^post_13 && tmp___0^0==tmp___0^post_13 ], cost: 1 6: l9 -> l10 : i11^0'=i11^post_7, i13^0'=i13^post_7, i7^0'=i7^post_7, i9^0'=i9^post_7, i^0'=i^post_7, tmp^0'=tmp^post_7, tmp___0^0'=tmp___0^post_7, [ i^0==i^post_7 && i11^0==i11^post_7 && i13^0==i13^post_7 && i7^0==i7^post_7 && i9^0==i9^post_7 && tmp^0==tmp^post_7 && tmp___0^0==tmp___0^post_7 ], cost: 1 10: l10 -> l12 : i11^0'=i11^post_11, i13^0'=i13^post_11, i7^0'=i7^post_11, i9^0'=i9^post_11, i^0'=i^post_11, tmp^0'=tmp^post_11, tmp___0^0'=tmp___0^post_11, [ 50<=i^0 && i11^1_1==0 && i11^post_11==0 && i^0==i^post_11 && i13^0==i13^post_11 && i7^0==i7^post_11 && i9^0==i9^post_11 && tmp^0==tmp^post_11 && tmp___0^0==tmp___0^post_11 ], cost: 1 11: l10 -> l9 : i11^0'=i11^post_12, i13^0'=i13^post_12, i7^0'=i7^post_12, i9^0'=i9^post_12, i^0'=i^post_12, tmp^0'=tmp^post_12, tmp___0^0'=tmp___0^post_12, [ 1+i^0<=50 && i^post_12==1+i^0 && i11^0==i11^post_12 && i13^0==i13^post_12 && i7^0==i7^post_12 && i9^0==i9^post_12 && tmp^0==tmp^post_12 && tmp___0^0==tmp___0^post_12 ], cost: 1 7: l11 -> l8 : i11^0'=i11^post_8, i13^0'=i13^post_8, i7^0'=i7^post_8, i9^0'=i9^post_8, i^0'=i^post_8, tmp^0'=tmp^post_8, tmp___0^0'=tmp___0^post_8, [ 50<=i11^0 && i13^1_1==0 && i13^post_8==0 && i^0==i^post_8 && i11^0==i11^post_8 && i7^0==i7^post_8 && i9^0==i9^post_8 && tmp^0==tmp^post_8 && tmp___0^0==tmp___0^post_8 ], cost: 1 8: l11 -> l12 : i11^0'=i11^post_9, i13^0'=i13^post_9, i7^0'=i7^post_9, i9^0'=i9^post_9, i^0'=i^post_9, tmp^0'=tmp^post_9, tmp___0^0'=tmp___0^post_9, [ 1+i11^0<=50 && i11^post_9==1+i11^0 && i^0==i^post_9 && i13^0==i13^post_9 && i7^0==i7^post_9 && i9^0==i9^post_9 && tmp^0==tmp^post_9 && tmp___0^0==tmp___0^post_9 ], cost: 1 9: l12 -> l11 : i11^0'=i11^post_10, i13^0'=i13^post_10, i7^0'=i7^post_10, i9^0'=i9^post_10, i^0'=i^post_10, tmp^0'=tmp^post_10, tmp___0^0'=tmp___0^post_10, [ i^0==i^post_10 && i11^0==i11^post_10 && i13^0==i13^post_10 && i7^0==i7^post_10 && i9^0==i9^post_10 && tmp^0==tmp^post_10 && tmp___0^0==tmp___0^post_10 ], cost: 1 18: l13 -> l0 : i11^0'=i11^post_19, i13^0'=i13^post_19, i7^0'=i7^post_19, i9^0'=i9^post_19, i^0'=i^post_19, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [ i^post_19==0 && tmp^post_19==tmp^post_19 && tmp___0^post_19==tmp___0^post_19 && i7^1_1==0 && i7^post_19==0 && i11^0==i11^post_19 && i13^0==i13^post_19 && i9^0==i9^post_19 ], cost: 1 19: l14 -> l13 : i11^0'=i11^post_20, i13^0'=i13^post_20, i7^0'=i7^post_20, i9^0'=i9^post_20, i^0'=i^post_20, tmp^0'=tmp^post_20, tmp___0^0'=tmp___0^post_20, [ i^0==i^post_20 && i11^0==i11^post_20 && i13^0==i13^post_20 && i7^0==i7^post_20 && i9^0==i9^post_20 && tmp^0==tmp^post_20 && tmp___0^0==tmp___0^post_20 ], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 19: l14 -> l13 : i11^0'=i11^post_20, i13^0'=i13^post_20, i7^0'=i7^post_20, i9^0'=i9^post_20, i^0'=i^post_20, tmp^0'=tmp^post_20, tmp___0^0'=tmp___0^post_20, [ i^0==i^post_20 && i11^0==i11^post_20 && i13^0==i13^post_20 && i7^0==i7^post_20 && i9^0==i9^post_20 && tmp^0==tmp^post_20 && tmp___0^0==tmp___0^post_20 ], cost: 1 Removed unreachable and leaf rules: Start location: l14 0: l0 -> l1 : i11^0'=i11^post_1, i13^0'=i13^post_1, i7^0'=i7^post_1, i9^0'=i9^post_1, i^0'=i^post_1, tmp^0'=tmp^post_1, tmp___0^0'=tmp___0^post_1, [ i^0==i^post_1 && i11^0==i11^post_1 && i13^0==i13^post_1 && i7^0==i7^post_1 && i9^0==i9^post_1 && tmp^0==tmp^post_1 && tmp___0^0==tmp___0^post_1 ], cost: 1 16: l1 -> l5 : i11^0'=i11^post_17, i13^0'=i13^post_17, i7^0'=i7^post_17, i9^0'=i9^post_17, i^0'=i^post_17, tmp^0'=tmp^post_17, tmp___0^0'=tmp___0^post_17, [ 50<=i7^0 && i9^1_1==0 && i9^post_17==0 && i^0==i^post_17 && i11^0==i11^post_17 && i13^0==i13^post_17 && i7^0==i7^post_17 && tmp^0==tmp^post_17 && tmp___0^0==tmp___0^post_17 ], cost: 1 17: l1 -> l0 : i11^0'=i11^post_18, i13^0'=i13^post_18, i7^0'=i7^post_18, i9^0'=i9^post_18, i^0'=i^post_18, tmp^0'=tmp^post_18, tmp___0^0'=tmp___0^post_18, [ 1+i7^0<=50 && i7^post_18==1+i7^0 && i^0==i^post_18 && i11^0==i11^post_18 && i13^0==i13^post_18 && i9^0==i9^post_18 && tmp^0==tmp^post_18 && tmp___0^0==tmp___0^post_18 ], cost: 1 2: l2 -> l4 : i11^0'=i11^post_3, i13^0'=i13^post_3, i7^0'=i7^post_3, i9^0'=i9^post_3, i^0'=i^post_3, tmp^0'=tmp^post_3, tmp___0^0'=tmp___0^post_3, [ 1+i^0<=50 && i^post_3==1+i^0 && i11^0==i11^post_3 && i13^0==i13^post_3 && i7^0==i7^post_3 && i9^0==i9^post_3 && tmp^0==tmp^post_3 && tmp___0^0==tmp___0^post_3 ], cost: 1 15: l4 -> l2 : i11^0'=i11^post_16, i13^0'=i13^post_16, i7^0'=i7^post_16, i9^0'=i9^post_16, i^0'=i^post_16, tmp^0'=tmp^post_16, tmp___0^0'=tmp___0^post_16, [ i^0==i^post_16 && i11^0==i11^post_16 && i13^0==i13^post_16 && i7^0==i7^post_16 && i9^0==i9^post_16 && tmp^0==tmp^post_16 && tmp___0^0==tmp___0^post_16 ], cost: 1 3: l5 -> l6 : i11^0'=i11^post_4, i13^0'=i13^post_4, i7^0'=i7^post_4, i9^0'=i9^post_4, i^0'=i^post_4, tmp^0'=tmp^post_4, tmp___0^0'=tmp___0^post_4, [ i^0==i^post_4 && i11^0==i11^post_4 && i13^0==i13^post_4 && i7^0==i7^post_4 && i9^0==i9^post_4 && tmp^0==tmp^post_4 && tmp___0^0==tmp___0^post_4 ], cost: 1 13: l6 -> l9 : i11^0'=i11^post_14, i13^0'=i13^post_14, i7^0'=i7^post_14, i9^0'=i9^post_14, i^0'=i^post_14, tmp^0'=tmp^post_14, tmp___0^0'=tmp___0^post_14, [ 50<=i9^0 && i^post_14==0 && i11^0==i11^post_14 && i13^0==i13^post_14 && i7^0==i7^post_14 && i9^0==i9^post_14 && tmp^0==tmp^post_14 && tmp___0^0==tmp___0^post_14 ], cost: 1 14: l6 -> l5 : i11^0'=i11^post_15, i13^0'=i13^post_15, i7^0'=i7^post_15, i9^0'=i9^post_15, i^0'=i^post_15, tmp^0'=tmp^post_15, tmp___0^0'=tmp___0^post_15, [ 1+i9^0<=50 && i9^post_15==1+i9^0 && i^0==i^post_15 && i11^0==i11^post_15 && i13^0==i13^post_15 && i7^0==i7^post_15 && tmp^0==tmp^post_15 && tmp___0^0==tmp___0^post_15 ], cost: 1 4: l7 -> l4 : i11^0'=i11^post_5, i13^0'=i13^post_5, i7^0'=i7^post_5, i9^0'=i9^post_5, i^0'=i^post_5, tmp^0'=tmp^post_5, tmp___0^0'=tmp___0^post_5, [ 50<=i13^0 && i^post_5==0 && i11^0==i11^post_5 && i13^0==i13^post_5 && i7^0==i7^post_5 && i9^0==i9^post_5 && tmp^0==tmp^post_5 && tmp___0^0==tmp___0^post_5 ], cost: 1 5: l7 -> l8 : i11^0'=i11^post_6, i13^0'=i13^post_6, i7^0'=i7^post_6, i9^0'=i9^post_6, i^0'=i^post_6, tmp^0'=tmp^post_6, tmp___0^0'=tmp___0^post_6, [ 1+i13^0<=50 && i13^post_6==1+i13^0 && i^0==i^post_6 && i11^0==i11^post_6 && i7^0==i7^post_6 && i9^0==i9^post_6 && tmp^0==tmp^post_6 && tmp___0^0==tmp___0^post_6 ], cost: 1 12: l8 -> l7 : i11^0'=i11^post_13, i13^0'=i13^post_13, i7^0'=i7^post_13, i9^0'=i9^post_13, i^0'=i^post_13, tmp^0'=tmp^post_13, tmp___0^0'=tmp___0^post_13, [ i^0==i^post_13 && i11^0==i11^post_13 && i13^0==i13^post_13 && i7^0==i7^post_13 && i9^0==i9^post_13 && tmp^0==tmp^post_13 && tmp___0^0==tmp___0^post_13 ], cost: 1 6: l9 -> l10 : i11^0'=i11^post_7, i13^0'=i13^post_7, i7^0'=i7^post_7, i9^0'=i9^post_7, i^0'=i^post_7, tmp^0'=tmp^post_7, tmp___0^0'=tmp___0^post_7, [ i^0==i^post_7 && i11^0==i11^post_7 && i13^0==i13^post_7 && i7^0==i7^post_7 && i9^0==i9^post_7 && tmp^0==tmp^post_7 && tmp___0^0==tmp___0^post_7 ], cost: 1 10: l10 -> l12 : i11^0'=i11^post_11, i13^0'=i13^post_11, i7^0'=i7^post_11, i9^0'=i9^post_11, i^0'=i^post_11, tmp^0'=tmp^post_11, tmp___0^0'=tmp___0^post_11, [ 50<=i^0 && i11^1_1==0 && i11^post_11==0 && i^0==i^post_11 && i13^0==i13^post_11 && i7^0==i7^post_11 && i9^0==i9^post_11 && tmp^0==tmp^post_11 && tmp___0^0==tmp___0^post_11 ], cost: 1 11: l10 -> l9 : i11^0'=i11^post_12, i13^0'=i13^post_12, i7^0'=i7^post_12, i9^0'=i9^post_12, i^0'=i^post_12, tmp^0'=tmp^post_12, tmp___0^0'=tmp___0^post_12, [ 1+i^0<=50 && i^post_12==1+i^0 && i11^0==i11^post_12 && i13^0==i13^post_12 && i7^0==i7^post_12 && i9^0==i9^post_12 && tmp^0==tmp^post_12 && tmp___0^0==tmp___0^post_12 ], cost: 1 7: l11 -> l8 : i11^0'=i11^post_8, i13^0'=i13^post_8, i7^0'=i7^post_8, i9^0'=i9^post_8, i^0'=i^post_8, tmp^0'=tmp^post_8, tmp___0^0'=tmp___0^post_8, [ 50<=i11^0 && i13^1_1==0 && i13^post_8==0 && i^0==i^post_8 && i11^0==i11^post_8 && i7^0==i7^post_8 && i9^0==i9^post_8 && tmp^0==tmp^post_8 && tmp___0^0==tmp___0^post_8 ], cost: 1 8: l11 -> l12 : i11^0'=i11^post_9, i13^0'=i13^post_9, i7^0'=i7^post_9, i9^0'=i9^post_9, i^0'=i^post_9, tmp^0'=tmp^post_9, tmp___0^0'=tmp___0^post_9, [ 1+i11^0<=50 && i11^post_9==1+i11^0 && i^0==i^post_9 && i13^0==i13^post_9 && i7^0==i7^post_9 && i9^0==i9^post_9 && tmp^0==tmp^post_9 && tmp___0^0==tmp___0^post_9 ], cost: 1 9: l12 -> l11 : i11^0'=i11^post_10, i13^0'=i13^post_10, i7^0'=i7^post_10, i9^0'=i9^post_10, i^0'=i^post_10, tmp^0'=tmp^post_10, tmp___0^0'=tmp___0^post_10, [ i^0==i^post_10 && i11^0==i11^post_10 && i13^0==i13^post_10 && i7^0==i7^post_10 && i9^0==i9^post_10 && tmp^0==tmp^post_10 && tmp___0^0==tmp___0^post_10 ], cost: 1 18: l13 -> l0 : i11^0'=i11^post_19, i13^0'=i13^post_19, i7^0'=i7^post_19, i9^0'=i9^post_19, i^0'=i^post_19, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [ i^post_19==0 && tmp^post_19==tmp^post_19 && tmp___0^post_19==tmp___0^post_19 && i7^1_1==0 && i7^post_19==0 && i11^0==i11^post_19 && i13^0==i13^post_19 && i9^0==i9^post_19 ], cost: 1 19: l14 -> l13 : i11^0'=i11^post_20, i13^0'=i13^post_20, i7^0'=i7^post_20, i9^0'=i9^post_20, i^0'=i^post_20, tmp^0'=tmp^post_20, tmp___0^0'=tmp___0^post_20, [ i^0==i^post_20 && i11^0==i11^post_20 && i13^0==i13^post_20 && i7^0==i7^post_20 && i9^0==i9^post_20 && tmp^0==tmp^post_20 && tmp___0^0==tmp___0^post_20 ], cost: 1 Simplified all rules, resulting in: Start location: l14 0: l0 -> l1 : [], cost: 1 16: l1 -> l5 : i9^0'=0, [ 50<=i7^0 ], cost: 1 17: l1 -> l0 : i7^0'=1+i7^0, [ 1+i7^0<=50 ], cost: 1 2: l2 -> l4 : i^0'=1+i^0, [ 1+i^0<=50 ], cost: 1 15: l4 -> l2 : [], cost: 1 3: l5 -> l6 : [], cost: 1 13: l6 -> l9 : i^0'=0, [ 50<=i9^0 ], cost: 1 14: l6 -> l5 : i9^0'=1+i9^0, [ 1+i9^0<=50 ], cost: 1 4: l7 -> l4 : i^0'=0, [ 50<=i13^0 ], cost: 1 5: l7 -> l8 : i13^0'=1+i13^0, [ 1+i13^0<=50 ], cost: 1 12: l8 -> l7 : [], cost: 1 6: l9 -> l10 : [], cost: 1 10: l10 -> l12 : i11^0'=0, [ 50<=i^0 ], cost: 1 11: l10 -> l9 : i^0'=1+i^0, [ 1+i^0<=50 ], cost: 1 7: l11 -> l8 : i13^0'=0, [ 50<=i11^0 ], cost: 1 8: l11 -> l12 : i11^0'=1+i11^0, [ 1+i11^0<=50 ], cost: 1 9: l12 -> l11 : [], cost: 1 18: l13 -> l0 : i7^0'=0, i^0'=0, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [], cost: 1 19: l14 -> l13 : [], cost: 1 ### Simplification by acceleration and chaining ### Eliminated locations (on linear paths): Start location: l14 0: l0 -> l1 : [], cost: 1 16: l1 -> l5 : i9^0'=0, [ 50<=i7^0 ], cost: 1 17: l1 -> l0 : i7^0'=1+i7^0, [ 1+i7^0<=50 ], cost: 1 21: l4 -> l4 : i^0'=1+i^0, [ 1+i^0<=50 ], cost: 2 3: l5 -> l6 : [], cost: 1 13: l6 -> l9 : i^0'=0, [ 50<=i9^0 ], cost: 1 14: l6 -> l5 : i9^0'=1+i9^0, [ 1+i9^0<=50 ], cost: 1 4: l7 -> l4 : i^0'=0, [ 50<=i13^0 ], cost: 1 5: l7 -> l8 : i13^0'=1+i13^0, [ 1+i13^0<=50 ], cost: 1 12: l8 -> l7 : [], cost: 1 6: l9 -> l10 : [], cost: 1 10: l10 -> l12 : i11^0'=0, [ 50<=i^0 ], cost: 1 11: l10 -> l9 : i^0'=1+i^0, [ 1+i^0<=50 ], cost: 1 7: l11 -> l8 : i13^0'=0, [ 50<=i11^0 ], cost: 1 8: l11 -> l12 : i11^0'=1+i11^0, [ 1+i11^0<=50 ], cost: 1 9: l12 -> l11 : [], cost: 1 20: l14 -> l0 : i7^0'=0, i^0'=0, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [], cost: 2 Accelerating simple loops of location 4. Accelerating the following rules: 21: l4 -> l4 : i^0'=1+i^0, [ 1+i^0<=50 ], cost: 2 Accelerated rule 21 with backward acceleration, yielding the new rule 22. [accelerate] Nesting with 1 inner and 1 outer candidates Removing the simple loops: 21. Accelerated all simple loops using metering functions (where possible): Start location: l14 0: l0 -> l1 : [], cost: 1 16: l1 -> l5 : i9^0'=0, [ 50<=i7^0 ], cost: 1 17: l1 -> l0 : i7^0'=1+i7^0, [ 1+i7^0<=50 ], cost: 1 22: l4 -> l4 : i^0'=50, [ 50-i^0>=0 ], cost: 100-2*i^0 3: l5 -> l6 : [], cost: 1 13: l6 -> l9 : i^0'=0, [ 50<=i9^0 ], cost: 1 14: l6 -> l5 : i9^0'=1+i9^0, [ 1+i9^0<=50 ], cost: 1 4: l7 -> l4 : i^0'=0, [ 50<=i13^0 ], cost: 1 5: l7 -> l8 : i13^0'=1+i13^0, [ 1+i13^0<=50 ], cost: 1 12: l8 -> l7 : [], cost: 1 6: l9 -> l10 : [], cost: 1 10: l10 -> l12 : i11^0'=0, [ 50<=i^0 ], cost: 1 11: l10 -> l9 : i^0'=1+i^0, [ 1+i^0<=50 ], cost: 1 7: l11 -> l8 : i13^0'=0, [ 50<=i11^0 ], cost: 1 8: l11 -> l12 : i11^0'=1+i11^0, [ 1+i11^0<=50 ], cost: 1 9: l12 -> l11 : [], cost: 1 20: l14 -> l0 : i7^0'=0, i^0'=0, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [], cost: 2 Chained accelerated rules (with incoming rules): Start location: l14 0: l0 -> l1 : [], cost: 1 16: l1 -> l5 : i9^0'=0, [ 50<=i7^0 ], cost: 1 17: l1 -> l0 : i7^0'=1+i7^0, [ 1+i7^0<=50 ], cost: 1 3: l5 -> l6 : [], cost: 1 13: l6 -> l9 : i^0'=0, [ 50<=i9^0 ], cost: 1 14: l6 -> l5 : i9^0'=1+i9^0, [ 1+i9^0<=50 ], cost: 1 4: l7 -> l4 : i^0'=0, [ 50<=i13^0 ], cost: 1 5: l7 -> l8 : i13^0'=1+i13^0, [ 1+i13^0<=50 ], cost: 1 23: l7 -> l4 : i^0'=50, [ 50<=i13^0 ], cost: 101 12: l8 -> l7 : [], cost: 1 6: l9 -> l10 : [], cost: 1 10: l10 -> l12 : i11^0'=0, [ 50<=i^0 ], cost: 1 11: l10 -> l9 : i^0'=1+i^0, [ 1+i^0<=50 ], cost: 1 7: l11 -> l8 : i13^0'=0, [ 50<=i11^0 ], cost: 1 8: l11 -> l12 : i11^0'=1+i11^0, [ 1+i11^0<=50 ], cost: 1 9: l12 -> l11 : [], cost: 1 20: l14 -> l0 : i7^0'=0, i^0'=0, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [], cost: 2 Removed unreachable locations (and leaf rules with constant cost): Start location: l14 0: l0 -> l1 : [], cost: 1 16: l1 -> l5 : i9^0'=0, [ 50<=i7^0 ], cost: 1 17: l1 -> l0 : i7^0'=1+i7^0, [ 1+i7^0<=50 ], cost: 1 3: l5 -> l6 : [], cost: 1 13: l6 -> l9 : i^0'=0, [ 50<=i9^0 ], cost: 1 14: l6 -> l5 : i9^0'=1+i9^0, [ 1+i9^0<=50 ], cost: 1 5: l7 -> l8 : i13^0'=1+i13^0, [ 1+i13^0<=50 ], cost: 1 12: l8 -> l7 : [], cost: 1 6: l9 -> l10 : [], cost: 1 10: l10 -> l12 : i11^0'=0, [ 50<=i^0 ], cost: 1 11: l10 -> l9 : i^0'=1+i^0, [ 1+i^0<=50 ], cost: 1 7: l11 -> l8 : i13^0'=0, [ 50<=i11^0 ], cost: 1 8: l11 -> l12 : i11^0'=1+i11^0, [ 1+i11^0<=50 ], cost: 1 9: l12 -> l11 : [], cost: 1 20: l14 -> l0 : i7^0'=0, i^0'=0, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [], cost: 2 Eliminated locations (on linear paths): Start location: l14 0: l0 -> l1 : [], cost: 1 16: l1 -> l5 : i9^0'=0, [ 50<=i7^0 ], cost: 1 17: l1 -> l0 : i7^0'=1+i7^0, [ 1+i7^0<=50 ], cost: 1 3: l5 -> l6 : [], cost: 1 13: l6 -> l9 : i^0'=0, [ 50<=i9^0 ], cost: 1 14: l6 -> l5 : i9^0'=1+i9^0, [ 1+i9^0<=50 ], cost: 1 24: l8 -> l8 : i13^0'=1+i13^0, [ 1+i13^0<=50 ], cost: 2 6: l9 -> l10 : [], cost: 1 10: l10 -> l12 : i11^0'=0, [ 50<=i^0 ], cost: 1 11: l10 -> l9 : i^0'=1+i^0, [ 1+i^0<=50 ], cost: 1 7: l11 -> l8 : i13^0'=0, [ 50<=i11^0 ], cost: 1 8: l11 -> l12 : i11^0'=1+i11^0, [ 1+i11^0<=50 ], cost: 1 9: l12 -> l11 : [], cost: 1 20: l14 -> l0 : i7^0'=0, i^0'=0, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [], cost: 2 Accelerating simple loops of location 8. Accelerating the following rules: 24: l8 -> l8 : i13^0'=1+i13^0, [ 1+i13^0<=50 ], cost: 2 Accelerated rule 24 with backward acceleration, yielding the new rule 25. [accelerate] Nesting with 1 inner and 1 outer candidates Removing the simple loops: 24. Accelerated all simple loops using metering functions (where possible): Start location: l14 0: l0 -> l1 : [], cost: 1 16: l1 -> l5 : i9^0'=0, [ 50<=i7^0 ], cost: 1 17: l1 -> l0 : i7^0'=1+i7^0, [ 1+i7^0<=50 ], cost: 1 3: l5 -> l6 : [], cost: 1 13: l6 -> l9 : i^0'=0, [ 50<=i9^0 ], cost: 1 14: l6 -> l5 : i9^0'=1+i9^0, [ 1+i9^0<=50 ], cost: 1 25: l8 -> l8 : i13^0'=50, [ 50-i13^0>=0 ], cost: 100-2*i13^0 6: l9 -> l10 : [], cost: 1 10: l10 -> l12 : i11^0'=0, [ 50<=i^0 ], cost: 1 11: l10 -> l9 : i^0'=1+i^0, [ 1+i^0<=50 ], cost: 1 7: l11 -> l8 : i13^0'=0, [ 50<=i11^0 ], cost: 1 8: l11 -> l12 : i11^0'=1+i11^0, [ 1+i11^0<=50 ], cost: 1 9: l12 -> l11 : [], cost: 1 20: l14 -> l0 : i7^0'=0, i^0'=0, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [], cost: 2 Chained accelerated rules (with incoming rules): Start location: l14 0: l0 -> l1 : [], cost: 1 16: l1 -> l5 : i9^0'=0, [ 50<=i7^0 ], cost: 1 17: l1 -> l0 : i7^0'=1+i7^0, [ 1+i7^0<=50 ], cost: 1 3: l5 -> l6 : [], cost: 1 13: l6 -> l9 : i^0'=0, [ 50<=i9^0 ], cost: 1 14: l6 -> l5 : i9^0'=1+i9^0, [ 1+i9^0<=50 ], cost: 1 6: l9 -> l10 : [], cost: 1 10: l10 -> l12 : i11^0'=0, [ 50<=i^0 ], cost: 1 11: l10 -> l9 : i^0'=1+i^0, [ 1+i^0<=50 ], cost: 1 7: l11 -> l8 : i13^0'=0, [ 50<=i11^0 ], cost: 1 8: l11 -> l12 : i11^0'=1+i11^0, [ 1+i11^0<=50 ], cost: 1 26: l11 -> l8 : i13^0'=50, [ 50<=i11^0 ], cost: 101 9: l12 -> l11 : [], cost: 1 20: l14 -> l0 : i7^0'=0, i^0'=0, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [], cost: 2 Removed unreachable locations (and leaf rules with constant cost): Start location: l14 0: l0 -> l1 : [], cost: 1 16: l1 -> l5 : i9^0'=0, [ 50<=i7^0 ], cost: 1 17: l1 -> l0 : i7^0'=1+i7^0, [ 1+i7^0<=50 ], cost: 1 3: l5 -> l6 : [], cost: 1 13: l6 -> l9 : i^0'=0, [ 50<=i9^0 ], cost: 1 14: l6 -> l5 : i9^0'=1+i9^0, [ 1+i9^0<=50 ], cost: 1 6: l9 -> l10 : [], cost: 1 10: l10 -> l12 : i11^0'=0, [ 50<=i^0 ], cost: 1 11: l10 -> l9 : i^0'=1+i^0, [ 1+i^0<=50 ], cost: 1 8: l11 -> l12 : i11^0'=1+i11^0, [ 1+i11^0<=50 ], cost: 1 9: l12 -> l11 : [], cost: 1 20: l14 -> l0 : i7^0'=0, i^0'=0, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [], cost: 2 Eliminated locations (on linear paths): Start location: l14 0: l0 -> l1 : [], cost: 1 16: l1 -> l5 : i9^0'=0, [ 50<=i7^0 ], cost: 1 17: l1 -> l0 : i7^0'=1+i7^0, [ 1+i7^0<=50 ], cost: 1 3: l5 -> l6 : [], cost: 1 13: l6 -> l9 : i^0'=0, [ 50<=i9^0 ], cost: 1 14: l6 -> l5 : i9^0'=1+i9^0, [ 1+i9^0<=50 ], cost: 1 6: l9 -> l10 : [], cost: 1 10: l10 -> l12 : i11^0'=0, [ 50<=i^0 ], cost: 1 11: l10 -> l9 : i^0'=1+i^0, [ 1+i^0<=50 ], cost: 1 27: l12 -> l12 : i11^0'=1+i11^0, [ 1+i11^0<=50 ], cost: 2 20: l14 -> l0 : i7^0'=0, i^0'=0, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [], cost: 2 Accelerating simple loops of location 12. Accelerating the following rules: 27: l12 -> l12 : i11^0'=1+i11^0, [ 1+i11^0<=50 ], cost: 2 Accelerated rule 27 with backward acceleration, yielding the new rule 28. [accelerate] Nesting with 1 inner and 1 outer candidates Removing the simple loops: 27. Accelerated all simple loops using metering functions (where possible): Start location: l14 0: l0 -> l1 : [], cost: 1 16: l1 -> l5 : i9^0'=0, [ 50<=i7^0 ], cost: 1 17: l1 -> l0 : i7^0'=1+i7^0, [ 1+i7^0<=50 ], cost: 1 3: l5 -> l6 : [], cost: 1 13: l6 -> l9 : i^0'=0, [ 50<=i9^0 ], cost: 1 14: l6 -> l5 : i9^0'=1+i9^0, [ 1+i9^0<=50 ], cost: 1 6: l9 -> l10 : [], cost: 1 10: l10 -> l12 : i11^0'=0, [ 50<=i^0 ], cost: 1 11: l10 -> l9 : i^0'=1+i^0, [ 1+i^0<=50 ], cost: 1 28: l12 -> l12 : i11^0'=50, [ 50-i11^0>=0 ], cost: 100-2*i11^0 20: l14 -> l0 : i7^0'=0, i^0'=0, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [], cost: 2 Chained accelerated rules (with incoming rules): Start location: l14 0: l0 -> l1 : [], cost: 1 16: l1 -> l5 : i9^0'=0, [ 50<=i7^0 ], cost: 1 17: l1 -> l0 : i7^0'=1+i7^0, [ 1+i7^0<=50 ], cost: 1 3: l5 -> l6 : [], cost: 1 13: l6 -> l9 : i^0'=0, [ 50<=i9^0 ], cost: 1 14: l6 -> l5 : i9^0'=1+i9^0, [ 1+i9^0<=50 ], cost: 1 6: l9 -> l10 : [], cost: 1 10: l10 -> l12 : i11^0'=0, [ 50<=i^0 ], cost: 1 11: l10 -> l9 : i^0'=1+i^0, [ 1+i^0<=50 ], cost: 1 29: l10 -> l12 : i11^0'=50, [ 50<=i^0 ], cost: 101 20: l14 -> l0 : i7^0'=0, i^0'=0, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [], cost: 2 Removed unreachable locations (and leaf rules with constant cost): Start location: l14 0: l0 -> l1 : [], cost: 1 16: l1 -> l5 : i9^0'=0, [ 50<=i7^0 ], cost: 1 17: l1 -> l0 : i7^0'=1+i7^0, [ 1+i7^0<=50 ], cost: 1 3: l5 -> l6 : [], cost: 1 13: l6 -> l9 : i^0'=0, [ 50<=i9^0 ], cost: 1 14: l6 -> l5 : i9^0'=1+i9^0, [ 1+i9^0<=50 ], cost: 1 6: l9 -> l10 : [], cost: 1 11: l10 -> l9 : i^0'=1+i^0, [ 1+i^0<=50 ], cost: 1 20: l14 -> l0 : i7^0'=0, i^0'=0, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [], cost: 2 Eliminated locations (on linear paths): Start location: l14 0: l0 -> l1 : [], cost: 1 16: l1 -> l5 : i9^0'=0, [ 50<=i7^0 ], cost: 1 17: l1 -> l0 : i7^0'=1+i7^0, [ 1+i7^0<=50 ], cost: 1 3: l5 -> l6 : [], cost: 1 13: l6 -> l9 : i^0'=0, [ 50<=i9^0 ], cost: 1 14: l6 -> l5 : i9^0'=1+i9^0, [ 1+i9^0<=50 ], cost: 1 30: l9 -> l9 : i^0'=1+i^0, [ 1+i^0<=50 ], cost: 2 20: l14 -> l0 : i7^0'=0, i^0'=0, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [], cost: 2 Accelerating simple loops of location 9. Accelerating the following rules: 30: l9 -> l9 : i^0'=1+i^0, [ 1+i^0<=50 ], cost: 2 Accelerated rule 30 with backward acceleration, yielding the new rule 31. [accelerate] Nesting with 1 inner and 1 outer candidates Removing the simple loops: 30. Accelerated all simple loops using metering functions (where possible): Start location: l14 0: l0 -> l1 : [], cost: 1 16: l1 -> l5 : i9^0'=0, [ 50<=i7^0 ], cost: 1 17: l1 -> l0 : i7^0'=1+i7^0, [ 1+i7^0<=50 ], cost: 1 3: l5 -> l6 : [], cost: 1 13: l6 -> l9 : i^0'=0, [ 50<=i9^0 ], cost: 1 14: l6 -> l5 : i9^0'=1+i9^0, [ 1+i9^0<=50 ], cost: 1 31: l9 -> l9 : i^0'=50, [ 50-i^0>=0 ], cost: 100-2*i^0 20: l14 -> l0 : i7^0'=0, i^0'=0, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [], cost: 2 Chained accelerated rules (with incoming rules): Start location: l14 0: l0 -> l1 : [], cost: 1 16: l1 -> l5 : i9^0'=0, [ 50<=i7^0 ], cost: 1 17: l1 -> l0 : i7^0'=1+i7^0, [ 1+i7^0<=50 ], cost: 1 3: l5 -> l6 : [], cost: 1 13: l6 -> l9 : i^0'=0, [ 50<=i9^0 ], cost: 1 14: l6 -> l5 : i9^0'=1+i9^0, [ 1+i9^0<=50 ], cost: 1 32: l6 -> l9 : i^0'=50, [ 50<=i9^0 ], cost: 101 20: l14 -> l0 : i7^0'=0, i^0'=0, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [], cost: 2 Removed unreachable locations (and leaf rules with constant cost): Start location: l14 0: l0 -> l1 : [], cost: 1 16: l1 -> l5 : i9^0'=0, [ 50<=i7^0 ], cost: 1 17: l1 -> l0 : i7^0'=1+i7^0, [ 1+i7^0<=50 ], cost: 1 3: l5 -> l6 : [], cost: 1 14: l6 -> l5 : i9^0'=1+i9^0, [ 1+i9^0<=50 ], cost: 1 20: l14 -> l0 : i7^0'=0, i^0'=0, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [], cost: 2 Eliminated locations (on linear paths): Start location: l14 0: l0 -> l1 : [], cost: 1 16: l1 -> l5 : i9^0'=0, [ 50<=i7^0 ], cost: 1 17: l1 -> l0 : i7^0'=1+i7^0, [ 1+i7^0<=50 ], cost: 1 33: l5 -> l5 : i9^0'=1+i9^0, [ 1+i9^0<=50 ], cost: 2 20: l14 -> l0 : i7^0'=0, i^0'=0, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [], cost: 2 Accelerating simple loops of location 5. Accelerating the following rules: 33: l5 -> l5 : i9^0'=1+i9^0, [ 1+i9^0<=50 ], cost: 2 Accelerated rule 33 with backward acceleration, yielding the new rule 34. [accelerate] Nesting with 1 inner and 1 outer candidates Removing the simple loops: 33. Accelerated all simple loops using metering functions (where possible): Start location: l14 0: l0 -> l1 : [], cost: 1 16: l1 -> l5 : i9^0'=0, [ 50<=i7^0 ], cost: 1 17: l1 -> l0 : i7^0'=1+i7^0, [ 1+i7^0<=50 ], cost: 1 34: l5 -> l5 : i9^0'=50, [ 50-i9^0>=0 ], cost: 100-2*i9^0 20: l14 -> l0 : i7^0'=0, i^0'=0, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [], cost: 2 Chained accelerated rules (with incoming rules): Start location: l14 0: l0 -> l1 : [], cost: 1 16: l1 -> l5 : i9^0'=0, [ 50<=i7^0 ], cost: 1 17: l1 -> l0 : i7^0'=1+i7^0, [ 1+i7^0<=50 ], cost: 1 35: l1 -> l5 : i9^0'=50, [ 50<=i7^0 ], cost: 101 20: l14 -> l0 : i7^0'=0, i^0'=0, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [], cost: 2 Removed unreachable locations (and leaf rules with constant cost): Start location: l14 0: l0 -> l1 : [], cost: 1 17: l1 -> l0 : i7^0'=1+i7^0, [ 1+i7^0<=50 ], cost: 1 20: l14 -> l0 : i7^0'=0, i^0'=0, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [], cost: 2 Eliminated locations (on linear paths): Start location: l14 36: l0 -> l0 : i7^0'=1+i7^0, [ 1+i7^0<=50 ], cost: 2 20: l14 -> l0 : i7^0'=0, i^0'=0, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [], cost: 2 Accelerating simple loops of location 0. Accelerating the following rules: 36: l0 -> l0 : i7^0'=1+i7^0, [ 1+i7^0<=50 ], cost: 2 Accelerated rule 36 with backward acceleration, yielding the new rule 37. [accelerate] Nesting with 1 inner and 1 outer candidates Removing the simple loops: 36. Accelerated all simple loops using metering functions (where possible): Start location: l14 37: l0 -> l0 : i7^0'=50, [ 50-i7^0>=0 ], cost: 100-2*i7^0 20: l14 -> l0 : i7^0'=0, i^0'=0, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [], cost: 2 Chained accelerated rules (with incoming rules): Start location: l14 20: l14 -> l0 : i7^0'=0, i^0'=0, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [], cost: 2 38: l14 -> l0 : i7^0'=50, i^0'=0, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [], cost: 102 Removed unreachable locations (and leaf rules with constant cost): Start location: l14 ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: l14 Obtained the following overall complexity (w.r.t. the length of the input n): Complexity: Constant Cpx degree: 0 Solved cost: 1 Rule cost: 1 Rule guard: [ i^0==i^post_20 && i11^0==i11^post_20 && i13^0==i13^post_20 && i7^0==i7^post_20 && i9^0==i9^post_20 && tmp^0==tmp^post_20 && tmp___0^0==tmp___0^post_20 ] WORST_CASE(Omega(1),?)