
void main()
main: scope:[main]  from
  [0] phi()
  [1] call clrscr
  to:main::@19
main::@19: scope:[main]  from main
  [2] phi()
  [3] call printf_str
  to:main::@20
main::@20: scope:[main]  from main::@19
  [4] phi()
  [5] call printf_uint
  to:main::@21
main::@21: scope:[main]  from main::@20
  [6] phi()
  [7] call printf_str
  to:main::@1
main::@1: scope:[main]  from main::@21 main::@24
  [8] main::i#2 = phi( main::@21/0, main::@24/main::i#1 )
  [9] if(main::i#2<main::num_entries#0) goto main::@2
  to:main::@3
main::@3: scope:[main]  from main::@1
  [10] phi()
  [11] call printf_str
  to:main::@22
main::@22: scope:[main]  from main::@3
  [12] phi()
  [13] call printf_uint
  to:main::@23
main::@23: scope:[main]  from main::@22
  [14] phi()
  [15] call printf_str
  to:main::@9
main::@9: scope:[main]  from main::@23 main::@38
  [16] main::i1#2 = phi( main::@23/0, main::@38/main::i1#1 )
  [17] if(main::i1#2<main::num_entries#0) goto main::@10
  to:main::@return
main::@return: scope:[main]  from main::@9
  [18] return 
  to:@return
main::@10: scope:[main]  from main::@9
  [19] main::j1#0 = main::i1#2 + 1
  to:main::@11
main::@11: scope:[main]  from main::@10 main::@16
  [20] main::j1#2 = phi( main::@10/main::j1#0, main::@16/main::j1#1 )
  [21] if(main::j1#2<main::num_entries#0) goto main::@12
  to:main::@13
main::@13: scope:[main]  from main::@11
  [22] phi()
  [23] call printf_str
  to:main::@38
main::@38: scope:[main]  from main::@13
  [24] main::i1#1 = ++ main::i1#2
  to:main::@9
main::@12: scope:[main]  from main::@11
  [25] main::k#0 = main::j1#2 + 1
  to:main::@14
main::@14: scope:[main]  from main::@12 main::@17
  [26] main::k#10 = phi( main::@12/main::k#0, main::@17/main::k#1 )
  [27] if(main::k#10<main::num_entries#0) goto main::@15
  to:main::@16
main::@16: scope:[main]  from main::@14
  [28] main::j1#1 = ++ main::j1#2
  to:main::@11
main::@15: scope:[main]  from main::@14
  [29] main::$41 = main::i1#2 << 1
  [30] main::$42 = main::j1#2 << 1
  [31] main::$53 = entries + main::$41
  [32] main::$54 = entries + main::$42
  [33] main::$21 = *main::$53 + *main::$54
  [34] main::$43 = main::k#10 << 1
  [35] main::$55 = entries + main::$43
  [36] main::$22 = main::$21 + *main::$55
  [37] if(main::$22!=$7e4) goto main::@17
  to:main::@18
main::@18: scope:[main]  from main::@15
  [38] phi()
  [39] call printf_str
  to:main::@39
main::@39: scope:[main]  from main::@18
  [40] phi()
  [41] call printf_str
  to:main::@40
main::@40: scope:[main]  from main::@39
  [42] printf_uint::uvalue#6 = main::i1#2
  [43] call printf_uint
  to:main::@41
main::@41: scope:[main]  from main::@40
  [44] phi()
  [45] call printf_str
  to:main::@42
main::@42: scope:[main]  from main::@41
  [46] main::$56 = entries + main::$41
  [47] printf_uint::uvalue#7 = *main::$56
  [48] call printf_uint
  to:main::@43
main::@43: scope:[main]  from main::@42
  [49] phi()
  [50] call printf_str
  to:main::@44
main::@44: scope:[main]  from main::@43
  [51] printf_uint::uvalue#8 = main::j1#2
  [52] call printf_uint
  to:main::@45
main::@45: scope:[main]  from main::@44
  [53] phi()
  [54] call printf_str
  to:main::@46
main::@46: scope:[main]  from main::@45
  [55] main::$57 = entries + main::$42
  [56] printf_uint::uvalue#9 = *main::$57
  [57] call printf_uint
  to:main::@47
main::@47: scope:[main]  from main::@46
  [58] phi()
  [59] call printf_str
  to:main::@48
main::@48: scope:[main]  from main::@47
  [60] printf_uint::uvalue#10 = main::k#10
  [61] call printf_uint
  to:main::@49
main::@49: scope:[main]  from main::@48
  [62] phi()
  [63] call printf_str
  to:main::@50
main::@50: scope:[main]  from main::@49
  [64] main::$58 = entries + main::$43
  [65] printf_uint::uvalue#11 = *main::$58
  [66] call printf_uint
  to:main::@51
main::@51: scope:[main]  from main::@50
  [67] phi()
  [68] call printf_str
  to:main::@52
main::@52: scope:[main]  from main::@51
  [69] main::$59 = entries + main::$41
  [70] mul16u::a#2 = *main::$59
  [71] main::$60 = entries + main::$43
  [72] mul16u::b#1 = *main::$60
  [73] call mul16u
  [74] mul16u::return#3 = mul16u::res#2
  to:main::@53
main::@53: scope:[main]  from main::@52
  [75] main::mul1#0 = mul16u::return#3
  [76] mul16u::a#3 = word0  main::mul1#0
  [77] main::$61 = entries + main::$42
  [78] mul16u::b#2 = *main::$61
  [79] call mul16u
  [80] mul16u::return#4 = mul16u::res#2
  to:main::@54
main::@54: scope:[main]  from main::@53
  [81] main::mul2#0 = mul16u::return#4
  [82] call printf_str
  to:main::@55
main::@55: scope:[main]  from main::@54
  [83] printf_ulong::uvalue#1 = main::mul2#0
  [84] call printf_ulong
  to:main::@56
main::@56: scope:[main]  from main::@55
  [85] phi()
  [86] call printf_str
  to:main::@17
main::@17: scope:[main]  from main::@15 main::@56
  [87] main::k#1 = ++ main::k#10
  to:main::@14
main::@2: scope:[main]  from main::@1
  [88] main::j#0 = main::i#2 + 1
  to:main::@4
main::@4: scope:[main]  from main::@2 main::@7
  [89] main::j#10 = phi( main::@2/main::j#0, main::@7/main::j#1 )
  [90] if(main::j#10<main::num_entries#0) goto main::@5
  to:main::@6
main::@6: scope:[main]  from main::@4
  [91] phi()
  [92] call printf_str
  to:main::@24
main::@24: scope:[main]  from main::@6
  [93] main::i#1 = ++ main::i#2
  to:main::@1
main::@5: scope:[main]  from main::@4
  [94] main::$34 = main::i#2 << 1
  [95] main::$35 = main::j#10 << 1
  [96] main::$47 = entries + main::$34
  [97] main::$48 = entries + main::$35
  [98] main::$8 = *main::$47 + *main::$48
  [99] if(main::$8!=$7e4) goto main::@7
  to:main::@8
main::@8: scope:[main]  from main::@5
  [100] phi()
  [101] call printf_str
  to:main::@25
main::@25: scope:[main]  from main::@8
  [102] phi()
  [103] call printf_str
  to:main::@26
main::@26: scope:[main]  from main::@25
  [104] printf_uint::uvalue#2 = main::i#2
  [105] call printf_uint
  to:main::@27
main::@27: scope:[main]  from main::@26
  [106] phi()
  [107] call printf_str
  to:main::@28
main::@28: scope:[main]  from main::@27
  [108] main::$49 = entries + main::$34
  [109] printf_uint::uvalue#3 = *main::$49
  [110] call printf_uint
  to:main::@29
main::@29: scope:[main]  from main::@28
  [111] phi()
  [112] call printf_str
  to:main::@30
main::@30: scope:[main]  from main::@29
  [113] printf_uint::uvalue#4 = main::j#10
  [114] call printf_uint
  to:main::@31
main::@31: scope:[main]  from main::@30
  [115] phi()
  [116] call printf_str
  to:main::@32
main::@32: scope:[main]  from main::@31
  [117] main::$50 = entries + main::$35
  [118] printf_uint::uvalue#5 = *main::$50
  [119] call printf_uint
  to:main::@33
main::@33: scope:[main]  from main::@32
  [120] phi()
  [121] call printf_str
  to:main::@34
main::@34: scope:[main]  from main::@33
  [122] main::$51 = entries + main::$34
  [123] mul16u::a#1 = *main::$51
  [124] main::$52 = entries + main::$35
  [125] mul16u::b#0 = *main::$52
  [126] call mul16u
  [127] mul16u::return#2 = mul16u::res#2
  to:main::@35
main::@35: scope:[main]  from main::@34
  [128] main::mul#0 = mul16u::return#2
  [129] call printf_str
  to:main::@36
main::@36: scope:[main]  from main::@35
  [130] printf_ulong::uvalue#0 = main::mul#0
  [131] call printf_ulong
  to:main::@37
main::@37: scope:[main]  from main::@36
  [132] phi()
  [133] call printf_str
  to:main::@7
main::@7: scope:[main]  from main::@37 main::@5
  [134] main::j#1 = ++ main::j#10
  to:main::@4

__stackcall void cputc(volatile char c)
cputc: scope:[cputc]  from printf_number_buffer::@3 printf_str::@2
  [135] cputc::c = stackidx(char,cputc::OFFSET_STACK_C)
  [136] if(cputc::c=='
'at) goto cputc::@1
  to:cputc::@3
cputc::@3: scope:[cputc]  from cputc
  [137] if(cputc::c=='
'at) goto cputc::@2
  to:cputc::@8
cputc::@8: scope:[cputc]  from cputc::@3
  [138] if(cputc::c==$9b) goto cputc::@2
  to:cputc::convertToScreenCode1
cputc::convertToScreenCode1: scope:[cputc]  from cputc::@8
  [139] cputc::convertToScreenCode1_return#0 = rawmap[*cputc::convertToScreenCode1_v#0]
  to:cputc::@6
cputc::@6: scope:[cputc]  from cputc::convertToScreenCode1
  [140] phi()
  [141] call putchar
  to:cputc::@7
cputc::@7: scope:[cputc]  from cputc::@6
  [142] *COLCRS = ++ *COLCRS
  [143] if(*COLCRS==$28) goto cputc::@5
  to:cputc::@4
cputc::@4: scope:[cputc]  from cputc::@7
  [144] phi()
  [145] call setcursor
  to:cputc::@return
cputc::@return: scope:[cputc]  from cputc::@1 cputc::@2 cputc::@4 cputc::@5
  [146] return 
  to:@return
cputc::@5: scope:[cputc]  from cputc::@7
  [147] *COLCRS = 0
  [148] call newline
  to:cputc::@return
cputc::@2: scope:[cputc]  from cputc::@3 cputc::@8
  [149] *COLCRS = 0
  [150] call newline
  to:cputc::@return
cputc::@1: scope:[cputc]  from cputc
  [151] *COLCRS = 0
  [152] call setcursor
  to:cputc::@return

void clrscr()
clrscr: scope:[clrscr]  from main
  [153] memset::str#7 = (void *)*SAVMSC
  [154] call memset
  to:clrscr::@1
clrscr::@1: scope:[clrscr]  from clrscr
  [155] *OLDCHR = 0
  [156] call gotoxy
  to:clrscr::@return
clrscr::@return: scope:[clrscr]  from clrscr::@1
  [157] return 
  to:@return

void printf_str(void (*putc)(char) , const char *s)
printf_str: scope:[printf_str]  from main::@13 main::@18 main::@19 main::@21 main::@23 main::@25 main::@27 main::@29 main::@3 main::@31 main::@33 main::@35 main::@37 main::@39 main::@41 main::@43 main::@45 main::@47 main::@49 main::@51 main::@54 main::@56 main::@6 main::@8 printf_number_buffer::@2
  [158] printf_str::s#27 = phi( main::@13/main::s4, main::@18/main::s5, main::@19/main::s, main::@21/main::s1, main::@23/main::s1, main::@25/main::s6, main::@27/main::s7, main::@3/main::s2, main::@29/main::s8, main::@31/main::s7, main::@33/main::s10, main::@35/main::s11, main::@37/main::s5, main::@39/main::s6, main::@41/main::s7, main::@43/main::s8, main::@45/main::s7, main::@47/main::s8, main::@49/main::s7, main::@51/main::s10, main::@54/main::s11, main::@56/main::s5, main::@6/main::s4, main::@8/main::s5, printf_number_buffer::@2/(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS )
  to:printf_str::@1
printf_str::@1: scope:[printf_str]  from printf_str printf_str::@2
  [159] printf_str::s#26 = phi( printf_str/printf_str::s#27, printf_str::@2/printf_str::s#0 )
  [160] printf_str::c#1 = *printf_str::s#26
  [161] printf_str::s#0 = ++ printf_str::s#26
  [162] if(0!=printf_str::c#1) goto printf_str::@2
  to:printf_str::@return
printf_str::@return: scope:[printf_str]  from printf_str::@1
  [163] return 
  to:@return
printf_str::@2: scope:[printf_str]  from printf_str::@1
  [164] stackpush(char) = printf_str::c#1
  [165] callexecute cputc 
  sideeffect stackpullbytes(1)
  to:printf_str::@1

void printf_uint(void (*putc)(char) , unsigned int uvalue , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
printf_uint: scope:[printf_uint]  from main::@20 main::@22 main::@26 main::@28 main::@30 main::@32 main::@40 main::@42 main::@44 main::@46 main::@48 main::@50
  [167] printf_uint::uvalue#12 = phi( main::@20/main::num_entries#0, main::@22/main::num_entries#0, main::@26/printf_uint::uvalue#2, main::@28/printf_uint::uvalue#3, main::@30/printf_uint::uvalue#4, main::@32/printf_uint::uvalue#5, main::@40/printf_uint::uvalue#6, main::@42/printf_uint::uvalue#7, main::@44/printf_uint::uvalue#8, main::@46/printf_uint::uvalue#9, main::@48/printf_uint::uvalue#10, main::@50/printf_uint::uvalue#11 )
  to:printf_uint::@1
printf_uint::@1: scope:[printf_uint]  from printf_uint
  [168] *((char *)&printf_buffer) = 0
  [169] utoa::value#1 = printf_uint::uvalue#12
  [170] call utoa
  to:printf_uint::@2
printf_uint::@2: scope:[printf_uint]  from printf_uint::@1
  [171] printf_number_buffer::buffer_sign#1 = *((char *)&printf_buffer)
  [172] call printf_number_buffer
  to:printf_uint::@return
printf_uint::@return: scope:[printf_uint]  from printf_uint::@2
  [173] return 
  to:@return

unsigned long mul16u(unsigned int a , unsigned int b)
mul16u: scope:[mul16u]  from main::@34 main::@52 main::@53
  [174] mul16u::a#7 = phi( main::@34/mul16u::a#1, main::@52/mul16u::a#2, main::@53/mul16u::a#3 )
  [174] mul16u::b#3 = phi( main::@34/mul16u::b#0, main::@52/mul16u::b#1, main::@53/mul16u::b#2 )
  [175] mul16u::mb#0 = (unsigned long)mul16u::b#3
  to:mul16u::@1
mul16u::@1: scope:[mul16u]  from mul16u mul16u::@3
  [176] mul16u::mb#2 = phi( mul16u/mul16u::mb#0, mul16u::@3/mul16u::mb#1 )
  [176] mul16u::res#2 = phi( mul16u/0, mul16u::@3/mul16u::res#6 )
  [176] mul16u::a#4 = phi( mul16u/mul16u::a#7, mul16u::@3/mul16u::a#0 )
  [177] if(mul16u::a#4!=0) goto mul16u::@2
  to:mul16u::@return
mul16u::@return: scope:[mul16u]  from mul16u::@1
  [178] return 
  to:@return
mul16u::@2: scope:[mul16u]  from mul16u::@1
  [179] mul16u::$1 = mul16u::a#4 & 1
  [180] if(mul16u::$1==0) goto mul16u::@3
  to:mul16u::@4
mul16u::@4: scope:[mul16u]  from mul16u::@2
  [181] mul16u::res#1 = mul16u::res#2 + mul16u::mb#2
  to:mul16u::@3
mul16u::@3: scope:[mul16u]  from mul16u::@2 mul16u::@4
  [182] mul16u::res#6 = phi( mul16u::@2/mul16u::res#2, mul16u::@4/mul16u::res#1 )
  [183] mul16u::a#0 = mul16u::a#4 >> 1
  [184] mul16u::mb#1 = mul16u::mb#2 << 1
  to:mul16u::@1

void printf_ulong(void (*putc)(char) , unsigned long uvalue , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
printf_ulong: scope:[printf_ulong]  from main::@36 main::@55
  [185] printf_ulong::uvalue#2 = phi( main::@36/printf_ulong::uvalue#0, main::@55/printf_ulong::uvalue#1 )
  to:printf_ulong::@1
printf_ulong::@1: scope:[printf_ulong]  from printf_ulong
  [186] *((char *)&printf_buffer) = 0
  [187] ultoa::value#1 = printf_ulong::uvalue#2
  [188] call ultoa
  to:printf_ulong::@2
printf_ulong::@2: scope:[printf_ulong]  from printf_ulong::@1
  [189] printf_number_buffer::buffer_sign#0 = *((char *)&printf_buffer)
  [190] call printf_number_buffer
  to:printf_ulong::@return
printf_ulong::@return: scope:[printf_ulong]  from printf_ulong::@2
  [191] return 
  to:@return

void putchar(char code)
putchar: scope:[putchar]  from cputc::@6
  [192] *(*OLDADR) = *OLDCHR
  [193] call cursorLocation
  [194] cursorLocation::return#0 = cursorLocation::return#1
  to:putchar::@1
putchar::@1: scope:[putchar]  from putchar
  [195] putchar::loc#0 = cursorLocation::return#0
  [196] putchar::newChar#0 = cputc::convertToScreenCode1_return#0
  [197] *putchar::loc#0 = putchar::newChar#0
  [198] *OLDCHR = putchar::newChar#0
  [199] call setcursor
  to:putchar::@return
putchar::@return: scope:[putchar]  from putchar::@1
  [200] return 
  to:@return

void setcursor()
setcursor: scope:[setcursor]  from cputc::@1 cputc::@4 gotoxy newline::@1 putchar::@1
  [201] *(*OLDADR) = *OLDCHR
  [202] call cursorLocation
  [203] cursorLocation::return#3 = cursorLocation::return#1
  to:setcursor::@3
setcursor::@3: scope:[setcursor]  from setcursor
  [204] setcursor::loc#0 = cursorLocation::return#3
  [205] setcursor::c#0 = *setcursor::loc#0
  [206] *OLDCHR = setcursor::c#0
  [207] *OLDADR = setcursor::loc#0
  to:setcursor::@2
setcursor::@2: scope:[setcursor]  from setcursor::@3
  [208] *CRSINH = 0
  [209] setcursor::c#1 = setcursor::c#0 ^ $80
  to:setcursor::@1
setcursor::@1: scope:[setcursor]  from setcursor::@2
  [210] *(*OLDADR) = setcursor::c#1
  to:setcursor::@return
setcursor::@return: scope:[setcursor]  from setcursor::@1
  [211] return 
  to:@return

void newline()
newline: scope:[newline]  from cputc::@2 cputc::@5
  [212] *ROWCRS = ++ *ROWCRS
  [213] if(*ROWCRS!=$18) goto newline::@1
  to:newline::@3
newline::@3: scope:[newline]  from newline
  [214] *(*OLDADR) = *(*OLDADR) ^ $80
  to:newline::@2
newline::@2: scope:[newline]  from newline::@3
  [215] newline::start#0 = *SAVMSC
  [216] memcpy::source#0 = newline::start#0 + $28
  [217] memcpy::destination#0 = (void *)newline::start#0
  [218] call memcpy
  to:newline::@4
newline::@4: scope:[newline]  from newline::@2
  [219] memset::str#1 = newline::start#0 + (unsigned int)$28*$17
  [220] memset::str#8 = (void *)memset::str#1
  [221] call memset
  to:newline::@5
newline::@5: scope:[newline]  from newline::@4
  [222] *ROWCRS = $18-1
  to:newline::@1
newline::@1: scope:[newline]  from newline newline::@5
  [223] phi()
  [224] call setcursor
  to:newline::@return
newline::@return: scope:[newline]  from newline::@1
  [225] return 
  to:@return

void * memset(void *str , char c , unsigned int num)
memset: scope:[memset]  from clrscr newline::@4
  [226] memset::str#3 = phi( clrscr/memset::str#7, newline::@4/memset::str#8 )
  [226] memset::num#2 = phi( clrscr/(unsigned int)$28*$18, newline::@4/$28 )
  [227] if(memset::num#2<=0) goto memset::@return
  to:memset::@1
memset::@1: scope:[memset]  from memset
  [228] memset::end#0 = (char *)memset::str#3 + memset::num#2
  [229] memset::dst#4 = (char *)memset::str#3
  to:memset::@2
memset::@2: scope:[memset]  from memset::@1 memset::@3
  [230] memset::dst#2 = phi( memset::@1/memset::dst#4, memset::@3/memset::dst#1 )
  [231] if(memset::dst#2!=memset::end#0) goto memset::@3
  to:memset::@return
memset::@return: scope:[memset]  from memset memset::@2
  [232] return 
  to:@return
memset::@3: scope:[memset]  from memset::@2
  [233] *memset::dst#2 = 0
  [234] memset::dst#1 = ++ memset::dst#2
  to:memset::@2

void gotoxy(char x , char y)
gotoxy: scope:[gotoxy]  from clrscr::@1
  [235] *COLCRS = gotoxy::x#0
  [236] *ROWCRS = gotoxy::y#0
  [237] call setcursor
  to:gotoxy::@return
gotoxy::@return: scope:[gotoxy]  from gotoxy
  [238] return 
  to:@return

void utoa(unsigned int value , char *buffer , char radix)
utoa: scope:[utoa]  from printf_uint::@1
  [239] phi()
  to:utoa::@1
utoa::@1: scope:[utoa]  from utoa utoa::@4
  [240] utoa::buffer#11 = phi( utoa::@4/utoa::buffer#14, utoa/(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS )
  [240] utoa::started#2 = phi( utoa::@4/utoa::started#4, utoa/0 )
  [240] utoa::value#2 = phi( utoa::@4/utoa::value#6, utoa/utoa::value#1 )
  [240] utoa::digit#2 = phi( utoa::@4/utoa::digit#1, utoa/0 )
  [241] if(utoa::digit#2<5-1) goto utoa::@2
  to:utoa::@3
utoa::@3: scope:[utoa]  from utoa::@1
  [242] utoa::$11 = (char)utoa::value#2
  [243] *utoa::buffer#11 = DIGITS[utoa::$11]
  [244] utoa::buffer#3 = ++ utoa::buffer#11
  [245] *utoa::buffer#3 = 0
  to:utoa::@return
utoa::@return: scope:[utoa]  from utoa::@3
  [246] return 
  to:@return
utoa::@2: scope:[utoa]  from utoa::@1
  [247] utoa::$10 = utoa::digit#2 << 1
  [248] utoa::digit_value#0 = RADIX_DECIMAL_VALUES[utoa::$10]
  [249] if(0!=utoa::started#2) goto utoa::@5
  to:utoa::@7
utoa::@7: scope:[utoa]  from utoa::@2
  [250] if(utoa::value#2>=utoa::digit_value#0) goto utoa::@5
  to:utoa::@4
utoa::@4: scope:[utoa]  from utoa::@6 utoa::@7
  [251] utoa::buffer#14 = phi( utoa::@7/utoa::buffer#11, utoa::@6/utoa::buffer#4 )
  [251] utoa::started#4 = phi( utoa::@7/utoa::started#2, utoa::@6/1 )
  [251] utoa::value#6 = phi( utoa::@7/utoa::value#2, utoa::@6/utoa::value#0 )
  [252] utoa::digit#1 = ++ utoa::digit#2
  to:utoa::@1
utoa::@5: scope:[utoa]  from utoa::@2 utoa::@7
  [253] utoa_append::buffer#0 = utoa::buffer#11
  [254] utoa_append::value#0 = utoa::value#2
  [255] utoa_append::sub#0 = utoa::digit_value#0
  [256] call utoa_append
  [257] utoa_append::return#0 = utoa_append::value#2
  to:utoa::@6
utoa::@6: scope:[utoa]  from utoa::@5
  [258] utoa::value#0 = utoa_append::return#0
  [259] utoa::buffer#4 = ++ utoa::buffer#11
  to:utoa::@4

void printf_number_buffer(void (*putc)(char) , char buffer_sign , char *buffer_digits , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
printf_number_buffer: scope:[printf_number_buffer]  from printf_uint::@2 printf_ulong::@2
  [260] printf_number_buffer::buffer_sign#10 = phi( printf_uint::@2/printf_number_buffer::buffer_sign#1, printf_ulong::@2/printf_number_buffer::buffer_sign#0 )
  to:printf_number_buffer::@1
printf_number_buffer::@1: scope:[printf_number_buffer]  from printf_number_buffer
  [261] if(0==printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@2
  to:printf_number_buffer::@3
printf_number_buffer::@3: scope:[printf_number_buffer]  from printf_number_buffer::@1
  [262] stackpush(char) = printf_number_buffer::buffer_sign#10
  [263] callexecute cputc 
  sideeffect stackpullbytes(1)
  to:printf_number_buffer::@2
printf_number_buffer::@2: scope:[printf_number_buffer]  from printf_number_buffer::@1 printf_number_buffer::@3
  [265] phi()
  [266] call printf_str
  to:printf_number_buffer::@return
printf_number_buffer::@return: scope:[printf_number_buffer]  from printf_number_buffer::@2
  [267] return 
  to:@return

void ultoa(unsigned long value , char *buffer , char radix)
ultoa: scope:[ultoa]  from printf_ulong::@1
  [268] phi()
  to:ultoa::@1
ultoa::@1: scope:[ultoa]  from ultoa ultoa::@4
  [269] ultoa::buffer#11 = phi( ultoa::@4/ultoa::buffer#14, ultoa/(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS )
  [269] ultoa::started#2 = phi( ultoa::@4/ultoa::started#4, ultoa/0 )
  [269] ultoa::value#2 = phi( ultoa::@4/ultoa::value#6, ultoa/ultoa::value#1 )
  [269] ultoa::digit#2 = phi( ultoa::@4/ultoa::digit#1, ultoa/0 )
  [270] if(ultoa::digit#2<$a-1) goto ultoa::@2
  to:ultoa::@3
ultoa::@3: scope:[ultoa]  from ultoa::@1
  [271] ultoa::$11 = (char)ultoa::value#2
  [272] *ultoa::buffer#11 = DIGITS[ultoa::$11]
  [273] ultoa::buffer#3 = ++ ultoa::buffer#11
  [274] *ultoa::buffer#3 = 0
  to:ultoa::@return
ultoa::@return: scope:[ultoa]  from ultoa::@3
  [275] return 
  to:@return
ultoa::@2: scope:[ultoa]  from ultoa::@1
  [276] ultoa::$10 = ultoa::digit#2 << 2
  [277] ultoa::digit_value#0 = RADIX_DECIMAL_VALUES_LONG[ultoa::$10]
  [278] if(0!=ultoa::started#2) goto ultoa::@5
  to:ultoa::@7
ultoa::@7: scope:[ultoa]  from ultoa::@2
  [279] if(ultoa::value#2>=ultoa::digit_value#0) goto ultoa::@5
  to:ultoa::@4
ultoa::@4: scope:[ultoa]  from ultoa::@6 ultoa::@7
  [280] ultoa::buffer#14 = phi( ultoa::@7/ultoa::buffer#11, ultoa::@6/ultoa::buffer#4 )
  [280] ultoa::started#4 = phi( ultoa::@7/ultoa::started#2, ultoa::@6/1 )
  [280] ultoa::value#6 = phi( ultoa::@7/ultoa::value#2, ultoa::@6/ultoa::value#0 )
  [281] ultoa::digit#1 = ++ ultoa::digit#2
  to:ultoa::@1
ultoa::@5: scope:[ultoa]  from ultoa::@2 ultoa::@7
  [282] ultoa_append::buffer#0 = ultoa::buffer#11
  [283] ultoa_append::value#0 = ultoa::value#2
  [284] ultoa_append::sub#0 = ultoa::digit_value#0
  [285] call ultoa_append
  [286] ultoa_append::return#0 = ultoa_append::value#2
  to:ultoa::@6
ultoa::@6: scope:[ultoa]  from ultoa::@5
  [287] ultoa::value#0 = ultoa_append::return#0
  [288] ultoa::buffer#4 = ++ ultoa::buffer#11
  to:ultoa::@4

char * cursorLocation()
cursorLocation: scope:[cursorLocation]  from putchar setcursor
  [289] cursorLocation::$3 = (unsigned int)*ROWCRS
  [290] cursorLocation::$4 = cursorLocation::$3 << 2
  [291] cursorLocation::$5 = cursorLocation::$4 + cursorLocation::$3
  [292] cursorLocation::$0 = cursorLocation::$5 << 3
  [293] cursorLocation::$1 = *SAVMSC + cursorLocation::$0
  [294] cursorLocation::return#1 = cursorLocation::$1 + *COLCRS
  to:cursorLocation::@return
cursorLocation::@return: scope:[cursorLocation]  from cursorLocation
  [295] return 
  to:@return

void * memcpy(void *destination , void *source , unsigned int num)
memcpy: scope:[memcpy]  from newline::@2
  [296] memcpy::src_end#0 = (char *)(void *)memcpy::source#0 + memcpy::num#0
  [297] memcpy::src#4 = (char *)(void *)memcpy::source#0
  [298] memcpy::dst#4 = (char *)memcpy::destination#0
  to:memcpy::@1
memcpy::@1: scope:[memcpy]  from memcpy memcpy::@2
  [299] memcpy::dst#2 = phi( memcpy/memcpy::dst#4, memcpy::@2/memcpy::dst#1 )
  [299] memcpy::src#2 = phi( memcpy/memcpy::src#4, memcpy::@2/memcpy::src#1 )
  [300] if(memcpy::src#2!=memcpy::src_end#0) goto memcpy::@2
  to:memcpy::@return
memcpy::@return: scope:[memcpy]  from memcpy::@1
  [301] return 
  to:@return
memcpy::@2: scope:[memcpy]  from memcpy::@1
  [302] *memcpy::dst#2 = *memcpy::src#2
  [303] memcpy::dst#1 = ++ memcpy::dst#2
  [304] memcpy::src#1 = ++ memcpy::src#2
  to:memcpy::@1

unsigned int utoa_append(char *buffer , unsigned int value , unsigned int sub)
utoa_append: scope:[utoa_append]  from utoa::@5
  [305] phi()
  to:utoa_append::@1
utoa_append::@1: scope:[utoa_append]  from utoa_append utoa_append::@2
  [306] utoa_append::digit#2 = phi( utoa_append/0, utoa_append::@2/utoa_append::digit#1 )
  [306] utoa_append::value#2 = phi( utoa_append/utoa_append::value#0, utoa_append::@2/utoa_append::value#1 )
  [307] if(utoa_append::value#2>=utoa_append::sub#0) goto utoa_append::@2
  to:utoa_append::@3
utoa_append::@3: scope:[utoa_append]  from utoa_append::@1
  [308] *utoa_append::buffer#0 = DIGITS[utoa_append::digit#2]
  to:utoa_append::@return
utoa_append::@return: scope:[utoa_append]  from utoa_append::@3
  [309] return 
  to:@return
utoa_append::@2: scope:[utoa_append]  from utoa_append::@1
  [310] utoa_append::digit#1 = ++ utoa_append::digit#2
  [311] utoa_append::value#1 = utoa_append::value#2 - utoa_append::sub#0
  to:utoa_append::@1

unsigned long ultoa_append(char *buffer , unsigned long value , unsigned long sub)
ultoa_append: scope:[ultoa_append]  from ultoa::@5
  [312] phi()
  to:ultoa_append::@1
ultoa_append::@1: scope:[ultoa_append]  from ultoa_append ultoa_append::@2
  [313] ultoa_append::digit#2 = phi( ultoa_append/0, ultoa_append::@2/ultoa_append::digit#1 )
  [313] ultoa_append::value#2 = phi( ultoa_append/ultoa_append::value#0, ultoa_append::@2/ultoa_append::value#1 )
  [314] if(ultoa_append::value#2>=ultoa_append::sub#0) goto ultoa_append::@2
  to:ultoa_append::@3
ultoa_append::@3: scope:[ultoa_append]  from ultoa_append::@1
  [315] *ultoa_append::buffer#0 = DIGITS[ultoa_append::digit#2]
  to:ultoa_append::@return
ultoa_append::@return: scope:[ultoa_append]  from ultoa_append::@3
  [316] return 
  to:@return
ultoa_append::@2: scope:[ultoa_append]  from ultoa_append::@1
  [317] ultoa_append::digit#1 = ++ ultoa_append::digit#2
  [318] ultoa_append::value#1 = ultoa_append::value#2 - ultoa_append::sub#0
  to:ultoa_append::@1
