This is a brief description of the output format.
State machine:
Initial State 0 (needStrongRefs[], collectableWeakRefs[i], weakRefs[], collectSets[[i]], boundVars[])
  -->[next] to State 1
State 1 (needStrongRefs[], collectableWeakRefs[i], weakRefs[], collectSets[[i]], boundVars[i])
  -->[next] to State 2
  -->[SKIP(newDaCapoRun)] to State 1
  -->[SKIP(hasNext)] to State 1
  -->[SKIP(next)] to State 1
Final State 2 (needStrongRefs[], collectableWeakRefs[], weakRefs[i], collectSets[], boundVars[i])
The above shows the tracematch state machine. The information inside the brackets (on states) is about the Leak Elimination optimization and can be ignored here.
State 1
- collectable indices: [i]
-   primitive indices: []
-        weak indices: []
-       other indices: []
The above information is about the Indexing optimization and can also be ignored here.
Symbol advice methods for tracematch tracematch$0:
before$1	newDaCapoRun
before$2	hasNext
before$3	next
Sync advice method for tracematch tracematch$0:
Some advice method for tracematch tracematch$0:
Body advice method for tracematch tracematch$0:
The above information gives a mapping from (internal) advice names to the names of their respective tracematch symbols. In addition, there is a "Some", a "Sync" and a "Body" advice (see Section 4.7 in the tracematch paper). These advice are helper-advice and we can safely set them to weak.
Advice Dependencies for tracematch tracematch$0:
strong: HasNext.before$3(i) 
weak: HasNext.before$2(i), HasNext.before$1, HasNext.tracematch$0$body, HasNext.beforeafter$5, HasNext.beforeafter$4 
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Above we finally see the advice dependencies, expressed in terms of the internal advice names. Where variables are present, they are shown (e.g. "(i)").