unknown Initial ITS Start location: l2 Program variables: a^0 istemp^0 nbuffers^0 nlocbuffer^0 r^0 0: l0 -> l1 : a^0'=a^post1, istemp^0'=istemp^post1, nbuffers^0'=nbuffers^post1, nlocbuffer^0'=nlocbuffer^post1, r^0'=r^post1, (0 == 0 /\ r^post1 == 0 /\ a^post1-r^post1 == 0), cost: 1 1: l2 -> l0 : a^0'=a^post2, istemp^0'=istemp^post2, nbuffers^0'=nbuffers^post2, nlocbuffer^0'=nlocbuffer^post2, r^0'=r^post2, (-nlocbuffer^post2+nlocbuffer^0 == 0 /\ r^0-r^post2 == 0 /\ -nbuffers^post2+nbuffers^0 == 0 /\ a^0-a^post2 == 0 /\ -istemp^post2+istemp^0 == 0), cost: 1 Chained Linear Paths Start location: l2 Program variables: a^0 istemp^0 nbuffers^0 nlocbuffer^0 r^0 2: l2 -> l1 : a^0'=a^post1, istemp^0'=istemp^post1, nbuffers^0'=nbuffers^post1, nlocbuffer^0'=nlocbuffer^post1, r^0'=r^post1, (0 == 0 /\ -nlocbuffer^post2+nlocbuffer^0 == 0 /\ r^0-r^post2 == 0 /\ -nbuffers^post2+nbuffers^0 == 0 /\ r^post1 == 0 /\ a^0-a^post2 == 0 /\ -istemp^post2+istemp^0 == 0 /\ a^post1-r^post1 == 0), cost: 1 Eliminating location l0 by chaining: Applied chaining First rule: l2 -> l0 : a^0'=a^post2, istemp^0'=istemp^post2, nbuffers^0'=nbuffers^post2, nlocbuffer^0'=nlocbuffer^post2, r^0'=r^post2, (-nlocbuffer^post2+nlocbuffer^0 == 0 /\ r^0-r^post2 == 0 /\ -nbuffers^post2+nbuffers^0 == 0 /\ a^0-a^post2 == 0 /\ -istemp^post2+istemp^0 == 0), cost: 1 Second rule: l0 -> l1 : a^0'=a^post1, istemp^0'=istemp^post1, nbuffers^0'=nbuffers^post1, nlocbuffer^0'=nlocbuffer^post1, r^0'=r^post1, (0 == 0 /\ r^post1 == 0 /\ a^post1-r^post1 == 0), cost: 1 New rule: l2 -> l1 : a^0'=a^post1, istemp^0'=istemp^post1, nbuffers^0'=nbuffers^post1, nlocbuffer^0'=nlocbuffer^post1, r^0'=r^post1, (0 == 0 /\ -nlocbuffer^post2+nlocbuffer^0 == 0 /\ r^0-r^post2 == 0 /\ -nbuffers^post2+nbuffers^0 == 0 /\ r^post1 == 0 /\ a^0-a^post2 == 0 /\ -istemp^post2+istemp^0 == 0 /\ a^post1-r^post1 == 0), cost: 1 Applied deletion Removed the following rules: 0 1 Simplified Transitions Start location: l2 Program variables: a^0 istemp^0 nbuffers^0 nlocbuffer^0 r^0 3: l2 -> l1 : a^0'=0, istemp^0'=istemp^post1, nbuffers^0'=nbuffers^post1, nlocbuffer^0'=nlocbuffer^post1, r^0'=0, T, cost: 1 Propagated Equalities Original rule: l2 -> l1 : a^0'=a^post1, istemp^0'=istemp^post1, nbuffers^0'=nbuffers^post1, nlocbuffer^0'=nlocbuffer^post1, r^0'=r^post1, (0 == 0 /\ -nlocbuffer^post2+nlocbuffer^0 == 0 /\ r^0-r^post2 == 0 /\ -nbuffers^post2+nbuffers^0 == 0 /\ r^post1 == 0 /\ a^0-a^post2 == 0 /\ -istemp^post2+istemp^0 == 0 /\ a^post1-r^post1 == 0), cost: 1 New rule: l2 -> l1 : a^0'=0, istemp^0'=istemp^post1, nbuffers^0'=nbuffers^post1, nlocbuffer^0'=nlocbuffer^post1, r^0'=0, (0 == 0 /\ -nlocbuffer^post2+nlocbuffer^0 == 0 /\ r^0-r^post2 == 0 /\ -nbuffers^post2+nbuffers^0 == 0 /\ a^0-a^post2 == 0 /\ -istemp^post2+istemp^0 == 0), cost: 1 propagated equality r^post1 = 0 propagated equality a^post1 = 0 Propagated Equalities Original rule: l2 -> l1 : a^0'=0, istemp^0'=istemp^post1, nbuffers^0'=nbuffers^post1, nlocbuffer^0'=nlocbuffer^post1, r^0'=0, (0 == 0 /\ -nlocbuffer^post2+nlocbuffer^0 == 0 /\ r^0-r^post2 == 0 /\ -nbuffers^post2+nbuffers^0 == 0 /\ a^0-a^post2 == 0 /\ -istemp^post2+istemp^0 == 0), cost: 1 New rule: l2 -> l1 : a^0'=0, istemp^0'=istemp^post1, nbuffers^0'=nbuffers^post1, nlocbuffer^0'=nlocbuffer^post1, r^0'=0, 0 == 0, cost: 1 propagated equality nlocbuffer^post2 = nlocbuffer^0 propagated equality r^post2 = r^0 propagated equality nbuffers^post2 = nbuffers^0 propagated equality a^post2 = a^0 propagated equality istemp^post2 = istemp^0 Simplified Guard Original rule: l2 -> l1 : a^0'=0, istemp^0'=istemp^post1, nbuffers^0'=nbuffers^post1, nlocbuffer^0'=nlocbuffer^post1, r^0'=0, 0 == 0, cost: 1 New rule: l2 -> l1 : a^0'=0, istemp^0'=istemp^post1, nbuffers^0'=nbuffers^post1, nlocbuffer^0'=nlocbuffer^post1, r^0'=0, T, cost: 1 Step with 3 Trace 3[T] Blocked [{}, {}] Backtrack Trace Blocked [{3[T]}] Accept unknown Build SHA: a05f16bf13df659c382799650051f91bf6828c7b