NO ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: l6 0: l0 -> l1 : CRITICAL^0'=CRITICAL^post_1, INCREASE^0'=INCREASE^post_1, MAX^0'=MAX^post_1, MAX_MIN^0'=MAX_MIN^post_1, MIN^0'=MIN^post_1, NONCRITICAL^0'=NONCRITICAL^post_1, NUM_MIN^0'=NUM_MIN^post_1, P^0'=P^post_1, Q^0'=Q^post_1, conditional^0'=conditional^post_1, j_min^0'=j_min^post_1, num^0'=num^post_1, pid^0'=pid^post_1, [ conditional^0<=1 && conditional^post_1==conditional^post_1 && CRITICAL^0==CRITICAL^post_1 && INCREASE^0==INCREASE^post_1 && MAX^0==MAX^post_1 && MAX_MIN^0==MAX_MIN^post_1 && MIN^0==MIN^post_1 && NONCRITICAL^0==NONCRITICAL^post_1 && NUM_MIN^0==NUM_MIN^post_1 && P^0==P^post_1 && Q^0==Q^post_1 && j_min^0==j_min^post_1 && num^0==num^post_1 && pid^0==pid^post_1 ], cost: 1 1: l0 -> l1 : CRITICAL^0'=CRITICAL^post_2, INCREASE^0'=INCREASE^post_2, MAX^0'=MAX^post_2, MAX_MIN^0'=MAX_MIN^post_2, MIN^0'=MIN^post_2, NONCRITICAL^0'=NONCRITICAL^post_2, NUM_MIN^0'=NUM_MIN^post_2, P^0'=P^post_2, Q^0'=Q^post_2, conditional^0'=conditional^post_2, j_min^0'=j_min^post_2, num^0'=num^post_2, pid^0'=pid^post_2, [ 2<=conditional^0 && INCREASE^post_2==INCREASE^post_2 && 1<=INCREASE^post_2 && j_min^post_2==INCREASE^post_2+j_min^0 && conditional^post_2==conditional^post_2 && CRITICAL^0==CRITICAL^post_2 && MAX^0==MAX^post_2 && MAX_MIN^0==MAX_MIN^post_2 && MIN^0==MIN^post_2 && NONCRITICAL^0==NONCRITICAL^post_2 && NUM_MIN^0==NUM_MIN^post_2 && P^0==P^post_2 && Q^0==Q^post_2 && num^0==num^post_2 && pid^0==pid^post_2 ], cost: 1 6: l1 -> l3 : CRITICAL^0'=CRITICAL^post_7, INCREASE^0'=INCREASE^post_7, MAX^0'=MAX^post_7, MAX_MIN^0'=MAX_MIN^post_7, MIN^0'=MIN^post_7, NONCRITICAL^0'=NONCRITICAL^post_7, NUM_MIN^0'=NUM_MIN^post_7, P^0'=P^post_7, Q^0'=Q^post_7, conditional^0'=conditional^post_7, j_min^0'=j_min^post_7, num^0'=num^post_7, pid^0'=pid^post_7, [ MIN^0<=num^0 && 1+j_min^0<=pid^0 && conditional^post_7==conditional^post_7 && CRITICAL^0==CRITICAL^post_7 && INCREASE^0==INCREASE^post_7 && MAX^0==MAX^post_7 && MAX_MIN^0==MAX_MIN^post_7 && MIN^0==MIN^post_7 && NONCRITICAL^0==NONCRITICAL^post_7 && NUM_MIN^0==NUM_MIN^post_7 && P^0==P^post_7 && Q^0==Q^post_7 && j_min^0==j_min^post_7 && num^0==num^post_7 && pid^0==pid^post_7 ], cost: 1 7: l1 -> l4 : CRITICAL^0'=CRITICAL^post_8, INCREASE^0'=INCREASE^post_8, MAX^0'=MAX^post_8, MAX_MIN^0'=MAX_MIN^post_8, MIN^0'=MIN^post_8, NONCRITICAL^0'=NONCRITICAL^post_8, NUM_MIN^0'=NUM_MIN^post_8, P^0'=P^post_8, Q^0'=Q^post_8, conditional^0'=conditional^post_8, j_min^0'=j_min^post_8, num^0'=num^post_8, pid^0'=pid^post_8, [ Q^post_8==0 && P^post_8==0 && pid^0<=j_min^0 && CRITICAL^post_8==0 && INCREASE^0==INCREASE^post_8 && MAX^0==MAX^post_8 && MAX_MIN^0==MAX_MIN^post_8 && MIN^0==MIN^post_8 && NONCRITICAL^0==NONCRITICAL^post_8 && NUM_MIN^0==NUM_MIN^post_8 && conditional^0==conditional^post_8 && j_min^0==j_min^post_8 && num^0==num^post_8 && pid^0==pid^post_8 ], cost: 1 8: l1 -> l4 : CRITICAL^0'=CRITICAL^post_9, INCREASE^0'=INCREASE^post_9, MAX^0'=MAX^post_9, MAX_MIN^0'=MAX_MIN^post_9, MIN^0'=MIN^post_9, NONCRITICAL^0'=NONCRITICAL^post_9, NUM_MIN^0'=NUM_MIN^post_9, P^0'=P^post_9, Q^0'=Q^post_9, conditional^0'=conditional^post_9, j_min^0'=j_min^post_9, num^0'=num^post_9, pid^0'=pid^post_9, [ Q^post_9==0 && P^post_9==0 && 1+num^0<=MIN^0 && CRITICAL^post_9==0 && INCREASE^0==INCREASE^post_9 && MAX^0==MAX^post_9 && MAX_MIN^0==MAX_MIN^post_9 && MIN^0==MIN^post_9 && NONCRITICAL^0==NONCRITICAL^post_9 && NUM_MIN^0==NUM_MIN^post_9 && conditional^0==conditional^post_9 && j_min^0==j_min^post_9 && num^0==num^post_9 && pid^0==pid^post_9 ], cost: 1 2: l2 -> l0 : CRITICAL^0'=CRITICAL^post_3, INCREASE^0'=INCREASE^post_3, MAX^0'=MAX^post_3, MAX_MIN^0'=MAX_MIN^post_3, MIN^0'=MIN^post_3, NONCRITICAL^0'=NONCRITICAL^post_3, NUM_MIN^0'=NUM_MIN^post_3, P^0'=P^post_3, Q^0'=Q^post_3, conditional^0'=conditional^post_3, j_min^0'=j_min^post_3, num^0'=num^post_3, pid^0'=pid^post_3, [ conditional^0<=1 && P^post_3==1 && conditional^post_3==conditional^post_3 && CRITICAL^0==CRITICAL^post_3 && INCREASE^0==INCREASE^post_3 && MAX^0==MAX^post_3 && MAX_MIN^0==MAX_MIN^post_3 && MIN^0==MIN^post_3 && NONCRITICAL^0==NONCRITICAL^post_3 && NUM_MIN^0==NUM_MIN^post_3 && Q^0==Q^post_3 && j_min^0==j_min^post_3 && num^0==num^post_3 && pid^0==pid^post_3 ], cost: 1 3: l2 -> l1 : CRITICAL^0'=CRITICAL^post_4, INCREASE^0'=INCREASE^post_4, MAX^0'=MAX^post_4, MAX_MIN^0'=MAX_MIN^post_4, MIN^0'=MIN^post_4, NONCRITICAL^0'=NONCRITICAL^post_4, NUM_MIN^0'=NUM_MIN^post_4, P^0'=P^post_4, Q^0'=Q^post_4, conditional^0'=conditional^post_4, j_min^0'=j_min^post_4, num^0'=num^post_4, pid^0'=pid^post_4, [ 2<=conditional^0 && INCREASE^post_4==INCREASE^post_4 && MAX_MIN^post_4==-MIN^0+MAX^0 && NUM_MIN^post_4==-MIN^0+num^0 && num^0<=INCREASE^post_4 && INCREASE^post_4<=-MIN^0+MAX^0 && INCREASE^post_4<=NUM_MIN^post_4 && MIN^post_4==MIN^0+INCREASE^post_4 && Q^post_4==1 && j_min^post_4==j_min^post_4 && 1<=j_min^post_4 && conditional^post_4==conditional^post_4 && CRITICAL^0==CRITICAL^post_4 && MAX^0==MAX^post_4 && NONCRITICAL^0==NONCRITICAL^post_4 && P^0==P^post_4 && num^0==num^post_4 && pid^0==pid^post_4 ], cost: 1 4: l3 -> l2 : CRITICAL^0'=CRITICAL^post_5, INCREASE^0'=INCREASE^post_5, MAX^0'=MAX^post_5, MAX_MIN^0'=MAX_MIN^post_5, MIN^0'=MIN^post_5, NONCRITICAL^0'=NONCRITICAL^post_5, NUM_MIN^0'=NUM_MIN^post_5, P^0'=P^post_5, Q^0'=Q^post_5, conditional^0'=conditional^post_5, j_min^0'=j_min^post_5, num^0'=num^post_5, pid^0'=pid^post_5, [ conditional^0<=1 && conditional^post_5==conditional^post_5 && CRITICAL^0==CRITICAL^post_5 && INCREASE^0==INCREASE^post_5 && MAX^0==MAX^post_5 && MAX_MIN^0==MAX_MIN^post_5 && MIN^0==MIN^post_5 && NONCRITICAL^0==NONCRITICAL^post_5 && NUM_MIN^0==NUM_MIN^post_5 && P^0==P^post_5 && Q^0==Q^post_5 && j_min^0==j_min^post_5 && num^0==num^post_5 && pid^0==pid^post_5 ], cost: 1 5: l3 -> l2 : CRITICAL^0'=CRITICAL^post_6, INCREASE^0'=INCREASE^post_6, MAX^0'=MAX^post_6, MAX_MIN^0'=MAX_MIN^post_6, MIN^0'=MIN^post_6, NONCRITICAL^0'=NONCRITICAL^post_6, NUM_MIN^0'=NUM_MIN^post_6, P^0'=P^post_6, Q^0'=Q^post_6, conditional^0'=conditional^post_6, j_min^0'=j_min^post_6, num^0'=num^post_6, pid^0'=pid^post_6, [ 2<=conditional^0 && INCREASE^post_6==INCREASE^post_6 && 1<=INCREASE^post_6 && MAX^post_6==MAX^0+INCREASE^post_6 && conditional^post_6==conditional^post_6 && CRITICAL^0==CRITICAL^post_6 && MAX_MIN^0==MAX_MIN^post_6 && MIN^0==MIN^post_6 && NONCRITICAL^0==NONCRITICAL^post_6 && NUM_MIN^0==NUM_MIN^post_6 && P^0==P^post_6 && Q^0==Q^post_6 && j_min^0==j_min^post_6 && num^0==num^post_6 && pid^0==pid^post_6 ], cost: 1 9: l4 -> l1 : CRITICAL^0'=CRITICAL^post_10, INCREASE^0'=INCREASE^post_10, MAX^0'=MAX^post_10, MAX_MIN^0'=MAX_MIN^post_10, MIN^0'=MIN^post_10, NONCRITICAL^0'=NONCRITICAL^post_10, NUM_MIN^0'=NUM_MIN^post_10, P^0'=P^post_10, Q^0'=Q^post_10, conditional^0'=conditional^post_10, j_min^0'=j_min^post_10, num^0'=num^post_10, pid^0'=pid^post_10, [ num^post_10==1+MAX^0 && MAX^post_10==1+MAX^0 && NONCRITICAL^post_10==1 && CRITICAL^post_10==0 && INCREASE^0==INCREASE^post_10 && MAX_MIN^0==MAX_MIN^post_10 && MIN^0==MIN^post_10 && NUM_MIN^0==NUM_MIN^post_10 && P^0==P^post_10 && Q^0==Q^post_10 && conditional^0==conditional^post_10 && j_min^0==j_min^post_10 && pid^0==pid^post_10 ], cost: 1 10: l5 -> l4 : CRITICAL^0'=CRITICAL^post_11, INCREASE^0'=INCREASE^post_11, MAX^0'=MAX^post_11, MAX_MIN^0'=MAX_MIN^post_11, MIN^0'=MIN^post_11, NONCRITICAL^0'=NONCRITICAL^post_11, NUM_MIN^0'=NUM_MIN^post_11, P^0'=P^post_11, Q^0'=Q^post_11, conditional^0'=conditional^post_11, j_min^0'=j_min^post_11, num^0'=num^post_11, pid^0'=pid^post_11, [ P^post_11==0 && Q^post_11==0 && pid^post_11==pid^post_11 && 1<=pid^post_11 && j_min^post_11==j_min^post_11 && 1<=j_min^post_11 && MIN^post_11==MIN^post_11 && 1<=MIN^post_11 && MAX^post_11==MAX^post_11 && MIN^post_11<=MAX^post_11 && NONCRITICAL^post_11==1 && CRITICAL^post_11==0 && INCREASE^0==INCREASE^post_11 && MAX_MIN^0==MAX_MIN^post_11 && NUM_MIN^0==NUM_MIN^post_11 && conditional^0==conditional^post_11 && num^0==num^post_11 ], cost: 1 11: l6 -> l5 : CRITICAL^0'=CRITICAL^post_12, INCREASE^0'=INCREASE^post_12, MAX^0'=MAX^post_12, MAX_MIN^0'=MAX_MIN^post_12, MIN^0'=MIN^post_12, NONCRITICAL^0'=NONCRITICAL^post_12, NUM_MIN^0'=NUM_MIN^post_12, P^0'=P^post_12, Q^0'=Q^post_12, conditional^0'=conditional^post_12, j_min^0'=j_min^post_12, num^0'=num^post_12, pid^0'=pid^post_12, [ CRITICAL^0==CRITICAL^post_12 && INCREASE^0==INCREASE^post_12 && MAX^0==MAX^post_12 && MAX_MIN^0==MAX_MIN^post_12 && MIN^0==MIN^post_12 && NONCRITICAL^0==NONCRITICAL^post_12 && NUM_MIN^0==NUM_MIN^post_12 && P^0==P^post_12 && Q^0==Q^post_12 && conditional^0==conditional^post_12 && j_min^0==j_min^post_12 && num^0==num^post_12 && pid^0==pid^post_12 ], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 11: l6 -> l5 : CRITICAL^0'=CRITICAL^post_12, INCREASE^0'=INCREASE^post_12, MAX^0'=MAX^post_12, MAX_MIN^0'=MAX_MIN^post_12, MIN^0'=MIN^post_12, NONCRITICAL^0'=NONCRITICAL^post_12, NUM_MIN^0'=NUM_MIN^post_12, P^0'=P^post_12, Q^0'=Q^post_12, conditional^0'=conditional^post_12, j_min^0'=j_min^post_12, num^0'=num^post_12, pid^0'=pid^post_12, [ CRITICAL^0==CRITICAL^post_12 && INCREASE^0==INCREASE^post_12 && MAX^0==MAX^post_12 && MAX_MIN^0==MAX_MIN^post_12 && MIN^0==MIN^post_12 && NONCRITICAL^0==NONCRITICAL^post_12 && NUM_MIN^0==NUM_MIN^post_12 && P^0==P^post_12 && Q^0==Q^post_12 && conditional^0==conditional^post_12 && j_min^0==j_min^post_12 && num^0==num^post_12 && pid^0==pid^post_12 ], cost: 1 Simplified all rules, resulting in: Start location: l6 0: l0 -> l1 : conditional^0'=conditional^post_1, [ conditional^0<=1 ], cost: 1 1: l0 -> l1 : INCREASE^0'=j_min^post_2-j_min^0, conditional^0'=conditional^post_2, j_min^0'=j_min^post_2, [ 2<=conditional^0 && 1<=j_min^post_2-j_min^0 ], cost: 1 6: l1 -> l3 : conditional^0'=conditional^post_7, [ MIN^0<=num^0 && 1+j_min^0<=pid^0 ], cost: 1 7: l1 -> l4 : CRITICAL^0'=0, P^0'=0, Q^0'=0, [ pid^0<=j_min^0 ], cost: 1 8: l1 -> l4 : CRITICAL^0'=0, P^0'=0, Q^0'=0, [ 1+num^0<=MIN^0 ], cost: 1 2: l2 -> l0 : P^0'=1, conditional^0'=conditional^post_3, [ conditional^0<=1 ], cost: 1 3: l2 -> l1 : INCREASE^0'=INCREASE^post_4, MAX_MIN^0'=-MIN^0+MAX^0, MIN^0'=MIN^0+INCREASE^post_4, NUM_MIN^0'=-MIN^0+num^0, Q^0'=1, conditional^0'=conditional^post_4, j_min^0'=j_min^post_4, [ 2<=conditional^0 && num^0<=INCREASE^post_4 && INCREASE^post_4<=-MIN^0+MAX^0 && INCREASE^post_4<=-MIN^0+num^0 && 1<=j_min^post_4 ], cost: 1 4: l3 -> l2 : conditional^0'=conditional^post_5, [ conditional^0<=1 ], cost: 1 5: l3 -> l2 : INCREASE^0'=-MAX^0+MAX^post_6, MAX^0'=MAX^post_6, conditional^0'=conditional^post_6, [ 2<=conditional^0 && 1<=-MAX^0+MAX^post_6 ], cost: 1 9: l4 -> l1 : CRITICAL^0'=0, MAX^0'=1+MAX^0, NONCRITICAL^0'=1, num^0'=1+MAX^0, [], cost: 1 10: l5 -> l4 : CRITICAL^0'=0, MAX^0'=MAX^post_11, MIN^0'=MIN^post_11, NONCRITICAL^0'=1, P^0'=0, Q^0'=0, j_min^0'=j_min^post_11, pid^0'=pid^post_11, [ 1<=pid^post_11 && 1<=j_min^post_11 && 1<=MIN^post_11 && MIN^post_11<=MAX^post_11 ], cost: 1 11: l6 -> l5 : [], cost: 1 ### Simplification by acceleration and chaining ### Eliminated locations (on linear paths): Start location: l6 0: l0 -> l1 : conditional^0'=conditional^post_1, [ conditional^0<=1 ], cost: 1 1: l0 -> l1 : INCREASE^0'=j_min^post_2-j_min^0, conditional^0'=conditional^post_2, j_min^0'=j_min^post_2, [ 2<=conditional^0 && 1<=j_min^post_2-j_min^0 ], cost: 1 6: l1 -> l3 : conditional^0'=conditional^post_7, [ MIN^0<=num^0 && 1+j_min^0<=pid^0 ], cost: 1 7: l1 -> l4 : CRITICAL^0'=0, P^0'=0, Q^0'=0, [ pid^0<=j_min^0 ], cost: 1 8: l1 -> l4 : CRITICAL^0'=0, P^0'=0, Q^0'=0, [ 1+num^0<=MIN^0 ], cost: 1 2: l2 -> l0 : P^0'=1, conditional^0'=conditional^post_3, [ conditional^0<=1 ], cost: 1 3: l2 -> l1 : INCREASE^0'=INCREASE^post_4, MAX_MIN^0'=-MIN^0+MAX^0, MIN^0'=MIN^0+INCREASE^post_4, NUM_MIN^0'=-MIN^0+num^0, Q^0'=1, conditional^0'=conditional^post_4, j_min^0'=j_min^post_4, [ 2<=conditional^0 && num^0<=INCREASE^post_4 && INCREASE^post_4<=-MIN^0+MAX^0 && INCREASE^post_4<=-MIN^0+num^0 && 1<=j_min^post_4 ], cost: 1 4: l3 -> l2 : conditional^0'=conditional^post_5, [ conditional^0<=1 ], cost: 1 5: l3 -> l2 : INCREASE^0'=-MAX^0+MAX^post_6, MAX^0'=MAX^post_6, conditional^0'=conditional^post_6, [ 2<=conditional^0 && 1<=-MAX^0+MAX^post_6 ], cost: 1 9: l4 -> l1 : CRITICAL^0'=0, MAX^0'=1+MAX^0, NONCRITICAL^0'=1, num^0'=1+MAX^0, [], cost: 1 12: l6 -> l4 : CRITICAL^0'=0, MAX^0'=MAX^post_11, MIN^0'=MIN^post_11, NONCRITICAL^0'=1, P^0'=0, Q^0'=0, j_min^0'=j_min^post_11, pid^0'=pid^post_11, [ 1<=pid^post_11 && 1<=j_min^post_11 && 1<=MIN^post_11 && MIN^post_11<=MAX^post_11 ], cost: 2 Eliminated locations (on tree-shaped paths): Start location: l6 7: l1 -> l4 : CRITICAL^0'=0, P^0'=0, Q^0'=0, [ pid^0<=j_min^0 ], cost: 1 8: l1 -> l4 : CRITICAL^0'=0, P^0'=0, Q^0'=0, [ 1+num^0<=MIN^0 ], cost: 1 13: l1 -> l2 : conditional^0'=conditional^post_5, [ MIN^0<=num^0 && 1+j_min^0<=pid^0 && conditional^post_7<=1 ], cost: 2 14: l1 -> l2 : INCREASE^0'=-MAX^0+MAX^post_6, MAX^0'=MAX^post_6, conditional^0'=conditional^post_6, [ MIN^0<=num^0 && 1+j_min^0<=pid^0 && 2<=conditional^post_7 && 1<=-MAX^0+MAX^post_6 ], cost: 2 3: l2 -> l1 : INCREASE^0'=INCREASE^post_4, MAX_MIN^0'=-MIN^0+MAX^0, MIN^0'=MIN^0+INCREASE^post_4, NUM_MIN^0'=-MIN^0+num^0, Q^0'=1, conditional^0'=conditional^post_4, j_min^0'=j_min^post_4, [ 2<=conditional^0 && num^0<=INCREASE^post_4 && INCREASE^post_4<=-MIN^0+MAX^0 && INCREASE^post_4<=-MIN^0+num^0 && 1<=j_min^post_4 ], cost: 1 15: l2 -> l1 : P^0'=1, conditional^0'=conditional^post_1, [ conditional^0<=1 && conditional^post_3<=1 ], cost: 2 16: l2 -> l1 : INCREASE^0'=j_min^post_2-j_min^0, P^0'=1, conditional^0'=conditional^post_2, j_min^0'=j_min^post_2, [ conditional^0<=1 && 2<=conditional^post_3 && 1<=j_min^post_2-j_min^0 ], cost: 2 9: l4 -> l1 : CRITICAL^0'=0, MAX^0'=1+MAX^0, NONCRITICAL^0'=1, num^0'=1+MAX^0, [], cost: 1 12: l6 -> l4 : CRITICAL^0'=0, MAX^0'=MAX^post_11, MIN^0'=MIN^post_11, NONCRITICAL^0'=1, P^0'=0, Q^0'=0, j_min^0'=j_min^post_11, pid^0'=pid^post_11, [ 1<=pid^post_11 && 1<=j_min^post_11 && 1<=MIN^post_11 && MIN^post_11<=MAX^post_11 ], cost: 2 Eliminated locations (on tree-shaped paths): Start location: l6 7: l1 -> l4 : CRITICAL^0'=0, P^0'=0, Q^0'=0, [ pid^0<=j_min^0 ], cost: 1 8: l1 -> l4 : CRITICAL^0'=0, P^0'=0, Q^0'=0, [ 1+num^0<=MIN^0 ], cost: 1 17: l1 -> l1 : INCREASE^0'=INCREASE^post_4, MAX_MIN^0'=-MIN^0+MAX^0, MIN^0'=MIN^0+INCREASE^post_4, NUM_MIN^0'=-MIN^0+num^0, Q^0'=1, conditional^0'=conditional^post_4, j_min^0'=j_min^post_4, [ MIN^0<=num^0 && 1+j_min^0<=pid^0 && conditional^post_7<=1 && 2<=conditional^post_5 && num^0<=INCREASE^post_4 && INCREASE^post_4<=-MIN^0+MAX^0 && INCREASE^post_4<=-MIN^0+num^0 && 1<=j_min^post_4 ], cost: 3 18: l1 -> l1 : P^0'=1, conditional^0'=conditional^post_1, [ MIN^0<=num^0 && 1+j_min^0<=pid^0 && conditional^post_7<=1 && conditional^post_5<=1 && conditional^post_3<=1 ], cost: 4 19: l1 -> l1 : INCREASE^0'=j_min^post_2-j_min^0, P^0'=1, conditional^0'=conditional^post_2, j_min^0'=j_min^post_2, [ MIN^0<=num^0 && 1+j_min^0<=pid^0 && conditional^post_7<=1 && conditional^post_5<=1 && 2<=conditional^post_3 && 1<=j_min^post_2-j_min^0 ], cost: 4 20: l1 -> l1 : INCREASE^0'=INCREASE^post_4, MAX^0'=MAX^post_6, MAX_MIN^0'=-MIN^0+MAX^post_6, MIN^0'=MIN^0+INCREASE^post_4, NUM_MIN^0'=-MIN^0+num^0, Q^0'=1, conditional^0'=conditional^post_4, j_min^0'=j_min^post_4, [ MIN^0<=num^0 && 1+j_min^0<=pid^0 && 2<=conditional^post_7 && 1<=-MAX^0+MAX^post_6 && 2<=conditional^post_6 && num^0<=INCREASE^post_4 && INCREASE^post_4<=-MIN^0+MAX^post_6 && INCREASE^post_4<=-MIN^0+num^0 && 1<=j_min^post_4 ], cost: 3 21: l1 -> l1 : INCREASE^0'=-MAX^0+MAX^post_6, MAX^0'=MAX^post_6, P^0'=1, conditional^0'=conditional^post_1, [ MIN^0<=num^0 && 1+j_min^0<=pid^0 && 2<=conditional^post_7 && 1<=-MAX^0+MAX^post_6 && conditional^post_6<=1 && conditional^post_3<=1 ], cost: 4 22: l1 -> l1 : INCREASE^0'=j_min^post_2-j_min^0, MAX^0'=MAX^post_6, P^0'=1, conditional^0'=conditional^post_2, j_min^0'=j_min^post_2, [ MIN^0<=num^0 && 1+j_min^0<=pid^0 && 2<=conditional^post_7 && 1<=-MAX^0+MAX^post_6 && conditional^post_6<=1 && 2<=conditional^post_3 && 1<=j_min^post_2-j_min^0 ], cost: 4 9: l4 -> l1 : CRITICAL^0'=0, MAX^0'=1+MAX^0, NONCRITICAL^0'=1, num^0'=1+MAX^0, [], cost: 1 12: l6 -> l4 : CRITICAL^0'=0, MAX^0'=MAX^post_11, MIN^0'=MIN^post_11, NONCRITICAL^0'=1, P^0'=0, Q^0'=0, j_min^0'=j_min^post_11, pid^0'=pid^post_11, [ 1<=pid^post_11 && 1<=j_min^post_11 && 1<=MIN^post_11 && MIN^post_11<=MAX^post_11 ], cost: 2 Accelerating simple loops of location 1. Simplified some of the simple loops (and removed duplicate rules). Accelerating the following rules: 17: l1 -> l1 : INCREASE^0'=INCREASE^post_4, MAX_MIN^0'=-MIN^0+MAX^0, MIN^0'=MIN^0+INCREASE^post_4, NUM_MIN^0'=-MIN^0+num^0, Q^0'=1, conditional^0'=conditional^post_4, j_min^0'=j_min^post_4, [ MIN^0<=num^0 && 1+j_min^0<=pid^0 && num^0<=INCREASE^post_4 && INCREASE^post_4<=-MIN^0+MAX^0 && INCREASE^post_4<=-MIN^0+num^0 && 1<=j_min^post_4 ], cost: 3 18: l1 -> l1 : P^0'=1, conditional^0'=conditional^post_1, [ MIN^0<=num^0 && 1+j_min^0<=pid^0 ], cost: 4 19: l1 -> l1 : INCREASE^0'=j_min^post_2-j_min^0, P^0'=1, conditional^0'=conditional^post_2, j_min^0'=j_min^post_2, [ MIN^0<=num^0 && 1+j_min^0<=pid^0 && 1<=j_min^post_2-j_min^0 ], cost: 4 20: l1 -> l1 : INCREASE^0'=INCREASE^post_4, MAX^0'=MAX^post_6, MAX_MIN^0'=-MIN^0+MAX^post_6, MIN^0'=MIN^0+INCREASE^post_4, NUM_MIN^0'=-MIN^0+num^0, Q^0'=1, conditional^0'=conditional^post_4, j_min^0'=j_min^post_4, [ MIN^0<=num^0 && 1+j_min^0<=pid^0 && 1<=-MAX^0+MAX^post_6 && num^0<=INCREASE^post_4 && INCREASE^post_4<=-MIN^0+MAX^post_6 && INCREASE^post_4<=-MIN^0+num^0 && 1<=j_min^post_4 ], cost: 3 21: l1 -> l1 : INCREASE^0'=-MAX^0+MAX^post_6, MAX^0'=MAX^post_6, P^0'=1, conditional^0'=conditional^post_1, [ MIN^0<=num^0 && 1+j_min^0<=pid^0 && 1<=-MAX^0+MAX^post_6 ], cost: 4 22: l1 -> l1 : INCREASE^0'=j_min^post_2-j_min^0, MAX^0'=MAX^post_6, P^0'=1, conditional^0'=conditional^post_2, j_min^0'=j_min^post_2, [ MIN^0<=num^0 && 1+j_min^0<=pid^0 && 1<=-MAX^0+MAX^post_6 && 1<=j_min^post_2-j_min^0 ], cost: 4 [test] deduced pseudo-invariant -MAX^0<=0, also trying MAX^0<=-1 [test] deduced pseudo-invariant -2*num^0+INCREASE^post_4<=0, also trying 2*num^0-INCREASE^post_4<=-1 [test] deduced pseudo-invariant -INCREASE^post_4<=0, also trying INCREASE^post_4<=-1 [test] deduced pseudo-invariant j_min^post_4-j_min^0<=0, also trying -j_min^post_4+j_min^0<=-1 [test] deduced pseudo-invariant -j_min^post_4+j_min^0<=0, also trying j_min^post_4-j_min^0<=-1 [test] deduced pseudo-invariant -j_min^post_4+j_min^0<=0, also trying j_min^post_4-j_min^0<=-1 Accelerated rule 17 with non-termination, yielding the new rule 23. Accelerated rule 17 with non-termination, yielding the new rule 24. Accelerated rule 17 with backward acceleration, yielding the new rule 25. Accelerated rule 17 with non-termination, yielding the new rule 26. Accelerated rule 17 with backward acceleration, yielding the new rule 27. Accelerated rule 18 with non-termination, yielding the new rule 28. Failed to prove monotonicity of the guard of rule 19. Failed to prove monotonicity of the guard of rule 20. Failed to prove monotonicity of the guard of rule 21. Failed to prove monotonicity of the guard of rule 22. [accelerate] Nesting with 5 inner and 5 outer candidates Removing the simple loops: 18. Also removing duplicate rules: 26. Accelerated all simple loops using metering functions (where possible): Start location: l6 7: l1 -> l4 : CRITICAL^0'=0, P^0'=0, Q^0'=0, [ pid^0<=j_min^0 ], cost: 1 8: l1 -> l4 : CRITICAL^0'=0, P^0'=0, Q^0'=0, [ 1+num^0<=MIN^0 ], cost: 1 17: l1 -> l1 : INCREASE^0'=INCREASE^post_4, MAX_MIN^0'=-MIN^0+MAX^0, MIN^0'=MIN^0+INCREASE^post_4, NUM_MIN^0'=-MIN^0+num^0, Q^0'=1, conditional^0'=conditional^post_4, j_min^0'=j_min^post_4, [ MIN^0<=num^0 && 1+j_min^0<=pid^0 && num^0<=INCREASE^post_4 && INCREASE^post_4<=-MIN^0+MAX^0 && INCREASE^post_4<=-MIN^0+num^0 && 1<=j_min^post_4 ], cost: 3 19: l1 -> l1 : INCREASE^0'=j_min^post_2-j_min^0, P^0'=1, conditional^0'=conditional^post_2, j_min^0'=j_min^post_2, [ MIN^0<=num^0 && 1+j_min^0<=pid^0 && 1<=j_min^post_2-j_min^0 ], cost: 4 20: l1 -> l1 : INCREASE^0'=INCREASE^post_4, MAX^0'=MAX^post_6, MAX_MIN^0'=-MIN^0+MAX^post_6, MIN^0'=MIN^0+INCREASE^post_4, NUM_MIN^0'=-MIN^0+num^0, Q^0'=1, conditional^0'=conditional^post_4, j_min^0'=j_min^post_4, [ MIN^0<=num^0 && 1+j_min^0<=pid^0 && 1<=-MAX^0+MAX^post_6 && num^0<=INCREASE^post_4 && INCREASE^post_4<=-MIN^0+MAX^post_6 && INCREASE^post_4<=-MIN^0+num^0 && 1<=j_min^post_4 ], cost: 3 21: l1 -> l1 : INCREASE^0'=-MAX^0+MAX^post_6, MAX^0'=MAX^post_6, P^0'=1, conditional^0'=conditional^post_1, [ MIN^0<=num^0 && 1+j_min^0<=pid^0 && 1<=-MAX^0+MAX^post_6 ], cost: 4 22: l1 -> l1 : INCREASE^0'=j_min^post_2-j_min^0, MAX^0'=MAX^post_6, P^0'=1, conditional^0'=conditional^post_2, j_min^0'=j_min^post_2, [ MIN^0<=num^0 && 1+j_min^0<=pid^0 && 1<=-MAX^0+MAX^post_6 && 1<=j_min^post_2-j_min^0 ], cost: 4 23: l1 -> [7] : [ MIN^0<=num^0 && 1+j_min^0<=pid^0 && num^0<=INCREASE^post_4 && INCREASE^post_4<=-MIN^0+MAX^0 && INCREASE^post_4<=-MIN^0+num^0 && MIN^0==0 && num^0==0 && INCREASE^post_4==0 && j_min^post_4==1 && MAX^0==0 && pid^0==2 && j_min^0==1 ], cost: NONTERM 24: l1 -> [7] : [ MIN^0<=num^0 && 1+j_min^0<=pid^0 && num^0<=INCREASE^post_4 && INCREASE^post_4<=-MIN^0+MAX^0 && INCREASE^post_4<=-MIN^0+num^0 && 2*num^0-INCREASE^post_4<=-1 && -j_min^post_4+j_min^0<=0 && MIN^0==-1 && num^0==-1 && INCREASE^post_4==0 && j_min^post_4==1 && MAX^0==-1 && pid^0==2 && j_min^0==1 ], cost: NONTERM 25: l1 -> l1 : INCREASE^0'=INCREASE^post_4, MAX_MIN^0'=-MIN^0+MAX^0-INCREASE^post_4*(-1+k), MIN^0'=MIN^0+INCREASE^post_4*k, NUM_MIN^0'=-MIN^0+num^0-INCREASE^post_4*(-1+k), Q^0'=1, conditional^0'=conditional^post_4, j_min^0'=j_min^post_4, [ MIN^0<=num^0 && num^0<=INCREASE^post_4 && 1<=j_min^post_4 && MAX^0<=-1 && 2*num^0-INCREASE^post_4<=-1 && -INCREASE^post_4<=0 && -j_min^post_4+j_min^0<=0 && k>=1 && 1+j_min^post_4<=pid^0 && INCREASE^post_4<=-MIN^0+MAX^0-INCREASE^post_4*(-1+k) && INCREASE^post_4<=-MIN^0+num^0-INCREASE^post_4*(-1+k) ], cost: 3*k 27: l1 -> [7] : [ MIN^0<=num^0 && 1+j_min^0<=pid^0 && num^0<=INCREASE^post_4 && INCREASE^post_4<=-MIN^0+MAX^0 && INCREASE^post_4<=-MIN^0+num^0 && 1<=j_min^post_4 && MAX^0<=-1 && 2*num^0-INCREASE^post_4<=-1 && INCREASE^post_4<=-1 && j_min^post_4-j_min^0<=0 ], cost: NONTERM 28: l1 -> [7] : [ MIN^0<=num^0 && 1+j_min^0<=pid^0 ], cost: NONTERM 9: l4 -> l1 : CRITICAL^0'=0, MAX^0'=1+MAX^0, NONCRITICAL^0'=1, num^0'=1+MAX^0, [], cost: 1 12: l6 -> l4 : CRITICAL^0'=0, MAX^0'=MAX^post_11, MIN^0'=MIN^post_11, NONCRITICAL^0'=1, P^0'=0, Q^0'=0, j_min^0'=j_min^post_11, pid^0'=pid^post_11, [ 1<=pid^post_11 && 1<=j_min^post_11 && 1<=MIN^post_11 && MIN^post_11<=MAX^post_11 ], cost: 2 Chained accelerated rules (with incoming rules): Start location: l6 7: l1 -> l4 : CRITICAL^0'=0, P^0'=0, Q^0'=0, [ pid^0<=j_min^0 ], cost: 1 8: l1 -> l4 : CRITICAL^0'=0, P^0'=0, Q^0'=0, [ 1+num^0<=MIN^0 ], cost: 1 9: l4 -> l1 : CRITICAL^0'=0, MAX^0'=1+MAX^0, NONCRITICAL^0'=1, num^0'=1+MAX^0, [], cost: 1 29: l4 -> l1 : CRITICAL^0'=0, INCREASE^0'=INCREASE^post_4, MAX^0'=1+MAX^0, MAX_MIN^0'=1-MIN^0+MAX^0, MIN^0'=MIN^0+INCREASE^post_4, NONCRITICAL^0'=1, NUM_MIN^0'=1-MIN^0+MAX^0, Q^0'=1, conditional^0'=conditional^post_4, j_min^0'=j_min^post_4, num^0'=1+MAX^0, [ MIN^0<=1+MAX^0 && 1+j_min^0<=pid^0 && 1+MAX^0<=INCREASE^post_4 && INCREASE^post_4<=1-MIN^0+MAX^0 && 1<=j_min^post_4 ], cost: 4 30: l4 -> l1 : CRITICAL^0'=0, INCREASE^0'=j_min^post_2-j_min^0, MAX^0'=1+MAX^0, NONCRITICAL^0'=1, P^0'=1, conditional^0'=conditional^post_2, j_min^0'=j_min^post_2, num^0'=1+MAX^0, [ MIN^0<=1+MAX^0 && 1+j_min^0<=pid^0 && 1<=j_min^post_2-j_min^0 ], cost: 5 31: l4 -> l1 : CRITICAL^0'=0, INCREASE^0'=INCREASE^post_4, MAX^0'=MAX^post_6, MAX_MIN^0'=-MIN^0+MAX^post_6, MIN^0'=MIN^0+INCREASE^post_4, NONCRITICAL^0'=1, NUM_MIN^0'=1-MIN^0+MAX^0, Q^0'=1, conditional^0'=conditional^post_4, j_min^0'=j_min^post_4, num^0'=1+MAX^0, [ MIN^0<=1+MAX^0 && 1+j_min^0<=pid^0 && 1<=-1-MAX^0+MAX^post_6 && 1+MAX^0<=INCREASE^post_4 && INCREASE^post_4<=-MIN^0+MAX^post_6 && INCREASE^post_4<=1-MIN^0+MAX^0 && 1<=j_min^post_4 ], cost: 4 32: l4 -> l1 : CRITICAL^0'=0, INCREASE^0'=-1-MAX^0+MAX^post_6, MAX^0'=MAX^post_6, NONCRITICAL^0'=1, P^0'=1, conditional^0'=conditional^post_1, num^0'=1+MAX^0, [ MIN^0<=1+MAX^0 && 1+j_min^0<=pid^0 && 1<=-1-MAX^0+MAX^post_6 ], cost: 5 33: l4 -> l1 : CRITICAL^0'=0, INCREASE^0'=j_min^post_2-j_min^0, MAX^0'=MAX^post_6, NONCRITICAL^0'=1, P^0'=1, conditional^0'=conditional^post_2, j_min^0'=j_min^post_2, num^0'=1+MAX^0, [ MIN^0<=1+MAX^0 && 1+j_min^0<=pid^0 && 1<=-1-MAX^0+MAX^post_6 && 1<=j_min^post_2-j_min^0 ], cost: 5 34: l4 -> [7] : [ MIN^0<=1+MAX^0 && 1+j_min^0<=pid^0 && MIN^0==0 && 1+MAX^0==0 && pid^0==2 && j_min^0==1 ], cost: NONTERM 35: l4 -> [7] : [ MIN^0<=1+MAX^0 && 1+j_min^0<=pid^0 && 2+2*MAX^0<=-1 && MIN^0==-1 && 1+MAX^0==-1 && pid^0==2 && j_min^0==1 ], cost: NONTERM 36: l4 -> l1 : CRITICAL^0'=0, INCREASE^0'=INCREASE^post_4, MAX^0'=1+MAX^0, MAX_MIN^0'=1-MIN^0+MAX^0-INCREASE^post_4*(-1+k), MIN^0'=MIN^0+INCREASE^post_4*k, NONCRITICAL^0'=1, NUM_MIN^0'=1-MIN^0+MAX^0-INCREASE^post_4*(-1+k), Q^0'=1, conditional^0'=conditional^post_4, j_min^0'=j_min^post_4, num^0'=1+MAX^0, [ MIN^0<=1+MAX^0 && 1+MAX^0<=INCREASE^post_4 && 1<=j_min^post_4 && 1+MAX^0<=-1 && 2-INCREASE^post_4+2*MAX^0<=-1 && -INCREASE^post_4<=0 && -j_min^post_4+j_min^0<=0 && k>=1 && 1+j_min^post_4<=pid^0 && INCREASE^post_4<=1-MIN^0+MAX^0-INCREASE^post_4*(-1+k) ], cost: 1+3*k 37: l4 -> [7] : [ MIN^0<=1+MAX^0 && 1+j_min^0<=pid^0 && 1+MAX^0<=-1 && 1+MAX^0<=1-MIN^0+MAX^0 && 3+2*MAX^0<=1-MIN^0+MAX^0 && 3+2*MAX^0<=-1 && 1<=j_min^0 ], cost: NONTERM 38: l4 -> [7] : [ MIN^0<=1+MAX^0 && 1+j_min^0<=pid^0 ], cost: NONTERM 12: l6 -> l4 : CRITICAL^0'=0, MAX^0'=MAX^post_11, MIN^0'=MIN^post_11, NONCRITICAL^0'=1, P^0'=0, Q^0'=0, j_min^0'=j_min^post_11, pid^0'=pid^post_11, [ 1<=pid^post_11 && 1<=j_min^post_11 && 1<=MIN^post_11 && MIN^post_11<=MAX^post_11 ], cost: 2 Eliminated locations (on tree-shaped paths): Start location: l6 34: l4 -> [7] : [ MIN^0<=1+MAX^0 && 1+j_min^0<=pid^0 && MIN^0==0 && 1+MAX^0==0 && pid^0==2 && j_min^0==1 ], cost: NONTERM 35: l4 -> [7] : [ MIN^0<=1+MAX^0 && 1+j_min^0<=pid^0 && 2+2*MAX^0<=-1 && MIN^0==-1 && 1+MAX^0==-1 && pid^0==2 && j_min^0==1 ], cost: NONTERM 37: l4 -> [7] : [ MIN^0<=1+MAX^0 && 1+j_min^0<=pid^0 && 1+MAX^0<=-1 && 1+MAX^0<=1-MIN^0+MAX^0 && 3+2*MAX^0<=1-MIN^0+MAX^0 && 3+2*MAX^0<=-1 && 1<=j_min^0 ], cost: NONTERM 38: l4 -> [7] : [ MIN^0<=1+MAX^0 && 1+j_min^0<=pid^0 ], cost: NONTERM 39: l4 -> l4 : CRITICAL^0'=0, MAX^0'=1+MAX^0, NONCRITICAL^0'=1, P^0'=0, Q^0'=0, num^0'=1+MAX^0, [ pid^0<=j_min^0 ], cost: 2 40: l4 -> l4 : CRITICAL^0'=0, MAX^0'=1+MAX^0, NONCRITICAL^0'=1, P^0'=0, Q^0'=0, num^0'=1+MAX^0, [ 2+MAX^0<=MIN^0 ], cost: 2 41: l4 -> l4 : CRITICAL^0'=0, INCREASE^0'=INCREASE^post_4, MAX^0'=1+MAX^0, MAX_MIN^0'=1-MIN^0+MAX^0, MIN^0'=MIN^0+INCREASE^post_4, NONCRITICAL^0'=1, NUM_MIN^0'=1-MIN^0+MAX^0, P^0'=0, Q^0'=0, conditional^0'=conditional^post_4, j_min^0'=j_min^post_4, num^0'=1+MAX^0, [ MIN^0<=1+MAX^0 && 1+j_min^0<=pid^0 && 1+MAX^0<=INCREASE^post_4 && INCREASE^post_4<=1-MIN^0+MAX^0 && 1<=j_min^post_4 && pid^0<=j_min^post_4 ], cost: 5 42: l4 -> l4 : CRITICAL^0'=0, INCREASE^0'=j_min^post_2-j_min^0, MAX^0'=1+MAX^0, NONCRITICAL^0'=1, P^0'=0, Q^0'=0, conditional^0'=conditional^post_2, j_min^0'=j_min^post_2, num^0'=1+MAX^0, [ MIN^0<=1+MAX^0 && 1+j_min^0<=pid^0 && 1<=j_min^post_2-j_min^0 && pid^0<=j_min^post_2 ], cost: 6 43: l4 -> l4 : CRITICAL^0'=0, INCREASE^0'=INCREASE^post_4, MAX^0'=MAX^post_6, MAX_MIN^0'=-MIN^0+MAX^post_6, MIN^0'=MIN^0+INCREASE^post_4, NONCRITICAL^0'=1, NUM_MIN^0'=1-MIN^0+MAX^0, P^0'=0, Q^0'=0, conditional^0'=conditional^post_4, j_min^0'=j_min^post_4, num^0'=1+MAX^0, [ MIN^0<=1+MAX^0 && 1+j_min^0<=pid^0 && 1<=-1-MAX^0+MAX^post_6 && 1+MAX^0<=INCREASE^post_4 && INCREASE^post_4<=-MIN^0+MAX^post_6 && INCREASE^post_4<=1-MIN^0+MAX^0 && 1<=j_min^post_4 && pid^0<=j_min^post_4 ], cost: 5 44: l4 -> l4 : CRITICAL^0'=0, INCREASE^0'=j_min^post_2-j_min^0, MAX^0'=MAX^post_6, NONCRITICAL^0'=1, P^0'=0, Q^0'=0, conditional^0'=conditional^post_2, j_min^0'=j_min^post_2, num^0'=1+MAX^0, [ MIN^0<=1+MAX^0 && 1+j_min^0<=pid^0 && 1<=-1-MAX^0+MAX^post_6 && 1<=j_min^post_2-j_min^0 && pid^0<=j_min^post_2 ], cost: 6 45: l4 -> [8] : [ MIN^0<=1+MAX^0 && 1+MAX^0<=INCREASE^post_4 && 1<=j_min^post_4 && 1+MAX^0<=-1 && 2-INCREASE^post_4+2*MAX^0<=-1 && -INCREASE^post_4<=0 && -j_min^post_4+j_min^0<=0 && k>=1 && 1+j_min^post_4<=pid^0 && INCREASE^post_4<=1-MIN^0+MAX^0-INCREASE^post_4*(-1+k) ], cost: 1+3*k 12: l6 -> l4 : CRITICAL^0'=0, MAX^0'=MAX^post_11, MIN^0'=MIN^post_11, NONCRITICAL^0'=1, P^0'=0, Q^0'=0, j_min^0'=j_min^post_11, pid^0'=pid^post_11, [ 1<=pid^post_11 && 1<=j_min^post_11 && 1<=MIN^post_11 && MIN^post_11<=MAX^post_11 ], cost: 2 Merged rules: Start location: l6 39: l4 -> l4 : CRITICAL^0'=0, MAX^0'=1+MAX^0, NONCRITICAL^0'=1, P^0'=0, Q^0'=0, num^0'=1+MAX^0, [ pid^0<=j_min^0 ], cost: 2 40: l4 -> l4 : CRITICAL^0'=0, MAX^0'=1+MAX^0, NONCRITICAL^0'=1, P^0'=0, Q^0'=0, num^0'=1+MAX^0, [ 2+MAX^0<=MIN^0 ], cost: 2 41: l4 -> l4 : CRITICAL^0'=0, INCREASE^0'=INCREASE^post_4, MAX^0'=1+MAX^0, MAX_MIN^0'=1-MIN^0+MAX^0, MIN^0'=MIN^0+INCREASE^post_4, NONCRITICAL^0'=1, NUM_MIN^0'=1-MIN^0+MAX^0, P^0'=0, Q^0'=0, conditional^0'=conditional^post_4, j_min^0'=j_min^post_4, num^0'=1+MAX^0, [ MIN^0<=1+MAX^0 && 1+j_min^0<=pid^0 && 1+MAX^0<=INCREASE^post_4 && INCREASE^post_4<=1-MIN^0+MAX^0 && 1<=j_min^post_4 && pid^0<=j_min^post_4 ], cost: 5 42: l4 -> l4 : CRITICAL^0'=0, INCREASE^0'=j_min^post_2-j_min^0, MAX^0'=1+MAX^0, NONCRITICAL^0'=1, P^0'=0, Q^0'=0, conditional^0'=conditional^post_2, j_min^0'=j_min^post_2, num^0'=1+MAX^0, [ MIN^0<=1+MAX^0 && 1+j_min^0<=pid^0 && 1<=j_min^post_2-j_min^0 && pid^0<=j_min^post_2 ], cost: 6 43: l4 -> l4 : CRITICAL^0'=0, INCREASE^0'=INCREASE^post_4, MAX^0'=MAX^post_6, MAX_MIN^0'=-MIN^0+MAX^post_6, MIN^0'=MIN^0+INCREASE^post_4, NONCRITICAL^0'=1, NUM_MIN^0'=1-MIN^0+MAX^0, P^0'=0, Q^0'=0, conditional^0'=conditional^post_4, j_min^0'=j_min^post_4, num^0'=1+MAX^0, [ MIN^0<=1+MAX^0 && 1+j_min^0<=pid^0 && 1<=-1-MAX^0+MAX^post_6 && 1+MAX^0<=INCREASE^post_4 && INCREASE^post_4<=-MIN^0+MAX^post_6 && INCREASE^post_4<=1-MIN^0+MAX^0 && 1<=j_min^post_4 && pid^0<=j_min^post_4 ], cost: 5 44: l4 -> l4 : CRITICAL^0'=0, INCREASE^0'=j_min^post_2-j_min^0, MAX^0'=MAX^post_6, NONCRITICAL^0'=1, P^0'=0, Q^0'=0, conditional^0'=conditional^post_2, j_min^0'=j_min^post_2, num^0'=1+MAX^0, [ MIN^0<=1+MAX^0 && 1+j_min^0<=pid^0 && 1<=-1-MAX^0+MAX^post_6 && 1<=j_min^post_2-j_min^0 && pid^0<=j_min^post_2 ], cost: 6 45: l4 -> [8] : [ MIN^0<=1+MAX^0 && 1+MAX^0<=INCREASE^post_4 && 1<=j_min^post_4 && 1+MAX^0<=-1 && 2-INCREASE^post_4+2*MAX^0<=-1 && -INCREASE^post_4<=0 && -j_min^post_4+j_min^0<=0 && k>=1 && 1+j_min^post_4<=pid^0 && INCREASE^post_4<=1-MIN^0+MAX^0-INCREASE^post_4*(-1+k) ], cost: 1+3*k 48: l4 -> [7] : [ MIN^0<=1+MAX^0 && 1+j_min^0<=pid^0 ], cost: NONTERM 12: l6 -> l4 : CRITICAL^0'=0, MAX^0'=MAX^post_11, MIN^0'=MIN^post_11, NONCRITICAL^0'=1, P^0'=0, Q^0'=0, j_min^0'=j_min^post_11, pid^0'=pid^post_11, [ 1<=pid^post_11 && 1<=j_min^post_11 && 1<=MIN^post_11 && MIN^post_11<=MAX^post_11 ], cost: 2 Applied pruning (of leafs and parallel rules): Start location: l6 39: l4 -> l4 : CRITICAL^0'=0, MAX^0'=1+MAX^0, NONCRITICAL^0'=1, P^0'=0, Q^0'=0, num^0'=1+MAX^0, [ pid^0<=j_min^0 ], cost: 2 40: l4 -> l4 : CRITICAL^0'=0, MAX^0'=1+MAX^0, NONCRITICAL^0'=1, P^0'=0, Q^0'=0, num^0'=1+MAX^0, [ 2+MAX^0<=MIN^0 ], cost: 2 41: l4 -> l4 : CRITICAL^0'=0, INCREASE^0'=INCREASE^post_4, MAX^0'=1+MAX^0, MAX_MIN^0'=1-MIN^0+MAX^0, MIN^0'=MIN^0+INCREASE^post_4, NONCRITICAL^0'=1, NUM_MIN^0'=1-MIN^0+MAX^0, P^0'=0, Q^0'=0, conditional^0'=conditional^post_4, j_min^0'=j_min^post_4, num^0'=1+MAX^0, [ MIN^0<=1+MAX^0 && 1+j_min^0<=pid^0 && 1+MAX^0<=INCREASE^post_4 && INCREASE^post_4<=1-MIN^0+MAX^0 && 1<=j_min^post_4 && pid^0<=j_min^post_4 ], cost: 5 42: l4 -> l4 : CRITICAL^0'=0, INCREASE^0'=j_min^post_2-j_min^0, MAX^0'=1+MAX^0, NONCRITICAL^0'=1, P^0'=0, Q^0'=0, conditional^0'=conditional^post_2, j_min^0'=j_min^post_2, num^0'=1+MAX^0, [ MIN^0<=1+MAX^0 && 1+j_min^0<=pid^0 && 1<=j_min^post_2-j_min^0 && pid^0<=j_min^post_2 ], cost: 6 44: l4 -> l4 : CRITICAL^0'=0, INCREASE^0'=j_min^post_2-j_min^0, MAX^0'=MAX^post_6, NONCRITICAL^0'=1, P^0'=0, Q^0'=0, conditional^0'=conditional^post_2, j_min^0'=j_min^post_2, num^0'=1+MAX^0, [ MIN^0<=1+MAX^0 && 1+j_min^0<=pid^0 && 1<=-1-MAX^0+MAX^post_6 && 1<=j_min^post_2-j_min^0 && pid^0<=j_min^post_2 ], cost: 6 45: l4 -> [8] : [ MIN^0<=1+MAX^0 && 1+MAX^0<=INCREASE^post_4 && 1<=j_min^post_4 && 1+MAX^0<=-1 && 2-INCREASE^post_4+2*MAX^0<=-1 && -INCREASE^post_4<=0 && -j_min^post_4+j_min^0<=0 && k>=1 && 1+j_min^post_4<=pid^0 && INCREASE^post_4<=1-MIN^0+MAX^0-INCREASE^post_4*(-1+k) ], cost: 1+3*k 48: l4 -> [7] : [ MIN^0<=1+MAX^0 && 1+j_min^0<=pid^0 ], cost: NONTERM 12: l6 -> l4 : CRITICAL^0'=0, MAX^0'=MAX^post_11, MIN^0'=MIN^post_11, NONCRITICAL^0'=1, P^0'=0, Q^0'=0, j_min^0'=j_min^post_11, pid^0'=pid^post_11, [ 1<=pid^post_11 && 1<=j_min^post_11 && 1<=MIN^post_11 && MIN^post_11<=MAX^post_11 ], cost: 2 Accelerating simple loops of location 4. Accelerating the following rules: 39: l4 -> l4 : CRITICAL^0'=0, MAX^0'=1+MAX^0, NONCRITICAL^0'=1, P^0'=0, Q^0'=0, num^0'=1+MAX^0, [ pid^0<=j_min^0 ], cost: 2 40: l4 -> l4 : CRITICAL^0'=0, MAX^0'=1+MAX^0, NONCRITICAL^0'=1, P^0'=0, Q^0'=0, num^0'=1+MAX^0, [ 2+MAX^0<=MIN^0 ], cost: 2 41: l4 -> l4 : CRITICAL^0'=0, INCREASE^0'=INCREASE^post_4, MAX^0'=1+MAX^0, MAX_MIN^0'=1-MIN^0+MAX^0, MIN^0'=MIN^0+INCREASE^post_4, NONCRITICAL^0'=1, NUM_MIN^0'=1-MIN^0+MAX^0, P^0'=0, Q^0'=0, conditional^0'=conditional^post_4, j_min^0'=j_min^post_4, num^0'=1+MAX^0, [ MIN^0<=1+MAX^0 && 1+j_min^0<=pid^0 && 1+MAX^0<=INCREASE^post_4 && INCREASE^post_4<=1-MIN^0+MAX^0 && 1<=j_min^post_4 && pid^0<=j_min^post_4 ], cost: 5 42: l4 -> l4 : CRITICAL^0'=0, INCREASE^0'=j_min^post_2-j_min^0, MAX^0'=1+MAX^0, NONCRITICAL^0'=1, P^0'=0, Q^0'=0, conditional^0'=conditional^post_2, j_min^0'=j_min^post_2, num^0'=1+MAX^0, [ MIN^0<=1+MAX^0 && 1+j_min^0<=pid^0 && 1<=j_min^post_2-j_min^0 && pid^0<=j_min^post_2 ], cost: 6 44: l4 -> l4 : CRITICAL^0'=0, INCREASE^0'=j_min^post_2-j_min^0, MAX^0'=MAX^post_6, NONCRITICAL^0'=1, P^0'=0, Q^0'=0, conditional^0'=conditional^post_2, j_min^0'=j_min^post_2, num^0'=1+MAX^0, [ MIN^0<=1+MAX^0 && 1+j_min^0<=pid^0 && 1<=-1-MAX^0+MAX^post_6 && 1<=j_min^post_2-j_min^0 && pid^0<=j_min^post_2 ], cost: 6 Accelerated rule 39 with non-termination, yielding the new rule 49. Accelerated rule 40 with backward acceleration, yielding the new rule 50. Failed to prove monotonicity of the guard of rule 41. Failed to prove monotonicity of the guard of rule 42. Failed to prove monotonicity of the guard of rule 44. [accelerate] Nesting with 4 inner and 4 outer candidates Removing the simple loops: 39 40. Accelerated all simple loops using metering functions (where possible): Start location: l6 41: l4 -> l4 : CRITICAL^0'=0, INCREASE^0'=INCREASE^post_4, MAX^0'=1+MAX^0, MAX_MIN^0'=1-MIN^0+MAX^0, MIN^0'=MIN^0+INCREASE^post_4, NONCRITICAL^0'=1, NUM_MIN^0'=1-MIN^0+MAX^0, P^0'=0, Q^0'=0, conditional^0'=conditional^post_4, j_min^0'=j_min^post_4, num^0'=1+MAX^0, [ MIN^0<=1+MAX^0 && 1+j_min^0<=pid^0 && 1+MAX^0<=INCREASE^post_4 && INCREASE^post_4<=1-MIN^0+MAX^0 && 1<=j_min^post_4 && pid^0<=j_min^post_4 ], cost: 5 42: l4 -> l4 : CRITICAL^0'=0, INCREASE^0'=j_min^post_2-j_min^0, MAX^0'=1+MAX^0, NONCRITICAL^0'=1, P^0'=0, Q^0'=0, conditional^0'=conditional^post_2, j_min^0'=j_min^post_2, num^0'=1+MAX^0, [ MIN^0<=1+MAX^0 && 1+j_min^0<=pid^0 && 1<=j_min^post_2-j_min^0 && pid^0<=j_min^post_2 ], cost: 6 44: l4 -> l4 : CRITICAL^0'=0, INCREASE^0'=j_min^post_2-j_min^0, MAX^0'=MAX^post_6, NONCRITICAL^0'=1, P^0'=0, Q^0'=0, conditional^0'=conditional^post_2, j_min^0'=j_min^post_2, num^0'=1+MAX^0, [ MIN^0<=1+MAX^0 && 1+j_min^0<=pid^0 && 1<=-1-MAX^0+MAX^post_6 && 1<=j_min^post_2-j_min^0 && pid^0<=j_min^post_2 ], cost: 6 45: l4 -> [8] : [ MIN^0<=1+MAX^0 && 1+MAX^0<=INCREASE^post_4 && 1<=j_min^post_4 && 1+MAX^0<=-1 && 2-INCREASE^post_4+2*MAX^0<=-1 && -INCREASE^post_4<=0 && -j_min^post_4+j_min^0<=0 && k>=1 && 1+j_min^post_4<=pid^0 && INCREASE^post_4<=1-MIN^0+MAX^0-INCREASE^post_4*(-1+k) ], cost: 1+3*k 48: l4 -> [7] : [ MIN^0<=1+MAX^0 && 1+j_min^0<=pid^0 ], cost: NONTERM 49: l4 -> [9] : [ pid^0<=j_min^0 ], cost: NONTERM 50: l4 -> l4 : CRITICAL^0'=0, MAX^0'=-1+MIN^0, NONCRITICAL^0'=1, P^0'=0, Q^0'=0, num^0'=-1+MIN^0, [ -1+MIN^0-MAX^0>=1 ], cost: -2+2*MIN^0-2*MAX^0 12: l6 -> l4 : CRITICAL^0'=0, MAX^0'=MAX^post_11, MIN^0'=MIN^post_11, NONCRITICAL^0'=1, P^0'=0, Q^0'=0, j_min^0'=j_min^post_11, pid^0'=pid^post_11, [ 1<=pid^post_11 && 1<=j_min^post_11 && 1<=MIN^post_11 && MIN^post_11<=MAX^post_11 ], cost: 2 Chained accelerated rules (with incoming rules): Start location: l6 45: l4 -> [8] : [ MIN^0<=1+MAX^0 && 1+MAX^0<=INCREASE^post_4 && 1<=j_min^post_4 && 1+MAX^0<=-1 && 2-INCREASE^post_4+2*MAX^0<=-1 && -INCREASE^post_4<=0 && -j_min^post_4+j_min^0<=0 && k>=1 && 1+j_min^post_4<=pid^0 && INCREASE^post_4<=1-MIN^0+MAX^0-INCREASE^post_4*(-1+k) ], cost: 1+3*k 48: l4 -> [7] : [ MIN^0<=1+MAX^0 && 1+j_min^0<=pid^0 ], cost: NONTERM 12: l6 -> l4 : CRITICAL^0'=0, MAX^0'=MAX^post_11, MIN^0'=MIN^post_11, NONCRITICAL^0'=1, P^0'=0, Q^0'=0, j_min^0'=j_min^post_11, pid^0'=pid^post_11, [ 1<=pid^post_11 && 1<=j_min^post_11 && 1<=MIN^post_11 && MIN^post_11<=MAX^post_11 ], cost: 2 51: l6 -> l4 : CRITICAL^0'=0, INCREASE^0'=-j_min^post_11+j_min^post_2, MAX^0'=1+MAX^post_11, MIN^0'=MIN^post_11, NONCRITICAL^0'=1, P^0'=0, Q^0'=0, conditional^0'=conditional^post_2, j_min^0'=j_min^post_2, num^0'=1+MAX^post_11, pid^0'=pid^post_11, [ 1<=pid^post_11 && 1<=j_min^post_11 && 1<=MIN^post_11 && MIN^post_11<=MAX^post_11 && 1+j_min^post_11<=pid^post_11 && 1<=-j_min^post_11+j_min^post_2 && pid^post_11<=j_min^post_2 ], cost: 8 52: l6 -> l4 : CRITICAL^0'=0, INCREASE^0'=-j_min^post_11+j_min^post_2, MAX^0'=MAX^post_6, MIN^0'=MIN^post_11, NONCRITICAL^0'=1, P^0'=0, Q^0'=0, conditional^0'=conditional^post_2, j_min^0'=j_min^post_2, num^0'=1+MAX^post_11, pid^0'=pid^post_11, [ 1<=pid^post_11 && 1<=j_min^post_11 && 1<=MIN^post_11 && MIN^post_11<=MAX^post_11 && 1+j_min^post_11<=pid^post_11 && 1<=-1-MAX^post_11+MAX^post_6 && 1<=-j_min^post_11+j_min^post_2 && pid^post_11<=j_min^post_2 ], cost: 8 53: l6 -> [9] : [], cost: NONTERM Eliminated locations (on tree-shaped paths): Start location: l6 53: l6 -> [9] : [], cost: NONTERM 54: l6 -> [7] : [ 1<=pid^post_11 && 1<=j_min^post_11 && 1<=MIN^post_11 && MIN^post_11<=MAX^post_11 && 1+j_min^post_11<=pid^post_11 ], cost: NONTERM ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: l6 53: l6 -> [9] : [], cost: NONTERM 54: l6 -> [7] : [ 1<=pid^post_11 && 1<=j_min^post_11 && 1<=MIN^post_11 && MIN^post_11<=MAX^post_11 && 1+j_min^post_11<=pid^post_11 ], cost: NONTERM Computing asymptotic complexity for rule 53 Guard is satisfiable, yielding nontermination Resulting cost NONTERM has complexity: Nonterm Found new complexity Nonterm. Obtained the following overall complexity (w.r.t. the length of the input n): Complexity: Nonterm Cpx degree: Nonterm Solved cost: NONTERM Rule cost: NONTERM Rule guard: [] NO