digraph Memory { rankdir=LR; node [shape=box]; M [label="Initial memory"]; X [label="Store x = 42"]; Y [label="Loop: Store y"]; L [label="Load x -> 42"]; L -> X -> M [color=blue]; Y -> M [color=green]; MemMerge -> X [color=blue]; MemMerge -> Y [color=green]; Return -> MemMerge; Return -> L; }