@begin: scope:[] from [0] phi() to:@1 @1: scope:[] from @begin [1] phi() [2] call main to:@end @end: scope:[] from @1 [3] phi() (void()) main() main: scope:[main] from @1 [4] phi() to:main::@1 main::@1: scope:[main] from main main::@4 [5] (byte) main::i#2 ← phi( main/(byte) 0 main::@4/(byte) main::i#1 ) [6] (byte) plot::x#0 ← (byte) main::i#2 [7] call plot to:main::@4 main::@4: scope:[main] from main::@1 [8] (byte) main::i#1 ← ++ (byte) main::i#2 [9] if((byte) main::i#1!=(byte) $b) goto main::@1 to:main::@2 main::@2: scope:[main] from main::@4 main::@5 [10] (byte) main::j#2 ← phi( main::@4/(byte) 0 main::@5/(byte) main::j#1 ) [11] (byte) plot::x#1 ← (byte) main::j#2 [12] call plot to:main::@5 main::@5: scope:[main] from main::@2 [13] (byte) main::j#1 ← ++ (byte) main::j#2 [14] if((byte) main::j#1!=(byte) $b) goto main::@2 to:main::@3 main::@3: scope:[main] from main::@5 main::@6 [15] (byte) main::k#2 ← phi( main::@5/(byte) 0 main::@6/(byte) main::k#1 ) [16] (byte) plot::x#2 ← (byte) main::k#2 [17] call plot to:main::@6 main::@6: scope:[main] from main::@3 [18] (byte) main::k#1 ← ++ (byte) main::k#2 [19] if((byte) main::k#1!=(byte) $b) goto main::@3 to:main::@return main::@return: scope:[main] from main::@6 [20] return to:@return (void()) plot((byte) plot::x) plot: scope:[plot] from main::@1 main::@2 main::@3 [21] (byte) plot::x#3 ← phi( main::@1/(byte) plot::x#0 main::@2/(byte) plot::x#1 main::@3/(byte) plot::x#2 ) [22] *((const byte*) SCREEN + (byte) plot::x#3) ← (byte) '*' to:plot::@return plot::@return: scope:[plot] from plot [23] return to:@return