@begin: scope:[]  from
  [0] phi()
  to:@1
@1: scope:[]  from @begin
  [1] phi()
  [2] call main 
  to:@end
@end: scope:[]  from @1
  [3] phi()
main: scope:[main]  from @1
  [4] phi()
  to:main::@1
main::@1: scope:[main]  from main main::@3
  [5] (byte*) main::charset#2 ← phi( main/(const byte*) CHARSET#0+(byte) 8 main::@3/(byte*) main::charset#1 )
  [5] (byte) main::c#2 ← phi( main/(byte) 0 main::@3/(byte) main::c#1 )
  [6] (byte~) main::$10 ← (byte) main::c#2 << (byte) 1
  [7] (byte*) gen_char3::dst#0 ← (byte*) main::charset#2
  [8] (word) gen_char3::spec#0 ← *((const word[]) charset_spec_row#0 + (byte~) main::$10)
  [9] call gen_char3 
  to:main::@3
main::@3: scope:[main]  from main::@1
  [10] (byte*) main::charset#1 ← (byte*) main::charset#2 + (byte) 8
  [11] (byte) main::c#1 ← ++ (byte) main::c#2
  [12] if((byte) main::c#1!=(byte) 4) goto main::@1
  to:main::@2
main::@2: scope:[main]  from main::@3
  [13] *((const byte*) VIC_MEMORY#0) ← (byte)(word)(const byte*) SCREEN#0/(byte) $40|(word)(const byte*) CHARSET#0/(word) $400
  to:main::@return
main::@return: scope:[main]  from main::@2
  [14] return 
  to:@return
gen_char3: scope:[gen_char3]  from main::@1
  [15] phi()
  to:gen_char3::@1
gen_char3::@1: scope:[gen_char3]  from gen_char3 gen_char3::@5
  [16] (byte) gen_char3::r#6 ← phi( gen_char3/(byte) 0 gen_char3::@5/(byte) gen_char3::r#1 )
  [16] (word) gen_char3::spec#4 ← phi( gen_char3/(word) gen_char3::spec#0 gen_char3::@5/(word) gen_char3::spec#1 )
  to:gen_char3::@2
gen_char3::@2: scope:[gen_char3]  from gen_char3::@1 gen_char3::@3
  [17] (byte) gen_char3::c#2 ← phi( gen_char3::@1/(byte) 0 gen_char3::@3/(byte) gen_char3::c#1 )
  [17] (byte) gen_char3::b#4 ← phi( gen_char3::@1/(byte) 0 gen_char3::@3/(byte) gen_char3::b#1 )
  [17] (word) gen_char3::spec#2 ← phi( gen_char3::@1/(word) gen_char3::spec#4 gen_char3::@3/(word) gen_char3::spec#1 )
  [18] (byte~) gen_char3::$0 ← > (word) gen_char3::spec#2
  [19] (byte~) gen_char3::$1 ← (byte~) gen_char3::$0 & (byte) $80
  [20] if((byte~) gen_char3::$1==(byte) 0) goto gen_char3::@3
  to:gen_char3::@4
gen_char3::@4: scope:[gen_char3]  from gen_char3::@2
  [21] (byte) gen_char3::b#2 ← (byte) gen_char3::b#4 | (byte) 1
  to:gen_char3::@3
gen_char3::@3: scope:[gen_char3]  from gen_char3::@2 gen_char3::@4
  [22] (byte) gen_char3::b#3 ← phi( gen_char3::@2/(byte) gen_char3::b#4 gen_char3::@4/(byte) gen_char3::b#2 )
  [23] (byte) gen_char3::b#1 ← (byte) gen_char3::b#3 << (byte) 1
  [24] (word) gen_char3::spec#1 ← (word) gen_char3::spec#2 << (byte) 1
  [25] (byte) gen_char3::c#1 ← ++ (byte) gen_char3::c#2
  [26] if((byte) gen_char3::c#1!=(byte) 3) goto gen_char3::@2
  to:gen_char3::@5
gen_char3::@5: scope:[gen_char3]  from gen_char3::@3
  [27] *((byte*) gen_char3::dst#0 + (byte) gen_char3::r#6) ← (byte) gen_char3::b#1
  [28] (byte) gen_char3::r#1 ← ++ (byte) gen_char3::r#6
  [29] if((byte) gen_char3::r#1!=(byte) 5) goto gen_char3::@1
  to:gen_char3::@return
gen_char3::@return: scope:[gen_char3]  from gen_char3::@5
  [30] return 
  to:@return
