@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::@1 [5] (byte) main::idx#4 ← phi( main/(byte) 0 main::@1/(byte) main::idx#3 ) [5] (byte) main::i#2 ← phi( main/(byte) 0 main::@1/(byte) main::i#1 ) [6] (byte) main::$9 ← (byte) main::i#2 << (byte) 1 [7] (byte~) main::$4 ← (byte) main::$9 + (byte) main::i#2 [8] *((const byte*) main::SCREEN#0 + (byte) main::idx#4) ← *((byte*)(const struct Point[]) points#0 + (byte~) main::$4) [9] (byte) main::idx#1 ← ++ (byte) main::idx#4 [10] (byte~) main::$0 ← < *((signed word*)(const struct Point[]) points#0+(const byte) OFFSET_STRUCT_POINT_Y + (byte~) main::$4) [11] *((const byte*) main::SCREEN#0 + (byte) main::idx#1) ← (byte~) main::$0 [12] (byte) main::idx#2 ← ++ (byte) main::idx#1 [13] (byte~) main::$1 ← > *((signed word*)(const struct Point[]) points#0+(const byte) OFFSET_STRUCT_POINT_Y + (byte~) main::$4) [14] *((const byte*) main::SCREEN#0 + (byte) main::idx#2) ← (byte~) main::$1 [15] (byte) main::idx#3 ← ++ (byte) main::idx#2 [16] (byte) main::i#1 ← ++ (byte) main::i#2 [17] if((byte) main::i#1!=(byte) 3) goto main::@1 to:main::@return main::@return: scope:[main] from main::@1 [18] return to:@return