c{0: 0 (((loop))) -- ((open 0)) c{1: 0 X (((loop))) => (((jump)) ((-1 offset))) c{0: 0 (((1 integer) (routine-id)) <- ((fork)) ((f1 fn)) ((nil literal) (globals)) ((30 literal) (limit))) -- nil c{0: 1 (((sleep)) ((until-routine-done literal)) ((1 integer) (routine-id))) -- nil c{0: 2 (((2 integer)) <- ((copy)) ((34 literal))) -- nil c{1: 0 ✓ (((1 integer) (routine-id)) <- ((fork)) ((f1 fn)) ((nil literal) (globals)) ((30 literal) (limit))) c{1: 1 ✓ (((sleep)) ((until-routine-done literal)) ((1 integer) (routine-id))) c{1: 2 ✓ (((2 integer)) <- ((copy)) ((34 literal))) cn0: convert-names in f1 cn0: (((jump)) ((-1 offset))) nil nil cn0: checking arg ((-1 offset)) cn0: convert-names in main cn0: (((1 integer) (routine-id)) <- ((fork)) ((f1 fn)) ((nil literal) (globals)) ((30 literal) (limit))) nil nil cn0: checking arg ((f1 fn)) cn0: checking arg ((nil literal) (globals)) cn0: checking arg ((30 literal) (limit)) cn0: checking oarg ((1 integer) (routine-id)) maybe-add: ((1 integer) (routine-id)) cn0: (((sleep)) ((until-routine-done literal)) ((1 integer) (routine-id))) nil nil cn0: checking arg ((until-routine-done literal)) cn0: checking arg ((1 integer) (routine-id)) maybe-add: ((1 integer) (routine-id)) cn0: (((2 integer)) <- ((copy)) ((34 literal))) nil nil cn0: checking arg ((34 literal)) cn0: checking oarg ((2 integer)) maybe-add: ((2 integer)) cn1: (((jump)) ((-1 offset))) cn1: (((1 integer) (routine-id)) <- ((fork)) ((f1 fn)) ((nil literal) (globals)) ((30 literal) (limit))) cn1: (((sleep)) ((until-routine-done literal)) ((1 integer) (routine-id))) cn1: (((2 integer)) <- ((copy)) ((34 literal))) schedule: main run: main 0: (((1 integer) (routine-id)) <- ((fork)) ((f1 fn)) ((nil literal) (globals)) ((30 literal) (limit))) run: main 0: 1 => ((1 integer) (routine-id)) mem: ((1 integer) (routine-id)): 1 <= 1 run: main 1: (((sleep)) ((until-routine-done literal)) ((1 integer) (routine-id))) mem: ((1 integer) (routine-id)) => 1 schedule: pushing main to sleep queue schedule: f1 run: f1 0: (((jump)) ((-1 offset))) run: f1 0: (((jump)) ((-1 offset))) run: f1 0: (((jump)) ((-1 offset))) run: f1 0: (((jump)) ((-1 offset))) run: f1 0: (((jump)) ((-1 offset))) schedule: scheduling f1 for further processing (limit) schedule: f1 run: f1 0: (((jump)) ((-1 offset))) run: f1 0: (((jump)) ((-1 offset))) run: f1 0: (((jump)) ((-1 offset))) run: f1 0: (((jump)) ((-1 offset))) run: f1 0: (((jump)) ((-1 offset))) schedule: scheduling f1 for further processing (limit) schedule: f1 run: f1 0: (((jump)) ((-1 offset))) run: f1 0: (((jump)) ((-1 offset))) run: f1 0: (((jump)) ((-1 offset))) run: f1 0: (((jump)) ((-1 offset))) run: f1 0: (((jump)) ((-1 offset))) schedule: scheduling f1 for further processing (limit) schedule: f1 run: f1 0: (((jump)) ((-1 offset))) run: f1 0: (((jump)) ((-1 offset))) run: f1 0: (((jump)) ((-1 offset))) run: f1 0: (((jump)) ((-1 offset))) run: f1 0: (((jump)) ((-1 offset))) schedule: scheduling f1 for further processing (limit) schedule: f1 run: f1 0: (((jump)) ((-1 offset))) run: f1 0: (((jump)) ((-1 offset))) run: f1 0: (((jump)) ((-1 offset))) run: f1 0: (((jump)) ((-1 offset))) run: f1 0: (((jump)) ((-1 offset))) schedule: scheduling f1 for further processing (limit) schedule: f1 run: f1 0: (((jump)) ((-1 offset))) run: f1 0: (((jump)) ((-1 offset))) run: f1 0: (((jump)) ((-1 offset))) run: f1 0: (((jump)) ((-1 offset))) run: f1 0: (((jump)) ((-1 offset))) schedule: scheduling f1 for further processing (limit) schedule: routine ran out of time schedule: waking up main schedule: main run: main 2: (((2 integer)) <- ((copy)) ((34 literal))) run: main 2: 34 => ((2 integer)) mem: ((2 integer)): 2 <= 34 schedule: done with routine nil