It’s sometimes inconvenient, especially if we want to focus on the parallel structure
of a computation, for a vertex of a trace to represent only one executed instruction.
Consequently, if a chain of instructions contains no parallel or procedural
cilk_sync, procedure call, or return—via either an explicit
statement or the return that happens implicitly upon reaching the end of a procedure),
we group the entire chain into a single strand.
Strands do not include instructions that involve parallel or procedural
control. These control dependencies must be represented as edges in the trace.