NO ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: l15 0: l0 -> l1 : loop_count^0'=loop_count^post_1, loop_max^0'=loop_max^post_1, nPacketsOld^0'=nPacketsOld^post_1, nPackets^0'=nPackets^post_1, tmp^0'=tmp^post_1, tmp___0^0'=tmp___0^post_1, [ loop_count^0==loop_count^post_1 && loop_max^0==loop_max^post_1 && nPackets^0==nPackets^post_1 && nPacketsOld^0==nPacketsOld^post_1 && tmp^0==tmp^post_1 && tmp___0^0==tmp___0^post_1 ], cost: 1 23: l1 -> l14 : loop_count^0'=loop_count^post_24, loop_max^0'=loop_max^post_24, nPacketsOld^0'=nPacketsOld^post_24, nPackets^0'=nPackets^post_24, tmp^0'=tmp^post_24, tmp___0^0'=tmp___0^post_24, [ loop_count^0==loop_count^post_24 && loop_max^0==loop_max^post_24 && nPackets^0==nPackets^post_24 && nPacketsOld^0==nPacketsOld^post_24 && tmp^0==tmp^post_24 && tmp___0^0==tmp___0^post_24 ], cost: 1 1: l2 -> l0 : loop_count^0'=loop_count^post_2, loop_max^0'=loop_max^post_2, nPacketsOld^0'=nPacketsOld^post_2, nPackets^0'=nPackets^post_2, tmp^0'=tmp^post_2, tmp___0^0'=tmp___0^post_2, [ loop_count^0==loop_count^post_2 && loop_max^0==loop_max^post_2 && nPackets^0==nPackets^post_2 && nPacketsOld^0==nPacketsOld^post_2 && tmp^0==tmp^post_2 && tmp___0^0==tmp___0^post_2 ], cost: 1 2: l2 -> l0 : loop_count^0'=loop_count^post_3, loop_max^0'=loop_max^post_3, nPacketsOld^0'=nPacketsOld^post_3, nPackets^0'=nPackets^post_3, tmp^0'=tmp^post_3, tmp___0^0'=tmp___0^post_3, [ loop_count^0==loop_count^post_3 && loop_max^0==loop_max^post_3 && nPackets^0==nPackets^post_3 && nPacketsOld^0==nPacketsOld^post_3 && tmp^0==tmp^post_3 && tmp___0^0==tmp___0^post_3 ], cost: 1 3: l2 -> l3 : loop_count^0'=loop_count^post_4, loop_max^0'=loop_max^post_4, nPacketsOld^0'=nPacketsOld^post_4, nPackets^0'=nPackets^post_4, tmp^0'=tmp^post_4, tmp___0^0'=tmp___0^post_4, [ loop_count^0==loop_count^post_4 && loop_max^0==loop_max^post_4 && nPackets^0==nPackets^post_4 && nPacketsOld^0==nPacketsOld^post_4 && tmp^0==tmp^post_4 && tmp___0^0==tmp___0^post_4 ], cost: 1 10: l3 -> l8 : loop_count^0'=loop_count^post_11, loop_max^0'=loop_max^post_11, nPacketsOld^0'=nPacketsOld^post_11, nPackets^0'=nPackets^post_11, tmp^0'=tmp^post_11, tmp___0^0'=tmp___0^post_11, [ 1+nPacketsOld^0<=nPackets^0 && loop_count^0==loop_count^post_11 && loop_max^0==loop_max^post_11 && nPackets^0==nPackets^post_11 && nPacketsOld^0==nPacketsOld^post_11 && tmp^0==tmp^post_11 && tmp___0^0==tmp___0^post_11 ], cost: 1 11: l3 -> l8 : loop_count^0'=loop_count^post_12, loop_max^0'=loop_max^post_12, nPacketsOld^0'=nPacketsOld^post_12, nPackets^0'=nPackets^post_12, tmp^0'=tmp^post_12, tmp___0^0'=tmp___0^post_12, [ 1+nPackets^0<=nPacketsOld^0 && loop_count^0==loop_count^post_12 && loop_max^0==loop_max^post_12 && nPackets^0==nPackets^post_12 && nPacketsOld^0==nPacketsOld^post_12 && tmp^0==tmp^post_12 && tmp___0^0==tmp___0^post_12 ], cost: 1 12: l3 -> l6 : loop_count^0'=loop_count^post_13, loop_max^0'=loop_max^post_13, nPacketsOld^0'=nPacketsOld^post_13, nPackets^0'=nPackets^post_13, tmp^0'=tmp^post_13, tmp___0^0'=tmp___0^post_13, [ nPackets^0<=nPacketsOld^0 && nPacketsOld^0<=nPackets^0 && loop_count^0==loop_count^post_13 && loop_max^0==loop_max^post_13 && nPackets^0==nPackets^post_13 && nPacketsOld^0==nPacketsOld^post_13 && tmp^0==tmp^post_13 && tmp___0^0==tmp___0^post_13 ], cost: 1 4: l4 -> l2 : loop_count^0'=loop_count^post_5, loop_max^0'=loop_max^post_5, nPacketsOld^0'=nPacketsOld^post_5, nPackets^0'=nPackets^post_5, tmp^0'=tmp^post_5, tmp___0^0'=tmp___0^post_5, [ loop_count^0==loop_count^post_5 && loop_max^0==loop_max^post_5 && nPackets^0==nPackets^post_5 && nPacketsOld^0==nPacketsOld^post_5 && tmp^0==tmp^post_5 && tmp___0^0==tmp___0^post_5 ], cost: 1 5: l4 -> l2 : loop_count^0'=loop_count^post_6, loop_max^0'=loop_max^post_6, nPacketsOld^0'=nPacketsOld^post_6, nPackets^0'=nPackets^post_6, tmp^0'=tmp^post_6, tmp___0^0'=tmp___0^post_6, [ loop_count^0==loop_count^post_6 && loop_max^0==loop_max^post_6 && nPackets^0==nPackets^post_6 && nPacketsOld^0==nPacketsOld^post_6 && tmp^0==tmp^post_6 && tmp___0^0==tmp___0^post_6 ], cost: 1 6: l4 -> l3 : loop_count^0'=loop_count^post_7, loop_max^0'=loop_max^post_7, nPacketsOld^0'=nPacketsOld^post_7, nPackets^0'=nPackets^post_7, tmp^0'=tmp^post_7, tmp___0^0'=tmp___0^post_7, [ loop_count^0==loop_count^post_7 && loop_max^0==loop_max^post_7 && nPackets^0==nPackets^post_7 && nPacketsOld^0==nPacketsOld^post_7 && tmp^0==tmp^post_7 && tmp___0^0==tmp___0^post_7 ], cost: 1 7: l5 -> l4 : loop_count^0'=loop_count^post_8, loop_max^0'=loop_max^post_8, nPacketsOld^0'=nPacketsOld^post_8, nPackets^0'=nPackets^post_8, tmp^0'=tmp^post_8, tmp___0^0'=tmp___0^post_8, [ 1+loop_count^0<=loop_max^0 && loop_count^0==loop_count^post_8 && loop_max^0==loop_max^post_8 && nPackets^0==nPackets^post_8 && nPacketsOld^0==nPacketsOld^post_8 && tmp^0==tmp^post_8 && tmp___0^0==tmp___0^post_8 ], cost: 1 8: l5 -> l6 : loop_count^0'=loop_count^post_9, loop_max^0'=loop_max^post_9, nPacketsOld^0'=nPacketsOld^post_9, nPackets^0'=nPackets^post_9, tmp^0'=tmp^post_9, tmp___0^0'=tmp___0^post_9, [ loop_max^0<=loop_count^0 && loop_count^0==loop_count^post_9 && loop_max^0==loop_max^post_9 && nPackets^0==nPackets^post_9 && nPacketsOld^0==nPacketsOld^post_9 && tmp^0==tmp^post_9 && tmp___0^0==tmp___0^post_9 ], cost: 1 9: l6 -> l7 : loop_count^0'=loop_count^post_10, loop_max^0'=loop_max^post_10, nPacketsOld^0'=nPacketsOld^post_10, nPackets^0'=nPackets^post_10, tmp^0'=tmp^post_10, tmp___0^0'=tmp___0^post_10, [ loop_count^0==loop_count^post_10 && loop_max^0==loop_max^post_10 && nPackets^0==nPackets^post_10 && nPacketsOld^0==nPacketsOld^post_10 && tmp^0==tmp^post_10 && tmp___0^0==tmp___0^post_10 ], cost: 1 24: l8 -> l5 : loop_count^0'=loop_count^post_25, loop_max^0'=loop_max^post_25, nPacketsOld^0'=nPacketsOld^post_25, nPackets^0'=nPackets^post_25, tmp^0'=tmp^post_25, tmp___0^0'=tmp___0^post_25, [ nPacketsOld^post_25==nPackets^0 && loop_count^0==loop_count^post_25 && loop_max^0==loop_max^post_25 && nPackets^0==nPackets^post_25 && tmp^0==tmp^post_25 && tmp___0^0==tmp___0^post_25 ], cost: 1 13: l9 -> l3 : loop_count^0'=loop_count^post_14, loop_max^0'=loop_max^post_14, nPacketsOld^0'=nPacketsOld^post_14, nPackets^0'=nPackets^post_14, tmp^0'=tmp^post_14, tmp___0^0'=tmp___0^post_14, [ loop_count^post_14==1+loop_count^0 && loop_max^0==loop_max^post_14 && nPackets^0==nPackets^post_14 && nPacketsOld^0==nPacketsOld^post_14 && tmp^0==tmp^post_14 && tmp___0^0==tmp___0^post_14 ], cost: 1 14: l10 -> l3 : loop_count^0'=loop_count^post_15, loop_max^0'=loop_max^post_15, nPacketsOld^0'=nPacketsOld^post_15, nPackets^0'=nPackets^post_15, tmp^0'=tmp^post_15, tmp___0^0'=tmp___0^post_15, [ tmp___0^0<=0 && 0<=tmp___0^0 && loop_count^0==loop_count^post_15 && loop_max^0==loop_max^post_15 && nPackets^0==nPackets^post_15 && nPacketsOld^0==nPacketsOld^post_15 && tmp^0==tmp^post_15 && tmp___0^0==tmp___0^post_15 ], cost: 1 15: l10 -> l9 : loop_count^0'=loop_count^post_16, loop_max^0'=loop_max^post_16, nPacketsOld^0'=nPacketsOld^post_16, nPackets^0'=nPackets^post_16, tmp^0'=tmp^post_16, tmp___0^0'=tmp___0^post_16, [ 1<=tmp___0^0 && loop_count^0==loop_count^post_16 && loop_max^0==loop_max^post_16 && nPackets^0==nPackets^post_16 && nPacketsOld^0==nPacketsOld^post_16 && tmp^0==tmp^post_16 && tmp___0^0==tmp___0^post_16 ], cost: 1 16: l10 -> l9 : loop_count^0'=loop_count^post_17, loop_max^0'=loop_max^post_17, nPacketsOld^0'=nPacketsOld^post_17, nPackets^0'=nPackets^post_17, tmp^0'=tmp^post_17, tmp___0^0'=tmp___0^post_17, [ 1+tmp___0^0<=0 && loop_count^0==loop_count^post_17 && loop_max^0==loop_max^post_17 && nPackets^0==nPackets^post_17 && nPacketsOld^0==nPacketsOld^post_17 && tmp^0==tmp^post_17 && tmp___0^0==tmp___0^post_17 ], cost: 1 17: l11 -> l10 : loop_count^0'=loop_count^post_18, loop_max^0'=loop_max^post_18, nPacketsOld^0'=nPacketsOld^post_18, nPackets^0'=nPackets^post_18, tmp^0'=tmp^post_18, tmp___0^0'=tmp___0^post_18, [ tmp___0^post_18==tmp___0^post_18 && loop_count^0==loop_count^post_18 && loop_max^0==loop_max^post_18 && nPackets^0==nPackets^post_18 && nPacketsOld^0==nPacketsOld^post_18 && tmp^0==tmp^post_18 ], cost: 1 18: l12 -> l11 : loop_count^0'=loop_count^post_19, loop_max^0'=loop_max^post_19, nPacketsOld^0'=nPacketsOld^post_19, nPackets^0'=nPackets^post_19, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [ nPackets^post_19==1+nPackets^0 && loop_count^0==loop_count^post_19 && loop_max^0==loop_max^post_19 && nPacketsOld^0==nPacketsOld^post_19 && tmp^0==tmp^post_19 && tmp___0^0==tmp___0^post_19 ], cost: 1 19: l13 -> l11 : loop_count^0'=loop_count^post_20, loop_max^0'=loop_max^post_20, nPacketsOld^0'=nPacketsOld^post_20, nPackets^0'=nPackets^post_20, tmp^0'=tmp^post_20, tmp___0^0'=tmp___0^post_20, [ tmp^0<=0 && 0<=tmp^0 && loop_count^0==loop_count^post_20 && loop_max^0==loop_max^post_20 && nPackets^0==nPackets^post_20 && nPacketsOld^0==nPacketsOld^post_20 && tmp^0==tmp^post_20 && tmp___0^0==tmp___0^post_20 ], cost: 1 20: l13 -> l12 : loop_count^0'=loop_count^post_21, loop_max^0'=loop_max^post_21, nPacketsOld^0'=nPacketsOld^post_21, nPackets^0'=nPackets^post_21, tmp^0'=tmp^post_21, tmp___0^0'=tmp___0^post_21, [ 1<=tmp^0 && loop_count^0==loop_count^post_21 && loop_max^0==loop_max^post_21 && nPackets^0==nPackets^post_21 && nPacketsOld^0==nPacketsOld^post_21 && tmp^0==tmp^post_21 && tmp___0^0==tmp___0^post_21 ], cost: 1 21: l13 -> l12 : loop_count^0'=loop_count^post_22, loop_max^0'=loop_max^post_22, nPacketsOld^0'=nPacketsOld^post_22, nPackets^0'=nPackets^post_22, tmp^0'=tmp^post_22, tmp___0^0'=tmp___0^post_22, [ 1+tmp^0<=0 && loop_count^0==loop_count^post_22 && loop_max^0==loop_max^post_22 && nPackets^0==nPackets^post_22 && nPacketsOld^0==nPacketsOld^post_22 && tmp^0==tmp^post_22 && tmp___0^0==tmp___0^post_22 ], cost: 1 22: l14 -> l13 : loop_count^0'=loop_count^post_23, loop_max^0'=loop_max^post_23, nPacketsOld^0'=nPacketsOld^post_23, nPackets^0'=nPackets^post_23, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_23, [ tmp^post_23==tmp^post_23 && loop_count^0==loop_count^post_23 && loop_max^0==loop_max^post_23 && nPackets^0==nPackets^post_23 && nPacketsOld^0==nPacketsOld^post_23 && tmp___0^0==tmp___0^post_23 ], cost: 1 25: l15 -> l8 : loop_count^0'=loop_count^post_26, loop_max^0'=loop_max^post_26, nPacketsOld^0'=nPacketsOld^post_26, nPackets^0'=nPackets^post_26, tmp^0'=tmp^post_26, tmp___0^0'=tmp___0^post_26, [ loop_count^0==loop_count^post_26 && loop_max^0==loop_max^post_26 && nPackets^0==nPackets^post_26 && nPacketsOld^0==nPacketsOld^post_26 && tmp^0==tmp^post_26 && tmp___0^0==tmp___0^post_26 ], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 25: l15 -> l8 : loop_count^0'=loop_count^post_26, loop_max^0'=loop_max^post_26, nPacketsOld^0'=nPacketsOld^post_26, nPackets^0'=nPackets^post_26, tmp^0'=tmp^post_26, tmp___0^0'=tmp___0^post_26, [ loop_count^0==loop_count^post_26 && loop_max^0==loop_max^post_26 && nPackets^0==nPackets^post_26 && nPacketsOld^0==nPacketsOld^post_26 && tmp^0==tmp^post_26 && tmp___0^0==tmp___0^post_26 ], cost: 1 Removed unreachable and leaf rules: Start location: l15 0: l0 -> l1 : loop_count^0'=loop_count^post_1, loop_max^0'=loop_max^post_1, nPacketsOld^0'=nPacketsOld^post_1, nPackets^0'=nPackets^post_1, tmp^0'=tmp^post_1, tmp___0^0'=tmp___0^post_1, [ loop_count^0==loop_count^post_1 && loop_max^0==loop_max^post_1 && nPackets^0==nPackets^post_1 && nPacketsOld^0==nPacketsOld^post_1 && tmp^0==tmp^post_1 && tmp___0^0==tmp___0^post_1 ], cost: 1 23: l1 -> l14 : loop_count^0'=loop_count^post_24, loop_max^0'=loop_max^post_24, nPacketsOld^0'=nPacketsOld^post_24, nPackets^0'=nPackets^post_24, tmp^0'=tmp^post_24, tmp___0^0'=tmp___0^post_24, [ loop_count^0==loop_count^post_24 && loop_max^0==loop_max^post_24 && nPackets^0==nPackets^post_24 && nPacketsOld^0==nPacketsOld^post_24 && tmp^0==tmp^post_24 && tmp___0^0==tmp___0^post_24 ], cost: 1 1: l2 -> l0 : loop_count^0'=loop_count^post_2, loop_max^0'=loop_max^post_2, nPacketsOld^0'=nPacketsOld^post_2, nPackets^0'=nPackets^post_2, tmp^0'=tmp^post_2, tmp___0^0'=tmp___0^post_2, [ loop_count^0==loop_count^post_2 && loop_max^0==loop_max^post_2 && nPackets^0==nPackets^post_2 && nPacketsOld^0==nPacketsOld^post_2 && tmp^0==tmp^post_2 && tmp___0^0==tmp___0^post_2 ], cost: 1 2: l2 -> l0 : loop_count^0'=loop_count^post_3, loop_max^0'=loop_max^post_3, nPacketsOld^0'=nPacketsOld^post_3, nPackets^0'=nPackets^post_3, tmp^0'=tmp^post_3, tmp___0^0'=tmp___0^post_3, [ loop_count^0==loop_count^post_3 && loop_max^0==loop_max^post_3 && nPackets^0==nPackets^post_3 && nPacketsOld^0==nPacketsOld^post_3 && tmp^0==tmp^post_3 && tmp___0^0==tmp___0^post_3 ], cost: 1 3: l2 -> l3 : loop_count^0'=loop_count^post_4, loop_max^0'=loop_max^post_4, nPacketsOld^0'=nPacketsOld^post_4, nPackets^0'=nPackets^post_4, tmp^0'=tmp^post_4, tmp___0^0'=tmp___0^post_4, [ loop_count^0==loop_count^post_4 && loop_max^0==loop_max^post_4 && nPackets^0==nPackets^post_4 && nPacketsOld^0==nPacketsOld^post_4 && tmp^0==tmp^post_4 && tmp___0^0==tmp___0^post_4 ], cost: 1 10: l3 -> l8 : loop_count^0'=loop_count^post_11, loop_max^0'=loop_max^post_11, nPacketsOld^0'=nPacketsOld^post_11, nPackets^0'=nPackets^post_11, tmp^0'=tmp^post_11, tmp___0^0'=tmp___0^post_11, [ 1+nPacketsOld^0<=nPackets^0 && loop_count^0==loop_count^post_11 && loop_max^0==loop_max^post_11 && nPackets^0==nPackets^post_11 && nPacketsOld^0==nPacketsOld^post_11 && tmp^0==tmp^post_11 && tmp___0^0==tmp___0^post_11 ], cost: 1 11: l3 -> l8 : loop_count^0'=loop_count^post_12, loop_max^0'=loop_max^post_12, nPacketsOld^0'=nPacketsOld^post_12, nPackets^0'=nPackets^post_12, tmp^0'=tmp^post_12, tmp___0^0'=tmp___0^post_12, [ 1+nPackets^0<=nPacketsOld^0 && loop_count^0==loop_count^post_12 && loop_max^0==loop_max^post_12 && nPackets^0==nPackets^post_12 && nPacketsOld^0==nPacketsOld^post_12 && tmp^0==tmp^post_12 && tmp___0^0==tmp___0^post_12 ], cost: 1 4: l4 -> l2 : loop_count^0'=loop_count^post_5, loop_max^0'=loop_max^post_5, nPacketsOld^0'=nPacketsOld^post_5, nPackets^0'=nPackets^post_5, tmp^0'=tmp^post_5, tmp___0^0'=tmp___0^post_5, [ loop_count^0==loop_count^post_5 && loop_max^0==loop_max^post_5 && nPackets^0==nPackets^post_5 && nPacketsOld^0==nPacketsOld^post_5 && tmp^0==tmp^post_5 && tmp___0^0==tmp___0^post_5 ], cost: 1 5: l4 -> l2 : loop_count^0'=loop_count^post_6, loop_max^0'=loop_max^post_6, nPacketsOld^0'=nPacketsOld^post_6, nPackets^0'=nPackets^post_6, tmp^0'=tmp^post_6, tmp___0^0'=tmp___0^post_6, [ loop_count^0==loop_count^post_6 && loop_max^0==loop_max^post_6 && nPackets^0==nPackets^post_6 && nPacketsOld^0==nPacketsOld^post_6 && tmp^0==tmp^post_6 && tmp___0^0==tmp___0^post_6 ], cost: 1 6: l4 -> l3 : loop_count^0'=loop_count^post_7, loop_max^0'=loop_max^post_7, nPacketsOld^0'=nPacketsOld^post_7, nPackets^0'=nPackets^post_7, tmp^0'=tmp^post_7, tmp___0^0'=tmp___0^post_7, [ loop_count^0==loop_count^post_7 && loop_max^0==loop_max^post_7 && nPackets^0==nPackets^post_7 && nPacketsOld^0==nPacketsOld^post_7 && tmp^0==tmp^post_7 && tmp___0^0==tmp___0^post_7 ], cost: 1 7: l5 -> l4 : loop_count^0'=loop_count^post_8, loop_max^0'=loop_max^post_8, nPacketsOld^0'=nPacketsOld^post_8, nPackets^0'=nPackets^post_8, tmp^0'=tmp^post_8, tmp___0^0'=tmp___0^post_8, [ 1+loop_count^0<=loop_max^0 && loop_count^0==loop_count^post_8 && loop_max^0==loop_max^post_8 && nPackets^0==nPackets^post_8 && nPacketsOld^0==nPacketsOld^post_8 && tmp^0==tmp^post_8 && tmp___0^0==tmp___0^post_8 ], cost: 1 24: l8 -> l5 : loop_count^0'=loop_count^post_25, loop_max^0'=loop_max^post_25, nPacketsOld^0'=nPacketsOld^post_25, nPackets^0'=nPackets^post_25, tmp^0'=tmp^post_25, tmp___0^0'=tmp___0^post_25, [ nPacketsOld^post_25==nPackets^0 && loop_count^0==loop_count^post_25 && loop_max^0==loop_max^post_25 && nPackets^0==nPackets^post_25 && tmp^0==tmp^post_25 && tmp___0^0==tmp___0^post_25 ], cost: 1 13: l9 -> l3 : loop_count^0'=loop_count^post_14, loop_max^0'=loop_max^post_14, nPacketsOld^0'=nPacketsOld^post_14, nPackets^0'=nPackets^post_14, tmp^0'=tmp^post_14, tmp___0^0'=tmp___0^post_14, [ loop_count^post_14==1+loop_count^0 && loop_max^0==loop_max^post_14 && nPackets^0==nPackets^post_14 && nPacketsOld^0==nPacketsOld^post_14 && tmp^0==tmp^post_14 && tmp___0^0==tmp___0^post_14 ], cost: 1 14: l10 -> l3 : loop_count^0'=loop_count^post_15, loop_max^0'=loop_max^post_15, nPacketsOld^0'=nPacketsOld^post_15, nPackets^0'=nPackets^post_15, tmp^0'=tmp^post_15, tmp___0^0'=tmp___0^post_15, [ tmp___0^0<=0 && 0<=tmp___0^0 && loop_count^0==loop_count^post_15 && loop_max^0==loop_max^post_15 && nPackets^0==nPackets^post_15 && nPacketsOld^0==nPacketsOld^post_15 && tmp^0==tmp^post_15 && tmp___0^0==tmp___0^post_15 ], cost: 1 15: l10 -> l9 : loop_count^0'=loop_count^post_16, loop_max^0'=loop_max^post_16, nPacketsOld^0'=nPacketsOld^post_16, nPackets^0'=nPackets^post_16, tmp^0'=tmp^post_16, tmp___0^0'=tmp___0^post_16, [ 1<=tmp___0^0 && loop_count^0==loop_count^post_16 && loop_max^0==loop_max^post_16 && nPackets^0==nPackets^post_16 && nPacketsOld^0==nPacketsOld^post_16 && tmp^0==tmp^post_16 && tmp___0^0==tmp___0^post_16 ], cost: 1 16: l10 -> l9 : loop_count^0'=loop_count^post_17, loop_max^0'=loop_max^post_17, nPacketsOld^0'=nPacketsOld^post_17, nPackets^0'=nPackets^post_17, tmp^0'=tmp^post_17, tmp___0^0'=tmp___0^post_17, [ 1+tmp___0^0<=0 && loop_count^0==loop_count^post_17 && loop_max^0==loop_max^post_17 && nPackets^0==nPackets^post_17 && nPacketsOld^0==nPacketsOld^post_17 && tmp^0==tmp^post_17 && tmp___0^0==tmp___0^post_17 ], cost: 1 17: l11 -> l10 : loop_count^0'=loop_count^post_18, loop_max^0'=loop_max^post_18, nPacketsOld^0'=nPacketsOld^post_18, nPackets^0'=nPackets^post_18, tmp^0'=tmp^post_18, tmp___0^0'=tmp___0^post_18, [ tmp___0^post_18==tmp___0^post_18 && loop_count^0==loop_count^post_18 && loop_max^0==loop_max^post_18 && nPackets^0==nPackets^post_18 && nPacketsOld^0==nPacketsOld^post_18 && tmp^0==tmp^post_18 ], cost: 1 18: l12 -> l11 : loop_count^0'=loop_count^post_19, loop_max^0'=loop_max^post_19, nPacketsOld^0'=nPacketsOld^post_19, nPackets^0'=nPackets^post_19, tmp^0'=tmp^post_19, tmp___0^0'=tmp___0^post_19, [ nPackets^post_19==1+nPackets^0 && loop_count^0==loop_count^post_19 && loop_max^0==loop_max^post_19 && nPacketsOld^0==nPacketsOld^post_19 && tmp^0==tmp^post_19 && tmp___0^0==tmp___0^post_19 ], cost: 1 19: l13 -> l11 : loop_count^0'=loop_count^post_20, loop_max^0'=loop_max^post_20, nPacketsOld^0'=nPacketsOld^post_20, nPackets^0'=nPackets^post_20, tmp^0'=tmp^post_20, tmp___0^0'=tmp___0^post_20, [ tmp^0<=0 && 0<=tmp^0 && loop_count^0==loop_count^post_20 && loop_max^0==loop_max^post_20 && nPackets^0==nPackets^post_20 && nPacketsOld^0==nPacketsOld^post_20 && tmp^0==tmp^post_20 && tmp___0^0==tmp___0^post_20 ], cost: 1 20: l13 -> l12 : loop_count^0'=loop_count^post_21, loop_max^0'=loop_max^post_21, nPacketsOld^0'=nPacketsOld^post_21, nPackets^0'=nPackets^post_21, tmp^0'=tmp^post_21, tmp___0^0'=tmp___0^post_21, [ 1<=tmp^0 && loop_count^0==loop_count^post_21 && loop_max^0==loop_max^post_21 && nPackets^0==nPackets^post_21 && nPacketsOld^0==nPacketsOld^post_21 && tmp^0==tmp^post_21 && tmp___0^0==tmp___0^post_21 ], cost: 1 21: l13 -> l12 : loop_count^0'=loop_count^post_22, loop_max^0'=loop_max^post_22, nPacketsOld^0'=nPacketsOld^post_22, nPackets^0'=nPackets^post_22, tmp^0'=tmp^post_22, tmp___0^0'=tmp___0^post_22, [ 1+tmp^0<=0 && loop_count^0==loop_count^post_22 && loop_max^0==loop_max^post_22 && nPackets^0==nPackets^post_22 && nPacketsOld^0==nPacketsOld^post_22 && tmp^0==tmp^post_22 && tmp___0^0==tmp___0^post_22 ], cost: 1 22: l14 -> l13 : loop_count^0'=loop_count^post_23, loop_max^0'=loop_max^post_23, nPacketsOld^0'=nPacketsOld^post_23, nPackets^0'=nPackets^post_23, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_23, [ tmp^post_23==tmp^post_23 && loop_count^0==loop_count^post_23 && loop_max^0==loop_max^post_23 && nPackets^0==nPackets^post_23 && nPacketsOld^0==nPacketsOld^post_23 && tmp___0^0==tmp___0^post_23 ], cost: 1 25: l15 -> l8 : loop_count^0'=loop_count^post_26, loop_max^0'=loop_max^post_26, nPacketsOld^0'=nPacketsOld^post_26, nPackets^0'=nPackets^post_26, tmp^0'=tmp^post_26, tmp___0^0'=tmp___0^post_26, [ loop_count^0==loop_count^post_26 && loop_max^0==loop_max^post_26 && nPackets^0==nPackets^post_26 && nPacketsOld^0==nPacketsOld^post_26 && tmp^0==tmp^post_26 && tmp___0^0==tmp___0^post_26 ], cost: 1 Simplified all rules, resulting in: Start location: l15 0: l0 -> l1 : [], cost: 1 23: l1 -> l14 : [], cost: 1 2: l2 -> l0 : [], cost: 1 3: l2 -> l3 : [], cost: 1 10: l3 -> l8 : [ 1+nPacketsOld^0<=nPackets^0 ], cost: 1 11: l3 -> l8 : [ 1+nPackets^0<=nPacketsOld^0 ], cost: 1 5: l4 -> l2 : [], cost: 1 6: l4 -> l3 : [], cost: 1 7: l5 -> l4 : [ 1+loop_count^0<=loop_max^0 ], cost: 1 24: l8 -> l5 : nPacketsOld^0'=nPackets^0, [], cost: 1 13: l9 -> l3 : loop_count^0'=1+loop_count^0, [], cost: 1 14: l10 -> l3 : [ tmp___0^0==0 ], cost: 1 15: l10 -> l9 : [ 1<=tmp___0^0 ], cost: 1 16: l10 -> l9 : [ 1+tmp___0^0<=0 ], cost: 1 17: l11 -> l10 : tmp___0^0'=tmp___0^post_18, [], cost: 1 18: l12 -> l11 : nPackets^0'=1+nPackets^0, [], cost: 1 19: l13 -> l11 : [ tmp^0==0 ], cost: 1 20: l13 -> l12 : [ 1<=tmp^0 ], cost: 1 21: l13 -> l12 : [ 1+tmp^0<=0 ], cost: 1 22: l14 -> l13 : tmp^0'=tmp^post_23, [], cost: 1 25: l15 -> l8 : [], cost: 1 ### Simplification by acceleration and chaining ### Eliminated locations (on linear paths): Start location: l15 3: l2 -> l3 : [], cost: 1 29: l2 -> l13 : tmp^0'=tmp^post_23, [], cost: 4 10: l3 -> l8 : [ 1+nPacketsOld^0<=nPackets^0 ], cost: 1 11: l3 -> l8 : [ 1+nPackets^0<=nPacketsOld^0 ], cost: 1 5: l4 -> l2 : [], cost: 1 6: l4 -> l3 : [], cost: 1 26: l8 -> l4 : nPacketsOld^0'=nPackets^0, [ 1+loop_count^0<=loop_max^0 ], cost: 2 13: l9 -> l3 : loop_count^0'=1+loop_count^0, [], cost: 1 14: l10 -> l3 : [ tmp___0^0==0 ], cost: 1 15: l10 -> l9 : [ 1<=tmp___0^0 ], cost: 1 16: l10 -> l9 : [ 1+tmp___0^0<=0 ], cost: 1 17: l11 -> l10 : tmp___0^0'=tmp___0^post_18, [], cost: 1 18: l12 -> l11 : nPackets^0'=1+nPackets^0, [], cost: 1 19: l13 -> l11 : [ tmp^0==0 ], cost: 1 20: l13 -> l12 : [ 1<=tmp^0 ], cost: 1 21: l13 -> l12 : [ 1+tmp^0<=0 ], cost: 1 25: l15 -> l8 : [], cost: 1 Eliminated locations (on tree-shaped paths): Start location: l15 3: l2 -> l3 : [], cost: 1 32: l2 -> l11 : tmp^0'=tmp^post_23, [ tmp^post_23==0 ], cost: 5 33: l2 -> l12 : tmp^0'=tmp^post_23, [ 1<=tmp^post_23 ], cost: 5 34: l2 -> l12 : tmp^0'=tmp^post_23, [ 1+tmp^post_23<=0 ], cost: 5 10: l3 -> l8 : [ 1+nPacketsOld^0<=nPackets^0 ], cost: 1 11: l3 -> l8 : [ 1+nPackets^0<=nPacketsOld^0 ], cost: 1 30: l8 -> l2 : nPacketsOld^0'=nPackets^0, [ 1+loop_count^0<=loop_max^0 ], cost: 3 31: l8 -> l3 : nPacketsOld^0'=nPackets^0, [ 1+loop_count^0<=loop_max^0 ], cost: 3 13: l9 -> l3 : loop_count^0'=1+loop_count^0, [], cost: 1 35: l11 -> l3 : tmp___0^0'=tmp___0^post_18, [ tmp___0^post_18==0 ], cost: 2 36: l11 -> l9 : tmp___0^0'=tmp___0^post_18, [ 1<=tmp___0^post_18 ], cost: 2 37: l11 -> l9 : tmp___0^0'=tmp___0^post_18, [ 1+tmp___0^post_18<=0 ], cost: 2 18: l12 -> l11 : nPackets^0'=1+nPackets^0, [], cost: 1 25: l15 -> l8 : [], cost: 1 Eliminated locations (on tree-shaped paths): Start location: l15 10: l3 -> l8 : [ 1+nPacketsOld^0<=nPackets^0 ], cost: 1 11: l3 -> l8 : [ 1+nPackets^0<=nPacketsOld^0 ], cost: 1 31: l8 -> l3 : nPacketsOld^0'=nPackets^0, [ 1+loop_count^0<=loop_max^0 ], cost: 3 38: l8 -> l3 : nPacketsOld^0'=nPackets^0, [ 1+loop_count^0<=loop_max^0 ], cost: 4 39: l8 -> l11 : nPacketsOld^0'=nPackets^0, tmp^0'=tmp^post_23, [ 1+loop_count^0<=loop_max^0 && tmp^post_23==0 ], cost: 8 40: l8 -> l12 : nPacketsOld^0'=nPackets^0, tmp^0'=tmp^post_23, [ 1+loop_count^0<=loop_max^0 && 1<=tmp^post_23 ], cost: 8 41: l8 -> l12 : nPacketsOld^0'=nPackets^0, tmp^0'=tmp^post_23, [ 1+loop_count^0<=loop_max^0 && 1+tmp^post_23<=0 ], cost: 8 35: l11 -> l3 : tmp___0^0'=tmp___0^post_18, [ tmp___0^post_18==0 ], cost: 2 42: l11 -> l3 : loop_count^0'=1+loop_count^0, tmp___0^0'=tmp___0^post_18, [ 1<=tmp___0^post_18 ], cost: 3 43: l11 -> l3 : loop_count^0'=1+loop_count^0, tmp___0^0'=tmp___0^post_18, [ 1+tmp___0^post_18<=0 ], cost: 3 18: l12 -> l11 : nPackets^0'=1+nPackets^0, [], cost: 1 25: l15 -> l8 : [], cost: 1 Eliminated locations (on tree-shaped paths): Start location: l15 10: l3 -> l8 : [ 1+nPacketsOld^0<=nPackets^0 ], cost: 1 11: l3 -> l8 : [ 1+nPackets^0<=nPacketsOld^0 ], cost: 1 31: l8 -> l3 : nPacketsOld^0'=nPackets^0, [ 1+loop_count^0<=loop_max^0 ], cost: 3 38: l8 -> l3 : nPacketsOld^0'=nPackets^0, [ 1+loop_count^0<=loop_max^0 ], cost: 4 39: l8 -> l11 : nPacketsOld^0'=nPackets^0, tmp^0'=tmp^post_23, [ 1+loop_count^0<=loop_max^0 && tmp^post_23==0 ], cost: 8 44: l8 -> l11 : nPacketsOld^0'=nPackets^0, nPackets^0'=1+nPackets^0, tmp^0'=tmp^post_23, [ 1+loop_count^0<=loop_max^0 && 1<=tmp^post_23 ], cost: 9 45: l8 -> l11 : nPacketsOld^0'=nPackets^0, nPackets^0'=1+nPackets^0, tmp^0'=tmp^post_23, [ 1+loop_count^0<=loop_max^0 && 1+tmp^post_23<=0 ], cost: 9 35: l11 -> l3 : tmp___0^0'=tmp___0^post_18, [ tmp___0^post_18==0 ], cost: 2 42: l11 -> l3 : loop_count^0'=1+loop_count^0, tmp___0^0'=tmp___0^post_18, [ 1<=tmp___0^post_18 ], cost: 3 43: l11 -> l3 : loop_count^0'=1+loop_count^0, tmp___0^0'=tmp___0^post_18, [ 1+tmp___0^post_18<=0 ], cost: 3 25: l15 -> l8 : [], cost: 1 Eliminated locations (on tree-shaped paths): Start location: l15 10: l3 -> l8 : [ 1+nPacketsOld^0<=nPackets^0 ], cost: 1 11: l3 -> l8 : [ 1+nPackets^0<=nPacketsOld^0 ], cost: 1 31: l8 -> l3 : nPacketsOld^0'=nPackets^0, [ 1+loop_count^0<=loop_max^0 ], cost: 3 38: l8 -> l3 : nPacketsOld^0'=nPackets^0, [ 1+loop_count^0<=loop_max^0 ], cost: 4 46: l8 -> l3 : nPacketsOld^0'=nPackets^0, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_18, [ 1+loop_count^0<=loop_max^0 && tmp^post_23==0 && tmp___0^post_18==0 ], cost: 10 47: l8 -> l3 : loop_count^0'=1+loop_count^0, nPacketsOld^0'=nPackets^0, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_18, [ 1+loop_count^0<=loop_max^0 && tmp^post_23==0 && 1<=tmp___0^post_18 ], cost: 11 48: l8 -> l3 : loop_count^0'=1+loop_count^0, nPacketsOld^0'=nPackets^0, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_18, [ 1+loop_count^0<=loop_max^0 && tmp^post_23==0 && 1+tmp___0^post_18<=0 ], cost: 11 49: l8 -> l3 : nPacketsOld^0'=nPackets^0, nPackets^0'=1+nPackets^0, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_18, [ 1+loop_count^0<=loop_max^0 && 1<=tmp^post_23 && tmp___0^post_18==0 ], cost: 11 50: l8 -> l3 : loop_count^0'=1+loop_count^0, nPacketsOld^0'=nPackets^0, nPackets^0'=1+nPackets^0, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_18, [ 1+loop_count^0<=loop_max^0 && 1<=tmp^post_23 && 1<=tmp___0^post_18 ], cost: 12 51: l8 -> l3 : loop_count^0'=1+loop_count^0, nPacketsOld^0'=nPackets^0, nPackets^0'=1+nPackets^0, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_18, [ 1+loop_count^0<=loop_max^0 && 1<=tmp^post_23 && 1+tmp___0^post_18<=0 ], cost: 12 52: l8 -> l3 : nPacketsOld^0'=nPackets^0, nPackets^0'=1+nPackets^0, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_18, [ 1+loop_count^0<=loop_max^0 && 1+tmp^post_23<=0 && tmp___0^post_18==0 ], cost: 11 53: l8 -> l3 : loop_count^0'=1+loop_count^0, nPacketsOld^0'=nPackets^0, nPackets^0'=1+nPackets^0, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_18, [ 1+loop_count^0<=loop_max^0 && 1+tmp^post_23<=0 && 1<=tmp___0^post_18 ], cost: 12 54: l8 -> l3 : loop_count^0'=1+loop_count^0, nPacketsOld^0'=nPackets^0, nPackets^0'=1+nPackets^0, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_18, [ 1+loop_count^0<=loop_max^0 && 1+tmp^post_23<=0 && 1+tmp___0^post_18<=0 ], cost: 12 25: l15 -> l8 : [], cost: 1 Eliminated locations (on tree-shaped paths): Start location: l15 55: l8 -> l8 : nPacketsOld^0'=nPackets^0, nPackets^0'=1+nPackets^0, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_18, [ 1+loop_count^0<=loop_max^0 && 1<=tmp^post_23 && tmp___0^post_18==0 ], cost: 12 56: l8 -> l8 : loop_count^0'=1+loop_count^0, nPacketsOld^0'=nPackets^0, nPackets^0'=1+nPackets^0, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_18, [ 1+loop_count^0<=loop_max^0 && 1<=tmp^post_23 && 1<=tmp___0^post_18 ], cost: 13 57: l8 -> l8 : loop_count^0'=1+loop_count^0, nPacketsOld^0'=nPackets^0, nPackets^0'=1+nPackets^0, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_18, [ 1+loop_count^0<=loop_max^0 && 1<=tmp^post_23 && 1+tmp___0^post_18<=0 ], cost: 13 58: l8 -> l8 : nPacketsOld^0'=nPackets^0, nPackets^0'=1+nPackets^0, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_18, [ 1+loop_count^0<=loop_max^0 && 1+tmp^post_23<=0 && tmp___0^post_18==0 ], cost: 12 59: l8 -> l8 : loop_count^0'=1+loop_count^0, nPacketsOld^0'=nPackets^0, nPackets^0'=1+nPackets^0, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_18, [ 1+loop_count^0<=loop_max^0 && 1+tmp^post_23<=0 && 1<=tmp___0^post_18 ], cost: 13 60: l8 -> l8 : loop_count^0'=1+loop_count^0, nPacketsOld^0'=nPackets^0, nPackets^0'=1+nPackets^0, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_18, [ 1+loop_count^0<=loop_max^0 && 1+tmp^post_23<=0 && 1+tmp___0^post_18<=0 ], cost: 13 25: l15 -> l8 : [], cost: 1 Accelerating simple loops of location 8. Simplified some of the simple loops (and removed duplicate rules). Accelerating the following rules: 55: l8 -> l8 : nPacketsOld^0'=nPackets^0, nPackets^0'=1+nPackets^0, tmp^0'=tmp^post_23, tmp___0^0'=0, [ 1+loop_count^0<=loop_max^0 && 1<=tmp^post_23 ], cost: 12 56: l8 -> l8 : loop_count^0'=1+loop_count^0, nPacketsOld^0'=nPackets^0, nPackets^0'=1+nPackets^0, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_18, [ 1+loop_count^0<=loop_max^0 && 1<=tmp^post_23 && 1<=tmp___0^post_18 ], cost: 13 57: l8 -> l8 : loop_count^0'=1+loop_count^0, nPacketsOld^0'=nPackets^0, nPackets^0'=1+nPackets^0, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_18, [ 1+loop_count^0<=loop_max^0 && 1<=tmp^post_23 && 1+tmp___0^post_18<=0 ], cost: 13 58: l8 -> l8 : nPacketsOld^0'=nPackets^0, nPackets^0'=1+nPackets^0, tmp^0'=tmp^post_23, tmp___0^0'=0, [ 1+loop_count^0<=loop_max^0 && 1+tmp^post_23<=0 ], cost: 12 59: l8 -> l8 : loop_count^0'=1+loop_count^0, nPacketsOld^0'=nPackets^0, nPackets^0'=1+nPackets^0, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_18, [ 1+loop_count^0<=loop_max^0 && 1+tmp^post_23<=0 && 1<=tmp___0^post_18 ], cost: 13 60: l8 -> l8 : loop_count^0'=1+loop_count^0, nPacketsOld^0'=nPackets^0, nPackets^0'=1+nPackets^0, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_18, [ 1+loop_count^0<=loop_max^0 && 1+tmp^post_23<=0 && 1+tmp___0^post_18<=0 ], cost: 13 Accelerated rule 55 with non-termination, yielding the new rule 61. Accelerated rule 56 with backward acceleration, yielding the new rule 62. Accelerated rule 57 with backward acceleration, yielding the new rule 63. Accelerated rule 58 with non-termination, yielding the new rule 64. Accelerated rule 59 with backward acceleration, yielding the new rule 65. Accelerated rule 60 with backward acceleration, yielding the new rule 66. [accelerate] Nesting with 4 inner and 4 outer candidates Removing the simple loops: 55 56 57 58 59 60. Accelerated all simple loops using metering functions (where possible): Start location: l15 61: l8 -> [16] : [ 1+loop_count^0<=loop_max^0 && 1<=tmp^post_23 ], cost: NONTERM 62: l8 -> l8 : loop_count^0'=loop_max^0, nPacketsOld^0'=-1+loop_max^0+nPackets^0-loop_count^0, nPackets^0'=loop_max^0+nPackets^0-loop_count^0, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_18, [ 1<=tmp^post_23 && 1<=tmp___0^post_18 && loop_max^0-loop_count^0>=1 ], cost: 13*loop_max^0-13*loop_count^0 63: l8 -> l8 : loop_count^0'=loop_max^0, nPacketsOld^0'=-1+loop_max^0+nPackets^0-loop_count^0, nPackets^0'=loop_max^0+nPackets^0-loop_count^0, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_18, [ 1<=tmp^post_23 && 1+tmp___0^post_18<=0 && loop_max^0-loop_count^0>=1 ], cost: 13*loop_max^0-13*loop_count^0 64: l8 -> [16] : [ 1+loop_count^0<=loop_max^0 && 1+tmp^post_23<=0 ], cost: NONTERM 65: l8 -> l8 : loop_count^0'=loop_max^0, nPacketsOld^0'=-1+loop_max^0+nPackets^0-loop_count^0, nPackets^0'=loop_max^0+nPackets^0-loop_count^0, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_18, [ 1+tmp^post_23<=0 && 1<=tmp___0^post_18 && loop_max^0-loop_count^0>=1 ], cost: 13*loop_max^0-13*loop_count^0 66: l8 -> l8 : loop_count^0'=loop_max^0, nPacketsOld^0'=-1+loop_max^0+nPackets^0-loop_count^0, nPackets^0'=loop_max^0+nPackets^0-loop_count^0, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_18, [ 1+tmp^post_23<=0 && 1+tmp___0^post_18<=0 && loop_max^0-loop_count^0>=1 ], cost: 13*loop_max^0-13*loop_count^0 25: l15 -> l8 : [], cost: 1 Chained accelerated rules (with incoming rules): Start location: l15 25: l15 -> l8 : [], cost: 1 67: l15 -> [16] : [ 1+loop_count^0<=loop_max^0 ], cost: NONTERM 68: l15 -> l8 : loop_count^0'=loop_max^0, nPacketsOld^0'=-1+loop_max^0+nPackets^0-loop_count^0, nPackets^0'=loop_max^0+nPackets^0-loop_count^0, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_18, [ 1<=tmp^post_23 && 1<=tmp___0^post_18 && loop_max^0-loop_count^0>=1 ], cost: 1+13*loop_max^0-13*loop_count^0 69: l15 -> l8 : loop_count^0'=loop_max^0, nPacketsOld^0'=-1+loop_max^0+nPackets^0-loop_count^0, nPackets^0'=loop_max^0+nPackets^0-loop_count^0, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_18, [ 1<=tmp^post_23 && 1+tmp___0^post_18<=0 && loop_max^0-loop_count^0>=1 ], cost: 1+13*loop_max^0-13*loop_count^0 70: l15 -> [16] : [ 1+loop_count^0<=loop_max^0 ], cost: NONTERM 71: l15 -> l8 : loop_count^0'=loop_max^0, nPacketsOld^0'=-1+loop_max^0+nPackets^0-loop_count^0, nPackets^0'=loop_max^0+nPackets^0-loop_count^0, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_18, [ 1+tmp^post_23<=0 && 1<=tmp___0^post_18 && loop_max^0-loop_count^0>=1 ], cost: 1+13*loop_max^0-13*loop_count^0 72: l15 -> l8 : loop_count^0'=loop_max^0, nPacketsOld^0'=-1+loop_max^0+nPackets^0-loop_count^0, nPackets^0'=loop_max^0+nPackets^0-loop_count^0, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_18, [ 1+tmp^post_23<=0 && 1+tmp___0^post_18<=0 && loop_max^0-loop_count^0>=1 ], cost: 1+13*loop_max^0-13*loop_count^0 Removed unreachable locations (and leaf rules with constant cost): Start location: l15 67: l15 -> [16] : [ 1+loop_count^0<=loop_max^0 ], cost: NONTERM 68: l15 -> l8 : loop_count^0'=loop_max^0, nPacketsOld^0'=-1+loop_max^0+nPackets^0-loop_count^0, nPackets^0'=loop_max^0+nPackets^0-loop_count^0, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_18, [ 1<=tmp^post_23 && 1<=tmp___0^post_18 && loop_max^0-loop_count^0>=1 ], cost: 1+13*loop_max^0-13*loop_count^0 69: l15 -> l8 : loop_count^0'=loop_max^0, nPacketsOld^0'=-1+loop_max^0+nPackets^0-loop_count^0, nPackets^0'=loop_max^0+nPackets^0-loop_count^0, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_18, [ 1<=tmp^post_23 && 1+tmp___0^post_18<=0 && loop_max^0-loop_count^0>=1 ], cost: 1+13*loop_max^0-13*loop_count^0 70: l15 -> [16] : [ 1+loop_count^0<=loop_max^0 ], cost: NONTERM 71: l15 -> l8 : loop_count^0'=loop_max^0, nPacketsOld^0'=-1+loop_max^0+nPackets^0-loop_count^0, nPackets^0'=loop_max^0+nPackets^0-loop_count^0, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_18, [ 1+tmp^post_23<=0 && 1<=tmp___0^post_18 && loop_max^0-loop_count^0>=1 ], cost: 1+13*loop_max^0-13*loop_count^0 72: l15 -> l8 : loop_count^0'=loop_max^0, nPacketsOld^0'=-1+loop_max^0+nPackets^0-loop_count^0, nPackets^0'=loop_max^0+nPackets^0-loop_count^0, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_18, [ 1+tmp^post_23<=0 && 1+tmp___0^post_18<=0 && loop_max^0-loop_count^0>=1 ], cost: 1+13*loop_max^0-13*loop_count^0 ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: l15 68: l15 -> l8 : loop_count^0'=loop_max^0, nPacketsOld^0'=-1+loop_max^0+nPackets^0-loop_count^0, nPackets^0'=loop_max^0+nPackets^0-loop_count^0, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_18, [ 1<=tmp^post_23 && 1<=tmp___0^post_18 && loop_max^0-loop_count^0>=1 ], cost: 1+13*loop_max^0-13*loop_count^0 69: l15 -> l8 : loop_count^0'=loop_max^0, nPacketsOld^0'=-1+loop_max^0+nPackets^0-loop_count^0, nPackets^0'=loop_max^0+nPackets^0-loop_count^0, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_18, [ 1<=tmp^post_23 && 1+tmp___0^post_18<=0 && loop_max^0-loop_count^0>=1 ], cost: 1+13*loop_max^0-13*loop_count^0 70: l15 -> [16] : [ 1+loop_count^0<=loop_max^0 ], cost: NONTERM 71: l15 -> l8 : loop_count^0'=loop_max^0, nPacketsOld^0'=-1+loop_max^0+nPackets^0-loop_count^0, nPackets^0'=loop_max^0+nPackets^0-loop_count^0, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_18, [ 1+tmp^post_23<=0 && 1<=tmp___0^post_18 && loop_max^0-loop_count^0>=1 ], cost: 1+13*loop_max^0-13*loop_count^0 72: l15 -> l8 : loop_count^0'=loop_max^0, nPacketsOld^0'=-1+loop_max^0+nPackets^0-loop_count^0, nPackets^0'=loop_max^0+nPackets^0-loop_count^0, tmp^0'=tmp^post_23, tmp___0^0'=tmp___0^post_18, [ 1+tmp^post_23<=0 && 1+tmp___0^post_18<=0 && loop_max^0-loop_count^0>=1 ], cost: 1+13*loop_max^0-13*loop_count^0 Computing asymptotic complexity for rule 70 Guard is satisfiable, yielding nontermination Resulting cost NONTERM has complexity: Nonterm Found new complexity Nonterm. Obtained the following overall complexity (w.r.t. the length of the input n): Complexity: Nonterm Cpx degree: Nonterm Solved cost: NONTERM Rule cost: NONTERM Rule guard: [ 1+loop_count^0<=loop_max^0 ] NO