@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() [5] call get [6] (byte) get::return_x#0 ← (byte) get::return_x#2 to:main::@2 main::@2: scope:[main] from main [7] (byte) main::$0_x ← (byte) get::return_x#0 [8] *((byte*)(const struct Point*) SCREEN) ← (byte) main::$0_x [9] *((byte*)(const struct Point*) SCREEN+(const byte) OFFSET_STRUCT_POINT_Y) ← (const byte) get::p_y to:main::@1 main::@1: scope:[main] from main::@2 main::@3 [10] (byte) main::i#2 ← phi( main::@2/(byte) 1 main::@3/(byte) main::i#1 ) [11] (byte) get::i#1 ← (byte) main::i#2 [12] call get [13] (byte) get::return_x#1 ← (byte) get::return_x#2 to:main::@3 main::@3: scope:[main] from main::@1 [14] (byte) main::$1_x ← (byte) get::return_x#1 [15] (byte~) main::$3 ← (byte) main::i#2 << (byte) 1 [16] *((byte*)(const struct Point*) SCREEN + (byte~) main::$3) ← (byte) main::$1_x [17] *((byte*)(const struct Point*) SCREEN+(const byte) OFFSET_STRUCT_POINT_Y + (byte~) main::$3) ← (const byte) get::p_y [18] (byte) main::i#1 ← ++ (byte) main::i#2 [19] if((byte) main::i#1!=(byte) 3) goto main::@1 to:main::@return main::@return: scope:[main] from main::@3 [20] return to:@return (struct Point()) get((byte) get::i) get: scope:[get] from main main::@1 [21] (byte) get::return_x#2 ← phi( main/(byte) 0 main::@1/(byte) get::i#1 ) to:get::@return get::@return: scope:[get] from get [22] return to:@return