@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] (byte) main::i ← (byte) 0
  [5] (signed word) main::j ← (signed word) 0
  to:main::@1
main::@1: scope:[main]  from main main::@2
  [6] if((byte) main::i<(byte) 4) goto main::@2
  to:main::@return
main::@return: scope:[main]  from main::@1
  [7] return 
  to:@return
main::@2: scope:[main]  from main::@1
  [8] (byte~) main::$3 ← (byte) main::i << (byte) 1
  [9] *((const signed word*) SCREEN + (byte~) main::$3) ← (signed word) main::j
  [10] (byte) main::i ← ++ (byte) main::i
  [11] (signed word) main::j ← ++ (signed word) main::j
  [12] (signed word~) main::$1 ← (signed word)(byte) main::i
  [13] (signed word) main::k#0 ← (signed word~) main::$1 << (byte) 1
  [14] (byte~) main::$4 ← (byte) main::i << (byte) 1
  [15] *((const signed word*) SCREEN + (byte~) main::$4) ← (signed word) main::k#0
  [16] (byte) main::i ← ++ (byte) main::i
  to:main::@1
