WORST_CASE(Omega(1),?) ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: l17 0: l0 -> l1 : __const_18^0'=__const_18^post_1, __const_5^0'=__const_5^post_1, edgecount^0'=edgecount^post_1, i^0'=i^post_1, j^0'=j^post_1, nodecount^0'=nodecount^post_1, source^0'=source^post_1, x^0'=x^post_1, y^0'=y^post_1, [ nodecount^0<=i^0 && __const_18^0==__const_18^post_1 && __const_5^0==__const_5^post_1 && edgecount^0==edgecount^post_1 && i^0==i^post_1 && j^0==j^post_1 && nodecount^0==nodecount^post_1 && source^0==source^post_1 && x^0==x^post_1 && y^0==y^post_1 ], cost: 1 1: l0 -> l2 : __const_18^0'=__const_18^post_2, __const_5^0'=__const_5^post_2, edgecount^0'=edgecount^post_2, i^0'=i^post_2, j^0'=j^post_2, nodecount^0'=nodecount^post_2, source^0'=source^post_2, x^0'=x^post_2, y^0'=y^post_2, [ 1+i^0<=nodecount^0 && i^post_2==1+i^0 && __const_18^0==__const_18^post_2 && __const_5^0==__const_5^post_2 && edgecount^0==edgecount^post_2 && j^0==j^post_2 && nodecount^0==nodecount^post_2 && source^0==source^post_2 && x^0==x^post_2 && y^0==y^post_2 ], cost: 1 22: l2 -> l0 : __const_18^0'=__const_18^post_23, __const_5^0'=__const_5^post_23, edgecount^0'=edgecount^post_23, i^0'=i^post_23, j^0'=j^post_23, nodecount^0'=nodecount^post_23, source^0'=source^post_23, x^0'=x^post_23, y^0'=y^post_23, [ __const_18^0==__const_18^post_23 && __const_5^0==__const_5^post_23 && edgecount^0==edgecount^post_23 && i^0==i^post_23 && j^0==j^post_23 && nodecount^0==nodecount^post_23 && source^0==source^post_23 && x^0==x^post_23 && y^0==y^post_23 ], cost: 1 2: l3 -> l4 : __const_18^0'=__const_18^post_3, __const_5^0'=__const_5^post_3, edgecount^0'=edgecount^post_3, i^0'=i^post_3, j^0'=j^post_3, nodecount^0'=nodecount^post_3, source^0'=source^post_3, x^0'=x^post_3, y^0'=y^post_3, [ i^post_3==1+i^0 && __const_18^0==__const_18^post_3 && __const_5^0==__const_5^post_3 && edgecount^0==edgecount^post_3 && j^0==j^post_3 && nodecount^0==nodecount^post_3 && source^0==source^post_3 && x^0==x^post_3 && y^0==y^post_3 ], cost: 1 3: l3 -> l1 : __const_18^0'=__const_18^post_4, __const_5^0'=__const_5^post_4, edgecount^0'=edgecount^post_4, i^0'=i^post_4, j^0'=j^post_4, nodecount^0'=nodecount^post_4, source^0'=source^post_4, x^0'=x^post_4, y^0'=y^post_4, [ __const_18^0==__const_18^post_4 && __const_5^0==__const_5^post_4 && edgecount^0==edgecount^post_4 && i^0==i^post_4 && j^0==j^post_4 && nodecount^0==nodecount^post_4 && source^0==source^post_4 && x^0==x^post_4 && y^0==y^post_4 ], cost: 1 21: l4 -> l5 : __const_18^0'=__const_18^post_22, __const_5^0'=__const_5^post_22, edgecount^0'=edgecount^post_22, i^0'=i^post_22, j^0'=j^post_22, nodecount^0'=nodecount^post_22, source^0'=source^post_22, x^0'=x^post_22, y^0'=y^post_22, [ __const_18^0==__const_18^post_22 && __const_5^0==__const_5^post_22 && edgecount^0==edgecount^post_22 && i^0==i^post_22 && j^0==j^post_22 && nodecount^0==nodecount^post_22 && source^0==source^post_22 && x^0==x^post_22 && y^0==y^post_22 ], cost: 1 4: l5 -> l2 : __const_18^0'=__const_18^post_5, __const_5^0'=__const_5^post_5, edgecount^0'=edgecount^post_5, i^0'=i^post_5, j^0'=j^post_5, nodecount^0'=nodecount^post_5, source^0'=source^post_5, x^0'=x^post_5, y^0'=y^post_5, [ edgecount^0<=i^0 && i^post_5==0 && __const_18^0==__const_18^post_5 && __const_5^0==__const_5^post_5 && edgecount^0==edgecount^post_5 && j^0==j^post_5 && nodecount^0==nodecount^post_5 && source^0==source^post_5 && x^0==x^post_5 && y^0==y^post_5 ], cost: 1 5: l5 -> l3 : __const_18^0'=__const_18^post_6, __const_5^0'=__const_5^post_6, edgecount^0'=edgecount^post_6, i^0'=i^post_6, j^0'=j^post_6, nodecount^0'=nodecount^post_6, source^0'=source^post_6, x^0'=x^post_6, y^0'=y^post_6, [ 1+i^0<=edgecount^0 && x^post_6==x^post_6 && y^post_6==y^post_6 && __const_18^0==__const_18^post_6 && __const_5^0==__const_5^post_6 && edgecount^0==edgecount^post_6 && i^0==i^post_6 && j^0==j^post_6 && nodecount^0==nodecount^post_6 && source^0==source^post_6 ], cost: 1 6: l6 -> l7 : __const_18^0'=__const_18^post_7, __const_5^0'=__const_5^post_7, edgecount^0'=edgecount^post_7, i^0'=i^post_7, j^0'=j^post_7, nodecount^0'=nodecount^post_7, source^0'=source^post_7, x^0'=x^post_7, y^0'=y^post_7, [ j^post_7==1+j^0 && __const_18^0==__const_18^post_7 && __const_5^0==__const_5^post_7 && edgecount^0==edgecount^post_7 && i^0==i^post_7 && nodecount^0==nodecount^post_7 && source^0==source^post_7 && x^0==x^post_7 && y^0==y^post_7 ], cost: 1 20: l7 -> l8 : __const_18^0'=__const_18^post_21, __const_5^0'=__const_5^post_21, edgecount^0'=edgecount^post_21, i^0'=i^post_21, j^0'=j^post_21, nodecount^0'=nodecount^post_21, source^0'=source^post_21, x^0'=x^post_21, y^0'=y^post_21, [ __const_18^0==__const_18^post_21 && __const_5^0==__const_5^post_21 && edgecount^0==edgecount^post_21 && i^0==i^post_21 && j^0==j^post_21 && nodecount^0==nodecount^post_21 && source^0==source^post_21 && x^0==x^post_21 && y^0==y^post_21 ], cost: 1 7: l8 -> l9 : __const_18^0'=__const_18^post_8, __const_5^0'=__const_5^post_8, edgecount^0'=edgecount^post_8, i^0'=i^post_8, j^0'=j^post_8, nodecount^0'=nodecount^post_8, source^0'=source^post_8, x^0'=x^post_8, y^0'=y^post_8, [ edgecount^0<=j^0 && i^post_8==1+i^0 && __const_18^0==__const_18^post_8 && __const_5^0==__const_5^post_8 && edgecount^0==edgecount^post_8 && j^0==j^post_8 && nodecount^0==nodecount^post_8 && source^0==source^post_8 && x^0==x^post_8 && y^0==y^post_8 ], cost: 1 8: l8 -> l6 : __const_18^0'=__const_18^post_9, __const_5^0'=__const_5^post_9, edgecount^0'=edgecount^post_9, i^0'=i^post_9, j^0'=j^post_9, nodecount^0'=nodecount^post_9, source^0'=source^post_9, x^0'=x^post_9, y^0'=y^post_9, [ 1+j^0<=edgecount^0 && x^post_9==x^post_9 && y^post_9==y^post_9 && __const_18^0==__const_18^post_9 && __const_5^0==__const_5^post_9 && edgecount^0==edgecount^post_9 && i^0==i^post_9 && j^0==j^post_9 && nodecount^0==nodecount^post_9 && source^0==source^post_9 ], cost: 1 19: l9 -> l10 : __const_18^0'=__const_18^post_20, __const_5^0'=__const_5^post_20, edgecount^0'=edgecount^post_20, i^0'=i^post_20, j^0'=j^post_20, nodecount^0'=nodecount^post_20, source^0'=source^post_20, x^0'=x^post_20, y^0'=y^post_20, [ __const_18^0==__const_18^post_20 && __const_5^0==__const_5^post_20 && edgecount^0==edgecount^post_20 && i^0==i^post_20 && j^0==j^post_20 && nodecount^0==nodecount^post_20 && source^0==source^post_20 && x^0==x^post_20 && y^0==y^post_20 ], cost: 1 9: l10 -> l4 : __const_18^0'=__const_18^post_10, __const_5^0'=__const_5^post_10, edgecount^0'=edgecount^post_10, i^0'=i^post_10, j^0'=j^post_10, nodecount^0'=nodecount^post_10, source^0'=source^post_10, x^0'=x^post_10, y^0'=y^post_10, [ nodecount^0<=i^0 && i^post_10==0 && __const_18^0==__const_18^post_10 && __const_5^0==__const_5^post_10 && edgecount^0==edgecount^post_10 && j^0==j^post_10 && nodecount^0==nodecount^post_10 && source^0==source^post_10 && x^0==x^post_10 && y^0==y^post_10 ], cost: 1 10: l10 -> l7 : __const_18^0'=__const_18^post_11, __const_5^0'=__const_5^post_11, edgecount^0'=edgecount^post_11, i^0'=i^post_11, j^0'=j^post_11, nodecount^0'=nodecount^post_11, source^0'=source^post_11, x^0'=x^post_11, y^0'=y^post_11, [ 1+i^0<=nodecount^0 && j^post_11==0 && __const_18^0==__const_18^post_11 && __const_5^0==__const_5^post_11 && edgecount^0==edgecount^post_11 && i^0==i^post_11 && nodecount^0==nodecount^post_11 && source^0==source^post_11 && x^0==x^post_11 && y^0==y^post_11 ], cost: 1 11: l11 -> l12 : __const_18^0'=__const_18^post_12, __const_5^0'=__const_5^post_12, edgecount^0'=edgecount^post_12, i^0'=i^post_12, j^0'=j^post_12, nodecount^0'=nodecount^post_12, source^0'=source^post_12, x^0'=x^post_12, y^0'=y^post_12, [ __const_18^0==__const_18^post_12 && __const_5^0==__const_5^post_12 && edgecount^0==edgecount^post_12 && i^0==i^post_12 && j^0==j^post_12 && nodecount^0==nodecount^post_12 && source^0==source^post_12 && x^0==x^post_12 && y^0==y^post_12 ], cost: 1 12: l12 -> l13 : __const_18^0'=__const_18^post_13, __const_5^0'=__const_5^post_13, edgecount^0'=edgecount^post_13, i^0'=i^post_13, j^0'=j^post_13, nodecount^0'=nodecount^post_13, source^0'=source^post_13, x^0'=x^post_13, y^0'=y^post_13, [ i^post_13==1+i^0 && __const_18^0==__const_18^post_13 && __const_5^0==__const_5^post_13 && edgecount^0==edgecount^post_13 && j^0==j^post_13 && nodecount^0==nodecount^post_13 && source^0==source^post_13 && x^0==x^post_13 && y^0==y^post_13 ], cost: 1 18: l13 -> l15 : __const_18^0'=__const_18^post_19, __const_5^0'=__const_5^post_19, edgecount^0'=edgecount^post_19, i^0'=i^post_19, j^0'=j^post_19, nodecount^0'=nodecount^post_19, source^0'=source^post_19, x^0'=x^post_19, y^0'=y^post_19, [ __const_18^0==__const_18^post_19 && __const_5^0==__const_5^post_19 && edgecount^0==edgecount^post_19 && i^0==i^post_19 && j^0==j^post_19 && nodecount^0==nodecount^post_19 && source^0==source^post_19 && x^0==x^post_19 && y^0==y^post_19 ], cost: 1 13: l14 -> l11 : __const_18^0'=__const_18^post_14, __const_5^0'=__const_5^post_14, edgecount^0'=edgecount^post_14, i^0'=i^post_14, j^0'=j^post_14, nodecount^0'=nodecount^post_14, source^0'=source^post_14, x^0'=x^post_14, y^0'=y^post_14, [ 1+source^0<=i^0 && __const_18^0==__const_18^post_14 && __const_5^0==__const_5^post_14 && edgecount^0==edgecount^post_14 && i^0==i^post_14 && j^0==j^post_14 && nodecount^0==nodecount^post_14 && source^0==source^post_14 && x^0==x^post_14 && y^0==y^post_14 ], cost: 1 14: l14 -> l11 : __const_18^0'=__const_18^post_15, __const_5^0'=__const_5^post_15, edgecount^0'=edgecount^post_15, i^0'=i^post_15, j^0'=j^post_15, nodecount^0'=nodecount^post_15, source^0'=source^post_15, x^0'=x^post_15, y^0'=y^post_15, [ 1+i^0<=source^0 && __const_18^0==__const_18^post_15 && __const_5^0==__const_5^post_15 && edgecount^0==edgecount^post_15 && i^0==i^post_15 && j^0==j^post_15 && nodecount^0==nodecount^post_15 && source^0==source^post_15 && x^0==x^post_15 && y^0==y^post_15 ], cost: 1 15: l14 -> l12 : __const_18^0'=__const_18^post_16, __const_5^0'=__const_5^post_16, edgecount^0'=edgecount^post_16, i^0'=i^post_16, j^0'=j^post_16, nodecount^0'=nodecount^post_16, source^0'=source^post_16, x^0'=x^post_16, y^0'=y^post_16, [ i^0<=source^0 && source^0<=i^0 && __const_18^0==__const_18^post_16 && __const_5^0==__const_5^post_16 && edgecount^0==edgecount^post_16 && i^0==i^post_16 && j^0==j^post_16 && nodecount^0==nodecount^post_16 && source^0==source^post_16 && x^0==x^post_16 && y^0==y^post_16 ], cost: 1 16: l15 -> l9 : __const_18^0'=__const_18^post_17, __const_5^0'=__const_5^post_17, edgecount^0'=edgecount^post_17, i^0'=i^post_17, j^0'=j^post_17, nodecount^0'=nodecount^post_17, source^0'=source^post_17, x^0'=x^post_17, y^0'=y^post_17, [ nodecount^0<=i^0 && i^post_17==0 && __const_18^0==__const_18^post_17 && __const_5^0==__const_5^post_17 && edgecount^0==edgecount^post_17 && j^0==j^post_17 && nodecount^0==nodecount^post_17 && source^0==source^post_17 && x^0==x^post_17 && y^0==y^post_17 ], cost: 1 17: l15 -> l14 : __const_18^0'=__const_18^post_18, __const_5^0'=__const_5^post_18, edgecount^0'=edgecount^post_18, i^0'=i^post_18, j^0'=j^post_18, nodecount^0'=nodecount^post_18, source^0'=source^post_18, x^0'=x^post_18, y^0'=y^post_18, [ 1+i^0<=nodecount^0 && __const_18^0==__const_18^post_18 && __const_5^0==__const_5^post_18 && edgecount^0==edgecount^post_18 && i^0==i^post_18 && j^0==j^post_18 && nodecount^0==nodecount^post_18 && source^0==source^post_18 && x^0==x^post_18 && y^0==y^post_18 ], cost: 1 23: l16 -> l13 : __const_18^0'=__const_18^post_24, __const_5^0'=__const_5^post_24, edgecount^0'=edgecount^post_24, i^0'=i^post_24, j^0'=j^post_24, nodecount^0'=nodecount^post_24, source^0'=source^post_24, x^0'=x^post_24, y^0'=y^post_24, [ nodecount^post_24==__const_5^0 && edgecount^post_24==__const_18^0 && source^post_24==0 && i^post_24==0 && __const_18^0==__const_18^post_24 && __const_5^0==__const_5^post_24 && j^0==j^post_24 && x^0==x^post_24 && y^0==y^post_24 ], cost: 1 24: l17 -> l16 : __const_18^0'=__const_18^post_25, __const_5^0'=__const_5^post_25, edgecount^0'=edgecount^post_25, i^0'=i^post_25, j^0'=j^post_25, nodecount^0'=nodecount^post_25, source^0'=source^post_25, x^0'=x^post_25, y^0'=y^post_25, [ __const_18^0==__const_18^post_25 && __const_5^0==__const_5^post_25 && edgecount^0==edgecount^post_25 && i^0==i^post_25 && j^0==j^post_25 && nodecount^0==nodecount^post_25 && source^0==source^post_25 && x^0==x^post_25 && y^0==y^post_25 ], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 24: l17 -> l16 : __const_18^0'=__const_18^post_25, __const_5^0'=__const_5^post_25, edgecount^0'=edgecount^post_25, i^0'=i^post_25, j^0'=j^post_25, nodecount^0'=nodecount^post_25, source^0'=source^post_25, x^0'=x^post_25, y^0'=y^post_25, [ __const_18^0==__const_18^post_25 && __const_5^0==__const_5^post_25 && edgecount^0==edgecount^post_25 && i^0==i^post_25 && j^0==j^post_25 && nodecount^0==nodecount^post_25 && source^0==source^post_25 && x^0==x^post_25 && y^0==y^post_25 ], cost: 1 Removed unreachable and leaf rules: Start location: l17 1: l0 -> l2 : __const_18^0'=__const_18^post_2, __const_5^0'=__const_5^post_2, edgecount^0'=edgecount^post_2, i^0'=i^post_2, j^0'=j^post_2, nodecount^0'=nodecount^post_2, source^0'=source^post_2, x^0'=x^post_2, y^0'=y^post_2, [ 1+i^0<=nodecount^0 && i^post_2==1+i^0 && __const_18^0==__const_18^post_2 && __const_5^0==__const_5^post_2 && edgecount^0==edgecount^post_2 && j^0==j^post_2 && nodecount^0==nodecount^post_2 && source^0==source^post_2 && x^0==x^post_2 && y^0==y^post_2 ], cost: 1 22: l2 -> l0 : __const_18^0'=__const_18^post_23, __const_5^0'=__const_5^post_23, edgecount^0'=edgecount^post_23, i^0'=i^post_23, j^0'=j^post_23, nodecount^0'=nodecount^post_23, source^0'=source^post_23, x^0'=x^post_23, y^0'=y^post_23, [ __const_18^0==__const_18^post_23 && __const_5^0==__const_5^post_23 && edgecount^0==edgecount^post_23 && i^0==i^post_23 && j^0==j^post_23 && nodecount^0==nodecount^post_23 && source^0==source^post_23 && x^0==x^post_23 && y^0==y^post_23 ], cost: 1 2: l3 -> l4 : __const_18^0'=__const_18^post_3, __const_5^0'=__const_5^post_3, edgecount^0'=edgecount^post_3, i^0'=i^post_3, j^0'=j^post_3, nodecount^0'=nodecount^post_3, source^0'=source^post_3, x^0'=x^post_3, y^0'=y^post_3, [ i^post_3==1+i^0 && __const_18^0==__const_18^post_3 && __const_5^0==__const_5^post_3 && edgecount^0==edgecount^post_3 && j^0==j^post_3 && nodecount^0==nodecount^post_3 && source^0==source^post_3 && x^0==x^post_3 && y^0==y^post_3 ], cost: 1 21: l4 -> l5 : __const_18^0'=__const_18^post_22, __const_5^0'=__const_5^post_22, edgecount^0'=edgecount^post_22, i^0'=i^post_22, j^0'=j^post_22, nodecount^0'=nodecount^post_22, source^0'=source^post_22, x^0'=x^post_22, y^0'=y^post_22, [ __const_18^0==__const_18^post_22 && __const_5^0==__const_5^post_22 && edgecount^0==edgecount^post_22 && i^0==i^post_22 && j^0==j^post_22 && nodecount^0==nodecount^post_22 && source^0==source^post_22 && x^0==x^post_22 && y^0==y^post_22 ], cost: 1 4: l5 -> l2 : __const_18^0'=__const_18^post_5, __const_5^0'=__const_5^post_5, edgecount^0'=edgecount^post_5, i^0'=i^post_5, j^0'=j^post_5, nodecount^0'=nodecount^post_5, source^0'=source^post_5, x^0'=x^post_5, y^0'=y^post_5, [ edgecount^0<=i^0 && i^post_5==0 && __const_18^0==__const_18^post_5 && __const_5^0==__const_5^post_5 && edgecount^0==edgecount^post_5 && j^0==j^post_5 && nodecount^0==nodecount^post_5 && source^0==source^post_5 && x^0==x^post_5 && y^0==y^post_5 ], cost: 1 5: l5 -> l3 : __const_18^0'=__const_18^post_6, __const_5^0'=__const_5^post_6, edgecount^0'=edgecount^post_6, i^0'=i^post_6, j^0'=j^post_6, nodecount^0'=nodecount^post_6, source^0'=source^post_6, x^0'=x^post_6, y^0'=y^post_6, [ 1+i^0<=edgecount^0 && x^post_6==x^post_6 && y^post_6==y^post_6 && __const_18^0==__const_18^post_6 && __const_5^0==__const_5^post_6 && edgecount^0==edgecount^post_6 && i^0==i^post_6 && j^0==j^post_6 && nodecount^0==nodecount^post_6 && source^0==source^post_6 ], cost: 1 6: l6 -> l7 : __const_18^0'=__const_18^post_7, __const_5^0'=__const_5^post_7, edgecount^0'=edgecount^post_7, i^0'=i^post_7, j^0'=j^post_7, nodecount^0'=nodecount^post_7, source^0'=source^post_7, x^0'=x^post_7, y^0'=y^post_7, [ j^post_7==1+j^0 && __const_18^0==__const_18^post_7 && __const_5^0==__const_5^post_7 && edgecount^0==edgecount^post_7 && i^0==i^post_7 && nodecount^0==nodecount^post_7 && source^0==source^post_7 && x^0==x^post_7 && y^0==y^post_7 ], cost: 1 20: l7 -> l8 : __const_18^0'=__const_18^post_21, __const_5^0'=__const_5^post_21, edgecount^0'=edgecount^post_21, i^0'=i^post_21, j^0'=j^post_21, nodecount^0'=nodecount^post_21, source^0'=source^post_21, x^0'=x^post_21, y^0'=y^post_21, [ __const_18^0==__const_18^post_21 && __const_5^0==__const_5^post_21 && edgecount^0==edgecount^post_21 && i^0==i^post_21 && j^0==j^post_21 && nodecount^0==nodecount^post_21 && source^0==source^post_21 && x^0==x^post_21 && y^0==y^post_21 ], cost: 1 7: l8 -> l9 : __const_18^0'=__const_18^post_8, __const_5^0'=__const_5^post_8, edgecount^0'=edgecount^post_8, i^0'=i^post_8, j^0'=j^post_8, nodecount^0'=nodecount^post_8, source^0'=source^post_8, x^0'=x^post_8, y^0'=y^post_8, [ edgecount^0<=j^0 && i^post_8==1+i^0 && __const_18^0==__const_18^post_8 && __const_5^0==__const_5^post_8 && edgecount^0==edgecount^post_8 && j^0==j^post_8 && nodecount^0==nodecount^post_8 && source^0==source^post_8 && x^0==x^post_8 && y^0==y^post_8 ], cost: 1 8: l8 -> l6 : __const_18^0'=__const_18^post_9, __const_5^0'=__const_5^post_9, edgecount^0'=edgecount^post_9, i^0'=i^post_9, j^0'=j^post_9, nodecount^0'=nodecount^post_9, source^0'=source^post_9, x^0'=x^post_9, y^0'=y^post_9, [ 1+j^0<=edgecount^0 && x^post_9==x^post_9 && y^post_9==y^post_9 && __const_18^0==__const_18^post_9 && __const_5^0==__const_5^post_9 && edgecount^0==edgecount^post_9 && i^0==i^post_9 && j^0==j^post_9 && nodecount^0==nodecount^post_9 && source^0==source^post_9 ], cost: 1 19: l9 -> l10 : __const_18^0'=__const_18^post_20, __const_5^0'=__const_5^post_20, edgecount^0'=edgecount^post_20, i^0'=i^post_20, j^0'=j^post_20, nodecount^0'=nodecount^post_20, source^0'=source^post_20, x^0'=x^post_20, y^0'=y^post_20, [ __const_18^0==__const_18^post_20 && __const_5^0==__const_5^post_20 && edgecount^0==edgecount^post_20 && i^0==i^post_20 && j^0==j^post_20 && nodecount^0==nodecount^post_20 && source^0==source^post_20 && x^0==x^post_20 && y^0==y^post_20 ], cost: 1 9: l10 -> l4 : __const_18^0'=__const_18^post_10, __const_5^0'=__const_5^post_10, edgecount^0'=edgecount^post_10, i^0'=i^post_10, j^0'=j^post_10, nodecount^0'=nodecount^post_10, source^0'=source^post_10, x^0'=x^post_10, y^0'=y^post_10, [ nodecount^0<=i^0 && i^post_10==0 && __const_18^0==__const_18^post_10 && __const_5^0==__const_5^post_10 && edgecount^0==edgecount^post_10 && j^0==j^post_10 && nodecount^0==nodecount^post_10 && source^0==source^post_10 && x^0==x^post_10 && y^0==y^post_10 ], cost: 1 10: l10 -> l7 : __const_18^0'=__const_18^post_11, __const_5^0'=__const_5^post_11, edgecount^0'=edgecount^post_11, i^0'=i^post_11, j^0'=j^post_11, nodecount^0'=nodecount^post_11, source^0'=source^post_11, x^0'=x^post_11, y^0'=y^post_11, [ 1+i^0<=nodecount^0 && j^post_11==0 && __const_18^0==__const_18^post_11 && __const_5^0==__const_5^post_11 && edgecount^0==edgecount^post_11 && i^0==i^post_11 && nodecount^0==nodecount^post_11 && source^0==source^post_11 && x^0==x^post_11 && y^0==y^post_11 ], cost: 1 11: l11 -> l12 : __const_18^0'=__const_18^post_12, __const_5^0'=__const_5^post_12, edgecount^0'=edgecount^post_12, i^0'=i^post_12, j^0'=j^post_12, nodecount^0'=nodecount^post_12, source^0'=source^post_12, x^0'=x^post_12, y^0'=y^post_12, [ __const_18^0==__const_18^post_12 && __const_5^0==__const_5^post_12 && edgecount^0==edgecount^post_12 && i^0==i^post_12 && j^0==j^post_12 && nodecount^0==nodecount^post_12 && source^0==source^post_12 && x^0==x^post_12 && y^0==y^post_12 ], cost: 1 12: l12 -> l13 : __const_18^0'=__const_18^post_13, __const_5^0'=__const_5^post_13, edgecount^0'=edgecount^post_13, i^0'=i^post_13, j^0'=j^post_13, nodecount^0'=nodecount^post_13, source^0'=source^post_13, x^0'=x^post_13, y^0'=y^post_13, [ i^post_13==1+i^0 && __const_18^0==__const_18^post_13 && __const_5^0==__const_5^post_13 && edgecount^0==edgecount^post_13 && j^0==j^post_13 && nodecount^0==nodecount^post_13 && source^0==source^post_13 && x^0==x^post_13 && y^0==y^post_13 ], cost: 1 18: l13 -> l15 : __const_18^0'=__const_18^post_19, __const_5^0'=__const_5^post_19, edgecount^0'=edgecount^post_19, i^0'=i^post_19, j^0'=j^post_19, nodecount^0'=nodecount^post_19, source^0'=source^post_19, x^0'=x^post_19, y^0'=y^post_19, [ __const_18^0==__const_18^post_19 && __const_5^0==__const_5^post_19 && edgecount^0==edgecount^post_19 && i^0==i^post_19 && j^0==j^post_19 && nodecount^0==nodecount^post_19 && source^0==source^post_19 && x^0==x^post_19 && y^0==y^post_19 ], cost: 1 13: l14 -> l11 : __const_18^0'=__const_18^post_14, __const_5^0'=__const_5^post_14, edgecount^0'=edgecount^post_14, i^0'=i^post_14, j^0'=j^post_14, nodecount^0'=nodecount^post_14, source^0'=source^post_14, x^0'=x^post_14, y^0'=y^post_14, [ 1+source^0<=i^0 && __const_18^0==__const_18^post_14 && __const_5^0==__const_5^post_14 && edgecount^0==edgecount^post_14 && i^0==i^post_14 && j^0==j^post_14 && nodecount^0==nodecount^post_14 && source^0==source^post_14 && x^0==x^post_14 && y^0==y^post_14 ], cost: 1 14: l14 -> l11 : __const_18^0'=__const_18^post_15, __const_5^0'=__const_5^post_15, edgecount^0'=edgecount^post_15, i^0'=i^post_15, j^0'=j^post_15, nodecount^0'=nodecount^post_15, source^0'=source^post_15, x^0'=x^post_15, y^0'=y^post_15, [ 1+i^0<=source^0 && __const_18^0==__const_18^post_15 && __const_5^0==__const_5^post_15 && edgecount^0==edgecount^post_15 && i^0==i^post_15 && j^0==j^post_15 && nodecount^0==nodecount^post_15 && source^0==source^post_15 && x^0==x^post_15 && y^0==y^post_15 ], cost: 1 15: l14 -> l12 : __const_18^0'=__const_18^post_16, __const_5^0'=__const_5^post_16, edgecount^0'=edgecount^post_16, i^0'=i^post_16, j^0'=j^post_16, nodecount^0'=nodecount^post_16, source^0'=source^post_16, x^0'=x^post_16, y^0'=y^post_16, [ i^0<=source^0 && source^0<=i^0 && __const_18^0==__const_18^post_16 && __const_5^0==__const_5^post_16 && edgecount^0==edgecount^post_16 && i^0==i^post_16 && j^0==j^post_16 && nodecount^0==nodecount^post_16 && source^0==source^post_16 && x^0==x^post_16 && y^0==y^post_16 ], cost: 1 16: l15 -> l9 : __const_18^0'=__const_18^post_17, __const_5^0'=__const_5^post_17, edgecount^0'=edgecount^post_17, i^0'=i^post_17, j^0'=j^post_17, nodecount^0'=nodecount^post_17, source^0'=source^post_17, x^0'=x^post_17, y^0'=y^post_17, [ nodecount^0<=i^0 && i^post_17==0 && __const_18^0==__const_18^post_17 && __const_5^0==__const_5^post_17 && edgecount^0==edgecount^post_17 && j^0==j^post_17 && nodecount^0==nodecount^post_17 && source^0==source^post_17 && x^0==x^post_17 && y^0==y^post_17 ], cost: 1 17: l15 -> l14 : __const_18^0'=__const_18^post_18, __const_5^0'=__const_5^post_18, edgecount^0'=edgecount^post_18, i^0'=i^post_18, j^0'=j^post_18, nodecount^0'=nodecount^post_18, source^0'=source^post_18, x^0'=x^post_18, y^0'=y^post_18, [ 1+i^0<=nodecount^0 && __const_18^0==__const_18^post_18 && __const_5^0==__const_5^post_18 && edgecount^0==edgecount^post_18 && i^0==i^post_18 && j^0==j^post_18 && nodecount^0==nodecount^post_18 && source^0==source^post_18 && x^0==x^post_18 && y^0==y^post_18 ], cost: 1 23: l16 -> l13 : __const_18^0'=__const_18^post_24, __const_5^0'=__const_5^post_24, edgecount^0'=edgecount^post_24, i^0'=i^post_24, j^0'=j^post_24, nodecount^0'=nodecount^post_24, source^0'=source^post_24, x^0'=x^post_24, y^0'=y^post_24, [ nodecount^post_24==__const_5^0 && edgecount^post_24==__const_18^0 && source^post_24==0 && i^post_24==0 && __const_18^0==__const_18^post_24 && __const_5^0==__const_5^post_24 && j^0==j^post_24 && x^0==x^post_24 && y^0==y^post_24 ], cost: 1 24: l17 -> l16 : __const_18^0'=__const_18^post_25, __const_5^0'=__const_5^post_25, edgecount^0'=edgecount^post_25, i^0'=i^post_25, j^0'=j^post_25, nodecount^0'=nodecount^post_25, source^0'=source^post_25, x^0'=x^post_25, y^0'=y^post_25, [ __const_18^0==__const_18^post_25 && __const_5^0==__const_5^post_25 && edgecount^0==edgecount^post_25 && i^0==i^post_25 && j^0==j^post_25 && nodecount^0==nodecount^post_25 && source^0==source^post_25 && x^0==x^post_25 && y^0==y^post_25 ], cost: 1 Simplified all rules, resulting in: Start location: l17 1: l0 -> l2 : i^0'=1+i^0, [ 1+i^0<=nodecount^0 ], cost: 1 22: l2 -> l0 : [], cost: 1 2: l3 -> l4 : i^0'=1+i^0, [], cost: 1 21: l4 -> l5 : [], cost: 1 4: l5 -> l2 : i^0'=0, [ edgecount^0<=i^0 ], cost: 1 5: l5 -> l3 : x^0'=x^post_6, y^0'=y^post_6, [ 1+i^0<=edgecount^0 ], cost: 1 6: l6 -> l7 : j^0'=1+j^0, [], cost: 1 20: l7 -> l8 : [], cost: 1 7: l8 -> l9 : i^0'=1+i^0, [ edgecount^0<=j^0 ], cost: 1 8: l8 -> l6 : x^0'=x^post_9, y^0'=y^post_9, [ 1+j^0<=edgecount^0 ], cost: 1 19: l9 -> l10 : [], cost: 1 9: l10 -> l4 : i^0'=0, [ nodecount^0<=i^0 ], cost: 1 10: l10 -> l7 : j^0'=0, [ 1+i^0<=nodecount^0 ], cost: 1 11: l11 -> l12 : [], cost: 1 12: l12 -> l13 : i^0'=1+i^0, [], cost: 1 18: l13 -> l15 : [], cost: 1 13: l14 -> l11 : [ 1+source^0<=i^0 ], cost: 1 14: l14 -> l11 : [ 1+i^0<=source^0 ], cost: 1 15: l14 -> l12 : [ -source^0+i^0==0 ], cost: 1 16: l15 -> l9 : i^0'=0, [ nodecount^0<=i^0 ], cost: 1 17: l15 -> l14 : [ 1+i^0<=nodecount^0 ], cost: 1 23: l16 -> l13 : edgecount^0'=__const_18^0, i^0'=0, nodecount^0'=__const_5^0, source^0'=0, [], cost: 1 24: l17 -> l16 : [], cost: 1 ### Simplification by acceleration and chaining ### Eliminated locations (on linear paths): Start location: l17 27: l2 -> l2 : i^0'=1+i^0, [ 1+i^0<=nodecount^0 ], cost: 2 21: l4 -> l5 : [], cost: 1 4: l5 -> l2 : i^0'=0, [ edgecount^0<=i^0 ], cost: 1 26: l5 -> l4 : i^0'=1+i^0, x^0'=x^post_6, y^0'=y^post_6, [ 1+i^0<=edgecount^0 ], cost: 2 20: l7 -> l8 : [], cost: 1 7: l8 -> l9 : i^0'=1+i^0, [ edgecount^0<=j^0 ], cost: 1 28: l8 -> l7 : j^0'=1+j^0, x^0'=x^post_9, y^0'=y^post_9, [ 1+j^0<=edgecount^0 ], cost: 2 19: l9 -> l10 : [], cost: 1 9: l10 -> l4 : i^0'=0, [ nodecount^0<=i^0 ], cost: 1 10: l10 -> l7 : j^0'=0, [ 1+i^0<=nodecount^0 ], cost: 1 11: l11 -> l12 : [], cost: 1 12: l12 -> l13 : i^0'=1+i^0, [], cost: 1 18: l13 -> l15 : [], cost: 1 13: l14 -> l11 : [ 1+source^0<=i^0 ], cost: 1 14: l14 -> l11 : [ 1+i^0<=source^0 ], cost: 1 15: l14 -> l12 : [ -source^0+i^0==0 ], cost: 1 16: l15 -> l9 : i^0'=0, [ nodecount^0<=i^0 ], cost: 1 17: l15 -> l14 : [ 1+i^0<=nodecount^0 ], cost: 1 25: l17 -> l13 : edgecount^0'=__const_18^0, i^0'=0, nodecount^0'=__const_5^0, source^0'=0, [], cost: 2 Accelerating simple loops of location 2. Accelerating the following rules: 27: l2 -> l2 : i^0'=1+i^0, [ 1+i^0<=nodecount^0 ], cost: 2 Accelerated rule 27 with backward acceleration, yielding the new rule 29. [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: l17 29: l2 -> l2 : i^0'=nodecount^0, [ nodecount^0-i^0>=0 ], cost: 2*nodecount^0-2*i^0 21: l4 -> l5 : [], cost: 1 4: l5 -> l2 : i^0'=0, [ edgecount^0<=i^0 ], cost: 1 26: l5 -> l4 : i^0'=1+i^0, x^0'=x^post_6, y^0'=y^post_6, [ 1+i^0<=edgecount^0 ], cost: 2 20: l7 -> l8 : [], cost: 1 7: l8 -> l9 : i^0'=1+i^0, [ edgecount^0<=j^0 ], cost: 1 28: l8 -> l7 : j^0'=1+j^0, x^0'=x^post_9, y^0'=y^post_9, [ 1+j^0<=edgecount^0 ], cost: 2 19: l9 -> l10 : [], cost: 1 9: l10 -> l4 : i^0'=0, [ nodecount^0<=i^0 ], cost: 1 10: l10 -> l7 : j^0'=0, [ 1+i^0<=nodecount^0 ], cost: 1 11: l11 -> l12 : [], cost: 1 12: l12 -> l13 : i^0'=1+i^0, [], cost: 1 18: l13 -> l15 : [], cost: 1 13: l14 -> l11 : [ 1+source^0<=i^0 ], cost: 1 14: l14 -> l11 : [ 1+i^0<=source^0 ], cost: 1 15: l14 -> l12 : [ -source^0+i^0==0 ], cost: 1 16: l15 -> l9 : i^0'=0, [ nodecount^0<=i^0 ], cost: 1 17: l15 -> l14 : [ 1+i^0<=nodecount^0 ], cost: 1 25: l17 -> l13 : edgecount^0'=__const_18^0, i^0'=0, nodecount^0'=__const_5^0, source^0'=0, [], cost: 2 Chained accelerated rules (with incoming rules): Start location: l17 21: l4 -> l5 : [], cost: 1 4: l5 -> l2 : i^0'=0, [ edgecount^0<=i^0 ], cost: 1 26: l5 -> l4 : i^0'=1+i^0, x^0'=x^post_6, y^0'=y^post_6, [ 1+i^0<=edgecount^0 ], cost: 2 30: l5 -> l2 : i^0'=nodecount^0, [ edgecount^0<=i^0 && nodecount^0>=0 ], cost: 1+2*nodecount^0 20: l7 -> l8 : [], cost: 1 7: l8 -> l9 : i^0'=1+i^0, [ edgecount^0<=j^0 ], cost: 1 28: l8 -> l7 : j^0'=1+j^0, x^0'=x^post_9, y^0'=y^post_9, [ 1+j^0<=edgecount^0 ], cost: 2 19: l9 -> l10 : [], cost: 1 9: l10 -> l4 : i^0'=0, [ nodecount^0<=i^0 ], cost: 1 10: l10 -> l7 : j^0'=0, [ 1+i^0<=nodecount^0 ], cost: 1 11: l11 -> l12 : [], cost: 1 12: l12 -> l13 : i^0'=1+i^0, [], cost: 1 18: l13 -> l15 : [], cost: 1 13: l14 -> l11 : [ 1+source^0<=i^0 ], cost: 1 14: l14 -> l11 : [ 1+i^0<=source^0 ], cost: 1 15: l14 -> l12 : [ -source^0+i^0==0 ], cost: 1 16: l15 -> l9 : i^0'=0, [ nodecount^0<=i^0 ], cost: 1 17: l15 -> l14 : [ 1+i^0<=nodecount^0 ], cost: 1 25: l17 -> l13 : edgecount^0'=__const_18^0, i^0'=0, nodecount^0'=__const_5^0, source^0'=0, [], cost: 2 Removed unreachable locations (and leaf rules with constant cost): Start location: l17 21: l4 -> l5 : [], cost: 1 26: l5 -> l4 : i^0'=1+i^0, x^0'=x^post_6, y^0'=y^post_6, [ 1+i^0<=edgecount^0 ], cost: 2 30: l5 -> l2 : i^0'=nodecount^0, [ edgecount^0<=i^0 && nodecount^0>=0 ], cost: 1+2*nodecount^0 20: l7 -> l8 : [], cost: 1 7: l8 -> l9 : i^0'=1+i^0, [ edgecount^0<=j^0 ], cost: 1 28: l8 -> l7 : j^0'=1+j^0, x^0'=x^post_9, y^0'=y^post_9, [ 1+j^0<=edgecount^0 ], cost: 2 19: l9 -> l10 : [], cost: 1 9: l10 -> l4 : i^0'=0, [ nodecount^0<=i^0 ], cost: 1 10: l10 -> l7 : j^0'=0, [ 1+i^0<=nodecount^0 ], cost: 1 11: l11 -> l12 : [], cost: 1 12: l12 -> l13 : i^0'=1+i^0, [], cost: 1 18: l13 -> l15 : [], cost: 1 13: l14 -> l11 : [ 1+source^0<=i^0 ], cost: 1 14: l14 -> l11 : [ 1+i^0<=source^0 ], cost: 1 15: l14 -> l12 : [ -source^0+i^0==0 ], cost: 1 16: l15 -> l9 : i^0'=0, [ nodecount^0<=i^0 ], cost: 1 17: l15 -> l14 : [ 1+i^0<=nodecount^0 ], cost: 1 25: l17 -> l13 : edgecount^0'=__const_18^0, i^0'=0, nodecount^0'=__const_5^0, source^0'=0, [], cost: 2 Eliminated locations (on tree-shaped paths): Start location: l17 35: l4 -> l4 : i^0'=1+i^0, x^0'=x^post_6, y^0'=y^post_6, [ 1+i^0<=edgecount^0 ], cost: 3 36: l4 -> l2 : i^0'=nodecount^0, [ edgecount^0<=i^0 && nodecount^0>=0 ], cost: 2+2*nodecount^0 37: l7 -> l9 : i^0'=1+i^0, [ edgecount^0<=j^0 ], cost: 2 38: l7 -> l7 : j^0'=1+j^0, x^0'=x^post_9, y^0'=y^post_9, [ 1+j^0<=edgecount^0 ], cost: 3 33: l9 -> l4 : i^0'=0, [ nodecount^0<=i^0 ], cost: 2 34: l9 -> l7 : j^0'=0, [ 1+i^0<=nodecount^0 ], cost: 2 31: l13 -> l9 : i^0'=0, [ nodecount^0<=i^0 ], cost: 2 32: l13 -> l14 : [ 1+i^0<=nodecount^0 ], cost: 2 41: l14 -> l13 : i^0'=1+i^0, [ -source^0+i^0==0 ], cost: 2 42: l14 -> l13 : i^0'=1+i^0, [ 1+source^0<=i^0 ], cost: 3 43: l14 -> l13 : i^0'=1+i^0, [ 1+i^0<=source^0 ], cost: 3 25: l17 -> l13 : edgecount^0'=__const_18^0, i^0'=0, nodecount^0'=__const_5^0, source^0'=0, [], cost: 2 Accelerating simple loops of location 4. Accelerating the following rules: 35: l4 -> l4 : i^0'=1+i^0, x^0'=x^post_6, y^0'=y^post_6, [ 1+i^0<=edgecount^0 ], cost: 3 Accelerated rule 35 with backward acceleration, yielding the new rule 44. [accelerate] Nesting with 1 inner and 1 outer candidates Removing the simple loops: 35. Accelerating simple loops of location 7. Accelerating the following rules: 38: l7 -> l7 : j^0'=1+j^0, x^0'=x^post_9, y^0'=y^post_9, [ 1+j^0<=edgecount^0 ], cost: 3 Accelerated rule 38 with backward acceleration, yielding the new rule 45. [accelerate] Nesting with 1 inner and 1 outer candidates Removing the simple loops: 38. Accelerated all simple loops using metering functions (where possible): Start location: l17 36: l4 -> l2 : i^0'=nodecount^0, [ edgecount^0<=i^0 && nodecount^0>=0 ], cost: 2+2*nodecount^0 44: l4 -> l4 : i^0'=edgecount^0, x^0'=x^post_6, y^0'=y^post_6, [ edgecount^0-i^0>=1 ], cost: 3*edgecount^0-3*i^0 37: l7 -> l9 : i^0'=1+i^0, [ edgecount^0<=j^0 ], cost: 2 45: l7 -> l7 : j^0'=edgecount^0, x^0'=x^post_9, y^0'=y^post_9, [ -j^0+edgecount^0>=1 ], cost: -3*j^0+3*edgecount^0 33: l9 -> l4 : i^0'=0, [ nodecount^0<=i^0 ], cost: 2 34: l9 -> l7 : j^0'=0, [ 1+i^0<=nodecount^0 ], cost: 2 31: l13 -> l9 : i^0'=0, [ nodecount^0<=i^0 ], cost: 2 32: l13 -> l14 : [ 1+i^0<=nodecount^0 ], cost: 2 41: l14 -> l13 : i^0'=1+i^0, [ -source^0+i^0==0 ], cost: 2 42: l14 -> l13 : i^0'=1+i^0, [ 1+source^0<=i^0 ], cost: 3 43: l14 -> l13 : i^0'=1+i^0, [ 1+i^0<=source^0 ], cost: 3 25: l17 -> l13 : edgecount^0'=__const_18^0, i^0'=0, nodecount^0'=__const_5^0, source^0'=0, [], cost: 2 Chained accelerated rules (with incoming rules): Start location: l17 36: l4 -> l2 : i^0'=nodecount^0, [ edgecount^0<=i^0 && nodecount^0>=0 ], cost: 2+2*nodecount^0 37: l7 -> l9 : i^0'=1+i^0, [ edgecount^0<=j^0 ], cost: 2 33: l9 -> l4 : i^0'=0, [ nodecount^0<=i^0 ], cost: 2 34: l9 -> l7 : j^0'=0, [ 1+i^0<=nodecount^0 ], cost: 2 46: l9 -> l4 : i^0'=edgecount^0, x^0'=x^post_6, y^0'=y^post_6, [ nodecount^0<=i^0 && edgecount^0>=1 ], cost: 2+3*edgecount^0 47: l9 -> l7 : j^0'=edgecount^0, x^0'=x^post_9, y^0'=y^post_9, [ 1+i^0<=nodecount^0 && edgecount^0>=1 ], cost: 2+3*edgecount^0 31: l13 -> l9 : i^0'=0, [ nodecount^0<=i^0 ], cost: 2 32: l13 -> l14 : [ 1+i^0<=nodecount^0 ], cost: 2 41: l14 -> l13 : i^0'=1+i^0, [ -source^0+i^0==0 ], cost: 2 42: l14 -> l13 : i^0'=1+i^0, [ 1+source^0<=i^0 ], cost: 3 43: l14 -> l13 : i^0'=1+i^0, [ 1+i^0<=source^0 ], cost: 3 25: l17 -> l13 : edgecount^0'=__const_18^0, i^0'=0, nodecount^0'=__const_5^0, source^0'=0, [], cost: 2 Eliminated locations (on tree-shaped paths): Start location: l17 51: l9 -> l2 : i^0'=nodecount^0, [ nodecount^0<=i^0 && edgecount^0<=0 && nodecount^0>=0 ], cost: 4+2*nodecount^0 52: l9 -> l2 : i^0'=nodecount^0, x^0'=x^post_6, y^0'=y^post_6, [ nodecount^0<=i^0 && edgecount^0>=1 && nodecount^0>=0 ], cost: 4+2*nodecount^0+3*edgecount^0 53: l9 -> l9 : i^0'=1+i^0, j^0'=0, [ 1+i^0<=nodecount^0 && edgecount^0<=0 ], cost: 4 54: l9 -> l9 : i^0'=1+i^0, j^0'=edgecount^0, x^0'=x^post_9, y^0'=y^post_9, [ 1+i^0<=nodecount^0 && edgecount^0>=1 ], cost: 4+3*edgecount^0 31: l13 -> l9 : i^0'=0, [ nodecount^0<=i^0 ], cost: 2 48: l13 -> l13 : i^0'=1+i^0, [ 1+i^0<=nodecount^0 && -source^0+i^0==0 ], cost: 4 49: l13 -> l13 : i^0'=1+i^0, [ 1+i^0<=nodecount^0 && 1+source^0<=i^0 ], cost: 5 50: l13 -> l13 : i^0'=1+i^0, [ 1+i^0<=nodecount^0 && 1+i^0<=source^0 ], cost: 5 25: l17 -> l13 : edgecount^0'=__const_18^0, i^0'=0, nodecount^0'=__const_5^0, source^0'=0, [], cost: 2 Accelerating simple loops of location 9. Accelerating the following rules: 53: l9 -> l9 : i^0'=1+i^0, j^0'=0, [ 1+i^0<=nodecount^0 && edgecount^0<=0 ], cost: 4 54: l9 -> l9 : i^0'=1+i^0, j^0'=edgecount^0, x^0'=x^post_9, y^0'=y^post_9, [ 1+i^0<=nodecount^0 && edgecount^0>=1 ], cost: 4+3*edgecount^0 Accelerated rule 53 with backward acceleration, yielding the new rule 55. Accelerated rule 54 with backward acceleration, yielding the new rule 56. [accelerate] Nesting with 2 inner and 2 outer candidates Removing the simple loops: 53 54. Accelerating simple loops of location 13. Accelerating the following rules: 48: l13 -> l13 : i^0'=1+i^0, [ 1+i^0<=nodecount^0 && -source^0+i^0==0 ], cost: 4 49: l13 -> l13 : i^0'=1+i^0, [ 1+i^0<=nodecount^0 && 1+source^0<=i^0 ], cost: 5 50: l13 -> l13 : i^0'=1+i^0, [ 1+i^0<=nodecount^0 && 1+i^0<=source^0 ], cost: 5 Failed to prove monotonicity of the guard of rule 48. Accelerated rule 49 with backward acceleration, yielding the new rule 57. Accelerated rule 50 with backward acceleration, yielding the new rule 58. Accelerated rule 50 with backward acceleration, yielding the new rule 59. [accelerate] Nesting with 4 inner and 3 outer candidates Removing the simple loops: 49 50. Accelerated all simple loops using metering functions (where possible): Start location: l17 51: l9 -> l2 : i^0'=nodecount^0, [ nodecount^0<=i^0 && edgecount^0<=0 && nodecount^0>=0 ], cost: 4+2*nodecount^0 52: l9 -> l2 : i^0'=nodecount^0, x^0'=x^post_6, y^0'=y^post_6, [ nodecount^0<=i^0 && edgecount^0>=1 && nodecount^0>=0 ], cost: 4+2*nodecount^0+3*edgecount^0 55: l9 -> l9 : i^0'=nodecount^0, j^0'=0, [ edgecount^0<=0 && nodecount^0-i^0>=1 ], cost: 4*nodecount^0-4*i^0 56: l9 -> l9 : i^0'=nodecount^0, j^0'=edgecount^0, x^0'=x^post_9, y^0'=y^post_9, [ edgecount^0>=1 && nodecount^0-i^0>=1 ], cost: 3*edgecount^0*(nodecount^0-i^0)+4*nodecount^0-4*i^0 31: l13 -> l9 : i^0'=0, [ nodecount^0<=i^0 ], cost: 2 48: l13 -> l13 : i^0'=1+i^0, [ 1+i^0<=nodecount^0 && -source^0+i^0==0 ], cost: 4 57: l13 -> l13 : i^0'=nodecount^0, [ 1+source^0<=i^0 && nodecount^0-i^0>=0 ], cost: 5*nodecount^0-5*i^0 58: l13 -> l13 : i^0'=nodecount^0, [ nodecount^0-i^0>=0 && nodecount^0<=source^0 ], cost: 5*nodecount^0-5*i^0 59: l13 -> l13 : i^0'=source^0, [ source^0-i^0>=0 && source^0<=nodecount^0 ], cost: 5*source^0-5*i^0 25: l17 -> l13 : edgecount^0'=__const_18^0, i^0'=0, nodecount^0'=__const_5^0, source^0'=0, [], cost: 2 Chained accelerated rules (with incoming rules): Start location: l17 51: l9 -> l2 : i^0'=nodecount^0, [ nodecount^0<=i^0 && edgecount^0<=0 && nodecount^0>=0 ], cost: 4+2*nodecount^0 52: l9 -> l2 : i^0'=nodecount^0, x^0'=x^post_6, y^0'=y^post_6, [ nodecount^0<=i^0 && edgecount^0>=1 && nodecount^0>=0 ], cost: 4+2*nodecount^0+3*edgecount^0 31: l13 -> l9 : i^0'=0, [ nodecount^0<=i^0 ], cost: 2 60: l13 -> l9 : i^0'=nodecount^0, j^0'=0, [ nodecount^0<=i^0 && edgecount^0<=0 && nodecount^0>=1 ], cost: 2+4*nodecount^0 61: l13 -> l9 : i^0'=nodecount^0, j^0'=edgecount^0, x^0'=x^post_9, y^0'=y^post_9, [ nodecount^0<=i^0 && edgecount^0>=1 && nodecount^0>=1 ], cost: 2+3*nodecount^0*edgecount^0+4*nodecount^0 25: l17 -> l13 : edgecount^0'=__const_18^0, i^0'=0, nodecount^0'=__const_5^0, source^0'=0, [], cost: 2 62: l17 -> l13 : edgecount^0'=__const_18^0, i^0'=1, nodecount^0'=__const_5^0, source^0'=0, [ 1<=__const_5^0 ], cost: 6 63: l17 -> l13 : edgecount^0'=__const_18^0, i^0'=__const_5^0, nodecount^0'=__const_5^0, source^0'=0, [ -__const_5^0==0 ], cost: 2+5*__const_5^0 64: l17 -> l13 : edgecount^0'=__const_18^0, i^0'=0, nodecount^0'=__const_5^0, source^0'=0, [ 0<=__const_5^0 ], cost: 2 Eliminated locations (on tree-shaped paths): Start location: l17 51: l9 -> l2 : i^0'=nodecount^0, [ nodecount^0<=i^0 && edgecount^0<=0 && nodecount^0>=0 ], cost: 4+2*nodecount^0 52: l9 -> l2 : i^0'=nodecount^0, x^0'=x^post_6, y^0'=y^post_6, [ nodecount^0<=i^0 && edgecount^0>=1 && nodecount^0>=0 ], cost: 4+2*nodecount^0+3*edgecount^0 65: l17 -> l9 : edgecount^0'=__const_18^0, i^0'=0, nodecount^0'=__const_5^0, source^0'=0, [ __const_5^0<=0 ], cost: 4 66: l17 -> l9 : edgecount^0'=__const_18^0, i^0'=0, nodecount^0'=__const_5^0, source^0'=0, [ 1<=__const_5^0 && __const_5^0<=1 ], cost: 8 67: l17 -> l9 : edgecount^0'=__const_18^0, i^0'=__const_5^0, j^0'=0, nodecount^0'=__const_5^0, source^0'=0, [ 1<=__const_5^0 && __const_5^0<=1 && __const_18^0<=0 ], cost: 8+4*__const_5^0 68: l17 -> l9 : edgecount^0'=__const_18^0, i^0'=__const_5^0, j^0'=__const_18^0, nodecount^0'=__const_5^0, source^0'=0, x^0'=x^post_9, y^0'=y^post_9, [ 1<=__const_5^0 && __const_5^0<=1 && __const_18^0>=1 ], cost: 8+4*__const_5^0+3*__const_5^0*__const_18^0 69: l17 -> l9 : edgecount^0'=__const_18^0, i^0'=0, nodecount^0'=__const_5^0, source^0'=0, [ -__const_5^0==0 ], cost: 4+5*__const_5^0 70: l17 -> l9 : edgecount^0'=__const_18^0, i^0'=0, nodecount^0'=__const_5^0, source^0'=0, [ 0<=__const_5^0 && __const_5^0<=0 ], cost: 4 71: l17 -> [23] : [ -__const_5^0==0 ], cost: 2+5*__const_5^0 Merged rules: Start location: l17 51: l9 -> l2 : i^0'=nodecount^0, [ nodecount^0<=i^0 && edgecount^0<=0 && nodecount^0>=0 ], cost: 4+2*nodecount^0 52: l9 -> l2 : i^0'=nodecount^0, x^0'=x^post_6, y^0'=y^post_6, [ nodecount^0<=i^0 && edgecount^0>=1 && nodecount^0>=0 ], cost: 4+2*nodecount^0+3*edgecount^0 66: l17 -> l9 : edgecount^0'=__const_18^0, i^0'=0, nodecount^0'=__const_5^0, source^0'=0, [ 1<=__const_5^0 && __const_5^0<=1 ], cost: 8 67: l17 -> l9 : edgecount^0'=__const_18^0, i^0'=__const_5^0, j^0'=0, nodecount^0'=__const_5^0, source^0'=0, [ 1<=__const_5^0 && __const_5^0<=1 && __const_18^0<=0 ], cost: 8+4*__const_5^0 68: l17 -> l9 : edgecount^0'=__const_18^0, i^0'=__const_5^0, j^0'=__const_18^0, nodecount^0'=__const_5^0, source^0'=0, x^0'=x^post_9, y^0'=y^post_9, [ 1<=__const_5^0 && __const_5^0<=1 && __const_18^0>=1 ], cost: 8+4*__const_5^0+3*__const_5^0*__const_18^0 69: l17 -> l9 : edgecount^0'=__const_18^0, i^0'=0, nodecount^0'=__const_5^0, source^0'=0, [ -__const_5^0==0 ], cost: 4+5*__const_5^0 71: l17 -> [23] : [ -__const_5^0==0 ], cost: 2+5*__const_5^0 72: l17 -> l9 : edgecount^0'=__const_18^0, i^0'=0, nodecount^0'=__const_5^0, source^0'=0, [ __const_5^0<=0 ], cost: 4 Eliminated locations (on tree-shaped paths): Start location: l17 71: l17 -> [23] : [ -__const_5^0==0 ], cost: 2+5*__const_5^0 73: l17 -> l2 : edgecount^0'=__const_18^0, i^0'=__const_5^0, j^0'=0, nodecount^0'=__const_5^0, source^0'=0, [ 1<=__const_5^0 && __const_5^0<=1 && __const_18^0<=0 ], cost: 12+6*__const_5^0 74: l17 -> l2 : edgecount^0'=__const_18^0, i^0'=__const_5^0, j^0'=__const_18^0, nodecount^0'=__const_5^0, source^0'=0, x^0'=x^post_6, y^0'=y^post_6, [ 1<=__const_5^0 && __const_5^0<=1 && __const_18^0>=1 ], cost: 12+6*__const_5^0+3*__const_18^0+3*__const_5^0*__const_18^0 75: l17 -> l2 : edgecount^0'=__const_18^0, i^0'=__const_5^0, nodecount^0'=__const_5^0, source^0'=0, [ -__const_5^0==0 && __const_18^0<=0 ], cost: 8+7*__const_5^0 76: l17 -> l2 : edgecount^0'=__const_18^0, i^0'=__const_5^0, nodecount^0'=__const_5^0, source^0'=0, x^0'=x^post_6, y^0'=y^post_6, [ -__const_5^0==0 && __const_18^0>=1 ], cost: 8+7*__const_5^0+3*__const_18^0 77: l17 -> l2 : edgecount^0'=__const_18^0, i^0'=__const_5^0, nodecount^0'=__const_5^0, source^0'=0, [ __const_5^0<=0 && __const_18^0<=0 && __const_5^0>=0 ], cost: 8+2*__const_5^0 78: l17 -> l2 : edgecount^0'=__const_18^0, i^0'=__const_5^0, nodecount^0'=__const_5^0, source^0'=0, x^0'=x^post_6, y^0'=y^post_6, [ __const_5^0<=0 && __const_18^0>=1 && __const_5^0>=0 ], cost: 8+2*__const_5^0+3*__const_18^0 79: l17 -> [24] : [ 1<=__const_5^0 && __const_5^0<=1 && __const_18^0<=0 ], cost: 8+4*__const_5^0 80: l17 -> [24] : [ 1<=__const_5^0 && __const_5^0<=1 && __const_18^0>=1 ], cost: 8+4*__const_5^0+3*__const_5^0*__const_18^0 ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: l17 71: l17 -> [23] : [ -__const_5^0==0 ], cost: 2+5*__const_5^0 73: l17 -> l2 : edgecount^0'=__const_18^0, i^0'=__const_5^0, j^0'=0, nodecount^0'=__const_5^0, source^0'=0, [ 1<=__const_5^0 && __const_5^0<=1 && __const_18^0<=0 ], cost: 12+6*__const_5^0 74: l17 -> l2 : edgecount^0'=__const_18^0, i^0'=__const_5^0, j^0'=__const_18^0, nodecount^0'=__const_5^0, source^0'=0, x^0'=x^post_6, y^0'=y^post_6, [ 1<=__const_5^0 && __const_5^0<=1 && __const_18^0>=1 ], cost: 12+6*__const_5^0+3*__const_18^0+3*__const_5^0*__const_18^0 75: l17 -> l2 : edgecount^0'=__const_18^0, i^0'=__const_5^0, nodecount^0'=__const_5^0, source^0'=0, [ -__const_5^0==0 && __const_18^0<=0 ], cost: 8+7*__const_5^0 76: l17 -> l2 : edgecount^0'=__const_18^0, i^0'=__const_5^0, nodecount^0'=__const_5^0, source^0'=0, x^0'=x^post_6, y^0'=y^post_6, [ -__const_5^0==0 && __const_18^0>=1 ], cost: 8+7*__const_5^0+3*__const_18^0 77: l17 -> l2 : edgecount^0'=__const_18^0, i^0'=__const_5^0, nodecount^0'=__const_5^0, source^0'=0, [ __const_5^0<=0 && __const_18^0<=0 && __const_5^0>=0 ], cost: 8+2*__const_5^0 78: l17 -> l2 : edgecount^0'=__const_18^0, i^0'=__const_5^0, nodecount^0'=__const_5^0, source^0'=0, x^0'=x^post_6, y^0'=y^post_6, [ __const_5^0<=0 && __const_18^0>=1 && __const_5^0>=0 ], cost: 8+2*__const_5^0+3*__const_18^0 79: l17 -> [24] : [ 1<=__const_5^0 && __const_5^0<=1 && __const_18^0<=0 ], cost: 8+4*__const_5^0 80: l17 -> [24] : [ 1<=__const_5^0 && __const_5^0<=1 && __const_18^0>=1 ], cost: 8+4*__const_5^0+3*__const_5^0*__const_18^0 Computing asymptotic complexity for rule 74 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 80 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 71 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 75 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 76 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 73 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 77 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 78 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 79 Resulting cost 0 has complexity: Unknown 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: [ __const_18^0==__const_18^post_25 && __const_5^0==__const_5^post_25 && edgecount^0==edgecount^post_25 && i^0==i^post_25 && j^0==j^post_25 && nodecount^0==nodecount^post_25 && source^0==source^post_25 && x^0==x^post_25 && y^0==y^post_25 ] WORST_CASE(Omega(1),?)