@begin: scope:[]  from
  [0] phi()
  to:@1
@1: scope:[]  from @begin
  [1] phi()
  [2] call main 
  to:@end
@end: scope:[]  from @1
  [3] phi()
main: scope:[main]  from @1
  [4] *((const byte*) VICBANK#0) ← (byte) $17
  [5] *((const byte*) zp1#0) ← (byte) 0
  to:main::@1
main::@1: scope:[main]  from main main::@10
  [6] (word) main::u#11 ← phi( main/(word) $6e85 main::@10/(word) main::u#2 )
  [7] *((const byte*) TIMEHI#0) ← (byte) 0
  [8] *((const byte*) TIMELO#0) ← (byte) 0
  [9] *((const byte*) zp2#0) ← (byte) 0
  to:main::@2
main::@2: scope:[main]  from main::@1 main::@8
  [10] (word) div16u::dividend#0 ← (word) main::u#11
  [11] call div16u 
  [12] (word) div16u::return#2 ← (word) div16u::return#0
  to:main::@8
main::@8: scope:[main]  from main::@2
  [13] (word) main::v#1 ← (word) div16u::return#2
  [14] *((const byte*) zp2#0) ← ++ *((const byte*) zp2#0)
  [15] if(*((const byte*) zp2#0)<(byte) $c8) goto main::@2
  to:main::@3
main::@3: scope:[main]  from main::@8
  [16] (word~) main::$2 ← (word)*((const byte*) TIMEHI#0)
  [17] (word~) main::$3 ← (word~) main::$2 << (byte) 8
  [18] (word~) main::$4 ← (word)*((const byte*) TIMELO#0)
  [19] (word) myprintf::w3#0 ← (word~) main::$3 + (word~) main::$4
  [20] (word) myprintf::w1#0 ← (word) main::u#11
  [21] (word) myprintf::w2#0 ← (word) main::v#1
  [22] call myprintf 
  to:main::@9
main::@9: scope:[main]  from main::@3
  [23] phi()
  [24] call Print 
  to:main::@10
main::@10: scope:[main]  from main::@9
  [25] (word) main::u#2 ← (word) main::u#11 - (word) $4d2
  [26] *((const byte*) zp1#0) ← ++ *((const byte*) zp1#0)
  [27] if(*((const byte*) zp1#0)<(byte) $a) goto main::@1
  to:main::@4
main::@4: scope:[main]  from main::@10
  [28] *((const byte*) zp1#0) ← (byte) 0
  to:main::@5
main::@5: scope:[main]  from main::@13 main::@4
  [29] (word) main::u#15 ← phi( main::@13/(word) main::u#4 main::@4/(word) $6e85 )
  [30] *((const byte*) TIMEHI#0) ← (byte) 0
  [31] *((const byte*) TIMELO#0) ← (byte) 0
  [32] *((const byte*) zp2#0) ← (byte) 0
  to:main::@6
main::@6: scope:[main]  from main::@11 main::@5
  [33] (word) div10::val#4 ← (word) main::u#15
  [34] call div10 
  [35] (word) div10::return#2 ← (word) div10::return#0
  to:main::@11
main::@11: scope:[main]  from main::@6
  [36] (word) main::v#2 ← (word) div10::return#2
  [37] *((const byte*) zp2#0) ← ++ *((const byte*) zp2#0)
  [38] if(*((const byte*) zp2#0)<(byte) $c8) goto main::@6
  to:main::@7
main::@7: scope:[main]  from main::@11
  [39] (word~) main::$11 ← (word)*((const byte*) TIMEHI#0)
  [40] (word~) main::$12 ← (word~) main::$11 << (byte) 8
  [41] (word~) main::$13 ← (word)*((const byte*) TIMELO#0)
  [42] (word) myprintf::w3#1 ← (word~) main::$12 + (word~) main::$13
  [43] (word) myprintf::w1#1 ← (word) main::u#15
  [44] (word) myprintf::w2#1 ← (word) main::v#2
  [45] call myprintf 
  to:main::@12
main::@12: scope:[main]  from main::@7
  [46] phi()
  [47] call Print 
  to:main::@13
main::@13: scope:[main]  from main::@12
  [48] (word) main::u#4 ← (word) main::u#15 - (word) $4d2
  [49] *((const byte*) zp1#0) ← ++ *((const byte*) zp1#0)
  [50] if(*((const byte*) zp1#0)<(byte) $a) goto main::@5
  to:main::@return
main::@return: scope:[main]  from main::@13
  [51] return 
  to:@return
Print: scope:[Print]  from main::@12 main::@9
  asm { ldy#0 loop: ldastrTemp,y beqdone jsr$FFD2 iny jmploop done:  }
  to:Print::@return
Print::@return: scope:[Print]  from Print
  [53] return 
  to:@return
myprintf: scope:[myprintf]  from main::@3 main::@7
  [54] (word) myprintf::w3#7 ← phi( main::@3/(word) myprintf::w3#0 main::@7/(word) myprintf::w3#1 )
  [54] (word) myprintf::w2#7 ← phi( main::@3/(word) myprintf::w2#0 main::@7/(word) myprintf::w2#1 )
  [54] (word) myprintf::w1#6 ← phi( main::@3/(word) myprintf::w1#0 main::@7/(word) myprintf::w1#1 )
  [54] (byte*) myprintf::str#5 ← phi( main::@3/(const string) main::str main::@7/(const string) main::str1 )
  to:myprintf::@1
myprintf::@1: scope:[myprintf]  from myprintf myprintf::@27
  [55] (byte) myprintf::bLeadZero#10 ← phi( myprintf/(byte) 0 myprintf::@27/(byte) myprintf::bLeadZero#18 )
  [55] (byte) myprintf::bDigits#14 ← phi( myprintf/(byte) 0 myprintf::@27/(byte) myprintf::bDigits#24 )
  [55] (byte) myprintf::bTrailing#10 ← phi( myprintf/(byte) 0 myprintf::@27/(byte) myprintf::bTrailing#21 )
  [55] (word) myprintf::w#10 ← phi( myprintf/(word) 0 myprintf::@27/(word) myprintf::w#17 )
  [55] (byte) myprintf::bLen#14 ← phi( myprintf/(byte) 0 myprintf::@27/(byte) myprintf::return#0 )
  [55] (byte) myprintf::bArg#12 ← phi( myprintf/(byte) 0 myprintf::@27/(byte) myprintf::bArg#10 )
  [55] (byte) myprintf::bFormat#10 ← phi( myprintf/(byte) 0 myprintf::@27/(byte) myprintf::bFormat#4 )
  [55] (byte*) myprintf::str#10 ← phi( myprintf/(byte*) myprintf::str#5 myprintf::@27/(byte*) myprintf::str#0 )
  [56] (byte) myprintf::b#1 ← *((byte*) myprintf::str#10)
  [57] if((byte) myprintf::bFormat#10==(byte) 0) goto myprintf::@2
  to:myprintf::@33
myprintf::@33: scope:[myprintf]  from myprintf::@1
  [58] if((byte) myprintf::b#1!=(byte) '0') goto myprintf::@3
  to:myprintf::@27
myprintf::@27: scope:[myprintf]  from myprintf::@22 myprintf::@23 myprintf::@31 myprintf::@32 myprintf::@33 myprintf::@4
  [59] (byte) myprintf::bLeadZero#18 ← phi( myprintf::@22/(byte) myprintf::bLeadZero#10 myprintf::@23/(byte) myprintf::bLeadZero#10 myprintf::@4/(byte) myprintf::bLeadZero#10 myprintf::@31/(byte) 0 myprintf::@32/(byte) myprintf::bLeadZero#10 myprintf::@33/(byte) 1 )
  [59] (byte) myprintf::bDigits#24 ← phi( myprintf::@22/(byte) myprintf::bDigits#25 myprintf::@23/(byte) myprintf::bDigits#1 myprintf::@4/(byte) myprintf::bDigits#14 myprintf::@31/(byte) 1 myprintf::@32/(byte) myprintf::bDigits#14 myprintf::@33/(byte) myprintf::bDigits#14 )
  [59] (byte) myprintf::bTrailing#21 ← phi( myprintf::@22/(byte) myprintf::bTrailing#10 myprintf::@23/(byte) myprintf::bTrailing#10 myprintf::@4/(byte) 1 myprintf::@31/(byte) 0 myprintf::@32/(byte) myprintf::bTrailing#10 myprintf::@33/(byte) myprintf::bTrailing#10 )
  [59] (word) myprintf::w#17 ← phi( myprintf::@22/(word) myprintf::w#10 myprintf::@23/(word) myprintf::w#10 myprintf::@4/(word) myprintf::w#10 myprintf::@31/(word) myprintf::w#21 myprintf::@32/(word) myprintf::w#10 myprintf::@33/(word) myprintf::w#10 )
  [59] (byte) myprintf::bArg#10 ← phi( myprintf::@22/(byte) myprintf::bArg#12 myprintf::@23/(byte) myprintf::bArg#12 myprintf::@4/(byte) myprintf::bArg#12 myprintf::@31/(byte) myprintf::bArg#1 myprintf::@32/(byte) myprintf::bArg#12 myprintf::@33/(byte) myprintf::bArg#12 )
  [59] (byte) myprintf::return#0 ← phi( myprintf::@22/(byte) myprintf::bLen#28 myprintf::@23/(byte) myprintf::bLen#14 myprintf::@4/(byte) myprintf::bLen#14 myprintf::@31/(byte) myprintf::bLen#14 myprintf::@32/(byte) myprintf::bLen#7 myprintf::@33/(byte) myprintf::bLen#14 )
  [59] (byte) myprintf::bFormat#4 ← phi( myprintf::@22/(byte) 0 myprintf::@23/(byte) myprintf::bFormat#10 myprintf::@4/(byte) myprintf::bFormat#10 myprintf::@31/(byte) 1 myprintf::@32/(byte) myprintf::bFormat#10 myprintf::@33/(byte) myprintf::bFormat#10 )
  [60] (byte*) myprintf::str#0 ← ++ (byte*) myprintf::str#10
  [61] if(*((byte*) myprintf::str#0)!=(byte) 0) goto myprintf::@1
  to:myprintf::@38
myprintf::@38: scope:[myprintf]  from myprintf::@27
  [62] *((const byte[$64]) strTemp#0 + (byte) myprintf::return#0) ← (byte) 0
  to:myprintf::@return
myprintf::@return: scope:[myprintf]  from myprintf::@38
  [63] return 
  to:@return
myprintf::@3: scope:[myprintf]  from myprintf::@33
  [64] if((byte) myprintf::b#1<(byte) '1') goto myprintf::@4
  to:myprintf::@39
myprintf::@39: scope:[myprintf]  from myprintf::@3
  [65] if((byte) myprintf::b#1<=(byte) '9') goto myprintf::@23
  to:myprintf::@4
myprintf::@4: scope:[myprintf]  from myprintf::@3 myprintf::@39
  [66] if((byte) myprintf::b#1!=(byte) '-') goto myprintf::@5
  to:myprintf::@27
myprintf::@5: scope:[myprintf]  from myprintf::@4
  [67] if((byte) myprintf::b#1==(byte) 'c') goto myprintf::@6
  to:myprintf::@24
myprintf::@24: scope:[myprintf]  from myprintf::@5
  [68] if((byte) myprintf::b#1==(byte) 'd') goto myprintf::@7
  to:myprintf::@25
myprintf::@25: scope:[myprintf]  from myprintf::@24
  [69] if((byte) myprintf::b#1==(byte) 'x') goto myprintf::@26
  to:myprintf::@40
myprintf::@40: scope:[myprintf]  from myprintf::@25
  [70] if((byte) myprintf::b#1==(byte) 'X') goto myprintf::@26
  to:myprintf::@22
myprintf::@22: scope:[myprintf]  from myprintf::@11 myprintf::@20 myprintf::@21 myprintf::@40 myprintf::@42 myprintf::@6
  [71] (byte) myprintf::bDigits#25 ← phi( myprintf::@11/(byte) myprintf::bDigits#14 myprintf::@20/(byte) myprintf::bDigits#16 myprintf::@21/(byte) myprintf::bDigits#3 myprintf::@40/(byte) myprintf::bDigits#14 myprintf::@6/(byte) myprintf::bDigits#14 )
  [71] (byte) myprintf::bLen#28 ← phi( myprintf::@11/(byte) myprintf::bLen#3 myprintf::@20/(byte) myprintf::bLen#24 myprintf::@21/(byte) myprintf::bLen#6 myprintf::@40/(byte) myprintf::bLen#14 myprintf::@6/(byte) myprintf::bLen#1 )
  to:myprintf::@27
myprintf::@26: scope:[myprintf]  from myprintf::@25 myprintf::@40
  [72] (byte~) myprintf::$17 ← (byte)(word) myprintf::w#10
  [73] (byte~) myprintf::$18 ← (byte~) myprintf::$17 >> (byte) 4
  [74] (byte) myprintf::b#15 ← (byte~) myprintf::$18 & (byte) $f
  [75] if((byte) myprintf::b#15<(byte) $a) goto myprintf::@8
  to:myprintf::@9
myprintf::@8: scope:[myprintf]  from myprintf::@26
  [76] phi()
  to:myprintf::@9
myprintf::@9: scope:[myprintf]  from myprintf::@26 myprintf::@8
  [77] (byte~) myprintf::$23 ← phi( myprintf::@8/(byte) '0' myprintf::@26/(byte) $57 )
  [78] (byte~) myprintf::$24 ← (byte~) myprintf::$23 + (byte) myprintf::b#15
  [79] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#14) ← (byte~) myprintf::$24
  [80] (byte) myprintf::bLen#10 ← ++ (byte) myprintf::bLen#14
  [81] (byte~) myprintf::$25 ← (byte)(word) myprintf::w#10
  [82] (byte) myprintf::b#16 ← (byte~) myprintf::$25 & (byte) $f
  [83] if((byte) myprintf::b#16<(byte) $a) goto myprintf::@10
  to:myprintf::@11
myprintf::@10: scope:[myprintf]  from myprintf::@9
  [84] phi()
  to:myprintf::@11
myprintf::@11: scope:[myprintf]  from myprintf::@10 myprintf::@9
  [85] (byte~) myprintf::$30 ← phi( myprintf::@10/(byte) '0' myprintf::@9/(byte) $57 )
  [86] (byte~) myprintf::$31 ← (byte~) myprintf::$30 + (byte) myprintf::b#16
  [87] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#10) ← (byte~) myprintf::$31
  [88] (byte) myprintf::bLen#3 ← ++ (byte) myprintf::bLen#10
  to:myprintf::@22
myprintf::@7: scope:[myprintf]  from myprintf::@24
  [89] (word) utoa::value#4 ← (word) myprintf::w#10
  [90] call utoa 
  to:myprintf::@12
myprintf::@12: scope:[myprintf]  from myprintf::@13 myprintf::@7
  [91] (byte) myprintf::b#17 ← phi( myprintf::@13/(byte) myprintf::b#5 myprintf::@7/(byte) 1 )
  [92] if(*((const byte[6]) myprintf::buf6#0 + (byte) myprintf::b#17)!=(byte) 0) goto myprintf::@13
  to:myprintf::@14
myprintf::@14: scope:[myprintf]  from myprintf::@12
  [93] if((byte) myprintf::bTrailing#10!=(byte) 0) goto myprintf::@15
  to:myprintf::@41
myprintf::@41: scope:[myprintf]  from myprintf::@14
  [94] if((byte) myprintf::bDigits#14>(byte) myprintf::b#17) goto myprintf::@16
  to:myprintf::@15
myprintf::@15: scope:[myprintf]  from myprintf::@14 myprintf::@18 myprintf::@41
  [95] (byte) myprintf::bDigits#16 ← phi( myprintf::@14/(byte) myprintf::bDigits#14 myprintf::@18/(byte) myprintf::bDigits#2 )
  [95] (byte) myprintf::bLen#23 ← phi( myprintf::@14/(byte) myprintf::bLen#14 myprintf::@18/(byte) myprintf::bLen#4 )
  to:myprintf::@19
myprintf::@19: scope:[myprintf]  from myprintf::@15 myprintf::@19
  [96] (byte) myprintf::bLen#12 ← phi( myprintf::@15/(byte) myprintf::bLen#23 myprintf::@19/(byte) myprintf::bLen#24 )
  [96] (byte) myprintf::digit#3 ← phi( myprintf::@15/(byte) 0 myprintf::@19/(byte) myprintf::digit#2 )
  [97] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#12) ← *((const byte[6]) myprintf::buf6#0 + (byte) myprintf::digit#3)
  [98] (byte) myprintf::bLen#24 ← ++ (byte) myprintf::bLen#12
  [99] (byte) myprintf::digit#2 ← ++ (byte) myprintf::digit#3
  [100] if((byte) myprintf::digit#2<(byte) myprintf::b#17) goto myprintf::@19
  to:myprintf::@20
myprintf::@20: scope:[myprintf]  from myprintf::@19
  [101] if((byte) myprintf::bTrailing#10==(byte) 0) goto myprintf::@22
  to:myprintf::@42
myprintf::@42: scope:[myprintf]  from myprintf::@20
  [102] if((byte) myprintf::bDigits#16<=(byte) myprintf::b#17) goto myprintf::@22
  to:myprintf::@21
myprintf::@21: scope:[myprintf]  from myprintf::@21 myprintf::@42
  [103] (byte) myprintf::bDigits#8 ← phi( myprintf::@42/(byte) myprintf::bDigits#16 myprintf::@21/(byte) myprintf::bDigits#3 )
  [103] (byte) myprintf::bLen#13 ← phi( myprintf::@42/(byte) myprintf::bLen#24 myprintf::@21/(byte) myprintf::bLen#6 )
  [104] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#13) ← (byte) ' '
  [105] (byte) myprintf::bLen#6 ← ++ (byte) myprintf::bLen#13
  [106] (byte) myprintf::bDigits#3 ← -- (byte) myprintf::bDigits#8
  [107] if((byte) myprintf::bDigits#3>(byte) myprintf::b#17) goto myprintf::@21
  to:myprintf::@22
myprintf::@16: scope:[myprintf]  from myprintf::@18 myprintf::@41
  [108] (byte) myprintf::bDigits#10 ← phi( myprintf::@41/(byte) myprintf::bDigits#14 myprintf::@18/(byte) myprintf::bDigits#2 )
  [108] (byte) myprintf::bLen#11 ← phi( myprintf::@41/(byte) myprintf::bLen#14 myprintf::@18/(byte) myprintf::bLen#4 )
  [109] if((byte) myprintf::bLeadZero#10==(byte) 0) goto myprintf::@17
  to:myprintf::@18
myprintf::@17: scope:[myprintf]  from myprintf::@16
  [110] phi()
  to:myprintf::@18
myprintf::@18: scope:[myprintf]  from myprintf::@16 myprintf::@17
  [111] (byte~) myprintf::$41 ← phi( myprintf::@17/(byte) ' ' myprintf::@16/(byte) '0' )
  [112] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#11) ← (byte~) myprintf::$41
  [113] (byte) myprintf::bLen#4 ← ++ (byte) myprintf::bLen#11
  [114] (byte) myprintf::bDigits#2 ← -- (byte) myprintf::bDigits#10
  [115] if((byte) myprintf::bDigits#2>(byte) myprintf::b#17) goto myprintf::@16
  to:myprintf::@15
myprintf::@13: scope:[myprintf]  from myprintf::@12
  [116] (byte) myprintf::b#5 ← ++ (byte) myprintf::b#17
  to:myprintf::@12
myprintf::@6: scope:[myprintf]  from myprintf::@5
  [117] (byte~) myprintf::$49 ← (byte)(word) myprintf::w#10
  [118] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#14) ← (byte~) myprintf::$49
  [119] (byte) myprintf::bLen#1 ← ++ (byte) myprintf::bLen#14
  to:myprintf::@22
myprintf::@23: scope:[myprintf]  from myprintf::@39
  [120] (byte) myprintf::bDigits#1 ← (byte) myprintf::b#1 - (byte) '0'
  to:myprintf::@27
myprintf::@2: scope:[myprintf]  from myprintf::@1
  [121] if((byte) myprintf::b#1!=(byte) '%') goto myprintf::@28
  to:myprintf::@34
myprintf::@34: scope:[myprintf]  from myprintf::@2
  [122] if((byte) myprintf::bArg#12==(byte) 0) goto myprintf::@29
  to:myprintf::@35
myprintf::@35: scope:[myprintf]  from myprintf::@34
  [123] if((byte) myprintf::bArg#12==(byte) 1) goto myprintf::@30
  to:myprintf::@36
myprintf::@36: scope:[myprintf]  from myprintf::@35
  [124] (word~) myprintf::w#51 ← (word) myprintf::w3#7
  to:myprintf::@31
myprintf::@31: scope:[myprintf]  from myprintf::@29 myprintf::@30 myprintf::@36
  [125] (word) myprintf::w#21 ← phi( myprintf::@29/(word~) myprintf::w#49 myprintf::@30/(word~) myprintf::w#50 myprintf::@36/(word~) myprintf::w#51 )
  [126] (byte) myprintf::bArg#1 ← ++ (byte) myprintf::bArg#12
  to:myprintf::@27
myprintf::@30: scope:[myprintf]  from myprintf::@35
  [127] (word~) myprintf::w#50 ← (word) myprintf::w2#7
  to:myprintf::@31
myprintf::@29: scope:[myprintf]  from myprintf::@34
  [128] (word~) myprintf::w#49 ← (word) myprintf::w1#6
  to:myprintf::@31
myprintf::@28: scope:[myprintf]  from myprintf::@2
  [129] if((byte) myprintf::b#1<(byte) $41) goto myprintf::@32
  to:myprintf::@43
myprintf::@43: scope:[myprintf]  from myprintf::@28
  [130] if((byte) myprintf::b#1>=(byte) $5a+(byte) 1) goto myprintf::@32
  to:myprintf::@37
myprintf::@37: scope:[myprintf]  from myprintf::@43
  [131] (byte) myprintf::b#6 ← (byte) myprintf::b#1 + (byte) $20
  to:myprintf::@32
myprintf::@32: scope:[myprintf]  from myprintf::@28 myprintf::@37 myprintf::@43
  [132] (byte) myprintf::b#25 ← phi( myprintf::@28/(byte) myprintf::b#1 myprintf::@37/(byte) myprintf::b#6 )
  [133] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#14) ← (byte) myprintf::b#25
  [134] (byte) myprintf::bLen#7 ← ++ (byte) myprintf::bLen#14
  to:myprintf::@27
utoa: scope:[utoa]  from myprintf::@7
  [135] phi()
  to:utoa::@13
utoa::@13: scope:[utoa]  from utoa
  [136] if((word) utoa::value#4>=(word) $2710) goto utoa::@5
  to:utoa::@1
utoa::@1: scope:[utoa]  from utoa::@13 utoa::@9
  [137] (byte*) utoa::dst#16 ← phi( utoa::@13/(const byte[6]) myprintf::buf6#0 utoa::@9/++(const byte[6]) myprintf::buf6#0 )
  [137] (word) utoa::value#6 ← phi( utoa::@13/(word) utoa::value#4 utoa::@9/(word) utoa::value#0 )
  [137] (byte) utoa::bStarted#5 ← phi( utoa::@13/(byte) 0 utoa::@9/(byte) 1 )
  [138] if((byte) utoa::bStarted#5==(byte) 1) goto utoa::@6
  to:utoa::@14
utoa::@14: scope:[utoa]  from utoa::@1
  [139] if((word) utoa::value#6>=(word) $3e8) goto utoa::@6
  to:utoa::@2
utoa::@2: scope:[utoa]  from utoa::@10 utoa::@14
  [140] (byte*) utoa::dst#10 ← phi( utoa::@14/(byte*) utoa::dst#16 utoa::@10/(byte*) utoa::dst#1 )
  [140] (word) utoa::value#11 ← phi( utoa::@14/(word) utoa::value#6 utoa::@10/(word) utoa::value#1 )
  [140] (byte) utoa::bStarted#6 ← phi( utoa::@14/(byte) utoa::bStarted#5 utoa::@10/(byte) 1 )
  [141] if((byte) utoa::bStarted#6==(byte) 1) goto utoa::@7
  to:utoa::@15
utoa::@15: scope:[utoa]  from utoa::@2
  [142] if((word) utoa::value#11>=(byte) $64) goto utoa::@7
  to:utoa::@3
utoa::@3: scope:[utoa]  from utoa::@11 utoa::@15
  [143] (byte*) utoa::dst#13 ← phi( utoa::@11/(byte*) utoa::dst#2 utoa::@15/(byte*) utoa::dst#10 )
  [143] (word) utoa::value#10 ← phi( utoa::@11/(word) utoa::value#2 utoa::@15/(word) utoa::value#11 )
  [143] (byte) utoa::bStarted#7 ← phi( utoa::@11/(byte) 1 utoa::@15/(byte) utoa::bStarted#6 )
  [144] if((byte) utoa::bStarted#7==(byte) 1) goto utoa::@8
  to:utoa::@16
utoa::@16: scope:[utoa]  from utoa::@3
  [145] if((word) utoa::value#10>=(byte) $a) goto utoa::@8
  to:utoa::@4
utoa::@4: scope:[utoa]  from utoa::@12 utoa::@16
  [146] (byte*) utoa::dst#12 ← phi( utoa::@12/(byte*) utoa::dst#4 utoa::@16/(byte*) utoa::dst#13 )
  [146] (word) utoa::value#12 ← phi( utoa::@12/(word) utoa::value#3 utoa::@16/(word) utoa::value#10 )
  [147] (byte~) utoa::$16 ← (byte)(word) utoa::value#12
  [148] (byte~) utoa::$17 ← (byte) '0' + (byte~) utoa::$16
  [149] *((byte*) utoa::dst#12) ← (byte~) utoa::$17
  [150] (byte*) utoa::dst#3 ← ++ (byte*) utoa::dst#12
  [151] *((byte*) utoa::dst#3) ← (byte) 0
  to:utoa::@return
utoa::@return: scope:[utoa]  from utoa::@4
  [152] return 
  to:@return
utoa::@8: scope:[utoa]  from utoa::@16 utoa::@3
  [153] (byte*) append::dst#3 ← (byte*) utoa::dst#13
  [154] (word) append::value#4 ← (word) utoa::value#10
  [155] call append 
  [156] (word) append::return#10 ← (word) append::value#5
  to:utoa::@12
utoa::@12: scope:[utoa]  from utoa::@8
  [157] (word) utoa::value#3 ← (word) append::return#10
  [158] (byte*) utoa::dst#4 ← ++ (byte*) utoa::dst#13
  to:utoa::@4
utoa::@7: scope:[utoa]  from utoa::@15 utoa::@2
  [159] (byte*) append::dst#2 ← (byte*) utoa::dst#10
  [160] (word) append::value#3 ← (word) utoa::value#11
  [161] call append 
  [162] (word) append::return#4 ← (word) append::value#5
  to:utoa::@11
utoa::@11: scope:[utoa]  from utoa::@7
  [163] (word) utoa::value#2 ← (word) append::return#4
  [164] (byte*) utoa::dst#2 ← ++ (byte*) utoa::dst#10
  to:utoa::@3
utoa::@6: scope:[utoa]  from utoa::@1 utoa::@14
  [165] (byte*) append::dst#1 ← (byte*) utoa::dst#16
  [166] (word) append::value#2 ← (word) utoa::value#6
  [167] call append 
  [168] (word) append::return#3 ← (word) append::value#5
  to:utoa::@10
utoa::@10: scope:[utoa]  from utoa::@6
  [169] (word) utoa::value#1 ← (word) append::return#3
  [170] (byte*) utoa::dst#1 ← ++ (byte*) utoa::dst#16
  to:utoa::@2
utoa::@5: scope:[utoa]  from utoa::@13
  [171] (word) append::value#1 ← (word) utoa::value#4
  [172] call append 
  [173] (word) append::return#2 ← (word) append::value#5
  to:utoa::@9
utoa::@9: scope:[utoa]  from utoa::@5
  [174] (word) utoa::value#0 ← (word) append::return#2
  to:utoa::@1
append: scope:[append]  from utoa::@5 utoa::@6 utoa::@7 utoa::@8
  [175] (word) append::sub#6 ← phi( utoa::@5/(word) $2710 utoa::@6/(word) $3e8 utoa::@7/(byte) $64 utoa::@8/(byte) $a )
  [175] (word) append::value#8 ← phi( utoa::@5/(word) append::value#1 utoa::@6/(word) append::value#2 utoa::@7/(word) append::value#3 utoa::@8/(word) append::value#4 )
  [175] (byte*) append::dst#4 ← phi( utoa::@5/(const byte[6]) myprintf::buf6#0 utoa::@6/(byte*) append::dst#1 utoa::@7/(byte*) append::dst#2 utoa::@8/(byte*) append::dst#3 )
  [176] *((byte*) append::dst#4) ← (byte) '0'
  to:append::@1
append::@1: scope:[append]  from append append::@2
  [177] (word) append::value#5 ← phi( append/(word) append::value#8 append::@2/(word) append::value#0 )
  [178] if((word) append::value#5>=(word) append::sub#6) goto append::@2
  to:append::@return
append::@return: scope:[append]  from append::@1
  [179] return 
  to:@return
append::@2: scope:[append]  from append::@1
  [180] *((byte*) append::dst#4) ← ++ *((byte*) append::dst#4)
  [181] (word) append::value#0 ← (word) append::value#5 - (word) append::sub#6
  to:append::@1
div10: scope:[div10]  from main::@6
  [182] (word~) div10::$0 ← (word) div10::val#4 >> (byte) 1
  [183] (word) div10::val#0 ← (word~) div10::$0 + (byte) 1
  [184] (word~) div10::$2 ← (word) div10::val#0 << (byte) 1
  [185] (word) div10::val#1 ← (word) div10::val#0 + (word~) div10::$2
  [186] (word~) div10::$3 ← (word) div10::val#1 >> (byte) 4
  [187] (word) div10::val#2 ← (word) div10::val#1 + (word~) div10::$3
  [188] (word~) div10::$4 ← (word) div10::val#2 >> (byte) 8
  [189] (word) div10::val#3 ← (word) div10::val#2 + (word~) div10::$4
  [190] (word) div10::return#0 ← (word) div10::val#3 >> (byte) 4
  to:div10::@return
div10::@return: scope:[div10]  from div10
  [191] return 
  to:@return
div16u: scope:[div16u]  from main::@2
  [192] (word) divr16u::dividend#1 ← (word) div16u::dividend#0
  [193] call divr16u 
  [194] (word) divr16u::return#2 ← (word) divr16u::return#0
  to:div16u::@1
div16u::@1: scope:[div16u]  from div16u
  [195] (word) div16u::return#0 ← (word) divr16u::return#2
  to:div16u::@return
div16u::@return: scope:[div16u]  from div16u::@1
  [196] return 
  to:@return
divr16u: scope:[divr16u]  from div16u
  [197] phi()
  to:divr16u::@1
divr16u::@1: scope:[divr16u]  from divr16u divr16u::@3
  [198] (byte) divr16u::i#2 ← phi( divr16u/(byte) 0 divr16u::@3/(byte) divr16u::i#1 )
  [198] (word) divr16u::quotient#3 ← phi( divr16u/(byte) 0 divr16u::@3/(word) divr16u::return#0 )
  [198] (word) divr16u::dividend#2 ← phi( divr16u/(word) divr16u::dividend#1 divr16u::@3/(word) divr16u::dividend#0 )
  [198] (word) divr16u::rem#4 ← phi( divr16u/(byte) 0 divr16u::@3/(word) divr16u::rem#9 )
  [199] (word) divr16u::rem#0 ← (word) divr16u::rem#4 << (byte) 1
  [200] (byte~) divr16u::$1 ← > (word) divr16u::dividend#2
  [201] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte) $80
  [202] if((byte~) divr16u::$2==(byte) 0) goto divr16u::@2
  to:divr16u::@4
divr16u::@4: scope:[divr16u]  from divr16u::@1
  [203] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte) 1
  to:divr16u::@2
divr16u::@2: scope:[divr16u]  from divr16u::@1 divr16u::@4
  [204] (word) divr16u::rem#5 ← phi( divr16u::@1/(word) divr16u::rem#0 divr16u::@4/(word) divr16u::rem#1 )
  [205] (word) divr16u::dividend#0 ← (word) divr16u::dividend#2 << (byte) 1
  [206] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte) 1
  [207] if((word) divr16u::rem#5<(const word) div16u::divisor#0) goto divr16u::@3
  to:divr16u::@5
divr16u::@5: scope:[divr16u]  from divr16u::@2
  [208] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1
  [209] (word) divr16u::rem#2 ← (word) divr16u::rem#5 - (const word) div16u::divisor#0
  to:divr16u::@3
divr16u::@3: scope:[divr16u]  from divr16u::@2 divr16u::@5
  [210] (word) divr16u::return#0 ← phi( divr16u::@2/(word) divr16u::quotient#1 divr16u::@5/(word) divr16u::quotient#2 )
  [210] (word) divr16u::rem#9 ← phi( divr16u::@2/(word) divr16u::rem#5 divr16u::@5/(word) divr16u::rem#2 )
  [211] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2
  [212] if((byte) divr16u::i#1!=(byte) $10) goto divr16u::@1
  to:divr16u::@return
divr16u::@return: scope:[divr16u]  from divr16u::@3
  [213] return 
  to:@return
