WORST_CASE(Omega(n^1),?) ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: l18 0: l0 -> l2 : Result_4^0'=Result_4^post_1, w_5^0'=w_5^post_1, x_6^0'=x_6^post_1, [ 2-x_6^0<=0 && 0<=2-w_5^0 && x_6^post_1==1+x_6^0 && w_5^post_1==1+w_5^0 && Result_4^0==Result_4^post_1 ], cost: 1 6: l0 -> l5 : Result_4^0'=Result_4^post_7, w_5^0'=w_5^post_7, x_6^0'=x_6^post_7, [ 2-x_6^0<=0 && 0<=2-w_5^0 && x_6^post_7==1+x_6^0 && w_5^post_7==1+w_5^0 && Result_4^0==Result_4^post_7 ], cost: 1 11: l0 -> l8 : Result_4^0'=Result_4^post_12, w_5^0'=w_5^post_12, x_6^0'=x_6^post_12, [ 0<=1-x_6^0 && x_6^post_12==1+x_6^0 && w_5^post_12==1+w_5^0 && Result_4^0==Result_4^post_12 ], cost: 1 17: l0 -> l11 : Result_4^0'=Result_4^post_18, w_5^0'=w_5^post_18, x_6^0'=x_6^post_18, [ 0<=1-x_6^0 && x_6^post_18==1+x_6^0 && w_5^post_18==1+w_5^0 && Result_4^0==Result_4^post_18 ], cost: 1 22: l0 -> l14 : Result_4^0'=Result_4^post_23, w_5^0'=w_5^post_23, x_6^0'=x_6^post_23, [ 0<=1-x_6^0 && x_6^post_23==1+x_6^0 && w_5^post_23==1+w_5^0 && x_6^post_23<=2 && 2<=x_6^post_23 && Result_4^0==Result_4^post_23 ], cost: 1 26: l0 -> l15 : Result_4^0'=Result_4^post_27, w_5^0'=w_5^post_27, x_6^0'=x_6^post_27, [ 0<=1-x_6^0 && x_6^post_27==1+x_6^0 && w_5^1_1==1+w_5^0 && x_6^post_27<=2 && 2<=x_6^post_27 && w_5^1_1<=2 && 2<=w_5^1_1 && w_5^post_27==1 && Result_4^0==Result_4^post_27 ], cost: 1 28: l0 -> l16 : Result_4^0'=Result_4^post_29, w_5^0'=w_5^post_29, x_6^0'=x_6^post_29, [ 2-x_6^0<=0 && 3-w_5^0<=0 && Result_4^post_29==Result_4^post_29 && w_5^0==w_5^post_29 && x_6^0==x_6^post_29 ], cost: 1 1: l2 -> l3 : Result_4^0'=Result_4^post_2, w_5^0'=w_5^post_2, x_6^0'=x_6^post_2, [ 1+x_6^0<=2 && Result_4^0==Result_4^post_2 && w_5^0==w_5^post_2 && x_6^0==x_6^post_2 ], cost: 1 2: l2 -> l3 : Result_4^0'=Result_4^post_3, w_5^0'=w_5^post_3, x_6^0'=x_6^post_3, [ 3<=x_6^0 && Result_4^0==Result_4^post_3 && w_5^0==w_5^post_3 && x_6^0==x_6^post_3 ], cost: 1 3: l3 -> l1 : Result_4^0'=Result_4^post_4, w_5^0'=w_5^post_4, x_6^0'=x_6^post_4, [ 1+w_5^0<=2 && Result_4^0==Result_4^post_4 && w_5^0==w_5^post_4 && x_6^0==x_6^post_4 ], cost: 1 4: l3 -> l1 : Result_4^0'=Result_4^post_5, w_5^0'=w_5^post_5, x_6^0'=x_6^post_5, [ 3<=w_5^0 && Result_4^0==Result_4^post_5 && w_5^0==w_5^post_5 && x_6^0==x_6^post_5 ], cost: 1 5: l1 -> l0 : Result_4^0'=Result_4^post_6, w_5^0'=w_5^post_6, x_6^0'=x_6^post_6, [ Result_4^0==Result_4^post_6 && w_5^0==w_5^post_6 && x_6^0==x_6^post_6 ], cost: 1 7: l5 -> l6 : Result_4^0'=Result_4^post_8, w_5^0'=w_5^post_8, x_6^0'=x_6^post_8, [ 1+x_6^0<=2 && Result_4^0==Result_4^post_8 && w_5^0==w_5^post_8 && x_6^0==x_6^post_8 ], cost: 1 8: l5 -> l6 : Result_4^0'=Result_4^post_9, w_5^0'=w_5^post_9, x_6^0'=x_6^post_9, [ 3<=x_6^0 && Result_4^0==Result_4^post_9 && w_5^0==w_5^post_9 && x_6^0==x_6^post_9 ], cost: 1 9: l6 -> l4 : Result_4^0'=Result_4^post_10, w_5^0'=w_5^post_10, x_6^0'=x_6^post_10, [ w_5^0<=2 && 2<=w_5^0 && w_5^post_10==1 && Result_4^0==Result_4^post_10 && x_6^0==x_6^post_10 ], cost: 1 10: l4 -> l0 : Result_4^0'=Result_4^post_11, w_5^0'=w_5^post_11, x_6^0'=x_6^post_11, [ Result_4^0==Result_4^post_11 && w_5^0==w_5^post_11 && x_6^0==x_6^post_11 ], cost: 1 12: l8 -> l9 : Result_4^0'=Result_4^post_13, w_5^0'=w_5^post_13, x_6^0'=x_6^post_13, [ 1+x_6^0<=2 && Result_4^0==Result_4^post_13 && w_5^0==w_5^post_13 && x_6^0==x_6^post_13 ], cost: 1 13: l8 -> l9 : Result_4^0'=Result_4^post_14, w_5^0'=w_5^post_14, x_6^0'=x_6^post_14, [ 3<=x_6^0 && Result_4^0==Result_4^post_14 && w_5^0==w_5^post_14 && x_6^0==x_6^post_14 ], cost: 1 14: l9 -> l7 : Result_4^0'=Result_4^post_15, w_5^0'=w_5^post_15, x_6^0'=x_6^post_15, [ 1+w_5^0<=2 && Result_4^0==Result_4^post_15 && w_5^0==w_5^post_15 && x_6^0==x_6^post_15 ], cost: 1 15: l9 -> l7 : Result_4^0'=Result_4^post_16, w_5^0'=w_5^post_16, x_6^0'=x_6^post_16, [ 3<=w_5^0 && Result_4^0==Result_4^post_16 && w_5^0==w_5^post_16 && x_6^0==x_6^post_16 ], cost: 1 16: l7 -> l0 : Result_4^0'=Result_4^post_17, w_5^0'=w_5^post_17, x_6^0'=x_6^post_17, [ Result_4^0==Result_4^post_17 && w_5^0==w_5^post_17 && x_6^0==x_6^post_17 ], cost: 1 18: l11 -> l12 : Result_4^0'=Result_4^post_19, w_5^0'=w_5^post_19, x_6^0'=x_6^post_19, [ 1+x_6^0<=2 && Result_4^0==Result_4^post_19 && w_5^0==w_5^post_19 && x_6^0==x_6^post_19 ], cost: 1 19: l11 -> l12 : Result_4^0'=Result_4^post_20, w_5^0'=w_5^post_20, x_6^0'=x_6^post_20, [ 3<=x_6^0 && Result_4^0==Result_4^post_20 && w_5^0==w_5^post_20 && x_6^0==x_6^post_20 ], cost: 1 20: l12 -> l10 : Result_4^0'=Result_4^post_21, w_5^0'=w_5^post_21, x_6^0'=x_6^post_21, [ w_5^0<=2 && 2<=w_5^0 && w_5^post_21==1 && Result_4^0==Result_4^post_21 && x_6^0==x_6^post_21 ], cost: 1 21: l10 -> l0 : Result_4^0'=Result_4^post_22, w_5^0'=w_5^post_22, x_6^0'=x_6^post_22, [ Result_4^0==Result_4^post_22 && w_5^0==w_5^post_22 && x_6^0==x_6^post_22 ], cost: 1 23: l14 -> l13 : Result_4^0'=Result_4^post_24, w_5^0'=w_5^post_24, x_6^0'=x_6^post_24, [ 1+w_5^0<=2 && Result_4^0==Result_4^post_24 && w_5^0==w_5^post_24 && x_6^0==x_6^post_24 ], cost: 1 24: l14 -> l13 : Result_4^0'=Result_4^post_25, w_5^0'=w_5^post_25, x_6^0'=x_6^post_25, [ 3<=w_5^0 && Result_4^0==Result_4^post_25 && w_5^0==w_5^post_25 && x_6^0==x_6^post_25 ], cost: 1 25: l13 -> l0 : Result_4^0'=Result_4^post_26, w_5^0'=w_5^post_26, x_6^0'=x_6^post_26, [ Result_4^0==Result_4^post_26 && w_5^0==w_5^post_26 && x_6^0==x_6^post_26 ], cost: 1 27: l15 -> l0 : Result_4^0'=Result_4^post_28, w_5^0'=w_5^post_28, x_6^0'=x_6^post_28, [ Result_4^0==Result_4^post_28 && w_5^0==w_5^post_28 && x_6^0==x_6^post_28 ], cost: 1 29: l17 -> l0 : Result_4^0'=Result_4^post_30, w_5^0'=w_5^post_30, x_6^0'=x_6^post_30, [ Result_4^0==Result_4^post_30 && w_5^0==w_5^post_30 && x_6^0==x_6^post_30 ], cost: 1 30: l18 -> l17 : Result_4^0'=Result_4^post_31, w_5^0'=w_5^post_31, x_6^0'=x_6^post_31, [ Result_4^0==Result_4^post_31 && w_5^0==w_5^post_31 && x_6^0==x_6^post_31 ], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 30: l18 -> l17 : Result_4^0'=Result_4^post_31, w_5^0'=w_5^post_31, x_6^0'=x_6^post_31, [ Result_4^0==Result_4^post_31 && w_5^0==w_5^post_31 && x_6^0==x_6^post_31 ], cost: 1 Removed unreachable and leaf rules: Start location: l18 0: l0 -> l2 : Result_4^0'=Result_4^post_1, w_5^0'=w_5^post_1, x_6^0'=x_6^post_1, [ 2-x_6^0<=0 && 0<=2-w_5^0 && x_6^post_1==1+x_6^0 && w_5^post_1==1+w_5^0 && Result_4^0==Result_4^post_1 ], cost: 1 6: l0 -> l5 : Result_4^0'=Result_4^post_7, w_5^0'=w_5^post_7, x_6^0'=x_6^post_7, [ 2-x_6^0<=0 && 0<=2-w_5^0 && x_6^post_7==1+x_6^0 && w_5^post_7==1+w_5^0 && Result_4^0==Result_4^post_7 ], cost: 1 11: l0 -> l8 : Result_4^0'=Result_4^post_12, w_5^0'=w_5^post_12, x_6^0'=x_6^post_12, [ 0<=1-x_6^0 && x_6^post_12==1+x_6^0 && w_5^post_12==1+w_5^0 && Result_4^0==Result_4^post_12 ], cost: 1 17: l0 -> l11 : Result_4^0'=Result_4^post_18, w_5^0'=w_5^post_18, x_6^0'=x_6^post_18, [ 0<=1-x_6^0 && x_6^post_18==1+x_6^0 && w_5^post_18==1+w_5^0 && Result_4^0==Result_4^post_18 ], cost: 1 22: l0 -> l14 : Result_4^0'=Result_4^post_23, w_5^0'=w_5^post_23, x_6^0'=x_6^post_23, [ 0<=1-x_6^0 && x_6^post_23==1+x_6^0 && w_5^post_23==1+w_5^0 && x_6^post_23<=2 && 2<=x_6^post_23 && Result_4^0==Result_4^post_23 ], cost: 1 26: l0 -> l15 : Result_4^0'=Result_4^post_27, w_5^0'=w_5^post_27, x_6^0'=x_6^post_27, [ 0<=1-x_6^0 && x_6^post_27==1+x_6^0 && w_5^1_1==1+w_5^0 && x_6^post_27<=2 && 2<=x_6^post_27 && w_5^1_1<=2 && 2<=w_5^1_1 && w_5^post_27==1 && Result_4^0==Result_4^post_27 ], cost: 1 1: l2 -> l3 : Result_4^0'=Result_4^post_2, w_5^0'=w_5^post_2, x_6^0'=x_6^post_2, [ 1+x_6^0<=2 && Result_4^0==Result_4^post_2 && w_5^0==w_5^post_2 && x_6^0==x_6^post_2 ], cost: 1 2: l2 -> l3 : Result_4^0'=Result_4^post_3, w_5^0'=w_5^post_3, x_6^0'=x_6^post_3, [ 3<=x_6^0 && Result_4^0==Result_4^post_3 && w_5^0==w_5^post_3 && x_6^0==x_6^post_3 ], cost: 1 3: l3 -> l1 : Result_4^0'=Result_4^post_4, w_5^0'=w_5^post_4, x_6^0'=x_6^post_4, [ 1+w_5^0<=2 && Result_4^0==Result_4^post_4 && w_5^0==w_5^post_4 && x_6^0==x_6^post_4 ], cost: 1 4: l3 -> l1 : Result_4^0'=Result_4^post_5, w_5^0'=w_5^post_5, x_6^0'=x_6^post_5, [ 3<=w_5^0 && Result_4^0==Result_4^post_5 && w_5^0==w_5^post_5 && x_6^0==x_6^post_5 ], cost: 1 5: l1 -> l0 : Result_4^0'=Result_4^post_6, w_5^0'=w_5^post_6, x_6^0'=x_6^post_6, [ Result_4^0==Result_4^post_6 && w_5^0==w_5^post_6 && x_6^0==x_6^post_6 ], cost: 1 7: l5 -> l6 : Result_4^0'=Result_4^post_8, w_5^0'=w_5^post_8, x_6^0'=x_6^post_8, [ 1+x_6^0<=2 && Result_4^0==Result_4^post_8 && w_5^0==w_5^post_8 && x_6^0==x_6^post_8 ], cost: 1 8: l5 -> l6 : Result_4^0'=Result_4^post_9, w_5^0'=w_5^post_9, x_6^0'=x_6^post_9, [ 3<=x_6^0 && Result_4^0==Result_4^post_9 && w_5^0==w_5^post_9 && x_6^0==x_6^post_9 ], cost: 1 9: l6 -> l4 : Result_4^0'=Result_4^post_10, w_5^0'=w_5^post_10, x_6^0'=x_6^post_10, [ w_5^0<=2 && 2<=w_5^0 && w_5^post_10==1 && Result_4^0==Result_4^post_10 && x_6^0==x_6^post_10 ], cost: 1 10: l4 -> l0 : Result_4^0'=Result_4^post_11, w_5^0'=w_5^post_11, x_6^0'=x_6^post_11, [ Result_4^0==Result_4^post_11 && w_5^0==w_5^post_11 && x_6^0==x_6^post_11 ], cost: 1 12: l8 -> l9 : Result_4^0'=Result_4^post_13, w_5^0'=w_5^post_13, x_6^0'=x_6^post_13, [ 1+x_6^0<=2 && Result_4^0==Result_4^post_13 && w_5^0==w_5^post_13 && x_6^0==x_6^post_13 ], cost: 1 13: l8 -> l9 : Result_4^0'=Result_4^post_14, w_5^0'=w_5^post_14, x_6^0'=x_6^post_14, [ 3<=x_6^0 && Result_4^0==Result_4^post_14 && w_5^0==w_5^post_14 && x_6^0==x_6^post_14 ], cost: 1 14: l9 -> l7 : Result_4^0'=Result_4^post_15, w_5^0'=w_5^post_15, x_6^0'=x_6^post_15, [ 1+w_5^0<=2 && Result_4^0==Result_4^post_15 && w_5^0==w_5^post_15 && x_6^0==x_6^post_15 ], cost: 1 15: l9 -> l7 : Result_4^0'=Result_4^post_16, w_5^0'=w_5^post_16, x_6^0'=x_6^post_16, [ 3<=w_5^0 && Result_4^0==Result_4^post_16 && w_5^0==w_5^post_16 && x_6^0==x_6^post_16 ], cost: 1 16: l7 -> l0 : Result_4^0'=Result_4^post_17, w_5^0'=w_5^post_17, x_6^0'=x_6^post_17, [ Result_4^0==Result_4^post_17 && w_5^0==w_5^post_17 && x_6^0==x_6^post_17 ], cost: 1 18: l11 -> l12 : Result_4^0'=Result_4^post_19, w_5^0'=w_5^post_19, x_6^0'=x_6^post_19, [ 1+x_6^0<=2 && Result_4^0==Result_4^post_19 && w_5^0==w_5^post_19 && x_6^0==x_6^post_19 ], cost: 1 19: l11 -> l12 : Result_4^0'=Result_4^post_20, w_5^0'=w_5^post_20, x_6^0'=x_6^post_20, [ 3<=x_6^0 && Result_4^0==Result_4^post_20 && w_5^0==w_5^post_20 && x_6^0==x_6^post_20 ], cost: 1 20: l12 -> l10 : Result_4^0'=Result_4^post_21, w_5^0'=w_5^post_21, x_6^0'=x_6^post_21, [ w_5^0<=2 && 2<=w_5^0 && w_5^post_21==1 && Result_4^0==Result_4^post_21 && x_6^0==x_6^post_21 ], cost: 1 21: l10 -> l0 : Result_4^0'=Result_4^post_22, w_5^0'=w_5^post_22, x_6^0'=x_6^post_22, [ Result_4^0==Result_4^post_22 && w_5^0==w_5^post_22 && x_6^0==x_6^post_22 ], cost: 1 23: l14 -> l13 : Result_4^0'=Result_4^post_24, w_5^0'=w_5^post_24, x_6^0'=x_6^post_24, [ 1+w_5^0<=2 && Result_4^0==Result_4^post_24 && w_5^0==w_5^post_24 && x_6^0==x_6^post_24 ], cost: 1 24: l14 -> l13 : Result_4^0'=Result_4^post_25, w_5^0'=w_5^post_25, x_6^0'=x_6^post_25, [ 3<=w_5^0 && Result_4^0==Result_4^post_25 && w_5^0==w_5^post_25 && x_6^0==x_6^post_25 ], cost: 1 25: l13 -> l0 : Result_4^0'=Result_4^post_26, w_5^0'=w_5^post_26, x_6^0'=x_6^post_26, [ Result_4^0==Result_4^post_26 && w_5^0==w_5^post_26 && x_6^0==x_6^post_26 ], cost: 1 27: l15 -> l0 : Result_4^0'=Result_4^post_28, w_5^0'=w_5^post_28, x_6^0'=x_6^post_28, [ Result_4^0==Result_4^post_28 && w_5^0==w_5^post_28 && x_6^0==x_6^post_28 ], cost: 1 29: l17 -> l0 : Result_4^0'=Result_4^post_30, w_5^0'=w_5^post_30, x_6^0'=x_6^post_30, [ Result_4^0==Result_4^post_30 && w_5^0==w_5^post_30 && x_6^0==x_6^post_30 ], cost: 1 30: l18 -> l17 : Result_4^0'=Result_4^post_31, w_5^0'=w_5^post_31, x_6^0'=x_6^post_31, [ Result_4^0==Result_4^post_31 && w_5^0==w_5^post_31 && x_6^0==x_6^post_31 ], cost: 1 Simplified all rules, resulting in: Start location: l18 0: l0 -> l2 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ 2-x_6^0<=0 && 0<=2-w_5^0 ], cost: 1 6: l0 -> l5 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ 2-x_6^0<=0 && 0<=2-w_5^0 ], cost: 1 11: l0 -> l8 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ 0<=1-x_6^0 ], cost: 1 17: l0 -> l11 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ 0<=1-x_6^0 ], cost: 1 22: l0 -> l14 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ -1+x_6^0==0 ], cost: 1 26: l0 -> l15 : w_5^0'=1, x_6^0'=1+x_6^0, [ -1+x_6^0==0 && -1+w_5^0==0 ], cost: 1 1: l2 -> l3 : [ 1+x_6^0<=2 ], cost: 1 2: l2 -> l3 : [ 3<=x_6^0 ], cost: 1 3: l3 -> l1 : [ 1+w_5^0<=2 ], cost: 1 4: l3 -> l1 : [ 3<=w_5^0 ], cost: 1 5: l1 -> l0 : [], cost: 1 7: l5 -> l6 : [ 1+x_6^0<=2 ], cost: 1 8: l5 -> l6 : [ 3<=x_6^0 ], cost: 1 9: l6 -> l4 : w_5^0'=1, [ -2+w_5^0==0 ], cost: 1 10: l4 -> l0 : [], cost: 1 12: l8 -> l9 : [ 1+x_6^0<=2 ], cost: 1 13: l8 -> l9 : [ 3<=x_6^0 ], cost: 1 14: l9 -> l7 : [ 1+w_5^0<=2 ], cost: 1 15: l9 -> l7 : [ 3<=w_5^0 ], cost: 1 16: l7 -> l0 : [], cost: 1 18: l11 -> l12 : [ 1+x_6^0<=2 ], cost: 1 19: l11 -> l12 : [ 3<=x_6^0 ], cost: 1 20: l12 -> l10 : w_5^0'=1, [ -2+w_5^0==0 ], cost: 1 21: l10 -> l0 : [], cost: 1 23: l14 -> l13 : [ 1+w_5^0<=2 ], cost: 1 24: l14 -> l13 : [ 3<=w_5^0 ], cost: 1 25: l13 -> l0 : [], cost: 1 27: l15 -> l0 : [], cost: 1 29: l17 -> l0 : [], cost: 1 30: l18 -> l17 : [], cost: 1 ### Simplification by acceleration and chaining ### Eliminated locations (on linear paths): Start location: l18 0: l0 -> l2 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ 2-x_6^0<=0 && 0<=2-w_5^0 ], cost: 1 6: l0 -> l5 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ 2-x_6^0<=0 && 0<=2-w_5^0 ], cost: 1 11: l0 -> l8 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ 0<=1-x_6^0 ], cost: 1 17: l0 -> l11 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ 0<=1-x_6^0 ], cost: 1 22: l0 -> l14 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ -1+x_6^0==0 ], cost: 1 32: l0 -> l0 : w_5^0'=1, x_6^0'=1+x_6^0, [ -1+x_6^0==0 && -1+w_5^0==0 ], cost: 2 1: l2 -> l3 : [ 1+x_6^0<=2 ], cost: 1 2: l2 -> l3 : [ 3<=x_6^0 ], cost: 1 3: l3 -> l1 : [ 1+w_5^0<=2 ], cost: 1 4: l3 -> l1 : [ 3<=w_5^0 ], cost: 1 5: l1 -> l0 : [], cost: 1 7: l5 -> l6 : [ 1+x_6^0<=2 ], cost: 1 8: l5 -> l6 : [ 3<=x_6^0 ], cost: 1 33: l6 -> l0 : w_5^0'=1, [ -2+w_5^0==0 ], cost: 2 12: l8 -> l9 : [ 1+x_6^0<=2 ], cost: 1 13: l8 -> l9 : [ 3<=x_6^0 ], cost: 1 14: l9 -> l7 : [ 1+w_5^0<=2 ], cost: 1 15: l9 -> l7 : [ 3<=w_5^0 ], cost: 1 16: l7 -> l0 : [], cost: 1 18: l11 -> l12 : [ 1+x_6^0<=2 ], cost: 1 19: l11 -> l12 : [ 3<=x_6^0 ], cost: 1 34: l12 -> l0 : w_5^0'=1, [ -2+w_5^0==0 ], cost: 2 23: l14 -> l13 : [ 1+w_5^0<=2 ], cost: 1 24: l14 -> l13 : [ 3<=w_5^0 ], cost: 1 25: l13 -> l0 : [], cost: 1 31: l18 -> l0 : [], cost: 2 Accelerating simple loops of location 0. Accelerating the following rules: 32: l0 -> l0 : w_5^0'=1, x_6^0'=1+x_6^0, [ -1+x_6^0==0 && -1+w_5^0==0 ], cost: 2 Accelerated rule 32 with metering function 2-x_6^0, yielding the new rule 35. Removing the simple loops: 32. Accelerated all simple loops using metering functions (where possible): Start location: l18 0: l0 -> l2 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ 2-x_6^0<=0 && 0<=2-w_5^0 ], cost: 1 6: l0 -> l5 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ 2-x_6^0<=0 && 0<=2-w_5^0 ], cost: 1 11: l0 -> l8 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ 0<=1-x_6^0 ], cost: 1 17: l0 -> l11 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ 0<=1-x_6^0 ], cost: 1 22: l0 -> l14 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ -1+x_6^0==0 ], cost: 1 35: l0 -> l0 : w_5^0'=1, x_6^0'=2, [ -1+x_6^0==0 && -1+w_5^0==0 ], cost: 4-2*x_6^0 1: l2 -> l3 : [ 1+x_6^0<=2 ], cost: 1 2: l2 -> l3 : [ 3<=x_6^0 ], cost: 1 3: l3 -> l1 : [ 1+w_5^0<=2 ], cost: 1 4: l3 -> l1 : [ 3<=w_5^0 ], cost: 1 5: l1 -> l0 : [], cost: 1 7: l5 -> l6 : [ 1+x_6^0<=2 ], cost: 1 8: l5 -> l6 : [ 3<=x_6^0 ], cost: 1 33: l6 -> l0 : w_5^0'=1, [ -2+w_5^0==0 ], cost: 2 12: l8 -> l9 : [ 1+x_6^0<=2 ], cost: 1 13: l8 -> l9 : [ 3<=x_6^0 ], cost: 1 14: l9 -> l7 : [ 1+w_5^0<=2 ], cost: 1 15: l9 -> l7 : [ 3<=w_5^0 ], cost: 1 16: l7 -> l0 : [], cost: 1 18: l11 -> l12 : [ 1+x_6^0<=2 ], cost: 1 19: l11 -> l12 : [ 3<=x_6^0 ], cost: 1 34: l12 -> l0 : w_5^0'=1, [ -2+w_5^0==0 ], cost: 2 23: l14 -> l13 : [ 1+w_5^0<=2 ], cost: 1 24: l14 -> l13 : [ 3<=w_5^0 ], cost: 1 25: l13 -> l0 : [], cost: 1 31: l18 -> l0 : [], cost: 2 Chained accelerated rules (with incoming rules): Start location: l18 0: l0 -> l2 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ 2-x_6^0<=0 && 0<=2-w_5^0 ], cost: 1 6: l0 -> l5 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ 2-x_6^0<=0 && 0<=2-w_5^0 ], cost: 1 11: l0 -> l8 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ 0<=1-x_6^0 ], cost: 1 17: l0 -> l11 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ 0<=1-x_6^0 ], cost: 1 22: l0 -> l14 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ -1+x_6^0==0 ], cost: 1 1: l2 -> l3 : [ 1+x_6^0<=2 ], cost: 1 2: l2 -> l3 : [ 3<=x_6^0 ], cost: 1 3: l3 -> l1 : [ 1+w_5^0<=2 ], cost: 1 4: l3 -> l1 : [ 3<=w_5^0 ], cost: 1 5: l1 -> l0 : [], cost: 1 36: l1 -> l0 : w_5^0'=1, x_6^0'=2, [ -1+x_6^0==0 && -1+w_5^0==0 ], cost: 5-2*x_6^0 7: l5 -> l6 : [ 1+x_6^0<=2 ], cost: 1 8: l5 -> l6 : [ 3<=x_6^0 ], cost: 1 33: l6 -> l0 : w_5^0'=1, [ -2+w_5^0==0 ], cost: 2 40: l6 -> l0 : w_5^0'=1, x_6^0'=2, [ -2+w_5^0==0 && -1+x_6^0==0 ], cost: 6-2*x_6^0 12: l8 -> l9 : [ 1+x_6^0<=2 ], cost: 1 13: l8 -> l9 : [ 3<=x_6^0 ], cost: 1 14: l9 -> l7 : [ 1+w_5^0<=2 ], cost: 1 15: l9 -> l7 : [ 3<=w_5^0 ], cost: 1 16: l7 -> l0 : [], cost: 1 37: l7 -> l0 : w_5^0'=1, x_6^0'=2, [ -1+x_6^0==0 && -1+w_5^0==0 ], cost: 5-2*x_6^0 18: l11 -> l12 : [ 1+x_6^0<=2 ], cost: 1 19: l11 -> l12 : [ 3<=x_6^0 ], cost: 1 34: l12 -> l0 : w_5^0'=1, [ -2+w_5^0==0 ], cost: 2 41: l12 -> l0 : w_5^0'=1, x_6^0'=2, [ -2+w_5^0==0 && -1+x_6^0==0 ], cost: 6-2*x_6^0 23: l14 -> l13 : [ 1+w_5^0<=2 ], cost: 1 24: l14 -> l13 : [ 3<=w_5^0 ], cost: 1 25: l13 -> l0 : [], cost: 1 38: l13 -> l0 : w_5^0'=1, x_6^0'=2, [ -1+x_6^0==0 && -1+w_5^0==0 ], cost: 5-2*x_6^0 31: l18 -> l0 : [], cost: 2 39: l18 -> l0 : w_5^0'=1, x_6^0'=2, [ -1+x_6^0==0 && -1+w_5^0==0 ], cost: 6-2*x_6^0 Eliminated locations (on tree-shaped paths): Start location: l18 42: l0 -> l3 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ 2-x_6^0<=0 && 0<=2-w_5^0 ], cost: 2 43: l0 -> l6 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ 2-x_6^0<=0 && 0<=2-w_5^0 ], cost: 2 44: l0 -> l9 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ 2+x_6^0<=2 ], cost: 2 45: l0 -> l12 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ 2+x_6^0<=2 ], cost: 2 46: l0 -> l13 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ -1+x_6^0==0 && 2+w_5^0<=2 ], cost: 2 47: l0 -> l13 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ -1+x_6^0==0 && 3<=1+w_5^0 ], cost: 2 48: l3 -> l0 : [ 1+w_5^0<=2 ], cost: 2 49: l3 -> l0 : w_5^0'=1, x_6^0'=2, [ -1+x_6^0==0 && -1+w_5^0==0 ], cost: 6-2*x_6^0 50: l3 -> l0 : [ 3<=w_5^0 ], cost: 2 33: l6 -> l0 : w_5^0'=1, [ -2+w_5^0==0 ], cost: 2 40: l6 -> l0 : w_5^0'=1, x_6^0'=2, [ -2+w_5^0==0 && -1+x_6^0==0 ], cost: 6-2*x_6^0 51: l9 -> l0 : [ 1+w_5^0<=2 ], cost: 2 52: l9 -> l0 : w_5^0'=1, x_6^0'=2, [ -1+x_6^0==0 && -1+w_5^0==0 ], cost: 6-2*x_6^0 53: l9 -> l0 : [ 3<=w_5^0 ], cost: 2 34: l12 -> l0 : w_5^0'=1, [ -2+w_5^0==0 ], cost: 2 41: l12 -> l0 : w_5^0'=1, x_6^0'=2, [ -2+w_5^0==0 && -1+x_6^0==0 ], cost: 6-2*x_6^0 25: l13 -> l0 : [], cost: 1 38: l13 -> l0 : w_5^0'=1, x_6^0'=2, [ -1+x_6^0==0 && -1+w_5^0==0 ], cost: 5-2*x_6^0 31: l18 -> l0 : [], cost: 2 39: l18 -> l0 : w_5^0'=1, x_6^0'=2, [ -1+x_6^0==0 && -1+w_5^0==0 ], cost: 6-2*x_6^0 Eliminated locations (on tree-shaped paths): Start location: l18 54: l0 -> l0 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ 2-x_6^0<=0 && 2+w_5^0<=2 ], cost: 4 55: l0 -> l0 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ 2-x_6^0<=0 && 0<=2-w_5^0 && 3<=1+w_5^0 ], cost: 4 56: l0 -> l0 : w_5^0'=1, x_6^0'=1+x_6^0, [ 2-x_6^0<=0 && -1+w_5^0==0 ], cost: 4 57: l0 -> l0 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ 2+x_6^0<=2 && 2+w_5^0<=2 ], cost: 4 58: l0 -> l0 : w_5^0'=1, x_6^0'=2, [ x_6^0==0 && w_5^0==0 ], cost: 6-2*x_6^0 59: l0 -> l0 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ 2+x_6^0<=2 && 3<=1+w_5^0 ], cost: 4 60: l0 -> l0 : w_5^0'=1, x_6^0'=1+x_6^0, [ 2+x_6^0<=2 && -1+w_5^0==0 ], cost: 4 61: l0 -> l0 : w_5^0'=1, x_6^0'=2, [ -1+w_5^0==0 && x_6^0==0 ], cost: 6-2*x_6^0 62: l0 -> l0 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ -1+x_6^0==0 && 2+w_5^0<=2 ], cost: 3 63: l0 -> l0 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ -1+x_6^0==0 && 3<=1+w_5^0 ], cost: 3 31: l18 -> l0 : [], cost: 2 39: l18 -> l0 : w_5^0'=1, x_6^0'=2, [ -1+x_6^0==0 && -1+w_5^0==0 ], cost: 6-2*x_6^0 Applied pruning (of leafs and parallel rules): Start location: l18 54: l0 -> l0 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ 2-x_6^0<=0 && 2+w_5^0<=2 ], cost: 4 55: l0 -> l0 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ 2-x_6^0<=0 && 0<=2-w_5^0 && 3<=1+w_5^0 ], cost: 4 57: l0 -> l0 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ 2+x_6^0<=2 && 2+w_5^0<=2 ], cost: 4 58: l0 -> l0 : w_5^0'=1, x_6^0'=2, [ x_6^0==0 && w_5^0==0 ], cost: 6-2*x_6^0 59: l0 -> l0 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ 2+x_6^0<=2 && 3<=1+w_5^0 ], cost: 4 31: l18 -> l0 : [], cost: 2 39: l18 -> l0 : w_5^0'=1, x_6^0'=2, [ -1+x_6^0==0 && -1+w_5^0==0 ], cost: 6-2*x_6^0 Accelerating simple loops of location 0. Simplified some of the simple loops (and removed duplicate rules). Accelerating the following rules: 54: l0 -> l0 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ 2-x_6^0<=0 && 2+w_5^0<=2 ], cost: 4 55: l0 -> l0 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ 2-x_6^0<=0 && -2+w_5^0==0 ], cost: 4 57: l0 -> l0 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ 2+x_6^0<=2 && 2+w_5^0<=2 ], cost: 4 58: l0 -> l0 : w_5^0'=1, x_6^0'=2, [ x_6^0==0 && w_5^0==0 ], cost: 6-2*x_6^0 59: l0 -> l0 : w_5^0'=1+w_5^0, x_6^0'=1+x_6^0, [ 2+x_6^0<=2 && 3<=1+w_5^0 ], cost: 4 Accelerated rule 54 with metering function 1-w_5^0, yielding the new rule 64. Accelerated rule 55 with metering function 3-w_5^0, yielding the new rule 65. Accelerated rule 57 with metering function 1-w_5^0 (after adding w_5^0>=x_6^0), yielding the new rule 66. Accelerated rule 57 with metering function 1-x_6^0 (after adding w_5^0<=x_6^0), yielding the new rule 67. Accelerated rule 58 with metering function meter (where 3*meter==-x_6^0-w_5^0), yielding the new rule 68. Accelerated rule 59 with metering function 1-x_6^0, yielding the new rule 69. Removing the simple loops: 54 55 57 58 59. Accelerated all simple loops using metering functions (where possible): Start location: l18 64: l0 -> l0 : w_5^0'=1, x_6^0'=1+x_6^0-w_5^0, [ 2-x_6^0<=0 && 2+w_5^0<=2 ], cost: 4-4*w_5^0 65: l0 -> l0 : w_5^0'=3, x_6^0'=3+x_6^0-w_5^0, [ 2-x_6^0<=0 && -2+w_5^0==0 ], cost: 12-4*w_5^0 66: l0 -> l0 : w_5^0'=1, x_6^0'=1+x_6^0-w_5^0, [ 2+x_6^0<=2 && 2+w_5^0<=2 && w_5^0>=x_6^0 ], cost: 4-4*w_5^0 67: l0 -> l0 : w_5^0'=1-x_6^0+w_5^0, x_6^0'=1, [ 2+x_6^0<=2 && 2+w_5^0<=2 && w_5^0<=x_6^0 ], cost: 4-4*x_6^0 68: l0 -> l0 : w_5^0'=1, x_6^0'=2, [ x_6^0==0 && w_5^0==0 && 3*meter==-x_6^0-w_5^0 && meter>=1 ], cost: 2*meter 69: l0 -> l0 : w_5^0'=1-x_6^0+w_5^0, x_6^0'=1, [ 2+x_6^0<=2 && 3<=1+w_5^0 ], cost: 4-4*x_6^0 31: l18 -> l0 : [], cost: 2 39: l18 -> l0 : w_5^0'=1, x_6^0'=2, [ -1+x_6^0==0 && -1+w_5^0==0 ], cost: 6-2*x_6^0 Chained accelerated rules (with incoming rules): Start location: l18 31: l18 -> l0 : [], cost: 2 39: l18 -> l0 : w_5^0'=1, x_6^0'=2, [ -1+x_6^0==0 && -1+w_5^0==0 ], cost: 6-2*x_6^0 70: l18 -> l0 : w_5^0'=1, x_6^0'=1+x_6^0-w_5^0, [ 2-x_6^0<=0 && 2+w_5^0<=2 ], cost: 6-4*w_5^0 71: l18 -> l0 : w_5^0'=3, x_6^0'=3+x_6^0-w_5^0, [ 2-x_6^0<=0 && -2+w_5^0==0 ], cost: 14-4*w_5^0 72: l18 -> l0 : w_5^0'=1, x_6^0'=1+x_6^0-w_5^0, [ 2+x_6^0<=2 && 2+w_5^0<=2 && w_5^0>=x_6^0 ], cost: 6-4*w_5^0 73: l18 -> l0 : w_5^0'=1-x_6^0+w_5^0, x_6^0'=1, [ 2+x_6^0<=2 && 2+w_5^0<=2 && w_5^0<=x_6^0 ], cost: 6-4*x_6^0 74: l18 -> l0 : w_5^0'=1-x_6^0+w_5^0, x_6^0'=1, [ 2+x_6^0<=2 && 3<=1+w_5^0 ], cost: 6-4*x_6^0 Removed unreachable locations (and leaf rules with constant cost): Start location: l18 39: l18 -> l0 : w_5^0'=1, x_6^0'=2, [ -1+x_6^0==0 && -1+w_5^0==0 ], cost: 6-2*x_6^0 70: l18 -> l0 : w_5^0'=1, x_6^0'=1+x_6^0-w_5^0, [ 2-x_6^0<=0 && 2+w_5^0<=2 ], cost: 6-4*w_5^0 71: l18 -> l0 : w_5^0'=3, x_6^0'=3+x_6^0-w_5^0, [ 2-x_6^0<=0 && -2+w_5^0==0 ], cost: 14-4*w_5^0 72: l18 -> l0 : w_5^0'=1, x_6^0'=1+x_6^0-w_5^0, [ 2+x_6^0<=2 && 2+w_5^0<=2 && w_5^0>=x_6^0 ], cost: 6-4*w_5^0 73: l18 -> l0 : w_5^0'=1-x_6^0+w_5^0, x_6^0'=1, [ 2+x_6^0<=2 && 2+w_5^0<=2 && w_5^0<=x_6^0 ], cost: 6-4*x_6^0 74: l18 -> l0 : w_5^0'=1-x_6^0+w_5^0, x_6^0'=1, [ 2+x_6^0<=2 && 3<=1+w_5^0 ], cost: 6-4*x_6^0 ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: l18 39: l18 -> l0 : w_5^0'=1, x_6^0'=2, [ -1+x_6^0==0 && -1+w_5^0==0 ], cost: 6-2*x_6^0 70: l18 -> l0 : w_5^0'=1, x_6^0'=1+x_6^0-w_5^0, [ 2-x_6^0<=0 && 2+w_5^0<=2 ], cost: 6-4*w_5^0 71: l18 -> l0 : w_5^0'=3, x_6^0'=3+x_6^0-w_5^0, [ 2-x_6^0<=0 && -2+w_5^0==0 ], cost: 14-4*w_5^0 72: l18 -> l0 : w_5^0'=1, x_6^0'=1+x_6^0-w_5^0, [ 2+x_6^0<=2 && 2+w_5^0<=2 && w_5^0>=x_6^0 ], cost: 6-4*w_5^0 73: l18 -> l0 : w_5^0'=1-x_6^0+w_5^0, x_6^0'=1, [ 2+x_6^0<=2 && 2+w_5^0<=2 && w_5^0<=x_6^0 ], cost: 6-4*x_6^0 74: l18 -> l0 : w_5^0'=1-x_6^0+w_5^0, x_6^0'=1, [ 2+x_6^0<=2 && 3<=1+w_5^0 ], cost: 6-4*x_6^0 Computing asymptotic complexity for rule 39 Could not solve the limit problem. Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 70 Solved the limit problem by the following transformations: Created initial limit problem: 6-4*w_5^0 (+), 1-w_5^0 (+/+!), -1+x_6^0 (+/+!) [not solved] removing all constraints (solved by SMT) resulting limit problem: [solved] applying transformation rule (C) using substitution {x_6^0==n,w_5^0==-n} resulting limit problem: [solved] Solution: x_6^0 / n w_5^0 / -n Resulting cost 6+4*n has complexity: Poly(n^1) Found new complexity Poly(n^1). Obtained the following overall complexity (w.r.t. the length of the input n): Complexity: Poly(n^1) Cpx degree: 1 Solved cost: 6+4*n Rule cost: 6-4*w_5^0 Rule guard: [ 2-x_6^0<=0 && 2+w_5^0<=2 ] WORST_CASE(Omega(n^1),?)