unknown Initial ITS Start location: l5 Program variables: __const_500^0 i_13^0 j_15^0 rt_11^0 s_16^0 s_17^0 st_14^0 0: l0 -> l1 : __const_500^0'=__const_500^post1, i_13^0'=i_13^post1, j_15^0'=j_15^post1, rt_11^0'=rt_11^post1, s_16^0'=s_16^post1, s_17^0'=s_17^post1, st_14^0'=st_14^post1, (st_14^0-st_14^post1 == 0 /\ -rt_11^post1+rt_11^0 == 0 /\ j_15^post1-s_16^0 == 0 /\ i_13^1-s_17^0 == 0 /\ -s_17^post1+s_17^0 == 0 /\ __const_500^0-__const_500^post1 == 0 /\ s_16^0-s_16^post1 == 0 /\ i_13^post1-j_15^post1 == 0), cost: 1 4: l1 -> l3 : __const_500^0'=__const_500^post5, i_13^0'=i_13^post5, j_15^0'=j_15^post5, rt_11^0'=rt_11^post5, s_16^0'=s_16^post5, s_17^0'=s_17^post5, st_14^0'=st_14^post5, (__const_500^0-i_13^0 <= 0 /\ __const_500^0-__const_500^post5 == 0 /\ s_16^0-s_16^post5 == 0 /\ st_14^0-st_14^post5 == 0 /\ -s_17^post5+s_17^0 == 0 /\ -i_13^post5+i_13^0 == 0 /\ -st_14^0+rt_11^post5 == 0 /\ j_15^0-j_15^post5 == 0), cost: 1 5: l1 -> l2 : __const_500^0'=__const_500^post6, i_13^0'=i_13^post6, j_15^0'=j_15^post6, rt_11^0'=rt_11^post6, s_16^0'=s_16^post6, s_17^0'=s_17^post6, st_14^0'=st_14^post6, (j_15^0-j_15^post6 == 0 /\ -rt_11^post6+rt_11^0 == 0 /\ 1-__const_500^0+i_13^0 <= 0 /\ -1-i_13^0+i_13^post6 == 0 /\ -s_17^post6+s_17^0 == 0 /\ s_16^0-s_16^post6 == 0 /\ __const_500^0-__const_500^post6 == 0 /\ st_14^0-st_14^post6 == 0), cost: 1 1: l2 -> l3 : __const_500^0'=__const_500^post2, i_13^0'=i_13^post2, j_15^0'=j_15^post2, rt_11^0'=rt_11^post2, s_16^0'=s_16^post2, s_17^0'=s_17^post2, st_14^0'=st_14^post2, (j_15^0-j_15^post2 == 0 /\ __const_500^0-i_13^0 <= 0 /\ st_14^0-st_14^post2 == 0 /\ -s_17^post2+s_17^0 == 0 /\ -i_13^post2+i_13^0 == 0 /\ __const_500^0-__const_500^post2 == 0 /\ -s_16^post2+s_16^0 == 0 /\ -st_14^0+rt_11^post2 == 0), cost: 1 2: l2 -> l4 : __const_500^0'=__const_500^post3, i_13^0'=i_13^post3, j_15^0'=j_15^post3, rt_11^0'=rt_11^post3, s_16^0'=s_16^post3, s_17^0'=s_17^post3, st_14^0'=st_14^post3, (j_15^0-j_15^post3 == 0 /\ -s_17^post3+s_17^0 == 0 /\ -1+i_13^post3-i_13^0 == 0 /\ __const_500^0-__const_500^post3 == 0 /\ 1-__const_500^0+i_13^0 <= 0 /\ rt_11^0-rt_11^post3 == 0 /\ -s_16^post3+s_16^0 == 0 /\ st_14^0-st_14^post3 == 0), cost: 1 3: l4 -> l2 : __const_500^0'=__const_500^post4, i_13^0'=i_13^post4, j_15^0'=j_15^post4, rt_11^0'=rt_11^post4, s_16^0'=s_16^post4, s_17^0'=s_17^post4, st_14^0'=st_14^post4, (-i_13^post4+i_13^0 == 0 /\ -__const_500^post4+__const_500^0 == 0 /\ -s_16^post4+s_16^0 == 0 /\ -s_17^post4+s_17^0 == 0 /\ j_15^0-j_15^post4 == 0 /\ -rt_11^post4+rt_11^0 == 0 /\ st_14^0-st_14^post4 == 0), cost: 1 6: l5 -> l0 : __const_500^0'=__const_500^post7, i_13^0'=i_13^post7, j_15^0'=j_15^post7, rt_11^0'=rt_11^post7, s_16^0'=s_16^post7, s_17^0'=s_17^post7, st_14^0'=st_14^post7, (-s_16^post7+s_16^0 == 0 /\ -s_17^post7+s_17^0 == 0 /\ j_15^0-j_15^post7 == 0 /\ -i_13^post7+i_13^0 == 0 /\ __const_500^0-__const_500^post7 == 0 /\ rt_11^0-rt_11^post7 == 0 /\ st_14^0-st_14^post7 == 0), cost: 1 Chained Linear Paths Start location: l5 Program variables: __const_500^0 i_13^0 j_15^0 rt_11^0 s_16^0 s_17^0 st_14^0 4: l1 -> l3 : __const_500^0'=__const_500^post5, i_13^0'=i_13^post5, j_15^0'=j_15^post5, rt_11^0'=rt_11^post5, s_16^0'=s_16^post5, s_17^0'=s_17^post5, st_14^0'=st_14^post5, (__const_500^0-i_13^0 <= 0 /\ __const_500^0-__const_500^post5 == 0 /\ s_16^0-s_16^post5 == 0 /\ st_14^0-st_14^post5 == 0 /\ -s_17^post5+s_17^0 == 0 /\ -i_13^post5+i_13^0 == 0 /\ -st_14^0+rt_11^post5 == 0 /\ j_15^0-j_15^post5 == 0), cost: 1 5: l1 -> l2 : __const_500^0'=__const_500^post6, i_13^0'=i_13^post6, j_15^0'=j_15^post6, rt_11^0'=rt_11^post6, s_16^0'=s_16^post6, s_17^0'=s_17^post6, st_14^0'=st_14^post6, (j_15^0-j_15^post6 == 0 /\ -rt_11^post6+rt_11^0 == 0 /\ 1-__const_500^0+i_13^0 <= 0 /\ -1-i_13^0+i_13^post6 == 0 /\ -s_17^post6+s_17^0 == 0 /\ s_16^0-s_16^post6 == 0 /\ __const_500^0-__const_500^post6 == 0 /\ st_14^0-st_14^post6 == 0), cost: 1 1: l2 -> l3 : __const_500^0'=__const_500^post2, i_13^0'=i_13^post2, j_15^0'=j_15^post2, rt_11^0'=rt_11^post2, s_16^0'=s_16^post2, s_17^0'=s_17^post2, st_14^0'=st_14^post2, (j_15^0-j_15^post2 == 0 /\ __const_500^0-i_13^0 <= 0 /\ st_14^0-st_14^post2 == 0 /\ -s_17^post2+s_17^0 == 0 /\ -i_13^post2+i_13^0 == 0 /\ __const_500^0-__const_500^post2 == 0 /\ -s_16^post2+s_16^0 == 0 /\ -st_14^0+rt_11^post2 == 0), cost: 1 8: l2 -> l2 : __const_500^0'=__const_500^post4, i_13^0'=i_13^post4, j_15^0'=j_15^post4, rt_11^0'=rt_11^post4, s_16^0'=s_16^post4, s_17^0'=s_17^post4, st_14^0'=st_14^post4, (j_15^0-j_15^post3 == 0 /\ -s_17^post3+s_17^0 == 0 /\ -1+i_13^post3-i_13^0 == 0 /\ j_15^post3-j_15^post4 == 0 /\ __const_500^0-__const_500^post3 == 0 /\ 1-__const_500^0+i_13^0 <= 0 /\ s_16^post3-s_16^post4 == 0 /\ rt_11^0-rt_11^post3 == 0 /\ st_14^post3-st_14^post4 == 0 /\ -s_16^post3+s_16^0 == 0 /\ -__const_500^post4+__const_500^post3 == 0 /\ i_13^post3-i_13^post4 == 0 /\ st_14^0-st_14^post3 == 0 /\ -rt_11^post4+rt_11^post3 == 0 /\ s_17^post3-s_17^post4 == 0), cost: 1 7: l5 -> l1 : __const_500^0'=__const_500^post1, i_13^0'=i_13^post1, j_15^0'=j_15^post1, rt_11^0'=rt_11^post1, s_16^0'=s_16^post1, s_17^0'=s_17^post1, st_14^0'=st_14^post1, (-s_16^post7+s_16^0 == 0 /\ -s_17^post1+s_17^post7 == 0 /\ -s_17^post7+i_13^1 == 0 /\ -rt_11^post1+rt_11^post7 == 0 /\ -s_17^post7+s_17^0 == 0 /\ -s_16^post7+j_15^post1 == 0 /\ s_16^post7-s_16^post1 == 0 /\ j_15^0-j_15^post7 == 0 /\ -i_13^post7+i_13^0 == 0 /\ -st_14^post1+st_14^post7 == 0 /\ __const_500^post7-__const_500^post1 == 0 /\ __const_500^0-__const_500^post7 == 0 /\ rt_11^0-rt_11^post7 == 0 /\ st_14^0-st_14^post7 == 0 /\ i_13^post1-j_15^post1 == 0), cost: 1 Eliminating location l0 by chaining: Applied chaining First rule: l5 -> l0 : __const_500^0'=__const_500^post7, i_13^0'=i_13^post7, j_15^0'=j_15^post7, rt_11^0'=rt_11^post7, s_16^0'=s_16^post7, s_17^0'=s_17^post7, st_14^0'=st_14^post7, (-s_16^post7+s_16^0 == 0 /\ -s_17^post7+s_17^0 == 0 /\ j_15^0-j_15^post7 == 0 /\ -i_13^post7+i_13^0 == 0 /\ __const_500^0-__const_500^post7 == 0 /\ rt_11^0-rt_11^post7 == 0 /\ st_14^0-st_14^post7 == 0), cost: 1 Second rule: l0 -> l1 : __const_500^0'=__const_500^post1, i_13^0'=i_13^post1, j_15^0'=j_15^post1, rt_11^0'=rt_11^post1, s_16^0'=s_16^post1, s_17^0'=s_17^post1, st_14^0'=st_14^post1, (st_14^0-st_14^post1 == 0 /\ -rt_11^post1+rt_11^0 == 0 /\ j_15^post1-s_16^0 == 0 /\ i_13^1-s_17^0 == 0 /\ -s_17^post1+s_17^0 == 0 /\ __const_500^0-__const_500^post1 == 0 /\ s_16^0-s_16^post1 == 0 /\ i_13^post1-j_15^post1 == 0), cost: 1 New rule: l5 -> l1 : __const_500^0'=__const_500^post1, i_13^0'=i_13^post1, j_15^0'=j_15^post1, rt_11^0'=rt_11^post1, s_16^0'=s_16^post1, s_17^0'=s_17^post1, st_14^0'=st_14^post1, (-s_16^post7+s_16^0 == 0 /\ -s_17^post1+s_17^post7 == 0 /\ -s_17^post7+i_13^1 == 0 /\ -rt_11^post1+rt_11^post7 == 0 /\ -s_17^post7+s_17^0 == 0 /\ -s_16^post7+j_15^post1 == 0 /\ s_16^post7-s_16^post1 == 0 /\ j_15^0-j_15^post7 == 0 /\ -i_13^post7+i_13^0 == 0 /\ -st_14^post1+st_14^post7 == 0 /\ __const_500^post7-__const_500^post1 == 0 /\ __const_500^0-__const_500^post7 == 0 /\ rt_11^0-rt_11^post7 == 0 /\ st_14^0-st_14^post7 == 0 /\ i_13^post1-j_15^post1 == 0), cost: 1 Applied deletion Removed the following rules: 0 6 Eliminating location l4 by chaining: Applied chaining First rule: l2 -> l4 : __const_500^0'=__const_500^post3, i_13^0'=i_13^post3, j_15^0'=j_15^post3, rt_11^0'=rt_11^post3, s_16^0'=s_16^post3, s_17^0'=s_17^post3, st_14^0'=st_14^post3, (j_15^0-j_15^post3 == 0 /\ -s_17^post3+s_17^0 == 0 /\ -1+i_13^post3-i_13^0 == 0 /\ __const_500^0-__const_500^post3 == 0 /\ 1-__const_500^0+i_13^0 <= 0 /\ rt_11^0-rt_11^post3 == 0 /\ -s_16^post3+s_16^0 == 0 /\ st_14^0-st_14^post3 == 0), cost: 1 Second rule: l4 -> l2 : __const_500^0'=__const_500^post4, i_13^0'=i_13^post4, j_15^0'=j_15^post4, rt_11^0'=rt_11^post4, s_16^0'=s_16^post4, s_17^0'=s_17^post4, st_14^0'=st_14^post4, (-i_13^post4+i_13^0 == 0 /\ -__const_500^post4+__const_500^0 == 0 /\ -s_16^post4+s_16^0 == 0 /\ -s_17^post4+s_17^0 == 0 /\ j_15^0-j_15^post4 == 0 /\ -rt_11^post4+rt_11^0 == 0 /\ st_14^0-st_14^post4 == 0), cost: 1 New rule: l2 -> l2 : __const_500^0'=__const_500^post4, i_13^0'=i_13^post4, j_15^0'=j_15^post4, rt_11^0'=rt_11^post4, s_16^0'=s_16^post4, s_17^0'=s_17^post4, st_14^0'=st_14^post4, (j_15^0-j_15^post3 == 0 /\ -s_17^post3+s_17^0 == 0 /\ -1+i_13^post3-i_13^0 == 0 /\ j_15^post3-j_15^post4 == 0 /\ __const_500^0-__const_500^post3 == 0 /\ 1-__const_500^0+i_13^0 <= 0 /\ s_16^post3-s_16^post4 == 0 /\ rt_11^0-rt_11^post3 == 0 /\ st_14^post3-st_14^post4 == 0 /\ -s_16^post3+s_16^0 == 0 /\ -__const_500^post4+__const_500^post3 == 0 /\ i_13^post3-i_13^post4 == 0 /\ st_14^0-st_14^post3 == 0 /\ -rt_11^post4+rt_11^post3 == 0 /\ s_17^post3-s_17^post4 == 0), cost: 1 Applied deletion Removed the following rules: 2 3 Simplified Transitions Start location: l5 Program variables: __const_500^0 i_13^0 j_15^0 rt_11^0 s_16^0 st_14^0 10: l1 -> l3 : rt_11^0'=st_14^0, __const_500^0-i_13^0 <= 0, cost: 1 11: l1 -> l2 : i_13^0'=1+i_13^0, 1-__const_500^0+i_13^0 <= 0, cost: 1 9: l2 -> l3 : rt_11^0'=st_14^0, __const_500^0-i_13^0 <= 0, cost: 1 13: l2 -> l2 : i_13^0'=1+i_13^0, 1-__const_500^0+i_13^0 <= 0, cost: 1 12: l5 -> l1 : i_13^0'=s_16^0, j_15^0'=s_16^0, T, cost: 1 Propagated Equalities Original rule: l2 -> l3 : __const_500^0'=__const_500^post2, i_13^0'=i_13^post2, j_15^0'=j_15^post2, rt_11^0'=rt_11^post2, s_16^0'=s_16^post2, s_17^0'=s_17^post2, st_14^0'=st_14^post2, (j_15^0-j_15^post2 == 0 /\ __const_500^0-i_13^0 <= 0 /\ st_14^0-st_14^post2 == 0 /\ -s_17^post2+s_17^0 == 0 /\ -i_13^post2+i_13^0 == 0 /\ __const_500^0-__const_500^post2 == 0 /\ -s_16^post2+s_16^0 == 0 /\ -st_14^0+rt_11^post2 == 0), cost: 1 New rule: l2 -> l3 : __const_500^0'=__const_500^0, i_13^0'=i_13^0, j_15^0'=j_15^0, rt_11^0'=st_14^0, s_16^0'=s_16^0, s_17^0'=s_17^0, st_14^0'=st_14^0, (0 == 0 /\ __const_500^0-i_13^0 <= 0), cost: 1 propagated equality j_15^post2 = j_15^0 propagated equality st_14^post2 = st_14^0 propagated equality s_17^post2 = s_17^0 propagated equality i_13^post2 = i_13^0 propagated equality __const_500^post2 = __const_500^0 propagated equality s_16^post2 = s_16^0 propagated equality rt_11^post2 = st_14^0 Simplified Guard Original rule: l2 -> l3 : __const_500^0'=__const_500^0, i_13^0'=i_13^0, j_15^0'=j_15^0, rt_11^0'=st_14^0, s_16^0'=s_16^0, s_17^0'=s_17^0, st_14^0'=st_14^0, (0 == 0 /\ __const_500^0-i_13^0 <= 0), cost: 1 New rule: l2 -> l3 : __const_500^0'=__const_500^0, i_13^0'=i_13^0, j_15^0'=j_15^0, rt_11^0'=st_14^0, s_16^0'=s_16^0, s_17^0'=s_17^0, st_14^0'=st_14^0, __const_500^0-i_13^0 <= 0, cost: 1 Removed Trivial Updates Original rule: l2 -> l3 : __const_500^0'=__const_500^0, i_13^0'=i_13^0, j_15^0'=j_15^0, rt_11^0'=st_14^0, s_16^0'=s_16^0, s_17^0'=s_17^0, st_14^0'=st_14^0, __const_500^0-i_13^0 <= 0, cost: 1 New rule: l2 -> l3 : rt_11^0'=st_14^0, __const_500^0-i_13^0 <= 0, cost: 1 Propagated Equalities Original rule: l1 -> l3 : __const_500^0'=__const_500^post5, i_13^0'=i_13^post5, j_15^0'=j_15^post5, rt_11^0'=rt_11^post5, s_16^0'=s_16^post5, s_17^0'=s_17^post5, st_14^0'=st_14^post5, (__const_500^0-i_13^0 <= 0 /\ __const_500^0-__const_500^post5 == 0 /\ s_16^0-s_16^post5 == 0 /\ st_14^0-st_14^post5 == 0 /\ -s_17^post5+s_17^0 == 0 /\ -i_13^post5+i_13^0 == 0 /\ -st_14^0+rt_11^post5 == 0 /\ j_15^0-j_15^post5 == 0), cost: 1 New rule: l1 -> l3 : __const_500^0'=__const_500^0, i_13^0'=i_13^0, j_15^0'=j_15^0, rt_11^0'=st_14^0, s_16^0'=s_16^0, s_17^0'=s_17^0, st_14^0'=st_14^0, (0 == 0 /\ __const_500^0-i_13^0 <= 0), cost: 1 propagated equality __const_500^post5 = __const_500^0 propagated equality s_16^post5 = s_16^0 propagated equality st_14^post5 = st_14^0 propagated equality s_17^post5 = s_17^0 propagated equality i_13^post5 = i_13^0 propagated equality rt_11^post5 = st_14^0 propagated equality j_15^post5 = j_15^0 Simplified Guard Original rule: l1 -> l3 : __const_500^0'=__const_500^0, i_13^0'=i_13^0, j_15^0'=j_15^0, rt_11^0'=st_14^0, s_16^0'=s_16^0, s_17^0'=s_17^0, st_14^0'=st_14^0, (0 == 0 /\ __const_500^0-i_13^0 <= 0), cost: 1 New rule: l1 -> l3 : __const_500^0'=__const_500^0, i_13^0'=i_13^0, j_15^0'=j_15^0, rt_11^0'=st_14^0, s_16^0'=s_16^0, s_17^0'=s_17^0, st_14^0'=st_14^0, __const_500^0-i_13^0 <= 0, cost: 1 Removed Trivial Updates Original rule: l1 -> l3 : __const_500^0'=__const_500^0, i_13^0'=i_13^0, j_15^0'=j_15^0, rt_11^0'=st_14^0, s_16^0'=s_16^0, s_17^0'=s_17^0, st_14^0'=st_14^0, __const_500^0-i_13^0 <= 0, cost: 1 New rule: l1 -> l3 : rt_11^0'=st_14^0, __const_500^0-i_13^0 <= 0, cost: 1 Propagated Equalities Original rule: l1 -> l2 : __const_500^0'=__const_500^post6, i_13^0'=i_13^post6, j_15^0'=j_15^post6, rt_11^0'=rt_11^post6, s_16^0'=s_16^post6, s_17^0'=s_17^post6, st_14^0'=st_14^post6, (j_15^0-j_15^post6 == 0 /\ -rt_11^post6+rt_11^0 == 0 /\ 1-__const_500^0+i_13^0 <= 0 /\ -1-i_13^0+i_13^post6 == 0 /\ -s_17^post6+s_17^0 == 0 /\ s_16^0-s_16^post6 == 0 /\ __const_500^0-__const_500^post6 == 0 /\ st_14^0-st_14^post6 == 0), cost: 1 New rule: l1 -> l2 : __const_500^0'=__const_500^0, i_13^0'=1+i_13^0, j_15^0'=j_15^0, rt_11^0'=rt_11^0, s_16^0'=s_16^0, s_17^0'=s_17^0, st_14^0'=st_14^0, (0 == 0 /\ 1-__const_500^0+i_13^0 <= 0), cost: 1 propagated equality j_15^post6 = j_15^0 propagated equality rt_11^post6 = rt_11^0 propagated equality i_13^post6 = 1+i_13^0 propagated equality s_17^post6 = s_17^0 propagated equality s_16^post6 = s_16^0 propagated equality __const_500^post6 = __const_500^0 propagated equality st_14^post6 = st_14^0 Simplified Guard Original rule: l1 -> l2 : __const_500^0'=__const_500^0, i_13^0'=1+i_13^0, j_15^0'=j_15^0, rt_11^0'=rt_11^0, s_16^0'=s_16^0, s_17^0'=s_17^0, st_14^0'=st_14^0, (0 == 0 /\ 1-__const_500^0+i_13^0 <= 0), cost: 1 New rule: l1 -> l2 : __const_500^0'=__const_500^0, i_13^0'=1+i_13^0, j_15^0'=j_15^0, rt_11^0'=rt_11^0, s_16^0'=s_16^0, s_17^0'=s_17^0, st_14^0'=st_14^0, 1-__const_500^0+i_13^0 <= 0, cost: 1 Removed Trivial Updates Original rule: l1 -> l2 : __const_500^0'=__const_500^0, i_13^0'=1+i_13^0, j_15^0'=j_15^0, rt_11^0'=rt_11^0, s_16^0'=s_16^0, s_17^0'=s_17^0, st_14^0'=st_14^0, 1-__const_500^0+i_13^0 <= 0, cost: 1 New rule: l1 -> l2 : i_13^0'=1+i_13^0, 1-__const_500^0+i_13^0 <= 0, cost: 1 Propagated Equalities Original rule: l5 -> l1 : __const_500^0'=__const_500^post1, i_13^0'=i_13^post1, j_15^0'=j_15^post1, rt_11^0'=rt_11^post1, s_16^0'=s_16^post1, s_17^0'=s_17^post1, st_14^0'=st_14^post1, (-s_16^post7+s_16^0 == 0 /\ -s_17^post1+s_17^post7 == 0 /\ -s_17^post7+i_13^1 == 0 /\ -rt_11^post1+rt_11^post7 == 0 /\ -s_17^post7+s_17^0 == 0 /\ -s_16^post7+j_15^post1 == 0 /\ s_16^post7-s_16^post1 == 0 /\ j_15^0-j_15^post7 == 0 /\ -i_13^post7+i_13^0 == 0 /\ -st_14^post1+st_14^post7 == 0 /\ __const_500^post7-__const_500^post1 == 0 /\ __const_500^0-__const_500^post7 == 0 /\ rt_11^0-rt_11^post7 == 0 /\ st_14^0-st_14^post7 == 0 /\ i_13^post1-j_15^post1 == 0), cost: 1 New rule: l5 -> l1 : __const_500^0'=__const_500^post7, i_13^0'=s_16^post7, j_15^0'=s_16^post7, rt_11^0'=rt_11^post7, s_16^0'=s_16^post7, s_17^0'=s_17^post7, st_14^0'=st_14^post7, (0 == 0 /\ -s_16^post7+s_16^0 == 0 /\ -s_17^post7+i_13^1 == 0 /\ -s_17^post7+s_17^0 == 0 /\ j_15^0-j_15^post7 == 0 /\ -i_13^post7+i_13^0 == 0 /\ __const_500^0-__const_500^post7 == 0 /\ rt_11^0-rt_11^post7 == 0 /\ st_14^0-st_14^post7 == 0), cost: 1 propagated equality s_17^post1 = s_17^post7 propagated equality rt_11^post1 = rt_11^post7 propagated equality j_15^post1 = s_16^post7 propagated equality s_16^post1 = s_16^post7 propagated equality st_14^post1 = st_14^post7 propagated equality __const_500^post1 = __const_500^post7 propagated equality i_13^post1 = s_16^post7 Propagated Equalities Original rule: l5 -> l1 : __const_500^0'=__const_500^post7, i_13^0'=s_16^post7, j_15^0'=s_16^post7, rt_11^0'=rt_11^post7, s_16^0'=s_16^post7, s_17^0'=s_17^post7, st_14^0'=st_14^post7, (0 == 0 /\ -s_16^post7+s_16^0 == 0 /\ -s_17^post7+i_13^1 == 0 /\ -s_17^post7+s_17^0 == 0 /\ j_15^0-j_15^post7 == 0 /\ -i_13^post7+i_13^0 == 0 /\ __const_500^0-__const_500^post7 == 0 /\ rt_11^0-rt_11^post7 == 0 /\ st_14^0-st_14^post7 == 0), cost: 1 New rule: l5 -> l1 : __const_500^0'=__const_500^0, i_13^0'=s_16^0, j_15^0'=s_16^0, rt_11^0'=rt_11^0, s_16^0'=s_16^0, s_17^0'=s_17^0, st_14^0'=st_14^0, 0 == 0, cost: 1 propagated equality s_16^post7 = s_16^0 propagated equality i_13^1 = s_17^post7 propagated equality s_17^post7 = s_17^0 propagated equality j_15^post7 = j_15^0 propagated equality i_13^post7 = i_13^0 propagated equality __const_500^post7 = __const_500^0 propagated equality rt_11^post7 = rt_11^0 propagated equality st_14^post7 = st_14^0 Simplified Guard Original rule: l5 -> l1 : __const_500^0'=__const_500^0, i_13^0'=s_16^0, j_15^0'=s_16^0, rt_11^0'=rt_11^0, s_16^0'=s_16^0, s_17^0'=s_17^0, st_14^0'=st_14^0, 0 == 0, cost: 1 New rule: l5 -> l1 : __const_500^0'=__const_500^0, i_13^0'=s_16^0, j_15^0'=s_16^0, rt_11^0'=rt_11^0, s_16^0'=s_16^0, s_17^0'=s_17^0, st_14^0'=st_14^0, T, cost: 1 Removed Trivial Updates Original rule: l5 -> l1 : __const_500^0'=__const_500^0, i_13^0'=s_16^0, j_15^0'=s_16^0, rt_11^0'=rt_11^0, s_16^0'=s_16^0, s_17^0'=s_17^0, st_14^0'=st_14^0, T, cost: 1 New rule: l5 -> l1 : i_13^0'=s_16^0, j_15^0'=s_16^0, T, cost: 1 Propagated Equalities Original rule: l2 -> l2 : __const_500^0'=__const_500^post4, i_13^0'=i_13^post4, j_15^0'=j_15^post4, rt_11^0'=rt_11^post4, s_16^0'=s_16^post4, s_17^0'=s_17^post4, st_14^0'=st_14^post4, (j_15^0-j_15^post3 == 0 /\ -s_17^post3+s_17^0 == 0 /\ -1+i_13^post3-i_13^0 == 0 /\ j_15^post3-j_15^post4 == 0 /\ __const_500^0-__const_500^post3 == 0 /\ 1-__const_500^0+i_13^0 <= 0 /\ s_16^post3-s_16^post4 == 0 /\ rt_11^0-rt_11^post3 == 0 /\ st_14^post3-st_14^post4 == 0 /\ -s_16^post3+s_16^0 == 0 /\ -__const_500^post4+__const_500^post3 == 0 /\ i_13^post3-i_13^post4 == 0 /\ st_14^0-st_14^post3 == 0 /\ -rt_11^post4+rt_11^post3 == 0 /\ s_17^post3-s_17^post4 == 0), cost: 1 New rule: l2 -> l2 : __const_500^0'=__const_500^post3, i_13^0'=i_13^post3, j_15^0'=j_15^post3, rt_11^0'=rt_11^post3, s_16^0'=s_16^post3, s_17^0'=s_17^post3, st_14^0'=st_14^post3, (0 == 0 /\ j_15^0-j_15^post3 == 0 /\ -s_17^post3+s_17^0 == 0 /\ -1+i_13^post3-i_13^0 == 0 /\ __const_500^0-__const_500^post3 == 0 /\ 1-__const_500^0+i_13^0 <= 0 /\ rt_11^0-rt_11^post3 == 0 /\ -s_16^post3+s_16^0 == 0 /\ st_14^0-st_14^post3 == 0), cost: 1 propagated equality j_15^post4 = j_15^post3 propagated equality s_16^post4 = s_16^post3 propagated equality st_14^post4 = st_14^post3 propagated equality __const_500^post4 = __const_500^post3 propagated equality i_13^post4 = i_13^post3 propagated equality rt_11^post4 = rt_11^post3 propagated equality s_17^post4 = s_17^post3 Propagated Equalities Original rule: l2 -> l2 : __const_500^0'=__const_500^post3, i_13^0'=i_13^post3, j_15^0'=j_15^post3, rt_11^0'=rt_11^post3, s_16^0'=s_16^post3, s_17^0'=s_17^post3, st_14^0'=st_14^post3, (0 == 0 /\ j_15^0-j_15^post3 == 0 /\ -s_17^post3+s_17^0 == 0 /\ -1+i_13^post3-i_13^0 == 0 /\ __const_500^0-__const_500^post3 == 0 /\ 1-__const_500^0+i_13^0 <= 0 /\ rt_11^0-rt_11^post3 == 0 /\ -s_16^post3+s_16^0 == 0 /\ st_14^0-st_14^post3 == 0), cost: 1 New rule: l2 -> l2 : __const_500^0'=__const_500^0, i_13^0'=1+i_13^0, j_15^0'=j_15^0, rt_11^0'=rt_11^0, s_16^0'=s_16^0, s_17^0'=s_17^0, st_14^0'=st_14^0, (0 == 0 /\ 1-__const_500^0+i_13^0 <= 0), cost: 1 propagated equality j_15^post3 = j_15^0 propagated equality s_17^post3 = s_17^0 propagated equality i_13^post3 = 1+i_13^0 propagated equality __const_500^post3 = __const_500^0 propagated equality rt_11^post3 = rt_11^0 propagated equality s_16^post3 = s_16^0 propagated equality st_14^post3 = st_14^0 Simplified Guard Original rule: l2 -> l2 : __const_500^0'=__const_500^0, i_13^0'=1+i_13^0, j_15^0'=j_15^0, rt_11^0'=rt_11^0, s_16^0'=s_16^0, s_17^0'=s_17^0, st_14^0'=st_14^0, (0 == 0 /\ 1-__const_500^0+i_13^0 <= 0), cost: 1 New rule: l2 -> l2 : __const_500^0'=__const_500^0, i_13^0'=1+i_13^0, j_15^0'=j_15^0, rt_11^0'=rt_11^0, s_16^0'=s_16^0, s_17^0'=s_17^0, st_14^0'=st_14^0, 1-__const_500^0+i_13^0 <= 0, cost: 1 Removed Trivial Updates Original rule: l2 -> l2 : __const_500^0'=__const_500^0, i_13^0'=1+i_13^0, j_15^0'=j_15^0, rt_11^0'=rt_11^0, s_16^0'=s_16^0, s_17^0'=s_17^0, st_14^0'=st_14^0, 1-__const_500^0+i_13^0 <= 0, cost: 1 New rule: l2 -> l2 : i_13^0'=1+i_13^0, 1-__const_500^0+i_13^0 <= 0, cost: 1 Step with 12 Trace 12[T] Blocked [{}, {}] Step with 10 Trace 12[T], 10[(__const_500^0-i_13^0 <= 0)] Blocked [{}, {}, {}] Backtrack Trace 12[T] Blocked [{}, {10[T]}] Step with 11 Trace 12[T], 11[(1-__const_500^0+i_13^0 <= 0)] Blocked [{}, {10[T]}, {}] Step with 9 Trace 12[T], 11[(1-__const_500^0+i_13^0 <= 0)], 9[(__const_500^0-i_13^0 <= 0)] Blocked [{}, {10[T]}, {}, {}] Backtrack Trace 12[T], 11[(1-__const_500^0+i_13^0 <= 0)] Blocked [{}, {10[T]}, {9[T]}] Step with 13 Trace 12[T], 11[(1-__const_500^0+i_13^0 <= 0)], 13[(1-__const_500^0+i_13^0 <= 0)] Blocked [{}, {10[T]}, {9[T]}, {}] Accelerate Start location: l5 Program variables: __const_500^0 i_13^0 j_15^0 rt_11^0 s_16^0 st_14^0 10: l1 -> l3 : rt_11^0'=st_14^0, __const_500^0-i_13^0 <= 0, cost: 1 11: l1 -> l2 : i_13^0'=1+i_13^0, 1-__const_500^0+i_13^0 <= 0, cost: 1 9: l2 -> l3 : rt_11^0'=st_14^0, __const_500^0-i_13^0 <= 0, cost: 1 13: l2 -> l2 : i_13^0'=1+i_13^0, 1-__const_500^0+i_13^0 <= 0, cost: 1 14: l2 -> l2 : i_13^0'=i_13^0+n, (__const_500^0-i_13^0-n >= 0 /\ -1+n >= 0), cost: 1 12: l5 -> l1 : i_13^0'=s_16^0, j_15^0'=s_16^0, T, cost: 1 Loop Acceleration Original rule: l2 -> l2 : i_13^0'=1+i_13^0, (1-__const_500^0+i_13^0 <= 0), cost: 1 New rule: l2 -> l2 : i_13^0'=i_13^0+n, (__const_500^0-i_13^0-n >= 0 /\ -1+n >= 0), cost: 1 -1+__const_500^0-i_13^0 >= 0 [0]: montonic decrease yields __const_500^0-i_13^0-n >= 0 -1+__const_500^0-i_13^0 >= 0 [1]: eventual increase yields (1 <= 0 /\ -1+__const_500^0-i_13^0 >= 0) Replacement map: {-1+__const_500^0-i_13^0 >= 0 -> __const_500^0-i_13^0-n >= 0} Trace 12[T], 11[(1-__const_500^0+i_13^0 <= 0)], 14[(__const_500^0-i_13^0-n >= 0 /\ -1+n >= 0)] Blocked [{}, {10[T]}, {9[T]}, {13[T], 14[T]}] Step with 9 Trace 12[T], 11[(1-__const_500^0+i_13^0 <= 0)], 14[(__const_500^0-i_13^0-n >= 0 /\ -1+n >= 0)], 9[(__const_500^0-i_13^0 <= 0)] Blocked [{}, {10[T]}, {9[T]}, {13[T], 14[T]}, {}] Backtrack Trace 12[T], 11[(1-__const_500^0+i_13^0 <= 0)], 14[(__const_500^0-i_13^0-n >= 0 /\ -1+n >= 0)] Blocked [{}, {10[T]}, {9[T]}, {9[T], 13[T], 14[T]}] Backtrack Trace 12[T], 11[(1-__const_500^0+i_13^0 <= 0)] Blocked [{}, {10[T]}, {9[T], 14[T]}] Step with 13 Trace 12[T], 11[(1-__const_500^0+i_13^0 <= 0)], 13[(1-__const_500^0+i_13^0 <= 0)] Blocked [{}, {10[T]}, {9[T], 14[T]}, {}] Covered Trace 12[T], 11[(1-__const_500^0+i_13^0 <= 0)] Blocked [{}, {10[T]}, {9[T], 13[T], 14[T]}] Backtrack Trace 12[T] Blocked [{}, {10[T], 11[T]}] Backtrack Trace Blocked [{12[T]}] Accept unknown Build SHA: a05f16bf13df659c382799650051f91bf6828c7b