
void main()
main: scope:[main]  from
  [0] phi()
  to:main::@1
main::@1: scope:[main]  from main main::@6
  [1] main::i#2 = phi( main/0, main::@6/main::i#1 )
  [1] print_line_cursor#15 = phi( main/print_screen#0, main::@6/print_line_cursor#0 )
  [1] print_char_cursor#49 = phi( main/print_screen#0, main::@6/print_char_cursor#58 )
  [1] main::b#2 = phi( main/$1024, main::@6/main::b#1 )
  [1] main::a#2 = phi( main/-$3ff, main::@6/main::a#1 )
  [2] main::a#1 = main::a#2 + -7
  [3] main::b#1 = main::b#2 + $141
  [4] print_sint::w#1 = main::a#1
  [5] call print_sint
  to:main::@2
main::@2: scope:[main]  from main::@1
  [6] phi()
  [7] call print_char
  to:main::@3
main::@3: scope:[main]  from main::@2
  [8] print_uint::w#1 = main::b#1
  [9] call print_uint
  to:main::@4
main::@4: scope:[main]  from main::@3
  [10] phi()
  [11] call print_ln
  to:main::@5
main::@5: scope:[main]  from main::@4
  [12] main::i#1 = ++ main::i#2
  [13] if(main::i#1!=6) goto main::@6
  to:main::@return
main::@return: scope:[main]  from main::@5
  [14] return 
  to:@return
main::@6: scope:[main]  from main::@5
  [15] print_char_cursor#58 = print_line_cursor#0
  to:main::@1

void print_sint(int w)
print_sint: scope:[print_sint]  from main::@1
  [16] if(print_sint::w#1<0) goto print_sint::@1
  to:print_sint::@3
print_sint::@3: scope:[print_sint]  from print_sint
  [17] phi()
  [18] call print_char
  to:print_sint::@2
print_sint::@2: scope:[print_sint]  from print_sint::@3 print_sint::@4
  [19] print_sint::w#4 = phi( print_sint::@4/print_sint::w#0, print_sint::@3/print_sint::w#1 )
  [20] print_uint::w#0 = (unsigned int)print_sint::w#4
  [21] call print_uint
  to:print_sint::@return
print_sint::@return: scope:[print_sint]  from print_sint::@2
  [22] return 
  to:@return
print_sint::@1: scope:[print_sint]  from print_sint
  [23] phi()
  [24] call print_char
  to:print_sint::@4
print_sint::@4: scope:[print_sint]  from print_sint::@1
  [25] print_sint::w#0 = - print_sint::w#1
  to:print_sint::@2

void print_char(char ch)
print_char: scope:[print_char]  from main::@2 print_sint::@1 print_sint::@3 print_uchar print_uchar::@1
  [26] print_char_cursor#34 = phi( main::@2/print_char_cursor#12, print_sint::@1/print_char_cursor#49, print_sint::@3/print_char_cursor#49, print_uchar/print_char_cursor#12, print_uchar::@1/print_char_cursor#12 )
  [26] print_char::ch#5 = phi( main::@2/' ', print_sint::@1/'-', print_sint::@3/' ', print_uchar/print_char::ch#2, print_uchar::@1/print_char::ch#3 )
  [27] *print_char_cursor#34 = print_char::ch#5
  [28] print_char_cursor#12 = ++ print_char_cursor#34
  to:print_char::@return
print_char::@return: scope:[print_char]  from print_char
  [29] return 
  to:@return

void print_uint(unsigned int w)
print_uint: scope:[print_uint]  from main::@3 print_sint::@2
  [30] print_uint::w#2 = phi( main::@3/print_uint::w#1, print_sint::@2/print_uint::w#0 )
  [31] print_uchar::b#0 = byte1  print_uint::w#2
  [32] call print_uchar
  to:print_uint::@1
print_uint::@1: scope:[print_uint]  from print_uint
  [33] print_uchar::b#1 = byte0  print_uint::w#2
  [34] call print_uchar
  to:print_uint::@return
print_uint::@return: scope:[print_uint]  from print_uint::@1
  [35] return 
  to:@return

void print_ln()
print_ln: scope:[print_ln]  from main::@4
  [36] phi()
  to:print_ln::@1
print_ln::@1: scope:[print_ln]  from print_ln print_ln::@1
  [37] print_line_cursor#7 = phi( print_ln/print_line_cursor#15, print_ln::@1/print_line_cursor#0 )
  [38] print_line_cursor#0 = print_line_cursor#7 + $28
  [39] if(print_line_cursor#0<print_char_cursor#12) goto print_ln::@1
  to:print_ln::@return
print_ln::@return: scope:[print_ln]  from print_ln::@1
  [40] return 
  to:@return

void print_uchar(char b)
print_uchar: scope:[print_uchar]  from print_uint print_uint::@1
  [41] print_uchar::b#2 = phi( print_uint/print_uchar::b#0, print_uint::@1/print_uchar::b#1 )
  [42] print_uchar::$0 = print_uchar::b#2 >> 4
  [43] print_char::ch#2 = print_hextab[print_uchar::$0]
  [44] call print_char
  to:print_uchar::@1
print_uchar::@1: scope:[print_uchar]  from print_uchar
  [45] print_uchar::$2 = print_uchar::b#2 & $f
  [46] print_char::ch#3 = print_hextab[print_uchar::$2]
  [47] call print_char
  to:print_uchar::@return
print_uchar::@return: scope:[print_uchar]  from print_uchar::@1
  [48] return 
  to:@return
