@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::i#2 ← phi( main/(byte) 0 main::@1/(byte) main::i#1 )
  [6] *((const byte*) main::SCREEN + (byte) main::i#2) ← (byte) main::i#2
  [7] (byte~) main::$16 ← (byte) main::i#2 << (byte) 1
  [8] *((const byte*) main::SCREEN+(byte)(number) 1*(number) $28 + (byte) main::i#2) ← (byte~) main::$16
  [9] (byte~) main::$2 ← (byte~) main::$16 + (byte) main::i#2
  [10] *((const byte*) main::SCREEN+(byte)(number) 2*(number) $28 + (byte) main::i#2) ← (byte~) main::$2
  [11] (byte~) main::$18 ← (byte) main::i#2 << (byte) 2
  [12] *((const byte*) main::SCREEN+(byte)(number) 3*(number) $28 + (byte) main::i#2) ← (byte~) main::$18
  [13] (byte~) main::$4 ← (byte~) main::$18 + (byte) main::i#2
  [14] *((const byte*) main::SCREEN+(byte)(number) 4*(number) $28 + (byte) main::i#2) ← (byte~) main::$4
  [15] (byte~) main::$21 ← (byte~) main::$16 + (byte) main::i#2
  [16] (byte~) main::$5 ← (byte~) main::$21 << (byte) 1
  [17] *((const byte*) main::SCREEN+(byte)(number) 5*(number) $28 + (byte) main::i#2) ← (byte~) main::$5
  [18] (byte~) main::$24 ← (byte~) main::$16 + (byte) main::i#2
  [19] (byte~) main::$25 ← (byte~) main::$24 << (byte) 1
  [20] (byte~) main::$6 ← (byte~) main::$25 + (byte) main::i#2
  [21] *((const byte*) main::SCREEN+(byte)(number) 6*(number) $28 + (byte) main::i#2) ← (byte~) main::$6
  [22] (byte~) main::$27 ← (byte) main::i#2 << (byte) 3
  [23] *((const byte*) main::SCREEN+(word)(number) 7*(number) $28 + (byte) main::i#2) ← (byte~) main::$27
  [24] (byte~) main::$8 ← (byte~) main::$27 + (byte) main::i#2
  [25] *((const byte*) main::SCREEN+(word)(number) 8*(number) $28 + (byte) main::i#2) ← (byte~) main::$8
  [26] (byte~) main::$30 ← (byte~) main::$18 + (byte) main::i#2
  [27] (byte~) main::$9 ← (byte~) main::$30 << (byte) 1
  [28] *((const byte*) main::SCREEN+(word)(number) 9*(number) $28 + (byte) main::i#2) ← (byte~) main::$9
  [29] (byte~) main::$33 ← (byte~) main::$18 + (byte) main::i#2
  [30] (byte~) main::$34 ← (byte~) main::$33 << (byte) 1
  [31] (byte~) main::$10 ← (byte~) main::$34 + (byte) main::i#2
  [32] *((const byte*) main::SCREEN+(word)(number) $a*(number) $28 + (byte) main::i#2) ← (byte~) main::$10
  [33] (byte~) main::$37 ← (byte~) main::$16 + (byte) main::i#2
  [34] (byte~) main::$11 ← (byte~) main::$37 << (byte) 2
  [35] *((const byte*) main::SCREEN+(word)(number) $b*(number) $28 + (byte) main::i#2) ← (byte~) main::$11
  [36] (byte~) main::$40 ← (byte~) main::$16 + (byte) main::i#2
  [37] (byte~) main::$41 ← (byte~) main::$40 << (byte) 2
  [38] (byte~) main::$12 ← (byte~) main::$41 + (byte) main::i#2
  [39] *((const byte*) main::SCREEN+(word)(number) $c*(number) $28 + (byte) main::i#2) ← (byte~) main::$12
  [40] (byte~) main::$44 ← (byte~) main::$16 + (byte) main::i#2
  [41] (byte~) main::$45 ← (byte~) main::$44 << (byte) 1
  [42] (byte~) main::$46 ← (byte~) main::$45 + (byte) main::i#2
  [43] (byte~) main::$13 ← (byte~) main::$46 << (byte) 1
  [44] *((const byte*) main::SCREEN+(word)(number) $d*(number) $28 + (byte) main::i#2) ← (byte~) main::$13
  [45] (byte~) main::$49 ← (byte~) main::$16 + (byte) main::i#2
  [46] (byte~) main::$50 ← (byte~) main::$49 << (byte) 1
  [47] (byte~) main::$51 ← (byte~) main::$50 + (byte) main::i#2
  [48] (byte~) main::$52 ← (byte~) main::$51 << (byte) 1
  [49] (byte~) main::$14 ← (byte~) main::$52 + (byte) main::i#2
  [50] *((const byte*) main::SCREEN+(word)(number) $e*(number) $28 + (byte) main::i#2) ← (byte~) main::$14
  [51] (byte) main::i#1 ← ++ (byte) main::i#2
  [52] if((byte) main::i#1!=(byte) $12) goto main::@1
  to:main::@return
main::@return: scope:[main]  from main::@1
  [53] return 
  to:@return
