Expand description
§The Halting Problem
The input is parsed into a 2-dimensional array covering each possible combination of state and tape value at the cursor. Each transition is then computed via a lookup into this array.
To speed things up by about ten times, multiple transitions are then precomputed to allow skipping forward multiple steps at a time. Blocks 128 cells wide are cached once the cursor moves off either end.
Interestingly the total number of distinct cached blocks is very low, approximately 200. The cursor also doesn’t move too far, only covering a range of about 6,000 steps.