A round trip to the register file #
Every visit the program pays to its register file has the same itinerary: scan
up to the file's top, bounce (two steps changing phase, since the scan
cannot overshoot the maximal cell), run one pass down the file, and scan back
to the working-cell marker. Only the middle differs – a mirror increment, a
file test, a track write. DescriptiveComplexity.Draw.Prog.reaches_fileRoundTrip
is the itinerary with the middle a hypothesis: any run from the file's top
to just below its bottom, changing at most the walked track.
The seek loop, the test rounds of a random access and the gate checks are all
this composite around their respective passes; DrawAdv's ADVANCE is the same
shape inlined with its two marker steps.
A round trip to the register file: from anywhere at or below the file's top, scan up to it, bounce into the pass phase, run the middle – any run from the top to just below the file, changing at most the walked track – and scan back down to the working-cell marker. The marker sits strictly below the file, so the return scan's stop is unique.
Dependency graph
A round trip to the register file, the budget forgotten.