WORST_CASE(Omega(1),?) ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: l18 0: l0 -> l1 : i^0'=i^post_1, j10^0'=j10^post_1, j6^0'=j6^post_1, j^0'=j^post_1, ret_check12^0'=ret_check12^post_1, ret_check8^0'=ret_check8^post_1, tmp^0'=tmp^post_1, [ 100<=i^0 && j^post_1==-2+i^0 && i^0==i^post_1 && j10^0==j10^post_1 && j6^0==j6^post_1 && ret_check12^0==ret_check12^post_1 && ret_check8^0==ret_check8^post_1 && tmp^0==tmp^post_1 ], cost: 1 1: l0 -> l2 : i^0'=i^post_2, j10^0'=j10^post_2, j6^0'=j6^post_2, j^0'=j^post_2, ret_check12^0'=ret_check12^post_2, ret_check8^0'=ret_check8^post_2, tmp^0'=tmp^post_2, [ 1+i^0<=100 && i^post_2==1+i^0 && j^0==j^post_2 && j10^0==j10^post_2 && j6^0==j6^post_2 && ret_check12^0==ret_check12^post_2 && ret_check8^0==ret_check8^post_2 && tmp^0==tmp^post_2 ], cost: 1 24: l1 -> l10 : i^0'=i^post_25, j10^0'=j10^post_25, j6^0'=j6^post_25, j^0'=j^post_25, ret_check12^0'=ret_check12^post_25, ret_check8^0'=ret_check8^post_25, tmp^0'=tmp^post_25, [ 1+i^0<=0 && j6^post_25==j^0 && i^0==i^post_25 && j^0==j^post_25 && j10^0==j10^post_25 && ret_check12^0==ret_check12^post_25 && ret_check8^0==ret_check8^post_25 && tmp^0==tmp^post_25 ], cost: 1 25: l1 -> l4 : i^0'=i^post_26, j10^0'=j10^post_26, j6^0'=j6^post_26, j^0'=j^post_26, ret_check12^0'=ret_check12^post_26, ret_check8^0'=ret_check8^post_26, tmp^0'=tmp^post_26, [ 0<=i^0 && i^0==i^post_26 && j^0==j^post_26 && j10^0==j10^post_26 && j6^0==j6^post_26 && ret_check12^0==ret_check12^post_26 && ret_check8^0==ret_check8^post_26 && tmp^0==tmp^post_26 ], cost: 1 3: l2 -> l0 : i^0'=i^post_4, j10^0'=j10^post_4, j6^0'=j6^post_4, j^0'=j^post_4, ret_check12^0'=ret_check12^post_4, ret_check8^0'=ret_check8^post_4, tmp^0'=tmp^post_4, [ i^0==i^post_4 && j^0==j^post_4 && j10^0==j10^post_4 && j6^0==j6^post_4 && ret_check12^0==ret_check12^post_4 && ret_check8^0==ret_check8^post_4 && tmp^0==tmp^post_4 ], cost: 1 2: l3 -> l4 : i^0'=i^post_3, j10^0'=j10^post_3, j6^0'=j6^post_3, j^0'=j^post_3, ret_check12^0'=ret_check12^post_3, ret_check8^0'=ret_check8^post_3, tmp^0'=tmp^post_3, [ i^0==i^post_3 && j^0==j^post_3 && j10^0==j10^post_3 && j6^0==j6^post_3 && ret_check12^0==ret_check12^post_3 && ret_check8^0==ret_check8^post_3 && tmp^0==tmp^post_3 ], cost: 1 4: l5 -> l6 : i^0'=i^post_5, j10^0'=j10^post_5, j6^0'=j6^post_5, j^0'=j^post_5, ret_check12^0'=ret_check12^post_5, ret_check8^0'=ret_check8^post_5, tmp^0'=tmp^post_5, [ i^0==i^post_5 && j^0==j^post_5 && j10^0==j10^post_5 && j6^0==j6^post_5 && ret_check12^0==ret_check12^post_5 && ret_check8^0==ret_check8^post_5 && tmp^0==tmp^post_5 ], cost: 1 18: l6 -> l9 : i^0'=i^post_19, j10^0'=j10^post_19, j6^0'=j6^post_19, j^0'=j^post_19, ret_check12^0'=ret_check12^post_19, ret_check8^0'=ret_check8^post_19, tmp^0'=tmp^post_19, [ i^0==i^post_19 && j^0==j^post_19 && j10^0==j10^post_19 && j6^0==j6^post_19 && ret_check12^0==ret_check12^post_19 && ret_check8^0==ret_check8^post_19 && tmp^0==tmp^post_19 ], cost: 1 5: l7 -> l5 : i^0'=i^post_6, j10^0'=j10^post_6, j6^0'=j6^post_6, j^0'=j^post_6, ret_check12^0'=ret_check12^post_6, ret_check8^0'=ret_check8^post_6, tmp^0'=tmp^post_6, [ j10^post_6==1+j10^0 && i^0==i^post_6 && j^0==j^post_6 && j6^0==j6^post_6 && ret_check12^0==ret_check12^post_6 && ret_check8^0==ret_check8^post_6 && tmp^0==tmp^post_6 ], cost: 1 6: l8 -> l7 : i^0'=i^post_7, j10^0'=j10^post_7, j6^0'=j6^post_7, j^0'=j^post_7, ret_check12^0'=ret_check12^post_7, ret_check8^0'=ret_check8^post_7, tmp^0'=tmp^post_7, [ i^0==i^post_7 && j^0==j^post_7 && j10^0==j10^post_7 && j6^0==j6^post_7 && ret_check12^0==ret_check12^post_7 && ret_check8^0==ret_check8^post_7 && tmp^0==tmp^post_7 ], cost: 1 7: l8 -> l5 : i^0'=i^post_8, j10^0'=j10^post_8, j6^0'=j6^post_8, j^0'=j^post_8, ret_check12^0'=ret_check12^post_8, ret_check8^0'=ret_check8^post_8, tmp^0'=tmp^post_8, [ i^0==i^post_8 && j^0==j^post_8 && j10^0==j10^post_8 && j6^0==j6^post_8 && ret_check12^0==ret_check12^post_8 && ret_check8^0==ret_check8^post_8 && tmp^0==tmp^post_8 ], cost: 1 8: l8 -> l7 : i^0'=i^post_9, j10^0'=j10^post_9, j6^0'=j6^post_9, j^0'=j^post_9, ret_check12^0'=ret_check12^post_9, ret_check8^0'=ret_check8^post_9, tmp^0'=tmp^post_9, [ i^0==i^post_9 && j^0==j^post_9 && j10^0==j10^post_9 && j6^0==j6^post_9 && ret_check12^0==ret_check12^post_9 && ret_check8^0==ret_check8^post_9 && tmp^0==tmp^post_9 ], cost: 1 9: l9 -> l3 : i^0'=i^post_10, j10^0'=j10^post_10, j6^0'=j6^post_10, j^0'=j^post_10, ret_check12^0'=ret_check12^post_10, ret_check8^0'=ret_check8^post_10, tmp^0'=tmp^post_10, [ ret_check12^post_10==j10^0 && j^post_10==ret_check12^post_10 && i^0==i^post_10 && j10^0==j10^post_10 && j6^0==j6^post_10 && ret_check8^0==ret_check8^post_10 && tmp^0==tmp^post_10 ], cost: 1 10: l9 -> l8 : i^0'=i^post_11, j10^0'=j10^post_11, j6^0'=j6^post_11, j^0'=j^post_11, ret_check12^0'=ret_check12^post_11, ret_check8^0'=ret_check8^post_11, tmp^0'=tmp^post_11, [ i^0==i^post_11 && j^0==j^post_11 && j10^0==j10^post_11 && j6^0==j6^post_11 && ret_check12^0==ret_check12^post_11 && ret_check8^0==ret_check8^post_11 && tmp^0==tmp^post_11 ], cost: 1 11: l10 -> l11 : i^0'=i^post_12, j10^0'=j10^post_12, j6^0'=j6^post_12, j^0'=j^post_12, ret_check12^0'=ret_check12^post_12, ret_check8^0'=ret_check8^post_12, tmp^0'=tmp^post_12, [ i^0==i^post_12 && j^0==j^post_12 && j10^0==j10^post_12 && j6^0==j6^post_12 && ret_check12^0==ret_check12^post_12 && ret_check8^0==ret_check8^post_12 && tmp^0==tmp^post_12 ], cost: 1 22: l11 -> l13 : i^0'=i^post_23, j10^0'=j10^post_23, j6^0'=j6^post_23, j^0'=j^post_23, ret_check12^0'=ret_check12^post_23, ret_check8^0'=ret_check8^post_23, tmp^0'=tmp^post_23, [ ret_check8^post_23==j6^0 && j^post_23==ret_check8^post_23 && tmp^post_23==tmp^post_23 && i^0==i^post_23 && j10^0==j10^post_23 && j6^0==j6^post_23 && ret_check12^0==ret_check12^post_23 ], cost: 1 23: l11 -> l16 : i^0'=i^post_24, j10^0'=j10^post_24, j6^0'=j6^post_24, j^0'=j^post_24, ret_check12^0'=ret_check12^post_24, ret_check8^0'=ret_check8^post_24, tmp^0'=tmp^post_24, [ i^0==i^post_24 && j^0==j^post_24 && j10^0==j10^post_24 && j6^0==j6^post_24 && ret_check12^0==ret_check12^post_24 && ret_check8^0==ret_check8^post_24 && tmp^0==tmp^post_24 ], cost: 1 12: l12 -> l6 : i^0'=i^post_13, j10^0'=j10^post_13, j6^0'=j6^post_13, j^0'=j^post_13, ret_check12^0'=ret_check12^post_13, ret_check8^0'=ret_check8^post_13, tmp^0'=tmp^post_13, [ j10^post_13==j^0 && i^0==i^post_13 && j^0==j^post_13 && j6^0==j6^post_13 && ret_check12^0==ret_check12^post_13 && ret_check8^0==ret_check8^post_13 && tmp^0==tmp^post_13 ], cost: 1 13: l13 -> l12 : i^0'=i^post_14, j10^0'=j10^post_14, j6^0'=j6^post_14, j^0'=j^post_14, ret_check12^0'=ret_check12^post_14, ret_check8^0'=ret_check8^post_14, tmp^0'=tmp^post_14, [ i^0==i^post_14 && j^0==j^post_14 && j10^0==j10^post_14 && j6^0==j6^post_14 && ret_check12^0==ret_check12^post_14 && ret_check8^0==ret_check8^post_14 && tmp^0==tmp^post_14 ], cost: 1 14: l13 -> l3 : i^0'=i^post_15, j10^0'=j10^post_15, j6^0'=j6^post_15, j^0'=j^post_15, ret_check12^0'=ret_check12^post_15, ret_check8^0'=ret_check8^post_15, tmp^0'=tmp^post_15, [ i^0==i^post_15 && j^0==j^post_15 && j10^0==j10^post_15 && j6^0==j6^post_15 && ret_check12^0==ret_check12^post_15 && ret_check8^0==ret_check8^post_15 && tmp^0==tmp^post_15 ], cost: 1 15: l13 -> l12 : i^0'=i^post_16, j10^0'=j10^post_16, j6^0'=j6^post_16, j^0'=j^post_16, ret_check12^0'=ret_check12^post_16, ret_check8^0'=ret_check8^post_16, tmp^0'=tmp^post_16, [ i^0==i^post_16 && j^0==j^post_16 && j10^0==j10^post_16 && j6^0==j6^post_16 && ret_check12^0==ret_check12^post_16 && ret_check8^0==ret_check8^post_16 && tmp^0==tmp^post_16 ], cost: 1 16: l14 -> l10 : i^0'=i^post_17, j10^0'=j10^post_17, j6^0'=j6^post_17, j^0'=j^post_17, ret_check12^0'=ret_check12^post_17, ret_check8^0'=ret_check8^post_17, tmp^0'=tmp^post_17, [ i^0==i^post_17 && j^0==j^post_17 && j10^0==j10^post_17 && j6^0==j6^post_17 && ret_check12^0==ret_check12^post_17 && ret_check8^0==ret_check8^post_17 && tmp^0==tmp^post_17 ], cost: 1 17: l15 -> l14 : i^0'=i^post_18, j10^0'=j10^post_18, j6^0'=j6^post_18, j^0'=j^post_18, ret_check12^0'=ret_check12^post_18, ret_check8^0'=ret_check8^post_18, tmp^0'=tmp^post_18, [ j6^post_18==1+j6^0 && i^0==i^post_18 && j^0==j^post_18 && j10^0==j10^post_18 && ret_check12^0==ret_check12^post_18 && ret_check8^0==ret_check8^post_18 && tmp^0==tmp^post_18 ], cost: 1 19: l16 -> l15 : i^0'=i^post_20, j10^0'=j10^post_20, j6^0'=j6^post_20, j^0'=j^post_20, ret_check12^0'=ret_check12^post_20, ret_check8^0'=ret_check8^post_20, tmp^0'=tmp^post_20, [ i^0==i^post_20 && j^0==j^post_20 && j10^0==j10^post_20 && j6^0==j6^post_20 && ret_check12^0==ret_check12^post_20 && ret_check8^0==ret_check8^post_20 && tmp^0==tmp^post_20 ], cost: 1 20: l16 -> l14 : i^0'=i^post_21, j10^0'=j10^post_21, j6^0'=j6^post_21, j^0'=j^post_21, ret_check12^0'=ret_check12^post_21, ret_check8^0'=ret_check8^post_21, tmp^0'=tmp^post_21, [ i^0==i^post_21 && j^0==j^post_21 && j10^0==j10^post_21 && j6^0==j6^post_21 && ret_check12^0==ret_check12^post_21 && ret_check8^0==ret_check8^post_21 && tmp^0==tmp^post_21 ], cost: 1 21: l16 -> l15 : i^0'=i^post_22, j10^0'=j10^post_22, j6^0'=j6^post_22, j^0'=j^post_22, ret_check12^0'=ret_check12^post_22, ret_check8^0'=ret_check8^post_22, tmp^0'=tmp^post_22, [ i^0==i^post_22 && j^0==j^post_22 && j10^0==j10^post_22 && j6^0==j6^post_22 && ret_check12^0==ret_check12^post_22 && ret_check8^0==ret_check8^post_22 && tmp^0==tmp^post_22 ], cost: 1 26: l17 -> l2 : i^0'=i^post_27, j10^0'=j10^post_27, j6^0'=j6^post_27, j^0'=j^post_27, ret_check12^0'=ret_check12^post_27, ret_check8^0'=ret_check8^post_27, tmp^0'=tmp^post_27, [ i^post_27==0 && j^0==j^post_27 && j10^0==j10^post_27 && j6^0==j6^post_27 && ret_check12^0==ret_check12^post_27 && ret_check8^0==ret_check8^post_27 && tmp^0==tmp^post_27 ], cost: 1 27: l18 -> l17 : i^0'=i^post_28, j10^0'=j10^post_28, j6^0'=j6^post_28, j^0'=j^post_28, ret_check12^0'=ret_check12^post_28, ret_check8^0'=ret_check8^post_28, tmp^0'=tmp^post_28, [ i^0==i^post_28 && j^0==j^post_28 && j10^0==j10^post_28 && j6^0==j6^post_28 && ret_check12^0==ret_check12^post_28 && ret_check8^0==ret_check8^post_28 && tmp^0==tmp^post_28 ], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 27: l18 -> l17 : i^0'=i^post_28, j10^0'=j10^post_28, j6^0'=j6^post_28, j^0'=j^post_28, ret_check12^0'=ret_check12^post_28, ret_check8^0'=ret_check8^post_28, tmp^0'=tmp^post_28, [ i^0==i^post_28 && j^0==j^post_28 && j10^0==j10^post_28 && j6^0==j6^post_28 && ret_check12^0==ret_check12^post_28 && ret_check8^0==ret_check8^post_28 && tmp^0==tmp^post_28 ], cost: 1 Removed unreachable and leaf rules: Start location: l18 0: l0 -> l1 : i^0'=i^post_1, j10^0'=j10^post_1, j6^0'=j6^post_1, j^0'=j^post_1, ret_check12^0'=ret_check12^post_1, ret_check8^0'=ret_check8^post_1, tmp^0'=tmp^post_1, [ 100<=i^0 && j^post_1==-2+i^0 && i^0==i^post_1 && j10^0==j10^post_1 && j6^0==j6^post_1 && ret_check12^0==ret_check12^post_1 && ret_check8^0==ret_check8^post_1 && tmp^0==tmp^post_1 ], cost: 1 1: l0 -> l2 : i^0'=i^post_2, j10^0'=j10^post_2, j6^0'=j6^post_2, j^0'=j^post_2, ret_check12^0'=ret_check12^post_2, ret_check8^0'=ret_check8^post_2, tmp^0'=tmp^post_2, [ 1+i^0<=100 && i^post_2==1+i^0 && j^0==j^post_2 && j10^0==j10^post_2 && j6^0==j6^post_2 && ret_check12^0==ret_check12^post_2 && ret_check8^0==ret_check8^post_2 && tmp^0==tmp^post_2 ], cost: 1 24: l1 -> l10 : i^0'=i^post_25, j10^0'=j10^post_25, j6^0'=j6^post_25, j^0'=j^post_25, ret_check12^0'=ret_check12^post_25, ret_check8^0'=ret_check8^post_25, tmp^0'=tmp^post_25, [ 1+i^0<=0 && j6^post_25==j^0 && i^0==i^post_25 && j^0==j^post_25 && j10^0==j10^post_25 && ret_check12^0==ret_check12^post_25 && ret_check8^0==ret_check8^post_25 && tmp^0==tmp^post_25 ], cost: 1 3: l2 -> l0 : i^0'=i^post_4, j10^0'=j10^post_4, j6^0'=j6^post_4, j^0'=j^post_4, ret_check12^0'=ret_check12^post_4, ret_check8^0'=ret_check8^post_4, tmp^0'=tmp^post_4, [ i^0==i^post_4 && j^0==j^post_4 && j10^0==j10^post_4 && j6^0==j6^post_4 && ret_check12^0==ret_check12^post_4 && ret_check8^0==ret_check8^post_4 && tmp^0==tmp^post_4 ], cost: 1 4: l5 -> l6 : i^0'=i^post_5, j10^0'=j10^post_5, j6^0'=j6^post_5, j^0'=j^post_5, ret_check12^0'=ret_check12^post_5, ret_check8^0'=ret_check8^post_5, tmp^0'=tmp^post_5, [ i^0==i^post_5 && j^0==j^post_5 && j10^0==j10^post_5 && j6^0==j6^post_5 && ret_check12^0==ret_check12^post_5 && ret_check8^0==ret_check8^post_5 && tmp^0==tmp^post_5 ], cost: 1 18: l6 -> l9 : i^0'=i^post_19, j10^0'=j10^post_19, j6^0'=j6^post_19, j^0'=j^post_19, ret_check12^0'=ret_check12^post_19, ret_check8^0'=ret_check8^post_19, tmp^0'=tmp^post_19, [ i^0==i^post_19 && j^0==j^post_19 && j10^0==j10^post_19 && j6^0==j6^post_19 && ret_check12^0==ret_check12^post_19 && ret_check8^0==ret_check8^post_19 && tmp^0==tmp^post_19 ], cost: 1 5: l7 -> l5 : i^0'=i^post_6, j10^0'=j10^post_6, j6^0'=j6^post_6, j^0'=j^post_6, ret_check12^0'=ret_check12^post_6, ret_check8^0'=ret_check8^post_6, tmp^0'=tmp^post_6, [ j10^post_6==1+j10^0 && i^0==i^post_6 && j^0==j^post_6 && j6^0==j6^post_6 && ret_check12^0==ret_check12^post_6 && ret_check8^0==ret_check8^post_6 && tmp^0==tmp^post_6 ], cost: 1 6: l8 -> l7 : i^0'=i^post_7, j10^0'=j10^post_7, j6^0'=j6^post_7, j^0'=j^post_7, ret_check12^0'=ret_check12^post_7, ret_check8^0'=ret_check8^post_7, tmp^0'=tmp^post_7, [ i^0==i^post_7 && j^0==j^post_7 && j10^0==j10^post_7 && j6^0==j6^post_7 && ret_check12^0==ret_check12^post_7 && ret_check8^0==ret_check8^post_7 && tmp^0==tmp^post_7 ], cost: 1 7: l8 -> l5 : i^0'=i^post_8, j10^0'=j10^post_8, j6^0'=j6^post_8, j^0'=j^post_8, ret_check12^0'=ret_check12^post_8, ret_check8^0'=ret_check8^post_8, tmp^0'=tmp^post_8, [ i^0==i^post_8 && j^0==j^post_8 && j10^0==j10^post_8 && j6^0==j6^post_8 && ret_check12^0==ret_check12^post_8 && ret_check8^0==ret_check8^post_8 && tmp^0==tmp^post_8 ], cost: 1 8: l8 -> l7 : i^0'=i^post_9, j10^0'=j10^post_9, j6^0'=j6^post_9, j^0'=j^post_9, ret_check12^0'=ret_check12^post_9, ret_check8^0'=ret_check8^post_9, tmp^0'=tmp^post_9, [ i^0==i^post_9 && j^0==j^post_9 && j10^0==j10^post_9 && j6^0==j6^post_9 && ret_check12^0==ret_check12^post_9 && ret_check8^0==ret_check8^post_9 && tmp^0==tmp^post_9 ], cost: 1 10: l9 -> l8 : i^0'=i^post_11, j10^0'=j10^post_11, j6^0'=j6^post_11, j^0'=j^post_11, ret_check12^0'=ret_check12^post_11, ret_check8^0'=ret_check8^post_11, tmp^0'=tmp^post_11, [ i^0==i^post_11 && j^0==j^post_11 && j10^0==j10^post_11 && j6^0==j6^post_11 && ret_check12^0==ret_check12^post_11 && ret_check8^0==ret_check8^post_11 && tmp^0==tmp^post_11 ], cost: 1 11: l10 -> l11 : i^0'=i^post_12, j10^0'=j10^post_12, j6^0'=j6^post_12, j^0'=j^post_12, ret_check12^0'=ret_check12^post_12, ret_check8^0'=ret_check8^post_12, tmp^0'=tmp^post_12, [ i^0==i^post_12 && j^0==j^post_12 && j10^0==j10^post_12 && j6^0==j6^post_12 && ret_check12^0==ret_check12^post_12 && ret_check8^0==ret_check8^post_12 && tmp^0==tmp^post_12 ], cost: 1 22: l11 -> l13 : i^0'=i^post_23, j10^0'=j10^post_23, j6^0'=j6^post_23, j^0'=j^post_23, ret_check12^0'=ret_check12^post_23, ret_check8^0'=ret_check8^post_23, tmp^0'=tmp^post_23, [ ret_check8^post_23==j6^0 && j^post_23==ret_check8^post_23 && tmp^post_23==tmp^post_23 && i^0==i^post_23 && j10^0==j10^post_23 && j6^0==j6^post_23 && ret_check12^0==ret_check12^post_23 ], cost: 1 23: l11 -> l16 : i^0'=i^post_24, j10^0'=j10^post_24, j6^0'=j6^post_24, j^0'=j^post_24, ret_check12^0'=ret_check12^post_24, ret_check8^0'=ret_check8^post_24, tmp^0'=tmp^post_24, [ i^0==i^post_24 && j^0==j^post_24 && j10^0==j10^post_24 && j6^0==j6^post_24 && ret_check12^0==ret_check12^post_24 && ret_check8^0==ret_check8^post_24 && tmp^0==tmp^post_24 ], cost: 1 12: l12 -> l6 : i^0'=i^post_13, j10^0'=j10^post_13, j6^0'=j6^post_13, j^0'=j^post_13, ret_check12^0'=ret_check12^post_13, ret_check8^0'=ret_check8^post_13, tmp^0'=tmp^post_13, [ j10^post_13==j^0 && i^0==i^post_13 && j^0==j^post_13 && j6^0==j6^post_13 && ret_check12^0==ret_check12^post_13 && ret_check8^0==ret_check8^post_13 && tmp^0==tmp^post_13 ], cost: 1 13: l13 -> l12 : i^0'=i^post_14, j10^0'=j10^post_14, j6^0'=j6^post_14, j^0'=j^post_14, ret_check12^0'=ret_check12^post_14, ret_check8^0'=ret_check8^post_14, tmp^0'=tmp^post_14, [ i^0==i^post_14 && j^0==j^post_14 && j10^0==j10^post_14 && j6^0==j6^post_14 && ret_check12^0==ret_check12^post_14 && ret_check8^0==ret_check8^post_14 && tmp^0==tmp^post_14 ], cost: 1 15: l13 -> l12 : i^0'=i^post_16, j10^0'=j10^post_16, j6^0'=j6^post_16, j^0'=j^post_16, ret_check12^0'=ret_check12^post_16, ret_check8^0'=ret_check8^post_16, tmp^0'=tmp^post_16, [ i^0==i^post_16 && j^0==j^post_16 && j10^0==j10^post_16 && j6^0==j6^post_16 && ret_check12^0==ret_check12^post_16 && ret_check8^0==ret_check8^post_16 && tmp^0==tmp^post_16 ], cost: 1 16: l14 -> l10 : i^0'=i^post_17, j10^0'=j10^post_17, j6^0'=j6^post_17, j^0'=j^post_17, ret_check12^0'=ret_check12^post_17, ret_check8^0'=ret_check8^post_17, tmp^0'=tmp^post_17, [ i^0==i^post_17 && j^0==j^post_17 && j10^0==j10^post_17 && j6^0==j6^post_17 && ret_check12^0==ret_check12^post_17 && ret_check8^0==ret_check8^post_17 && tmp^0==tmp^post_17 ], cost: 1 17: l15 -> l14 : i^0'=i^post_18, j10^0'=j10^post_18, j6^0'=j6^post_18, j^0'=j^post_18, ret_check12^0'=ret_check12^post_18, ret_check8^0'=ret_check8^post_18, tmp^0'=tmp^post_18, [ j6^post_18==1+j6^0 && i^0==i^post_18 && j^0==j^post_18 && j10^0==j10^post_18 && ret_check12^0==ret_check12^post_18 && ret_check8^0==ret_check8^post_18 && tmp^0==tmp^post_18 ], cost: 1 19: l16 -> l15 : i^0'=i^post_20, j10^0'=j10^post_20, j6^0'=j6^post_20, j^0'=j^post_20, ret_check12^0'=ret_check12^post_20, ret_check8^0'=ret_check8^post_20, tmp^0'=tmp^post_20, [ i^0==i^post_20 && j^0==j^post_20 && j10^0==j10^post_20 && j6^0==j6^post_20 && ret_check12^0==ret_check12^post_20 && ret_check8^0==ret_check8^post_20 && tmp^0==tmp^post_20 ], cost: 1 20: l16 -> l14 : i^0'=i^post_21, j10^0'=j10^post_21, j6^0'=j6^post_21, j^0'=j^post_21, ret_check12^0'=ret_check12^post_21, ret_check8^0'=ret_check8^post_21, tmp^0'=tmp^post_21, [ i^0==i^post_21 && j^0==j^post_21 && j10^0==j10^post_21 && j6^0==j6^post_21 && ret_check12^0==ret_check12^post_21 && ret_check8^0==ret_check8^post_21 && tmp^0==tmp^post_21 ], cost: 1 21: l16 -> l15 : i^0'=i^post_22, j10^0'=j10^post_22, j6^0'=j6^post_22, j^0'=j^post_22, ret_check12^0'=ret_check12^post_22, ret_check8^0'=ret_check8^post_22, tmp^0'=tmp^post_22, [ i^0==i^post_22 && j^0==j^post_22 && j10^0==j10^post_22 && j6^0==j6^post_22 && ret_check12^0==ret_check12^post_22 && ret_check8^0==ret_check8^post_22 && tmp^0==tmp^post_22 ], cost: 1 26: l17 -> l2 : i^0'=i^post_27, j10^0'=j10^post_27, j6^0'=j6^post_27, j^0'=j^post_27, ret_check12^0'=ret_check12^post_27, ret_check8^0'=ret_check8^post_27, tmp^0'=tmp^post_27, [ i^post_27==0 && j^0==j^post_27 && j10^0==j10^post_27 && j6^0==j6^post_27 && ret_check12^0==ret_check12^post_27 && ret_check8^0==ret_check8^post_27 && tmp^0==tmp^post_27 ], cost: 1 27: l18 -> l17 : i^0'=i^post_28, j10^0'=j10^post_28, j6^0'=j6^post_28, j^0'=j^post_28, ret_check12^0'=ret_check12^post_28, ret_check8^0'=ret_check8^post_28, tmp^0'=tmp^post_28, [ i^0==i^post_28 && j^0==j^post_28 && j10^0==j10^post_28 && j6^0==j6^post_28 && ret_check12^0==ret_check12^post_28 && ret_check8^0==ret_check8^post_28 && tmp^0==tmp^post_28 ], cost: 1 Simplified all rules, resulting in: Start location: l18 0: l0 -> l1 : j^0'=-2+i^0, [ 100<=i^0 ], cost: 1 1: l0 -> l2 : i^0'=1+i^0, [ 1+i^0<=100 ], cost: 1 24: l1 -> l10 : j6^0'=j^0, [ 1+i^0<=0 ], cost: 1 3: l2 -> l0 : [], cost: 1 4: l5 -> l6 : [], cost: 1 18: l6 -> l9 : [], cost: 1 5: l7 -> l5 : j10^0'=1+j10^0, [], cost: 1 7: l8 -> l5 : [], cost: 1 8: l8 -> l7 : [], cost: 1 10: l9 -> l8 : [], cost: 1 11: l10 -> l11 : [], cost: 1 22: l11 -> l13 : j^0'=j6^0, ret_check8^0'=j6^0, tmp^0'=tmp^post_23, [], cost: 1 23: l11 -> l16 : [], cost: 1 12: l12 -> l6 : j10^0'=j^0, [], cost: 1 15: l13 -> l12 : [], cost: 1 16: l14 -> l10 : [], cost: 1 17: l15 -> l14 : j6^0'=1+j6^0, [], cost: 1 20: l16 -> l14 : [], cost: 1 21: l16 -> l15 : [], cost: 1 26: l17 -> l2 : i^0'=0, [], cost: 1 27: l18 -> l17 : [], cost: 1 ### Simplification by acceleration and chaining ### Eliminated locations (on linear paths): Start location: l18 1: l0 -> l2 : i^0'=1+i^0, [ 1+i^0<=100 ], cost: 1 3: l2 -> l0 : [], cost: 1 4: l5 -> l6 : [], cost: 1 18: l6 -> l9 : [], cost: 1 5: l7 -> l5 : j10^0'=1+j10^0, [], cost: 1 7: l8 -> l5 : [], cost: 1 8: l8 -> l7 : [], cost: 1 10: l9 -> l8 : [], cost: 1 11: l10 -> l11 : [], cost: 1 22: l11 -> l13 : j^0'=j6^0, ret_check8^0'=j6^0, tmp^0'=tmp^post_23, [], cost: 1 23: l11 -> l16 : [], cost: 1 12: l12 -> l6 : j10^0'=j^0, [], cost: 1 15: l13 -> l12 : [], cost: 1 16: l14 -> l10 : [], cost: 1 17: l15 -> l14 : j6^0'=1+j6^0, [], cost: 1 20: l16 -> l14 : [], cost: 1 21: l16 -> l15 : [], cost: 1 28: l18 -> l2 : i^0'=0, [], cost: 2 Removed unreachable locations (and leaf rules with constant cost): Start location: l18 1: l0 -> l2 : i^0'=1+i^0, [ 1+i^0<=100 ], cost: 1 3: l2 -> l0 : [], cost: 1 28: l18 -> l2 : i^0'=0, [], cost: 2 Eliminated locations (on linear paths): Start location: l18 29: l2 -> l2 : i^0'=1+i^0, [ 1+i^0<=100 ], cost: 2 28: l18 -> l2 : i^0'=0, [], cost: 2 Accelerating simple loops of location 2. Accelerating the following rules: 29: l2 -> l2 : i^0'=1+i^0, [ 1+i^0<=100 ], cost: 2 Accelerated rule 29 with backward acceleration, yielding the new rule 30. [accelerate] Nesting with 1 inner and 1 outer candidates Removing the simple loops: 29. Accelerated all simple loops using metering functions (where possible): Start location: l18 30: l2 -> l2 : i^0'=100, [ 100-i^0>=0 ], cost: 200-2*i^0 28: l18 -> l2 : i^0'=0, [], cost: 2 Chained accelerated rules (with incoming rules): Start location: l18 28: l18 -> l2 : i^0'=0, [], cost: 2 31: l18 -> l2 : i^0'=100, [], cost: 202 Removed unreachable locations (and leaf rules with constant cost): Start location: l18 ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: l18 Obtained the following overall complexity (w.r.t. the length of the input n): Complexity: Constant Cpx degree: 0 Solved cost: 1 Rule cost: 1 Rule guard: [ i^0==i^post_28 && j^0==j^post_28 && j10^0==j10^post_28 && j6^0==j6^post_28 && ret_check12^0==ret_check12^post_28 && ret_check8^0==ret_check8^post_28 && tmp^0==tmp^post_28 ] WORST_CASE(Omega(1),?)