Spent too long chasing virtual register chains to see that the underlying problem is an ordering issue... phis happen simultaneously, and I can make the emulator cheat less with its upsilon/phi implementation to avoid failing here, but will have to sort out unraveling this for actual code generation. Time to read a bit more, as I'm sure this is a well explored problem.
10 = phi 2, 11
8 = phi 1, 10
5 = phi 3, 15
4 = phi 0, 14


