@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::@2 [5] (byte) main::i#2 ← phi( main/(byte) 0 main::@2/(byte) main::i#1 ) [5] (byte) main::b#2 ← phi( main/(byte) 0 main::@2/(byte) main::b#1 ) [6] (byte) sum::b#0 ← (byte) main::b#2 [7] call sum [8] (byte) sum::return#0 ← (byte) sum::return#1 to:main::@2 main::@2: scope:[main] from main::@1 [9] (byte~) main::$0 ← (byte) sum::return#0 [10] *((const byte*) SCREEN + (byte) main::i#2) ← (byte~) main::$0 [11] (byte) main::i#1 ← ++ (byte) main::i#2 [12] (byte) main::b#1 ← ++ (byte) main::b#2 [13] if((byte) main::b#1!=(byte) $b) goto main::@1 to:main::@return main::@return: scope:[main] from main::@2 [14] return to:@return (byte()) sum((byte) sum::a , (byte) sum::b) sum: scope:[sum] from main::@1 [15] (byte) sum::return#1 ← (const byte) a + (byte) sum::b#0 to:sum::@return sum::@return: scope:[sum] from sum [16] return to:@return