
void main()
main: scope:[main]  from
  asm { sei  }
  [1] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = WHITE
  [2] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR1) = DARK_GREY
  [3] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR) = *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR1)
  [4] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR2) = BLACK
  to:main::toD0181
main::toD0181: scope:[main]  from main
  [5] phi()
  to:main::@3
main::@3: scope:[main]  from main::toD0181
  [6] *D018 = main::toD0181_return#0
  [7] *D016 = VICII_MCM
  [8] call memset
  to:main::@4
main::@4: scope:[main]  from main::@3
  [9] phi()
  [10] call memset
  to:main::@1
main::@1: scope:[main]  from main::@1 main::@4
  [11] main::ch#2 = phi( main::@1/main::ch#1, main::@4/0 )
  [12] SCREEN[main::ch#2] = main::ch#2
  [13] main::ch#1 = ++ main::ch#2
  [14] if(main::ch#1!=$f0) goto main::@1
  to:main::@2
main::@2: scope:[main]  from main::@1
  [15] phi()
  [16] call sin16s_gen2
  to:main::@5
main::@5: scope:[main]  from main::@2
  [17] phi()
  [18] call loop
  to:main::@return
main::@return: scope:[main]  from main::@5
  [19] return 
  to:@return

void * memset(void *str , char c , unsigned int num)
memset: scope:[memset]  from main::@3 main::@4
  [20] memset::c#4 = phi( main::@3/BLACK, main::@4/WHITE|8 )
  [20] memset::str#3 = phi( main::@3/(void *)SCREEN, main::@4/(void *)COLS )
  to:memset::@1
memset::@1: scope:[memset]  from memset
  [21] memset::end#0 = (char *)memset::str#3 + $3e8
  [22] memset::dst#4 = (char *)memset::str#3
  to:memset::@2
memset::@2: scope:[memset]  from memset::@1 memset::@3
  [23] memset::dst#2 = phi( memset::@1/memset::dst#4, memset::@3/memset::dst#1 )
  [24] if(memset::dst#2!=memset::end#0) goto memset::@3
  to:memset::@return
memset::@return: scope:[memset]  from memset::@2
  [25] return 
  to:@return
memset::@3: scope:[memset]  from memset::@2
  [26] *memset::dst#2 = memset::c#4
  [27] memset::dst#1 = ++ memset::dst#2
  to:memset::@2

void sin16s_gen2(int *sintab , unsigned int wavelength , int min , int max)
sin16s_gen2: scope:[sin16s_gen2]  from main::@2
  [28] phi()
  [29] call div32u16u
  [30] div32u16u::return#0 = div32u16u::return#1
  to:sin16s_gen2::@3
sin16s_gen2::@3: scope:[sin16s_gen2]  from sin16s_gen2
  [31] sin16s_gen2::step#0 = div32u16u::return#0
  to:sin16s_gen2::@1
sin16s_gen2::@1: scope:[sin16s_gen2]  from sin16s_gen2::@3 sin16s_gen2::@5
  [32] sin16s_gen2::sintab#2 = phi( sin16s_gen2::@3/xsin, sin16s_gen2::@5/sin16s_gen2::sintab#0 )
  [32] sin16s_gen2::x#2 = phi( sin16s_gen2::@3/0, sin16s_gen2::@5/sin16s_gen2::x#1 )
  [32] sin16s_gen2::i#2 = phi( sin16s_gen2::@3/0, sin16s_gen2::@5/sin16s_gen2::i#1 )
  [33] if(sin16s_gen2::i#2<XSIN_SIZE) goto sin16s_gen2::@2
  to:sin16s_gen2::@return
sin16s_gen2::@return: scope:[sin16s_gen2]  from sin16s_gen2::@1
  [34] return 
  to:@return
sin16s_gen2::@2: scope:[sin16s_gen2]  from sin16s_gen2::@1
  [35] sin16s::x#0 = sin16s_gen2::x#2
  [36] call sin16s
  [37] sin16s::return#0 = sin16s::return#1
  to:sin16s_gen2::@4
sin16s_gen2::@4: scope:[sin16s_gen2]  from sin16s_gen2::@2
  [38] mul16s::a#0 = sin16s::return#0
  [39] call mul16s
  [40] mul16s::return#0 = mul16s::return#1
  to:sin16s_gen2::@5
sin16s_gen2::@5: scope:[sin16s_gen2]  from sin16s_gen2::@4
  [41] sin16s_gen2::$6 = mul16s::return#0
  [42] sin16s_gen2::$8 = word1  sin16s_gen2::$6
  [43] *sin16s_gen2::sintab#2 = (int)sin16s_gen2::$8
  [44] sin16s_gen2::sintab#0 = sin16s_gen2::sintab#2 + SIZEOF_INT
  [45] sin16s_gen2::x#1 = sin16s_gen2::x#2 + sin16s_gen2::step#0
  [46] sin16s_gen2::i#1 = ++ sin16s_gen2::i#2
  to:sin16s_gen2::@1

void loop()
loop: scope:[loop]  from main::@5
  [47] phi()
  to:loop::@1
loop::@1: scope:[loop]  from loop loop::@4
  [48] xsin_idx#12 = phi( loop/0, loop::@4/xsin_idx#21 )
  to:loop::@2
loop::@2: scope:[loop]  from loop::@1 loop::@2
  [49] if(*((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER)!=$ff) goto loop::@2
  to:loop::@3
loop::@3: scope:[loop]  from loop::@2
  [50] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = ++ *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR)
  [51] loop::$7 = xsin_idx#12 << 1
  [52] loop::$2 = xsin + loop::$7
  [53] loop::xpos#0 = *loop::$2
  [54] render_logo::xpos#0 = loop::xpos#0
  [55] call render_logo
  to:loop::@5
loop::@5: scope:[loop]  from loop::@3
  [56] xsin_idx#2 = ++ xsin_idx#12
  [57] if(xsin_idx#2!=XSIN_SIZE) goto loop::@6
  to:loop::@4
loop::@6: scope:[loop]  from loop::@5
  [58] phi()
  to:loop::@4
loop::@4: scope:[loop]  from loop::@5 loop::@6
  [59] xsin_idx#21 = phi( loop::@5/0, loop::@6/xsin_idx#2 )
  [60] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = -- *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR)
  to:loop::@1

unsigned long div32u16u(unsigned long dividend , unsigned int divisor)
div32u16u: scope:[div32u16u]  from sin16s_gen2
  [61] phi()
  [62] call divr16u
  [63] divr16u::return#2 = divr16u::return#0
  to:div32u16u::@1
div32u16u::@1: scope:[div32u16u]  from div32u16u
  [64] div32u16u::quotient_hi#0 = divr16u::return#2
  [65] divr16u::rem#4 = rem16u#14
  [66] call divr16u
  [67] divr16u::return#3 = divr16u::return#0
  to:div32u16u::@2
div32u16u::@2: scope:[div32u16u]  from div32u16u::@1
  [68] div32u16u::quotient_lo#0 = divr16u::return#3
  [69] div32u16u::return#1 = div32u16u::quotient_hi#0 dw= div32u16u::quotient_lo#0
  to:div32u16u::@return
div32u16u::@return: scope:[div32u16u]  from div32u16u::@2
  [70] return 
  to:@return

int sin16s(unsigned long x)
sin16s: scope:[sin16s]  from sin16s_gen2::@2
  [71] if(sin16s::x#0<PI_u4f28) goto sin16s::@1
  to:sin16s::@4
sin16s::@4: scope:[sin16s]  from sin16s
  [72] sin16s::x#1 = sin16s::x#0 - PI_u4f28
  to:sin16s::@1
sin16s::@1: scope:[sin16s]  from sin16s sin16s::@4
  [73] sin16s::isUpper#2 = phi( sin16s/0, sin16s::@4/1 )
  [73] sin16s::x#4 = phi( sin16s/sin16s::x#0, sin16s::@4/sin16s::x#1 )
  [74] if(sin16s::x#4<PI_HALF_u4f28) goto sin16s::@2
  to:sin16s::@5
sin16s::@5: scope:[sin16s]  from sin16s::@1
  [75] sin16s::x#2 = PI_u4f28 - sin16s::x#4
  to:sin16s::@2
sin16s::@2: scope:[sin16s]  from sin16s::@1 sin16s::@5
  [76] sin16s::x#6 = phi( sin16s::@1/sin16s::x#4, sin16s::@5/sin16s::x#2 )
  [77] sin16s::$4 = sin16s::x#6 << 3
  [78] sin16s::x1#0 = word1  sin16s::$4
  [79] mulu16_sel::v1#0 = sin16s::x1#0
  [80] mulu16_sel::v2#0 = sin16s::x1#0
  [81] call mulu16_sel
  [82] mulu16_sel::return#0 = mulu16_sel::return#12
  to:sin16s::@7
sin16s::@7: scope:[sin16s]  from sin16s::@2
  [83] sin16s::x2#0 = mulu16_sel::return#0
  [84] mulu16_sel::v1#1 = sin16s::x2#0
  [85] mulu16_sel::v2#1 = sin16s::x1#0
  [86] call mulu16_sel
  [87] mulu16_sel::return#1 = mulu16_sel::return#12
  to:sin16s::@8
sin16s::@8: scope:[sin16s]  from sin16s::@7
  [88] sin16s::x3#0 = mulu16_sel::return#1
  [89] mulu16_sel::v1#2 = sin16s::x3#0
  [90] call mulu16_sel
  [91] mulu16_sel::return#2 = mulu16_sel::return#12
  to:sin16s::@9
sin16s::@9: scope:[sin16s]  from sin16s::@8
  [92] sin16s::x3_6#0 = mulu16_sel::return#2
  [93] sin16s::usinx#0 = sin16s::x1#0 - sin16s::x3_6#0
  [94] mulu16_sel::v1#3 = sin16s::x3#0
  [95] mulu16_sel::v2#3 = sin16s::x1#0
  [96] call mulu16_sel
  [97] mulu16_sel::return#10 = mulu16_sel::return#12
  to:sin16s::@10
sin16s::@10: scope:[sin16s]  from sin16s::@9
  [98] sin16s::x4#0 = mulu16_sel::return#10
  [99] mulu16_sel::v1#4 = sin16s::x4#0
  [100] mulu16_sel::v2#4 = sin16s::x1#0
  [101] call mulu16_sel
  [102] mulu16_sel::return#11 = mulu16_sel::return#12
  to:sin16s::@11
sin16s::@11: scope:[sin16s]  from sin16s::@10
  [103] sin16s::x5#0 = mulu16_sel::return#11
  [104] sin16s::x5_128#0 = sin16s::x5#0 >> 4
  [105] sin16s::usinx#1 = sin16s::usinx#0 + sin16s::x5_128#0
  [106] if(sin16s::isUpper#2==0) goto sin16s::@12
  to:sin16s::@6
sin16s::@6: scope:[sin16s]  from sin16s::@11
  [107] sin16s::sinx#1 = - (int)sin16s::usinx#1
  to:sin16s::@3
sin16s::@3: scope:[sin16s]  from sin16s::@12 sin16s::@6
  [108] sin16s::return#1 = phi( sin16s::@12/sin16s::return#5, sin16s::@6/sin16s::sinx#1 )
  to:sin16s::@return
sin16s::@return: scope:[sin16s]  from sin16s::@3
  [109] return 
  to:@return
sin16s::@12: scope:[sin16s]  from sin16s::@11
  [110] sin16s::return#5 = (int)sin16s::usinx#1
  to:sin16s::@3

long mul16s(int a , int b)
mul16s: scope:[mul16s]  from sin16s_gen2::@4
  [111] mul16u::a#2 = (unsigned int)mul16s::a#0
  [112] call mul16u
  [113] mul16u::return#3 = mul16u::res#2
  to:mul16s::@4
mul16s::@4: scope:[mul16s]  from mul16s
  [114] mul16s::m#0 = mul16u::return#3
  [115] if(mul16s::a#0>=0) goto mul16s::@1
  to:mul16s::@3
mul16s::@3: scope:[mul16s]  from mul16s::@4
  [116] mul16s::$6 = word1  mul16s::m#0
  [117] mul16s::$11 = mul16s::$6 - (unsigned int)sin16s_gen2::ampl#0
  [118] mul16s::m#1 = mul16s::m#0 word1= mul16s::$11
  to:mul16s::@1
mul16s::@1: scope:[mul16s]  from mul16s::@3 mul16s::@4
  [119] mul16s::m#4 = phi( mul16s::@3/mul16s::m#1, mul16s::@4/mul16s::m#0 )
  to:mul16s::@2
mul16s::@2: scope:[mul16s]  from mul16s::@1
  [120] mul16s::return#1 = (long)mul16s::m#4
  to:mul16s::@return
mul16s::@return: scope:[mul16s]  from mul16s::@2
  [121] return 
  to:@return

void render_logo(int xpos)
render_logo: scope:[render_logo]  from loop::@3
  [122] render_logo::$25 = (char)render_logo::xpos#0
  [123] render_logo::$0 = render_logo::$25 & 7
  [124] render_logo::$1 = VICII_MCM | render_logo::$0
  [125] *D016 = render_logo::$1
  [126] render_logo::$2 = render_logo::xpos#0 >> 3
  [127] render_logo::x_char#0 = (signed char)render_logo::$2
  [128] if(render_logo::xpos#0<0) goto render_logo::@1
  to:render_logo::@2
render_logo::@2: scope:[render_logo]  from render_logo render_logo::@4
  [129] render_logo::screen_idx#18 = phi( render_logo/0, render_logo::@4/render_logo::screen_idx#3 )
  [130] if(render_logo::screen_idx#18!=(char)render_logo::x_char#0) goto render_logo::@3
  to:render_logo::@5
render_logo::@5: scope:[render_logo]  from render_logo::@2 render_logo::@7
  [131] render_logo::logo_idx#10 = phi( render_logo::@7/render_logo::logo_idx#3, render_logo::@2/0 )
  [131] render_logo::screen_idx#10 = phi( render_logo::@7/render_logo::screen_idx#4, render_logo::@2/render_logo::screen_idx#18 )
  [132] if(render_logo::screen_idx#10!=$28) goto render_logo::@6
  to:render_logo::@return
render_logo::@return: scope:[render_logo]  from render_logo::@11 render_logo::@5
  [133] return 
  to:@return
render_logo::@6: scope:[render_logo]  from render_logo::@5
  [134] SCREEN[render_logo::screen_idx#10] = render_logo::logo_idx#10
  to:render_logo::@10_1
render_logo::@10_1: scope:[render_logo]  from render_logo::@6
  [135] render_logo::$30 = render_logo::logo_idx#10 + $28*1
  [136] (SCREEN+$28*1)[render_logo::screen_idx#10] = render_logo::$30
  to:render_logo::@10_2
render_logo::@10_2: scope:[render_logo]  from render_logo::@10_1
  [137] render_logo::$33 = render_logo::logo_idx#10 + $28*2
  [138] (SCREEN+$28*2)[render_logo::screen_idx#10] = render_logo::$33
  to:render_logo::@10_3
render_logo::@10_3: scope:[render_logo]  from render_logo::@10_2
  [139] render_logo::$36 = render_logo::logo_idx#10 + $28*3
  [140] (SCREEN+$28*3)[render_logo::screen_idx#10] = render_logo::$36
  to:render_logo::@10_4
render_logo::@10_4: scope:[render_logo]  from render_logo::@10_3
  [141] render_logo::$39 = render_logo::logo_idx#10 + $28*4
  [142] (SCREEN+$28*4)[render_logo::screen_idx#10] = render_logo::$39
  to:render_logo::@10_5
render_logo::@10_5: scope:[render_logo]  from render_logo::@10_4
  [143] render_logo::$42 = render_logo::logo_idx#10 + $28*5
  [144] (SCREEN+$28*5)[render_logo::screen_idx#10] = render_logo::$42
  to:render_logo::@7
render_logo::@7: scope:[render_logo]  from render_logo::@10_5
  [145] render_logo::screen_idx#4 = ++ render_logo::screen_idx#10
  [146] render_logo::logo_idx#3 = ++ render_logo::logo_idx#10
  to:render_logo::@5
render_logo::@3: scope:[render_logo]  from render_logo::@2
  [147] SCREEN[render_logo::screen_idx#18] = 0
  to:render_logo::@6_1
render_logo::@6_1: scope:[render_logo]  from render_logo::@3
  [148] (SCREEN+$28*1)[render_logo::screen_idx#18] = 0
  to:render_logo::@6_2
render_logo::@6_2: scope:[render_logo]  from render_logo::@6_1
  [149] (SCREEN+$28*2)[render_logo::screen_idx#18] = 0
  to:render_logo::@6_3
render_logo::@6_3: scope:[render_logo]  from render_logo::@6_2
  [150] (SCREEN+$28*3)[render_logo::screen_idx#18] = 0
  to:render_logo::@6_4
render_logo::@6_4: scope:[render_logo]  from render_logo::@6_3
  [151] (SCREEN+$28*4)[render_logo::screen_idx#18] = 0
  to:render_logo::@6_5
render_logo::@6_5: scope:[render_logo]  from render_logo::@6_4
  [152] (SCREEN+$28*5)[render_logo::screen_idx#18] = 0
  to:render_logo::@4
render_logo::@4: scope:[render_logo]  from render_logo::@6_5
  [153] render_logo::screen_idx#3 = ++ render_logo::screen_idx#18
  to:render_logo::@2
render_logo::@1: scope:[render_logo]  from render_logo
  [154] render_logo::logo_idx#1 = - render_logo::x_char#0
  [155] render_logo::logo_idx#14 = (char)render_logo::logo_idx#1
  to:render_logo::@8
render_logo::@8: scope:[render_logo]  from render_logo::@1 render_logo::@10
  [156] render_logo::screen_idx#21 = phi( render_logo::@1/0, render_logo::@10/render_logo::screen_idx#5 )
  [156] render_logo::logo_idx#11 = phi( render_logo::@1/render_logo::logo_idx#14, render_logo::@10/render_logo::logo_idx#4 )
  [157] if(render_logo::logo_idx#11!=$28) goto render_logo::@9
  to:render_logo::@11
render_logo::@11: scope:[render_logo]  from render_logo::@13 render_logo::@8
  [158] render_logo::screen_idx#15 = phi( render_logo::@8/render_logo::screen_idx#21, render_logo::@13/render_logo::screen_idx#6 )
  [159] if(render_logo::screen_idx#15!=$28) goto render_logo::@12
  to:render_logo::@return
render_logo::@12: scope:[render_logo]  from render_logo::@11
  [160] SCREEN[render_logo::screen_idx#15] = 0
  to:render_logo::@18_1
render_logo::@18_1: scope:[render_logo]  from render_logo::@12
  [161] (SCREEN+$28*1)[render_logo::screen_idx#15] = 0
  to:render_logo::@18_2
render_logo::@18_2: scope:[render_logo]  from render_logo::@18_1
  [162] (SCREEN+$28*2)[render_logo::screen_idx#15] = 0
  to:render_logo::@18_3
render_logo::@18_3: scope:[render_logo]  from render_logo::@18_2
  [163] (SCREEN+$28*3)[render_logo::screen_idx#15] = 0
  to:render_logo::@18_4
render_logo::@18_4: scope:[render_logo]  from render_logo::@18_3
  [164] (SCREEN+$28*4)[render_logo::screen_idx#15] = 0
  to:render_logo::@18_5
render_logo::@18_5: scope:[render_logo]  from render_logo::@18_4
  [165] (SCREEN+$28*5)[render_logo::screen_idx#15] = 0
  to:render_logo::@13
render_logo::@13: scope:[render_logo]  from render_logo::@18_5
  [166] render_logo::screen_idx#6 = ++ render_logo::screen_idx#15
  to:render_logo::@11
render_logo::@9: scope:[render_logo]  from render_logo::@8
  [167] SCREEN[render_logo::screen_idx#21] = render_logo::logo_idx#11
  to:render_logo::@14_1
render_logo::@14_1: scope:[render_logo]  from render_logo::@9
  [168] render_logo::$70 = render_logo::logo_idx#11 + $28*1
  [169] (SCREEN+$28*1)[render_logo::screen_idx#21] = render_logo::$70
  to:render_logo::@14_2
render_logo::@14_2: scope:[render_logo]  from render_logo::@14_1
  [170] render_logo::$73 = render_logo::logo_idx#11 + $28*2
  [171] (SCREEN+$28*2)[render_logo::screen_idx#21] = render_logo::$73
  to:render_logo::@14_3
render_logo::@14_3: scope:[render_logo]  from render_logo::@14_2
  [172] render_logo::$76 = render_logo::logo_idx#11 + $28*3
  [173] (SCREEN+$28*3)[render_logo::screen_idx#21] = render_logo::$76
  to:render_logo::@14_4
render_logo::@14_4: scope:[render_logo]  from render_logo::@14_3
  [174] render_logo::$79 = render_logo::logo_idx#11 + $28*4
  [175] (SCREEN+$28*4)[render_logo::screen_idx#21] = render_logo::$79
  to:render_logo::@14_5
render_logo::@14_5: scope:[render_logo]  from render_logo::@14_4
  [176] render_logo::$82 = render_logo::logo_idx#11 + $28*5
  [177] (SCREEN+$28*5)[render_logo::screen_idx#21] = render_logo::$82
  to:render_logo::@10
render_logo::@10: scope:[render_logo]  from render_logo::@14_5
  [178] render_logo::screen_idx#5 = ++ render_logo::screen_idx#21
  [179] render_logo::logo_idx#4 = ++ render_logo::logo_idx#11
  to:render_logo::@8

unsigned int divr16u(unsigned int dividend , unsigned int divisor , unsigned int rem)
divr16u: scope:[divr16u]  from div32u16u div32u16u::@1
  [180] divr16u::dividend#5 = phi( div32u16u/word1 PI2_u4f28, div32u16u::@1/word0 PI2_u4f28 )
  [180] divr16u::rem#10 = phi( div32u16u/0, div32u16u::@1/divr16u::rem#4 )
  to:divr16u::@1
divr16u::@1: scope:[divr16u]  from divr16u divr16u::@3
  [181] divr16u::i#2 = phi( divr16u/0, divr16u::@3/divr16u::i#1 )
  [181] divr16u::quotient#3 = phi( divr16u/0, divr16u::@3/divr16u::return#0 )
  [181] divr16u::dividend#3 = phi( divr16u/divr16u::dividend#5, divr16u::@3/divr16u::dividend#0 )
  [181] divr16u::rem#5 = phi( divr16u/divr16u::rem#10, divr16u::@3/divr16u::rem#11 )
  [182] divr16u::rem#0 = divr16u::rem#5 << 1
  [183] divr16u::$1 = byte1  divr16u::dividend#3
  [184] divr16u::$2 = divr16u::$1 & $80
  [185] if(divr16u::$2==0) goto divr16u::@2
  to:divr16u::@4
divr16u::@4: scope:[divr16u]  from divr16u::@1
  [186] divr16u::rem#1 = divr16u::rem#0 | 1
  to:divr16u::@2
divr16u::@2: scope:[divr16u]  from divr16u::@1 divr16u::@4
  [187] divr16u::rem#6 = phi( divr16u::@1/divr16u::rem#0, divr16u::@4/divr16u::rem#1 )
  [188] divr16u::dividend#0 = divr16u::dividend#3 << 1
  [189] divr16u::quotient#1 = divr16u::quotient#3 << 1
  [190] if(divr16u::rem#6<XSIN_SIZE) goto divr16u::@3
  to:divr16u::@5
divr16u::@5: scope:[divr16u]  from divr16u::@2
  [191] divr16u::quotient#2 = ++ divr16u::quotient#1
  [192] divr16u::rem#2 = divr16u::rem#6 - XSIN_SIZE
  to:divr16u::@3
divr16u::@3: scope:[divr16u]  from divr16u::@2 divr16u::@5
  [193] divr16u::return#0 = phi( divr16u::@2/divr16u::quotient#1, divr16u::@5/divr16u::quotient#2 )
  [193] divr16u::rem#11 = phi( divr16u::@2/divr16u::rem#6, divr16u::@5/divr16u::rem#2 )
  [194] divr16u::i#1 = ++ divr16u::i#2
  [195] if(divr16u::i#1!=$10) goto divr16u::@1
  to:divr16u::@6
divr16u::@6: scope:[divr16u]  from divr16u::@3
  [196] rem16u#14 = divr16u::rem#11
  to:divr16u::@return
divr16u::@return: scope:[divr16u]  from divr16u::@6
  [197] return 
  to:@return

unsigned int mulu16_sel(unsigned int v1 , unsigned int v2 , char select)
mulu16_sel: scope:[mulu16_sel]  from sin16s::@10 sin16s::@2 sin16s::@7 sin16s::@8 sin16s::@9
  [198] mulu16_sel::select#5 = phi( sin16s::@10/0, sin16s::@2/0, sin16s::@7/1, sin16s::@8/1, sin16s::@9/0 )
  [198] mulu16_sel::v2#5 = phi( sin16s::@10/mulu16_sel::v2#4, sin16s::@2/mulu16_sel::v2#0, sin16s::@7/mulu16_sel::v2#1, sin16s::@8/(unsigned int)$10000/6, sin16s::@9/mulu16_sel::v2#3 )
  [198] mulu16_sel::v1#5 = phi( sin16s::@10/mulu16_sel::v1#4, sin16s::@2/mulu16_sel::v1#0, sin16s::@7/mulu16_sel::v1#1, sin16s::@8/mulu16_sel::v1#2, sin16s::@9/mulu16_sel::v1#3 )
  [199] mul16u::a#0 = mulu16_sel::v1#5
  [200] mul16u::b#0 = mulu16_sel::v2#5
  [201] call mul16u
  [202] mul16u::return#0 = mul16u::res#2
  to:mulu16_sel::@1
mulu16_sel::@1: scope:[mulu16_sel]  from mulu16_sel
  [203] mulu16_sel::$0 = mul16u::return#0
  [204] mulu16_sel::$1 = mulu16_sel::$0 << mulu16_sel::select#5
  [205] mulu16_sel::return#12 = word1  mulu16_sel::$1
  to:mulu16_sel::@return
mulu16_sel::@return: scope:[mulu16_sel]  from mulu16_sel::@1
  [206] return 
  to:@return

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