
void main()
main: scope:[main]  from
  [0] phi()
  [1] call print_cls
  to:main::@1
main::@1: scope:[main]  from main
  [2] phi()
  [3] call testChar
  to:main::@2
main::@2: scope:[main]  from main::@1
  [4] phi()
  [5] call testShort
  to:main::@3
main::@3: scope:[main]  from main::@2
  [6] phi()
  [7] call testInt
  to:main::@4
main::@4: scope:[main]  from main::@3
  [8] phi()
  [9] call testLong
  to:main::@return
main::@return: scope:[main]  from main::@4
  [10] return 
  to:@return

void print_cls()
print_cls: scope:[print_cls]  from main
  [11] phi()
  [12] call memset
  to:print_cls::@return
print_cls::@return: scope:[print_cls]  from print_cls
  [13] return 
  to:@return

void testChar()
testChar: scope:[testChar]  from main::@1
  [14] phi()
  [15] call print_str
  to:testChar::@1
testChar::@1: scope:[testChar]  from testChar
  [16] phi()
  [17] call print_uchar
  to:testChar::@2
testChar::@2: scope:[testChar]  from testChar::@1
  [18] phi()
  [19] call print_char
  to:testChar::@3
testChar::@3: scope:[testChar]  from testChar::@2
  [20] phi()
  [21] call print_uchar
  to:testChar::@4
testChar::@4: scope:[testChar]  from testChar::@3
  [22] phi()
  [23] call print_char
  to:testChar::@5
testChar::@5: scope:[testChar]  from testChar::@4
  [24] phi()
  [25] call print_schar
  to:testChar::@6
testChar::@6: scope:[testChar]  from testChar::@5
  [26] phi()
  [27] call print_ln
  to:testChar::@return
testChar::@return: scope:[testChar]  from testChar::@6
  [28] return 
  to:@return

void testShort()
testShort: scope:[testShort]  from main::@2
  [29] print_char_cursor#165 = print_line_cursor#0
  [30] call print_str
  to:testShort::@1
testShort::@1: scope:[testShort]  from testShort
  [31] phi()
  [32] call print_uint
  to:testShort::@2
testShort::@2: scope:[testShort]  from testShort::@1
  [33] phi()
  [34] call print_char
  to:testShort::@3
testShort::@3: scope:[testShort]  from testShort::@2
  [35] phi()
  [36] call print_sint
  to:testShort::@4
testShort::@4: scope:[testShort]  from testShort::@3
  [37] phi()
  [38] call print_char
  to:testShort::@5
testShort::@5: scope:[testShort]  from testShort::@4
  [39] phi()
  [40] call print_sint
  to:testShort::@6
testShort::@6: scope:[testShort]  from testShort::@5
  [41] phi()
  [42] call print_ln
  to:testShort::@return
testShort::@return: scope:[testShort]  from testShort::@6
  [43] return 
  to:@return

void testInt()
testInt: scope:[testInt]  from main::@3
  [44] print_char_cursor#163 = print_line_cursor#0
  [45] call print_str
  to:testInt::@1
testInt::@1: scope:[testInt]  from testInt
  [46] phi()
  [47] call print_uint
  to:testInt::@2
testInt::@2: scope:[testInt]  from testInt::@1
  [48] phi()
  [49] call print_char
  to:testInt::@3
testInt::@3: scope:[testInt]  from testInt::@2
  [50] phi()
  [51] call print_sint
  to:testInt::@4
testInt::@4: scope:[testInt]  from testInt::@3
  [52] phi()
  [53] call print_char
  to:testInt::@5
testInt::@5: scope:[testInt]  from testInt::@4
  [54] phi()
  [55] call print_sint
  to:testInt::@6
testInt::@6: scope:[testInt]  from testInt::@5
  [56] phi()
  [57] call print_ln
  to:testInt::@return
testInt::@return: scope:[testInt]  from testInt::@6
  [58] return 
  to:@return

void testLong()
testLong: scope:[testLong]  from main::@4
  [59] print_char_cursor#164 = print_line_cursor#0
  [60] call print_str
  to:testLong::@1
testLong::@1: scope:[testLong]  from testLong
  [61] phi()
  [62] call print_ulong
  to:testLong::@2
testLong::@2: scope:[testLong]  from testLong::@1
  [63] phi()
  [64] call print_char
  to:testLong::@3
testLong::@3: scope:[testLong]  from testLong::@2
  [65] phi()
  [66] call print_slong
  to:testLong::@4
testLong::@4: scope:[testLong]  from testLong::@3
  [67] phi()
  [68] call print_char
  to:testLong::@5
testLong::@5: scope:[testLong]  from testLong::@4
  [69] phi()
  [70] call print_slong
  to:testLong::@6
testLong::@6: scope:[testLong]  from testLong::@5
  [71] phi()
  [72] call print_ln
  to:testLong::@return
testLong::@return: scope:[testLong]  from testLong::@6
  [73] return 
  to:@return

void * memset(void *str , char c , unsigned int num)
memset: scope:[memset]  from print_cls
  [74] phi()
  to:memset::@1
memset::@1: scope:[memset]  from memset memset::@2
  [75] memset::dst#2 = phi( memset/(char *)memset::str#0, memset::@2/memset::dst#1 )
  [76] if(memset::dst#2!=memset::end#0) goto memset::@2
  to:memset::@return
memset::@return: scope:[memset]  from memset::@1
  [77] return 
  to:@return
memset::@2: scope:[memset]  from memset::@1
  [78] *memset::dst#2 = memset::c#0
  [79] memset::dst#1 = ++ memset::dst#2
  to:memset::@1

void print_str(char *str)
print_str: scope:[print_str]  from testChar testInt testLong testShort
  [80] print_char_cursor#159 = phi( testChar/print_screen#0, testInt/print_char_cursor#163, testLong/print_char_cursor#164, testShort/print_char_cursor#165 )
  [80] print_str::str#8 = phi( testChar/testChar::str, testInt/testInt::str, testLong/testLong::str, testShort/testShort::str )
  to:print_str::@1
print_str::@1: scope:[print_str]  from print_str print_str::@3
  [81] print_char_cursor#1 = phi( print_str/print_char_cursor#159, print_str::@3/print_char_cursor#25 )
  [81] print_str::str#5 = phi( print_str/print_str::str#8, print_str::@3/print_str::str#0 )
  [82] if(0!=*print_str::str#5) goto print_str::@2
  to:print_str::@return
print_str::@return: scope:[print_str]  from print_str::@1
  [83] return 
  to:@return
print_str::@2: scope:[print_str]  from print_str::@1
  [84] print_char::ch#0 = *print_str::str#5
  [85] call print_char
  to:print_str::@3
print_str::@3: scope:[print_str]  from print_str::@2
  [86] print_str::str#0 = ++ print_str::str#5
  to:print_str::@1

void print_uchar(char b)
print_uchar: scope:[print_uchar]  from print_schar::@2 print_uint print_uint::@1 testChar::@1 testChar::@3
  [87] print_char_cursor#152 = phi( print_schar::@2/print_char_cursor#25, print_uint/print_char_cursor#147, print_uint::@1/print_char_cursor#25, testChar::@1/print_char_cursor#1, testChar::@3/print_char_cursor#25 )
  [87] print_uchar::b#5 = phi( print_schar::@2/(char)print_schar::b#0, print_uint/print_uchar::b#1, print_uint::@1/print_uchar::b#2, testChar::@1/testChar::u, testChar::@3/testChar::n )
  [88] print_uchar::$0 = print_uchar::b#5 >> 4
  [89] print_char::ch#7 = print_hextab[print_uchar::$0]
  [90] call print_char
  to:print_uchar::@1
print_uchar::@1: scope:[print_uchar]  from print_uchar
  [91] print_uchar::$2 = print_uchar::b#5 & $f
  [92] print_char::ch#8 = print_hextab[print_uchar::$2]
  [93] call print_char
  to:print_uchar::@return
print_uchar::@return: scope:[print_uchar]  from print_uchar::@1
  [94] return 
  to:@return

void print_char(char ch)
print_char: scope:[print_char]  from print_schar::@1 print_sint::@1 print_sint::@3 print_slong::@1 print_slong::@3 print_str::@2 print_uchar print_uchar::@1 testChar::@2 testChar::@4 testInt::@2 testInt::@4 testLong::@2 testLong::@4 testShort::@2 testShort::@4
  [95] print_char_cursor#95 = phi( print_schar::@1/print_char_cursor#25, print_sint::@1/print_char_cursor#25, print_sint::@3/print_char_cursor#25, print_slong::@1/print_char_cursor#25, print_slong::@3/print_char_cursor#25, print_str::@2/print_char_cursor#1, print_uchar/print_char_cursor#152, print_uchar::@1/print_char_cursor#25, testChar::@2/print_char_cursor#25, testChar::@4/print_char_cursor#25, testInt::@2/print_char_cursor#25, testInt::@4/print_char_cursor#25, testLong::@2/print_char_cursor#25, testLong::@4/print_char_cursor#25, testShort::@2/print_char_cursor#25, testShort::@4/print_char_cursor#25 )
  [95] print_char::ch#17 = phi( print_schar::@1/'-', print_sint::@1/'-', print_sint::@3/' ', print_slong::@1/'-', print_slong::@3/' ', print_str::@2/print_char::ch#0, print_uchar/print_char::ch#7, print_uchar::@1/print_char::ch#8, testChar::@2/' ', testChar::@4/' ', testInt::@2/' ', testInt::@4/' ', testLong::@2/' ', testLong::@4/' ', testShort::@2/' ', testShort::@4/' ' )
  [96] *print_char_cursor#95 = print_char::ch#17
  [97] print_char_cursor#25 = ++ print_char_cursor#95
  to:print_char::@return
print_char::@return: scope:[print_char]  from print_char
  [98] return 
  to:@return

void print_schar(signed char b)
print_schar: scope:[print_schar]  from testChar::@5
  [99] phi()
  to:print_schar::@1
print_schar::@1: scope:[print_schar]  from print_schar
  [100] phi()
  [101] call print_char
  to:print_schar::@2
print_schar::@2: scope:[print_schar]  from print_schar::@1
  [102] phi()
  [103] call print_uchar
  to:print_schar::@return
print_schar::@return: scope:[print_schar]  from print_schar::@2
  [104] return 
  to:@return

void print_ln()
print_ln: scope:[print_ln]  from testChar::@6 testInt::@6 testLong::@6 testShort::@6
  [105] print_line_cursor#41 = phi( testChar::@6/print_screen#0, testInt::@6/print_line_cursor#0, testLong::@6/print_line_cursor#0, testShort::@6/print_line_cursor#0 )
  to:print_ln::@1
print_ln::@1: scope:[print_ln]  from print_ln print_ln::@1
  [106] print_line_cursor#21 = phi( print_ln/print_line_cursor#41, print_ln::@1/print_line_cursor#0 )
  [107] print_line_cursor#0 = print_line_cursor#21 + $28
  [108] if(print_line_cursor#0<print_char_cursor#25) goto print_ln::@1
  to:print_ln::@return
print_ln::@return: scope:[print_ln]  from print_ln::@1
  [109] return 
  to:@return

void print_uint(unsigned int w)
print_uint: scope:[print_uint]  from print_sint::@2 print_ulong print_ulong::@1 testInt::@1 testShort::@1
  [110] print_char_cursor#147 = phi( print_sint::@2/print_char_cursor#25, print_ulong/print_char_cursor#148, print_ulong::@1/print_char_cursor#25, testInt::@1/print_char_cursor#1, testShort::@1/print_char_cursor#1 )
  [110] print_uint::w#5 = phi( print_sint::@2/print_uint::w#0, print_ulong/print_uint::w#1, print_ulong::@1/print_uint::w#2, testInt::@1/testInt::u, testShort::@1/testShort::u )
  [111] print_uchar::b#1 = byte1  print_uint::w#5
  [112] call print_uchar
  to:print_uint::@1
print_uint::@1: scope:[print_uint]  from print_uint
  [113] print_uchar::b#2 = byte0  print_uint::w#5
  [114] call print_uchar
  to:print_uint::@return
print_uint::@return: scope:[print_uint]  from print_uint::@1
  [115] return 
  to:@return

void print_sint(int w)
print_sint: scope:[print_sint]  from testInt::@3 testInt::@5 testShort::@3 testShort::@5
  [116] print_sint::w#10 = phi( testInt::@3/testInt::n, testInt::@5/testInt::s, testShort::@3/testShort::n, testShort::@5/testShort::s )
  [117] if(print_sint::w#10<0) goto print_sint::@1
  to:print_sint::@3
print_sint::@3: scope:[print_sint]  from print_sint
  [118] phi()
  [119] call print_char
  to:print_sint::@2
print_sint::@2: scope:[print_sint]  from print_sint::@3 print_sint::@4
  [120] print_sint::w#7 = phi( print_sint::@4/print_sint::w#0, print_sint::@3/print_sint::w#10 )
  [121] print_uint::w#0 = (unsigned int)print_sint::w#7
  [122] call print_uint
  to:print_sint::@return
print_sint::@return: scope:[print_sint]  from print_sint::@2
  [123] return 
  to:@return
print_sint::@1: scope:[print_sint]  from print_sint
  [124] phi()
  [125] call print_char
  to:print_sint::@4
print_sint::@4: scope:[print_sint]  from print_sint::@1
  [126] print_sint::w#0 = - print_sint::w#10
  to:print_sint::@2

void print_ulong(unsigned long dw)
print_ulong: scope:[print_ulong]  from print_slong::@2 testLong::@1
  [127] print_char_cursor#148 = phi( print_slong::@2/print_char_cursor#25, testLong::@1/print_char_cursor#1 )
  [127] print_ulong::dw#2 = phi( print_slong::@2/print_ulong::dw#0, testLong::@1/testLong::u )
  [128] print_uint::w#1 = word1  print_ulong::dw#2
  [129] call print_uint
  to:print_ulong::@1
print_ulong::@1: scope:[print_ulong]  from print_ulong
  [130] print_uint::w#2 = word0  print_ulong::dw#2
  [131] call print_uint
  to:print_ulong::@return
print_ulong::@return: scope:[print_ulong]  from print_ulong::@1
  [132] return 
  to:@return

void print_slong(long dw)
print_slong: scope:[print_slong]  from testLong::@3 testLong::@5
  [133] print_slong::dw#3 = phi( testLong::@3/testLong::n, testLong::@5/testLong::s )
  [134] if(print_slong::dw#3<0) goto print_slong::@1
  to:print_slong::@3
print_slong::@3: scope:[print_slong]  from print_slong
  [135] phi()
  [136] call print_char
  to:print_slong::@2
print_slong::@2: scope:[print_slong]  from print_slong::@3 print_slong::@4
  [137] print_slong::dw#5 = phi( print_slong::@4/print_slong::dw#0, print_slong::@3/print_slong::dw#3 )
  [138] print_ulong::dw#0 = (unsigned long)print_slong::dw#5
  [139] call print_ulong
  to:print_slong::@return
print_slong::@return: scope:[print_slong]  from print_slong::@2
  [140] return 
  to:@return
print_slong::@1: scope:[print_slong]  from print_slong
  [141] phi()
  [142] call print_char
  to:print_slong::@4
print_slong::@4: scope:[print_slong]  from print_slong::@1
  [143] print_slong::dw#0 = - print_slong::dw#3
  to:print_slong::@2
