NO ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: l7 0: l0 -> l1 : DName^0'=DName^post_1, IoCreateDevice^0'=IoCreateDevice^post_1, PPBlockInits^0'=PPBlockInits^post_1, PPBunlockInits^0'=PPBunlockInits^post_1, Pdo^0'=Pdo^post_1, Pdolen^0'=Pdolen^post_1, conditional^0'=conditional^post_1, i^0'=i^post_1, num^0'=num^post_1, status^0'=status^post_1, [ conditional^0<=1 && DName^0==DName^post_1 && IoCreateDevice^0==IoCreateDevice^post_1 && PPBlockInits^0==PPBlockInits^post_1 && PPBunlockInits^0==PPBunlockInits^post_1 && Pdo^0==Pdo^post_1 && Pdolen^0==Pdolen^post_1 && conditional^0==conditional^post_1 && i^0==i^post_1 && num^0==num^post_1 && status^0==status^post_1 ], cost: 1 1: l0 -> l2 : DName^0'=DName^post_2, IoCreateDevice^0'=IoCreateDevice^post_2, PPBlockInits^0'=PPBlockInits^post_2, PPBunlockInits^0'=PPBunlockInits^post_2, Pdo^0'=Pdo^post_2, Pdolen^0'=Pdolen^post_2, conditional^0'=conditional^post_2, i^0'=i^post_2, num^0'=num^post_2, status^0'=status^post_2, [ 2<=conditional^0 && num^post_2==1+num^0 && DName^0==DName^post_2 && IoCreateDevice^0==IoCreateDevice^post_2 && PPBlockInits^0==PPBlockInits^post_2 && PPBunlockInits^0==PPBunlockInits^post_2 && Pdo^0==Pdo^post_2 && Pdolen^0==Pdolen^post_2 && conditional^0==conditional^post_2 && i^0==i^post_2 && status^0==status^post_2 ], cost: 1 4: l1 -> l4 : DName^0'=DName^post_5, IoCreateDevice^0'=IoCreateDevice^post_5, PPBlockInits^0'=PPBlockInits^post_5, PPBunlockInits^0'=PPBunlockInits^post_5, Pdo^0'=Pdo^post_5, Pdolen^0'=Pdolen^post_5, conditional^0'=conditional^post_5, i^0'=i^post_5, num^0'=num^post_5, status^0'=status^post_5, [ num^post_5==0 && PPBunlockInits^post_5==1 && DName^0==DName^post_5 && IoCreateDevice^0==IoCreateDevice^post_5 && PPBlockInits^0==PPBlockInits^post_5 && Pdo^0==Pdo^post_5 && Pdolen^0==Pdolen^post_5 && conditional^0==conditional^post_5 && i^0==i^post_5 && status^0==status^post_5 ], cost: 1 8: l2 -> l1 : DName^0'=DName^post_9, IoCreateDevice^0'=IoCreateDevice^post_9, PPBlockInits^0'=PPBlockInits^post_9, PPBunlockInits^0'=PPBunlockInits^post_9, Pdo^0'=Pdo^post_9, Pdolen^0'=Pdolen^post_9, conditional^0'=conditional^post_9, i^0'=i^post_9, num^0'=num^post_9, status^0'=status^post_9, [ Pdolen^0<=i^0 && status^post_9==0 && DName^0==DName^post_9 && IoCreateDevice^0==IoCreateDevice^post_9 && PPBlockInits^0==PPBlockInits^post_9 && PPBunlockInits^0==PPBunlockInits^post_9 && Pdo^0==Pdo^post_9 && Pdolen^0==Pdolen^post_9 && conditional^0==conditional^post_9 && i^0==i^post_9 && num^0==num^post_9 ], cost: 1 9: l2 -> l5 : DName^0'=DName^post_10, IoCreateDevice^0'=IoCreateDevice^post_10, PPBlockInits^0'=PPBlockInits^post_10, PPBunlockInits^0'=PPBunlockInits^post_10, Pdo^0'=Pdo^post_10, Pdolen^0'=Pdolen^post_10, conditional^0'=conditional^post_10, i^0'=i^post_10, num^0'=num^post_10, status^0'=status^post_10, [ PPBlockInits^post_10==1 && 1+i^0<=Pdolen^0 && DName^post_10==DName^post_10 && status^post_10==0 && IoCreateDevice^0==IoCreateDevice^post_10 && PPBunlockInits^0==PPBunlockInits^post_10 && Pdo^0==Pdo^post_10 && Pdolen^0==Pdolen^post_10 && conditional^0==conditional^post_10 && i^0==i^post_10 && num^0==num^post_10 ], cost: 1 2: l3 -> l2 : DName^0'=DName^post_3, IoCreateDevice^0'=IoCreateDevice^post_3, PPBlockInits^0'=PPBlockInits^post_3, PPBunlockInits^0'=PPBunlockInits^post_3, Pdo^0'=Pdo^post_3, Pdolen^0'=Pdolen^post_3, conditional^0'=conditional^post_3, i^0'=i^post_3, num^0'=num^post_3, status^0'=status^post_3, [ conditional^0<=1 && IoCreateDevice^post_3==0 && status^post_3==1 && i^post_3==1+i^0 && DName^0==DName^post_3 && PPBlockInits^0==PPBlockInits^post_3 && PPBunlockInits^0==PPBunlockInits^post_3 && Pdo^0==Pdo^post_3 && Pdolen^0==Pdolen^post_3 && conditional^0==conditional^post_3 && num^0==num^post_3 ], cost: 1 3: l3 -> l0 : DName^0'=DName^post_4, IoCreateDevice^0'=IoCreateDevice^post_4, PPBlockInits^0'=PPBlockInits^post_4, PPBunlockInits^0'=PPBunlockInits^post_4, Pdo^0'=Pdo^post_4, Pdolen^0'=Pdolen^post_4, conditional^0'=conditional^post_4, i^0'=i^post_4, num^0'=num^post_4, status^0'=status^post_4, [ 2<=conditional^0 && IoCreateDevice^post_4==0 && Pdo^post_4==0 && conditional^post_4==conditional^post_4 && DName^0==DName^post_4 && PPBlockInits^0==PPBlockInits^post_4 && PPBunlockInits^0==PPBunlockInits^post_4 && Pdolen^0==Pdolen^post_4 && i^0==i^post_4 && num^0==num^post_4 && status^0==status^post_4 ], cost: 1 5: l4 -> l1 : DName^0'=DName^post_6, IoCreateDevice^0'=IoCreateDevice^post_6, PPBlockInits^0'=PPBlockInits^post_6, PPBunlockInits^0'=PPBunlockInits^post_6, Pdo^0'=Pdo^post_6, Pdolen^0'=Pdolen^post_6, conditional^0'=conditional^post_6, i^0'=i^post_6, num^0'=num^post_6, status^0'=status^post_6, [ DName^0==DName^post_6 && IoCreateDevice^0==IoCreateDevice^post_6 && PPBlockInits^0==PPBlockInits^post_6 && PPBunlockInits^0==PPBunlockInits^post_6 && Pdo^0==Pdo^post_6 && Pdolen^0==Pdolen^post_6 && conditional^0==conditional^post_6 && i^0==i^post_6 && num^0==num^post_6 && status^0==status^post_6 ], cost: 1 6: l5 -> l1 : DName^0'=DName^post_7, IoCreateDevice^0'=IoCreateDevice^post_7, PPBlockInits^0'=PPBlockInits^post_7, PPBunlockInits^0'=PPBunlockInits^post_7, Pdo^0'=Pdo^post_7, Pdolen^0'=Pdolen^post_7, conditional^0'=conditional^post_7, i^0'=i^post_7, num^0'=num^post_7, status^0'=status^post_7, [ DName^0<=0 && DName^0==DName^post_7 && IoCreateDevice^0==IoCreateDevice^post_7 && PPBlockInits^0==PPBlockInits^post_7 && PPBunlockInits^0==PPBunlockInits^post_7 && Pdo^0==Pdo^post_7 && Pdolen^0==Pdolen^post_7 && conditional^0==conditional^post_7 && i^0==i^post_7 && num^0==num^post_7 && status^0==status^post_7 ], cost: 1 7: l5 -> l3 : DName^0'=DName^post_8, IoCreateDevice^0'=IoCreateDevice^post_8, PPBlockInits^0'=PPBlockInits^post_8, PPBunlockInits^0'=PPBunlockInits^post_8, Pdo^0'=Pdo^post_8, Pdolen^0'=Pdolen^post_8, conditional^0'=conditional^post_8, i^0'=i^post_8, num^0'=num^post_8, status^0'=status^post_8, [ 1<=DName^0 && IoCreateDevice^post_8==1 && conditional^post_8==conditional^post_8 && DName^0==DName^post_8 && PPBlockInits^0==PPBlockInits^post_8 && PPBunlockInits^0==PPBunlockInits^post_8 && Pdo^0==Pdo^post_8 && Pdolen^0==Pdolen^post_8 && i^0==i^post_8 && num^0==num^post_8 && status^0==status^post_8 ], cost: 1 10: l6 -> l2 : DName^0'=DName^post_11, IoCreateDevice^0'=IoCreateDevice^post_11, PPBlockInits^0'=PPBlockInits^post_11, PPBunlockInits^0'=PPBunlockInits^post_11, Pdo^0'=Pdo^post_11, Pdolen^0'=Pdolen^post_11, conditional^0'=conditional^post_11, i^0'=i^post_11, num^0'=num^post_11, status^0'=status^post_11, [ i^post_11==i^post_11 && Pdolen^post_11==Pdolen^post_11 && PPBunlockInits^post_11==0 && PPBlockInits^post_11==1 && status^post_11==0 && IoCreateDevice^post_11==0 && DName^0==DName^post_11 && Pdo^0==Pdo^post_11 && conditional^0==conditional^post_11 && num^0==num^post_11 ], cost: 1 11: l7 -> l6 : DName^0'=DName^post_12, IoCreateDevice^0'=IoCreateDevice^post_12, PPBlockInits^0'=PPBlockInits^post_12, PPBunlockInits^0'=PPBunlockInits^post_12, Pdo^0'=Pdo^post_12, Pdolen^0'=Pdolen^post_12, conditional^0'=conditional^post_12, i^0'=i^post_12, num^0'=num^post_12, status^0'=status^post_12, [ DName^0==DName^post_12 && IoCreateDevice^0==IoCreateDevice^post_12 && PPBlockInits^0==PPBlockInits^post_12 && PPBunlockInits^0==PPBunlockInits^post_12 && Pdo^0==Pdo^post_12 && Pdolen^0==Pdolen^post_12 && conditional^0==conditional^post_12 && i^0==i^post_12 && num^0==num^post_12 && status^0==status^post_12 ], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 11: l7 -> l6 : DName^0'=DName^post_12, IoCreateDevice^0'=IoCreateDevice^post_12, PPBlockInits^0'=PPBlockInits^post_12, PPBunlockInits^0'=PPBunlockInits^post_12, Pdo^0'=Pdo^post_12, Pdolen^0'=Pdolen^post_12, conditional^0'=conditional^post_12, i^0'=i^post_12, num^0'=num^post_12, status^0'=status^post_12, [ DName^0==DName^post_12 && IoCreateDevice^0==IoCreateDevice^post_12 && PPBlockInits^0==PPBlockInits^post_12 && PPBunlockInits^0==PPBunlockInits^post_12 && Pdo^0==Pdo^post_12 && Pdolen^0==Pdolen^post_12 && conditional^0==conditional^post_12 && i^0==i^post_12 && num^0==num^post_12 && status^0==status^post_12 ], cost: 1 Simplified all rules, resulting in: Start location: l7 0: l0 -> l1 : [ conditional^0<=1 ], cost: 1 1: l0 -> l2 : num^0'=1+num^0, [ 2<=conditional^0 ], cost: 1 4: l1 -> l4 : PPBunlockInits^0'=1, num^0'=0, [], cost: 1 8: l2 -> l1 : status^0'=0, [ Pdolen^0<=i^0 ], cost: 1 9: l2 -> l5 : DName^0'=DName^post_10, PPBlockInits^0'=1, status^0'=0, [ 1+i^0<=Pdolen^0 ], cost: 1 2: l3 -> l2 : IoCreateDevice^0'=0, i^0'=1+i^0, status^0'=1, [ conditional^0<=1 ], cost: 1 3: l3 -> l0 : IoCreateDevice^0'=0, Pdo^0'=0, conditional^0'=conditional^post_4, [ 2<=conditional^0 ], cost: 1 5: l4 -> l1 : [], cost: 1 6: l5 -> l1 : [ DName^0<=0 ], cost: 1 7: l5 -> l3 : IoCreateDevice^0'=1, conditional^0'=conditional^post_8, [ 1<=DName^0 ], cost: 1 10: l6 -> l2 : IoCreateDevice^0'=0, PPBlockInits^0'=1, PPBunlockInits^0'=0, Pdolen^0'=Pdolen^post_11, i^0'=i^post_11, status^0'=0, [], cost: 1 11: l7 -> l6 : [], cost: 1 ### Simplification by acceleration and chaining ### Eliminated locations (on linear paths): Start location: l7 0: l0 -> l1 : [ conditional^0<=1 ], cost: 1 1: l0 -> l2 : num^0'=1+num^0, [ 2<=conditional^0 ], cost: 1 13: l1 -> l1 : PPBunlockInits^0'=1, num^0'=0, [], cost: 2 8: l2 -> l1 : status^0'=0, [ Pdolen^0<=i^0 ], cost: 1 9: l2 -> l5 : DName^0'=DName^post_10, PPBlockInits^0'=1, status^0'=0, [ 1+i^0<=Pdolen^0 ], cost: 1 2: l3 -> l2 : IoCreateDevice^0'=0, i^0'=1+i^0, status^0'=1, [ conditional^0<=1 ], cost: 1 3: l3 -> l0 : IoCreateDevice^0'=0, Pdo^0'=0, conditional^0'=conditional^post_4, [ 2<=conditional^0 ], cost: 1 6: l5 -> l1 : [ DName^0<=0 ], cost: 1 7: l5 -> l3 : IoCreateDevice^0'=1, conditional^0'=conditional^post_8, [ 1<=DName^0 ], cost: 1 12: l7 -> l2 : IoCreateDevice^0'=0, PPBlockInits^0'=1, PPBunlockInits^0'=0, Pdolen^0'=Pdolen^post_11, i^0'=i^post_11, status^0'=0, [], cost: 2 Accelerating simple loops of location 1. Accelerating the following rules: 13: l1 -> l1 : PPBunlockInits^0'=1, num^0'=0, [], cost: 2 Accelerated rule 13 with non-termination, yielding the new rule 14. [accelerate] Nesting with 0 inner and 0 outer candidates Removing the simple loops: 13. Accelerated all simple loops using metering functions (where possible): Start location: l7 0: l0 -> l1 : [ conditional^0<=1 ], cost: 1 1: l0 -> l2 : num^0'=1+num^0, [ 2<=conditional^0 ], cost: 1 14: l1 -> [8] : [], cost: NONTERM 8: l2 -> l1 : status^0'=0, [ Pdolen^0<=i^0 ], cost: 1 9: l2 -> l5 : DName^0'=DName^post_10, PPBlockInits^0'=1, status^0'=0, [ 1+i^0<=Pdolen^0 ], cost: 1 2: l3 -> l2 : IoCreateDevice^0'=0, i^0'=1+i^0, status^0'=1, [ conditional^0<=1 ], cost: 1 3: l3 -> l0 : IoCreateDevice^0'=0, Pdo^0'=0, conditional^0'=conditional^post_4, [ 2<=conditional^0 ], cost: 1 6: l5 -> l1 : [ DName^0<=0 ], cost: 1 7: l5 -> l3 : IoCreateDevice^0'=1, conditional^0'=conditional^post_8, [ 1<=DName^0 ], cost: 1 12: l7 -> l2 : IoCreateDevice^0'=0, PPBlockInits^0'=1, PPBunlockInits^0'=0, Pdolen^0'=Pdolen^post_11, i^0'=i^post_11, status^0'=0, [], cost: 2 Chained accelerated rules (with incoming rules): Start location: l7 0: l0 -> l1 : [ conditional^0<=1 ], cost: 1 1: l0 -> l2 : num^0'=1+num^0, [ 2<=conditional^0 ], cost: 1 15: l0 -> [8] : [ conditional^0<=1 ], cost: NONTERM 8: l2 -> l1 : status^0'=0, [ Pdolen^0<=i^0 ], cost: 1 9: l2 -> l5 : DName^0'=DName^post_10, PPBlockInits^0'=1, status^0'=0, [ 1+i^0<=Pdolen^0 ], cost: 1 17: l2 -> [8] : [ Pdolen^0<=i^0 ], cost: NONTERM 2: l3 -> l2 : IoCreateDevice^0'=0, i^0'=1+i^0, status^0'=1, [ conditional^0<=1 ], cost: 1 3: l3 -> l0 : IoCreateDevice^0'=0, Pdo^0'=0, conditional^0'=conditional^post_4, [ 2<=conditional^0 ], cost: 1 6: l5 -> l1 : [ DName^0<=0 ], cost: 1 7: l5 -> l3 : IoCreateDevice^0'=1, conditional^0'=conditional^post_8, [ 1<=DName^0 ], cost: 1 16: l5 -> [8] : [ DName^0<=0 ], cost: NONTERM 12: l7 -> l2 : IoCreateDevice^0'=0, PPBlockInits^0'=1, PPBunlockInits^0'=0, Pdolen^0'=Pdolen^post_11, i^0'=i^post_11, status^0'=0, [], cost: 2 Removed unreachable locations (and leaf rules with constant cost): Start location: l7 1: l0 -> l2 : num^0'=1+num^0, [ 2<=conditional^0 ], cost: 1 15: l0 -> [8] : [ conditional^0<=1 ], cost: NONTERM 9: l2 -> l5 : DName^0'=DName^post_10, PPBlockInits^0'=1, status^0'=0, [ 1+i^0<=Pdolen^0 ], cost: 1 17: l2 -> [8] : [ Pdolen^0<=i^0 ], cost: NONTERM 2: l3 -> l2 : IoCreateDevice^0'=0, i^0'=1+i^0, status^0'=1, [ conditional^0<=1 ], cost: 1 3: l3 -> l0 : IoCreateDevice^0'=0, Pdo^0'=0, conditional^0'=conditional^post_4, [ 2<=conditional^0 ], cost: 1 7: l5 -> l3 : IoCreateDevice^0'=1, conditional^0'=conditional^post_8, [ 1<=DName^0 ], cost: 1 16: l5 -> [8] : [ DName^0<=0 ], cost: NONTERM 12: l7 -> l2 : IoCreateDevice^0'=0, PPBlockInits^0'=1, PPBunlockInits^0'=0, Pdolen^0'=Pdolen^post_11, i^0'=i^post_11, status^0'=0, [], cost: 2 Eliminated locations (on tree-shaped paths): Start location: l7 17: l2 -> [8] : [ Pdolen^0<=i^0 ], cost: NONTERM 18: l2 -> l3 : DName^0'=DName^post_10, IoCreateDevice^0'=1, PPBlockInits^0'=1, conditional^0'=conditional^post_8, status^0'=0, [ 1+i^0<=Pdolen^0 && 1<=DName^post_10 ], cost: 2 19: l2 -> [8] : [ 1+i^0<=Pdolen^0 && DName^post_10<=0 ], cost: NONTERM 2: l3 -> l2 : IoCreateDevice^0'=0, i^0'=1+i^0, status^0'=1, [ conditional^0<=1 ], cost: 1 20: l3 -> l2 : IoCreateDevice^0'=0, Pdo^0'=0, conditional^0'=conditional^post_4, num^0'=1+num^0, [ 2<=conditional^0 && 2<=conditional^post_4 ], cost: 2 21: l3 -> [8] : [ 2<=conditional^0 && conditional^post_4<=1 ], cost: NONTERM 12: l7 -> l2 : IoCreateDevice^0'=0, PPBlockInits^0'=1, PPBunlockInits^0'=0, Pdolen^0'=Pdolen^post_11, i^0'=i^post_11, status^0'=0, [], cost: 2 Eliminated locations (on tree-shaped paths): Start location: l7 17: l2 -> [8] : [ Pdolen^0<=i^0 ], cost: NONTERM 19: l2 -> [8] : [ 1+i^0<=Pdolen^0 && DName^post_10<=0 ], cost: NONTERM 22: l2 -> l2 : DName^0'=DName^post_10, IoCreateDevice^0'=0, PPBlockInits^0'=1, conditional^0'=conditional^post_8, i^0'=1+i^0, status^0'=1, [ 1+i^0<=Pdolen^0 && 1<=DName^post_10 && conditional^post_8<=1 ], cost: 3 23: l2 -> l2 : DName^0'=DName^post_10, IoCreateDevice^0'=0, PPBlockInits^0'=1, Pdo^0'=0, conditional^0'=conditional^post_4, num^0'=1+num^0, status^0'=0, [ 1+i^0<=Pdolen^0 && 1<=DName^post_10 && 2<=conditional^post_8 && 2<=conditional^post_4 ], cost: 4 24: l2 -> [8] : [ 1+i^0<=Pdolen^0 && 1<=DName^post_10 && 2<=conditional^post_8 && conditional^post_4<=1 ], cost: NONTERM 12: l7 -> l2 : IoCreateDevice^0'=0, PPBlockInits^0'=1, PPBunlockInits^0'=0, Pdolen^0'=Pdolen^post_11, i^0'=i^post_11, status^0'=0, [], cost: 2 Accelerating simple loops of location 2. Simplified some of the simple loops (and removed duplicate rules). Accelerating the following rules: 22: l2 -> l2 : DName^0'=DName^post_10, IoCreateDevice^0'=0, PPBlockInits^0'=1, conditional^0'=conditional^post_8, i^0'=1+i^0, status^0'=1, [ 1+i^0<=Pdolen^0 && 1<=DName^post_10 && conditional^post_8<=1 ], cost: 3 23: l2 -> l2 : DName^0'=DName^post_10, IoCreateDevice^0'=0, PPBlockInits^0'=1, Pdo^0'=0, conditional^0'=conditional^post_4, num^0'=1+num^0, status^0'=0, [ 1+i^0<=Pdolen^0 && 1<=DName^post_10 && 2<=conditional^post_4 ], cost: 4 Accelerated rule 22 with backward acceleration, yielding the new rule 25. Accelerated rule 23 with non-termination, yielding the new rule 26. [accelerate] Nesting with 1 inner and 1 outer candidates Removing the simple loops: 22 23. Accelerated all simple loops using metering functions (where possible): Start location: l7 17: l2 -> [8] : [ Pdolen^0<=i^0 ], cost: NONTERM 19: l2 -> [8] : [ 1+i^0<=Pdolen^0 && DName^post_10<=0 ], cost: NONTERM 24: l2 -> [8] : [ 1+i^0<=Pdolen^0 && 1<=DName^post_10 && 2<=conditional^post_8 && conditional^post_4<=1 ], cost: NONTERM 25: l2 -> l2 : DName^0'=DName^post_10, IoCreateDevice^0'=0, PPBlockInits^0'=1, conditional^0'=conditional^post_8, i^0'=Pdolen^0, status^0'=1, [ 1<=DName^post_10 && conditional^post_8<=1 && -i^0+Pdolen^0>=1 ], cost: -3*i^0+3*Pdolen^0 26: l2 -> [9] : [ 1+i^0<=Pdolen^0 && 1<=DName^post_10 && 2<=conditional^post_4 ], cost: NONTERM 12: l7 -> l2 : IoCreateDevice^0'=0, PPBlockInits^0'=1, PPBunlockInits^0'=0, Pdolen^0'=Pdolen^post_11, i^0'=i^post_11, status^0'=0, [], cost: 2 Chained accelerated rules (with incoming rules): Start location: l7 17: l2 -> [8] : [ Pdolen^0<=i^0 ], cost: NONTERM 19: l2 -> [8] : [ 1+i^0<=Pdolen^0 && DName^post_10<=0 ], cost: NONTERM 24: l2 -> [8] : [ 1+i^0<=Pdolen^0 && 1<=DName^post_10 && 2<=conditional^post_8 && conditional^post_4<=1 ], cost: NONTERM 12: l7 -> l2 : IoCreateDevice^0'=0, PPBlockInits^0'=1, PPBunlockInits^0'=0, Pdolen^0'=Pdolen^post_11, i^0'=i^post_11, status^0'=0, [], cost: 2 27: l7 -> l2 : DName^0'=DName^post_10, IoCreateDevice^0'=0, PPBlockInits^0'=1, PPBunlockInits^0'=0, Pdolen^0'=Pdolen^post_11, conditional^0'=conditional^post_8, i^0'=Pdolen^post_11, status^0'=1, [ 1<=DName^post_10 && conditional^post_8<=1 && -i^post_11+Pdolen^post_11>=1 ], cost: 2-3*i^post_11+3*Pdolen^post_11 28: l7 -> [9] : [], cost: NONTERM Eliminated locations (on tree-shaped paths): Start location: l7 28: l7 -> [9] : [], cost: NONTERM 29: l7 -> [8] : [ Pdolen^post_11<=i^post_11 ], cost: NONTERM 30: l7 -> [8] : [ 1+i^post_11<=Pdolen^post_11 && DName^post_10<=0 ], cost: NONTERM 31: l7 -> [8] : [ 1+i^post_11<=Pdolen^post_11 && 1<=DName^post_10 && 2<=conditional^post_8 && conditional^post_4<=1 ], cost: NONTERM 32: l7 -> [8] : [ 1<=DName^post_10 && conditional^post_8<=1 && -i^post_11+Pdolen^post_11>=1 ], cost: NONTERM 33: l7 -> [10] : [ 1<=DName^post_10 && conditional^post_8<=1 && -i^post_11+Pdolen^post_11>=1 ], cost: 2-3*i^post_11+3*Pdolen^post_11 ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: l7 28: l7 -> [9] : [], cost: NONTERM 29: l7 -> [8] : [ Pdolen^post_11<=i^post_11 ], cost: NONTERM 30: l7 -> [8] : [ 1+i^post_11<=Pdolen^post_11 && DName^post_10<=0 ], cost: NONTERM 31: l7 -> [8] : [ 1+i^post_11<=Pdolen^post_11 && 1<=DName^post_10 && 2<=conditional^post_8 && conditional^post_4<=1 ], cost: NONTERM 32: l7 -> [8] : [ 1<=DName^post_10 && conditional^post_8<=1 && -i^post_11+Pdolen^post_11>=1 ], cost: NONTERM 33: l7 -> [10] : [ 1<=DName^post_10 && conditional^post_8<=1 && -i^post_11+Pdolen^post_11>=1 ], cost: 2-3*i^post_11+3*Pdolen^post_11 Computing asymptotic complexity for rule 28 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