Conditons on Shattered Control Flow
Any use of an array in a control flow expression results in shattering
while Tɬ do ...;
repeat ... until S=0;
if D != C then ... else ...;
for I := A to B do ...;
A sequence of statements will be executed for each index in the applicable region
The order of execution is unspecified
Restrictions: No assignment to scalars; instances of @-modified
variables must be identical; no wrap, reflect, flooding, permute,
reduction, scan or other “array operations”