
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 sin8u_table
  to:main::@return
main::@return: scope:[main]  from main::@1
  [4] return 
  to:@return

void print_cls()
print_cls: scope:[print_cls]  from main
  [5] phi()
  [6] call memset
  to:print_cls::@return
print_cls::@return: scope:[print_cls]  from print_cls
  [7] return 
  to:@return

void sin8u_table(char *sintab , unsigned int tabsize , char min , char max)
sin8u_table: scope:[sin8u_table]  from main::@1
  [8] phi()
  [9] call div16u
  [10] div16u::return#2 = div16u::return#0
  to:sin8u_table::@3
sin8u_table::@3: scope:[sin8u_table]  from sin8u_table
  [11] sin8u_table::step#0 = div16u::return#2
  [12] call print_str
  to:sin8u_table::@4
sin8u_table::@4: scope:[sin8u_table]  from sin8u_table::@3
  [13] print_uint::w#1 = sin8u_table::step#0
  [14] call print_uint
  to:sin8u_table::@5
sin8u_table::@5: scope:[sin8u_table]  from sin8u_table::@4
  [15] phi()
  [16] call print_str
  to:sin8u_table::@6
sin8u_table::@6: scope:[sin8u_table]  from sin8u_table::@5
  [17] phi()
  [18] call print_uchar
  to:sin8u_table::@7
sin8u_table::@7: scope:[sin8u_table]  from sin8u_table::@6
  [19] phi()
  [20] call print_str
  to:sin8u_table::@8
sin8u_table::@8: scope:[sin8u_table]  from sin8u_table::@7
  [21] phi()
  [22] call print_uchar
  to:sin8u_table::@9
sin8u_table::@9: scope:[sin8u_table]  from sin8u_table::@8
  [23] phi()
  [24] call print_str
  to:sin8u_table::@10
sin8u_table::@10: scope:[sin8u_table]  from sin8u_table::@9
  [25] phi()
  [26] call print_uchar
  to:sin8u_table::@11
sin8u_table::@11: scope:[sin8u_table]  from sin8u_table::@10
  [27] phi()
  [28] call print_str
  to:sin8u_table::@12
sin8u_table::@12: scope:[sin8u_table]  from sin8u_table::@11
  [29] phi()
  [30] call print_uchar
  to:sin8u_table::@13
sin8u_table::@13: scope:[sin8u_table]  from sin8u_table::@12
  [31] phi()
  [32] call print_ln
  to:sin8u_table::@1
sin8u_table::@1: scope:[sin8u_table]  from sin8u_table::@13 sin8u_table::@24
  [33] sin8u_table::sintab#2 = phi( sin8u_table::@13/main::sintab, sin8u_table::@24/sin8u_table::sintab#1 )
  [33] sin8u_table::x#10 = phi( sin8u_table::@13/0, sin8u_table::@24/sin8u_table::x#1 )
  [33] sin8u_table::i#10 = phi( sin8u_table::@13/0, sin8u_table::@24/sin8u_table::i#1 )
  [34] if(sin8u_table::i#10<main::tabsize) goto sin8u_table::@2
  to:sin8u_table::@return
sin8u_table::@return: scope:[sin8u_table]  from sin8u_table::@1
  [35] return 
  to:@return
sin8u_table::@2: scope:[sin8u_table]  from sin8u_table::@1
  [36] sin8s::x#2 = sin8u_table::x#10
  [37] call sin8s
  [38] sin8s::return#2 = sin8s::return#0
  to:sin8u_table::@14
sin8u_table::@14: scope:[sin8u_table]  from sin8u_table::@2
  [39] sin8u_table::sinx#0 = sin8s::return#2
  [40] mul8su::a#0 = sin8u_table::sinx#0
  [41] call mul8su
  to:sin8u_table::@15
sin8u_table::@15: scope:[sin8u_table]  from sin8u_table::@14
  [42] sin8u_table::sinx_sc#0 = (int)mul8su::m#2
  [43] sin8u_table::$20 = byte1  sin8u_table::sinx_sc#0
  [44] sin8u_table::sinx_tr#0 = sin8u_table::mid#0 + sin8u_table::$20
  [45] *sin8u_table::sintab#2 = sin8u_table::sinx_tr#0
  [46] sin8u_table::sintab#1 = ++ sin8u_table::sintab#2
  [47] print_char_cursor#119 = print_line_cursor#0
  [48] call print_str
  to:sin8u_table::@16
sin8u_table::@16: scope:[sin8u_table]  from sin8u_table::@15
  [49] print_uint::w#2 = sin8u_table::x#10
  [50] call print_uint
  to:sin8u_table::@17
sin8u_table::@17: scope:[sin8u_table]  from sin8u_table::@16
  [51] phi()
  [52] call print_str
  to:sin8u_table::@18
sin8u_table::@18: scope:[sin8u_table]  from sin8u_table::@17
  [53] print_schar::b#1 = sin8u_table::sinx#0
  [54] call print_schar
  to:sin8u_table::@19
sin8u_table::@19: scope:[sin8u_table]  from sin8u_table::@18
  [55] phi()
  [56] call print_str
  to:sin8u_table::@20
sin8u_table::@20: scope:[sin8u_table]  from sin8u_table::@19
  [57] print_sint::w#1 = sin8u_table::sinx_sc#0
  [58] call print_sint
  to:sin8u_table::@21
sin8u_table::@21: scope:[sin8u_table]  from sin8u_table::@20
  [59] phi()
  [60] call print_str
  to:sin8u_table::@22
sin8u_table::@22: scope:[sin8u_table]  from sin8u_table::@21
  [61] print_uchar::b#7 = sin8u_table::sinx_tr#0
  [62] call print_uchar
  to:sin8u_table::@23
sin8u_table::@23: scope:[sin8u_table]  from sin8u_table::@22
  [63] phi()
  [64] call print_ln
  to:sin8u_table::@24
sin8u_table::@24: scope:[sin8u_table]  from sin8u_table::@23
  [65] sin8u_table::x#1 = sin8u_table::x#10 + sin8u_table::step#0
  [66] sin8u_table::i#1 = ++ sin8u_table::i#10
  to:sin8u_table::@1

void * memset(void *str , char c , unsigned int num)
memset: scope:[memset]  from print_cls
  [67] phi()
  to:memset::@1
memset::@1: scope:[memset]  from memset memset::@2
  [68] memset::dst#2 = phi( memset/(char *)memset::str#0, memset::@2/memset::dst#1 )
  [69] if(memset::dst#2!=memset::end#0) goto memset::@2
  to:memset::@return
memset::@return: scope:[memset]  from memset::@1
  [70] return 
  to:@return
memset::@2: scope:[memset]  from memset::@1
  [71] *memset::dst#2 = memset::c#0
  [72] memset::dst#1 = ++ memset::dst#2
  to:memset::@1

unsigned int div16u(unsigned int dividend , unsigned int divisor)
div16u: scope:[div16u]  from sin8u_table
  [73] phi()
  [74] call divr16u
  [75] divr16u::return#2 = divr16u::return#0
  to:div16u::@1
div16u::@1: scope:[div16u]  from div16u
  [76] div16u::return#0 = divr16u::return#2
  to:div16u::@return
div16u::@return: scope:[div16u]  from div16u::@1
  [77] return 
  to:@return

void print_str(char *str)
print_str: scope:[print_str]  from sin8u_table::@11 sin8u_table::@15 sin8u_table::@17 sin8u_table::@19 sin8u_table::@21 sin8u_table::@3 sin8u_table::@5 sin8u_table::@7 sin8u_table::@9
  [78] print_char_cursor#112 = phi( sin8u_table::@11/print_char_cursor#18, sin8u_table::@15/print_char_cursor#119, sin8u_table::@17/print_char_cursor#18, sin8u_table::@19/print_char_cursor#18, sin8u_table::@21/print_char_cursor#18, sin8u_table::@3/print_screen#0, sin8u_table::@5/print_char_cursor#18, sin8u_table::@7/print_char_cursor#18, sin8u_table::@9/print_char_cursor#18 )
  [78] print_str::str#13 = phi( sin8u_table::@11/sin8u_table::str4, sin8u_table::@15/sin8u_table::str5, sin8u_table::@17/sin8u_table::str6, sin8u_table::@19/sin8u_table::str7, sin8u_table::@21/sin8u_table::str8, sin8u_table::@3/sin8u_table::str, sin8u_table::@5/sin8u_table::str1, sin8u_table::@7/sin8u_table::str2, sin8u_table::@9/sin8u_table::str3 )
  to:print_str::@1
print_str::@1: scope:[print_str]  from print_str print_str::@3
  [79] print_char_cursor#1 = phi( print_str/print_char_cursor#112, print_str::@3/print_char_cursor#18 )
  [79] print_str::str#10 = phi( print_str/print_str::str#13, print_str::@3/print_str::str#0 )
  [80] if(0!=*print_str::str#10) goto print_str::@2
  to:print_str::@return
print_str::@return: scope:[print_str]  from print_str::@1
  [81] return 
  to:@return
print_str::@2: scope:[print_str]  from print_str::@1
  [82] print_char::ch#0 = *print_str::str#10
  [83] call print_char
  to:print_str::@3
print_str::@3: scope:[print_str]  from print_str::@2
  [84] print_str::str#0 = ++ print_str::str#10
  to:print_str::@1

void print_uint(unsigned int w)
print_uint: scope:[print_uint]  from print_sint::@2 sin8u_table::@16 sin8u_table::@4
  [85] print_char_cursor#105 = phi( print_sint::@2/print_char_cursor#18, sin8u_table::@16/print_char_cursor#1, sin8u_table::@4/print_char_cursor#1 )
  [85] print_uint::w#3 = phi( print_sint::@2/print_uint::w#0, sin8u_table::@16/print_uint::w#2, sin8u_table::@4/print_uint::w#1 )
  [86] print_uchar::b#1 = byte1  print_uint::w#3
  [87] call print_uchar
  to:print_uint::@1
print_uint::@1: scope:[print_uint]  from print_uint
  [88] print_uchar::b#2 = byte0  print_uint::w#3
  [89] call print_uchar
  to:print_uint::@return
print_uint::@return: scope:[print_uint]  from print_uint::@1
  [90] return 
  to:@return

void print_uchar(char b)
print_uchar: scope:[print_uchar]  from print_schar::@2 print_uint print_uint::@1 sin8u_table::@10 sin8u_table::@12 sin8u_table::@22 sin8u_table::@6 sin8u_table::@8
  [91] print_char_cursor#106 = phi( print_schar::@2/print_char_cursor#18, print_uint/print_char_cursor#105, print_uint::@1/print_char_cursor#18, sin8u_table::@10/print_char_cursor#1, sin8u_table::@12/print_char_cursor#1, sin8u_table::@22/print_char_cursor#1, sin8u_table::@6/print_char_cursor#1, sin8u_table::@8/print_char_cursor#1 )
  [91] print_uchar::b#8 = phi( print_schar::@2/print_uchar::b#0, print_uint/print_uchar::b#1, print_uint::@1/print_uchar::b#2, sin8u_table::@10/sin8u_table::amplitude#0, sin8u_table::@12/sin8u_table::mid#0, sin8u_table::@22/print_uchar::b#7, sin8u_table::@6/sin8u_table::min#0, sin8u_table::@8/sin8u_table::max#0 )
  [92] print_uchar::$0 = print_uchar::b#8 >> 4
  [93] print_char::ch#5 = print_hextab[print_uchar::$0]
  [94] call print_char
  to:print_uchar::@1
print_uchar::@1: scope:[print_uchar]  from print_uchar
  [95] print_uchar::$2 = print_uchar::b#8 & $f
  [96] print_char::ch#6 = print_hextab[print_uchar::$2]
  [97] call print_char
  to:print_uchar::@return
print_uchar::@return: scope:[print_uchar]  from print_uchar::@1
  [98] return 
  to:@return

void print_ln()
print_ln: scope:[print_ln]  from sin8u_table::@13 sin8u_table::@23
  [99] print_line_cursor#25 = phi( sin8u_table::@13/print_screen#0, sin8u_table::@23/print_line_cursor#0 )
  to:print_ln::@1
print_ln::@1: scope:[print_ln]  from print_ln print_ln::@1
  [100] print_line_cursor#13 = phi( print_ln/print_line_cursor#25, print_ln::@1/print_line_cursor#0 )
  [101] print_line_cursor#0 = print_line_cursor#13 + $28
  [102] if(print_line_cursor#0<print_char_cursor#18) goto print_ln::@1
  to:print_ln::@return
print_ln::@return: scope:[print_ln]  from print_ln::@1
  [103] return 
  to:@return

signed char sin8s(unsigned int x)
sin8s: scope:[sin8s]  from sin8u_table::@2
  [104] if(sin8s::x#2<PI_u4f12) goto sin8s::@1
  to:sin8s::@5
sin8s::@5: scope:[sin8s]  from sin8s
  [105] sin8s::x#0 = sin8s::x#2 - PI_u4f12
  to:sin8s::@1
sin8s::@1: scope:[sin8s]  from sin8s sin8s::@5
  [106] sin8s::isUpper#10 = phi( sin8s/0, sin8s::@5/1 )
  [106] sin8s::x#4 = phi( sin8s/sin8s::x#2, sin8s::@5/sin8s::x#0 )
  [107] if(sin8s::x#4<PI_HALF_u4f12) goto sin8s::@2
  to:sin8s::@6
sin8s::@6: scope:[sin8s]  from sin8s::@1
  [108] sin8s::x#1 = PI_u4f12 - sin8s::x#4
  to:sin8s::@2
sin8s::@2: scope:[sin8s]  from sin8s::@1 sin8s::@6
  [109] sin8s::x#6 = phi( sin8s::@1/sin8s::x#4, sin8s::@6/sin8s::x#1 )
  [110] sin8s::$4 = sin8s::x#6 << 3
  [111] sin8s::x1#0 = byte1  sin8s::$4
  [112] mulu8_sel::v1#0 = sin8s::x1#0
  [113] mulu8_sel::v2#0 = sin8s::x1#0
  [114] call mulu8_sel
  [115] mulu8_sel::return#0 = mulu8_sel::return#12
  to:sin8s::@9
sin8s::@9: scope:[sin8s]  from sin8s::@2
  [116] sin8s::x2#0 = mulu8_sel::return#0
  [117] mulu8_sel::v1#1 = sin8s::x2#0
  [118] mulu8_sel::v2#1 = sin8s::x1#0
  [119] call mulu8_sel
  [120] mulu8_sel::return#1 = mulu8_sel::return#12
  to:sin8s::@10
sin8s::@10: scope:[sin8s]  from sin8s::@9
  [121] sin8s::x3#0 = mulu8_sel::return#1
  [122] mulu8_sel::v1#2 = sin8s::x3#0
  [123] call mulu8_sel
  [124] mulu8_sel::return#2 = mulu8_sel::return#12
  to:sin8s::@11
sin8s::@11: scope:[sin8s]  from sin8s::@10
  [125] sin8s::x3_6#0 = mulu8_sel::return#2
  [126] sin8s::usinx#0 = sin8s::x1#0 - sin8s::x3_6#0
  [127] mulu8_sel::v1#3 = sin8s::x3#0
  [128] mulu8_sel::v2#3 = sin8s::x1#0
  [129] call mulu8_sel
  [130] mulu8_sel::return#10 = mulu8_sel::return#12
  to:sin8s::@12
sin8s::@12: scope:[sin8s]  from sin8s::@11
  [131] sin8s::x4#0 = mulu8_sel::return#10
  [132] mulu8_sel::v1#4 = sin8s::x4#0
  [133] mulu8_sel::v2#4 = sin8s::x1#0
  [134] call mulu8_sel
  [135] mulu8_sel::return#11 = mulu8_sel::return#12
  to:sin8s::@13
sin8s::@13: scope:[sin8s]  from sin8s::@12
  [136] sin8s::x5#0 = mulu8_sel::return#11
  [137] sin8s::x5_128#0 = sin8s::x5#0 >> 4
  [138] sin8s::usinx#1 = sin8s::usinx#0 + sin8s::x5_128#0
  [139] if(sin8s::usinx#1<$80) goto sin8s::@3
  to:sin8s::@7
sin8s::@7: scope:[sin8s]  from sin8s::@13
  [140] sin8s::usinx#2 = -- sin8s::usinx#1
  to:sin8s::@3
sin8s::@3: scope:[sin8s]  from sin8s::@13 sin8s::@7
  [141] sin8s::usinx#4 = phi( sin8s::@13/sin8s::usinx#1, sin8s::@7/sin8s::usinx#2 )
  [142] if(sin8s::isUpper#10==0) goto sin8s::@14
  to:sin8s::@8
sin8s::@8: scope:[sin8s]  from sin8s::@3
  [143] sin8s::sinx#1 = - (signed char)sin8s::usinx#4
  to:sin8s::@4
sin8s::@4: scope:[sin8s]  from sin8s::@14 sin8s::@8
  [144] sin8s::return#0 = phi( sin8s::@14/sin8s::return#5, sin8s::@8/sin8s::sinx#1 )
  to:sin8s::@return
sin8s::@return: scope:[sin8s]  from sin8s::@4
  [145] return 
  to:@return
sin8s::@14: scope:[sin8s]  from sin8s::@3
  [146] sin8s::return#5 = (signed char)sin8s::usinx#4
  to:sin8s::@4

int mul8su(signed char a , char b)
mul8su: scope:[mul8su]  from sin8u_table::@14
  [147] mul8u::a#2 = (char)mul8su::a#0
  [148] call mul8u
  [149] mul8u::return#3 = mul8u::res#2
  to:mul8su::@3
mul8su::@3: scope:[mul8su]  from mul8su
  [150] mul8su::m#0 = mul8u::return#3
  [151] if(mul8su::a#0>=0) goto mul8su::@1
  to:mul8su::@2
mul8su::@2: scope:[mul8su]  from mul8su::@3
  [152] mul8su::$4 = byte1  mul8su::m#0
  [153] mul8su::$6 = mul8su::$4 - mul8su::b#0
  [154] mul8su::m#1 = mul8su::m#0 byte1= mul8su::$6
  to:mul8su::@1
mul8su::@1: scope:[mul8su]  from mul8su::@2 mul8su::@3
  [155] mul8su::m#2 = phi( mul8su::@2/mul8su::m#1, mul8su::@3/mul8su::m#0 )
  to:mul8su::@return
mul8su::@return: scope:[mul8su]  from mul8su::@1
  [156] return 
  to:@return

void print_schar(signed char b)
print_schar: scope:[print_schar]  from sin8u_table::@18
  [157] if(print_schar::b#1<0) goto print_schar::@1
  to:print_schar::@3
print_schar::@3: scope:[print_schar]  from print_schar
  [158] phi()
  [159] call print_char
  to:print_schar::@2
print_schar::@2: scope:[print_schar]  from print_schar::@3 print_schar::@4
  [160] print_schar::b#4 = phi( print_schar::@4/print_schar::b#0, print_schar::@3/print_schar::b#1 )
  [161] print_uchar::b#0 = (char)print_schar::b#4
  [162] call print_uchar
  to:print_schar::@return
print_schar::@return: scope:[print_schar]  from print_schar::@2
  [163] return 
  to:@return
print_schar::@1: scope:[print_schar]  from print_schar
  [164] phi()
  [165] call print_char
  to:print_schar::@4
print_schar::@4: scope:[print_schar]  from print_schar::@1
  [166] print_schar::b#0 = - print_schar::b#1
  to:print_schar::@2

void print_sint(int w)
print_sint: scope:[print_sint]  from sin8u_table::@20
  [167] if(print_sint::w#1<0) goto print_sint::@1
  to:print_sint::@3
print_sint::@3: scope:[print_sint]  from print_sint
  [168] phi()
  [169] call print_char
  to:print_sint::@2
print_sint::@2: scope:[print_sint]  from print_sint::@3 print_sint::@4
  [170] print_sint::w#4 = phi( print_sint::@4/print_sint::w#0, print_sint::@3/print_sint::w#1 )
  [171] print_uint::w#0 = (unsigned int)print_sint::w#4
  [172] call print_uint
  to:print_sint::@return
print_sint::@return: scope:[print_sint]  from print_sint::@2
  [173] return 
  to:@return
print_sint::@1: scope:[print_sint]  from print_sint
  [174] phi()
  [175] call print_char
  to:print_sint::@4
print_sint::@4: scope:[print_sint]  from print_sint::@1
  [176] print_sint::w#0 = - print_sint::w#1
  to:print_sint::@2

unsigned int divr16u(unsigned int dividend , unsigned int divisor , unsigned int rem)
divr16u: scope:[divr16u]  from div16u
  [177] phi()
  to:divr16u::@1
divr16u::@1: scope:[divr16u]  from divr16u divr16u::@3
  [178] divr16u::i#2 = phi( divr16u/0, divr16u::@3/divr16u::i#1 )
  [178] divr16u::quotient#3 = phi( divr16u/0, divr16u::@3/divr16u::return#0 )
  [178] divr16u::dividend#2 = phi( divr16u/PI2_u4f12, divr16u::@3/divr16u::dividend#0 )
  [178] divr16u::rem#4 = phi( divr16u/0, divr16u::@3/divr16u::rem#9 )
  [179] divr16u::rem#0 = divr16u::rem#4 << 1
  [180] divr16u::$1 = byte1  divr16u::dividend#2
  [181] divr16u::$2 = divr16u::$1 & $80
  [182] if(divr16u::$2==0) goto divr16u::@2
  to:divr16u::@4
divr16u::@4: scope:[divr16u]  from divr16u::@1
  [183] divr16u::rem#1 = divr16u::rem#0 | 1
  to:divr16u::@2
divr16u::@2: scope:[divr16u]  from divr16u::@1 divr16u::@4
  [184] divr16u::rem#5 = phi( divr16u::@1/divr16u::rem#0, divr16u::@4/divr16u::rem#1 )
  [185] divr16u::dividend#0 = divr16u::dividend#2 << 1
  [186] divr16u::quotient#1 = divr16u::quotient#3 << 1
  [187] if(divr16u::rem#5<main::tabsize) goto divr16u::@3
  to:divr16u::@5
divr16u::@5: scope:[divr16u]  from divr16u::@2
  [188] divr16u::quotient#2 = ++ divr16u::quotient#1
  [189] divr16u::rem#2 = divr16u::rem#5 - main::tabsize
  to:divr16u::@3
divr16u::@3: scope:[divr16u]  from divr16u::@2 divr16u::@5
  [190] divr16u::return#0 = phi( divr16u::@2/divr16u::quotient#1, divr16u::@5/divr16u::quotient#2 )
  [190] divr16u::rem#9 = phi( divr16u::@2/divr16u::rem#5, divr16u::@5/divr16u::rem#2 )
  [191] divr16u::i#1 = ++ divr16u::i#2
  [192] if(divr16u::i#1!=$10) goto divr16u::@1
  to:divr16u::@return
divr16u::@return: scope:[divr16u]  from divr16u::@3
  [193] return 
  to:@return

void print_char(char ch)
print_char: scope:[print_char]  from print_schar::@1 print_schar::@3 print_sint::@1 print_sint::@3 print_str::@2 print_uchar print_uchar::@1
  [194] print_char_cursor#67 = phi( print_schar::@1/print_char_cursor#1, print_schar::@3/print_char_cursor#1, print_sint::@1/print_char_cursor#1, print_sint::@3/print_char_cursor#1, print_str::@2/print_char_cursor#1, print_uchar/print_char_cursor#106, print_uchar::@1/print_char_cursor#18 )
  [194] print_char::ch#7 = phi( print_schar::@1/'-', print_schar::@3/' ', print_sint::@1/'-', print_sint::@3/' ', print_str::@2/print_char::ch#0, print_uchar/print_char::ch#5, print_uchar::@1/print_char::ch#6 )
  [195] *print_char_cursor#67 = print_char::ch#7
  [196] print_char_cursor#18 = ++ print_char_cursor#67
  to:print_char::@return
print_char::@return: scope:[print_char]  from print_char
  [197] return 
  to:@return

char mulu8_sel(char v1 , char v2 , char select)
mulu8_sel: scope:[mulu8_sel]  from sin8s::@10 sin8s::@11 sin8s::@12 sin8s::@2 sin8s::@9
  [198] mulu8_sel::select#5 = phi( sin8s::@10/1, sin8s::@11/0, sin8s::@12/0, sin8s::@2/0, sin8s::@9/1 )
  [198] mulu8_sel::v2#5 = phi( sin8s::@10/sin8s::DIV_6, sin8s::@11/mulu8_sel::v2#3, sin8s::@12/mulu8_sel::v2#4, sin8s::@2/mulu8_sel::v2#0, sin8s::@9/mulu8_sel::v2#1 )
  [198] mulu8_sel::v1#5 = phi( sin8s::@10/mulu8_sel::v1#2, sin8s::@11/mulu8_sel::v1#3, sin8s::@12/mulu8_sel::v1#4, sin8s::@2/mulu8_sel::v1#0, sin8s::@9/mulu8_sel::v1#1 )
  [199] mul8u::a#0 = mulu8_sel::v1#5
  [200] mul8u::b#0 = mulu8_sel::v2#5
  [201] call mul8u
  [202] mul8u::return#0 = mul8u::res#2
  to:mulu8_sel::@1
mulu8_sel::@1: scope:[mulu8_sel]  from mulu8_sel
  [203] mulu8_sel::$0 = mul8u::return#0
  [204] mulu8_sel::$1 = mulu8_sel::$0 << mulu8_sel::select#5
  [205] mulu8_sel::return#12 = byte1  mulu8_sel::$1
  to:mulu8_sel::@return
mulu8_sel::@return: scope:[mulu8_sel]  from mulu8_sel::@1
  [206] return 
  to:@return

unsigned int mul8u(char a , char b)
mul8u: scope:[mul8u]  from mul8su mulu8_sel
  [207] mul8u::a#6 = phi( mul8su/mul8u::a#2, mulu8_sel/mul8u::a#0 )
  [207] mul8u::b#2 = phi( mul8su/mul8su::b#0, mulu8_sel/mul8u::b#0 )
  [208] mul8u::mb#0 = (unsigned int)mul8u::b#2
  to:mul8u::@1
mul8u::@1: scope:[mul8u]  from mul8u mul8u::@3
  [209] mul8u::mb#2 = phi( mul8u/mul8u::mb#0, mul8u::@3/mul8u::mb#1 )
  [209] mul8u::res#2 = phi( mul8u/0, mul8u::@3/mul8u::res#6 )
  [209] mul8u::a#3 = phi( mul8u/mul8u::a#6, mul8u::@3/mul8u::a#1 )
  [210] if(mul8u::a#3!=0) goto mul8u::@2
  to:mul8u::@return
mul8u::@return: scope:[mul8u]  from mul8u::@1
  [211] return 
  to:@return
mul8u::@2: scope:[mul8u]  from mul8u::@1
  [212] mul8u::$1 = mul8u::a#3 & 1
  [213] if(mul8u::$1==0) goto mul8u::@3
  to:mul8u::@4
mul8u::@4: scope:[mul8u]  from mul8u::@2
  [214] mul8u::res#1 = mul8u::res#2 + mul8u::mb#2
  to:mul8u::@3
mul8u::@3: scope:[mul8u]  from mul8u::@2 mul8u::@4
  [215] mul8u::res#6 = phi( mul8u::@2/mul8u::res#2, mul8u::@4/mul8u::res#1 )
  [216] mul8u::a#1 = mul8u::a#3 >> 1
  [217] mul8u::mb#1 = mul8u::mb#2 << 1
  to:mul8u::@1
