
int main()
main: scope:[main]  from
  [0] *VICBANK = $17
  [1] *zp1 = 0
  to:main::@1
main::@1: scope:[main]  from main main::@14
  [2] main::v#13 = phi( main/0, main::@14/main::v#11 )
  [2] main::u#16 = phi( main/$6e85, main::@14/main::u#3 )
  [3] if(*zp1<$a) goto main::@2
  to:main::@3
main::@3: scope:[main]  from main::@1
  [4] *zp1 = 0
  to:main::@7
main::@7: scope:[main]  from main::@17 main::@3
  [5] main::v#10 = phi( main::@17/main::v#12, main::@3/main::v#13 )
  [5] main::u#18 = phi( main::@17/main::u#4, main::@3/$6e85 )
  [6] if(*zp1<$a) goto main::@8
  to:main::@return
main::@return: scope:[main]  from main::@7
  [7] return 
  to:@return
main::@8: scope:[main]  from main::@7
  [8] *TIMEHI = 0
  [9] *TIMELO = 0
  [10] *zp2 = 0
  to:main::@9
main::@9: scope:[main]  from main::@15 main::@8
  [11] main::v#12 = phi( main::@15/main::v#2, main::@8/main::v#10 )
  [12] if(*zp2<$c8) goto main::@10
  to:main::@11
main::@11: scope:[main]  from main::@9
  [13] main::$16 = (unsigned int)*TIMEHI
  [14] main::$10 = main::$16 << 8
  [15] main::$17 = (unsigned int)*TIMELO
  [16] myprintf::w3#1 = main::$10 + main::$17
  [17] myprintf::w1#1 = main::u#18
  [18] myprintf::w2#1 = main::v#12
  [19] call myprintf
  to:main::@16
main::@16: scope:[main]  from main::@11
  [20] phi()
  [21] call Print
  to:main::@17
main::@17: scope:[main]  from main::@16
  [22] main::u#4 = main::u#18 - $4d2
  [23] *zp1 = ++ *zp1
  to:main::@7
main::@10: scope:[main]  from main::@9
  [24] div10::val#4 = main::u#18
  [25] call div10
  [26] div10::return#2 = div10::return#0
  to:main::@15
main::@15: scope:[main]  from main::@10
  [27] main::v#2 = div10::return#2
  [28] *zp2 = ++ *zp2
  to:main::@9
main::@2: scope:[main]  from main::@1
  [29] *TIMEHI = 0
  [30] *TIMELO = 0
  [31] *zp2 = 0
  to:main::@4
main::@4: scope:[main]  from main::@12 main::@2
  [32] main::v#11 = phi( main::@12/main::v#1, main::@2/main::v#13 )
  [33] if(*zp2<$c8) goto main::@5
  to:main::@6
main::@6: scope:[main]  from main::@4
  [34] main::$14 = (unsigned int)*TIMEHI
  [35] main::$3 = main::$14 << 8
  [36] main::$15 = (unsigned int)*TIMELO
  [37] myprintf::w3#0 = main::$3 + main::$15
  [38] myprintf::w1#0 = main::u#16
  [39] myprintf::w2#0 = main::v#11
  [40] call myprintf
  to:main::@13
main::@13: scope:[main]  from main::@6
  [41] phi()
  [42] call Print
  to:main::@14
main::@14: scope:[main]  from main::@13
  [43] main::u#3 = main::u#16 - $4d2
  [44] *zp1 = ++ *zp1
  to:main::@1
main::@5: scope:[main]  from main::@4
  [45] div16u::dividend#0 = main::u#16
  [46] call div16u
  [47] div16u::return#2 = div16u::return#0
  to:main::@12
main::@12: scope:[main]  from main::@5
  [48] main::v#1 = div16u::return#2
  [49] *zp2 = ++ *zp2
  to:main::@4

char myprintf(char *dst , char *str , unsigned int w1 , unsigned int w2 , unsigned int w3)
myprintf: scope:[myprintf]  from main::@11 main::@6
  [50] myprintf::w3#8 = phi( main::@11/myprintf::w3#1, main::@6/myprintf::w3#0 )
  [50] myprintf::w2#8 = phi( main::@11/myprintf::w2#1, main::@6/myprintf::w2#0 )
  [50] myprintf::w1#7 = phi( main::@11/myprintf::w1#1, main::@6/myprintf::w1#0 )
  [50] myprintf::str#6 = phi( main::@11/main::str1, main::@6/main::str )
  to:myprintf::@1
myprintf::@1: scope:[myprintf]  from myprintf myprintf::@32
  [51] myprintf::bLeadZero#11 = phi( myprintf/0, myprintf::@32/myprintf::bLeadZero#20 )
  [51] myprintf::bDigits#16 = phi( myprintf/0, myprintf::@32/myprintf::bDigits#28 )
  [51] myprintf::bTrailing#11 = phi( myprintf/0, myprintf::@32/myprintf::bTrailing#24 )
  [51] myprintf::w#10 = phi( myprintf/0, myprintf::@32/myprintf::w#18 )
  [51] myprintf::bArg#10 = phi( myprintf/0, myprintf::@32/myprintf::bArg#11 )
  [51] myprintf::bLen#10 = phi( myprintf/0, myprintf::@32/myprintf::bLen#28 )
  [51] myprintf::bFormat#10 = phi( myprintf/0, myprintf::@32/myprintf::bFormat#5 )
  [51] myprintf::str#10 = phi( myprintf/myprintf::str#6, myprintf::@32/myprintf::str#0 )
  [52] if(*myprintf::str#10!=0) goto myprintf::@2
  to:myprintf::@3
myprintf::@3: scope:[myprintf]  from myprintf::@1
  [53] strTemp[myprintf::bLen#10] = 0
  to:myprintf::@return
myprintf::@return: scope:[myprintf]  from myprintf::@3
  [54] return 
  to:@return
myprintf::@2: scope:[myprintf]  from myprintf::@1
  [55] myprintf::b#1 = *myprintf::str#10
  [56] if(myprintf::bFormat#10==0) goto myprintf::@4
  to:myprintf::@38
myprintf::@38: scope:[myprintf]  from myprintf::@2
  [57] if(myprintf::b#1!='0') goto myprintf::@5
  to:myprintf::@32
myprintf::@32: scope:[myprintf]  from myprintf::@27 myprintf::@28 myprintf::@36 myprintf::@37 myprintf::@38 myprintf::@6
  [58] myprintf::bLeadZero#20 = phi( myprintf::@27/myprintf::bLeadZero#11, myprintf::@28/myprintf::bLeadZero#11, myprintf::@6/myprintf::bLeadZero#11, myprintf::@36/0, myprintf::@37/myprintf::bLeadZero#11, myprintf::@38/1 )
  [58] myprintf::bDigits#28 = phi( myprintf::@27/myprintf::bDigits#29, myprintf::@28/myprintf::bDigits#1, myprintf::@6/myprintf::bDigits#16, myprintf::@36/1, myprintf::@37/myprintf::bDigits#16, myprintf::@38/myprintf::bDigits#16 )
  [58] myprintf::bTrailing#24 = phi( myprintf::@27/myprintf::bTrailing#11, myprintf::@28/myprintf::bTrailing#11, myprintf::@6/1, myprintf::@36/0, myprintf::@37/myprintf::bTrailing#11, myprintf::@38/myprintf::bTrailing#11 )
  [58] myprintf::w#18 = phi( myprintf::@27/myprintf::w#10, myprintf::@28/myprintf::w#10, myprintf::@6/myprintf::w#10, myprintf::@36/myprintf::w#22, myprintf::@37/myprintf::w#10, myprintf::@38/myprintf::w#10 )
  [58] myprintf::bArg#11 = phi( myprintf::@27/myprintf::bArg#10, myprintf::@28/myprintf::bArg#10, myprintf::@6/myprintf::bArg#10, myprintf::@36/myprintf::bArg#1, myprintf::@37/myprintf::bArg#10, myprintf::@38/myprintf::bArg#10 )
  [58] myprintf::bLen#28 = phi( myprintf::@27/myprintf::bLen#36, myprintf::@28/myprintf::bLen#10, myprintf::@6/myprintf::bLen#10, myprintf::@36/myprintf::bLen#10, myprintf::@37/myprintf::bLen#7, myprintf::@38/myprintf::bLen#10 )
  [58] myprintf::bFormat#5 = phi( myprintf::@27/0, myprintf::@28/myprintf::bFormat#10, myprintf::@6/myprintf::bFormat#10, myprintf::@36/1, myprintf::@37/myprintf::bFormat#10, myprintf::@38/myprintf::bFormat#10 )
  [59] myprintf::str#0 = ++ myprintf::str#10
  to:myprintf::@1
myprintf::@5: scope:[myprintf]  from myprintf::@38
  [60] if(myprintf::b#1<'1') goto myprintf::@6
  to:myprintf::@43
myprintf::@43: scope:[myprintf]  from myprintf::@5
  [61] if(myprintf::b#1<='9') goto myprintf::@28
  to:myprintf::@6
myprintf::@6: scope:[myprintf]  from myprintf::@43 myprintf::@5
  [62] if(myprintf::b#1!='-') goto myprintf::@7
  to:myprintf::@32
myprintf::@7: scope:[myprintf]  from myprintf::@6
  [63] if(myprintf::b#1=='c') goto myprintf::@8
  to:myprintf::@29
myprintf::@29: scope:[myprintf]  from myprintf::@7
  [64] if(myprintf::b#1=='d') goto myprintf::@9
  to:myprintf::@30
myprintf::@30: scope:[myprintf]  from myprintf::@29
  [65] if(myprintf::b#1=='x') goto myprintf::@31
  to:myprintf::@44
myprintf::@44: scope:[myprintf]  from myprintf::@30
  [66] if(myprintf::b#1=='X') goto myprintf::@31
  to:myprintf::@27
myprintf::@27: scope:[myprintf]  from myprintf::@13 myprintf::@24 myprintf::@25 myprintf::@44 myprintf::@46 myprintf::@8
  [67] myprintf::bDigits#29 = phi( myprintf::@13/myprintf::bDigits#16, myprintf::@24/myprintf::bDigits#18, myprintf::@25/myprintf::bDigits#10, myprintf::@44/myprintf::bDigits#16, myprintf::@8/myprintf::bDigits#16 )
  [67] myprintf::bLen#36 = phi( myprintf::@13/myprintf::bLen#3, myprintf::@24/myprintf::bLen#13, myprintf::@25/myprintf::bLen#14, myprintf::@44/myprintf::bLen#10, myprintf::@8/myprintf::bLen#1 )
  to:myprintf::@32
myprintf::@31: scope:[myprintf]  from myprintf::@30 myprintf::@44
  [68] myprintf::$56 = (char)myprintf::w#10
  [69] myprintf::$18 = myprintf::$56 >> 4
  [70] myprintf::b#15 = myprintf::$18 & $f
  [71] if(myprintf::b#15<$a) goto myprintf::@10
  to:myprintf::@11
myprintf::@10: scope:[myprintf]  from myprintf::@31
  [72] phi()
  to:myprintf::@11
myprintf::@11: scope:[myprintf]  from myprintf::@10 myprintf::@31
  [73] myprintf::$23 = phi( myprintf::@10/'0', myprintf::@31/$57 )
  [74] myprintf::$24 = myprintf::$23 + myprintf::b#15
  [75] strTemp[myprintf::bLen#10] = myprintf::$24
  [76] myprintf::bLen#11 = ++ myprintf::bLen#10
  [77] myprintf::$57 = (char)myprintf::w#10
  [78] myprintf::b#16 = myprintf::$57 & $f
  [79] if(myprintf::b#16<$a) goto myprintf::@12
  to:myprintf::@13
myprintf::@12: scope:[myprintf]  from myprintf::@11
  [80] phi()
  to:myprintf::@13
myprintf::@13: scope:[myprintf]  from myprintf::@11 myprintf::@12
  [81] myprintf::$29 = phi( myprintf::@12/'0', myprintf::@11/$57 )
  [82] myprintf::$30 = myprintf::$29 + myprintf::b#16
  [83] strTemp[myprintf::bLen#11] = myprintf::$30
  [84] myprintf::bLen#3 = ++ myprintf::bLen#11
  to:myprintf::@27
myprintf::@9: scope:[myprintf]  from myprintf::@29
  [85] utoa::value#4 = myprintf::w#10
  [86] call utoa
  to:myprintf::@14
myprintf::@14: scope:[myprintf]  from myprintf::@15 myprintf::@9
  [87] myprintf::b#17 = phi( myprintf::@15/myprintf::b#5, myprintf::@9/1 )
  [88] if(myprintf::buf6[myprintf::b#17]!=0) goto myprintf::@15
  to:myprintf::@16
myprintf::@16: scope:[myprintf]  from myprintf::@14
  [89] if(myprintf::bTrailing#11!=0) goto myprintf::@17
  to:myprintf::@45
myprintf::@45: scope:[myprintf]  from myprintf::@16
  [90] if(myprintf::bDigits#16<=myprintf::b#17) goto myprintf::@17
  to:myprintf::@18
myprintf::@18: scope:[myprintf]  from myprintf::@21 myprintf::@45
  [91] myprintf::bLen#12 = phi( myprintf::@45/myprintf::bLen#10, myprintf::@21/myprintf::bLen#4 )
  [91] myprintf::bDigits#12 = phi( myprintf::@45/myprintf::bDigits#16, myprintf::@21/myprintf::bDigits#2 )
  [92] if(myprintf::bDigits#12>myprintf::b#17) goto myprintf::@19
  to:myprintf::@17
myprintf::@17: scope:[myprintf]  from myprintf::@16 myprintf::@18 myprintf::@45
  [93] myprintf::bDigits#18 = phi( myprintf::@16/myprintf::bDigits#16, myprintf::@18/myprintf::bDigits#12 )
  [93] myprintf::bLen#32 = phi( myprintf::@16/myprintf::bLen#10, myprintf::@18/myprintf::bLen#12 )
  to:myprintf::@22
myprintf::@22: scope:[myprintf]  from myprintf::@17 myprintf::@23
  [94] myprintf::bLen#13 = phi( myprintf::@17/myprintf::bLen#32, myprintf::@23/myprintf::bLen#5 )
  [94] myprintf::digit#3 = phi( myprintf::@17/0, myprintf::@23/myprintf::digit#2 )
  [95] if(myprintf::digit#3<myprintf::b#17) goto myprintf::@23
  to:myprintf::@24
myprintf::@24: scope:[myprintf]  from myprintf::@22
  [96] if(myprintf::bTrailing#11==0) goto myprintf::@27
  to:myprintf::@46
myprintf::@46: scope:[myprintf]  from myprintf::@24
  [97] if(myprintf::bDigits#18<=myprintf::b#17) goto myprintf::@27
  to:myprintf::@25
myprintf::@25: scope:[myprintf]  from myprintf::@26 myprintf::@46
  [98] myprintf::bLen#14 = phi( myprintf::@46/myprintf::bLen#13, myprintf::@26/myprintf::bLen#6 )
  [98] myprintf::bDigits#10 = phi( myprintf::@46/myprintf::bDigits#18, myprintf::@26/myprintf::bDigits#3 )
  [99] if(myprintf::bDigits#10>myprintf::b#17) goto myprintf::@26
  to:myprintf::@27
myprintf::@26: scope:[myprintf]  from myprintf::@25
  [100] strTemp[myprintf::bLen#14] = ' '
  [101] myprintf::bLen#6 = ++ myprintf::bLen#14
  [102] myprintf::bDigits#3 = -- myprintf::bDigits#10
  to:myprintf::@25
myprintf::@23: scope:[myprintf]  from myprintf::@22
  [103] strTemp[myprintf::bLen#13] = myprintf::buf6[myprintf::digit#3]
  [104] myprintf::bLen#5 = ++ myprintf::bLen#13
  [105] myprintf::digit#2 = ++ myprintf::digit#3
  to:myprintf::@22
myprintf::@19: scope:[myprintf]  from myprintf::@18
  [106] if(myprintf::bLeadZero#11==0) goto myprintf::@20
  to:myprintf::@21
myprintf::@20: scope:[myprintf]  from myprintf::@19
  [107] phi()
  to:myprintf::@21
myprintf::@21: scope:[myprintf]  from myprintf::@19 myprintf::@20
  [108] myprintf::$41 = phi( myprintf::@20/' ', myprintf::@19/'0' )
  [109] strTemp[myprintf::bLen#12] = myprintf::$41
  [110] myprintf::bLen#4 = ++ myprintf::bLen#12
  [111] myprintf::bDigits#2 = -- myprintf::bDigits#12
  to:myprintf::@18
myprintf::@15: scope:[myprintf]  from myprintf::@14
  [112] myprintf::b#5 = ++ myprintf::b#17
  to:myprintf::@14
myprintf::@8: scope:[myprintf]  from myprintf::@7
  [113] strTemp[myprintf::bLen#10] = (char)myprintf::w#10
  [114] myprintf::bLen#1 = ++ myprintf::bLen#10
  to:myprintf::@27
myprintf::@28: scope:[myprintf]  from myprintf::@43
  [115] myprintf::bDigits#1 = myprintf::b#1 - '0'
  to:myprintf::@32
myprintf::@4: scope:[myprintf]  from myprintf::@2
  [116] if(myprintf::b#1!='%') goto myprintf::@33
  to:myprintf::@39
myprintf::@39: scope:[myprintf]  from myprintf::@4
  [117] if(myprintf::bArg#10==0) goto myprintf::@34
  to:myprintf::@40
myprintf::@40: scope:[myprintf]  from myprintf::@39
  [118] if(myprintf::bArg#10==1) goto myprintf::@35
  to:myprintf::@41
myprintf::@41: scope:[myprintf]  from myprintf::@40
  [119] myprintf::w#55 = myprintf::w3#8
  to:myprintf::@36
myprintf::@36: scope:[myprintf]  from myprintf::@34 myprintf::@35 myprintf::@41
  [120] myprintf::w#22 = phi( myprintf::@34/myprintf::w#53, myprintf::@35/myprintf::w#54, myprintf::@41/myprintf::w#55 )
  [121] myprintf::bArg#1 = ++ myprintf::bArg#10
  to:myprintf::@32
myprintf::@35: scope:[myprintf]  from myprintf::@40
  [122] myprintf::w#54 = myprintf::w2#8
  to:myprintf::@36
myprintf::@34: scope:[myprintf]  from myprintf::@39
  [123] myprintf::w#53 = myprintf::w1#7
  to:myprintf::@36
myprintf::@33: scope:[myprintf]  from myprintf::@4
  [124] if(myprintf::b#1<$41) goto myprintf::@37
  to:myprintf::@47
myprintf::@47: scope:[myprintf]  from myprintf::@33
  [125] if(myprintf::b#1>=$5a+1) goto myprintf::@37
  to:myprintf::@42
myprintf::@42: scope:[myprintf]  from myprintf::@47
  [126] myprintf::b#6 = myprintf::b#1 + $20
  to:myprintf::@37
myprintf::@37: scope:[myprintf]  from myprintf::@33 myprintf::@42 myprintf::@47
  [127] myprintf::b#25 = phi( myprintf::@33/myprintf::b#1, myprintf::@42/myprintf::b#6 )
  [128] strTemp[myprintf::bLen#10] = myprintf::b#25
  [129] myprintf::bLen#7 = ++ myprintf::bLen#10
  to:myprintf::@32

void Print()
Print: scope:[Print]  from main::@13 main::@16
  asm { ldy#0 loop: ldastrTemp,y beqdone jsr$FFD2 iny jmploop done:  }
  to:Print::@return
Print::@return: scope:[Print]  from Print
  [131] return 
  to:@return

unsigned int div10(unsigned int val)
div10: scope:[div10]  from main::@10
  [132] div10::$0 = div10::val#4 >> 1
  [133] div10::val#0 = div10::$0 + 1
  [134] div10::$2 = div10::val#0 << 1
  [135] div10::val#1 = div10::val#0 + div10::$2
  [136] div10::$3 = div10::val#1 >> 4
  [137] div10::val#2 = div10::val#1 + div10::$3
  [138] div10::$4 = div10::val#2 >> 8
  [139] div10::val#3 = div10::val#2 + div10::$4
  [140] div10::return#0 = div10::val#3 >> 4
  to:div10::@return
div10::@return: scope:[div10]  from div10
  [141] return 
  to:@return

unsigned int div16u(unsigned int dividend , unsigned int divisor)
div16u: scope:[div16u]  from main::@5
  [142] divr16u::dividend#1 = div16u::dividend#0
  [143] call divr16u
  [144] divr16u::return#2 = divr16u::return#0
  to:div16u::@1
div16u::@1: scope:[div16u]  from div16u
  [145] div16u::return#0 = divr16u::return#2
  to:div16u::@return
div16u::@return: scope:[div16u]  from div16u::@1
  [146] return 
  to:@return

void utoa(unsigned int value , char *dst)
utoa: scope:[utoa]  from myprintf::@9
  [147] phi()
  to:utoa::@13
utoa::@13: scope:[utoa]  from utoa
  [148] if(utoa::value#4>=$2710) goto utoa::@5
  to:utoa::@1
utoa::@1: scope:[utoa]  from utoa::@13 utoa::@9
  [149] utoa::dst#16 = phi( utoa::@13/myprintf::buf6, utoa::@9/++myprintf::buf6 )
  [149] utoa::value#6 = phi( utoa::@13/utoa::value#4, utoa::@9/utoa::value#0 )
  [149] utoa::bStarted#5 = phi( utoa::@13/0, utoa::@9/1 )
  [150] if(utoa::bStarted#5==1) goto utoa::@6
  to:utoa::@14
utoa::@14: scope:[utoa]  from utoa::@1
  [151] if(utoa::value#6>=$3e8) goto utoa::@6
  to:utoa::@2
utoa::@2: scope:[utoa]  from utoa::@10 utoa::@14
  [152] utoa::dst#10 = phi( utoa::@14/utoa::dst#16, utoa::@10/utoa::dst#1 )
  [152] utoa::value#11 = phi( utoa::@14/utoa::value#6, utoa::@10/utoa::value#1 )
  [152] utoa::bStarted#6 = phi( utoa::@14/utoa::bStarted#5, utoa::@10/1 )
  [153] if(utoa::bStarted#6==1) goto utoa::@7
  to:utoa::@15
utoa::@15: scope:[utoa]  from utoa::@2
  [154] if(utoa::value#11>=$64) goto utoa::@7
  to:utoa::@3
utoa::@3: scope:[utoa]  from utoa::@11 utoa::@15
  [155] utoa::dst#13 = phi( utoa::@11/utoa::dst#2, utoa::@15/utoa::dst#10 )
  [155] utoa::value#10 = phi( utoa::@11/utoa::value#2, utoa::@15/utoa::value#11 )
  [155] utoa::bStarted#7 = phi( utoa::@11/1, utoa::@15/utoa::bStarted#6 )
  [156] if(utoa::bStarted#7==1) goto utoa::@8
  to:utoa::@16
utoa::@16: scope:[utoa]  from utoa::@3
  [157] if(utoa::value#10>=$a) goto utoa::@8
  to:utoa::@4
utoa::@4: scope:[utoa]  from utoa::@12 utoa::@16
  [158] utoa::dst#12 = phi( utoa::@12/utoa::dst#4, utoa::@16/utoa::dst#13 )
  [158] utoa::value#12 = phi( utoa::@12/utoa::value#3, utoa::@16/utoa::value#10 )
  [159] utoa::$21 = (char)utoa::value#12
  [160] utoa::$16 = '0' + utoa::$21
  [161] *utoa::dst#12 = utoa::$16
  [162] utoa::dst#3 = ++ utoa::dst#12
  [163] *utoa::dst#3 = 0
  to:utoa::@return
utoa::@return: scope:[utoa]  from utoa::@4
  [164] return 
  to:@return
utoa::@8: scope:[utoa]  from utoa::@16 utoa::@3
  [165] append::dst#3 = utoa::dst#13
  [166] append::value#4 = utoa::value#10
  [167] call append
  [168] append::return#10 = append::value#5
  to:utoa::@12
utoa::@12: scope:[utoa]  from utoa::@8
  [169] utoa::value#3 = append::return#10
  [170] utoa::dst#4 = ++ utoa::dst#13
  to:utoa::@4
utoa::@7: scope:[utoa]  from utoa::@15 utoa::@2
  [171] append::dst#2 = utoa::dst#10
  [172] append::value#3 = utoa::value#11
  [173] call append
  [174] append::return#4 = append::value#5
  to:utoa::@11
utoa::@11: scope:[utoa]  from utoa::@7
  [175] utoa::value#2 = append::return#4
  [176] utoa::dst#2 = ++ utoa::dst#10
  to:utoa::@3
utoa::@6: scope:[utoa]  from utoa::@1 utoa::@14
  [177] append::dst#1 = utoa::dst#16
  [178] append::value#2 = utoa::value#6
  [179] call append
  [180] append::return#3 = append::value#5
  to:utoa::@10
utoa::@10: scope:[utoa]  from utoa::@6
  [181] utoa::value#1 = append::return#3
  [182] utoa::dst#1 = ++ utoa::dst#16
  to:utoa::@2
utoa::@5: scope:[utoa]  from utoa::@13
  [183] append::value#1 = utoa::value#4
  [184] call append
  [185] append::return#2 = append::value#5
  to:utoa::@9
utoa::@9: scope:[utoa]  from utoa::@5
  [186] utoa::value#0 = append::return#2
  to:utoa::@1

unsigned int divr16u(unsigned int dividend , unsigned int divisor , unsigned int rem)
divr16u: scope:[divr16u]  from div16u
  [187] phi()
  to:divr16u::@1
divr16u::@1: scope:[divr16u]  from divr16u divr16u::@3
  [188] divr16u::i#2 = phi( divr16u/0, divr16u::@3/divr16u::i#1 )
  [188] divr16u::quotient#3 = phi( divr16u/0, divr16u::@3/divr16u::return#0 )
  [188] divr16u::dividend#2 = phi( divr16u/divr16u::dividend#1, divr16u::@3/divr16u::dividend#0 )
  [188] divr16u::rem#4 = phi( divr16u/0, divr16u::@3/divr16u::rem#9 )
  [189] divr16u::rem#0 = divr16u::rem#4 << 1
  [190] divr16u::$1 = byte1  divr16u::dividend#2
  [191] divr16u::$2 = divr16u::$1 & $80
  [192] if(divr16u::$2==0) goto divr16u::@2
  to:divr16u::@4
divr16u::@4: scope:[divr16u]  from divr16u::@1
  [193] divr16u::rem#1 = divr16u::rem#0 | 1
  to:divr16u::@2
divr16u::@2: scope:[divr16u]  from divr16u::@1 divr16u::@4
  [194] divr16u::rem#5 = phi( divr16u::@1/divr16u::rem#0, divr16u::@4/divr16u::rem#1 )
  [195] divr16u::dividend#0 = divr16u::dividend#2 << 1
  [196] divr16u::quotient#1 = divr16u::quotient#3 << 1
  [197] if(divr16u::rem#5<div16u::divisor#0) goto divr16u::@3
  to:divr16u::@5
divr16u::@5: scope:[divr16u]  from divr16u::@2
  [198] divr16u::quotient#2 = ++ divr16u::quotient#1
  [199] divr16u::rem#2 = divr16u::rem#5 - div16u::divisor#0
  to:divr16u::@3
divr16u::@3: scope:[divr16u]  from divr16u::@2 divr16u::@5
  [200] divr16u::return#0 = phi( divr16u::@2/divr16u::quotient#1, divr16u::@5/divr16u::quotient#2 )
  [200] divr16u::rem#9 = phi( divr16u::@2/divr16u::rem#5, divr16u::@5/divr16u::rem#2 )
  [201] divr16u::i#1 = ++ divr16u::i#2
  [202] if(divr16u::i#1!=$10) goto divr16u::@1
  to:divr16u::@return
divr16u::@return: scope:[divr16u]  from divr16u::@3
  [203] return 
  to:@return

unsigned int append(char *dst , unsigned int value , unsigned int sub)
append: scope:[append]  from utoa::@5 utoa::@6 utoa::@7 utoa::@8
  [204] append::sub#6 = phi( utoa::@5/$2710, utoa::@6/$3e8, utoa::@7/$64, utoa::@8/$a )
  [204] append::value#8 = phi( utoa::@5/append::value#1, utoa::@6/append::value#2, utoa::@7/append::value#3, utoa::@8/append::value#4 )
  [204] append::dst#4 = phi( utoa::@5/myprintf::buf6, utoa::@6/append::dst#1, utoa::@7/append::dst#2, utoa::@8/append::dst#3 )
  [205] *append::dst#4 = '0'
  to:append::@1
append::@1: scope:[append]  from append append::@2
  [206] append::value#5 = phi( append/append::value#8, append::@2/append::value#0 )
  [207] if(append::value#5>=append::sub#6) goto append::@2
  to:append::@return
append::@return: scope:[append]  from append::@1
  [208] return 
  to:@return
append::@2: scope:[append]  from append::@1
  [209] *append::dst#4 = ++ *append::dst#4
  [210] append::value#0 = append::value#5 - append::sub#6
  to:append::@1
