WORST_CASE(Omega(1),?) ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: l16 0: l0 -> l1 : buffer^0'=buffer^post_1, c1^0'=c1^post_1, c2^0'=c2^post_1, it^0'=it^post_1, pattern^0'=pattern^post_1, seqlen^0'=seqlen^post_1, xx^0'=xx^post_1, yy^0'=yy^post_1, z^0'=z^post_1, [ buffer^0==buffer^post_1 && c1^0==c1^post_1 && c2^0==c2^post_1 && it^0==it^post_1 && pattern^0==pattern^post_1 && seqlen^0==seqlen^post_1 && xx^0==xx^post_1 && yy^0==yy^post_1 && z^0==z^post_1 ], cost: 1 23: l1 -> l13 : buffer^0'=buffer^post_24, c1^0'=c1^post_24, c2^0'=c2^post_24, it^0'=it^post_24, pattern^0'=pattern^post_24, seqlen^0'=seqlen^post_24, xx^0'=xx^post_24, yy^0'=yy^post_24, z^0'=z^post_24, [ 1+yy^0<=xx^0 && buffer^0==buffer^post_24 && c1^0==c1^post_24 && c2^0==c2^post_24 && it^0==it^post_24 && pattern^0==pattern^post_24 && seqlen^0==seqlen^post_24 && xx^0==xx^post_24 && yy^0==yy^post_24 && z^0==z^post_24 ], cost: 1 24: l1 -> l13 : buffer^0'=buffer^post_25, c1^0'=c1^post_25, c2^0'=c2^post_25, it^0'=it^post_25, pattern^0'=pattern^post_25, seqlen^0'=seqlen^post_25, xx^0'=xx^post_25, yy^0'=yy^post_25, z^0'=z^post_25, [ 1+xx^0<=yy^0 && buffer^0==buffer^post_25 && c1^0==c1^post_25 && c2^0==c2^post_25 && it^0==it^post_25 && pattern^0==pattern^post_25 && seqlen^0==seqlen^post_25 && xx^0==xx^post_25 && yy^0==yy^post_25 && z^0==z^post_25 ], cost: 1 25: l1 -> l15 : buffer^0'=buffer^post_26, c1^0'=c1^post_26, c2^0'=c2^post_26, it^0'=it^post_26, pattern^0'=pattern^post_26, seqlen^0'=seqlen^post_26, xx^0'=xx^post_26, yy^0'=yy^post_26, z^0'=z^post_26, [ xx^0<=yy^0 && yy^0<=xx^0 && buffer^0==buffer^post_26 && c1^0==c1^post_26 && c2^0==c2^post_26 && it^0==it^post_26 && pattern^0==pattern^post_26 && seqlen^0==seqlen^post_26 && xx^0==xx^post_26 && yy^0==yy^post_26 && z^0==z^post_26 ], cost: 1 1: l2 -> l0 : buffer^0'=buffer^post_2, c1^0'=c1^post_2, c2^0'=c2^post_2, it^0'=it^post_2, pattern^0'=pattern^post_2, seqlen^0'=seqlen^post_2, xx^0'=xx^post_2, yy^0'=yy^post_2, z^0'=z^post_2, [ yy^post_2==1 && buffer^0==buffer^post_2 && c1^0==c1^post_2 && c2^0==c2^post_2 && it^0==it^post_2 && pattern^0==pattern^post_2 && seqlen^0==seqlen^post_2 && xx^0==xx^post_2 && z^0==z^post_2 ], cost: 1 2: l3 -> l4 : buffer^0'=buffer^post_3, c1^0'=c1^post_3, c2^0'=c2^post_3, it^0'=it^post_3, pattern^0'=pattern^post_3, seqlen^0'=seqlen^post_3, xx^0'=xx^post_3, yy^0'=yy^post_3, z^0'=z^post_3, [ xx^post_3==1 && buffer^0==buffer^post_3 && c1^0==c1^post_3 && c2^0==c2^post_3 && it^0==it^post_3 && pattern^0==pattern^post_3 && seqlen^0==seqlen^post_3 && yy^0==yy^post_3 && z^0==z^post_3 ], cost: 1 3: l4 -> l2 : buffer^0'=buffer^post_4, c1^0'=c1^post_4, c2^0'=c2^post_4, it^0'=it^post_4, pattern^0'=pattern^post_4, seqlen^0'=seqlen^post_4, xx^0'=xx^post_4, yy^0'=yy^post_4, z^0'=z^post_4, [ 1<=c2^0 && buffer^0==buffer^post_4 && c1^0==c1^post_4 && c2^0==c2^post_4 && it^0==it^post_4 && pattern^0==pattern^post_4 && seqlen^0==seqlen^post_4 && xx^0==xx^post_4 && yy^0==yy^post_4 && z^0==z^post_4 ], cost: 1 4: l4 -> l2 : buffer^0'=buffer^post_5, c1^0'=c1^post_5, c2^0'=c2^post_5, it^0'=it^post_5, pattern^0'=pattern^post_5, seqlen^0'=seqlen^post_5, xx^0'=xx^post_5, yy^0'=yy^post_5, z^0'=z^post_5, [ 1+c2^0<=0 && buffer^0==buffer^post_5 && c1^0==c1^post_5 && c2^0==c2^post_5 && it^0==it^post_5 && pattern^0==pattern^post_5 && seqlen^0==seqlen^post_5 && xx^0==xx^post_5 && yy^0==yy^post_5 && z^0==z^post_5 ], cost: 1 5: l4 -> l0 : buffer^0'=buffer^post_6, c1^0'=c1^post_6, c2^0'=c2^post_6, it^0'=it^post_6, pattern^0'=pattern^post_6, seqlen^0'=seqlen^post_6, xx^0'=xx^post_6, yy^0'=yy^post_6, z^0'=z^post_6, [ c2^0<=0 && 0<=c2^0 && yy^post_6==0 && buffer^0==buffer^post_6 && c1^0==c1^post_6 && c2^0==c2^post_6 && it^0==it^post_6 && pattern^0==pattern^post_6 && seqlen^0==seqlen^post_6 && xx^0==xx^post_6 && z^0==z^post_6 ], cost: 1 6: l5 -> l6 : buffer^0'=buffer^post_7, c1^0'=c1^post_7, c2^0'=c2^post_7, it^0'=it^post_7, pattern^0'=pattern^post_7, seqlen^0'=seqlen^post_7, xx^0'=xx^post_7, yy^0'=yy^post_7, z^0'=z^post_7, [ z^post_7==-1+z^0 && c1^post_7==c1^post_7 && c2^post_7==c2^post_7 && buffer^0==buffer^post_7 && it^0==it^post_7 && pattern^0==pattern^post_7 && seqlen^0==seqlen^post_7 && xx^0==xx^post_7 && yy^0==yy^post_7 ], cost: 1 10: l6 -> l3 : buffer^0'=buffer^post_11, c1^0'=c1^post_11, c2^0'=c2^post_11, it^0'=it^post_11, pattern^0'=pattern^post_11, seqlen^0'=seqlen^post_11, xx^0'=xx^post_11, yy^0'=yy^post_11, z^0'=z^post_11, [ 1<=c1^0 && buffer^0==buffer^post_11 && c1^0==c1^post_11 && c2^0==c2^post_11 && it^0==it^post_11 && pattern^0==pattern^post_11 && seqlen^0==seqlen^post_11 && xx^0==xx^post_11 && yy^0==yy^post_11 && z^0==z^post_11 ], cost: 1 11: l6 -> l3 : buffer^0'=buffer^post_12, c1^0'=c1^post_12, c2^0'=c2^post_12, it^0'=it^post_12, pattern^0'=pattern^post_12, seqlen^0'=seqlen^post_12, xx^0'=xx^post_12, yy^0'=yy^post_12, z^0'=z^post_12, [ 1+c1^0<=0 && buffer^0==buffer^post_12 && c1^0==c1^post_12 && c2^0==c2^post_12 && it^0==it^post_12 && pattern^0==pattern^post_12 && seqlen^0==seqlen^post_12 && xx^0==xx^post_12 && yy^0==yy^post_12 && z^0==z^post_12 ], cost: 1 12: l6 -> l4 : buffer^0'=buffer^post_13, c1^0'=c1^post_13, c2^0'=c2^post_13, it^0'=it^post_13, pattern^0'=pattern^post_13, seqlen^0'=seqlen^post_13, xx^0'=xx^post_13, yy^0'=yy^post_13, z^0'=z^post_13, [ c1^0<=0 && 0<=c1^0 && xx^post_13==0 && buffer^0==buffer^post_13 && c1^0==c1^post_13 && c2^0==c2^post_13 && it^0==it^post_13 && pattern^0==pattern^post_13 && seqlen^0==seqlen^post_13 && yy^0==yy^post_13 && z^0==z^post_13 ], cost: 1 7: l7 -> l6 : buffer^0'=buffer^post_8, c1^0'=c1^post_8, c2^0'=c2^post_8, it^0'=it^post_8, pattern^0'=pattern^post_8, seqlen^0'=seqlen^post_8, xx^0'=xx^post_8, yy^0'=yy^post_8, z^0'=z^post_8, [ z^post_8==z^post_8 && 1<=z^post_8 && seqlen^post_8==1+seqlen^0 && it^post_8==seqlen^post_8 && buffer^0==buffer^post_8 && c1^0==c1^post_8 && c2^0==c2^post_8 && pattern^0==pattern^post_8 && xx^0==xx^post_8 && yy^0==yy^post_8 ], cost: 1 8: l8 -> l7 : buffer^0'=buffer^post_9, c1^0'=c1^post_9, c2^0'=c2^post_9, it^0'=it^post_9, pattern^0'=pattern^post_9, seqlen^0'=seqlen^post_9, xx^0'=xx^post_9, yy^0'=yy^post_9, z^0'=z^post_9, [ 1+pattern^0<=3 && pattern^post_9==1+pattern^0 && buffer^0==buffer^post_9 && c1^0==c1^post_9 && c2^0==c2^post_9 && it^0==it^post_9 && seqlen^0==seqlen^post_9 && xx^0==xx^post_9 && yy^0==yy^post_9 && z^0==z^post_9 ], cost: 1 9: l8 -> l7 : buffer^0'=buffer^post_10, c1^0'=c1^post_10, c2^0'=c2^post_10, it^0'=it^post_10, pattern^0'=pattern^post_10, seqlen^0'=seqlen^post_10, xx^0'=xx^post_10, yy^0'=yy^post_10, z^0'=z^post_10, [ 3<=pattern^0 && pattern^post_10==0 && buffer^0==buffer^post_10 && c1^0==c1^post_10 && c2^0==c2^post_10 && it^0==it^post_10 && seqlen^0==seqlen^post_10 && xx^0==xx^post_10 && yy^0==yy^post_10 && z^0==z^post_10 ], cost: 1 13: l9 -> l0 : buffer^0'=buffer^post_14, c1^0'=c1^post_14, c2^0'=c2^post_14, it^0'=it^post_14, pattern^0'=pattern^post_14, seqlen^0'=seqlen^post_14, xx^0'=xx^post_14, yy^0'=yy^post_14, z^0'=z^post_14, [ pattern^post_14==0 && seqlen^post_14==1 && it^post_14==seqlen^post_14 && xx^post_14==0 && yy^post_14==0 && z^post_14==z^post_14 && 1<=z^post_14 && buffer^0==buffer^post_14 && c1^0==c1^post_14 && c2^0==c2^post_14 ], cost: 1 14: l10 -> l6 : buffer^0'=buffer^post_15, c1^0'=c1^post_15, c2^0'=c2^post_15, it^0'=it^post_15, pattern^0'=pattern^post_15, seqlen^0'=seqlen^post_15, xx^0'=xx^post_15, yy^0'=yy^post_15, z^0'=z^post_15, [ c1^post_15==buffer^0 && buffer^0==buffer^post_15 && c2^0==c2^post_15 && it^0==it^post_15 && pattern^0==pattern^post_15 && seqlen^0==seqlen^post_15 && xx^0==xx^post_15 && yy^0==yy^post_15 && z^0==z^post_15 ], cost: 1 15: l11 -> l10 : buffer^0'=buffer^post_16, c1^0'=c1^post_16, c2^0'=c2^post_16, it^0'=it^post_16, pattern^0'=pattern^post_16, seqlen^0'=seqlen^post_16, xx^0'=xx^post_16, yy^0'=yy^post_16, z^0'=z^post_16, [ buffer^0<=2 && c2^post_16==0 && buffer^0==buffer^post_16 && c1^0==c1^post_16 && it^0==it^post_16 && pattern^0==pattern^post_16 && seqlen^0==seqlen^post_16 && xx^0==xx^post_16 && yy^0==yy^post_16 && z^0==z^post_16 ], cost: 1 16: l11 -> l10 : buffer^0'=buffer^post_17, c1^0'=c1^post_17, c2^0'=c2^post_17, it^0'=it^post_17, pattern^0'=pattern^post_17, seqlen^0'=seqlen^post_17, xx^0'=xx^post_17, yy^0'=yy^post_17, z^0'=z^post_17, [ 3<=buffer^0 && c2^post_17==1 && buffer^post_17==-2+buffer^0 && c1^0==c1^post_17 && it^0==it^post_17 && pattern^0==pattern^post_17 && seqlen^0==seqlen^post_17 && xx^0==xx^post_17 && yy^0==yy^post_17 && z^0==z^post_17 ], cost: 1 17: l12 -> l8 : buffer^0'=buffer^post_18, c1^0'=c1^post_18, c2^0'=c2^post_18, it^0'=it^post_18, pattern^0'=pattern^post_18, seqlen^0'=seqlen^post_18, xx^0'=xx^post_18, yy^0'=yy^post_18, z^0'=z^post_18, [ it^0<=0 && buffer^0==buffer^post_18 && c1^0==c1^post_18 && c2^0==c2^post_18 && it^0==it^post_18 && pattern^0==pattern^post_18 && seqlen^0==seqlen^post_18 && xx^0==xx^post_18 && yy^0==yy^post_18 && z^0==z^post_18 ], cost: 1 18: l12 -> l11 : buffer^0'=buffer^post_19, c1^0'=c1^post_19, c2^0'=c2^post_19, it^0'=it^post_19, pattern^0'=pattern^post_19, seqlen^0'=seqlen^post_19, xx^0'=xx^post_19, yy^0'=yy^post_19, z^0'=z^post_19, [ 1<=it^0 && it^post_19==-1+it^0 && buffer^post_19==pattern^0 && c1^0==c1^post_19 && c2^0==c2^post_19 && pattern^0==pattern^post_19 && seqlen^0==seqlen^post_19 && xx^0==xx^post_19 && yy^0==yy^post_19 && z^0==z^post_19 ], cost: 1 19: l13 -> l14 : buffer^0'=buffer^post_20, c1^0'=c1^post_20, c2^0'=c2^post_20, it^0'=it^post_20, pattern^0'=pattern^post_20, seqlen^0'=seqlen^post_20, xx^0'=xx^post_20, yy^0'=yy^post_20, z^0'=z^post_20, [ buffer^0==buffer^post_20 && c1^0==c1^post_20 && c2^0==c2^post_20 && it^0==it^post_20 && pattern^0==pattern^post_20 && seqlen^0==seqlen^post_20 && xx^0==xx^post_20 && yy^0==yy^post_20 && z^0==z^post_20 ], cost: 1 20: l15 -> l5 : buffer^0'=buffer^post_21, c1^0'=c1^post_21, c2^0'=c2^post_21, it^0'=it^post_21, pattern^0'=pattern^post_21, seqlen^0'=seqlen^post_21, xx^0'=xx^post_21, yy^0'=yy^post_21, z^0'=z^post_21, [ 1<=z^0 && buffer^0==buffer^post_21 && c1^0==c1^post_21 && c2^0==c2^post_21 && it^0==it^post_21 && pattern^0==pattern^post_21 && seqlen^0==seqlen^post_21 && xx^0==xx^post_21 && yy^0==yy^post_21 && z^0==z^post_21 ], cost: 1 21: l15 -> l5 : buffer^0'=buffer^post_22, c1^0'=c1^post_22, c2^0'=c2^post_22, it^0'=it^post_22, pattern^0'=pattern^post_22, seqlen^0'=seqlen^post_22, xx^0'=xx^post_22, yy^0'=yy^post_22, z^0'=z^post_22, [ 1+z^0<=0 && buffer^0==buffer^post_22 && c1^0==c1^post_22 && c2^0==c2^post_22 && it^0==it^post_22 && pattern^0==pattern^post_22 && seqlen^0==seqlen^post_22 && xx^0==xx^post_22 && yy^0==yy^post_22 && z^0==z^post_22 ], cost: 1 22: l15 -> l12 : buffer^0'=buffer^post_23, c1^0'=c1^post_23, c2^0'=c2^post_23, it^0'=it^post_23, pattern^0'=pattern^post_23, seqlen^0'=seqlen^post_23, xx^0'=xx^post_23, yy^0'=yy^post_23, z^0'=z^post_23, [ z^0<=0 && 0<=z^0 && buffer^0==buffer^post_23 && c1^0==c1^post_23 && c2^0==c2^post_23 && it^0==it^post_23 && pattern^0==pattern^post_23 && seqlen^0==seqlen^post_23 && xx^0==xx^post_23 && yy^0==yy^post_23 && z^0==z^post_23 ], cost: 1 26: l16 -> l9 : buffer^0'=buffer^post_27, c1^0'=c1^post_27, c2^0'=c2^post_27, it^0'=it^post_27, pattern^0'=pattern^post_27, seqlen^0'=seqlen^post_27, xx^0'=xx^post_27, yy^0'=yy^post_27, z^0'=z^post_27, [ buffer^0==buffer^post_27 && c1^0==c1^post_27 && c2^0==c2^post_27 && it^0==it^post_27 && pattern^0==pattern^post_27 && seqlen^0==seqlen^post_27 && xx^0==xx^post_27 && yy^0==yy^post_27 && z^0==z^post_27 ], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 26: l16 -> l9 : buffer^0'=buffer^post_27, c1^0'=c1^post_27, c2^0'=c2^post_27, it^0'=it^post_27, pattern^0'=pattern^post_27, seqlen^0'=seqlen^post_27, xx^0'=xx^post_27, yy^0'=yy^post_27, z^0'=z^post_27, [ buffer^0==buffer^post_27 && c1^0==c1^post_27 && c2^0==c2^post_27 && it^0==it^post_27 && pattern^0==pattern^post_27 && seqlen^0==seqlen^post_27 && xx^0==xx^post_27 && yy^0==yy^post_27 && z^0==z^post_27 ], cost: 1 Removed unreachable and leaf rules: Start location: l16 0: l0 -> l1 : buffer^0'=buffer^post_1, c1^0'=c1^post_1, c2^0'=c2^post_1, it^0'=it^post_1, pattern^0'=pattern^post_1, seqlen^0'=seqlen^post_1, xx^0'=xx^post_1, yy^0'=yy^post_1, z^0'=z^post_1, [ buffer^0==buffer^post_1 && c1^0==c1^post_1 && c2^0==c2^post_1 && it^0==it^post_1 && pattern^0==pattern^post_1 && seqlen^0==seqlen^post_1 && xx^0==xx^post_1 && yy^0==yy^post_1 && z^0==z^post_1 ], cost: 1 25: l1 -> l15 : buffer^0'=buffer^post_26, c1^0'=c1^post_26, c2^0'=c2^post_26, it^0'=it^post_26, pattern^0'=pattern^post_26, seqlen^0'=seqlen^post_26, xx^0'=xx^post_26, yy^0'=yy^post_26, z^0'=z^post_26, [ xx^0<=yy^0 && yy^0<=xx^0 && buffer^0==buffer^post_26 && c1^0==c1^post_26 && c2^0==c2^post_26 && it^0==it^post_26 && pattern^0==pattern^post_26 && seqlen^0==seqlen^post_26 && xx^0==xx^post_26 && yy^0==yy^post_26 && z^0==z^post_26 ], cost: 1 1: l2 -> l0 : buffer^0'=buffer^post_2, c1^0'=c1^post_2, c2^0'=c2^post_2, it^0'=it^post_2, pattern^0'=pattern^post_2, seqlen^0'=seqlen^post_2, xx^0'=xx^post_2, yy^0'=yy^post_2, z^0'=z^post_2, [ yy^post_2==1 && buffer^0==buffer^post_2 && c1^0==c1^post_2 && c2^0==c2^post_2 && it^0==it^post_2 && pattern^0==pattern^post_2 && seqlen^0==seqlen^post_2 && xx^0==xx^post_2 && z^0==z^post_2 ], cost: 1 2: l3 -> l4 : buffer^0'=buffer^post_3, c1^0'=c1^post_3, c2^0'=c2^post_3, it^0'=it^post_3, pattern^0'=pattern^post_3, seqlen^0'=seqlen^post_3, xx^0'=xx^post_3, yy^0'=yy^post_3, z^0'=z^post_3, [ xx^post_3==1 && buffer^0==buffer^post_3 && c1^0==c1^post_3 && c2^0==c2^post_3 && it^0==it^post_3 && pattern^0==pattern^post_3 && seqlen^0==seqlen^post_3 && yy^0==yy^post_3 && z^0==z^post_3 ], cost: 1 3: l4 -> l2 : buffer^0'=buffer^post_4, c1^0'=c1^post_4, c2^0'=c2^post_4, it^0'=it^post_4, pattern^0'=pattern^post_4, seqlen^0'=seqlen^post_4, xx^0'=xx^post_4, yy^0'=yy^post_4, z^0'=z^post_4, [ 1<=c2^0 && buffer^0==buffer^post_4 && c1^0==c1^post_4 && c2^0==c2^post_4 && it^0==it^post_4 && pattern^0==pattern^post_4 && seqlen^0==seqlen^post_4 && xx^0==xx^post_4 && yy^0==yy^post_4 && z^0==z^post_4 ], cost: 1 4: l4 -> l2 : buffer^0'=buffer^post_5, c1^0'=c1^post_5, c2^0'=c2^post_5, it^0'=it^post_5, pattern^0'=pattern^post_5, seqlen^0'=seqlen^post_5, xx^0'=xx^post_5, yy^0'=yy^post_5, z^0'=z^post_5, [ 1+c2^0<=0 && buffer^0==buffer^post_5 && c1^0==c1^post_5 && c2^0==c2^post_5 && it^0==it^post_5 && pattern^0==pattern^post_5 && seqlen^0==seqlen^post_5 && xx^0==xx^post_5 && yy^0==yy^post_5 && z^0==z^post_5 ], cost: 1 5: l4 -> l0 : buffer^0'=buffer^post_6, c1^0'=c1^post_6, c2^0'=c2^post_6, it^0'=it^post_6, pattern^0'=pattern^post_6, seqlen^0'=seqlen^post_6, xx^0'=xx^post_6, yy^0'=yy^post_6, z^0'=z^post_6, [ c2^0<=0 && 0<=c2^0 && yy^post_6==0 && buffer^0==buffer^post_6 && c1^0==c1^post_6 && c2^0==c2^post_6 && it^0==it^post_6 && pattern^0==pattern^post_6 && seqlen^0==seqlen^post_6 && xx^0==xx^post_6 && z^0==z^post_6 ], cost: 1 6: l5 -> l6 : buffer^0'=buffer^post_7, c1^0'=c1^post_7, c2^0'=c2^post_7, it^0'=it^post_7, pattern^0'=pattern^post_7, seqlen^0'=seqlen^post_7, xx^0'=xx^post_7, yy^0'=yy^post_7, z^0'=z^post_7, [ z^post_7==-1+z^0 && c1^post_7==c1^post_7 && c2^post_7==c2^post_7 && buffer^0==buffer^post_7 && it^0==it^post_7 && pattern^0==pattern^post_7 && seqlen^0==seqlen^post_7 && xx^0==xx^post_7 && yy^0==yy^post_7 ], cost: 1 10: l6 -> l3 : buffer^0'=buffer^post_11, c1^0'=c1^post_11, c2^0'=c2^post_11, it^0'=it^post_11, pattern^0'=pattern^post_11, seqlen^0'=seqlen^post_11, xx^0'=xx^post_11, yy^0'=yy^post_11, z^0'=z^post_11, [ 1<=c1^0 && buffer^0==buffer^post_11 && c1^0==c1^post_11 && c2^0==c2^post_11 && it^0==it^post_11 && pattern^0==pattern^post_11 && seqlen^0==seqlen^post_11 && xx^0==xx^post_11 && yy^0==yy^post_11 && z^0==z^post_11 ], cost: 1 11: l6 -> l3 : buffer^0'=buffer^post_12, c1^0'=c1^post_12, c2^0'=c2^post_12, it^0'=it^post_12, pattern^0'=pattern^post_12, seqlen^0'=seqlen^post_12, xx^0'=xx^post_12, yy^0'=yy^post_12, z^0'=z^post_12, [ 1+c1^0<=0 && buffer^0==buffer^post_12 && c1^0==c1^post_12 && c2^0==c2^post_12 && it^0==it^post_12 && pattern^0==pattern^post_12 && seqlen^0==seqlen^post_12 && xx^0==xx^post_12 && yy^0==yy^post_12 && z^0==z^post_12 ], cost: 1 12: l6 -> l4 : buffer^0'=buffer^post_13, c1^0'=c1^post_13, c2^0'=c2^post_13, it^0'=it^post_13, pattern^0'=pattern^post_13, seqlen^0'=seqlen^post_13, xx^0'=xx^post_13, yy^0'=yy^post_13, z^0'=z^post_13, [ c1^0<=0 && 0<=c1^0 && xx^post_13==0 && buffer^0==buffer^post_13 && c1^0==c1^post_13 && c2^0==c2^post_13 && it^0==it^post_13 && pattern^0==pattern^post_13 && seqlen^0==seqlen^post_13 && yy^0==yy^post_13 && z^0==z^post_13 ], cost: 1 7: l7 -> l6 : buffer^0'=buffer^post_8, c1^0'=c1^post_8, c2^0'=c2^post_8, it^0'=it^post_8, pattern^0'=pattern^post_8, seqlen^0'=seqlen^post_8, xx^0'=xx^post_8, yy^0'=yy^post_8, z^0'=z^post_8, [ z^post_8==z^post_8 && 1<=z^post_8 && seqlen^post_8==1+seqlen^0 && it^post_8==seqlen^post_8 && buffer^0==buffer^post_8 && c1^0==c1^post_8 && c2^0==c2^post_8 && pattern^0==pattern^post_8 && xx^0==xx^post_8 && yy^0==yy^post_8 ], cost: 1 8: l8 -> l7 : buffer^0'=buffer^post_9, c1^0'=c1^post_9, c2^0'=c2^post_9, it^0'=it^post_9, pattern^0'=pattern^post_9, seqlen^0'=seqlen^post_9, xx^0'=xx^post_9, yy^0'=yy^post_9, z^0'=z^post_9, [ 1+pattern^0<=3 && pattern^post_9==1+pattern^0 && buffer^0==buffer^post_9 && c1^0==c1^post_9 && c2^0==c2^post_9 && it^0==it^post_9 && seqlen^0==seqlen^post_9 && xx^0==xx^post_9 && yy^0==yy^post_9 && z^0==z^post_9 ], cost: 1 9: l8 -> l7 : buffer^0'=buffer^post_10, c1^0'=c1^post_10, c2^0'=c2^post_10, it^0'=it^post_10, pattern^0'=pattern^post_10, seqlen^0'=seqlen^post_10, xx^0'=xx^post_10, yy^0'=yy^post_10, z^0'=z^post_10, [ 3<=pattern^0 && pattern^post_10==0 && buffer^0==buffer^post_10 && c1^0==c1^post_10 && c2^0==c2^post_10 && it^0==it^post_10 && seqlen^0==seqlen^post_10 && xx^0==xx^post_10 && yy^0==yy^post_10 && z^0==z^post_10 ], cost: 1 13: l9 -> l0 : buffer^0'=buffer^post_14, c1^0'=c1^post_14, c2^0'=c2^post_14, it^0'=it^post_14, pattern^0'=pattern^post_14, seqlen^0'=seqlen^post_14, xx^0'=xx^post_14, yy^0'=yy^post_14, z^0'=z^post_14, [ pattern^post_14==0 && seqlen^post_14==1 && it^post_14==seqlen^post_14 && xx^post_14==0 && yy^post_14==0 && z^post_14==z^post_14 && 1<=z^post_14 && buffer^0==buffer^post_14 && c1^0==c1^post_14 && c2^0==c2^post_14 ], cost: 1 14: l10 -> l6 : buffer^0'=buffer^post_15, c1^0'=c1^post_15, c2^0'=c2^post_15, it^0'=it^post_15, pattern^0'=pattern^post_15, seqlen^0'=seqlen^post_15, xx^0'=xx^post_15, yy^0'=yy^post_15, z^0'=z^post_15, [ c1^post_15==buffer^0 && buffer^0==buffer^post_15 && c2^0==c2^post_15 && it^0==it^post_15 && pattern^0==pattern^post_15 && seqlen^0==seqlen^post_15 && xx^0==xx^post_15 && yy^0==yy^post_15 && z^0==z^post_15 ], cost: 1 15: l11 -> l10 : buffer^0'=buffer^post_16, c1^0'=c1^post_16, c2^0'=c2^post_16, it^0'=it^post_16, pattern^0'=pattern^post_16, seqlen^0'=seqlen^post_16, xx^0'=xx^post_16, yy^0'=yy^post_16, z^0'=z^post_16, [ buffer^0<=2 && c2^post_16==0 && buffer^0==buffer^post_16 && c1^0==c1^post_16 && it^0==it^post_16 && pattern^0==pattern^post_16 && seqlen^0==seqlen^post_16 && xx^0==xx^post_16 && yy^0==yy^post_16 && z^0==z^post_16 ], cost: 1 16: l11 -> l10 : buffer^0'=buffer^post_17, c1^0'=c1^post_17, c2^0'=c2^post_17, it^0'=it^post_17, pattern^0'=pattern^post_17, seqlen^0'=seqlen^post_17, xx^0'=xx^post_17, yy^0'=yy^post_17, z^0'=z^post_17, [ 3<=buffer^0 && c2^post_17==1 && buffer^post_17==-2+buffer^0 && c1^0==c1^post_17 && it^0==it^post_17 && pattern^0==pattern^post_17 && seqlen^0==seqlen^post_17 && xx^0==xx^post_17 && yy^0==yy^post_17 && z^0==z^post_17 ], cost: 1 17: l12 -> l8 : buffer^0'=buffer^post_18, c1^0'=c1^post_18, c2^0'=c2^post_18, it^0'=it^post_18, pattern^0'=pattern^post_18, seqlen^0'=seqlen^post_18, xx^0'=xx^post_18, yy^0'=yy^post_18, z^0'=z^post_18, [ it^0<=0 && buffer^0==buffer^post_18 && c1^0==c1^post_18 && c2^0==c2^post_18 && it^0==it^post_18 && pattern^0==pattern^post_18 && seqlen^0==seqlen^post_18 && xx^0==xx^post_18 && yy^0==yy^post_18 && z^0==z^post_18 ], cost: 1 18: l12 -> l11 : buffer^0'=buffer^post_19, c1^0'=c1^post_19, c2^0'=c2^post_19, it^0'=it^post_19, pattern^0'=pattern^post_19, seqlen^0'=seqlen^post_19, xx^0'=xx^post_19, yy^0'=yy^post_19, z^0'=z^post_19, [ 1<=it^0 && it^post_19==-1+it^0 && buffer^post_19==pattern^0 && c1^0==c1^post_19 && c2^0==c2^post_19 && pattern^0==pattern^post_19 && seqlen^0==seqlen^post_19 && xx^0==xx^post_19 && yy^0==yy^post_19 && z^0==z^post_19 ], cost: 1 20: l15 -> l5 : buffer^0'=buffer^post_21, c1^0'=c1^post_21, c2^0'=c2^post_21, it^0'=it^post_21, pattern^0'=pattern^post_21, seqlen^0'=seqlen^post_21, xx^0'=xx^post_21, yy^0'=yy^post_21, z^0'=z^post_21, [ 1<=z^0 && buffer^0==buffer^post_21 && c1^0==c1^post_21 && c2^0==c2^post_21 && it^0==it^post_21 && pattern^0==pattern^post_21 && seqlen^0==seqlen^post_21 && xx^0==xx^post_21 && yy^0==yy^post_21 && z^0==z^post_21 ], cost: 1 21: l15 -> l5 : buffer^0'=buffer^post_22, c1^0'=c1^post_22, c2^0'=c2^post_22, it^0'=it^post_22, pattern^0'=pattern^post_22, seqlen^0'=seqlen^post_22, xx^0'=xx^post_22, yy^0'=yy^post_22, z^0'=z^post_22, [ 1+z^0<=0 && buffer^0==buffer^post_22 && c1^0==c1^post_22 && c2^0==c2^post_22 && it^0==it^post_22 && pattern^0==pattern^post_22 && seqlen^0==seqlen^post_22 && xx^0==xx^post_22 && yy^0==yy^post_22 && z^0==z^post_22 ], cost: 1 22: l15 -> l12 : buffer^0'=buffer^post_23, c1^0'=c1^post_23, c2^0'=c2^post_23, it^0'=it^post_23, pattern^0'=pattern^post_23, seqlen^0'=seqlen^post_23, xx^0'=xx^post_23, yy^0'=yy^post_23, z^0'=z^post_23, [ z^0<=0 && 0<=z^0 && buffer^0==buffer^post_23 && c1^0==c1^post_23 && c2^0==c2^post_23 && it^0==it^post_23 && pattern^0==pattern^post_23 && seqlen^0==seqlen^post_23 && xx^0==xx^post_23 && yy^0==yy^post_23 && z^0==z^post_23 ], cost: 1 26: l16 -> l9 : buffer^0'=buffer^post_27, c1^0'=c1^post_27, c2^0'=c2^post_27, it^0'=it^post_27, pattern^0'=pattern^post_27, seqlen^0'=seqlen^post_27, xx^0'=xx^post_27, yy^0'=yy^post_27, z^0'=z^post_27, [ buffer^0==buffer^post_27 && c1^0==c1^post_27 && c2^0==c2^post_27 && it^0==it^post_27 && pattern^0==pattern^post_27 && seqlen^0==seqlen^post_27 && xx^0==xx^post_27 && yy^0==yy^post_27 && z^0==z^post_27 ], cost: 1 Simplified all rules, resulting in: Start location: l16 0: l0 -> l1 : [], cost: 1 25: l1 -> l15 : [ -yy^0+xx^0==0 ], cost: 1 1: l2 -> l0 : yy^0'=1, [], cost: 1 2: l3 -> l4 : xx^0'=1, [], cost: 1 3: l4 -> l2 : [ 1<=c2^0 ], cost: 1 4: l4 -> l2 : [ 1+c2^0<=0 ], cost: 1 5: l4 -> l0 : yy^0'=0, [ c2^0==0 ], cost: 1 6: l5 -> l6 : c1^0'=c1^post_7, c2^0'=c2^post_7, z^0'=-1+z^0, [], cost: 1 10: l6 -> l3 : [ 1<=c1^0 ], cost: 1 11: l6 -> l3 : [ 1+c1^0<=0 ], cost: 1 12: l6 -> l4 : xx^0'=0, [ c1^0==0 ], cost: 1 7: l7 -> l6 : it^0'=1+seqlen^0, seqlen^0'=1+seqlen^0, z^0'=z^post_8, [ 1<=z^post_8 ], cost: 1 8: l8 -> l7 : pattern^0'=1+pattern^0, [ 1+pattern^0<=3 ], cost: 1 9: l8 -> l7 : pattern^0'=0, [ 3<=pattern^0 ], cost: 1 13: l9 -> l0 : it^0'=1, pattern^0'=0, seqlen^0'=1, xx^0'=0, yy^0'=0, z^0'=z^post_14, [ 1<=z^post_14 ], cost: 1 14: l10 -> l6 : c1^0'=buffer^0, [], cost: 1 15: l11 -> l10 : c2^0'=0, [ buffer^0<=2 ], cost: 1 16: l11 -> l10 : buffer^0'=-2+buffer^0, c2^0'=1, [ 3<=buffer^0 ], cost: 1 17: l12 -> l8 : [ it^0<=0 ], cost: 1 18: l12 -> l11 : buffer^0'=pattern^0, it^0'=-1+it^0, [ 1<=it^0 ], cost: 1 20: l15 -> l5 : [ 1<=z^0 ], cost: 1 21: l15 -> l5 : [ 1+z^0<=0 ], cost: 1 22: l15 -> l12 : [ z^0==0 ], cost: 1 26: l16 -> l9 : [], cost: 1 ### Simplification by acceleration and chaining ### Eliminated locations (on linear paths): Start location: l16 28: l0 -> l15 : [ -yy^0+xx^0==0 ], cost: 2 1: l2 -> l0 : yy^0'=1, [], cost: 1 2: l3 -> l4 : xx^0'=1, [], cost: 1 3: l4 -> l2 : [ 1<=c2^0 ], cost: 1 4: l4 -> l2 : [ 1+c2^0<=0 ], cost: 1 5: l4 -> l0 : yy^0'=0, [ c2^0==0 ], cost: 1 6: l5 -> l6 : c1^0'=c1^post_7, c2^0'=c2^post_7, z^0'=-1+z^0, [], cost: 1 10: l6 -> l3 : [ 1<=c1^0 ], cost: 1 11: l6 -> l3 : [ 1+c1^0<=0 ], cost: 1 12: l6 -> l4 : xx^0'=0, [ c1^0==0 ], cost: 1 7: l7 -> l6 : it^0'=1+seqlen^0, seqlen^0'=1+seqlen^0, z^0'=z^post_8, [ 1<=z^post_8 ], cost: 1 8: l8 -> l7 : pattern^0'=1+pattern^0, [ 1+pattern^0<=3 ], cost: 1 9: l8 -> l7 : pattern^0'=0, [ 3<=pattern^0 ], cost: 1 14: l10 -> l6 : c1^0'=buffer^0, [], cost: 1 15: l11 -> l10 : c2^0'=0, [ buffer^0<=2 ], cost: 1 16: l11 -> l10 : buffer^0'=-2+buffer^0, c2^0'=1, [ 3<=buffer^0 ], cost: 1 17: l12 -> l8 : [ it^0<=0 ], cost: 1 18: l12 -> l11 : buffer^0'=pattern^0, it^0'=-1+it^0, [ 1<=it^0 ], cost: 1 20: l15 -> l5 : [ 1<=z^0 ], cost: 1 21: l15 -> l5 : [ 1+z^0<=0 ], cost: 1 22: l15 -> l12 : [ z^0==0 ], cost: 1 27: l16 -> l0 : it^0'=1, pattern^0'=0, seqlen^0'=1, xx^0'=0, yy^0'=0, z^0'=z^post_14, [ 1<=z^post_14 ], cost: 2 Eliminated locations (on tree-shaped paths): Start location: l16 29: l0 -> l5 : [ -yy^0+xx^0==0 && 1<=z^0 ], cost: 3 30: l0 -> l5 : [ -yy^0+xx^0==0 && 1+z^0<=0 ], cost: 3 31: l0 -> l12 : [ -yy^0+xx^0==0 && z^0==0 ], cost: 3 1: l2 -> l0 : yy^0'=1, [], cost: 1 6: l5 -> l6 : c1^0'=c1^post_7, c2^0'=c2^post_7, z^0'=-1+z^0, [], cost: 1 34: l6 -> l2 : xx^0'=0, [ c1^0==0 && 1<=c2^0 ], cost: 2 35: l6 -> l2 : xx^0'=0, [ c1^0==0 && 1+c2^0<=0 ], cost: 2 36: l6 -> l0 : xx^0'=0, yy^0'=0, [ c1^0==0 && c2^0==0 ], cost: 2 37: l6 -> l2 : xx^0'=1, [ 1<=c1^0 && 1<=c2^0 ], cost: 3 38: l6 -> l2 : xx^0'=1, [ 1<=c1^0 && 1+c2^0<=0 ], cost: 3 39: l6 -> l0 : xx^0'=1, yy^0'=0, [ 1<=c1^0 && c2^0==0 ], cost: 3 40: l6 -> l2 : xx^0'=1, [ 1+c1^0<=0 && 1<=c2^0 ], cost: 3 41: l6 -> l2 : xx^0'=1, [ 1+c1^0<=0 && 1+c2^0<=0 ], cost: 3 42: l6 -> l0 : xx^0'=1, yy^0'=0, [ 1+c1^0<=0 && c2^0==0 ], cost: 3 7: l7 -> l6 : it^0'=1+seqlen^0, seqlen^0'=1+seqlen^0, z^0'=z^post_8, [ 1<=z^post_8 ], cost: 1 14: l10 -> l6 : c1^0'=buffer^0, [], cost: 1 43: l12 -> l7 : pattern^0'=1+pattern^0, [ it^0<=0 && 1+pattern^0<=3 ], cost: 2 44: l12 -> l7 : pattern^0'=0, [ it^0<=0 && 3<=pattern^0 ], cost: 2 45: l12 -> l10 : buffer^0'=pattern^0, c2^0'=0, it^0'=-1+it^0, [ 1<=it^0 && pattern^0<=2 ], cost: 2 46: l12 -> l10 : buffer^0'=-2+pattern^0, c2^0'=1, it^0'=-1+it^0, [ 1<=it^0 && 3<=pattern^0 ], cost: 2 27: l16 -> l0 : it^0'=1, pattern^0'=0, seqlen^0'=1, xx^0'=0, yy^0'=0, z^0'=z^post_14, [ 1<=z^post_14 ], cost: 2 Eliminated locations (on tree-shaped paths): Start location: l16 47: l0 -> l6 : c1^0'=c1^post_7, c2^0'=c2^post_7, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 ], cost: 4 48: l0 -> l6 : c1^0'=c1^post_7, c2^0'=c2^post_7, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 ], cost: 4 49: l0 -> l7 : pattern^0'=1+pattern^0, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 ], cost: 5 50: l0 -> l7 : pattern^0'=0, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 ], cost: 5 51: l0 -> l10 : buffer^0'=pattern^0, c2^0'=0, it^0'=-1+it^0, [ -yy^0+xx^0==0 && z^0==0 && 1<=it^0 && pattern^0<=2 ], cost: 5 52: l0 -> l10 : buffer^0'=-2+pattern^0, c2^0'=1, it^0'=-1+it^0, [ -yy^0+xx^0==0 && z^0==0 && 1<=it^0 && 3<=pattern^0 ], cost: 5 36: l6 -> l0 : xx^0'=0, yy^0'=0, [ c1^0==0 && c2^0==0 ], cost: 2 39: l6 -> l0 : xx^0'=1, yy^0'=0, [ 1<=c1^0 && c2^0==0 ], cost: 3 42: l6 -> l0 : xx^0'=1, yy^0'=0, [ 1+c1^0<=0 && c2^0==0 ], cost: 3 53: l6 -> l0 : xx^0'=0, yy^0'=1, [ c1^0==0 && 1<=c2^0 ], cost: 3 54: l6 -> l0 : xx^0'=0, yy^0'=1, [ c1^0==0 && 1+c2^0<=0 ], cost: 3 55: l6 -> l0 : xx^0'=1, yy^0'=1, [ 1<=c1^0 && 1<=c2^0 ], cost: 4 56: l6 -> l0 : xx^0'=1, yy^0'=1, [ 1<=c1^0 && 1+c2^0<=0 ], cost: 4 57: l6 -> l0 : xx^0'=1, yy^0'=1, [ 1+c1^0<=0 && 1<=c2^0 ], cost: 4 58: l6 -> l0 : xx^0'=1, yy^0'=1, [ 1+c1^0<=0 && 1+c2^0<=0 ], cost: 4 7: l7 -> l6 : it^0'=1+seqlen^0, seqlen^0'=1+seqlen^0, z^0'=z^post_8, [ 1<=z^post_8 ], cost: 1 14: l10 -> l6 : c1^0'=buffer^0, [], cost: 1 27: l16 -> l0 : it^0'=1, pattern^0'=0, seqlen^0'=1, xx^0'=0, yy^0'=0, z^0'=z^post_14, [ 1<=z^post_14 ], cost: 2 Eliminated locations (on tree-shaped paths): Start location: l16 47: l0 -> l6 : c1^0'=c1^post_7, c2^0'=c2^post_7, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 ], cost: 4 48: l0 -> l6 : c1^0'=c1^post_7, c2^0'=c2^post_7, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 ], cost: 4 59: l0 -> l6 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 ], cost: 6 60: l0 -> l6 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 ], cost: 6 61: l0 -> l6 : buffer^0'=pattern^0, c1^0'=pattern^0, c2^0'=0, it^0'=-1+it^0, [ -yy^0+xx^0==0 && z^0==0 && 1<=it^0 && pattern^0<=2 ], cost: 6 62: l0 -> l6 : buffer^0'=-2+pattern^0, c1^0'=-2+pattern^0, c2^0'=1, it^0'=-1+it^0, [ -yy^0+xx^0==0 && z^0==0 && 1<=it^0 && 3<=pattern^0 ], cost: 6 36: l6 -> l0 : xx^0'=0, yy^0'=0, [ c1^0==0 && c2^0==0 ], cost: 2 39: l6 -> l0 : xx^0'=1, yy^0'=0, [ 1<=c1^0 && c2^0==0 ], cost: 3 42: l6 -> l0 : xx^0'=1, yy^0'=0, [ 1+c1^0<=0 && c2^0==0 ], cost: 3 53: l6 -> l0 : xx^0'=0, yy^0'=1, [ c1^0==0 && 1<=c2^0 ], cost: 3 54: l6 -> l0 : xx^0'=0, yy^0'=1, [ c1^0==0 && 1+c2^0<=0 ], cost: 3 55: l6 -> l0 : xx^0'=1, yy^0'=1, [ 1<=c1^0 && 1<=c2^0 ], cost: 4 56: l6 -> l0 : xx^0'=1, yy^0'=1, [ 1<=c1^0 && 1+c2^0<=0 ], cost: 4 57: l6 -> l0 : xx^0'=1, yy^0'=1, [ 1+c1^0<=0 && 1<=c2^0 ], cost: 4 58: l6 -> l0 : xx^0'=1, yy^0'=1, [ 1+c1^0<=0 && 1+c2^0<=0 ], cost: 4 27: l16 -> l0 : it^0'=1, pattern^0'=0, seqlen^0'=1, xx^0'=0, yy^0'=0, z^0'=z^post_14, [ 1<=z^post_14 ], cost: 2 Eliminated locations (on tree-shaped paths): Start location: l16 63: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=0, yy^0'=0, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 && c1^post_7==0 && c2^post_7==0 ], cost: 6 64: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=0, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 && 1<=c1^post_7 && c2^post_7==0 ], cost: 7 65: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=0, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 && 1+c1^post_7<=0 && c2^post_7==0 ], cost: 7 66: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=0, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 && c1^post_7==0 && 1<=c2^post_7 ], cost: 7 67: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=0, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 && c1^post_7==0 && 1+c2^post_7<=0 ], cost: 7 68: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 && 1<=c1^post_7 && 1<=c2^post_7 ], cost: 8 69: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 && 1<=c1^post_7 && 1+c2^post_7<=0 ], cost: 8 70: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 && 1+c1^post_7<=0 && 1<=c2^post_7 ], cost: 8 71: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 && 1+c1^post_7<=0 && 1+c2^post_7<=0 ], cost: 8 72: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=0, yy^0'=0, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 && c1^post_7==0 && c2^post_7==0 ], cost: 6 73: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=0, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 && 1<=c1^post_7 && c2^post_7==0 ], cost: 7 74: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=0, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 && 1+c1^post_7<=0 && c2^post_7==0 ], cost: 7 75: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=0, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 && c1^post_7==0 && 1<=c2^post_7 ], cost: 7 76: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=0, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 && c1^post_7==0 && 1+c2^post_7<=0 ], cost: 7 77: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 && 1<=c1^post_7 && 1<=c2^post_7 ], cost: 8 78: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 && 1<=c1^post_7 && 1+c2^post_7<=0 ], cost: 8 79: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 && 1+c1^post_7<=0 && 1<=c2^post_7 ], cost: 8 80: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 && 1+c1^post_7<=0 && 1+c2^post_7<=0 ], cost: 8 81: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=0, yy^0'=0, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && c1^0==0 && c2^0==0 ], cost: 8 82: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=0, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && 1<=c1^0 && c2^0==0 ], cost: 9 83: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=0, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && 1+c1^0<=0 && c2^0==0 ], cost: 9 84: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=0, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && c1^0==0 && 1<=c2^0 ], cost: 9 85: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=0, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && c1^0==0 && 1+c2^0<=0 ], cost: 9 86: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && 1<=c1^0 && 1<=c2^0 ], cost: 10 87: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && 1<=c1^0 && 1+c2^0<=0 ], cost: 10 88: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && 1+c1^0<=0 && 1<=c2^0 ], cost: 10 89: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && 1+c1^0<=0 && 1+c2^0<=0 ], cost: 10 90: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=0, yy^0'=0, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && c1^0==0 && c2^0==0 ], cost: 8 91: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=0, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && 1<=c1^0 && c2^0==0 ], cost: 9 92: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=0, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && 1+c1^0<=0 && c2^0==0 ], cost: 9 93: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=0, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && c1^0==0 && 1<=c2^0 ], cost: 9 94: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=0, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && c1^0==0 && 1+c2^0<=0 ], cost: 9 95: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && 1<=c1^0 && 1<=c2^0 ], cost: 10 96: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && 1<=c1^0 && 1+c2^0<=0 ], cost: 10 97: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && 1+c1^0<=0 && 1<=c2^0 ], cost: 10 98: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && 1+c1^0<=0 && 1+c2^0<=0 ], cost: 10 99: l0 -> l0 : buffer^0'=pattern^0, c1^0'=pattern^0, c2^0'=0, it^0'=-1+it^0, xx^0'=0, yy^0'=0, [ -yy^0+xx^0==0 && z^0==0 && 1<=it^0 && pattern^0==0 ], cost: 8 100: l0 -> l0 : buffer^0'=pattern^0, c1^0'=pattern^0, c2^0'=0, it^0'=-1+it^0, xx^0'=1, yy^0'=0, [ -yy^0+xx^0==0 && z^0==0 && 1<=it^0 && pattern^0<=2 && 1<=pattern^0 ], cost: 9 101: l0 -> l0 : buffer^0'=pattern^0, c1^0'=pattern^0, c2^0'=0, it^0'=-1+it^0, xx^0'=1, yy^0'=0, [ -yy^0+xx^0==0 && z^0==0 && 1<=it^0 && 1+pattern^0<=0 ], cost: 9 102: l0 -> l0 : buffer^0'=-2+pattern^0, c1^0'=-2+pattern^0, c2^0'=1, it^0'=-1+it^0, xx^0'=1, yy^0'=1, [ -yy^0+xx^0==0 && z^0==0 && 1<=it^0 && 3<=pattern^0 ], cost: 10 27: l16 -> l0 : it^0'=1, pattern^0'=0, seqlen^0'=1, xx^0'=0, yy^0'=0, z^0'=z^post_14, [ 1<=z^post_14 ], cost: 2 Accelerating simple loops of location 0. Simplified some of the simple loops (and removed duplicate rules). Accelerating the following rules: 63: l0 -> l0 : c1^0'=0, c2^0'=0, xx^0'=0, yy^0'=0, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 ], cost: 6 64: l0 -> l0 : c1^0'=c1^post_7, c2^0'=0, xx^0'=1, yy^0'=0, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 && 1<=c1^post_7 ], cost: 7 65: l0 -> l0 : c1^0'=c1^post_7, c2^0'=0, xx^0'=1, yy^0'=0, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 && 1+c1^post_7<=0 ], cost: 7 66: l0 -> l0 : c1^0'=0, c2^0'=c2^post_7, xx^0'=0, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 && 1<=c2^post_7 ], cost: 7 67: l0 -> l0 : c1^0'=0, c2^0'=c2^post_7, xx^0'=0, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 && 1+c2^post_7<=0 ], cost: 7 68: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 && 1<=c1^post_7 && 1<=c2^post_7 ], cost: 8 69: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 && 1<=c1^post_7 && 1+c2^post_7<=0 ], cost: 8 70: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 && 1+c1^post_7<=0 && 1<=c2^post_7 ], cost: 8 71: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 && 1+c1^post_7<=0 && 1+c2^post_7<=0 ], cost: 8 72: l0 -> l0 : c1^0'=0, c2^0'=0, xx^0'=0, yy^0'=0, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 ], cost: 6 73: l0 -> l0 : c1^0'=c1^post_7, c2^0'=0, xx^0'=1, yy^0'=0, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 && 1<=c1^post_7 ], cost: 7 74: l0 -> l0 : c1^0'=c1^post_7, c2^0'=0, xx^0'=1, yy^0'=0, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 && 1+c1^post_7<=0 ], cost: 7 75: l0 -> l0 : c1^0'=0, c2^0'=c2^post_7, xx^0'=0, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 && 1<=c2^post_7 ], cost: 7 76: l0 -> l0 : c1^0'=0, c2^0'=c2^post_7, xx^0'=0, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 && 1+c2^post_7<=0 ], cost: 7 77: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 && 1<=c1^post_7 && 1<=c2^post_7 ], cost: 8 78: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 && 1<=c1^post_7 && 1+c2^post_7<=0 ], cost: 8 79: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 && 1+c1^post_7<=0 && 1<=c2^post_7 ], cost: 8 80: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 && 1+c1^post_7<=0 && 1+c2^post_7<=0 ], cost: 8 81: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=0, yy^0'=0, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && c1^0==0 && c2^0==0 ], cost: 8 82: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=0, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && 1<=c1^0 && c2^0==0 ], cost: 9 83: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=0, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && 1+c1^0<=0 && c2^0==0 ], cost: 9 84: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=0, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && c1^0==0 && 1<=c2^0 ], cost: 9 85: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=0, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && c1^0==0 && 1+c2^0<=0 ], cost: 9 86: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && 1<=c1^0 && 1<=c2^0 ], cost: 10 87: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && 1<=c1^0 && 1+c2^0<=0 ], cost: 10 88: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && 1+c1^0<=0 && 1<=c2^0 ], cost: 10 89: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && 1+c1^0<=0 && 1+c2^0<=0 ], cost: 10 90: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=0, yy^0'=0, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && c1^0==0 && c2^0==0 ], cost: 8 91: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=0, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && 1<=c1^0 && c2^0==0 ], cost: 9 92: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=0, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && 1+c1^0<=0 && c2^0==0 ], cost: 9 93: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=0, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && c1^0==0 && 1<=c2^0 ], cost: 9 94: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=0, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && c1^0==0 && 1+c2^0<=0 ], cost: 9 95: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && 1<=c1^0 && 1<=c2^0 ], cost: 10 96: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && 1<=c1^0 && 1+c2^0<=0 ], cost: 10 97: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && 1+c1^0<=0 && 1<=c2^0 ], cost: 10 98: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && 1+c1^0<=0 && 1+c2^0<=0 ], cost: 10 99: l0 -> l0 : buffer^0'=pattern^0, c1^0'=pattern^0, c2^0'=0, it^0'=-1+it^0, xx^0'=0, yy^0'=0, [ -yy^0+xx^0==0 && z^0==0 && 1<=it^0 && pattern^0==0 ], cost: 8 100: l0 -> l0 : buffer^0'=pattern^0, c1^0'=pattern^0, c2^0'=0, it^0'=-1+it^0, xx^0'=1, yy^0'=0, [ -yy^0+xx^0==0 && z^0==0 && 1<=it^0 && pattern^0<=2 && 1<=pattern^0 ], cost: 9 101: l0 -> l0 : buffer^0'=pattern^0, c1^0'=pattern^0, c2^0'=0, it^0'=-1+it^0, xx^0'=1, yy^0'=0, [ -yy^0+xx^0==0 && z^0==0 && 1<=it^0 && 1+pattern^0<=0 ], cost: 9 102: l0 -> l0 : buffer^0'=-2+pattern^0, c1^0'=-2+pattern^0, c2^0'=1, it^0'=-1+it^0, xx^0'=1, yy^0'=1, [ -yy^0+xx^0==0 && z^0==0 && 1<=it^0 && 3<=pattern^0 ], cost: 10 Accelerated rule 63 with backward acceleration, yielding the new rule 103. Failed to prove monotonicity of the guard of rule 64. Failed to prove monotonicity of the guard of rule 65. Failed to prove monotonicity of the guard of rule 66. Failed to prove monotonicity of the guard of rule 67. Accelerated rule 68 with backward acceleration, yielding the new rule 104. Accelerated rule 69 with backward acceleration, yielding the new rule 105. Accelerated rule 70 with backward acceleration, yielding the new rule 106. Accelerated rule 71 with backward acceleration, yielding the new rule 107. Accelerated rule 72 with non-termination, yielding the new rule 108. Failed to prove monotonicity of the guard of rule 73. Failed to prove monotonicity of the guard of rule 74. Failed to prove monotonicity of the guard of rule 75. Failed to prove monotonicity of the guard of rule 76. Accelerated rule 77 with non-termination, yielding the new rule 109. Accelerated rule 78 with non-termination, yielding the new rule 110. Accelerated rule 79 with non-termination, yielding the new rule 111. Accelerated rule 80 with non-termination, yielding the new rule 112. Failed to prove monotonicity of the guard of rule 81. Failed to prove monotonicity of the guard of rule 82. Failed to prove monotonicity of the guard of rule 83. Failed to prove monotonicity of the guard of rule 84. Failed to prove monotonicity of the guard of rule 85. Failed to prove monotonicity of the guard of rule 86. Failed to prove monotonicity of the guard of rule 87. Failed to prove monotonicity of the guard of rule 88. Failed to prove monotonicity of the guard of rule 89. Failed to prove monotonicity of the guard of rule 90. Failed to prove monotonicity of the guard of rule 91. Failed to prove monotonicity of the guard of rule 92. Failed to prove monotonicity of the guard of rule 93. Failed to prove monotonicity of the guard of rule 94. Failed to prove monotonicity of the guard of rule 95. Failed to prove monotonicity of the guard of rule 96. Failed to prove monotonicity of the guard of rule 97. Failed to prove monotonicity of the guard of rule 98. Accelerated rule 99 with backward acceleration, yielding the new rule 113. Failed to prove monotonicity of the guard of rule 100. Failed to prove monotonicity of the guard of rule 101. Accelerated rule 102 with backward acceleration, yielding the new rule 114. [accelerate] Nesting with 35 inner and 35 outer candidates Accelerated all simple loops using metering functions (where possible): Start location: l16 63: l0 -> l0 : c1^0'=0, c2^0'=0, xx^0'=0, yy^0'=0, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 ], cost: 6 64: l0 -> l0 : c1^0'=c1^post_7, c2^0'=0, xx^0'=1, yy^0'=0, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 && 1<=c1^post_7 ], cost: 7 65: l0 -> l0 : c1^0'=c1^post_7, c2^0'=0, xx^0'=1, yy^0'=0, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 && 1+c1^post_7<=0 ], cost: 7 66: l0 -> l0 : c1^0'=0, c2^0'=c2^post_7, xx^0'=0, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 && 1<=c2^post_7 ], cost: 7 67: l0 -> l0 : c1^0'=0, c2^0'=c2^post_7, xx^0'=0, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 && 1+c2^post_7<=0 ], cost: 7 68: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 && 1<=c1^post_7 && 1<=c2^post_7 ], cost: 8 69: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 && 1<=c1^post_7 && 1+c2^post_7<=0 ], cost: 8 70: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 && 1+c1^post_7<=0 && 1<=c2^post_7 ], cost: 8 71: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 && 1+c1^post_7<=0 && 1+c2^post_7<=0 ], cost: 8 72: l0 -> l0 : c1^0'=0, c2^0'=0, xx^0'=0, yy^0'=0, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 ], cost: 6 73: l0 -> l0 : c1^0'=c1^post_7, c2^0'=0, xx^0'=1, yy^0'=0, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 && 1<=c1^post_7 ], cost: 7 74: l0 -> l0 : c1^0'=c1^post_7, c2^0'=0, xx^0'=1, yy^0'=0, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 && 1+c1^post_7<=0 ], cost: 7 75: l0 -> l0 : c1^0'=0, c2^0'=c2^post_7, xx^0'=0, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 && 1<=c2^post_7 ], cost: 7 76: l0 -> l0 : c1^0'=0, c2^0'=c2^post_7, xx^0'=0, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 && 1+c2^post_7<=0 ], cost: 7 77: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 && 1<=c1^post_7 && 1<=c2^post_7 ], cost: 8 78: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 && 1<=c1^post_7 && 1+c2^post_7<=0 ], cost: 8 79: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 && 1+c1^post_7<=0 && 1<=c2^post_7 ], cost: 8 80: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 && 1+c1^post_7<=0 && 1+c2^post_7<=0 ], cost: 8 81: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=0, yy^0'=0, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && c1^0==0 && c2^0==0 ], cost: 8 82: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=0, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && 1<=c1^0 && c2^0==0 ], cost: 9 83: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=0, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && 1+c1^0<=0 && c2^0==0 ], cost: 9 84: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=0, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && c1^0==0 && 1<=c2^0 ], cost: 9 85: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=0, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && c1^0==0 && 1+c2^0<=0 ], cost: 9 86: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && 1<=c1^0 && 1<=c2^0 ], cost: 10 87: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && 1<=c1^0 && 1+c2^0<=0 ], cost: 10 88: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && 1+c1^0<=0 && 1<=c2^0 ], cost: 10 89: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && 1+c1^0<=0 && 1+c2^0<=0 ], cost: 10 90: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=0, yy^0'=0, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && c1^0==0 && c2^0==0 ], cost: 8 91: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=0, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && 1<=c1^0 && c2^0==0 ], cost: 9 92: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=0, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && 1+c1^0<=0 && c2^0==0 ], cost: 9 93: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=0, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && c1^0==0 && 1<=c2^0 ], cost: 9 94: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=0, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && c1^0==0 && 1+c2^0<=0 ], cost: 9 95: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && 1<=c1^0 && 1<=c2^0 ], cost: 10 96: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && 1<=c1^0 && 1+c2^0<=0 ], cost: 10 97: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && 1+c1^0<=0 && 1<=c2^0 ], cost: 10 98: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && 1+c1^0<=0 && 1+c2^0<=0 ], cost: 10 99: l0 -> l0 : buffer^0'=pattern^0, c1^0'=pattern^0, c2^0'=0, it^0'=-1+it^0, xx^0'=0, yy^0'=0, [ -yy^0+xx^0==0 && z^0==0 && 1<=it^0 && pattern^0==0 ], cost: 8 100: l0 -> l0 : buffer^0'=pattern^0, c1^0'=pattern^0, c2^0'=0, it^0'=-1+it^0, xx^0'=1, yy^0'=0, [ -yy^0+xx^0==0 && z^0==0 && 1<=it^0 && pattern^0<=2 && 1<=pattern^0 ], cost: 9 101: l0 -> l0 : buffer^0'=pattern^0, c1^0'=pattern^0, c2^0'=0, it^0'=-1+it^0, xx^0'=1, yy^0'=0, [ -yy^0+xx^0==0 && z^0==0 && 1<=it^0 && 1+pattern^0<=0 ], cost: 9 102: l0 -> l0 : buffer^0'=-2+pattern^0, c1^0'=-2+pattern^0, c2^0'=1, it^0'=-1+it^0, xx^0'=1, yy^0'=1, [ -yy^0+xx^0==0 && z^0==0 && 1<=it^0 && 3<=pattern^0 ], cost: 10 103: l0 -> l0 : c1^0'=0, c2^0'=0, xx^0'=0, yy^0'=0, z^0'=0, [ -yy^0+xx^0==0 && z^0>=1 && 1<=1 ], cost: 6*z^0 104: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=0, [ -yy^0+xx^0==0 && 1<=c1^post_7 && 1<=c2^post_7 && z^0>=1 && 1<=1 ], cost: 8*z^0 105: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=0, [ -yy^0+xx^0==0 && 1<=c1^post_7 && 1+c2^post_7<=0 && z^0>=1 && 1<=1 ], cost: 8*z^0 106: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=0, [ -yy^0+xx^0==0 && 1+c1^post_7<=0 && 1<=c2^post_7 && z^0>=1 && 1<=1 ], cost: 8*z^0 107: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=0, [ -yy^0+xx^0==0 && 1+c1^post_7<=0 && 1+c2^post_7<=0 && z^0>=1 && 1<=1 ], cost: 8*z^0 108: l0 -> [17] : [ -yy^0+xx^0==0 && 1+z^0<=0 ], cost: NONTERM 109: l0 -> [17] : [ -yy^0+xx^0==0 && 1+z^0<=0 && 1<=c1^post_7 && 1<=c2^post_7 ], cost: NONTERM 110: l0 -> [17] : [ -yy^0+xx^0==0 && 1+z^0<=0 && 1<=c1^post_7 && 1+c2^post_7<=0 ], cost: NONTERM 111: l0 -> [17] : [ -yy^0+xx^0==0 && 1+z^0<=0 && 1+c1^post_7<=0 && 1<=c2^post_7 ], cost: NONTERM 112: l0 -> [17] : [ -yy^0+xx^0==0 && 1+z^0<=0 && 1+c1^post_7<=0 && 1+c2^post_7<=0 ], cost: NONTERM 113: l0 -> l0 : buffer^0'=pattern^0, c1^0'=pattern^0, c2^0'=0, it^0'=0, xx^0'=0, yy^0'=0, [ -yy^0+xx^0==0 && z^0==0 && pattern^0==0 && it^0>=1 && 1<=1 ], cost: 8*it^0 114: l0 -> l0 : buffer^0'=-2+pattern^0, c1^0'=-2+pattern^0, c2^0'=1, it^0'=0, xx^0'=1, yy^0'=1, [ -yy^0+xx^0==0 && z^0==0 && 3<=pattern^0 && it^0>=1 && 1<=1 ], cost: 10*it^0 27: l16 -> l0 : it^0'=1, pattern^0'=0, seqlen^0'=1, xx^0'=0, yy^0'=0, z^0'=z^post_14, [ 1<=z^post_14 ], cost: 2 Aborted due to lack of remaining time ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: l16 63: l0 -> l0 : c1^0'=0, c2^0'=0, xx^0'=0, yy^0'=0, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 ], cost: 6 64: l0 -> l0 : c1^0'=c1^post_7, c2^0'=0, xx^0'=1, yy^0'=0, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 && 1<=c1^post_7 ], cost: 7 65: l0 -> l0 : c1^0'=c1^post_7, c2^0'=0, xx^0'=1, yy^0'=0, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 && 1+c1^post_7<=0 ], cost: 7 66: l0 -> l0 : c1^0'=0, c2^0'=c2^post_7, xx^0'=0, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 && 1<=c2^post_7 ], cost: 7 67: l0 -> l0 : c1^0'=0, c2^0'=c2^post_7, xx^0'=0, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 && 1+c2^post_7<=0 ], cost: 7 68: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 && 1<=c1^post_7 && 1<=c2^post_7 ], cost: 8 69: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 && 1<=c1^post_7 && 1+c2^post_7<=0 ], cost: 8 70: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 && 1+c1^post_7<=0 && 1<=c2^post_7 ], cost: 8 71: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1<=z^0 && 1+c1^post_7<=0 && 1+c2^post_7<=0 ], cost: 8 72: l0 -> l0 : c1^0'=0, c2^0'=0, xx^0'=0, yy^0'=0, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 ], cost: 6 73: l0 -> l0 : c1^0'=c1^post_7, c2^0'=0, xx^0'=1, yy^0'=0, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 && 1<=c1^post_7 ], cost: 7 74: l0 -> l0 : c1^0'=c1^post_7, c2^0'=0, xx^0'=1, yy^0'=0, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 && 1+c1^post_7<=0 ], cost: 7 75: l0 -> l0 : c1^0'=0, c2^0'=c2^post_7, xx^0'=0, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 && 1<=c2^post_7 ], cost: 7 76: l0 -> l0 : c1^0'=0, c2^0'=c2^post_7, xx^0'=0, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 && 1+c2^post_7<=0 ], cost: 7 77: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 && 1<=c1^post_7 && 1<=c2^post_7 ], cost: 8 78: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 && 1<=c1^post_7 && 1+c2^post_7<=0 ], cost: 8 79: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 && 1+c1^post_7<=0 && 1<=c2^post_7 ], cost: 8 80: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=-1+z^0, [ -yy^0+xx^0==0 && 1+z^0<=0 && 1+c1^post_7<=0 && 1+c2^post_7<=0 ], cost: 8 81: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=0, yy^0'=0, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && c1^0==0 && c2^0==0 ], cost: 8 82: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=0, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && 1<=c1^0 && c2^0==0 ], cost: 9 83: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=0, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && 1+c1^0<=0 && c2^0==0 ], cost: 9 84: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=0, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && c1^0==0 && 1<=c2^0 ], cost: 9 85: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=0, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && c1^0==0 && 1+c2^0<=0 ], cost: 9 86: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && 1<=c1^0 && 1<=c2^0 ], cost: 10 87: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && 1<=c1^0 && 1+c2^0<=0 ], cost: 10 88: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && 1+c1^0<=0 && 1<=c2^0 ], cost: 10 89: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=1+pattern^0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 1+pattern^0<=3 && 1<=z^post_8 && 1+c1^0<=0 && 1+c2^0<=0 ], cost: 10 90: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=0, yy^0'=0, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && c1^0==0 && c2^0==0 ], cost: 8 91: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=0, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && 1<=c1^0 && c2^0==0 ], cost: 9 92: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=0, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && 1+c1^0<=0 && c2^0==0 ], cost: 9 93: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=0, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && c1^0==0 && 1<=c2^0 ], cost: 9 94: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=0, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && c1^0==0 && 1+c2^0<=0 ], cost: 9 95: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && 1<=c1^0 && 1<=c2^0 ], cost: 10 96: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && 1<=c1^0 && 1+c2^0<=0 ], cost: 10 97: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && 1+c1^0<=0 && 1<=c2^0 ], cost: 10 98: l0 -> l0 : it^0'=1+seqlen^0, pattern^0'=0, seqlen^0'=1+seqlen^0, xx^0'=1, yy^0'=1, z^0'=z^post_8, [ -yy^0+xx^0==0 && z^0==0 && it^0<=0 && 3<=pattern^0 && 1<=z^post_8 && 1+c1^0<=0 && 1+c2^0<=0 ], cost: 10 99: l0 -> l0 : buffer^0'=pattern^0, c1^0'=pattern^0, c2^0'=0, it^0'=-1+it^0, xx^0'=0, yy^0'=0, [ -yy^0+xx^0==0 && z^0==0 && 1<=it^0 && pattern^0==0 ], cost: 8 100: l0 -> l0 : buffer^0'=pattern^0, c1^0'=pattern^0, c2^0'=0, it^0'=-1+it^0, xx^0'=1, yy^0'=0, [ -yy^0+xx^0==0 && z^0==0 && 1<=it^0 && pattern^0<=2 && 1<=pattern^0 ], cost: 9 101: l0 -> l0 : buffer^0'=pattern^0, c1^0'=pattern^0, c2^0'=0, it^0'=-1+it^0, xx^0'=1, yy^0'=0, [ -yy^0+xx^0==0 && z^0==0 && 1<=it^0 && 1+pattern^0<=0 ], cost: 9 102: l0 -> l0 : buffer^0'=-2+pattern^0, c1^0'=-2+pattern^0, c2^0'=1, it^0'=-1+it^0, xx^0'=1, yy^0'=1, [ -yy^0+xx^0==0 && z^0==0 && 1<=it^0 && 3<=pattern^0 ], cost: 10 103: l0 -> l0 : c1^0'=0, c2^0'=0, xx^0'=0, yy^0'=0, z^0'=0, [ -yy^0+xx^0==0 && z^0>=1 && 1<=1 ], cost: 6*z^0 104: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=0, [ -yy^0+xx^0==0 && 1<=c1^post_7 && 1<=c2^post_7 && z^0>=1 && 1<=1 ], cost: 8*z^0 105: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=0, [ -yy^0+xx^0==0 && 1<=c1^post_7 && 1+c2^post_7<=0 && z^0>=1 && 1<=1 ], cost: 8*z^0 106: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=0, [ -yy^0+xx^0==0 && 1+c1^post_7<=0 && 1<=c2^post_7 && z^0>=1 && 1<=1 ], cost: 8*z^0 107: l0 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, xx^0'=1, yy^0'=1, z^0'=0, [ -yy^0+xx^0==0 && 1+c1^post_7<=0 && 1+c2^post_7<=0 && z^0>=1 && 1<=1 ], cost: 8*z^0 108: l0 -> [17] : [ -yy^0+xx^0==0 && 1+z^0<=0 ], cost: NONTERM 109: l0 -> [17] : [ -yy^0+xx^0==0 && 1+z^0<=0 && 1<=c1^post_7 && 1<=c2^post_7 ], cost: NONTERM 110: l0 -> [17] : [ -yy^0+xx^0==0 && 1+z^0<=0 && 1<=c1^post_7 && 1+c2^post_7<=0 ], cost: NONTERM 111: l0 -> [17] : [ -yy^0+xx^0==0 && 1+z^0<=0 && 1+c1^post_7<=0 && 1<=c2^post_7 ], cost: NONTERM 112: l0 -> [17] : [ -yy^0+xx^0==0 && 1+z^0<=0 && 1+c1^post_7<=0 && 1+c2^post_7<=0 ], cost: NONTERM 113: l0 -> l0 : buffer^0'=pattern^0, c1^0'=pattern^0, c2^0'=0, it^0'=0, xx^0'=0, yy^0'=0, [ -yy^0+xx^0==0 && z^0==0 && pattern^0==0 && it^0>=1 && 1<=1 ], cost: 8*it^0 114: l0 -> l0 : buffer^0'=-2+pattern^0, c1^0'=-2+pattern^0, c2^0'=1, it^0'=0, xx^0'=1, yy^0'=1, [ -yy^0+xx^0==0 && z^0==0 && 3<=pattern^0 && it^0>=1 && 1<=1 ], cost: 10*it^0 27: l16 -> l0 : it^0'=1, pattern^0'=0, seqlen^0'=1, xx^0'=0, yy^0'=0, z^0'=z^post_14, [ 1<=z^post_14 ], cost: 2 This is only a partial result (probably due to a timeout). Trying to find the maximal complexity that has already been derived. Performed chaining from the start location: Computing asymptotic complexity for rule 115 Simplified the guard: 115: l16 -> l0 : c1^0'=0, c2^0'=0, it^0'=1, pattern^0'=0, seqlen^0'=1, xx^0'=0, yy^0'=0, z^0'=0, [ 1<=z^post_14 ], cost: 2+6*z^post_14 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 116 Simplified the guard: 116: l16 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, it^0'=1, pattern^0'=0, seqlen^0'=1, xx^0'=1, yy^0'=1, z^0'=0, [ 1<=z^post_14 && 1<=c1^post_7 && 1<=c2^post_7 ], cost: 2+8*z^post_14 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 117 Simplified the guard: 117: l16 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, it^0'=1, pattern^0'=0, seqlen^0'=1, xx^0'=1, yy^0'=1, z^0'=0, [ 1<=z^post_14 && 1<=c1^post_7 && 1+c2^post_7<=0 ], cost: 2+8*z^post_14 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 118 Simplified the guard: 118: l16 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, it^0'=1, pattern^0'=0, seqlen^0'=1, xx^0'=1, yy^0'=1, z^0'=0, [ 1<=z^post_14 && 1+c1^post_7<=0 && 1<=c2^post_7 ], cost: 2+8*z^post_14 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 119 Simplified the guard: 119: l16 -> l0 : c1^0'=c1^post_7, c2^0'=c2^post_7, it^0'=1, pattern^0'=0, seqlen^0'=1, xx^0'=1, yy^0'=1, z^0'=0, [ 1<=z^post_14 && 1+c1^post_7<=0 && 1+c2^post_7<=0 ], cost: 2+8*z^post_14 Resulting cost 0 has complexity: Unknown Performed chaining from the start location: Computing asymptotic complexity for rule 120 Simplified the guard: 120: l16 -> l0 : buffer^0'=0, c1^0'=0, c2^0'=0, it^0'=0, pattern^0'=0, seqlen^0'=1, xx^0'=0, yy^0'=0, z^0'=0, [ 1<=z^post_14 ], cost: 10+6*z^post_14 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 121 Simplified the guard: 121: l16 -> l0 : buffer^0'=0, c1^0'=0, c2^0'=0, it^0'=0, pattern^0'=0, seqlen^0'=1, xx^0'=0, yy^0'=0, z^0'=0, [ 1<=z^post_14 && 1<=c1^post_7 && 1<=c2^post_7 ], cost: 10+8*z^post_14 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 122 Simplified the guard: 122: l16 -> l0 : buffer^0'=0, c1^0'=0, c2^0'=0, it^0'=0, pattern^0'=0, seqlen^0'=1, xx^0'=0, yy^0'=0, z^0'=0, [ 1<=z^post_14 && 1<=c1^post_7 && 1+c2^post_7<=0 ], cost: 10+8*z^post_14 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 123 Simplified the guard: 123: l16 -> l0 : buffer^0'=0, c1^0'=0, c2^0'=0, it^0'=0, pattern^0'=0, seqlen^0'=1, xx^0'=0, yy^0'=0, z^0'=0, [ 1<=z^post_14 && 1+c1^post_7<=0 && 1<=c2^post_7 ], cost: 10+8*z^post_14 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 124 Simplified the guard: 124: l16 -> l0 : buffer^0'=0, c1^0'=0, c2^0'=0, it^0'=0, pattern^0'=0, seqlen^0'=1, xx^0'=0, yy^0'=0, z^0'=0, [ 1<=z^post_14 && 1+c1^post_7<=0 && 1+c2^post_7<=0 ], cost: 10+8*z^post_14 Resulting cost 0 has complexity: Unknown Performed chaining from the start location: 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: [ buffer^0==buffer^post_27 && c1^0==c1^post_27 && c2^0==c2^post_27 && it^0==it^post_27 && pattern^0==pattern^post_27 && seqlen^0==seqlen^post_27 && xx^0==xx^post_27 && yy^0==yy^post_27 && z^0==z^post_27 ] WORST_CASE(Omega(1),?)