WORST_CASE(Omega(n^1),?) ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: l14 0: l0 -> l1 : __const_50^0'=__const_50^post_1, 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, [ __const_50^0==__const_50^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 : __const_50^0'=__const_50^post_17, 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, [ __const_50^0<=i7^0 && i9^1_1==0 && i9^post_17==0 && __const_50^0==__const_50^post_17 && 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 : __const_50^0'=__const_50^post_18, 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<=__const_50^0 && i7^post_18==1+i7^0 && __const_50^0==__const_50^post_18 && 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 : __const_50^0'=__const_50^post_2, 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, [ __const_50^0<=i^0 && __const_50^0==__const_50^post_2 && 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 : __const_50^0'=__const_50^post_3, 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<=__const_50^0 && i^post_3==1+i^0 && __const_50^0==__const_50^post_3 && 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 : __const_50^0'=__const_50^post_16, 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, [ __const_50^0==__const_50^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 : __const_50^0'=__const_50^post_4, 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, [ __const_50^0==__const_50^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 : __const_50^0'=__const_50^post_14, 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, [ __const_50^0<=i9^0 && i^post_14==0 && __const_50^0==__const_50^post_14 && 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 : __const_50^0'=__const_50^post_15, 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<=__const_50^0 && i9^post_15==1+i9^0 && __const_50^0==__const_50^post_15 && 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 : __const_50^0'=__const_50^post_5, 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, [ __const_50^0<=i13^0 && i^post_5==0 && __const_50^0==__const_50^post_5 && 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 : __const_50^0'=__const_50^post_6, 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<=__const_50^0 && i13^post_6==1+i13^0 && __const_50^0==__const_50^post_6 && 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 : __const_50^0'=__const_50^post_13, 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, [ __const_50^0==__const_50^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 : __const_50^0'=__const_50^post_7, 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, [ __const_50^0==__const_50^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 : __const_50^0'=__const_50^post_11, 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, [ __const_50^0<=i^0 && i11^1_1==0 && i11^post_11==0 && __const_50^0==__const_50^post_11 && 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 : __const_50^0'=__const_50^post_12, 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<=__const_50^0 && i^post_12==1+i^0 && __const_50^0==__const_50^post_12 && 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 : __const_50^0'=__const_50^post_8, 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, [ __const_50^0<=i11^0 && i13^1_1==0 && i13^post_8==0 && __const_50^0==__const_50^post_8 && 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 : __const_50^0'=__const_50^post_9, 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<=__const_50^0 && i11^post_9==1+i11^0 && __const_50^0==__const_50^post_9 && 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 : __const_50^0'=__const_50^post_10, 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, [ __const_50^0==__const_50^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 : __const_50^0'=__const_50^post_19, 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 && __const_50^0==__const_50^post_19 && i11^0==i11^post_19 && i13^0==i13^post_19 && i9^0==i9^post_19 ], cost: 1 19: l14 -> l13 : __const_50^0'=__const_50^post_20, 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, [ __const_50^0==__const_50^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 : __const_50^0'=__const_50^post_20, 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, [ __const_50^0==__const_50^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 : __const_50^0'=__const_50^post_1, 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, [ __const_50^0==__const_50^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 : __const_50^0'=__const_50^post_17, 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, [ __const_50^0<=i7^0 && i9^1_1==0 && i9^post_17==0 && __const_50^0==__const_50^post_17 && 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 : __const_50^0'=__const_50^post_18, 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<=__const_50^0 && i7^post_18==1+i7^0 && __const_50^0==__const_50^post_18 && 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 : __const_50^0'=__const_50^post_3, 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<=__const_50^0 && i^post_3==1+i^0 && __const_50^0==__const_50^post_3 && 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 : __const_50^0'=__const_50^post_16, 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, [ __const_50^0==__const_50^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 : __const_50^0'=__const_50^post_4, 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, [ __const_50^0==__const_50^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 : __const_50^0'=__const_50^post_14, 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, [ __const_50^0<=i9^0 && i^post_14==0 && __const_50^0==__const_50^post_14 && 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 : __const_50^0'=__const_50^post_15, 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<=__const_50^0 && i9^post_15==1+i9^0 && __const_50^0==__const_50^post_15 && 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 : __const_50^0'=__const_50^post_5, 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, [ __const_50^0<=i13^0 && i^post_5==0 && __const_50^0==__const_50^post_5 && 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 : __const_50^0'=__const_50^post_6, 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<=__const_50^0 && i13^post_6==1+i13^0 && __const_50^0==__const_50^post_6 && 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 : __const_50^0'=__const_50^post_13, 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, [ __const_50^0==__const_50^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 : __const_50^0'=__const_50^post_7, 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, [ __const_50^0==__const_50^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 : __const_50^0'=__const_50^post_11, 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, [ __const_50^0<=i^0 && i11^1_1==0 && i11^post_11==0 && __const_50^0==__const_50^post_11 && 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 : __const_50^0'=__const_50^post_12, 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<=__const_50^0 && i^post_12==1+i^0 && __const_50^0==__const_50^post_12 && 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 : __const_50^0'=__const_50^post_8, 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, [ __const_50^0<=i11^0 && i13^1_1==0 && i13^post_8==0 && __const_50^0==__const_50^post_8 && 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 : __const_50^0'=__const_50^post_9, 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<=__const_50^0 && i11^post_9==1+i11^0 && __const_50^0==__const_50^post_9 && 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 : __const_50^0'=__const_50^post_10, 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, [ __const_50^0==__const_50^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 : __const_50^0'=__const_50^post_19, 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 && __const_50^0==__const_50^post_19 && i11^0==i11^post_19 && i13^0==i13^post_19 && i9^0==i9^post_19 ], cost: 1 19: l14 -> l13 : __const_50^0'=__const_50^post_20, 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, [ __const_50^0==__const_50^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, [ __const_50^0<=i7^0 ], cost: 1 17: l1 -> l0 : i7^0'=1+i7^0, [ 1+i7^0<=__const_50^0 ], cost: 1 2: l2 -> l4 : i^0'=1+i^0, [ 1+i^0<=__const_50^0 ], cost: 1 15: l4 -> l2 : [], cost: 1 3: l5 -> l6 : [], cost: 1 13: l6 -> l9 : i^0'=0, [ __const_50^0<=i9^0 ], cost: 1 14: l6 -> l5 : i9^0'=1+i9^0, [ 1+i9^0<=__const_50^0 ], cost: 1 4: l7 -> l4 : i^0'=0, [ __const_50^0<=i13^0 ], cost: 1 5: l7 -> l8 : i13^0'=1+i13^0, [ 1+i13^0<=__const_50^0 ], cost: 1 12: l8 -> l7 : [], cost: 1 6: l9 -> l10 : [], cost: 1 10: l10 -> l12 : i11^0'=0, [ __const_50^0<=i^0 ], cost: 1 11: l10 -> l9 : i^0'=1+i^0, [ 1+i^0<=__const_50^0 ], cost: 1 7: l11 -> l8 : i13^0'=0, [ __const_50^0<=i11^0 ], cost: 1 8: l11 -> l12 : i11^0'=1+i11^0, [ 1+i11^0<=__const_50^0 ], 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, [ __const_50^0<=i7^0 ], cost: 1 17: l1 -> l0 : i7^0'=1+i7^0, [ 1+i7^0<=__const_50^0 ], cost: 1 21: l4 -> l4 : i^0'=1+i^0, [ 1+i^0<=__const_50^0 ], cost: 2 3: l5 -> l6 : [], cost: 1 13: l6 -> l9 : i^0'=0, [ __const_50^0<=i9^0 ], cost: 1 14: l6 -> l5 : i9^0'=1+i9^0, [ 1+i9^0<=__const_50^0 ], cost: 1 4: l7 -> l4 : i^0'=0, [ __const_50^0<=i13^0 ], cost: 1 5: l7 -> l8 : i13^0'=1+i13^0, [ 1+i13^0<=__const_50^0 ], cost: 1 12: l8 -> l7 : [], cost: 1 6: l9 -> l10 : [], cost: 1 10: l10 -> l12 : i11^0'=0, [ __const_50^0<=i^0 ], cost: 1 11: l10 -> l9 : i^0'=1+i^0, [ 1+i^0<=__const_50^0 ], cost: 1 7: l11 -> l8 : i13^0'=0, [ __const_50^0<=i11^0 ], cost: 1 8: l11 -> l12 : i11^0'=1+i11^0, [ 1+i11^0<=__const_50^0 ], 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<=__const_50^0 ], cost: 2 Accelerated rule 21 with metering function -i^0+__const_50^0, yielding the new rule 22. 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, [ __const_50^0<=i7^0 ], cost: 1 17: l1 -> l0 : i7^0'=1+i7^0, [ 1+i7^0<=__const_50^0 ], cost: 1 22: l4 -> l4 : i^0'=__const_50^0, [ 1+i^0<=__const_50^0 ], cost: -2*i^0+2*__const_50^0 3: l5 -> l6 : [], cost: 1 13: l6 -> l9 : i^0'=0, [ __const_50^0<=i9^0 ], cost: 1 14: l6 -> l5 : i9^0'=1+i9^0, [ 1+i9^0<=__const_50^0 ], cost: 1 4: l7 -> l4 : i^0'=0, [ __const_50^0<=i13^0 ], cost: 1 5: l7 -> l8 : i13^0'=1+i13^0, [ 1+i13^0<=__const_50^0 ], cost: 1 12: l8 -> l7 : [], cost: 1 6: l9 -> l10 : [], cost: 1 10: l10 -> l12 : i11^0'=0, [ __const_50^0<=i^0 ], cost: 1 11: l10 -> l9 : i^0'=1+i^0, [ 1+i^0<=__const_50^0 ], cost: 1 7: l11 -> l8 : i13^0'=0, [ __const_50^0<=i11^0 ], cost: 1 8: l11 -> l12 : i11^0'=1+i11^0, [ 1+i11^0<=__const_50^0 ], 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, [ __const_50^0<=i7^0 ], cost: 1 17: l1 -> l0 : i7^0'=1+i7^0, [ 1+i7^0<=__const_50^0 ], cost: 1 3: l5 -> l6 : [], cost: 1 13: l6 -> l9 : i^0'=0, [ __const_50^0<=i9^0 ], cost: 1 14: l6 -> l5 : i9^0'=1+i9^0, [ 1+i9^0<=__const_50^0 ], cost: 1 4: l7 -> l4 : i^0'=0, [ __const_50^0<=i13^0 ], cost: 1 5: l7 -> l8 : i13^0'=1+i13^0, [ 1+i13^0<=__const_50^0 ], cost: 1 23: l7 -> l4 : i^0'=__const_50^0, [ __const_50^0<=i13^0 && 1<=__const_50^0 ], cost: 1+2*__const_50^0 12: l8 -> l7 : [], cost: 1 6: l9 -> l10 : [], cost: 1 10: l10 -> l12 : i11^0'=0, [ __const_50^0<=i^0 ], cost: 1 11: l10 -> l9 : i^0'=1+i^0, [ 1+i^0<=__const_50^0 ], cost: 1 7: l11 -> l8 : i13^0'=0, [ __const_50^0<=i11^0 ], cost: 1 8: l11 -> l12 : i11^0'=1+i11^0, [ 1+i11^0<=__const_50^0 ], 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, [ __const_50^0<=i7^0 ], cost: 1 17: l1 -> l0 : i7^0'=1+i7^0, [ 1+i7^0<=__const_50^0 ], cost: 1 3: l5 -> l6 : [], cost: 1 13: l6 -> l9 : i^0'=0, [ __const_50^0<=i9^0 ], cost: 1 14: l6 -> l5 : i9^0'=1+i9^0, [ 1+i9^0<=__const_50^0 ], cost: 1 5: l7 -> l8 : i13^0'=1+i13^0, [ 1+i13^0<=__const_50^0 ], cost: 1 23: l7 -> l4 : i^0'=__const_50^0, [ __const_50^0<=i13^0 && 1<=__const_50^0 ], cost: 1+2*__const_50^0 12: l8 -> l7 : [], cost: 1 6: l9 -> l10 : [], cost: 1 10: l10 -> l12 : i11^0'=0, [ __const_50^0<=i^0 ], cost: 1 11: l10 -> l9 : i^0'=1+i^0, [ 1+i^0<=__const_50^0 ], cost: 1 7: l11 -> l8 : i13^0'=0, [ __const_50^0<=i11^0 ], cost: 1 8: l11 -> l12 : i11^0'=1+i11^0, [ 1+i11^0<=__const_50^0 ], 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 tree-shaped paths): Start location: l14 24: l0 -> l5 : i9^0'=0, [ __const_50^0<=i7^0 ], cost: 2 25: l0 -> l0 : i7^0'=1+i7^0, [ 1+i7^0<=__const_50^0 ], cost: 2 26: l5 -> l9 : i^0'=0, [ __const_50^0<=i9^0 ], cost: 2 27: l5 -> l5 : i9^0'=1+i9^0, [ 1+i9^0<=__const_50^0 ], cost: 2 32: l8 -> l8 : i13^0'=1+i13^0, [ 1+i13^0<=__const_50^0 ], cost: 2 33: l8 -> l4 : i^0'=__const_50^0, [ __const_50^0<=i13^0 && 1<=__const_50^0 ], cost: 2+2*__const_50^0 28: l9 -> l12 : i11^0'=0, [ __const_50^0<=i^0 ], cost: 2 29: l9 -> l9 : i^0'=1+i^0, [ 1+i^0<=__const_50^0 ], cost: 2 30: l12 -> l8 : i13^0'=0, [ __const_50^0<=i11^0 ], cost: 2 31: l12 -> l12 : i11^0'=1+i11^0, [ 1+i11^0<=__const_50^0 ], 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: 25: l0 -> l0 : i7^0'=1+i7^0, [ 1+i7^0<=__const_50^0 ], cost: 2 Accelerated rule 25 with metering function -i7^0+__const_50^0, yielding the new rule 34. Removing the simple loops: 25. Accelerating simple loops of location 5. Accelerating the following rules: 27: l5 -> l5 : i9^0'=1+i9^0, [ 1+i9^0<=__const_50^0 ], cost: 2 Accelerated rule 27 with metering function __const_50^0-i9^0, yielding the new rule 35. Removing the simple loops: 27. Accelerating simple loops of location 8. Accelerating the following rules: 32: l8 -> l8 : i13^0'=1+i13^0, [ 1+i13^0<=__const_50^0 ], cost: 2 Accelerated rule 32 with metering function -i13^0+__const_50^0, yielding the new rule 36. Removing the simple loops: 32. Accelerating simple loops of location 9. Accelerating the following rules: 29: l9 -> l9 : i^0'=1+i^0, [ 1+i^0<=__const_50^0 ], cost: 2 Accelerated rule 29 with metering function -i^0+__const_50^0, yielding the new rule 37. Removing the simple loops: 29. Accelerating simple loops of location 12. Accelerating the following rules: 31: l12 -> l12 : i11^0'=1+i11^0, [ 1+i11^0<=__const_50^0 ], cost: 2 Accelerated rule 31 with metering function __const_50^0-i11^0, yielding the new rule 38. Removing the simple loops: 31. Accelerated all simple loops using metering functions (where possible): Start location: l14 24: l0 -> l5 : i9^0'=0, [ __const_50^0<=i7^0 ], cost: 2 34: l0 -> l0 : i7^0'=__const_50^0, [ 1+i7^0<=__const_50^0 ], cost: -2*i7^0+2*__const_50^0 26: l5 -> l9 : i^0'=0, [ __const_50^0<=i9^0 ], cost: 2 35: l5 -> l5 : i9^0'=__const_50^0, [ 1+i9^0<=__const_50^0 ], cost: 2*__const_50^0-2*i9^0 33: l8 -> l4 : i^0'=__const_50^0, [ __const_50^0<=i13^0 && 1<=__const_50^0 ], cost: 2+2*__const_50^0 36: l8 -> l8 : i13^0'=__const_50^0, [ 1+i13^0<=__const_50^0 ], cost: -2*i13^0+2*__const_50^0 28: l9 -> l12 : i11^0'=0, [ __const_50^0<=i^0 ], cost: 2 37: l9 -> l9 : i^0'=__const_50^0, [ 1+i^0<=__const_50^0 ], cost: -2*i^0+2*__const_50^0 30: l12 -> l8 : i13^0'=0, [ __const_50^0<=i11^0 ], cost: 2 38: l12 -> l12 : i11^0'=__const_50^0, [ 1+i11^0<=__const_50^0 ], cost: 2*__const_50^0-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 24: l0 -> l5 : i9^0'=0, [ __const_50^0<=i7^0 ], cost: 2 40: l0 -> l5 : i9^0'=__const_50^0, [ __const_50^0<=i7^0 && 1<=__const_50^0 ], cost: 2+2*__const_50^0 26: l5 -> l9 : i^0'=0, [ __const_50^0<=i9^0 ], cost: 2 42: l5 -> l9 : i^0'=__const_50^0, [ __const_50^0<=i9^0 && 1<=__const_50^0 ], cost: 2+2*__const_50^0 33: l8 -> l4 : i^0'=__const_50^0, [ __const_50^0<=i13^0 && 1<=__const_50^0 ], cost: 2+2*__const_50^0 28: l9 -> l12 : i11^0'=0, [ __const_50^0<=i^0 ], cost: 2 43: l9 -> l12 : i11^0'=__const_50^0, [ __const_50^0<=i^0 && 1<=__const_50^0 ], cost: 2+2*__const_50^0 30: l12 -> l8 : i13^0'=0, [ __const_50^0<=i11^0 ], cost: 2 41: l12 -> l8 : i13^0'=__const_50^0, [ __const_50^0<=i11^0 && 1<=__const_50^0 ], cost: 2+2*__const_50^0 20: l14 -> l0 : i7^0'=0, i^0'=0, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [], cost: 2 39: l14 -> l0 : i7^0'=__const_50^0, i^0'=0, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [ 1<=__const_50^0 ], cost: 2+2*__const_50^0 Eliminated locations (on tree-shaped paths): Start location: l14 47: l5 -> l12 : i11^0'=0, i^0'=0, [ __const_50^0<=i9^0 && __const_50^0<=0 ], cost: 4 48: l5 -> l12 : i11^0'=0, i^0'=__const_50^0, [ __const_50^0<=i9^0 && 1<=__const_50^0 ], cost: 4+2*__const_50^0 49: l5 -> l12 : i11^0'=__const_50^0, i^0'=__const_50^0, [ __const_50^0<=i9^0 && 1<=__const_50^0 ], cost: 4+4*__const_50^0 50: l12 -> l4 : i13^0'=__const_50^0, i^0'=__const_50^0, [ __const_50^0<=i11^0 && 1<=__const_50^0 ], cost: 4+4*__const_50^0 44: l14 -> l5 : i7^0'=0, i9^0'=0, i^0'=0, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [ __const_50^0<=0 ], cost: 4 45: l14 -> l5 : i7^0'=__const_50^0, i9^0'=0, i^0'=0, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [ 1<=__const_50^0 ], cost: 4+2*__const_50^0 46: l14 -> l5 : i7^0'=__const_50^0, i9^0'=__const_50^0, i^0'=0, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [ 1<=__const_50^0 ], cost: 4+4*__const_50^0 Eliminated locations (on tree-shaped paths): Start location: l14 50: l12 -> l4 : i13^0'=__const_50^0, i^0'=__const_50^0, [ __const_50^0<=i11^0 && 1<=__const_50^0 ], cost: 4+4*__const_50^0 51: l14 -> l12 : i11^0'=0, i7^0'=0, i9^0'=0, i^0'=0, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [ __const_50^0<=0 ], cost: 8 52: l14 -> l12 : i11^0'=0, i7^0'=__const_50^0, i9^0'=__const_50^0, i^0'=__const_50^0, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [ 1<=__const_50^0 ], cost: 8+6*__const_50^0 53: l14 -> l12 : i11^0'=__const_50^0, i7^0'=__const_50^0, i9^0'=__const_50^0, i^0'=__const_50^0, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [ 1<=__const_50^0 ], cost: 8+8*__const_50^0 54: l14 -> [21] : [ 1<=__const_50^0 ], cost: 4+2*__const_50^0 55: l14 -> [21] : [ 1<=__const_50^0 ], cost: 4+4*__const_50^0 Eliminated locations (on tree-shaped paths): Start location: l14 54: l14 -> [21] : [ 1<=__const_50^0 ], cost: 4+2*__const_50^0 55: l14 -> [21] : [ 1<=__const_50^0 ], cost: 4+4*__const_50^0 56: l14 -> l4 : i11^0'=__const_50^0, i13^0'=__const_50^0, i7^0'=__const_50^0, i9^0'=__const_50^0, i^0'=__const_50^0, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [ 1<=__const_50^0 ], cost: 12+12*__const_50^0 57: l14 -> [22] : [ 1<=__const_50^0 ], cost: 8+6*__const_50^0 ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: l14 54: l14 -> [21] : [ 1<=__const_50^0 ], cost: 4+2*__const_50^0 55: l14 -> [21] : [ 1<=__const_50^0 ], cost: 4+4*__const_50^0 56: l14 -> l4 : i11^0'=__const_50^0, i13^0'=__const_50^0, i7^0'=__const_50^0, i9^0'=__const_50^0, i^0'=__const_50^0, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [ 1<=__const_50^0 ], cost: 12+12*__const_50^0 57: l14 -> [22] : [ 1<=__const_50^0 ], cost: 8+6*__const_50^0 Computing asymptotic complexity for rule 54 Solved the limit problem by the following transformations: Created initial limit problem: __const_50^0 (+/+!), 4+2*__const_50^0 (+) [not solved] removing all constraints (solved by SMT) resulting limit problem: [solved] applying transformation rule (C) using substitution {__const_50^0==n} resulting limit problem: [solved] Solution: __const_50^0 / n Resulting cost 4+2*n has complexity: Poly(n^1) Found new complexity Poly(n^1). Obtained the following overall complexity (w.r.t. the length of the input n): Complexity: Poly(n^1) Cpx degree: 1 Solved cost: 4+2*n Rule cost: 4+2*__const_50^0 Rule guard: [ 1<=__const_50^0 ] WORST_CASE(Omega(n^1),?)