@begin: scope:[]  from
  [0] phi()
  to:@20
@20: scope:[]  from @begin
  [1] phi()
  [2] call main 
  to:@end
@end: scope:[]  from @20
  [3] phi()
main: scope:[main]  from @20
  [4] phi()
  [5] call print_cls 
  to:main::@1
main::@1: scope:[main]  from main main::@18
  [6] (byte*) print_line_cursor#19 ← phi( main::@18/(byte*) print_line_cursor#1 main/((byte*))(word/signed word/dword/signed dword) 1024 )
  [6] (byte*) print_char_cursor#69 ← phi( main::@18/(byte*~) print_char_cursor#72 main/((byte*))(word/signed word/dword/signed dword) 1024 )
  [6] (dword) main::dw#10 ← phi( main::@18/(dword) main::dw#1 main/(dword/signed dword) 305419896 )
  [7] (word~) main::$2 ← > (dword) main::dw#10
  [8] (word/signed dword/dword~) main::$32 ← (word~) main::$2 + (word/signed word/dword/signed dword) 4369
  [9] (dword) main::dw2#1 ← (dword) main::dw#10 hi= (word/signed dword/dword~) main::$32
  [10] (word~) main::$5 ← < (dword) main::dw#10
  [11] (word/signed dword/dword~) main::$33 ← (word~) main::$5 + (word/signed word/dword/signed dword) 4369
  [12] (dword) main::dw2#10 ← (dword) main::dw2#1 lo= (word/signed dword/dword~) main::$33
  [13] (dword) print_dword::dw#0 ← (dword) main::dw2#10
  [14] call print_dword 
  to:main::@4
main::@4: scope:[main]  from main::@1
  [15] phi()
  [16] call print_char 
  to:main::@5
main::@5: scope:[main]  from main::@4
  [17] (word) print_word::w#2 ← > (dword) main::dw2#10
  [18] call print_word 
  to:main::@6
main::@6: scope:[main]  from main::@5
  [19] phi()
  [20] call print_char 
  to:main::@7
main::@7: scope:[main]  from main::@6
  [21] (word) print_word::w#3 ← < (dword) main::dw2#10
  [22] call print_word 
  to:main::@8
main::@8: scope:[main]  from main::@7
  [23] phi()
  [24] call print_char 
  to:main::@9
main::@9: scope:[main]  from main::@8
  [25] (word~) main::$15 ← > (dword) main::dw2#10
  [26] (byte) print_byte::b#2 ← > (word~) main::$15
  [27] call print_byte 
  to:main::@10
main::@10: scope:[main]  from main::@9
  [28] phi()
  [29] call print_char 
  to:main::@11
main::@11: scope:[main]  from main::@10
  [30] (word~) main::$19 ← > (dword) main::dw2#10
  [31] (byte) print_byte::b#3 ← < (word~) main::$19
  [32] call print_byte 
  to:main::@12
main::@12: scope:[main]  from main::@11
  [33] phi()
  [34] call print_char 
  to:main::@13
main::@13: scope:[main]  from main::@12
  [35] (word~) main::$23 ← < (dword) main::dw2#10
  [36] (byte) print_byte::b#4 ← > (word~) main::$23
  [37] call print_byte 
  to:main::@14
main::@14: scope:[main]  from main::@13
  [38] phi()
  [39] call print_char 
  to:main::@15
main::@15: scope:[main]  from main::@14
  [40] (word~) main::$27 ← < (dword) main::dw2#10
  [41] (byte) print_byte::b#5 ← < (word~) main::$27
  [42] call print_byte 
  to:main::@16
main::@16: scope:[main]  from main::@15
  [43] phi()
  [44] call print_ln 
  to:main::@17
main::@17: scope:[main]  from main::@16
  [45] (dword) main::dw#1 ← ++ (dword) main::dw#10
  [46] if((dword) main::dw#1!=(dword/signed dword) 305419920) goto main::@18
  to:main::@return
main::@return: scope:[main]  from main::@17
  [47] return 
  to:@return
main::@18: scope:[main]  from main::@17
  [48] (byte*~) print_char_cursor#72 ← (byte*) print_line_cursor#1
  to:main::@1
print_ln: scope:[print_ln]  from main::@16
  [49] phi()
  to:print_ln::@1
print_ln::@1: scope:[print_ln]  from print_ln print_ln::@1
  [50] (byte*) print_line_cursor#9 ← phi( print_ln/(byte*) print_line_cursor#19 print_ln::@1/(byte*) print_line_cursor#1 )
  [51] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#9 + (byte/signed byte/word/signed word/dword/signed dword) 40
  [52] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#12) goto print_ln::@1
  to:print_ln::@return
print_ln::@return: scope:[print_ln]  from print_ln::@1
  [53] return 
  to:@return
print_byte: scope:[print_byte]  from main::@11 main::@13 main::@15 main::@9 print_word print_word::@1
  [54] (byte*) print_char_cursor#67 ← phi( main::@11/(byte*) print_char_cursor#12 main::@13/(byte*) print_char_cursor#12 main::@15/(byte*) print_char_cursor#12 main::@9/(byte*) print_char_cursor#12 print_word/(byte*) print_char_cursor#65 print_word::@1/(byte*) print_char_cursor#12 )
  [54] (byte) print_byte::b#6 ← phi( main::@11/(byte) print_byte::b#3 main::@13/(byte) print_byte::b#4 main::@15/(byte) print_byte::b#5 main::@9/(byte) print_byte::b#2 print_word/(byte) print_byte::b#0 print_word::@1/(byte) print_byte::b#1 )
  [55] (byte~) print_byte::$0 ← (byte) print_byte::b#6 >> (byte/signed byte/word/signed word/dword/signed dword) 4
  [56] (byte) print_char::ch#0 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$0)
  [57] call print_char 
  to:print_byte::@1
print_byte::@1: scope:[print_byte]  from print_byte
  [58] (byte~) print_byte::$2 ← (byte) print_byte::b#6 & (byte/signed byte/word/signed word/dword/signed dword) 15
  [59] (byte) print_char::ch#1 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$2)
  [60] call print_char 
  to:print_byte::@return
print_byte::@return: scope:[print_byte]  from print_byte::@1
  [61] return 
  to:@return
print_char: scope:[print_char]  from main::@10 main::@12 main::@14 main::@4 main::@6 main::@8 print_byte print_byte::@1
  [62] (byte*) print_char_cursor#44 ← phi( main::@10/(byte*) print_char_cursor#12 main::@12/(byte*) print_char_cursor#12 main::@14/(byte*) print_char_cursor#12 main::@4/(byte*) print_char_cursor#12 main::@6/(byte*) print_char_cursor#12 main::@8/(byte*) print_char_cursor#12 print_byte/(byte*) print_char_cursor#67 print_byte::@1/(byte*) print_char_cursor#12 )
  [62] (byte) print_char::ch#8 ← phi( main::@10/(byte) ' ' main::@12/(byte) ' ' main::@14/(byte) ' ' main::@4/(byte) ' ' main::@6/(byte) ' ' main::@8/(byte) ' ' print_byte/(byte) print_char::ch#0 print_byte::@1/(byte) print_char::ch#1 )
  [63] *((byte*) print_char_cursor#44) ← (byte) print_char::ch#8
  [64] (byte*) print_char_cursor#12 ← ++ (byte*) print_char_cursor#44
  to:print_char::@return
print_char::@return: scope:[print_char]  from print_char
  [65] return 
  to:@return
print_word: scope:[print_word]  from main::@5 main::@7 print_dword print_dword::@1
  [66] (byte*) print_char_cursor#65 ← phi( main::@5/(byte*) print_char_cursor#12 main::@7/(byte*) print_char_cursor#12 print_dword/(byte*) print_char_cursor#69 print_dword::@1/(byte*) print_char_cursor#12 )
  [66] (word) print_word::w#4 ← phi( main::@5/(word) print_word::w#2 main::@7/(word) print_word::w#3 print_dword/(word) print_word::w#0 print_dword::@1/(word) print_word::w#1 )
  [67] (byte) print_byte::b#0 ← > (word) print_word::w#4
  [68] call print_byte 
  to:print_word::@1
print_word::@1: scope:[print_word]  from print_word
  [69] (byte) print_byte::b#1 ← < (word) print_word::w#4
  [70] call print_byte 
  to:print_word::@return
print_word::@return: scope:[print_word]  from print_word::@1
  [71] return 
  to:@return
print_dword: scope:[print_dword]  from main::@1
  [72] (word) print_word::w#0 ← > (dword) print_dword::dw#0
  [73] call print_word 
  to:print_dword::@1
print_dword::@1: scope:[print_dword]  from print_dword
  [74] (word) print_word::w#1 ← < (dword) print_dword::dw#0
  [75] call print_word 
  to:print_dword::@return
print_dword::@return: scope:[print_dword]  from print_dword::@1
  [76] return 
  to:@return
print_cls: scope:[print_cls]  from main
  [77] phi()
  to:print_cls::@1
print_cls::@1: scope:[print_cls]  from print_cls print_cls::@1
  [78] (byte*) print_cls::sc#2 ← phi( print_cls/((byte*))(word/signed word/dword/signed dword) 1024 print_cls::@1/(byte*) print_cls::sc#1 )
  [79] *((byte*) print_cls::sc#2) ← (byte) ' '
  [80] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2
  [81] if((byte*) print_cls::sc#1!=((byte*))(word/signed word/dword/signed dword) 1024+(word/signed word/dword/signed dword) 1000) goto print_cls::@1
  to:print_cls::@return
print_cls::@return: scope:[print_cls]  from print_cls::@1
  [82] return 
  to:@return
