Culled Empty Block (label) @1
Culled Empty Block (label) @2
Culled Empty Block (label) divr16u::@7
Culled Empty Block (label) @3
Culled Empty Block (label) div16u::@1
Culled Empty Block (label) @4
Culled Empty Block (label) @5
Culled Empty Block (label) @6
Culled Empty Block (label) @7
Culled Empty Block (label) append::@4
Culled Empty Block (label) append::@5
Culled Empty Block (label) append::@6
Culled Empty Block (label) append::@7
Culled Empty Block (label) @9
Culled Empty Block (label) @10
Culled Empty Block (label) myprintf::@63
Culled Empty Block (label) myprintf::@42
Culled Empty Block (label) myprintf::@44
Culled Empty Block (label) myprintf::@8
Culled Empty Block (label) myprintf::@48
Culled Empty Block (label) myprintf::@15
Culled Empty Block (label) myprintf::@16
Culled Empty Block (label) myprintf::@17
Culled Empty Block (label) myprintf::@18
Culled Empty Block (label) myprintf::@49
Culled Empty Block (label) myprintf::@22
Culled Empty Block (label) myprintf::@23
Culled Empty Block (label) myprintf::@24
Culled Empty Block (label) myprintf::@25
Culled Empty Block (label) myprintf::@31
Culled Empty Block (label) myprintf::@32
Culled Empty Block (label) myprintf::@33
Culled Empty Block (label) myprintf::@37
Culled Empty Block (label) myprintf::@36
Culled Empty Block (label) myprintf::@39
Culled Empty Block (label) myprintf::@50
Culled Empty Block (label) myprintf::@51
Culled Empty Block (label) myprintf::@56
Culled Empty Block (label) myprintf::@67
Culled Empty Block (label) myprintf::@58
Culled Empty Block (label) myprintf::@59
Culled Empty Block (label) myprintf::@70
Culled Empty Block (label) @11
Culled Empty Block (label) @12
Culled Empty Block (label) div10::@1
Culled Empty Block (label) @13
Culled Empty Block (label) main::@9

CONTROL FLOW GRAPH SSA
@begin: scope:[]  from
  to:@8
divr16u: scope:[divr16u]  from div16u
  (word) divr16u::divisor#5 ← phi( div16u/(word) divr16u::divisor#0 )
  (word) divr16u::dividend#4 ← phi( div16u/(word) divr16u::dividend#1 )
  (word) divr16u::rem#8 ← phi( div16u/(word) divr16u::rem#3 )
  (word) divr16u::quotient#0 ← (number) 0
  (byte) divr16u::i#0 ← (byte) 0
  to:divr16u::@1
divr16u::@1: scope:[divr16u]  from divr16u divr16u::@3
  (byte) divr16u::i#5 ← phi( divr16u/(byte) divr16u::i#0 divr16u::@3/(byte) divr16u::i#1 )
  (word) divr16u::divisor#3 ← phi( divr16u/(word) divr16u::divisor#5 divr16u::@3/(word) divr16u::divisor#6 )
  (word) divr16u::quotient#6 ← phi( divr16u/(word) divr16u::quotient#0 divr16u::@3/(word) divr16u::quotient#8 )
  (word) divr16u::dividend#2 ← phi( divr16u/(word) divr16u::dividend#4 divr16u::@3/(word) divr16u::dividend#5 )
  (word) divr16u::rem#4 ← phi( divr16u/(word) divr16u::rem#8 divr16u::@3/(word) divr16u::rem#9 )
  (word~) divr16u::$0 ← (word) divr16u::rem#4 << (number) 1
  (word) divr16u::rem#0 ← (word~) divr16u::$0
  (byte~) divr16u::$1 ← > (word) divr16u::dividend#2
  (number~) divr16u::$2 ← (byte~) divr16u::$1 & (number) $80
  (bool~) divr16u::$3 ← (number~) divr16u::$2 != (number) 0
  (bool~) divr16u::$4 ← ! (bool~) divr16u::$3
  if((bool~) divr16u::$4) goto divr16u::@2
  to:divr16u::@4
divr16u::@2: scope:[divr16u]  from divr16u::@1 divr16u::@4
  (byte) divr16u::i#3 ← phi( divr16u::@1/(byte) divr16u::i#5 divr16u::@4/(byte) divr16u::i#6 )
  (word) divr16u::divisor#1 ← phi( divr16u::@1/(word) divr16u::divisor#3 divr16u::@4/(word) divr16u::divisor#4 )
  (word) divr16u::rem#5 ← phi( divr16u::@1/(word) divr16u::rem#0 divr16u::@4/(word) divr16u::rem#1 )
  (word) divr16u::quotient#3 ← phi( divr16u::@1/(word) divr16u::quotient#6 divr16u::@4/(word) divr16u::quotient#7 )
  (word) divr16u::dividend#3 ← phi( divr16u::@1/(word) divr16u::dividend#2 divr16u::@4/(word) divr16u::dividend#6 )
  (word~) divr16u::$6 ← (word) divr16u::dividend#3 << (number) 1
  (word) divr16u::dividend#0 ← (word~) divr16u::$6
  (word~) divr16u::$7 ← (word) divr16u::quotient#3 << (number) 1
  (word) divr16u::quotient#1 ← (word~) divr16u::$7
  (bool~) divr16u::$8 ← (word) divr16u::rem#5 >= (word) divr16u::divisor#1
  (bool~) divr16u::$9 ← ! (bool~) divr16u::$8
  if((bool~) divr16u::$9) goto divr16u::@3
  to:divr16u::@5
divr16u::@4: scope:[divr16u]  from divr16u::@1
  (byte) divr16u::i#6 ← phi( divr16u::@1/(byte) divr16u::i#5 )
  (word) divr16u::divisor#4 ← phi( divr16u::@1/(word) divr16u::divisor#3 )
  (word) divr16u::quotient#7 ← phi( divr16u::@1/(word) divr16u::quotient#6 )
  (word) divr16u::dividend#6 ← phi( divr16u::@1/(word) divr16u::dividend#2 )
  (word) divr16u::rem#6 ← phi( divr16u::@1/(word) divr16u::rem#0 )
  (number~) divr16u::$5 ← (word) divr16u::rem#6 | (number) 1
  (word) divr16u::rem#1 ← (number~) divr16u::$5
  to:divr16u::@2
divr16u::@3: scope:[divr16u]  from divr16u::@2 divr16u::@5
  (word) divr16u::divisor#6 ← phi( divr16u::@2/(word) divr16u::divisor#1 divr16u::@5/(word) divr16u::divisor#2 )
  (word) divr16u::quotient#8 ← phi( divr16u::@2/(word) divr16u::quotient#1 divr16u::@5/(word) divr16u::quotient#2 )
  (word) divr16u::dividend#5 ← phi( divr16u::@2/(word) divr16u::dividend#0 divr16u::@5/(word) divr16u::dividend#7 )
  (word) divr16u::rem#9 ← phi( divr16u::@2/(word) divr16u::rem#5 divr16u::@5/(word) divr16u::rem#2 )
  (byte) divr16u::i#2 ← phi( divr16u::@2/(byte) divr16u::i#3 divr16u::@5/(byte) divr16u::i#4 )
  (byte) divr16u::i#1 ← (byte) divr16u::i#2 + rangenext(0,$f)
  (bool~) divr16u::$11 ← (byte) divr16u::i#1 != rangelast(0,$f)
  if((bool~) divr16u::$11) goto divr16u::@1
  to:divr16u::@6
divr16u::@5: scope:[divr16u]  from divr16u::@2
  (word) divr16u::dividend#7 ← phi( divr16u::@2/(word) divr16u::dividend#0 )
  (byte) divr16u::i#4 ← phi( divr16u::@2/(byte) divr16u::i#3 )
  (word) divr16u::divisor#2 ← phi( divr16u::@2/(word) divr16u::divisor#1 )
  (word) divr16u::rem#7 ← phi( divr16u::@2/(word) divr16u::rem#5 )
  (word) divr16u::quotient#4 ← phi( divr16u::@2/(word) divr16u::quotient#1 )
  (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#4
  (word~) divr16u::$10 ← (word) divr16u::rem#7 - (word) divr16u::divisor#2
  (word) divr16u::rem#2 ← (word~) divr16u::$10
  to:divr16u::@3
divr16u::@6: scope:[divr16u]  from divr16u::@3
  (word) divr16u::quotient#5 ← phi( divr16u::@3/(word) divr16u::quotient#8 )
  (word) divr16u::return#0 ← (word) divr16u::quotient#5
  to:divr16u::@return
divr16u::@return: scope:[divr16u]  from divr16u::@6
  (word) divr16u::return#3 ← phi( divr16u::@6/(word) divr16u::return#0 )
  (word) divr16u::return#1 ← (word) divr16u::return#3
  return 
  to:@return
div16u: scope:[div16u]  from main::@2
  (word) div16u::divisor#1 ← phi( main::@2/(word) div16u::divisor#0 )
  (word) div16u::dividend#1 ← phi( main::@2/(word) div16u::dividend#0 )
  (word) divr16u::dividend#1 ← (word) div16u::dividend#1
  (word) divr16u::divisor#0 ← (word) div16u::divisor#1
  (word) divr16u::rem#3 ← (number) 0
  call divr16u 
  (word) divr16u::return#2 ← (word) divr16u::return#1
  to:div16u::@2
div16u::@2: scope:[div16u]  from div16u
  (word) divr16u::return#4 ← phi( div16u/(word) divr16u::return#2 )
  (word~) div16u::$0 ← (word) divr16u::return#4
  (word) div16u::return#0 ← (word~) div16u::$0
  to:div16u::@return
div16u::@return: scope:[div16u]  from div16u::@2
  (word) div16u::return#3 ← phi( div16u::@2/(word) div16u::return#0 )
  (word) div16u::return#1 ← (word) div16u::return#3
  return 
  to:@return
@8: scope:[]  from @begin
  (byte*) zp1#0 ← ((byte*)) (number) $61
  (byte*) zp2#0 ← ((byte*)) (number) $62
  (byte*) TIMEHI#0 ← ((byte*)) (number) $a1
  (byte*) TIMELO#0 ← ((byte*)) (number) $a2
  (byte*) VICBANK#0 ← ((byte*)) (number) $d018
  (byte[$64]) strTemp#0 ← { fill( $64, 0) }
  to:@14
append: scope:[append]  from utoa::@5 utoa::@6 utoa::@7 utoa::@8
  (word) append::sub#6 ← phi( utoa::@5/(word) append::sub#0 utoa::@6/(word) append::sub#1 utoa::@7/(word) append::sub#2 utoa::@8/(word) append::sub#3 )
  (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 )
  (byte*) append::dst#4 ← phi( utoa::@5/(byte*) append::dst#0 utoa::@6/(byte*) append::dst#1 utoa::@7/(byte*) append::dst#2 utoa::@8/(byte*) append::dst#3 )
  *((byte*) append::dst#4) ← (byte) '0'
  to:append::@1
append::@1: scope:[append]  from append append::@2
  (byte*) append::dst#6 ← phi( append/(byte*) append::dst#4 append::@2/(byte*) append::dst#5 )
  (word) append::sub#4 ← phi( append/(word) append::sub#6 append::@2/(word) append::sub#5 )
  (word) append::value#5 ← phi( append/(word) append::value#8 append::@2/(word) append::value#0 )
  (bool~) append::$0 ← (word) append::value#5 >= (word) append::sub#4
  if((bool~) append::$0) goto append::@2
  to:append::@3
append::@2: scope:[append]  from append::@1
  (word) append::sub#5 ← phi( append::@1/(word) append::sub#4 )
  (word) append::value#6 ← phi( append::@1/(word) append::value#5 )
  (byte*) append::dst#5 ← phi( append::@1/(byte*) append::dst#6 )
  *((byte*) append::dst#5) ← ++ *((byte*) append::dst#5)
  (word) append::value#0 ← (word) append::value#6 - (word) append::sub#5
  to:append::@1
append::@3: scope:[append]  from append::@1
  (word) append::value#7 ← phi( append::@1/(word) append::value#5 )
  (word) append::return#0 ← (word) append::value#7
  to:append::@return
append::@return: scope:[append]  from append::@3
  (word) append::return#6 ← phi( append::@3/(word) append::return#0 )
  (word) append::return#1 ← (word) append::return#6
  return 
  to:@return
utoa: scope:[utoa]  from myprintf::@7
  (byte*) utoa::dst#15 ← phi( myprintf::@7/(byte*) utoa::dst#5 )
  (word) utoa::value#5 ← phi( myprintf::@7/(word) utoa::value#4 )
  (byte) utoa::bStarted#0 ← (number) 0
  (bool~) utoa::$0 ← (byte) utoa::bStarted#0 == (number) 1
  (bool~) utoa::$1 ← (word) utoa::value#5 >= (number) $2710
  (bool~) utoa::$2 ← (bool~) utoa::$0 || (bool~) utoa::$1
  (bool~) utoa::$3 ← ! (bool~) utoa::$2
  if((bool~) utoa::$3) goto utoa::@1
  to:utoa::@5
utoa::@1: scope:[utoa]  from utoa utoa::@9
  (byte*) utoa::dst#16 ← phi( utoa/(byte*) utoa::dst#15 utoa::@9/(byte*) utoa::dst#0 )
  (word) utoa::value#6 ← phi( utoa/(word) utoa::value#5 utoa::@9/(word) utoa::value#0 )
  (byte) utoa::bStarted#5 ← phi( utoa/(byte) utoa::bStarted#0 utoa::@9/(byte) utoa::bStarted#1 )
  (bool~) utoa::$4 ← (byte) utoa::bStarted#5 == (number) 1
  (bool~) utoa::$5 ← (word) utoa::value#6 >= (number) $3e8
  (bool~) utoa::$6 ← (bool~) utoa::$4 || (bool~) utoa::$5
  (bool~) utoa::$7 ← ! (bool~) utoa::$6
  if((bool~) utoa::$7) goto utoa::@2
  to:utoa::@6
utoa::@5: scope:[utoa]  from utoa
  (word) utoa::value#7 ← phi( utoa/(word) utoa::value#5 )
  (byte*) utoa::dst#6 ← phi( utoa/(byte*) utoa::dst#15 )
  (byte*) append::dst#0 ← (byte*) utoa::dst#6
  (word) append::value#1 ← (word) utoa::value#7
  (word) append::sub#0 ← (number) $2710
  call append 
  (word) append::return#2 ← (word) append::return#1
  to:utoa::@9
utoa::@9: scope:[utoa]  from utoa::@5
  (byte*) utoa::dst#7 ← phi( utoa::@5/(byte*) utoa::dst#6 )
  (word) append::return#7 ← phi( utoa::@5/(word) append::return#2 )
  (word~) utoa::$18 ← (word) append::return#7
  (word) utoa::value#0 ← (word~) utoa::$18
  (byte*) utoa::dst#0 ← ++ (byte*) utoa::dst#7
  (byte) utoa::bStarted#1 ← (number) 1
  to:utoa::@1
utoa::@2: scope:[utoa]  from utoa::@1 utoa::@10
  (byte*) utoa::dst#17 ← phi( utoa::@1/(byte*) utoa::dst#16 utoa::@10/(byte*) utoa::dst#1 )
  (word) utoa::value#8 ← phi( utoa::@1/(word) utoa::value#6 utoa::@10/(word) utoa::value#1 )
  (byte) utoa::bStarted#6 ← phi( utoa::@1/(byte) utoa::bStarted#5 utoa::@10/(byte) utoa::bStarted#2 )
  (bool~) utoa::$8 ← (byte) utoa::bStarted#6 == (number) 1
  (bool~) utoa::$9 ← (word) utoa::value#8 >= (number) $64
  (bool~) utoa::$10 ← (bool~) utoa::$8 || (bool~) utoa::$9
  (bool~) utoa::$11 ← ! (bool~) utoa::$10
  if((bool~) utoa::$11) goto utoa::@3
  to:utoa::@7
utoa::@6: scope:[utoa]  from utoa::@1
  (word) utoa::value#9 ← phi( utoa::@1/(word) utoa::value#6 )
  (byte*) utoa::dst#8 ← phi( utoa::@1/(byte*) utoa::dst#16 )
  (byte*) append::dst#1 ← (byte*) utoa::dst#8
  (word) append::value#2 ← (word) utoa::value#9
  (word) append::sub#1 ← (number) $3e8
  call append 
  (word) append::return#3 ← (word) append::return#1
  to:utoa::@10
utoa::@10: scope:[utoa]  from utoa::@6
  (byte*) utoa::dst#9 ← phi( utoa::@6/(byte*) utoa::dst#8 )
  (word) append::return#8 ← phi( utoa::@6/(word) append::return#3 )
  (word~) utoa::$19 ← (word) append::return#8
  (word) utoa::value#1 ← (word~) utoa::$19
  (byte*) utoa::dst#1 ← ++ (byte*) utoa::dst#9
  (byte) utoa::bStarted#2 ← (number) 1
  to:utoa::@2
utoa::@3: scope:[utoa]  from utoa::@11 utoa::@2
  (byte*) utoa::dst#18 ← phi( utoa::@11/(byte*) utoa::dst#2 utoa::@2/(byte*) utoa::dst#17 )
  (word) utoa::value#10 ← phi( utoa::@11/(word) utoa::value#2 utoa::@2/(word) utoa::value#8 )
  (byte) utoa::bStarted#7 ← phi( utoa::@11/(byte) utoa::bStarted#3 utoa::@2/(byte) utoa::bStarted#6 )
  (bool~) utoa::$12 ← (byte) utoa::bStarted#7 == (number) 1
  (bool~) utoa::$13 ← (word) utoa::value#10 >= (number) $a
  (bool~) utoa::$14 ← (bool~) utoa::$12 || (bool~) utoa::$13
  (bool~) utoa::$15 ← ! (bool~) utoa::$14
  if((bool~) utoa::$15) goto utoa::@4
  to:utoa::@8
utoa::@7: scope:[utoa]  from utoa::@2
  (word) utoa::value#11 ← phi( utoa::@2/(word) utoa::value#8 )
  (byte*) utoa::dst#10 ← phi( utoa::@2/(byte*) utoa::dst#17 )
  (byte*) append::dst#2 ← (byte*) utoa::dst#10
  (word) append::value#3 ← (word) utoa::value#11
  (word) append::sub#2 ← (number) $64
  call append 
  (word) append::return#4 ← (word) append::return#1
  to:utoa::@11
utoa::@11: scope:[utoa]  from utoa::@7
  (byte*) utoa::dst#11 ← phi( utoa::@7/(byte*) utoa::dst#10 )
  (word) append::return#9 ← phi( utoa::@7/(word) append::return#4 )
  (word~) utoa::$20 ← (word) append::return#9
  (word) utoa::value#2 ← (word~) utoa::$20
  (byte*) utoa::dst#2 ← ++ (byte*) utoa::dst#11
  (byte) utoa::bStarted#3 ← (number) 1
  to:utoa::@3
utoa::@4: scope:[utoa]  from utoa::@12 utoa::@3
  (byte*) utoa::dst#12 ← phi( utoa::@12/(byte*) utoa::dst#4 utoa::@3/(byte*) utoa::dst#18 )
  (word) utoa::value#12 ← phi( utoa::@12/(word) utoa::value#3 utoa::@3/(word) utoa::value#10 )
  (byte~) utoa::$16 ← ((byte)) (word) utoa::value#12
  (byte~) utoa::$17 ← (byte) '0' + (byte~) utoa::$16
  *((byte*) utoa::dst#12) ← (byte~) utoa::$17
  (byte*) utoa::dst#3 ← ++ (byte*) utoa::dst#12
  *((byte*) utoa::dst#3) ← (number) 0
  to:utoa::@return
utoa::@8: scope:[utoa]  from utoa::@3
  (word) utoa::value#13 ← phi( utoa::@3/(word) utoa::value#10 )
  (byte*) utoa::dst#13 ← phi( utoa::@3/(byte*) utoa::dst#18 )
  (byte*) append::dst#3 ← (byte*) utoa::dst#13
  (word) append::value#4 ← (word) utoa::value#13
  (word) append::sub#3 ← (number) $a
  call append 
  (word) append::return#5 ← (word) append::return#1
  to:utoa::@12
utoa::@12: scope:[utoa]  from utoa::@8
  (byte*) utoa::dst#14 ← phi( utoa::@8/(byte*) utoa::dst#13 )
  (word) append::return#10 ← phi( utoa::@8/(word) append::return#5 )
  (word~) utoa::$21 ← (word) append::return#10
  (word) utoa::value#3 ← (word~) utoa::$21
  (byte*) utoa::dst#4 ← ++ (byte*) utoa::dst#14
  (byte) utoa::bStarted#4 ← (number) 1
  to:utoa::@4
utoa::@return: scope:[utoa]  from utoa::@4
  return 
  to:@return
myprintf: scope:[myprintf]  from main::@3 main::@7
  (word) myprintf::w3#7 ← phi( main::@3/(word) myprintf::w3#0 main::@7/(word) myprintf::w3#1 )
  (word) myprintf::w2#7 ← phi( main::@3/(word) myprintf::w2#0 main::@7/(word) myprintf::w2#1 )
  (word) myprintf::w1#6 ← phi( main::@3/(word) myprintf::w1#0 main::@7/(word) myprintf::w1#1 )
  (byte*) myprintf::dst#40 ← phi( main::@3/(byte*) myprintf::dst#0 main::@7/(byte*) myprintf::dst#1 )
  (byte*) myprintf::str#5 ← phi( main::@3/(byte*) myprintf::str#1 main::@7/(byte*) myprintf::str#2 )
  (byte) myprintf::bArg#0 ← (number) 0
  (byte) myprintf::bFormat#0 ← (number) 0
  (byte) myprintf::bLen#0 ← (number) 0
  (byte) myprintf::bLeadZero#0 ← (byte) 0
  (byte) myprintf::bDigits#0 ← (byte) 0
  (byte) myprintf::bTrailing#0 ← (byte) 0
  (byte) myprintf::b#0 ← (byte) 0
  (byte) myprintf::digit#0 ← (byte) 0
  (byte[6]) myprintf::buf6#0 ← { fill( 6, 0) }
  (word) myprintf::w#0 ← (word) 0
  to:myprintf::@1
myprintf::@1: scope:[myprintf]  from myprintf myprintf::@52
  (byte) myprintf::bLeadZero#17 ← phi( myprintf/(byte) myprintf::bLeadZero#0 myprintf::@52/(byte) myprintf::bLeadZero#18 )
  (byte) myprintf::bDigits#23 ← phi( myprintf/(byte) myprintf::bDigits#0 myprintf::@52/(byte) myprintf::bDigits#24 )
  (byte) myprintf::bTrailing#20 ← phi( myprintf/(byte) myprintf::bTrailing#0 myprintf::@52/(byte) myprintf::bTrailing#21 )
  (word) myprintf::w#16 ← phi( myprintf/(word) myprintf::w#0 myprintf::@52/(word) myprintf::w#17 )
  (word) myprintf::w3#6 ← phi( myprintf/(word) myprintf::w3#7 myprintf::@52/(word) myprintf::w3#8 )
  (word) myprintf::w2#6 ← phi( myprintf/(word) myprintf::w2#7 myprintf::@52/(word) myprintf::w2#8 )
  (word) myprintf::w1#5 ← phi( myprintf/(word) myprintf::w1#6 myprintf::@52/(word) myprintf::w1#7 )
  (byte) myprintf::bLen#38 ← phi( myprintf/(byte) myprintf::bLen#0 myprintf::@52/(byte) myprintf::bLen#27 )
  (byte*) myprintf::dst#32 ← phi( myprintf/(byte*) myprintf::dst#40 myprintf::@52/(byte*) myprintf::dst#21 )
  (byte) myprintf::bArg#9 ← phi( myprintf/(byte) myprintf::bArg#0 myprintf::@52/(byte) myprintf::bArg#10 )
  (byte) myprintf::bFormat#3 ← phi( myprintf/(byte) myprintf::bFormat#0 myprintf::@52/(byte) myprintf::bFormat#4 )
  (byte*) myprintf::str#3 ← phi( myprintf/(byte*) myprintf::str#5 myprintf::@52/(byte*) myprintf::str#0 )
  (byte) myprintf::b#1 ← *((byte*) myprintf::str#3)
  (bool~) myprintf::$0 ← (byte) myprintf::bFormat#3 != (number) 0
  (bool~) myprintf::$1 ← ! (bool~) myprintf::$0
  if((bool~) myprintf::$1) goto myprintf::@2
  to:myprintf::@61
myprintf::@2: scope:[myprintf]  from myprintf::@1
  (byte) myprintf::bLeadZero#37 ← phi( myprintf::@1/(byte) myprintf::bLeadZero#17 )
  (byte) myprintf::bDigits#40 ← phi( myprintf::@1/(byte) myprintf::bDigits#23 )
  (byte) myprintf::bTrailing#38 ← phi( myprintf::@1/(byte) myprintf::bTrailing#20 )
  (word) myprintf::w#32 ← phi( myprintf::@1/(word) myprintf::w#16 )
  (byte) myprintf::bFormat#18 ← phi( myprintf::@1/(byte) myprintf::bFormat#3 )
  (word) myprintf::w3#5 ← phi( myprintf::@1/(word) myprintf::w3#6 )
  (word) myprintf::w2#5 ← phi( myprintf::@1/(word) myprintf::w2#6 )
  (byte*) myprintf::str#30 ← phi( myprintf::@1/(byte*) myprintf::str#3 )
  (word) myprintf::w1#4 ← phi( myprintf::@1/(word) myprintf::w1#5 )
  (byte) myprintf::bLen#37 ← phi( myprintf::@1/(byte) myprintf::bLen#38 )
  (byte*) myprintf::dst#31 ← phi( myprintf::@1/(byte*) myprintf::dst#32 )
  (byte) myprintf::bArg#5 ← phi( myprintf::@1/(byte) myprintf::bArg#9 )
  (byte) myprintf::b#7 ← phi( myprintf::@1/(byte) myprintf::b#1 )
  (bool~) myprintf::$50 ← (byte) myprintf::b#7 == (byte) '%'
  (bool~) myprintf::$51 ← ! (bool~) myprintf::$50
  if((bool~) myprintf::$51) goto myprintf::@53
  to:myprintf::@64
myprintf::@61: scope:[myprintf]  from myprintf::@1
  (byte) myprintf::bLeadZero#16 ← phi( myprintf::@1/(byte) myprintf::bLeadZero#17 )
  (byte) myprintf::bDigits#22 ← phi( myprintf::@1/(byte) myprintf::bDigits#23 )
  (byte) myprintf::bTrailing#19 ← phi( myprintf::@1/(byte) myprintf::bTrailing#20 )
  (word) myprintf::w3#15 ← phi( myprintf::@1/(word) myprintf::w3#6 )
  (word) myprintf::w2#15 ← phi( myprintf::@1/(word) myprintf::w2#6 )
  (word) myprintf::w1#14 ← phi( myprintf::@1/(word) myprintf::w1#5 )
  (byte) myprintf::bArg#16 ← phi( myprintf::@1/(byte) myprintf::bArg#9 )
  (word) myprintf::w#15 ← phi( myprintf::@1/(word) myprintf::w#16 )
  (byte) myprintf::bLen#39 ← phi( myprintf::@1/(byte) myprintf::bLen#38 )
  (byte*) myprintf::dst#33 ← phi( myprintf::@1/(byte*) myprintf::dst#32 )
  (byte) myprintf::bFormat#10 ← phi( myprintf::@1/(byte) myprintf::bFormat#3 )
  (byte*) myprintf::str#12 ← phi( myprintf::@1/(byte*) myprintf::str#3 )
  (byte) myprintf::b#8 ← phi( myprintf::@1/(byte) myprintf::b#1 )
  (bool~) myprintf::$2 ← (byte) myprintf::b#8 == (byte) '0'
  (bool~) myprintf::$3 ← ! (bool~) myprintf::$2
  if((bool~) myprintf::$3) goto myprintf::@3
  to:myprintf::@62
myprintf::@3: scope:[myprintf]  from myprintf::@61
  (byte) myprintf::bLeadZero#15 ← phi( myprintf::@61/(byte) myprintf::bLeadZero#16 )
  (word) myprintf::w3#16 ← phi( myprintf::@61/(word) myprintf::w3#15 )
  (word) myprintf::w2#16 ← phi( myprintf::@61/(word) myprintf::w2#15 )
  (byte) myprintf::bDigits#21 ← phi( myprintf::@61/(byte) myprintf::bDigits#22 )
  (byte) myprintf::bTrailing#18 ← phi( myprintf::@61/(byte) myprintf::bTrailing#19 )
  (word) myprintf::w1#15 ← phi( myprintf::@61/(word) myprintf::w1#14 )
  (byte) myprintf::bArg#17 ← phi( myprintf::@61/(byte) myprintf::bArg#16 )
  (byte) myprintf::bFormat#11 ← phi( myprintf::@61/(byte) myprintf::bFormat#10 )
  (byte) myprintf::bLen#40 ← phi( myprintf::@61/(byte) myprintf::bLen#39 )
  (byte*) myprintf::dst#34 ← phi( myprintf::@61/(byte*) myprintf::dst#33 )
  (word) myprintf::w#14 ← phi( myprintf::@61/(word) myprintf::w#15 )
  (byte*) myprintf::str#13 ← phi( myprintf::@61/(byte*) myprintf::str#12 )
  (byte) myprintf::b#9 ← phi( myprintf::@61/(byte) myprintf::b#8 )
  (bool~) myprintf::$4 ← (byte) myprintf::b#9 >= (byte) '1'
  (bool~) myprintf::$5 ← (byte) myprintf::b#9 <= (byte) '9'
  (bool~) myprintf::$6 ← (bool~) myprintf::$4 && (bool~) myprintf::$5
  (bool~) myprintf::$7 ← ! (bool~) myprintf::$6
  if((bool~) myprintf::$7) goto myprintf::@4
  to:myprintf::@41
myprintf::@62: scope:[myprintf]  from myprintf::@61
  (byte) myprintf::bDigits#29 ← phi( myprintf::@61/(byte) myprintf::bDigits#22 )
  (byte) myprintf::bTrailing#26 ← phi( myprintf::@61/(byte) myprintf::bTrailing#19 )
  (word) myprintf::w#23 ← phi( myprintf::@61/(word) myprintf::w#15 )
  (word) myprintf::w3#14 ← phi( myprintf::@61/(word) myprintf::w3#15 )
  (word) myprintf::w2#14 ← phi( myprintf::@61/(word) myprintf::w2#15 )
  (word) myprintf::w1#13 ← phi( myprintf::@61/(word) myprintf::w1#14 )
  (byte) myprintf::bArg#15 ← phi( myprintf::@61/(byte) myprintf::bArg#16 )
  (byte) myprintf::bLen#32 ← phi( myprintf::@61/(byte) myprintf::bLen#39 )
  (byte*) myprintf::dst#26 ← phi( myprintf::@61/(byte*) myprintf::dst#33 )
  (byte) myprintf::bFormat#9 ← phi( myprintf::@61/(byte) myprintf::bFormat#10 )
  (byte*) myprintf::str#11 ← phi( myprintf::@61/(byte*) myprintf::str#12 )
  (byte) myprintf::bLeadZero#1 ← (number) 1
  to:myprintf::@52
myprintf::@52: scope:[myprintf]  from myprintf::@40 myprintf::@41 myprintf::@43 myprintf::@57 myprintf::@60 myprintf::@62
  (byte) myprintf::bLeadZero#18 ← phi( myprintf::@40/(byte) myprintf::bLeadZero#19 myprintf::@41/(byte) myprintf::bLeadZero#20 myprintf::@43/(byte) myprintf::bLeadZero#21 myprintf::@57/(byte) myprintf::bLeadZero#22 myprintf::@60/(byte) myprintf::bLeadZero#23 myprintf::@62/(byte) myprintf::bLeadZero#1 )
  (byte) myprintf::bDigits#24 ← phi( myprintf::@40/(byte) myprintf::bDigits#25 myprintf::@41/(byte) myprintf::bDigits#1 myprintf::@43/(byte) myprintf::bDigits#26 myprintf::@57/(byte) myprintf::bDigits#27 myprintf::@60/(byte) myprintf::bDigits#28 myprintf::@62/(byte) myprintf::bDigits#29 )
  (byte) myprintf::bTrailing#21 ← phi( myprintf::@40/(byte) myprintf::bTrailing#22 myprintf::@41/(byte) myprintf::bTrailing#23 myprintf::@43/(byte) myprintf::bTrailing#1 myprintf::@57/(byte) myprintf::bTrailing#24 myprintf::@60/(byte) myprintf::bTrailing#25 myprintf::@62/(byte) myprintf::bTrailing#26 )
  (word) myprintf::w#17 ← phi( myprintf::@40/(word) myprintf::w#18 myprintf::@41/(word) myprintf::w#19 myprintf::@43/(word) myprintf::w#20 myprintf::@57/(word) myprintf::w#21 myprintf::@60/(word) myprintf::w#22 myprintf::@62/(word) myprintf::w#23 )
  (word) myprintf::w3#8 ← phi( myprintf::@40/(word) myprintf::w3#9 myprintf::@41/(word) myprintf::w3#10 myprintf::@43/(word) myprintf::w3#11 myprintf::@57/(word) myprintf::w3#12 myprintf::@60/(word) myprintf::w3#13 myprintf::@62/(word) myprintf::w3#14 )
  (word) myprintf::w2#8 ← phi( myprintf::@40/(word) myprintf::w2#9 myprintf::@41/(word) myprintf::w2#10 myprintf::@43/(word) myprintf::w2#11 myprintf::@57/(word) myprintf::w2#12 myprintf::@60/(word) myprintf::w2#13 myprintf::@62/(word) myprintf::w2#14 )
  (word) myprintf::w1#7 ← phi( myprintf::@40/(word) myprintf::w1#8 myprintf::@41/(word) myprintf::w1#9 myprintf::@43/(word) myprintf::w1#10 myprintf::@57/(word) myprintf::w1#11 myprintf::@60/(word) myprintf::w1#12 myprintf::@62/(word) myprintf::w1#13 )
  (byte) myprintf::bArg#10 ← phi( myprintf::@40/(byte) myprintf::bArg#11 myprintf::@41/(byte) myprintf::bArg#12 myprintf::@43/(byte) myprintf::bArg#13 myprintf::@57/(byte) myprintf::bArg#1 myprintf::@60/(byte) myprintf::bArg#14 myprintf::@62/(byte) myprintf::bArg#15 )
  (byte) myprintf::bLen#27 ← phi( myprintf::@40/(byte) myprintf::bLen#28 myprintf::@41/(byte) myprintf::bLen#29 myprintf::@43/(byte) myprintf::bLen#30 myprintf::@57/(byte) myprintf::bLen#31 myprintf::@60/(byte) myprintf::bLen#7 myprintf::@62/(byte) myprintf::bLen#32 )
  (byte*) myprintf::dst#21 ← phi( myprintf::@40/(byte*) myprintf::dst#22 myprintf::@41/(byte*) myprintf::dst#23 myprintf::@43/(byte*) myprintf::dst#24 myprintf::@57/(byte*) myprintf::dst#25 myprintf::@60/(byte*) myprintf::dst#8 myprintf::@62/(byte*) myprintf::dst#26 )
  (byte) myprintf::bFormat#4 ← phi( myprintf::@40/(byte) myprintf::bFormat#1 myprintf::@41/(byte) myprintf::bFormat#5 myprintf::@43/(byte) myprintf::bFormat#6 myprintf::@57/(byte) myprintf::bFormat#7 myprintf::@60/(byte) myprintf::bFormat#8 myprintf::@62/(byte) myprintf::bFormat#9 )
  (byte*) myprintf::str#4 ← phi( myprintf::@40/(byte*) myprintf::str#6 myprintf::@41/(byte*) myprintf::str#7 myprintf::@43/(byte*) myprintf::str#8 myprintf::@57/(byte*) myprintf::str#9 myprintf::@60/(byte*) myprintf::str#10 myprintf::@62/(byte*) myprintf::str#11 )
  (byte*) myprintf::str#0 ← ++ (byte*) myprintf::str#4
  (bool~) myprintf::$58 ← *((byte*) myprintf::str#0) != (number) 0
  if((bool~) myprintf::$58) goto myprintf::@1
  to:myprintf::@69
myprintf::@4: scope:[myprintf]  from myprintf::@3
  (word) myprintf::w3#17 ← phi( myprintf::@3/(word) myprintf::w3#16 )
  (word) myprintf::w2#17 ← phi( myprintf::@3/(word) myprintf::w2#16 )
  (byte) myprintf::bLeadZero#14 ← phi( myprintf::@3/(byte) myprintf::bLeadZero#15 )
  (word) myprintf::w1#16 ← phi( myprintf::@3/(word) myprintf::w1#15 )
  (byte) myprintf::bDigits#20 ← phi( myprintf::@3/(byte) myprintf::bDigits#21 )
  (byte) myprintf::bTrailing#17 ← phi( myprintf::@3/(byte) myprintf::bTrailing#18 )
  (byte) myprintf::bArg#18 ← phi( myprintf::@3/(byte) myprintf::bArg#17 )
  (byte) myprintf::bFormat#12 ← phi( myprintf::@3/(byte) myprintf::bFormat#11 )
  (byte*) myprintf::str#14 ← phi( myprintf::@3/(byte*) myprintf::str#13 )
  (byte) myprintf::bLen#33 ← phi( myprintf::@3/(byte) myprintf::bLen#40 )
  (byte*) myprintf::dst#27 ← phi( myprintf::@3/(byte*) myprintf::dst#34 )
  (word) myprintf::w#13 ← phi( myprintf::@3/(word) myprintf::w#14 )
  (byte) myprintf::b#10 ← phi( myprintf::@3/(byte) myprintf::b#9 )
  (bool~) myprintf::$9 ← (byte) myprintf::b#10 == (byte) '-'
  (bool~) myprintf::$10 ← ! (bool~) myprintf::$9
  if((bool~) myprintf::$10) goto myprintf::@5
  to:myprintf::@43
myprintf::@41: scope:[myprintf]  from myprintf::@3
  (byte) myprintf::bLeadZero#20 ← phi( myprintf::@3/(byte) myprintf::bLeadZero#15 )
  (byte) myprintf::bTrailing#23 ← phi( myprintf::@3/(byte) myprintf::bTrailing#18 )
  (word) myprintf::w#19 ← phi( myprintf::@3/(word) myprintf::w#14 )
  (word) myprintf::w3#10 ← phi( myprintf::@3/(word) myprintf::w3#16 )
  (word) myprintf::w2#10 ← phi( myprintf::@3/(word) myprintf::w2#16 )
  (word) myprintf::w1#9 ← phi( myprintf::@3/(word) myprintf::w1#15 )
  (byte) myprintf::bArg#12 ← phi( myprintf::@3/(byte) myprintf::bArg#17 )
  (byte) myprintf::bLen#29 ← phi( myprintf::@3/(byte) myprintf::bLen#40 )
  (byte*) myprintf::dst#23 ← phi( myprintf::@3/(byte*) myprintf::dst#34 )
  (byte) myprintf::bFormat#5 ← phi( myprintf::@3/(byte) myprintf::bFormat#11 )
  (byte*) myprintf::str#7 ← phi( myprintf::@3/(byte*) myprintf::str#13 )
  (byte) myprintf::b#11 ← phi( myprintf::@3/(byte) myprintf::b#9 )
  (byte~) myprintf::$8 ← (byte) myprintf::b#11 - (byte) '0'
  (byte) myprintf::bDigits#1 ← (byte~) myprintf::$8
  to:myprintf::@52
myprintf::@5: scope:[myprintf]  from myprintf::@4
  (word) myprintf::w3#27 ← phi( myprintf::@4/(word) myprintf::w3#17 )
  (word) myprintf::w2#27 ← phi( myprintf::@4/(word) myprintf::w2#17 )
  (word) myprintf::w1#26 ← phi( myprintf::@4/(word) myprintf::w1#16 )
  (byte) myprintf::bLeadZero#13 ← phi( myprintf::@4/(byte) myprintf::bLeadZero#14 )
  (byte) myprintf::bArg#26 ← phi( myprintf::@4/(byte) myprintf::bArg#18 )
  (byte) myprintf::bDigits#19 ← phi( myprintf::@4/(byte) myprintf::bDigits#20 )
  (byte) myprintf::bTrailing#15 ← phi( myprintf::@4/(byte) myprintf::bTrailing#17 )
  (byte*) myprintf::str#25 ← phi( myprintf::@4/(byte*) myprintf::str#14 )
  (byte) myprintf::bLen#16 ← phi( myprintf::@4/(byte) myprintf::bLen#33 )
  (byte*) myprintf::dst#10 ← phi( myprintf::@4/(byte*) myprintf::dst#27 )
  (word) myprintf::w#8 ← phi( myprintf::@4/(word) myprintf::w#13 )
  (byte) myprintf::b#12 ← phi( myprintf::@4/(byte) myprintf::b#10 )
  (bool~) myprintf::$11 ← (byte) myprintf::b#12 == (byte) 'c'
  if((bool~) myprintf::$11) goto myprintf::@6
  to:myprintf::@45
myprintf::@43: scope:[myprintf]  from myprintf::@4
  (byte) myprintf::bLeadZero#21 ← phi( myprintf::@4/(byte) myprintf::bLeadZero#14 )
  (byte) myprintf::bDigits#26 ← phi( myprintf::@4/(byte) myprintf::bDigits#20 )
  (word) myprintf::w#20 ← phi( myprintf::@4/(word) myprintf::w#13 )
  (word) myprintf::w3#11 ← phi( myprintf::@4/(word) myprintf::w3#17 )
  (word) myprintf::w2#11 ← phi( myprintf::@4/(word) myprintf::w2#17 )
  (word) myprintf::w1#10 ← phi( myprintf::@4/(word) myprintf::w1#16 )
  (byte) myprintf::bArg#13 ← phi( myprintf::@4/(byte) myprintf::bArg#18 )
  (byte) myprintf::bLen#30 ← phi( myprintf::@4/(byte) myprintf::bLen#33 )
  (byte*) myprintf::dst#24 ← phi( myprintf::@4/(byte*) myprintf::dst#27 )
  (byte) myprintf::bFormat#6 ← phi( myprintf::@4/(byte) myprintf::bFormat#12 )
  (byte*) myprintf::str#8 ← phi( myprintf::@4/(byte*) myprintf::str#14 )
  (byte) myprintf::bTrailing#1 ← (number) 1
  to:myprintf::@52
myprintf::@6: scope:[myprintf]  from myprintf::@5
  (byte) myprintf::bLeadZero#28 ← phi( myprintf::@5/(byte) myprintf::bLeadZero#13 )
  (byte) myprintf::bDigits#32 ← phi( myprintf::@5/(byte) myprintf::bDigits#19 )
  (byte) myprintf::bTrailing#30 ← phi( myprintf::@5/(byte) myprintf::bTrailing#15 )
  (word) myprintf::w3#22 ← phi( myprintf::@5/(word) myprintf::w3#27 )
  (word) myprintf::w2#22 ← phi( myprintf::@5/(word) myprintf::w2#27 )
  (word) myprintf::w1#21 ← phi( myprintf::@5/(word) myprintf::w1#26 )
  (byte) myprintf::bArg#23 ← phi( myprintf::@5/(byte) myprintf::bArg#26 )
  (byte*) myprintf::str#19 ← phi( myprintf::@5/(byte*) myprintf::str#25 )
  (byte) myprintf::bLen#8 ← phi( myprintf::@5/(byte) myprintf::bLen#16 )
  (byte*) myprintf::dst#2 ← phi( myprintf::@5/(byte*) myprintf::dst#10 )
  (word) myprintf::w#4 ← phi( myprintf::@5/(word) myprintf::w#8 )
  (byte~) myprintf::$49 ← ((byte)) (word) myprintf::w#4
  *((byte*) myprintf::dst#2 + (byte) myprintf::bLen#8) ← (byte~) myprintf::$49
  (byte) myprintf::bLen#1 ← ++ (byte) myprintf::bLen#8
  to:myprintf::@40
myprintf::@45: scope:[myprintf]  from myprintf::@5
  (word) myprintf::w3#28 ← phi( myprintf::@5/(word) myprintf::w3#27 )
  (word) myprintf::w2#28 ← phi( myprintf::@5/(word) myprintf::w2#27 )
  (word) myprintf::w1#27 ← phi( myprintf::@5/(word) myprintf::w1#26 )
  (byte) myprintf::bArg#27 ← phi( myprintf::@5/(byte) myprintf::bArg#26 )
  (byte) myprintf::bLeadZero#12 ← phi( myprintf::@5/(byte) myprintf::bLeadZero#13 )
  (byte) myprintf::bLen#46 ← phi( myprintf::@5/(byte) myprintf::bLen#16 )
  (byte*) myprintf::dst#41 ← phi( myprintf::@5/(byte*) myprintf::dst#10 )
  (byte) myprintf::bDigits#18 ← phi( myprintf::@5/(byte) myprintf::bDigits#19 )
  (byte) myprintf::bTrailing#12 ← phi( myprintf::@5/(byte) myprintf::bTrailing#15 )
  (byte*) myprintf::str#26 ← phi( myprintf::@5/(byte*) myprintf::str#25 )
  (word) myprintf::w#9 ← phi( myprintf::@5/(word) myprintf::w#8 )
  (byte) myprintf::b#13 ← phi( myprintf::@5/(byte) myprintf::b#12 )
  (bool~) myprintf::$12 ← (byte) myprintf::b#13 == (byte) 'd'
  if((bool~) myprintf::$12) goto myprintf::@7
  to:myprintf::@46
myprintf::@7: scope:[myprintf]  from myprintf::@45
  (word) myprintf::w3#45 ← phi( myprintf::@45/(word) myprintf::w3#28 )
  (word) myprintf::w2#45 ← phi( myprintf::@45/(word) myprintf::w2#28 )
  (word) myprintf::w1#45 ← phi( myprintf::@45/(word) myprintf::w1#27 )
  (byte) myprintf::bArg#44 ← phi( myprintf::@45/(byte) myprintf::bArg#27 )
  (byte*) myprintf::str#46 ← phi( myprintf::@45/(byte*) myprintf::str#26 )
  (byte) myprintf::bLen#51 ← phi( myprintf::@45/(byte) myprintf::bLen#46 )
  (byte*) myprintf::dst#46 ← phi( myprintf::@45/(byte*) myprintf::dst#41 )
  (byte) myprintf::bLeadZero#11 ← phi( myprintf::@45/(byte) myprintf::bLeadZero#12 )
  (byte) myprintf::bDigits#17 ← phi( myprintf::@45/(byte) myprintf::bDigits#18 )
  (byte) myprintf::bTrailing#10 ← phi( myprintf::@45/(byte) myprintf::bTrailing#12 )
  (word) myprintf::w#5 ← phi( myprintf::@45/(word) myprintf::w#9 )
  (word) utoa::value#4 ← (word) myprintf::w#5
  (byte*) utoa::dst#5 ← (byte[6]) myprintf::buf6#0
  call utoa 
  to:myprintf::@71
myprintf::@71: scope:[myprintf]  from myprintf::@7
  (word) myprintf::w#40 ← phi( myprintf::@7/(word) myprintf::w#5 )
  (word) myprintf::w3#43 ← phi( myprintf::@7/(word) myprintf::w3#45 )
  (word) myprintf::w2#43 ← phi( myprintf::@7/(word) myprintf::w2#45 )
  (word) myprintf::w1#43 ← phi( myprintf::@7/(word) myprintf::w1#45 )
  (byte) myprintf::bArg#42 ← phi( myprintf::@7/(byte) myprintf::bArg#44 )
  (byte*) myprintf::str#44 ← phi( myprintf::@7/(byte*) myprintf::str#46 )
  (byte) myprintf::bLen#48 ← phi( myprintf::@7/(byte) myprintf::bLen#51 )
  (byte*) myprintf::dst#43 ← phi( myprintf::@7/(byte*) myprintf::dst#46 )
  (byte) myprintf::bLeadZero#10 ← phi( myprintf::@7/(byte) myprintf::bLeadZero#11 )
  (byte) myprintf::bDigits#14 ← phi( myprintf::@7/(byte) myprintf::bDigits#17 )
  (byte) myprintf::bTrailing#8 ← phi( myprintf::@7/(byte) myprintf::bTrailing#10 )
  (byte) myprintf::b#2 ← (number) 1
  to:myprintf::@19
myprintf::@46: scope:[myprintf]  from myprintf::@45
  (byte) myprintf::bLeadZero#27 ← phi( myprintf::@45/(byte) myprintf::bLeadZero#12 )
  (byte) myprintf::bDigits#31 ← phi( myprintf::@45/(byte) myprintf::bDigits#18 )
  (byte) myprintf::bTrailing#29 ← phi( myprintf::@45/(byte) myprintf::bTrailing#12 )
  (word) myprintf::w3#21 ← phi( myprintf::@45/(word) myprintf::w3#28 )
  (word) myprintf::w2#21 ← phi( myprintf::@45/(word) myprintf::w2#28 )
  (word) myprintf::w1#20 ← phi( myprintf::@45/(word) myprintf::w1#27 )
  (byte) myprintf::bArg#22 ← phi( myprintf::@45/(byte) myprintf::bArg#27 )
  (byte) myprintf::bLen#41 ← phi( myprintf::@45/(byte) myprintf::bLen#46 )
  (byte*) myprintf::dst#35 ← phi( myprintf::@45/(byte*) myprintf::dst#41 )
  (byte*) myprintf::str#18 ← phi( myprintf::@45/(byte*) myprintf::str#26 )
  (word) myprintf::w#10 ← phi( myprintf::@45/(word) myprintf::w#9 )
  (byte) myprintf::b#14 ← phi( myprintf::@45/(byte) myprintf::b#13 )
  (bool~) myprintf::$13 ← (byte) myprintf::b#14 == (byte) 'x'
  (bool~) myprintf::$14 ← (byte) myprintf::b#14 == (byte) 'X'
  (bool~) myprintf::$15 ← (bool~) myprintf::$13 || (bool~) myprintf::$14
  (bool~) myprintf::$16 ← ! (bool~) myprintf::$15
  if((bool~) myprintf::$16) goto myprintf::@40
  to:myprintf::@47
myprintf::@47: scope:[myprintf]  from myprintf::@46
  (byte) myprintf::bLeadZero#43 ← phi( myprintf::@46/(byte) myprintf::bLeadZero#27 )
  (byte) myprintf::bDigits#45 ← phi( myprintf::@46/(byte) myprintf::bDigits#31 )
  (byte) myprintf::bTrailing#43 ← phi( myprintf::@46/(byte) myprintf::bTrailing#29 )
  (word) myprintf::w3#38 ← phi( myprintf::@46/(word) myprintf::w3#21 )
  (word) myprintf::w2#38 ← phi( myprintf::@46/(word) myprintf::w2#21 )
  (word) myprintf::w1#38 ← phi( myprintf::@46/(word) myprintf::w1#20 )
  (byte) myprintf::bArg#37 ← phi( myprintf::@46/(byte) myprintf::bArg#22 )
  (byte*) myprintf::str#39 ← phi( myprintf::@46/(byte*) myprintf::str#18 )
  (byte) myprintf::bLen#34 ← phi( myprintf::@46/(byte) myprintf::bLen#41 )
  (byte*) myprintf::dst#28 ← phi( myprintf::@46/(byte*) myprintf::dst#35 )
  (word) myprintf::w#6 ← phi( myprintf::@46/(word) myprintf::w#10 )
  (byte~) myprintf::$17 ← ((byte)) (word) myprintf::w#6
  (byte~) myprintf::$18 ← (byte~) myprintf::$17 >> (number) 4
  (number~) myprintf::$19 ← (byte~) myprintf::$18 & (number) $f
  (byte) myprintf::b#3 ← (number~) myprintf::$19
  (bool~) myprintf::$20 ← (byte) myprintf::b#3 < (number) $a
  if((bool~) myprintf::$20) goto myprintf::@9
  to:myprintf::@10
myprintf::@9: scope:[myprintf]  from myprintf::@47
  (byte) myprintf::bLeadZero#42 ← phi( myprintf::@47/(byte) myprintf::bLeadZero#43 )
  (byte) myprintf::bDigits#44 ← phi( myprintf::@47/(byte) myprintf::bDigits#45 )
  (byte) myprintf::bTrailing#42 ← phi( myprintf::@47/(byte) myprintf::bTrailing#43 )
  (word) myprintf::w3#35 ← phi( myprintf::@47/(word) myprintf::w3#38 )
  (word) myprintf::w2#35 ← phi( myprintf::@47/(word) myprintf::w2#38 )
  (word) myprintf::w1#35 ← phi( myprintf::@47/(word) myprintf::w1#38 )
  (byte) myprintf::bArg#34 ← phi( myprintf::@47/(byte) myprintf::bArg#37 )
  (byte*) myprintf::str#36 ← phi( myprintf::@47/(byte*) myprintf::str#39 )
  (word) myprintf::w#12 ← phi( myprintf::@47/(word) myprintf::w#6 )
  (byte) myprintf::bLen#18 ← phi( myprintf::@47/(byte) myprintf::bLen#34 )
  (byte*) myprintf::dst#12 ← phi( myprintf::@47/(byte*) myprintf::dst#28 )
  (byte) myprintf::b#28 ← phi( myprintf::@47/(byte) myprintf::b#3 )
  (byte~) myprintf::$22 ← (byte) '0'
  to:myprintf::@11
myprintf::@10: scope:[myprintf]  from myprintf::@47
  (byte) myprintf::bLeadZero#41 ← phi( myprintf::@47/(byte) myprintf::bLeadZero#43 )
  (byte) myprintf::bDigits#43 ← phi( myprintf::@47/(byte) myprintf::bDigits#45 )
  (byte) myprintf::bTrailing#41 ← phi( myprintf::@47/(byte) myprintf::bTrailing#43 )
  (word) myprintf::w3#34 ← phi( myprintf::@47/(word) myprintf::w3#38 )
  (word) myprintf::w2#34 ← phi( myprintf::@47/(word) myprintf::w2#38 )
  (word) myprintf::w1#34 ← phi( myprintf::@47/(word) myprintf::w1#38 )
  (byte) myprintf::bArg#33 ← phi( myprintf::@47/(byte) myprintf::bArg#37 )
  (byte*) myprintf::str#35 ← phi( myprintf::@47/(byte*) myprintf::str#39 )
  (word) myprintf::w#11 ← phi( myprintf::@47/(word) myprintf::w#6 )
  (byte) myprintf::bLen#17 ← phi( myprintf::@47/(byte) myprintf::bLen#34 )
  (byte*) myprintf::dst#11 ← phi( myprintf::@47/(byte*) myprintf::dst#28 )
  (byte) myprintf::b#27 ← phi( myprintf::@47/(byte) myprintf::b#3 )
  (number~) myprintf::$21 ← (number) $57
  to:myprintf::@11
myprintf::@11: scope:[myprintf]  from myprintf::@10 myprintf::@9
  (byte) myprintf::bLeadZero#39 ← phi( myprintf::@10/(byte) myprintf::bLeadZero#41 myprintf::@9/(byte) myprintf::bLeadZero#42 )
  (byte) myprintf::bDigits#42 ← phi( myprintf::@10/(byte) myprintf::bDigits#43 myprintf::@9/(byte) myprintf::bDigits#44 )
  (byte) myprintf::bTrailing#40 ← phi( myprintf::@10/(byte) myprintf::bTrailing#41 myprintf::@9/(byte) myprintf::bTrailing#42 )
  (word) myprintf::w3#32 ← phi( myprintf::@10/(word) myprintf::w3#34 myprintf::@9/(word) myprintf::w3#35 )
  (word) myprintf::w2#32 ← phi( myprintf::@10/(word) myprintf::w2#34 myprintf::@9/(word) myprintf::w2#35 )
  (word) myprintf::w1#32 ← phi( myprintf::@10/(word) myprintf::w1#34 myprintf::@9/(word) myprintf::w1#35 )
  (byte) myprintf::bArg#31 ← phi( myprintf::@10/(byte) myprintf::bArg#33 myprintf::@9/(byte) myprintf::bArg#34 )
  (byte*) myprintf::str#33 ← phi( myprintf::@10/(byte*) myprintf::str#35 myprintf::@9/(byte*) myprintf::str#36 )
  (word) myprintf::w#7 ← phi( myprintf::@10/(word) myprintf::w#11 myprintf::@9/(word) myprintf::w#12 )
  (byte) myprintf::bLen#9 ← phi( myprintf::@10/(byte) myprintf::bLen#17 myprintf::@9/(byte) myprintf::bLen#18 )
  (byte*) myprintf::dst#3 ← phi( myprintf::@10/(byte*) myprintf::dst#11 myprintf::@9/(byte*) myprintf::dst#12 )
  (byte) myprintf::b#15 ← phi( myprintf::@10/(byte) myprintf::b#27 myprintf::@9/(byte) myprintf::b#28 )
  (number~) myprintf::$23 ← phi( myprintf::@9/(byte~) myprintf::$22 myprintf::@10/(number~) myprintf::$21 )
  (number~) myprintf::$24 ← (number~) myprintf::$23 + (byte) myprintf::b#15
  *((byte*) myprintf::dst#3 + (byte) myprintf::bLen#9) ← (number~) myprintf::$24
  (byte) myprintf::bLen#2 ← ++ (byte) myprintf::bLen#9
  (byte~) myprintf::$25 ← ((byte)) (word) myprintf::w#7
  (number~) myprintf::$26 ← (byte~) myprintf::$25 & (number) $f
  (byte) myprintf::b#4 ← (number~) myprintf::$26
  (bool~) myprintf::$27 ← (byte) myprintf::b#4 < (number) $a
  if((bool~) myprintf::$27) goto myprintf::@12
  to:myprintf::@13
myprintf::@12: scope:[myprintf]  from myprintf::@11
  (byte) myprintf::bLeadZero#34 ← phi( myprintf::@11/(byte) myprintf::bLeadZero#39 )
  (byte) myprintf::bDigits#38 ← phi( myprintf::@11/(byte) myprintf::bDigits#42 )
  (byte) myprintf::bTrailing#36 ← phi( myprintf::@11/(byte) myprintf::bTrailing#40 )
  (word) myprintf::w#29 ← phi( myprintf::@11/(word) myprintf::w#7 )
  (word) myprintf::w3#29 ← phi( myprintf::@11/(word) myprintf::w3#32 )
  (word) myprintf::w2#29 ← phi( myprintf::@11/(word) myprintf::w2#32 )
  (word) myprintf::w1#28 ← phi( myprintf::@11/(word) myprintf::w1#32 )
  (byte) myprintf::bArg#28 ← phi( myprintf::@11/(byte) myprintf::bArg#31 )
  (byte*) myprintf::str#27 ← phi( myprintf::@11/(byte*) myprintf::str#33 )
  (byte) myprintf::bLen#19 ← phi( myprintf::@11/(byte) myprintf::bLen#2 )
  (byte*) myprintf::dst#13 ← phi( myprintf::@11/(byte*) myprintf::dst#3 )
  (byte) myprintf::b#29 ← phi( myprintf::@11/(byte) myprintf::b#4 )
  (byte~) myprintf::$29 ← (byte) '0'
  to:myprintf::@14
myprintf::@13: scope:[myprintf]  from myprintf::@11
  (byte) myprintf::bLeadZero#35 ← phi( myprintf::@11/(byte) myprintf::bLeadZero#39 )
  (byte) myprintf::bDigits#39 ← phi( myprintf::@11/(byte) myprintf::bDigits#42 )
  (byte) myprintf::bTrailing#37 ← phi( myprintf::@11/(byte) myprintf::bTrailing#40 )
  (word) myprintf::w#30 ← phi( myprintf::@11/(word) myprintf::w#7 )
  (word) myprintf::w3#30 ← phi( myprintf::@11/(word) myprintf::w3#32 )
  (word) myprintf::w2#30 ← phi( myprintf::@11/(word) myprintf::w2#32 )
  (word) myprintf::w1#29 ← phi( myprintf::@11/(word) myprintf::w1#32 )
  (byte) myprintf::bArg#29 ← phi( myprintf::@11/(byte) myprintf::bArg#31 )
  (byte*) myprintf::str#28 ← phi( myprintf::@11/(byte*) myprintf::str#33 )
  (byte) myprintf::bLen#20 ← phi( myprintf::@11/(byte) myprintf::bLen#2 )
  (byte*) myprintf::dst#14 ← phi( myprintf::@11/(byte*) myprintf::dst#3 )
  (byte) myprintf::b#30 ← phi( myprintf::@11/(byte) myprintf::b#4 )
  (number~) myprintf::$28 ← (number) $57
  to:myprintf::@14
myprintf::@14: scope:[myprintf]  from myprintf::@12 myprintf::@13
  (byte) myprintf::bLeadZero#24 ← phi( myprintf::@12/(byte) myprintf::bLeadZero#34 myprintf::@13/(byte) myprintf::bLeadZero#35 )
  (byte) myprintf::bDigits#30 ← phi( myprintf::@12/(byte) myprintf::bDigits#38 myprintf::@13/(byte) myprintf::bDigits#39 )
  (byte) myprintf::bTrailing#27 ← phi( myprintf::@12/(byte) myprintf::bTrailing#36 myprintf::@13/(byte) myprintf::bTrailing#37 )
  (word) myprintf::w#24 ← phi( myprintf::@12/(word) myprintf::w#29 myprintf::@13/(word) myprintf::w#30 )
  (word) myprintf::w3#18 ← phi( myprintf::@12/(word) myprintf::w3#29 myprintf::@13/(word) myprintf::w3#30 )
  (word) myprintf::w2#18 ← phi( myprintf::@12/(word) myprintf::w2#29 myprintf::@13/(word) myprintf::w2#30 )
  (word) myprintf::w1#17 ← phi( myprintf::@12/(word) myprintf::w1#28 myprintf::@13/(word) myprintf::w1#29 )
  (byte) myprintf::bArg#19 ← phi( myprintf::@12/(byte) myprintf::bArg#28 myprintf::@13/(byte) myprintf::bArg#29 )
  (byte*) myprintf::str#15 ← phi( myprintf::@12/(byte*) myprintf::str#27 myprintf::@13/(byte*) myprintf::str#28 )
  (byte) myprintf::bLen#10 ← phi( myprintf::@12/(byte) myprintf::bLen#19 myprintf::@13/(byte) myprintf::bLen#20 )
  (byte*) myprintf::dst#4 ← phi( myprintf::@12/(byte*) myprintf::dst#13 myprintf::@13/(byte*) myprintf::dst#14 )
  (byte) myprintf::b#16 ← phi( myprintf::@12/(byte) myprintf::b#29 myprintf::@13/(byte) myprintf::b#30 )
  (number~) myprintf::$30 ← phi( myprintf::@12/(byte~) myprintf::$29 myprintf::@13/(number~) myprintf::$28 )
  (number~) myprintf::$31 ← (number~) myprintf::$30 + (byte) myprintf::b#16
  *((byte*) myprintf::dst#4 + (byte) myprintf::bLen#10) ← (number~) myprintf::$31
  (byte) myprintf::bLen#3 ← ++ (byte) myprintf::bLen#10
  to:myprintf::@40
myprintf::@19: scope:[myprintf]  from myprintf::@20 myprintf::@71
  (word) myprintf::w#36 ← phi( myprintf::@20/(word) myprintf::w#39 myprintf::@71/(word) myprintf::w#40 )
  (word) myprintf::w3#39 ← phi( myprintf::@20/(word) myprintf::w3#42 myprintf::@71/(word) myprintf::w3#43 )
  (word) myprintf::w2#39 ← phi( myprintf::@20/(word) myprintf::w2#42 myprintf::@71/(word) myprintf::w2#43 )
  (word) myprintf::w1#39 ← phi( myprintf::@20/(word) myprintf::w1#42 myprintf::@71/(word) myprintf::w1#43 )
  (byte) myprintf::bArg#38 ← phi( myprintf::@20/(byte) myprintf::bArg#41 myprintf::@71/(byte) myprintf::bArg#42 )
  (byte*) myprintf::str#40 ← phi( myprintf::@20/(byte*) myprintf::str#43 myprintf::@71/(byte*) myprintf::str#44 )
  (byte) myprintf::bLen#42 ← phi( myprintf::@20/(byte) myprintf::bLen#47 myprintf::@71/(byte) myprintf::bLen#48 )
  (byte*) myprintf::dst#36 ← phi( myprintf::@20/(byte*) myprintf::dst#42 myprintf::@71/(byte*) myprintf::dst#43 )
  (byte) myprintf::bLeadZero#6 ← phi( myprintf::@20/(byte) myprintf::bLeadZero#9 myprintf::@71/(byte) myprintf::bLeadZero#10 )
  (byte) myprintf::bDigits#9 ← phi( myprintf::@20/(byte) myprintf::bDigits#13 myprintf::@71/(byte) myprintf::bDigits#14 )
  (byte) myprintf::bTrailing#5 ← phi( myprintf::@20/(byte) myprintf::bTrailing#7 myprintf::@71/(byte) myprintf::bTrailing#8 )
  (byte) myprintf::b#17 ← phi( myprintf::@20/(byte) myprintf::b#5 myprintf::@71/(byte) myprintf::b#2 )
  (bool~) myprintf::$33 ← *((byte[6]) myprintf::buf6#0 + (byte) myprintf::b#17) != (number) 0
  if((bool~) myprintf::$33) goto myprintf::@20
  to:myprintf::@21
myprintf::@20: scope:[myprintf]  from myprintf::@19
  (word) myprintf::w#39 ← phi( myprintf::@19/(word) myprintf::w#36 )
  (word) myprintf::w3#42 ← phi( myprintf::@19/(word) myprintf::w3#39 )
  (word) myprintf::w2#42 ← phi( myprintf::@19/(word) myprintf::w2#39 )
  (word) myprintf::w1#42 ← phi( myprintf::@19/(word) myprintf::w1#39 )
  (byte) myprintf::bArg#41 ← phi( myprintf::@19/(byte) myprintf::bArg#38 )
  (byte*) myprintf::str#43 ← phi( myprintf::@19/(byte*) myprintf::str#40 )
  (byte) myprintf::bLen#47 ← phi( myprintf::@19/(byte) myprintf::bLen#42 )
  (byte*) myprintf::dst#42 ← phi( myprintf::@19/(byte*) myprintf::dst#36 )
  (byte) myprintf::bLeadZero#9 ← phi( myprintf::@19/(byte) myprintf::bLeadZero#6 )
  (byte) myprintf::bDigits#13 ← phi( myprintf::@19/(byte) myprintf::bDigits#9 )
  (byte) myprintf::bTrailing#7 ← phi( myprintf::@19/(byte) myprintf::bTrailing#5 )
  (byte) myprintf::b#18 ← phi( myprintf::@19/(byte) myprintf::b#17 )
  (byte) myprintf::b#5 ← ++ (byte) myprintf::b#18
  to:myprintf::@19
myprintf::@21: scope:[myprintf]  from myprintf::@19
  (word) myprintf::w#34 ← phi( myprintf::@19/(word) myprintf::w#36 )
  (word) myprintf::w3#36 ← phi( myprintf::@19/(word) myprintf::w3#39 )
  (word) myprintf::w2#36 ← phi( myprintf::@19/(word) myprintf::w2#39 )
  (word) myprintf::w1#36 ← phi( myprintf::@19/(word) myprintf::w1#39 )
  (byte) myprintf::bArg#35 ← phi( myprintf::@19/(byte) myprintf::bArg#38 )
  (byte*) myprintf::str#37 ← phi( myprintf::@19/(byte*) myprintf::str#40 )
  (byte) myprintf::bLen#35 ← phi( myprintf::@19/(byte) myprintf::bLen#42 )
  (byte*) myprintf::dst#29 ← phi( myprintf::@19/(byte*) myprintf::dst#36 )
  (byte) myprintf::bLeadZero#4 ← phi( myprintf::@19/(byte) myprintf::bLeadZero#6 )
  (byte) myprintf::b#19 ← phi( myprintf::@19/(byte) myprintf::b#17 )
  (byte) myprintf::bDigits#5 ← phi( myprintf::@19/(byte) myprintf::bDigits#9 )
  (byte) myprintf::bTrailing#3 ← phi( myprintf::@19/(byte) myprintf::bTrailing#5 )
  (bool~) myprintf::$34 ← (byte) myprintf::bTrailing#3 == (number) 0
  (bool~) myprintf::$35 ← (byte) myprintf::bDigits#5 > (byte) myprintf::b#19
  (bool~) myprintf::$36 ← (bool~) myprintf::$34 && (bool~) myprintf::$35
  (bool~) myprintf::$37 ← ! (bool~) myprintf::$36
  if((bool~) myprintf::$37) goto myprintf::@26
  to:myprintf::@27
myprintf::@26: scope:[myprintf]  from myprintf::@21 myprintf::@30
  (byte) myprintf::bLeadZero#40 ← phi( myprintf::@21/(byte) myprintf::bLeadZero#4 myprintf::@30/(byte) myprintf::bLeadZero#5 )
  (word) myprintf::w#33 ← phi( myprintf::@21/(word) myprintf::w#34 myprintf::@30/(word) myprintf::w#35 )
  (word) myprintf::w3#33 ← phi( myprintf::@21/(word) myprintf::w3#36 myprintf::@30/(word) myprintf::w3#37 )
  (word) myprintf::w2#33 ← phi( myprintf::@21/(word) myprintf::w2#36 myprintf::@30/(word) myprintf::w2#37 )
  (word) myprintf::w1#33 ← phi( myprintf::@21/(word) myprintf::w1#36 myprintf::@30/(word) myprintf::w1#37 )
  (byte) myprintf::bArg#32 ← phi( myprintf::@21/(byte) myprintf::bArg#35 myprintf::@30/(byte) myprintf::bArg#36 )
  (byte*) myprintf::str#34 ← phi( myprintf::@21/(byte*) myprintf::str#37 myprintf::@30/(byte*) myprintf::str#38 )
  (byte) myprintf::bDigits#16 ← phi( myprintf::@21/(byte) myprintf::bDigits#5 myprintf::@30/(byte) myprintf::bDigits#2 )
  (byte) myprintf::bTrailing#9 ← phi( myprintf::@21/(byte) myprintf::bTrailing#3 myprintf::@30/(byte) myprintf::bTrailing#11 )
  (byte) myprintf::b#33 ← phi( myprintf::@21/(byte) myprintf::b#19 myprintf::@30/(byte) myprintf::b#20 )
  (byte) myprintf::bLen#23 ← phi( myprintf::@21/(byte) myprintf::bLen#35 myprintf::@30/(byte) myprintf::bLen#4 )
  (byte*) myprintf::dst#17 ← phi( myprintf::@21/(byte*) myprintf::dst#29 myprintf::@30/(byte*) myprintf::dst#5 )
  (byte) myprintf::digit#1 ← (number) 0
  to:myprintf::@34
myprintf::@27: scope:[myprintf]  from myprintf::@21 myprintf::@30
  (word) myprintf::w#41 ← phi( myprintf::@21/(word) myprintf::w#34 myprintf::@30/(word) myprintf::w#35 )
  (word) myprintf::w3#44 ← phi( myprintf::@21/(word) myprintf::w3#36 myprintf::@30/(word) myprintf::w3#37 )
  (word) myprintf::w2#44 ← phi( myprintf::@21/(word) myprintf::w2#36 myprintf::@30/(word) myprintf::w2#37 )
  (word) myprintf::w1#44 ← phi( myprintf::@21/(word) myprintf::w1#36 myprintf::@30/(word) myprintf::w1#37 )
  (byte) myprintf::bArg#43 ← phi( myprintf::@21/(byte) myprintf::bArg#35 myprintf::@30/(byte) myprintf::bArg#36 )
  (byte*) myprintf::str#45 ← phi( myprintf::@21/(byte*) myprintf::str#37 myprintf::@30/(byte*) myprintf::str#38 )
  (byte) myprintf::bTrailing#16 ← phi( myprintf::@21/(byte) myprintf::bTrailing#3 myprintf::@30/(byte) myprintf::bTrailing#11 )
  (byte) myprintf::b#34 ← phi( myprintf::@21/(byte) myprintf::b#19 myprintf::@30/(byte) myprintf::b#20 )
  (byte) myprintf::bDigits#15 ← phi( myprintf::@21/(byte) myprintf::bDigits#5 myprintf::@30/(byte) myprintf::bDigits#2 )
  (byte) myprintf::bLen#36 ← phi( myprintf::@21/(byte) myprintf::bLen#35 myprintf::@30/(byte) myprintf::bLen#4 )
  (byte*) myprintf::dst#30 ← phi( myprintf::@21/(byte*) myprintf::dst#29 myprintf::@30/(byte*) myprintf::dst#5 )
  (byte) myprintf::bLeadZero#3 ← phi( myprintf::@21/(byte) myprintf::bLeadZero#4 myprintf::@30/(byte) myprintf::bLeadZero#5 )
  (bool~) myprintf::$38 ← (byte) myprintf::bLeadZero#3 == (number) 0
  if((bool~) myprintf::$38) goto myprintf::@28
  to:myprintf::@29
myprintf::@28: scope:[myprintf]  from myprintf::@27
  (word) myprintf::w#37 ← phi( myprintf::@27/(word) myprintf::w#41 )
  (word) myprintf::w3#40 ← phi( myprintf::@27/(word) myprintf::w3#44 )
  (word) myprintf::w2#40 ← phi( myprintf::@27/(word) myprintf::w2#44 )
  (word) myprintf::w1#40 ← phi( myprintf::@27/(word) myprintf::w1#44 )
  (byte) myprintf::bArg#39 ← phi( myprintf::@27/(byte) myprintf::bArg#43 )
  (byte*) myprintf::str#41 ← phi( myprintf::@27/(byte*) myprintf::str#45 )
  (byte) myprintf::bTrailing#13 ← phi( myprintf::@27/(byte) myprintf::bTrailing#16 )
  (byte) myprintf::bLeadZero#7 ← phi( myprintf::@27/(byte) myprintf::bLeadZero#3 )
  (byte) myprintf::b#31 ← phi( myprintf::@27/(byte) myprintf::b#34 )
  (byte) myprintf::bDigits#10 ← phi( myprintf::@27/(byte) myprintf::bDigits#15 )
  (byte) myprintf::bLen#21 ← phi( myprintf::@27/(byte) myprintf::bLen#36 )
  (byte*) myprintf::dst#15 ← phi( myprintf::@27/(byte*) myprintf::dst#30 )
  (byte~) myprintf::$40 ← (byte) ' '
  to:myprintf::@30
myprintf::@29: scope:[myprintf]  from myprintf::@27
  (word) myprintf::w#38 ← phi( myprintf::@27/(word) myprintf::w#41 )
  (word) myprintf::w3#41 ← phi( myprintf::@27/(word) myprintf::w3#44 )
  (word) myprintf::w2#41 ← phi( myprintf::@27/(word) myprintf::w2#44 )
  (word) myprintf::w1#41 ← phi( myprintf::@27/(word) myprintf::w1#44 )
  (byte) myprintf::bArg#40 ← phi( myprintf::@27/(byte) myprintf::bArg#43 )
  (byte*) myprintf::str#42 ← phi( myprintf::@27/(byte*) myprintf::str#45 )
  (byte) myprintf::bTrailing#14 ← phi( myprintf::@27/(byte) myprintf::bTrailing#16 )
  (byte) myprintf::bLeadZero#8 ← phi( myprintf::@27/(byte) myprintf::bLeadZero#3 )
  (byte) myprintf::b#32 ← phi( myprintf::@27/(byte) myprintf::b#34 )
  (byte) myprintf::bDigits#11 ← phi( myprintf::@27/(byte) myprintf::bDigits#15 )
  (byte) myprintf::bLen#22 ← phi( myprintf::@27/(byte) myprintf::bLen#36 )
  (byte*) myprintf::dst#16 ← phi( myprintf::@27/(byte*) myprintf::dst#30 )
  (byte~) myprintf::$39 ← (byte) '0'
  to:myprintf::@30
myprintf::@30: scope:[myprintf]  from myprintf::@28 myprintf::@29
  (word) myprintf::w#35 ← phi( myprintf::@28/(word) myprintf::w#37 myprintf::@29/(word) myprintf::w#38 )
  (word) myprintf::w3#37 ← phi( myprintf::@28/(word) myprintf::w3#40 myprintf::@29/(word) myprintf::w3#41 )
  (word) myprintf::w2#37 ← phi( myprintf::@28/(word) myprintf::w2#40 myprintf::@29/(word) myprintf::w2#41 )
  (word) myprintf::w1#37 ← phi( myprintf::@28/(word) myprintf::w1#40 myprintf::@29/(word) myprintf::w1#41 )
  (byte) myprintf::bArg#36 ← phi( myprintf::@28/(byte) myprintf::bArg#39 myprintf::@29/(byte) myprintf::bArg#40 )
  (byte*) myprintf::str#38 ← phi( myprintf::@28/(byte*) myprintf::str#41 myprintf::@29/(byte*) myprintf::str#42 )
  (byte) myprintf::bTrailing#11 ← phi( myprintf::@28/(byte) myprintf::bTrailing#13 myprintf::@29/(byte) myprintf::bTrailing#14 )
  (byte) myprintf::bLeadZero#5 ← phi( myprintf::@28/(byte) myprintf::bLeadZero#7 myprintf::@29/(byte) myprintf::bLeadZero#8 )
  (byte) myprintf::b#20 ← phi( myprintf::@28/(byte) myprintf::b#31 myprintf::@29/(byte) myprintf::b#32 )
  (byte) myprintf::bDigits#6 ← phi( myprintf::@28/(byte) myprintf::bDigits#10 myprintf::@29/(byte) myprintf::bDigits#11 )
  (byte) myprintf::bLen#11 ← phi( myprintf::@28/(byte) myprintf::bLen#21 myprintf::@29/(byte) myprintf::bLen#22 )
  (byte*) myprintf::dst#5 ← phi( myprintf::@28/(byte*) myprintf::dst#15 myprintf::@29/(byte*) myprintf::dst#16 )
  (byte~) myprintf::$41 ← phi( myprintf::@28/(byte~) myprintf::$40 myprintf::@29/(byte~) myprintf::$39 )
  *((byte*) myprintf::dst#5 + (byte) myprintf::bLen#11) ← (byte~) myprintf::$41
  (byte) myprintf::bLen#4 ← ++ (byte) myprintf::bLen#11
  (byte) myprintf::bDigits#2 ← -- (byte) myprintf::bDigits#6
  (bool~) myprintf::$42 ← (byte) myprintf::bDigits#2 > (byte) myprintf::b#20
  if((bool~) myprintf::$42) goto myprintf::@27
  to:myprintf::@26
myprintf::@34: scope:[myprintf]  from myprintf::@26 myprintf::@34
  (byte) myprintf::bLeadZero#36 ← phi( myprintf::@26/(byte) myprintf::bLeadZero#40 myprintf::@34/(byte) myprintf::bLeadZero#36 )
  (word) myprintf::w#31 ← phi( myprintf::@26/(word) myprintf::w#33 myprintf::@34/(word) myprintf::w#31 )
  (word) myprintf::w3#31 ← phi( myprintf::@26/(word) myprintf::w3#33 myprintf::@34/(word) myprintf::w3#31 )
  (word) myprintf::w2#31 ← phi( myprintf::@26/(word) myprintf::w2#33 myprintf::@34/(word) myprintf::w2#31 )
  (word) myprintf::w1#30 ← phi( myprintf::@26/(word) myprintf::w1#33 myprintf::@34/(word) myprintf::w1#30 )
  (byte) myprintf::bArg#30 ← phi( myprintf::@26/(byte) myprintf::bArg#32 myprintf::@34/(byte) myprintf::bArg#30 )
  (byte*) myprintf::str#29 ← phi( myprintf::@26/(byte*) myprintf::str#34 myprintf::@34/(byte*) myprintf::str#29 )
  (byte) myprintf::bDigits#12 ← phi( myprintf::@26/(byte) myprintf::bDigits#16 myprintf::@34/(byte) myprintf::bDigits#12 )
  (byte) myprintf::bTrailing#6 ← phi( myprintf::@26/(byte) myprintf::bTrailing#9 myprintf::@34/(byte) myprintf::bTrailing#6 )
  (byte) myprintf::b#21 ← phi( myprintf::@26/(byte) myprintf::b#33 myprintf::@34/(byte) myprintf::b#21 )
  (byte) myprintf::bLen#12 ← phi( myprintf::@26/(byte) myprintf::bLen#23 myprintf::@34/(byte) myprintf::bLen#5 )
  (byte*) myprintf::dst#6 ← phi( myprintf::@26/(byte*) myprintf::dst#17 myprintf::@34/(byte*) myprintf::dst#6 )
  (byte) myprintf::digit#3 ← phi( myprintf::@26/(byte) myprintf::digit#1 myprintf::@34/(byte) myprintf::digit#2 )
  *((byte*) myprintf::dst#6 + (byte) myprintf::bLen#12) ← *((byte[6]) myprintf::buf6#0 + (byte) myprintf::digit#3)
  (byte) myprintf::bLen#5 ← ++ (byte) myprintf::bLen#12
  (byte) myprintf::digit#2 ← ++ (byte) myprintf::digit#3
  (bool~) myprintf::$43 ← (byte) myprintf::digit#2 < (byte) myprintf::b#21
  if((bool~) myprintf::$43) goto myprintf::@34
  to:myprintf::@35
myprintf::@35: scope:[myprintf]  from myprintf::@34
  (byte) myprintf::bLeadZero#25 ← phi( myprintf::@34/(byte) myprintf::bLeadZero#36 )
  (word) myprintf::w#25 ← phi( myprintf::@34/(word) myprintf::w#31 )
  (word) myprintf::w3#19 ← phi( myprintf::@34/(word) myprintf::w3#31 )
  (word) myprintf::w2#19 ← phi( myprintf::@34/(word) myprintf::w2#31 )
  (word) myprintf::w1#18 ← phi( myprintf::@34/(word) myprintf::w1#30 )
  (byte) myprintf::bArg#20 ← phi( myprintf::@34/(byte) myprintf::bArg#30 )
  (byte*) myprintf::str#16 ← phi( myprintf::@34/(byte*) myprintf::str#29 )
  (byte) myprintf::bLen#24 ← phi( myprintf::@34/(byte) myprintf::bLen#5 )
  (byte*) myprintf::dst#18 ← phi( myprintf::@34/(byte*) myprintf::dst#6 )
  (byte) myprintf::b#22 ← phi( myprintf::@34/(byte) myprintf::b#21 )
  (byte) myprintf::bDigits#7 ← phi( myprintf::@34/(byte) myprintf::bDigits#12 )
  (byte) myprintf::bTrailing#4 ← phi( myprintf::@34/(byte) myprintf::bTrailing#6 )
  (bool~) myprintf::$44 ← (byte) myprintf::bTrailing#4 != (number) 0
  (bool~) myprintf::$45 ← (byte) myprintf::bDigits#7 > (byte) myprintf::b#22
  (bool~) myprintf::$46 ← (bool~) myprintf::$44 && (bool~) myprintf::$45
  (bool~) myprintf::$47 ← ! (bool~) myprintf::$46
  if((bool~) myprintf::$47) goto myprintf::@40
  to:myprintf::@38
myprintf::@38: scope:[myprintf]  from myprintf::@35 myprintf::@38
  (byte) myprintf::bLeadZero#26 ← phi( myprintf::@35/(byte) myprintf::bLeadZero#25 myprintf::@38/(byte) myprintf::bLeadZero#26 )
  (byte) myprintf::bTrailing#28 ← phi( myprintf::@35/(byte) myprintf::bTrailing#4 myprintf::@38/(byte) myprintf::bTrailing#28 )
  (word) myprintf::w#26 ← phi( myprintf::@35/(word) myprintf::w#25 myprintf::@38/(word) myprintf::w#26 )
  (word) myprintf::w3#20 ← phi( myprintf::@35/(word) myprintf::w3#19 myprintf::@38/(word) myprintf::w3#20 )
  (word) myprintf::w2#20 ← phi( myprintf::@35/(word) myprintf::w2#19 myprintf::@38/(word) myprintf::w2#20 )
  (word) myprintf::w1#19 ← phi( myprintf::@35/(word) myprintf::w1#18 myprintf::@38/(word) myprintf::w1#19 )
  (byte) myprintf::bArg#21 ← phi( myprintf::@35/(byte) myprintf::bArg#20 myprintf::@38/(byte) myprintf::bArg#21 )
  (byte*) myprintf::str#17 ← phi( myprintf::@35/(byte*) myprintf::str#16 myprintf::@38/(byte*) myprintf::str#17 )
  (byte) myprintf::b#23 ← phi( myprintf::@35/(byte) myprintf::b#22 myprintf::@38/(byte) myprintf::b#23 )
  (byte) myprintf::bDigits#8 ← phi( myprintf::@35/(byte) myprintf::bDigits#7 myprintf::@38/(byte) myprintf::bDigits#3 )
  (byte) myprintf::bLen#13 ← phi( myprintf::@35/(byte) myprintf::bLen#24 myprintf::@38/(byte) myprintf::bLen#6 )
  (byte*) myprintf::dst#7 ← phi( myprintf::@35/(byte*) myprintf::dst#18 myprintf::@38/(byte*) myprintf::dst#7 )
  *((byte*) myprintf::dst#7 + (byte) myprintf::bLen#13) ← (byte) ' '
  (byte) myprintf::bLen#6 ← ++ (byte) myprintf::bLen#13
  (byte) myprintf::bDigits#3 ← -- (byte) myprintf::bDigits#8
  (bool~) myprintf::$48 ← (byte) myprintf::bDigits#3 > (byte) myprintf::b#23
  if((bool~) myprintf::$48) goto myprintf::@38
  to:myprintf::@40
myprintf::@40: scope:[myprintf]  from myprintf::@14 myprintf::@35 myprintf::@38 myprintf::@46 myprintf::@6
  (byte) myprintf::bLeadZero#19 ← phi( myprintf::@14/(byte) myprintf::bLeadZero#24 myprintf::@35/(byte) myprintf::bLeadZero#25 myprintf::@38/(byte) myprintf::bLeadZero#26 myprintf::@46/(byte) myprintf::bLeadZero#27 myprintf::@6/(byte) myprintf::bLeadZero#28 )
  (byte) myprintf::bDigits#25 ← phi( myprintf::@14/(byte) myprintf::bDigits#30 myprintf::@35/(byte) myprintf::bDigits#7 myprintf::@38/(byte) myprintf::bDigits#3 myprintf::@46/(byte) myprintf::bDigits#31 myprintf::@6/(byte) myprintf::bDigits#32 )
  (byte) myprintf::bTrailing#22 ← phi( myprintf::@14/(byte) myprintf::bTrailing#27 myprintf::@35/(byte) myprintf::bTrailing#4 myprintf::@38/(byte) myprintf::bTrailing#28 myprintf::@46/(byte) myprintf::bTrailing#29 myprintf::@6/(byte) myprintf::bTrailing#30 )
  (word) myprintf::w#18 ← phi( myprintf::@14/(word) myprintf::w#24 myprintf::@35/(word) myprintf::w#25 myprintf::@38/(word) myprintf::w#26 myprintf::@46/(word) myprintf::w#10 myprintf::@6/(word) myprintf::w#4 )
  (word) myprintf::w3#9 ← phi( myprintf::@14/(word) myprintf::w3#18 myprintf::@35/(word) myprintf::w3#19 myprintf::@38/(word) myprintf::w3#20 myprintf::@46/(word) myprintf::w3#21 myprintf::@6/(word) myprintf::w3#22 )
  (word) myprintf::w2#9 ← phi( myprintf::@14/(word) myprintf::w2#18 myprintf::@35/(word) myprintf::w2#19 myprintf::@38/(word) myprintf::w2#20 myprintf::@46/(word) myprintf::w2#21 myprintf::@6/(word) myprintf::w2#22 )
  (word) myprintf::w1#8 ← phi( myprintf::@14/(word) myprintf::w1#17 myprintf::@35/(word) myprintf::w1#18 myprintf::@38/(word) myprintf::w1#19 myprintf::@46/(word) myprintf::w1#20 myprintf::@6/(word) myprintf::w1#21 )
  (byte) myprintf::bArg#11 ← phi( myprintf::@14/(byte) myprintf::bArg#19 myprintf::@35/(byte) myprintf::bArg#20 myprintf::@38/(byte) myprintf::bArg#21 myprintf::@46/(byte) myprintf::bArg#22 myprintf::@6/(byte) myprintf::bArg#23 )
  (byte) myprintf::bLen#28 ← phi( myprintf::@14/(byte) myprintf::bLen#3 myprintf::@35/(byte) myprintf::bLen#24 myprintf::@38/(byte) myprintf::bLen#6 myprintf::@46/(byte) myprintf::bLen#41 myprintf::@6/(byte) myprintf::bLen#1 )
  (byte*) myprintf::dst#22 ← phi( myprintf::@14/(byte*) myprintf::dst#4 myprintf::@35/(byte*) myprintf::dst#18 myprintf::@38/(byte*) myprintf::dst#7 myprintf::@46/(byte*) myprintf::dst#35 myprintf::@6/(byte*) myprintf::dst#2 )
  (byte*) myprintf::str#6 ← phi( myprintf::@14/(byte*) myprintf::str#15 myprintf::@35/(byte*) myprintf::str#16 myprintf::@38/(byte*) myprintf::str#17 myprintf::@46/(byte*) myprintf::str#18 myprintf::@6/(byte*) myprintf::str#19 )
  (byte) myprintf::bFormat#1 ← (number) 0
  to:myprintf::@52
myprintf::@53: scope:[myprintf]  from myprintf::@2
  (byte) myprintf::bLeadZero#32 ← phi( myprintf::@2/(byte) myprintf::bLeadZero#37 )
  (byte) myprintf::bDigits#36 ← phi( myprintf::@2/(byte) myprintf::bDigits#40 )
  (byte) myprintf::bTrailing#34 ← phi( myprintf::@2/(byte) myprintf::bTrailing#38 )
  (word) myprintf::w#27 ← phi( myprintf::@2/(word) myprintf::w#32 )
  (word) myprintf::w3#25 ← phi( myprintf::@2/(word) myprintf::w3#5 )
  (word) myprintf::w2#25 ← phi( myprintf::@2/(word) myprintf::w2#5 )
  (word) myprintf::w1#24 ← phi( myprintf::@2/(word) myprintf::w1#4 )
  (byte) myprintf::bArg#24 ← phi( myprintf::@2/(byte) myprintf::bArg#5 )
  (byte) myprintf::bFormat#16 ← phi( myprintf::@2/(byte) myprintf::bFormat#18 )
  (byte*) myprintf::str#23 ← phi( myprintf::@2/(byte*) myprintf::str#30 )
  (byte) myprintf::bLen#25 ← phi( myprintf::@2/(byte) myprintf::bLen#37 )
  (byte*) myprintf::dst#19 ← phi( myprintf::@2/(byte*) myprintf::dst#31 )
  (byte) myprintf::b#24 ← phi( myprintf::@2/(byte) myprintf::b#7 )
  (bool~) myprintf::$54 ← (byte) myprintf::b#24 >= (number) $41
  (bool~) myprintf::$55 ← (byte) myprintf::b#24 <= (number) $5a
  (bool~) myprintf::$56 ← (bool~) myprintf::$54 && (bool~) myprintf::$55
  (bool~) myprintf::$57 ← ! (bool~) myprintf::$56
  if((bool~) myprintf::$57) goto myprintf::@60
  to:myprintf::@68
myprintf::@64: scope:[myprintf]  from myprintf::@2
  (byte) myprintf::bLen#49 ← phi( myprintf::@2/(byte) myprintf::bLen#37 )
  (byte*) myprintf::dst#44 ← phi( myprintf::@2/(byte*) myprintf::dst#31 )
  (byte*) myprintf::str#31 ← phi( myprintf::@2/(byte*) myprintf::str#30 )
  (word) myprintf::w3#4 ← phi( myprintf::@2/(word) myprintf::w3#5 )
  (word) myprintf::w2#4 ← phi( myprintf::@2/(word) myprintf::w2#5 )
  (word) myprintf::w1#3 ← phi( myprintf::@2/(word) myprintf::w1#4 )
  (byte) myprintf::bArg#2 ← phi( myprintf::@2/(byte) myprintf::bArg#5 )
  (byte) myprintf::bFormat#2 ← (number) 1
  (byte) myprintf::bLeadZero#2 ← (number) 0
  (byte) myprintf::bDigits#4 ← (number) 1
  (byte) myprintf::bTrailing#2 ← (number) 0
  (bool~) myprintf::$52 ← (byte) myprintf::bArg#2 == (number) 0
  if((bool~) myprintf::$52) goto myprintf::@54
  to:myprintf::@65
myprintf::@54: scope:[myprintf]  from myprintf::@64
  (byte) myprintf::bLeadZero#29 ← phi( myprintf::@64/(byte) myprintf::bLeadZero#2 )
  (byte) myprintf::bDigits#33 ← phi( myprintf::@64/(byte) myprintf::bDigits#4 )
  (byte) myprintf::bTrailing#31 ← phi( myprintf::@64/(byte) myprintf::bTrailing#2 )
  (word) myprintf::w3#23 ← phi( myprintf::@64/(word) myprintf::w3#4 )
  (word) myprintf::w2#23 ← phi( myprintf::@64/(word) myprintf::w2#4 )
  (byte) myprintf::bLen#43 ← phi( myprintf::@64/(byte) myprintf::bLen#49 )
  (byte*) myprintf::dst#37 ← phi( myprintf::@64/(byte*) myprintf::dst#44 )
  (byte) myprintf::bFormat#13 ← phi( myprintf::@64/(byte) myprintf::bFormat#2 )
  (byte*) myprintf::str#20 ← phi( myprintf::@64/(byte*) myprintf::str#31 )
  (byte) myprintf::bArg#6 ← phi( myprintf::@64/(byte) myprintf::bArg#2 )
  (word) myprintf::w1#2 ← phi( myprintf::@64/(word) myprintf::w1#3 )
  (word) myprintf::w#1 ← (word) myprintf::w1#2
  to:myprintf::@57
myprintf::@65: scope:[myprintf]  from myprintf::@64
  (byte) myprintf::bLeadZero#38 ← phi( myprintf::@64/(byte) myprintf::bLeadZero#2 )
  (byte) myprintf::bDigits#41 ← phi( myprintf::@64/(byte) myprintf::bDigits#4 )
  (byte) myprintf::bTrailing#39 ← phi( myprintf::@64/(byte) myprintf::bTrailing#2 )
  (word) myprintf::w1#31 ← phi( myprintf::@64/(word) myprintf::w1#3 )
  (byte) myprintf::bLen#50 ← phi( myprintf::@64/(byte) myprintf::bLen#49 )
  (byte*) myprintf::dst#45 ← phi( myprintf::@64/(byte*) myprintf::dst#44 )
  (byte) myprintf::bFormat#19 ← phi( myprintf::@64/(byte) myprintf::bFormat#2 )
  (byte*) myprintf::str#32 ← phi( myprintf::@64/(byte*) myprintf::str#31 )
  (word) myprintf::w3#3 ← phi( myprintf::@64/(word) myprintf::w3#4 )
  (word) myprintf::w2#3 ← phi( myprintf::@64/(word) myprintf::w2#4 )
  (byte) myprintf::bArg#3 ← phi( myprintf::@64/(byte) myprintf::bArg#2 )
  (bool~) myprintf::$53 ← (byte) myprintf::bArg#3 == (number) 1
  if((bool~) myprintf::$53) goto myprintf::@55
  to:myprintf::@66
myprintf::@55: scope:[myprintf]  from myprintf::@65
  (byte) myprintf::bLeadZero#30 ← phi( myprintf::@65/(byte) myprintf::bLeadZero#38 )
  (byte) myprintf::bDigits#34 ← phi( myprintf::@65/(byte) myprintf::bDigits#41 )
  (byte) myprintf::bTrailing#32 ← phi( myprintf::@65/(byte) myprintf::bTrailing#39 )
  (word) myprintf::w3#24 ← phi( myprintf::@65/(word) myprintf::w3#3 )
  (word) myprintf::w1#22 ← phi( myprintf::@65/(word) myprintf::w1#31 )
  (byte) myprintf::bLen#44 ← phi( myprintf::@65/(byte) myprintf::bLen#50 )
  (byte*) myprintf::dst#38 ← phi( myprintf::@65/(byte*) myprintf::dst#45 )
  (byte) myprintf::bFormat#14 ← phi( myprintf::@65/(byte) myprintf::bFormat#19 )
  (byte*) myprintf::str#21 ← phi( myprintf::@65/(byte*) myprintf::str#32 )
  (byte) myprintf::bArg#7 ← phi( myprintf::@65/(byte) myprintf::bArg#3 )
  (word) myprintf::w2#2 ← phi( myprintf::@65/(word) myprintf::w2#3 )
  (word) myprintf::w#2 ← (word) myprintf::w2#2
  to:myprintf::@57
myprintf::@66: scope:[myprintf]  from myprintf::@65
  (byte) myprintf::bLeadZero#31 ← phi( myprintf::@65/(byte) myprintf::bLeadZero#38 )
  (byte) myprintf::bDigits#35 ← phi( myprintf::@65/(byte) myprintf::bDigits#41 )
  (byte) myprintf::bTrailing#33 ← phi( myprintf::@65/(byte) myprintf::bTrailing#39 )
  (word) myprintf::w2#24 ← phi( myprintf::@65/(word) myprintf::w2#3 )
  (word) myprintf::w1#23 ← phi( myprintf::@65/(word) myprintf::w1#31 )
  (byte) myprintf::bLen#45 ← phi( myprintf::@65/(byte) myprintf::bLen#50 )
  (byte*) myprintf::dst#39 ← phi( myprintf::@65/(byte*) myprintf::dst#45 )
  (byte) myprintf::bFormat#15 ← phi( myprintf::@65/(byte) myprintf::bFormat#19 )
  (byte*) myprintf::str#22 ← phi( myprintf::@65/(byte*) myprintf::str#32 )
  (byte) myprintf::bArg#8 ← phi( myprintf::@65/(byte) myprintf::bArg#3 )
  (word) myprintf::w3#2 ← phi( myprintf::@65/(word) myprintf::w3#3 )
  (word) myprintf::w#3 ← (word) myprintf::w3#2
  to:myprintf::@57
myprintf::@57: scope:[myprintf]  from myprintf::@54 myprintf::@55 myprintf::@66
  (byte) myprintf::bLeadZero#22 ← phi( myprintf::@54/(byte) myprintf::bLeadZero#29 myprintf::@55/(byte) myprintf::bLeadZero#30 myprintf::@66/(byte) myprintf::bLeadZero#31 )
  (byte) myprintf::bDigits#27 ← phi( myprintf::@54/(byte) myprintf::bDigits#33 myprintf::@55/(byte) myprintf::bDigits#34 myprintf::@66/(byte) myprintf::bDigits#35 )
  (byte) myprintf::bTrailing#24 ← phi( myprintf::@54/(byte) myprintf::bTrailing#31 myprintf::@55/(byte) myprintf::bTrailing#32 myprintf::@66/(byte) myprintf::bTrailing#33 )
  (word) myprintf::w#21 ← phi( myprintf::@54/(word) myprintf::w#1 myprintf::@55/(word) myprintf::w#2 myprintf::@66/(word) myprintf::w#3 )
  (word) myprintf::w3#12 ← phi( myprintf::@54/(word) myprintf::w3#23 myprintf::@55/(word) myprintf::w3#24 myprintf::@66/(word) myprintf::w3#2 )
  (word) myprintf::w2#12 ← phi( myprintf::@54/(word) myprintf::w2#23 myprintf::@55/(word) myprintf::w2#2 myprintf::@66/(word) myprintf::w2#24 )
  (word) myprintf::w1#11 ← phi( myprintf::@54/(word) myprintf::w1#2 myprintf::@55/(word) myprintf::w1#22 myprintf::@66/(word) myprintf::w1#23 )
  (byte) myprintf::bLen#31 ← phi( myprintf::@54/(byte) myprintf::bLen#43 myprintf::@55/(byte) myprintf::bLen#44 myprintf::@66/(byte) myprintf::bLen#45 )
  (byte*) myprintf::dst#25 ← phi( myprintf::@54/(byte*) myprintf::dst#37 myprintf::@55/(byte*) myprintf::dst#38 myprintf::@66/(byte*) myprintf::dst#39 )
  (byte) myprintf::bFormat#7 ← phi( myprintf::@54/(byte) myprintf::bFormat#13 myprintf::@55/(byte) myprintf::bFormat#14 myprintf::@66/(byte) myprintf::bFormat#15 )
  (byte*) myprintf::str#9 ← phi( myprintf::@54/(byte*) myprintf::str#20 myprintf::@55/(byte*) myprintf::str#21 myprintf::@66/(byte*) myprintf::str#22 )
  (byte) myprintf::bArg#4 ← phi( myprintf::@54/(byte) myprintf::bArg#6 myprintf::@55/(byte) myprintf::bArg#7 myprintf::@66/(byte) myprintf::bArg#8 )
  (byte) myprintf::bArg#1 ← ++ (byte) myprintf::bArg#4
  to:myprintf::@52
myprintf::@60: scope:[myprintf]  from myprintf::@53 myprintf::@68
  (byte) myprintf::bLeadZero#23 ← phi( myprintf::@53/(byte) myprintf::bLeadZero#32 myprintf::@68/(byte) myprintf::bLeadZero#33 )
  (byte) myprintf::bDigits#28 ← phi( myprintf::@53/(byte) myprintf::bDigits#36 myprintf::@68/(byte) myprintf::bDigits#37 )
  (byte) myprintf::bTrailing#25 ← phi( myprintf::@53/(byte) myprintf::bTrailing#34 myprintf::@68/(byte) myprintf::bTrailing#35 )
  (word) myprintf::w#22 ← phi( myprintf::@53/(word) myprintf::w#27 myprintf::@68/(word) myprintf::w#28 )
  (word) myprintf::w3#13 ← phi( myprintf::@53/(word) myprintf::w3#25 myprintf::@68/(word) myprintf::w3#26 )
  (word) myprintf::w2#13 ← phi( myprintf::@53/(word) myprintf::w2#25 myprintf::@68/(word) myprintf::w2#26 )
  (word) myprintf::w1#12 ← phi( myprintf::@53/(word) myprintf::w1#24 myprintf::@68/(word) myprintf::w1#25 )
  (byte) myprintf::bArg#14 ← phi( myprintf::@53/(byte) myprintf::bArg#24 myprintf::@68/(byte) myprintf::bArg#25 )
  (byte) myprintf::bFormat#8 ← phi( myprintf::@53/(byte) myprintf::bFormat#16 myprintf::@68/(byte) myprintf::bFormat#17 )
  (byte*) myprintf::str#10 ← phi( myprintf::@53/(byte*) myprintf::str#23 myprintf::@68/(byte*) myprintf::str#24 )
  (byte) myprintf::bLen#14 ← phi( myprintf::@53/(byte) myprintf::bLen#25 myprintf::@68/(byte) myprintf::bLen#26 )
  (byte*) myprintf::dst#8 ← phi( myprintf::@53/(byte*) myprintf::dst#19 myprintf::@68/(byte*) myprintf::dst#20 )
  (byte) myprintf::b#25 ← phi( myprintf::@53/(byte) myprintf::b#24 myprintf::@68/(byte) myprintf::b#6 )
  *((byte*) myprintf::dst#8 + (byte) myprintf::bLen#14) ← (byte) myprintf::b#25
  (byte) myprintf::bLen#7 ← ++ (byte) myprintf::bLen#14
  to:myprintf::@52
myprintf::@68: scope:[myprintf]  from myprintf::@53
  (byte) myprintf::bLeadZero#33 ← phi( myprintf::@53/(byte) myprintf::bLeadZero#32 )
  (byte) myprintf::bDigits#37 ← phi( myprintf::@53/(byte) myprintf::bDigits#36 )
  (byte) myprintf::bTrailing#35 ← phi( myprintf::@53/(byte) myprintf::bTrailing#34 )
  (word) myprintf::w#28 ← phi( myprintf::@53/(word) myprintf::w#27 )
  (word) myprintf::w3#26 ← phi( myprintf::@53/(word) myprintf::w3#25 )
  (word) myprintf::w2#26 ← phi( myprintf::@53/(word) myprintf::w2#25 )
  (word) myprintf::w1#25 ← phi( myprintf::@53/(word) myprintf::w1#24 )
  (byte) myprintf::bArg#25 ← phi( myprintf::@53/(byte) myprintf::bArg#24 )
  (byte) myprintf::bFormat#17 ← phi( myprintf::@53/(byte) myprintf::bFormat#16 )
  (byte*) myprintf::str#24 ← phi( myprintf::@53/(byte*) myprintf::str#23 )
  (byte) myprintf::bLen#26 ← phi( myprintf::@53/(byte) myprintf::bLen#25 )
  (byte*) myprintf::dst#20 ← phi( myprintf::@53/(byte*) myprintf::dst#19 )
  (byte) myprintf::b#26 ← phi( myprintf::@53/(byte) myprintf::b#24 )
  (byte) myprintf::b#6 ← (byte) myprintf::b#26 + (number) $20
  to:myprintf::@60
myprintf::@69: scope:[myprintf]  from myprintf::@52
  (byte) myprintf::bLen#15 ← phi( myprintf::@52/(byte) myprintf::bLen#27 )
  (byte*) myprintf::dst#9 ← phi( myprintf::@52/(byte*) myprintf::dst#21 )
  *((byte*) myprintf::dst#9 + (byte) myprintf::bLen#15) ← (number) 0
  (byte) myprintf::return#0 ← (byte) myprintf::bLen#15
  to:myprintf::@return
myprintf::@return: scope:[myprintf]  from myprintf::@69
  (byte) myprintf::return#4 ← phi( myprintf::@69/(byte) myprintf::return#0 )
  (byte) myprintf::return#1 ← (byte) myprintf::return#4
  return 
  to:@return
Print: scope:[Print]  from main::@11 main::@14
  asm { ldy#0 loop: ldastrTemp,y beqdone jsr$FFD2 iny jmploop done:  }
  to:Print::@return
Print::@return: scope:[Print]  from Print
  return 
  to:@return
div10: scope:[div10]  from main::@6
  (word) div10::val#5 ← phi( main::@6/(word) div10::val#4 )
  (word~) div10::$0 ← (word) div10::val#5 >> (number) 1
  (number~) div10::$1 ← (word~) div10::$0 + (number) 1
  (word) div10::val#0 ← (number~) div10::$1
  (word~) div10::$2 ← (word) div10::val#0 << (number) 1
  (word) div10::val#1 ← (word) div10::val#0 + (word~) div10::$2
  (word~) div10::$3 ← (word) div10::val#1 >> (number) 4
  (word) div10::val#2 ← (word) div10::val#1 + (word~) div10::$3
  (word~) div10::$4 ← (word) div10::val#2 >> (number) 8
  (word) div10::val#3 ← (word) div10::val#2 + (word~) div10::$4
  (word~) div10::$5 ← (word) div10::val#3 >> (number) 4
  (word) div10::return#0 ← (word~) div10::$5
  to:div10::@return
div10::@return: scope:[div10]  from div10
  (word) div10::return#3 ← phi( div10/(word) div10::return#0 )
  (word) div10::return#1 ← (word) div10::return#3
  return 
  to:@return
main: scope:[main]  from @14
  (word) main::u#0 ← (word) 0
  (word) main::v#0 ← (word) 0
  *((byte*) VICBANK#0) ← (number) $17
  (word) main::u#1 ← (number) $6e85
  *((byte*) zp1#0) ← (number) 0
  to:main::@1
main::@1: scope:[main]  from main main::@12
  (word) main::u#11 ← phi( main/(word) main::u#1 main::@12/(word) main::u#2 )
  *((byte*) TIMEHI#0) ← (number) 0
  *((byte*) TIMELO#0) ← (number) 0
  *((byte*) zp2#0) ← (number) 0
  to:main::@2
main::@2: scope:[main]  from main::@1 main::@10
  (word) main::u#5 ← phi( main::@1/(word) main::u#11 main::@10/(word) main::u#12 )
  (word) div16u::dividend#0 ← (word) main::u#5
  (word) div16u::divisor#0 ← (number) $a
  call div16u 
  (word) div16u::return#2 ← (word) div16u::return#1
  to:main::@10
main::@10: scope:[main]  from main::@2
  (word) main::u#12 ← phi( main::@2/(word) main::u#5 )
  (word) div16u::return#4 ← phi( main::@2/(word) div16u::return#2 )
  (word~) main::$0 ← (word) div16u::return#4
  (word) main::v#1 ← (word~) main::$0
  *((byte*) zp2#0) ← ++ *((byte*) zp2#0)
  (bool~) main::$1 ← *((byte*) zp2#0) < (number) $c8
  if((bool~) main::$1) goto main::@2
  to:main::@3
main::@3: scope:[main]  from main::@10
  (word) main::v#3 ← phi( main::@10/(word) main::v#1 )
  (word) main::u#6 ← phi( main::@10/(word) main::u#12 )
  (word~) main::$2 ← ((word)) *((byte*) TIMEHI#0)
  (word~) main::$3 ← (word~) main::$2 << (number) 8
  (word~) main::$4 ← ((word)) *((byte*) TIMELO#0)
  (word~) main::$5 ← (word~) main::$3 + (word~) main::$4
  (byte*) myprintf::dst#0 ← (byte[$64]) strTemp#0
  (byte*) myprintf::str#1 ← (const string) main::str
  (word) myprintf::w1#0 ← (word) main::u#6
  (word) myprintf::w2#0 ← (word) main::v#3
  (word) myprintf::w3#0 ← (word~) main::$5
  call myprintf 
  (byte) myprintf::return#2 ← (byte) myprintf::return#1
  to:main::@11
main::@11: scope:[main]  from main::@3
  (word) main::u#13 ← phi( main::@3/(word) main::u#6 )
  call Print 
  to:main::@12
main::@12: scope:[main]  from main::@11
  (word) main::u#7 ← phi( main::@11/(word) main::u#13 )
  (word) main::u#2 ← (word) main::u#7 - (number) $4d2
  *((byte*) zp1#0) ← ++ *((byte*) zp1#0)
  (bool~) main::$8 ← *((byte*) zp1#0) < (number) $a
  if((bool~) main::$8) goto main::@1
  to:main::@4
main::@4: scope:[main]  from main::@12
  (word) main::u#3 ← (number) $6e85
  *((byte*) zp1#0) ← (number) 0
  to:main::@5
main::@5: scope:[main]  from main::@15 main::@4
  (word) main::u#15 ← phi( main::@15/(word) main::u#4 main::@4/(word) main::u#3 )
  *((byte*) TIMEHI#0) ← (number) 0
  *((byte*) TIMELO#0) ← (number) 0
  *((byte*) zp2#0) ← (number) 0
  to:main::@6
main::@6: scope:[main]  from main::@13 main::@5
  (word) main::u#8 ← phi( main::@13/(word) main::u#14 main::@5/(word) main::u#15 )
  (word) div10::val#4 ← (word) main::u#8
  call div10 
  (word) div10::return#2 ← (word) div10::return#1
  to:main::@13
main::@13: scope:[main]  from main::@6
  (word) main::u#14 ← phi( main::@6/(word) main::u#8 )
  (word) div10::return#4 ← phi( main::@6/(word) div10::return#2 )
  (word~) main::$9 ← (word) div10::return#4
  (word) main::v#2 ← (word~) main::$9
  *((byte*) zp2#0) ← ++ *((byte*) zp2#0)
  (bool~) main::$10 ← *((byte*) zp2#0) < (number) $c8
  if((bool~) main::$10) goto main::@6
  to:main::@7
main::@7: scope:[main]  from main::@13
  (word) main::v#4 ← phi( main::@13/(word) main::v#2 )
  (word) main::u#9 ← phi( main::@13/(word) main::u#14 )
  (word~) main::$11 ← ((word)) *((byte*) TIMEHI#0)
  (word~) main::$12 ← (word~) main::$11 << (number) 8
  (word~) main::$13 ← ((word)) *((byte*) TIMELO#0)
  (word~) main::$14 ← (word~) main::$12 + (word~) main::$13
  (byte*) myprintf::dst#1 ← (byte[$64]) strTemp#0
  (byte*) myprintf::str#2 ← (const string) main::str1
  (word) myprintf::w1#1 ← (word) main::u#9
  (word) myprintf::w2#1 ← (word) main::v#4
  (word) myprintf::w3#1 ← (word~) main::$14
  call myprintf 
  (byte) myprintf::return#3 ← (byte) myprintf::return#1
  to:main::@14
main::@14: scope:[main]  from main::@7
  (word) main::u#16 ← phi( main::@7/(word) main::u#9 )
  call Print 
  to:main::@15
main::@15: scope:[main]  from main::@14
  (word) main::u#10 ← phi( main::@14/(word) main::u#16 )
  (word) main::u#4 ← (word) main::u#10 - (number) $4d2
  *((byte*) zp1#0) ← ++ *((byte*) zp1#0)
  (bool~) main::$17 ← *((byte*) zp1#0) < (number) $a
  if((bool~) main::$17) goto main::@5
  to:main::@8
main::@8: scope:[main]  from main::@15
  (signed word) main::return#0 ← (number) 0
  to:main::@return
main::@return: scope:[main]  from main::@8
  (signed word) main::return#3 ← phi( main::@8/(signed word) main::return#0 )
  (signed word) main::return#1 ← (signed word) main::return#3
  return 
  to:@return
@14: scope:[]  from @8
  call main 
  (signed word) main::return#2 ← (signed word) main::return#1
  to:@15
@15: scope:[]  from @14
  to:@end
@end: scope:[]  from @15

SYMBOL TABLE SSA
(label) @14
(label) @15
(label) @8
(label) @begin
(label) @end
(void()) Print()
(label) Print::@return
(byte*) TIMEHI
(byte*) TIMEHI#0
(byte*) TIMELO
(byte*) TIMELO#0
(byte*) VICBANK
(byte*) VICBANK#0
(word()) append((byte*) append::dst , (word) append::value , (word) append::sub)
(bool~) append::$0
(label) append::@1
(label) append::@2
(label) append::@3
(label) append::@return
(byte*) append::dst
(byte*) append::dst#0
(byte*) append::dst#1
(byte*) append::dst#2
(byte*) append::dst#3
(byte*) append::dst#4
(byte*) append::dst#5
(byte*) append::dst#6
(word) append::return
(word) append::return#0
(word) append::return#1
(word) append::return#10
(word) append::return#2
(word) append::return#3
(word) append::return#4
(word) append::return#5
(word) append::return#6
(word) append::return#7
(word) append::return#8
(word) append::return#9
(word) append::sub
(word) append::sub#0
(word) append::sub#1
(word) append::sub#2
(word) append::sub#3
(word) append::sub#4
(word) append::sub#5
(word) append::sub#6
(word) append::value
(word) append::value#0
(word) append::value#1
(word) append::value#2
(word) append::value#3
(word) append::value#4
(word) append::value#5
(word) append::value#6
(word) append::value#7
(word) append::value#8
(word()) div10((word) div10::val)
(word~) div10::$0
(number~) div10::$1
(word~) div10::$2
(word~) div10::$3
(word~) div10::$4
(word~) div10::$5
(label) div10::@return
(word) div10::return
(word) div10::return#0
(word) div10::return#1
(word) div10::return#2
(word) div10::return#3
(word) div10::return#4
(word) div10::val
(word) div10::val#0
(word) div10::val#1
(word) div10::val#2
(word) div10::val#3
(word) div10::val#4
(word) div10::val#5
(word()) div16u((word) div16u::dividend , (word) div16u::divisor)
(word~) div16u::$0
(label) div16u::@2
(label) div16u::@return
(word) div16u::dividend
(word) div16u::dividend#0
(word) div16u::dividend#1
(word) div16u::divisor
(word) div16u::divisor#0
(word) div16u::divisor#1
(word) div16u::return
(word) div16u::return#0
(word) div16u::return#1
(word) div16u::return#2
(word) div16u::return#3
(word) div16u::return#4
(word()) divr16u((word) divr16u::dividend , (word) divr16u::divisor , (word) divr16u::rem)
(word~) divr16u::$0
(byte~) divr16u::$1
(word~) divr16u::$10
(bool~) divr16u::$11
(number~) divr16u::$2
(bool~) divr16u::$3
(bool~) divr16u::$4
(number~) divr16u::$5
(word~) divr16u::$6
(word~) divr16u::$7
(bool~) divr16u::$8
(bool~) divr16u::$9
(label) divr16u::@1
(label) divr16u::@2
(label) divr16u::@3
(label) divr16u::@4
(label) divr16u::@5
(label) divr16u::@6
(label) divr16u::@return
(word) divr16u::dividend
(word) divr16u::dividend#0
(word) divr16u::dividend#1
(word) divr16u::dividend#2
(word) divr16u::dividend#3
(word) divr16u::dividend#4
(word) divr16u::dividend#5
(word) divr16u::dividend#6
(word) divr16u::dividend#7
(word) divr16u::divisor
(word) divr16u::divisor#0
(word) divr16u::divisor#1
(word) divr16u::divisor#2
(word) divr16u::divisor#3
(word) divr16u::divisor#4
(word) divr16u::divisor#5
(word) divr16u::divisor#6
(byte) divr16u::i
(byte) divr16u::i#0
(byte) divr16u::i#1
(byte) divr16u::i#2
(byte) divr16u::i#3
(byte) divr16u::i#4
(byte) divr16u::i#5
(byte) divr16u::i#6
(word) divr16u::quotient
(word) divr16u::quotient#0
(word) divr16u::quotient#1
(word) divr16u::quotient#2
(word) divr16u::quotient#3
(word) divr16u::quotient#4
(word) divr16u::quotient#5
(word) divr16u::quotient#6
(word) divr16u::quotient#7
(word) divr16u::quotient#8
(word) divr16u::rem
(word) divr16u::rem#0
(word) divr16u::rem#1
(word) divr16u::rem#2
(word) divr16u::rem#3
(word) divr16u::rem#4
(word) divr16u::rem#5
(word) divr16u::rem#6
(word) divr16u::rem#7
(word) divr16u::rem#8
(word) divr16u::rem#9
(word) divr16u::return
(word) divr16u::return#0
(word) divr16u::return#1
(word) divr16u::return#2
(word) divr16u::return#3
(word) divr16u::return#4
(signed word()) main()
(word~) main::$0
(bool~) main::$1
(bool~) main::$10
(word~) main::$11
(word~) main::$12
(word~) main::$13
(word~) main::$14
(bool~) main::$17
(word~) main::$2
(word~) main::$3
(word~) main::$4
(word~) main::$5
(bool~) main::$8
(word~) main::$9
(label) main::@1
(label) main::@10
(label) main::@11
(label) main::@12
(label) main::@13
(label) main::@14
(label) main::@15
(label) main::@2
(label) main::@3
(label) main::@4
(label) main::@5
(label) main::@6
(label) main::@7
(label) main::@8
(label) main::@return
(signed word) main::return
(signed word) main::return#0
(signed word) main::return#1
(signed word) main::return#2
(signed word) main::return#3
(const string) main::str = (string) "200 DIV16U: %5d,%4d IN %04d FRAMESm@"
(const string) main::str1 = (string) "200 DIV10 : %5d,%4d IN %04d FRAMESm@"
(word) main::u
(word) main::u#0
(word) main::u#1
(word) main::u#10
(word) main::u#11
(word) main::u#12
(word) main::u#13
(word) main::u#14
(word) main::u#15
(word) main::u#16
(word) main::u#2
(word) main::u#3
(word) main::u#4
(word) main::u#5
(word) main::u#6
(word) main::u#7
(word) main::u#8
(word) main::u#9
(word) main::v
(word) main::v#0
(word) main::v#1
(word) main::v#2
(word) main::v#3
(word) main::v#4
(byte()) myprintf((byte*) myprintf::dst , (byte*) myprintf::str , (word) myprintf::w1 , (word) myprintf::w2 , (word) myprintf::w3)
(bool~) myprintf::$0
(bool~) myprintf::$1
(bool~) myprintf::$10
(bool~) myprintf::$11
(bool~) myprintf::$12
(bool~) myprintf::$13
(bool~) myprintf::$14
(bool~) myprintf::$15
(bool~) myprintf::$16
(byte~) myprintf::$17
(byte~) myprintf::$18
(number~) myprintf::$19
(bool~) myprintf::$2
(bool~) myprintf::$20
(number~) myprintf::$21
(byte~) myprintf::$22
(number~) myprintf::$23
(number~) myprintf::$24
(byte~) myprintf::$25
(number~) myprintf::$26
(bool~) myprintf::$27
(number~) myprintf::$28
(byte~) myprintf::$29
(bool~) myprintf::$3
(number~) myprintf::$30
(number~) myprintf::$31
(bool~) myprintf::$33
(bool~) myprintf::$34
(bool~) myprintf::$35
(bool~) myprintf::$36
(bool~) myprintf::$37
(bool~) myprintf::$38
(byte~) myprintf::$39
(bool~) myprintf::$4
(byte~) myprintf::$40
(byte~) myprintf::$41
(bool~) myprintf::$42
(bool~) myprintf::$43
(bool~) myprintf::$44
(bool~) myprintf::$45
(bool~) myprintf::$46
(bool~) myprintf::$47
(bool~) myprintf::$48
(byte~) myprintf::$49
(bool~) myprintf::$5
(bool~) myprintf::$50
(bool~) myprintf::$51
(bool~) myprintf::$52
(bool~) myprintf::$53
(bool~) myprintf::$54
(bool~) myprintf::$55
(bool~) myprintf::$56
(bool~) myprintf::$57
(bool~) myprintf::$58
(bool~) myprintf::$6
(bool~) myprintf::$7
(byte~) myprintf::$8
(bool~) myprintf::$9
(label) myprintf::@1
(label) myprintf::@10
(label) myprintf::@11
(label) myprintf::@12
(label) myprintf::@13
(label) myprintf::@14
(label) myprintf::@19
(label) myprintf::@2
(label) myprintf::@20
(label) myprintf::@21
(label) myprintf::@26
(label) myprintf::@27
(label) myprintf::@28
(label) myprintf::@29
(label) myprintf::@3
(label) myprintf::@30
(label) myprintf::@34
(label) myprintf::@35
(label) myprintf::@38
(label) myprintf::@4
(label) myprintf::@40
(label) myprintf::@41
(label) myprintf::@43
(label) myprintf::@45
(label) myprintf::@46
(label) myprintf::@47
(label) myprintf::@5
(label) myprintf::@52
(label) myprintf::@53
(label) myprintf::@54
(label) myprintf::@55
(label) myprintf::@57
(label) myprintf::@6
(label) myprintf::@60
(label) myprintf::@61
(label) myprintf::@62
(label) myprintf::@64
(label) myprintf::@65
(label) myprintf::@66
(label) myprintf::@68
(label) myprintf::@69
(label) myprintf::@7
(label) myprintf::@71
(label) myprintf::@9
(label) myprintf::@return
(byte) myprintf::b
(byte) myprintf::b#0
(byte) myprintf::b#1
(byte) myprintf::b#10
(byte) myprintf::b#11
(byte) myprintf::b#12
(byte) myprintf::b#13
(byte) myprintf::b#14
(byte) myprintf::b#15
(byte) myprintf::b#16
(byte) myprintf::b#17
(byte) myprintf::b#18
(byte) myprintf::b#19
(byte) myprintf::b#2
(byte) myprintf::b#20
(byte) myprintf::b#21
(byte) myprintf::b#22
(byte) myprintf::b#23
(byte) myprintf::b#24
(byte) myprintf::b#25
(byte) myprintf::b#26
(byte) myprintf::b#27
(byte) myprintf::b#28
(byte) myprintf::b#29
(byte) myprintf::b#3
(byte) myprintf::b#30
(byte) myprintf::b#31
(byte) myprintf::b#32
(byte) myprintf::b#33
(byte) myprintf::b#34
(byte) myprintf::b#4
(byte) myprintf::b#5
(byte) myprintf::b#6
(byte) myprintf::b#7
(byte) myprintf::b#8
(byte) myprintf::b#9
(byte) myprintf::bArg
(byte) myprintf::bArg#0
(byte) myprintf::bArg#1
(byte) myprintf::bArg#10
(byte) myprintf::bArg#11
(byte) myprintf::bArg#12
(byte) myprintf::bArg#13
(byte) myprintf::bArg#14
(byte) myprintf::bArg#15
(byte) myprintf::bArg#16
(byte) myprintf::bArg#17
(byte) myprintf::bArg#18
(byte) myprintf::bArg#19
(byte) myprintf::bArg#2
(byte) myprintf::bArg#20
(byte) myprintf::bArg#21
(byte) myprintf::bArg#22
(byte) myprintf::bArg#23
(byte) myprintf::bArg#24
(byte) myprintf::bArg#25
(byte) myprintf::bArg#26
(byte) myprintf::bArg#27
(byte) myprintf::bArg#28
(byte) myprintf::bArg#29
(byte) myprintf::bArg#3
(byte) myprintf::bArg#30
(byte) myprintf::bArg#31
(byte) myprintf::bArg#32
(byte) myprintf::bArg#33
(byte) myprintf::bArg#34
(byte) myprintf::bArg#35
(byte) myprintf::bArg#36
(byte) myprintf::bArg#37
(byte) myprintf::bArg#38
(byte) myprintf::bArg#39
(byte) myprintf::bArg#4
(byte) myprintf::bArg#40
(byte) myprintf::bArg#41
(byte) myprintf::bArg#42
(byte) myprintf::bArg#43
(byte) myprintf::bArg#44
(byte) myprintf::bArg#5
(byte) myprintf::bArg#6
(byte) myprintf::bArg#7
(byte) myprintf::bArg#8
(byte) myprintf::bArg#9
(byte) myprintf::bDigits
(byte) myprintf::bDigits#0
(byte) myprintf::bDigits#1
(byte) myprintf::bDigits#10
(byte) myprintf::bDigits#11
(byte) myprintf::bDigits#12
(byte) myprintf::bDigits#13
(byte) myprintf::bDigits#14
(byte) myprintf::bDigits#15
(byte) myprintf::bDigits#16
(byte) myprintf::bDigits#17
(byte) myprintf::bDigits#18
(byte) myprintf::bDigits#19
(byte) myprintf::bDigits#2
(byte) myprintf::bDigits#20
(byte) myprintf::bDigits#21
(byte) myprintf::bDigits#22
(byte) myprintf::bDigits#23
(byte) myprintf::bDigits#24
(byte) myprintf::bDigits#25
(byte) myprintf::bDigits#26
(byte) myprintf::bDigits#27
(byte) myprintf::bDigits#28
(byte) myprintf::bDigits#29
(byte) myprintf::bDigits#3
(byte) myprintf::bDigits#30
(byte) myprintf::bDigits#31
(byte) myprintf::bDigits#32
(byte) myprintf::bDigits#33
(byte) myprintf::bDigits#34
(byte) myprintf::bDigits#35
(byte) myprintf::bDigits#36
(byte) myprintf::bDigits#37
(byte) myprintf::bDigits#38
(byte) myprintf::bDigits#39
(byte) myprintf::bDigits#4
(byte) myprintf::bDigits#40
(byte) myprintf::bDigits#41
(byte) myprintf::bDigits#42
(byte) myprintf::bDigits#43
(byte) myprintf::bDigits#44
(byte) myprintf::bDigits#45
(byte) myprintf::bDigits#5
(byte) myprintf::bDigits#6
(byte) myprintf::bDigits#7
(byte) myprintf::bDigits#8
(byte) myprintf::bDigits#9
(byte) myprintf::bFormat
(byte) myprintf::bFormat#0
(byte) myprintf::bFormat#1
(byte) myprintf::bFormat#10
(byte) myprintf::bFormat#11
(byte) myprintf::bFormat#12
(byte) myprintf::bFormat#13
(byte) myprintf::bFormat#14
(byte) myprintf::bFormat#15
(byte) myprintf::bFormat#16
(byte) myprintf::bFormat#17
(byte) myprintf::bFormat#18
(byte) myprintf::bFormat#19
(byte) myprintf::bFormat#2
(byte) myprintf::bFormat#3
(byte) myprintf::bFormat#4
(byte) myprintf::bFormat#5
(byte) myprintf::bFormat#6
(byte) myprintf::bFormat#7
(byte) myprintf::bFormat#8
(byte) myprintf::bFormat#9
(byte) myprintf::bLeadZero
(byte) myprintf::bLeadZero#0
(byte) myprintf::bLeadZero#1
(byte) myprintf::bLeadZero#10
(byte) myprintf::bLeadZero#11
(byte) myprintf::bLeadZero#12
(byte) myprintf::bLeadZero#13
(byte) myprintf::bLeadZero#14
(byte) myprintf::bLeadZero#15
(byte) myprintf::bLeadZero#16
(byte) myprintf::bLeadZero#17
(byte) myprintf::bLeadZero#18
(byte) myprintf::bLeadZero#19
(byte) myprintf::bLeadZero#2
(byte) myprintf::bLeadZero#20
(byte) myprintf::bLeadZero#21
(byte) myprintf::bLeadZero#22
(byte) myprintf::bLeadZero#23
(byte) myprintf::bLeadZero#24
(byte) myprintf::bLeadZero#25
(byte) myprintf::bLeadZero#26
(byte) myprintf::bLeadZero#27
(byte) myprintf::bLeadZero#28
(byte) myprintf::bLeadZero#29
(byte) myprintf::bLeadZero#3
(byte) myprintf::bLeadZero#30
(byte) myprintf::bLeadZero#31
(byte) myprintf::bLeadZero#32
(byte) myprintf::bLeadZero#33
(byte) myprintf::bLeadZero#34
(byte) myprintf::bLeadZero#35
(byte) myprintf::bLeadZero#36
(byte) myprintf::bLeadZero#37
(byte) myprintf::bLeadZero#38
(byte) myprintf::bLeadZero#39
(byte) myprintf::bLeadZero#4
(byte) myprintf::bLeadZero#40
(byte) myprintf::bLeadZero#41
(byte) myprintf::bLeadZero#42
(byte) myprintf::bLeadZero#43
(byte) myprintf::bLeadZero#5
(byte) myprintf::bLeadZero#6
(byte) myprintf::bLeadZero#7
(byte) myprintf::bLeadZero#8
(byte) myprintf::bLeadZero#9
(byte) myprintf::bLen
(byte) myprintf::bLen#0
(byte) myprintf::bLen#1
(byte) myprintf::bLen#10
(byte) myprintf::bLen#11
(byte) myprintf::bLen#12
(byte) myprintf::bLen#13
(byte) myprintf::bLen#14
(byte) myprintf::bLen#15
(byte) myprintf::bLen#16
(byte) myprintf::bLen#17
(byte) myprintf::bLen#18
(byte) myprintf::bLen#19
(byte) myprintf::bLen#2
(byte) myprintf::bLen#20
(byte) myprintf::bLen#21
(byte) myprintf::bLen#22
(byte) myprintf::bLen#23
(byte) myprintf::bLen#24
(byte) myprintf::bLen#25
(byte) myprintf::bLen#26
(byte) myprintf::bLen#27
(byte) myprintf::bLen#28
(byte) myprintf::bLen#29
(byte) myprintf::bLen#3
(byte) myprintf::bLen#30
(byte) myprintf::bLen#31
(byte) myprintf::bLen#32
(byte) myprintf::bLen#33
(byte) myprintf::bLen#34
(byte) myprintf::bLen#35
(byte) myprintf::bLen#36
(byte) myprintf::bLen#37
(byte) myprintf::bLen#38
(byte) myprintf::bLen#39
(byte) myprintf::bLen#4
(byte) myprintf::bLen#40
(byte) myprintf::bLen#41
(byte) myprintf::bLen#42
(byte) myprintf::bLen#43
(byte) myprintf::bLen#44
(byte) myprintf::bLen#45
(byte) myprintf::bLen#46
(byte) myprintf::bLen#47
(byte) myprintf::bLen#48
(byte) myprintf::bLen#49
(byte) myprintf::bLen#5
(byte) myprintf::bLen#50
(byte) myprintf::bLen#51
(byte) myprintf::bLen#6
(byte) myprintf::bLen#7
(byte) myprintf::bLen#8
(byte) myprintf::bLen#9
(byte) myprintf::bTrailing
(byte) myprintf::bTrailing#0
(byte) myprintf::bTrailing#1
(byte) myprintf::bTrailing#10
(byte) myprintf::bTrailing#11
(byte) myprintf::bTrailing#12
(byte) myprintf::bTrailing#13
(byte) myprintf::bTrailing#14
(byte) myprintf::bTrailing#15
(byte) myprintf::bTrailing#16
(byte) myprintf::bTrailing#17
(byte) myprintf::bTrailing#18
(byte) myprintf::bTrailing#19
(byte) myprintf::bTrailing#2
(byte) myprintf::bTrailing#20
(byte) myprintf::bTrailing#21
(byte) myprintf::bTrailing#22
(byte) myprintf::bTrailing#23
(byte) myprintf::bTrailing#24
(byte) myprintf::bTrailing#25
(byte) myprintf::bTrailing#26
(byte) myprintf::bTrailing#27
(byte) myprintf::bTrailing#28
(byte) myprintf::bTrailing#29
(byte) myprintf::bTrailing#3
(byte) myprintf::bTrailing#30
(byte) myprintf::bTrailing#31
(byte) myprintf::bTrailing#32
(byte) myprintf::bTrailing#33
(byte) myprintf::bTrailing#34
(byte) myprintf::bTrailing#35
(byte) myprintf::bTrailing#36
(byte) myprintf::bTrailing#37
(byte) myprintf::bTrailing#38
(byte) myprintf::bTrailing#39
(byte) myprintf::bTrailing#4
(byte) myprintf::bTrailing#40
(byte) myprintf::bTrailing#41
(byte) myprintf::bTrailing#42
(byte) myprintf::bTrailing#43
(byte) myprintf::bTrailing#5
(byte) myprintf::bTrailing#6
(byte) myprintf::bTrailing#7
(byte) myprintf::bTrailing#8
(byte) myprintf::bTrailing#9
(byte[6]) myprintf::buf6
(byte[6]) myprintf::buf6#0
(byte) myprintf::digit
(byte) myprintf::digit#0
(byte) myprintf::digit#1
(byte) myprintf::digit#2
(byte) myprintf::digit#3
(byte*) myprintf::dst
(byte*) myprintf::dst#0
(byte*) myprintf::dst#1
(byte*) myprintf::dst#10
(byte*) myprintf::dst#11
(byte*) myprintf::dst#12
(byte*) myprintf::dst#13
(byte*) myprintf::dst#14
(byte*) myprintf::dst#15
(byte*) myprintf::dst#16
(byte*) myprintf::dst#17
(byte*) myprintf::dst#18
(byte*) myprintf::dst#19
(byte*) myprintf::dst#2
(byte*) myprintf::dst#20
(byte*) myprintf::dst#21
(byte*) myprintf::dst#22
(byte*) myprintf::dst#23
(byte*) myprintf::dst#24
(byte*) myprintf::dst#25
(byte*) myprintf::dst#26
(byte*) myprintf::dst#27
(byte*) myprintf::dst#28
(byte*) myprintf::dst#29
(byte*) myprintf::dst#3
(byte*) myprintf::dst#30
(byte*) myprintf::dst#31
(byte*) myprintf::dst#32
(byte*) myprintf::dst#33
(byte*) myprintf::dst#34
(byte*) myprintf::dst#35
(byte*) myprintf::dst#36
(byte*) myprintf::dst#37
(byte*) myprintf::dst#38
(byte*) myprintf::dst#39
(byte*) myprintf::dst#4
(byte*) myprintf::dst#40
(byte*) myprintf::dst#41
(byte*) myprintf::dst#42
(byte*) myprintf::dst#43
(byte*) myprintf::dst#44
(byte*) myprintf::dst#45
(byte*) myprintf::dst#46
(byte*) myprintf::dst#5
(byte*) myprintf::dst#6
(byte*) myprintf::dst#7
(byte*) myprintf::dst#8
(byte*) myprintf::dst#9
(byte) myprintf::return
(byte) myprintf::return#0
(byte) myprintf::return#1
(byte) myprintf::return#2
(byte) myprintf::return#3
(byte) myprintf::return#4
(byte*) myprintf::str
(byte*) myprintf::str#0
(byte*) myprintf::str#1
(byte*) myprintf::str#10
(byte*) myprintf::str#11
(byte*) myprintf::str#12
(byte*) myprintf::str#13
(byte*) myprintf::str#14
(byte*) myprintf::str#15
(byte*) myprintf::str#16
(byte*) myprintf::str#17
(byte*) myprintf::str#18
(byte*) myprintf::str#19
(byte*) myprintf::str#2
(byte*) myprintf::str#20
(byte*) myprintf::str#21
(byte*) myprintf::str#22
(byte*) myprintf::str#23
(byte*) myprintf::str#24
(byte*) myprintf::str#25
(byte*) myprintf::str#26
(byte*) myprintf::str#27
(byte*) myprintf::str#28
(byte*) myprintf::str#29
(byte*) myprintf::str#3
(byte*) myprintf::str#30
(byte*) myprintf::str#31
(byte*) myprintf::str#32
(byte*) myprintf::str#33
(byte*) myprintf::str#34
(byte*) myprintf::str#35
(byte*) myprintf::str#36
(byte*) myprintf::str#37
(byte*) myprintf::str#38
(byte*) myprintf::str#39
(byte*) myprintf::str#4
(byte*) myprintf::str#40
(byte*) myprintf::str#41
(byte*) myprintf::str#42
(byte*) myprintf::str#43
(byte*) myprintf::str#44
(byte*) myprintf::str#45
(byte*) myprintf::str#46
(byte*) myprintf::str#5
(byte*) myprintf::str#6
(byte*) myprintf::str#7
(byte*) myprintf::str#8
(byte*) myprintf::str#9
(word) myprintf::w
(word) myprintf::w#0
(word) myprintf::w#1
(word) myprintf::w#10
(word) myprintf::w#11
(word) myprintf::w#12
(word) myprintf::w#13
(word) myprintf::w#14
(word) myprintf::w#15
(word) myprintf::w#16
(word) myprintf::w#17
(word) myprintf::w#18
(word) myprintf::w#19
(word) myprintf::w#2
(word) myprintf::w#20
(word) myprintf::w#21
(word) myprintf::w#22
(word) myprintf::w#23
(word) myprintf::w#24
(word) myprintf::w#25
(word) myprintf::w#26
(word) myprintf::w#27
(word) myprintf::w#28
(word) myprintf::w#29
(word) myprintf::w#3
(word) myprintf::w#30
(word) myprintf::w#31
(word) myprintf::w#32
(word) myprintf::w#33
(word) myprintf::w#34
(word) myprintf::w#35
(word) myprintf::w#36
(word) myprintf::w#37
(word) myprintf::w#38
(word) myprintf::w#39
(word) myprintf::w#4
(word) myprintf::w#40
(word) myprintf::w#41
(word) myprintf::w#5
(word) myprintf::w#6
(word) myprintf::w#7
(word) myprintf::w#8
(word) myprintf::w#9
(word) myprintf::w1
(word) myprintf::w1#0
(word) myprintf::w1#1
(word) myprintf::w1#10
(word) myprintf::w1#11
(word) myprintf::w1#12
(word) myprintf::w1#13
(word) myprintf::w1#14
(word) myprintf::w1#15
(word) myprintf::w1#16
(word) myprintf::w1#17
(word) myprintf::w1#18
(word) myprintf::w1#19
(word) myprintf::w1#2
(word) myprintf::w1#20
(word) myprintf::w1#21
(word) myprintf::w1#22
(word) myprintf::w1#23
(word) myprintf::w1#24
(word) myprintf::w1#25
(word) myprintf::w1#26
(word) myprintf::w1#27
(word) myprintf::w1#28
(word) myprintf::w1#29
(word) myprintf::w1#3
(word) myprintf::w1#30
(word) myprintf::w1#31
(word) myprintf::w1#32
(word) myprintf::w1#33
(word) myprintf::w1#34
(word) myprintf::w1#35
(word) myprintf::w1#36
(word) myprintf::w1#37
(word) myprintf::w1#38
(word) myprintf::w1#39
(word) myprintf::w1#4
(word) myprintf::w1#40
(word) myprintf::w1#41
(word) myprintf::w1#42
(word) myprintf::w1#43
(word) myprintf::w1#44
(word) myprintf::w1#45
(word) myprintf::w1#5
(word) myprintf::w1#6
(word) myprintf::w1#7
(word) myprintf::w1#8
(word) myprintf::w1#9
(word) myprintf::w2
(word) myprintf::w2#0
(word) myprintf::w2#1
(word) myprintf::w2#10
(word) myprintf::w2#11
(word) myprintf::w2#12
(word) myprintf::w2#13
(word) myprintf::w2#14
(word) myprintf::w2#15
(word) myprintf::w2#16
(word) myprintf::w2#17
(word) myprintf::w2#18
(word) myprintf::w2#19
(word) myprintf::w2#2
(word) myprintf::w2#20
(word) myprintf::w2#21
(word) myprintf::w2#22
(word) myprintf::w2#23
(word) myprintf::w2#24
(word) myprintf::w2#25
(word) myprintf::w2#26
(word) myprintf::w2#27
(word) myprintf::w2#28
(word) myprintf::w2#29
(word) myprintf::w2#3
(word) myprintf::w2#30
(word) myprintf::w2#31
(word) myprintf::w2#32
(word) myprintf::w2#33
(word) myprintf::w2#34
(word) myprintf::w2#35
(word) myprintf::w2#36
(word) myprintf::w2#37
(word) myprintf::w2#38
(word) myprintf::w2#39
(word) myprintf::w2#4
(word) myprintf::w2#40
(word) myprintf::w2#41
(word) myprintf::w2#42
(word) myprintf::w2#43
(word) myprintf::w2#44
(word) myprintf::w2#45
(word) myprintf::w2#5
(word) myprintf::w2#6
(word) myprintf::w2#7
(word) myprintf::w2#8
(word) myprintf::w2#9
(word) myprintf::w3
(word) myprintf::w3#0
(word) myprintf::w3#1
(word) myprintf::w3#10
(word) myprintf::w3#11
(word) myprintf::w3#12
(word) myprintf::w3#13
(word) myprintf::w3#14
(word) myprintf::w3#15
(word) myprintf::w3#16
(word) myprintf::w3#17
(word) myprintf::w3#18
(word) myprintf::w3#19
(word) myprintf::w3#2
(word) myprintf::w3#20
(word) myprintf::w3#21
(word) myprintf::w3#22
(word) myprintf::w3#23
(word) myprintf::w3#24
(word) myprintf::w3#25
(word) myprintf::w3#26
(word) myprintf::w3#27
(word) myprintf::w3#28
(word) myprintf::w3#29
(word) myprintf::w3#3
(word) myprintf::w3#30
(word) myprintf::w3#31
(word) myprintf::w3#32
(word) myprintf::w3#33
(word) myprintf::w3#34
(word) myprintf::w3#35
(word) myprintf::w3#36
(word) myprintf::w3#37
(word) myprintf::w3#38
(word) myprintf::w3#39
(word) myprintf::w3#4
(word) myprintf::w3#40
(word) myprintf::w3#41
(word) myprintf::w3#42
(word) myprintf::w3#43
(word) myprintf::w3#44
(word) myprintf::w3#45
(word) myprintf::w3#5
(word) myprintf::w3#6
(word) myprintf::w3#7
(word) myprintf::w3#8
(word) myprintf::w3#9
(byte[$64]) strTemp
(byte[$64]) strTemp#0
(void()) utoa((word) utoa::value , (byte*) utoa::dst)
(bool~) utoa::$0
(bool~) utoa::$1
(bool~) utoa::$10
(bool~) utoa::$11
(bool~) utoa::$12
(bool~) utoa::$13
(bool~) utoa::$14
(bool~) utoa::$15
(byte~) utoa::$16
(byte~) utoa::$17
(word~) utoa::$18
(word~) utoa::$19
(bool~) utoa::$2
(word~) utoa::$20
(word~) utoa::$21
(bool~) utoa::$3
(bool~) utoa::$4
(bool~) utoa::$5
(bool~) utoa::$6
(bool~) utoa::$7
(bool~) utoa::$8
(bool~) utoa::$9
(label) utoa::@1
(label) utoa::@10
(label) utoa::@11
(label) utoa::@12
(label) utoa::@2
(label) utoa::@3
(label) utoa::@4
(label) utoa::@5
(label) utoa::@6
(label) utoa::@7
(label) utoa::@8
(label) utoa::@9
(label) utoa::@return
(byte) utoa::bStarted
(byte) utoa::bStarted#0
(byte) utoa::bStarted#1
(byte) utoa::bStarted#2
(byte) utoa::bStarted#3
(byte) utoa::bStarted#4
(byte) utoa::bStarted#5
(byte) utoa::bStarted#6
(byte) utoa::bStarted#7
(byte*) utoa::dst
(byte*) utoa::dst#0
(byte*) utoa::dst#1
(byte*) utoa::dst#10
(byte*) utoa::dst#11
(byte*) utoa::dst#12
(byte*) utoa::dst#13
(byte*) utoa::dst#14
(byte*) utoa::dst#15
(byte*) utoa::dst#16
(byte*) utoa::dst#17
(byte*) utoa::dst#18
(byte*) utoa::dst#2
(byte*) utoa::dst#3
(byte*) utoa::dst#4
(byte*) utoa::dst#5
(byte*) utoa::dst#6
(byte*) utoa::dst#7
(byte*) utoa::dst#8
(byte*) utoa::dst#9
(word) utoa::value
(word) utoa::value#0
(word) utoa::value#1
(word) utoa::value#10
(word) utoa::value#11
(word) utoa::value#12
(word) utoa::value#13
(word) utoa::value#2
(word) utoa::value#3
(word) utoa::value#4
(word) utoa::value#5
(word) utoa::value#6
(word) utoa::value#7
(word) utoa::value#8
(word) utoa::value#9
(byte*) zp1
(byte*) zp1#0
(byte*) zp2
(byte*) zp2#0

Adding number conversion cast (unumber) 0 in (word) divr16u::quotient#0 ← (number) 0
Adding number conversion cast (unumber) 1 in (word~) divr16u::$0 ← (word) divr16u::rem#4 << (number) 1
Adding number conversion cast (unumber) $80 in (number~) divr16u::$2 ← (byte~) divr16u::$1 & (number) $80
Adding number conversion cast (unumber) divr16u::$2 in (number~) divr16u::$2 ← (byte~) divr16u::$1 & (unumber)(number) $80
Adding number conversion cast (unumber) 0 in (bool~) divr16u::$3 ← (unumber~) divr16u::$2 != (number) 0
Adding number conversion cast (unumber) 1 in (word~) divr16u::$6 ← (word) divr16u::dividend#3 << (number) 1
Adding number conversion cast (unumber) 1 in (word~) divr16u::$7 ← (word) divr16u::quotient#3 << (number) 1
Adding number conversion cast (unumber) 1 in (number~) divr16u::$5 ← (word) divr16u::rem#6 | (number) 1
Adding number conversion cast (unumber) divr16u::$5 in (number~) divr16u::$5 ← (word) divr16u::rem#6 | (unumber)(number) 1
Adding number conversion cast (unumber) 0 in (word) divr16u::rem#3 ← (number) 0
Adding number conversion cast (unumber) 0 in (byte) utoa::bStarted#0 ← (number) 0
Adding number conversion cast (unumber) 1 in (bool~) utoa::$0 ← (byte) utoa::bStarted#0 == (number) 1
Adding number conversion cast (unumber) $2710 in (bool~) utoa::$1 ← (word) utoa::value#5 >= (number) $2710
Adding number conversion cast (unumber) 1 in (bool~) utoa::$4 ← (byte) utoa::bStarted#5 == (number) 1
Adding number conversion cast (unumber) $3e8 in (bool~) utoa::$5 ← (word) utoa::value#6 >= (number) $3e8
Adding number conversion cast (unumber) $2710 in (word) append::sub#0 ← (number) $2710
Adding number conversion cast (unumber) 1 in (byte) utoa::bStarted#1 ← (number) 1
Adding number conversion cast (unumber) 1 in (bool~) utoa::$8 ← (byte) utoa::bStarted#6 == (number) 1
Adding number conversion cast (unumber) $64 in (bool~) utoa::$9 ← (word) utoa::value#8 >= (number) $64
Adding number conversion cast (unumber) $3e8 in (word) append::sub#1 ← (number) $3e8
Adding number conversion cast (unumber) 1 in (byte) utoa::bStarted#2 ← (number) 1
Adding number conversion cast (unumber) 1 in (bool~) utoa::$12 ← (byte) utoa::bStarted#7 == (number) 1
Adding number conversion cast (unumber) $a in (bool~) utoa::$13 ← (word) utoa::value#10 >= (number) $a
Adding number conversion cast (unumber) $64 in (word) append::sub#2 ← (number) $64
Adding number conversion cast (unumber) 1 in (byte) utoa::bStarted#3 ← (number) 1
Adding number conversion cast (unumber) 0 in *((byte*) utoa::dst#3) ← (number) 0
Adding number conversion cast (unumber) $a in (word) append::sub#3 ← (number) $a
Adding number conversion cast (unumber) 1 in (byte) utoa::bStarted#4 ← (number) 1
Adding number conversion cast (unumber) 0 in (byte) myprintf::bArg#0 ← (number) 0
Adding number conversion cast (unumber) 0 in (byte) myprintf::bFormat#0 ← (number) 0
Adding number conversion cast (unumber) 0 in (byte) myprintf::bLen#0 ← (number) 0
Adding number conversion cast (unumber) 0 in (bool~) myprintf::$0 ← (byte) myprintf::bFormat#3 != (number) 0
Adding number conversion cast (unumber) 1 in (byte) myprintf::bLeadZero#1 ← (number) 1
Adding number conversion cast (unumber) 0 in (bool~) myprintf::$58 ← *((byte*) myprintf::str#0) != (number) 0
Adding number conversion cast (unumber) 1 in (byte) myprintf::bTrailing#1 ← (number) 1
Adding number conversion cast (unumber) 1 in (byte) myprintf::b#2 ← (number) 1
Adding number conversion cast (unumber) 4 in (byte~) myprintf::$18 ← (byte~) myprintf::$17 >> (number) 4
Adding number conversion cast (unumber) $f in (number~) myprintf::$19 ← (byte~) myprintf::$18 & (number) $f
Adding number conversion cast (unumber) myprintf::$19 in (number~) myprintf::$19 ← (byte~) myprintf::$18 & (unumber)(number) $f
Adding number conversion cast (unumber) $a in (bool~) myprintf::$20 ← (byte) myprintf::b#3 < (number) $a
Adding number conversion cast (unumber) myprintf::$23 in (byte) myprintf::bLeadZero#39 ← phi( myprintf::@10/(byte) myprintf::bLeadZero#41 myprintf::@9/(byte) myprintf::bLeadZero#42 )
  (byte) myprintf::bDigits#42 ← phi( myprintf::@10/(byte) myprintf::bDigits#43 myprintf::@9/(byte) myprintf::bDigits#44 )
  (byte) myprintf::bTrailing#40 ← phi( myprintf::@10/(byte) myprintf::bTrailing#41 myprintf::@9/(byte) myprintf::bTrailing#42 )
  (word) myprintf::w3#32 ← phi( myprintf::@10/(word) myprintf::w3#34 myprintf::@9/(word) myprintf::w3#35 )
  (word) myprintf::w2#32 ← phi( myprintf::@10/(word) myprintf::w2#34 myprintf::@9/(word) myprintf::w2#35 )
  (word) myprintf::w1#32 ← phi( myprintf::@10/(word) myprintf::w1#34 myprintf::@9/(word) myprintf::w1#35 )
  (byte) myprintf::bArg#31 ← phi( myprintf::@10/(byte) myprintf::bArg#33 myprintf::@9/(byte) myprintf::bArg#34 )
  (byte*) myprintf::str#33 ← phi( myprintf::@10/(byte*) myprintf::str#35 myprintf::@9/(byte*) myprintf::str#36 )
  (word) myprintf::w#7 ← phi( myprintf::@10/(word) myprintf::w#11 myprintf::@9/(word) myprintf::w#12 )
  (byte) myprintf::bLen#9 ← phi( myprintf::@10/(byte) myprintf::bLen#17 myprintf::@9/(byte) myprintf::bLen#18 )
  (byte*) myprintf::dst#3 ← phi( myprintf::@10/(byte*) myprintf::dst#11 myprintf::@9/(byte*) myprintf::dst#12 )
  (byte) myprintf::b#15 ← phi( myprintf::@10/(byte) myprintf::b#27 myprintf::@9/(byte) myprintf::b#28 )
  (number~) myprintf::$23 ← phi( myprintf::@9/(byte~) myprintf::$22 myprintf::@10/(number~) myprintf::$21 )
Adding number conversion cast (unumber) myprintf::$21 in (byte) myprintf::bLeadZero#39 ← phi( myprintf::@10/(byte) myprintf::bLeadZero#41 myprintf::@9/(byte) myprintf::bLeadZero#42 )
  (byte) myprintf::bDigits#42 ← phi( myprintf::@10/(byte) myprintf::bDigits#43 myprintf::@9/(byte) myprintf::bDigits#44 )
  (byte) myprintf::bTrailing#40 ← phi( myprintf::@10/(byte) myprintf::bTrailing#41 myprintf::@9/(byte) myprintf::bTrailing#42 )
  (word) myprintf::w3#32 ← phi( myprintf::@10/(word) myprintf::w3#34 myprintf::@9/(word) myprintf::w3#35 )
  (word) myprintf::w2#32 ← phi( myprintf::@10/(word) myprintf::w2#34 myprintf::@9/(word) myprintf::w2#35 )
  (word) myprintf::w1#32 ← phi( myprintf::@10/(word) myprintf::w1#34 myprintf::@9/(word) myprintf::w1#35 )
  (byte) myprintf::bArg#31 ← phi( myprintf::@10/(byte) myprintf::bArg#33 myprintf::@9/(byte) myprintf::bArg#34 )
  (byte*) myprintf::str#33 ← phi( myprintf::@10/(byte*) myprintf::str#35 myprintf::@9/(byte*) myprintf::str#36 )
  (word) myprintf::w#7 ← phi( myprintf::@10/(word) myprintf::w#11 myprintf::@9/(word) myprintf::w#12 )
  (byte) myprintf::bLen#9 ← phi( myprintf::@10/(byte) myprintf::bLen#17 myprintf::@9/(byte) myprintf::bLen#18 )
  (byte*) myprintf::dst#3 ← phi( myprintf::@10/(byte*) myprintf::dst#11 myprintf::@9/(byte*) myprintf::dst#12 )
  (byte) myprintf::b#15 ← phi( myprintf::@10/(byte) myprintf::b#27 myprintf::@9/(byte) myprintf::b#28 )
  (unumber~) myprintf::$23 ← phi( myprintf::@9/(byte~) myprintf::$22 myprintf::@10/(number~) myprintf::$21 )
Adding number conversion cast (unumber) myprintf::$24 in (number~) myprintf::$24 ← (unumber~) myprintf::$23 + (byte) myprintf::b#15
Adding number conversion cast (unumber) $f in (number~) myprintf::$26 ← (byte~) myprintf::$25 & (number) $f
Adding number conversion cast (unumber) myprintf::$26 in (number~) myprintf::$26 ← (byte~) myprintf::$25 & (unumber)(number) $f
Adding number conversion cast (unumber) $a in (bool~) myprintf::$27 ← (byte) myprintf::b#4 < (number) $a
Adding number conversion cast (unumber) myprintf::$30 in (byte) myprintf::bLeadZero#24 ← phi( myprintf::@12/(byte) myprintf::bLeadZero#34 myprintf::@13/(byte) myprintf::bLeadZero#35 )
  (byte) myprintf::bDigits#30 ← phi( myprintf::@12/(byte) myprintf::bDigits#38 myprintf::@13/(byte) myprintf::bDigits#39 )
  (byte) myprintf::bTrailing#27 ← phi( myprintf::@12/(byte) myprintf::bTrailing#36 myprintf::@13/(byte) myprintf::bTrailing#37 )
  (word) myprintf::w#24 ← phi( myprintf::@12/(word) myprintf::w#29 myprintf::@13/(word) myprintf::w#30 )
  (word) myprintf::w3#18 ← phi( myprintf::@12/(word) myprintf::w3#29 myprintf::@13/(word) myprintf::w3#30 )
  (word) myprintf::w2#18 ← phi( myprintf::@12/(word) myprintf::w2#29 myprintf::@13/(word) myprintf::w2#30 )
  (word) myprintf::w1#17 ← phi( myprintf::@12/(word) myprintf::w1#28 myprintf::@13/(word) myprintf::w1#29 )
  (byte) myprintf::bArg#19 ← phi( myprintf::@12/(byte) myprintf::bArg#28 myprintf::@13/(byte) myprintf::bArg#29 )
  (byte*) myprintf::str#15 ← phi( myprintf::@12/(byte*) myprintf::str#27 myprintf::@13/(byte*) myprintf::str#28 )
  (byte) myprintf::bLen#10 ← phi( myprintf::@12/(byte) myprintf::bLen#19 myprintf::@13/(byte) myprintf::bLen#20 )
  (byte*) myprintf::dst#4 ← phi( myprintf::@12/(byte*) myprintf::dst#13 myprintf::@13/(byte*) myprintf::dst#14 )
  (byte) myprintf::b#16 ← phi( myprintf::@12/(byte) myprintf::b#29 myprintf::@13/(byte) myprintf::b#30 )
  (number~) myprintf::$30 ← phi( myprintf::@12/(byte~) myprintf::$29 myprintf::@13/(number~) myprintf::$28 )
Adding number conversion cast (unumber) myprintf::$28 in (byte) myprintf::bLeadZero#24 ← phi( myprintf::@12/(byte) myprintf::bLeadZero#34 myprintf::@13/(byte) myprintf::bLeadZero#35 )
  (byte) myprintf::bDigits#30 ← phi( myprintf::@12/(byte) myprintf::bDigits#38 myprintf::@13/(byte) myprintf::bDigits#39 )
  (byte) myprintf::bTrailing#27 ← phi( myprintf::@12/(byte) myprintf::bTrailing#36 myprintf::@13/(byte) myprintf::bTrailing#37 )
  (word) myprintf::w#24 ← phi( myprintf::@12/(word) myprintf::w#29 myprintf::@13/(word) myprintf::w#30 )
  (word) myprintf::w3#18 ← phi( myprintf::@12/(word) myprintf::w3#29 myprintf::@13/(word) myprintf::w3#30 )
  (word) myprintf::w2#18 ← phi( myprintf::@12/(word) myprintf::w2#29 myprintf::@13/(word) myprintf::w2#30 )
  (word) myprintf::w1#17 ← phi( myprintf::@12/(word) myprintf::w1#28 myprintf::@13/(word) myprintf::w1#29 )
  (byte) myprintf::bArg#19 ← phi( myprintf::@12/(byte) myprintf::bArg#28 myprintf::@13/(byte) myprintf::bArg#29 )
  (byte*) myprintf::str#15 ← phi( myprintf::@12/(byte*) myprintf::str#27 myprintf::@13/(byte*) myprintf::str#28 )
  (byte) myprintf::bLen#10 ← phi( myprintf::@12/(byte) myprintf::bLen#19 myprintf::@13/(byte) myprintf::bLen#20 )
  (byte*) myprintf::dst#4 ← phi( myprintf::@12/(byte*) myprintf::dst#13 myprintf::@13/(byte*) myprintf::dst#14 )
  (byte) myprintf::b#16 ← phi( myprintf::@12/(byte) myprintf::b#29 myprintf::@13/(byte) myprintf::b#30 )
  (unumber~) myprintf::$30 ← phi( myprintf::@12/(byte~) myprintf::$29 myprintf::@13/(number~) myprintf::$28 )
Adding number conversion cast (unumber) myprintf::$31 in (number~) myprintf::$31 ← (unumber~) myprintf::$30 + (byte) myprintf::b#16
Adding number conversion cast (unumber) 0 in (bool~) myprintf::$33 ← *((byte[6]) myprintf::buf6#0 + (byte) myprintf::b#17) != (number) 0
Adding number conversion cast (unumber) 0 in (bool~) myprintf::$34 ← (byte) myprintf::bTrailing#3 == (number) 0
Adding number conversion cast (unumber) 0 in (byte) myprintf::digit#1 ← (number) 0
Adding number conversion cast (unumber) 0 in (bool~) myprintf::$38 ← (byte) myprintf::bLeadZero#3 == (number) 0
Adding number conversion cast (unumber) 0 in (bool~) myprintf::$44 ← (byte) myprintf::bTrailing#4 != (number) 0
Adding number conversion cast (unumber) 0 in (byte) myprintf::bFormat#1 ← (number) 0
Adding number conversion cast (unumber) $41 in (bool~) myprintf::$54 ← (byte) myprintf::b#24 >= (number) $41
Adding number conversion cast (unumber) $5a in (bool~) myprintf::$55 ← (byte) myprintf::b#24 <= (number) $5a
Adding number conversion cast (unumber) 1 in (byte) myprintf::bFormat#2 ← (number) 1
Adding number conversion cast (unumber) 0 in (byte) myprintf::bLeadZero#2 ← (number) 0
Adding number conversion cast (unumber) 1 in (byte) myprintf::bDigits#4 ← (number) 1
Adding number conversion cast (unumber) 0 in (byte) myprintf::bTrailing#2 ← (number) 0
Adding number conversion cast (unumber) 0 in (bool~) myprintf::$52 ← (byte) myprintf::bArg#2 == (number) 0
Adding number conversion cast (unumber) 1 in (bool~) myprintf::$53 ← (byte) myprintf::bArg#3 == (number) 1
Adding number conversion cast (unumber) $20 in (byte) myprintf::b#6 ← (byte) myprintf::b#26 + (number) $20
Adding number conversion cast (unumber) 0 in *((byte*) myprintf::dst#9 + (byte) myprintf::bLen#15) ← (number) 0
Adding number conversion cast (unumber) 1 in (word~) div10::$0 ← (word) div10::val#5 >> (number) 1
Adding number conversion cast (unumber) 1 in (number~) div10::$1 ← (word~) div10::$0 + (number) 1
Adding number conversion cast (unumber) div10::$1 in (number~) div10::$1 ← (word~) div10::$0 + (unumber)(number) 1
Adding number conversion cast (unumber) 1 in (word~) div10::$2 ← (word) div10::val#0 << (number) 1
Adding number conversion cast (unumber) 4 in (word~) div10::$3 ← (word) div10::val#1 >> (number) 4
Adding number conversion cast (unumber) 8 in (word~) div10::$4 ← (word) div10::val#2 >> (number) 8
Adding number conversion cast (unumber) 4 in (word~) div10::$5 ← (word) div10::val#3 >> (number) 4
Adding number conversion cast (unumber) $17 in *((byte*) VICBANK#0) ← (number) $17
Adding number conversion cast (unumber) $6e85 in (word) main::u#1 ← (number) $6e85
Adding number conversion cast (unumber) 0 in *((byte*) zp1#0) ← (number) 0
Adding number conversion cast (unumber) 0 in *((byte*) TIMEHI#0) ← (number) 0
Adding number conversion cast (unumber) 0 in *((byte*) TIMELO#0) ← (number) 0
Adding number conversion cast (unumber) 0 in *((byte*) zp2#0) ← (number) 0
Adding number conversion cast (unumber) $a in (word) div16u::divisor#0 ← (number) $a
Adding number conversion cast (unumber) $c8 in (bool~) main::$1 ← *((byte*) zp2#0) < (number) $c8
Adding number conversion cast (unumber) 8 in (word~) main::$3 ← (word~) main::$2 << (number) 8
Adding number conversion cast (unumber) $4d2 in (word) main::u#2 ← (word) main::u#7 - (number) $4d2
Adding number conversion cast (unumber) $a in (bool~) main::$8 ← *((byte*) zp1#0) < (number) $a
Adding number conversion cast (unumber) $6e85 in (word) main::u#3 ← (number) $6e85
Adding number conversion cast (unumber) 0 in *((byte*) zp1#0) ← (number) 0
Adding number conversion cast (unumber) 0 in *((byte*) TIMEHI#0) ← (number) 0
Adding number conversion cast (unumber) 0 in *((byte*) TIMELO#0) ← (number) 0
Adding number conversion cast (unumber) 0 in *((byte*) zp2#0) ← (number) 0
Adding number conversion cast (unumber) $c8 in (bool~) main::$10 ← *((byte*) zp2#0) < (number) $c8
Adding number conversion cast (unumber) 8 in (word~) main::$12 ← (word~) main::$11 << (number) 8
Adding number conversion cast (unumber) $4d2 in (word) main::u#4 ← (word) main::u#10 - (number) $4d2
Adding number conversion cast (unumber) $a in (bool~) main::$17 ← *((byte*) zp1#0) < (number) $a
Adding number conversion cast (snumber) 0 in (signed word) main::return#0 ← (number) 0
Successful SSA optimization PassNAddNumberTypeConversions
Adding number conversion cast (unumber) $57 in (unumber~) myprintf::$21 ← (number) $57
Adding number conversion cast (unumber) $57 in (unumber~) myprintf::$28 ← (number) $57
Successful SSA optimization PassNAddNumberTypeConversions
Inlining cast (word) divr16u::quotient#0 ← (unumber)(number) 0
Inlining cast (word) divr16u::rem#3 ← (unumber)(number) 0
Inlining cast (byte*) zp1#0 ← (byte*)(number) $61
Inlining cast (byte*) zp2#0 ← (byte*)(number) $62
Inlining cast (byte*) TIMEHI#0 ← (byte*)(number) $a1
Inlining cast (byte*) TIMELO#0 ← (byte*)(number) $a2
Inlining cast (byte*) VICBANK#0 ← (byte*)(number) $d018
Inlining cast (byte) utoa::bStarted#0 ← (unumber)(number) 0
Inlining cast (word) append::sub#0 ← (unumber)(number) $2710
Inlining cast (byte) utoa::bStarted#1 ← (unumber)(number) 1
Inlining cast (word) append::sub#1 ← (unumber)(number) $3e8
Inlining cast (byte) utoa::bStarted#2 ← (unumber)(number) 1
Inlining cast (word) append::sub#2 ← (unumber)(number) $64
Inlining cast (byte) utoa::bStarted#3 ← (unumber)(number) 1
Inlining cast (byte~) utoa::$16 ← (byte)(word) utoa::value#12
Inlining cast *((byte*) utoa::dst#3) ← (unumber)(number) 0
Inlining cast (word) append::sub#3 ← (unumber)(number) $a
Inlining cast (byte) utoa::bStarted#4 ← (unumber)(number) 1
Inlining cast (byte) myprintf::bArg#0 ← (unumber)(number) 0
Inlining cast (byte) myprintf::bFormat#0 ← (unumber)(number) 0
Inlining cast (byte) myprintf::bLen#0 ← (unumber)(number) 0
Inlining cast (byte) myprintf::bLeadZero#1 ← (unumber)(number) 1
Inlining cast (byte) myprintf::bTrailing#1 ← (unumber)(number) 1
Inlining cast (byte~) myprintf::$49 ← (byte)(word) myprintf::w#4
Inlining cast (byte) myprintf::b#2 ← (unumber)(number) 1
Inlining cast (byte~) myprintf::$17 ← (byte)(word) myprintf::w#6
Inlining cast (unumber~) myprintf::$21 ← (unumber)(number) $57
Inlining cast (byte~) myprintf::$25 ← (byte)(word) myprintf::w#7
Inlining cast (unumber~) myprintf::$28 ← (unumber)(number) $57
Inlining cast (byte) myprintf::digit#1 ← (unumber)(number) 0
Inlining cast (byte) myprintf::bFormat#1 ← (unumber)(number) 0
Inlining cast (byte) myprintf::bFormat#2 ← (unumber)(number) 1
Inlining cast (byte) myprintf::bLeadZero#2 ← (unumber)(number) 0
Inlining cast (byte) myprintf::bDigits#4 ← (unumber)(number) 1
Inlining cast (byte) myprintf::bTrailing#2 ← (unumber)(number) 0
Inlining cast *((byte*) myprintf::dst#9 + (byte) myprintf::bLen#15) ← (unumber)(number) 0
Inlining cast *((byte*) VICBANK#0) ← (unumber)(number) $17
Inlining cast (word) main::u#1 ← (unumber)(number) $6e85
Inlining cast *((byte*) zp1#0) ← (unumber)(number) 0
Inlining cast *((byte*) TIMEHI#0) ← (unumber)(number) 0
Inlining cast *((byte*) TIMELO#0) ← (unumber)(number) 0
Inlining cast *((byte*) zp2#0) ← (unumber)(number) 0
Inlining cast (word) div16u::divisor#0 ← (unumber)(number) $a
Inlining cast (word~) main::$2 ← (word)*((byte*) TIMEHI#0)
Inlining cast (word~) main::$4 ← (word)*((byte*) TIMELO#0)
Inlining cast (word) main::u#3 ← (unumber)(number) $6e85
Inlining cast *((byte*) zp1#0) ← (unumber)(number) 0
Inlining cast *((byte*) TIMEHI#0) ← (unumber)(number) 0
Inlining cast *((byte*) TIMELO#0) ← (unumber)(number) 0
Inlining cast *((byte*) zp2#0) ← (unumber)(number) 0
Inlining cast (word~) main::$11 ← (word)*((byte*) TIMEHI#0)
Inlining cast (word~) main::$13 ← (word)*((byte*) TIMELO#0)
Inlining cast (signed word) main::return#0 ← (snumber)(number) 0
Successful SSA optimization Pass2InlineCast
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast $80
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast 1
Simplifying constant integer cast 1
Simplifying constant integer cast 0
Simplifying constant pointer cast (byte*) 97
Simplifying constant pointer cast (byte*) 98
Simplifying constant pointer cast (byte*) 161
Simplifying constant pointer cast (byte*) 162
Simplifying constant pointer cast (byte*) 53272
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast $2710
Simplifying constant integer cast 1
Simplifying constant integer cast $3e8
Simplifying constant integer cast $2710
Simplifying constant integer cast 1
Simplifying constant integer cast 1
Simplifying constant integer cast $64
Simplifying constant integer cast $3e8
Simplifying constant integer cast 1
Simplifying constant integer cast 1
Simplifying constant integer cast $a
Simplifying constant integer cast $64
Simplifying constant integer cast 1
Simplifying constant integer cast 0
Simplifying constant integer cast $a
Simplifying constant integer cast 1
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast 1
Simplifying constant integer cast 4
Simplifying constant integer cast $f
Simplifying constant integer cast $a
Simplifying constant integer cast $57
Simplifying constant integer cast $f
Simplifying constant integer cast $a
Simplifying constant integer cast $57
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast $41
Simplifying constant integer cast $5a
Simplifying constant integer cast 1
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast $20
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast 1
Simplifying constant integer cast 1
Simplifying constant integer cast 4
Simplifying constant integer cast 8
Simplifying constant integer cast 4
Simplifying constant integer cast $17
Simplifying constant integer cast $6e85
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast $a
Simplifying constant integer cast $c8
Simplifying constant integer cast 8
Simplifying constant integer cast $4d2
Simplifying constant integer cast $a
Simplifying constant integer cast $6e85
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast $c8
Simplifying constant integer cast 8
Simplifying constant integer cast $4d2
Simplifying constant integer cast $a
Simplifying constant integer cast 0
Successful SSA optimization PassNCastSimplification
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 1
Finalized unsigned number type (byte) $80
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 1
Finalized unsigned number type (byte) 1
Finalized unsigned number type (byte) 1
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 1
Finalized unsigned number type (word) $2710
Finalized unsigned number type (byte) 1
Finalized unsigned number type (word) $3e8
Finalized unsigned number type (word) $2710
Finalized unsigned number type (byte) 1
Finalized unsigned number type (byte) 1
Finalized unsigned number type (byte) $64
Finalized unsigned number type (word) $3e8
Finalized unsigned number type (byte) 1
Finalized unsigned number type (byte) 1
Finalized unsigned number type (byte) $a
Finalized unsigned number type (byte) $64
Finalized unsigned number type (byte) 1
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) $a
Finalized unsigned number type (byte) 1
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 1
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 1
Finalized unsigned number type (byte) 1
Finalized unsigned number type (byte) 4
Finalized unsigned number type (byte) $f
Finalized unsigned number type (byte) $a
Finalized unsigned number type (byte) $57
Finalized unsigned number type (byte) $f
Finalized unsigned number type (byte) $a
Finalized unsigned number type (byte) $57
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) $41
Finalized unsigned number type (byte) $5a
Finalized unsigned number type (byte) 1
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 1
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 1
Finalized unsigned number type (byte) $20
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 1
Finalized unsigned number type (byte) 1
Finalized unsigned number type (byte) 1
Finalized unsigned number type (byte) 4
Finalized unsigned number type (byte) 8
Finalized unsigned number type (byte) 4
Finalized unsigned number type (byte) $17
Finalized unsigned number type (word) $6e85
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) $a
Finalized unsigned number type (byte) $c8
Finalized unsigned number type (byte) 8
Finalized unsigned number type (word) $4d2
Finalized unsigned number type (byte) $a
Finalized unsigned number type (word) $6e85
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) $c8
Finalized unsigned number type (byte) 8
Finalized unsigned number type (word) $4d2
Finalized unsigned number type (byte) $a
Finalized signed number type (signed byte) 0
Successful SSA optimization PassNFinalizeNumberTypeConversions
Inferred type updated to byte in (unumber~) divr16u::$2 ← (byte~) divr16u::$1 & (byte) $80
Inferred type updated to word in (unumber~) divr16u::$5 ← (word) divr16u::rem#6 | (byte) 1
Inferred type updated to byte in (unumber~) myprintf::$19 ← (byte~) myprintf::$18 & (byte) $f
Inferred type updated to byte in (unumber~) myprintf::$21 ← (byte) $57
Inferred type updated to byte for (unumber~) myprintf::$23
Inferred type updated to byte in (unumber~) myprintf::$24 ← (byte~) myprintf::$23 + (byte) myprintf::b#15
Inferred type updated to byte in (unumber~) myprintf::$26 ← (byte~) myprintf::$25 & (byte) $f
Inferred type updated to byte in (unumber~) myprintf::$28 ← (byte) $57
Inferred type updated to byte for (unumber~) myprintf::$30
Inferred type updated to byte in (unumber~) myprintf::$31 ← (byte~) myprintf::$30 + (byte) myprintf::b#16
Inferred type updated to word in (unumber~) div10::$1 ← (word~) div10::$0 + (byte) 1
Inversing boolean not [9] (bool~) divr16u::$4 ← (byte~) divr16u::$2 == (byte) 0 from [8] (bool~) divr16u::$3 ← (byte~) divr16u::$2 != (byte) 0
Inversing boolean not [17] (bool~) divr16u::$9 ← (word) divr16u::rem#5 < (word) divr16u::divisor#1 from [16] (bool~) divr16u::$8 ← (word) divr16u::rem#5 >= (word) divr16u::divisor#1
Inversing boolean not [156] (bool~) myprintf::$1 ← (byte) myprintf::bFormat#3 == (byte) 0 from [155] (bool~) myprintf::$0 ← (byte) myprintf::bFormat#3 != (byte) 0
Inversing boolean not [160] (bool~) myprintf::$51 ← (byte) myprintf::b#7 != (byte) '%' from [159] (bool~) myprintf::$50 ← (byte) myprintf::b#7 == (byte) '%'
Inversing boolean not [164] (bool~) myprintf::$3 ← (byte) myprintf::b#8 != (byte) '0' from [163] (bool~) myprintf::$2 ← (byte) myprintf::b#8 == (byte) '0'
Inversing boolean not [180] (bool~) myprintf::$10 ← (byte) myprintf::b#10 != (byte) '-' from [179] (bool~) myprintf::$9 ← (byte) myprintf::b#10 == (byte) '-'
Successful SSA optimization Pass2UnaryNotSimplification
Alias (word) divr16u::rem#0 = (word~) divr16u::$0 (word) divr16u::rem#6 
Alias (word) divr16u::dividend#0 = (word~) divr16u::$6 (word) divr16u::dividend#7 
Alias (word) divr16u::quotient#1 = (word~) divr16u::$7 (word) divr16u::quotient#4 
Alias (word) divr16u::dividend#2 = (word) divr16u::dividend#6 
Alias (word) divr16u::quotient#6 = (word) divr16u::quotient#7 
Alias (word) divr16u::divisor#3 = (word) divr16u::divisor#4 
Alias (byte) divr16u::i#5 = (byte) divr16u::i#6 
Alias (word) divr16u::rem#1 = (word~) divr16u::$5 
Alias (word) divr16u::rem#5 = (word) divr16u::rem#7 
Alias (word) divr16u::divisor#1 = (word) divr16u::divisor#2 
Alias (byte) divr16u::i#3 = (byte) divr16u::i#4 
Alias (word) divr16u::rem#2 = (word~) divr16u::$10 
Alias (word) divr16u::return#0 = (word) divr16u::quotient#5 (word) divr16u::quotient#8 (word) divr16u::return#3 (word) divr16u::return#1 
Alias (word) divr16u::return#2 = (word) divr16u::return#4 
Alias (word) div16u::return#0 = (word~) div16u::$0 (word) div16u::return#3 (word) div16u::return#1 
Alias (byte*) append::dst#5 = (byte*) append::dst#6 
Alias (word) append::value#5 = (word) append::value#6 (word) append::value#7 (word) append::return#0 (word) append::return#6 (word) append::return#1 
Alias (word) append::sub#4 = (word) append::sub#5 
Alias (byte*) utoa::dst#15 = (byte*) utoa::dst#6 (byte*) utoa::dst#7 
Alias (word) utoa::value#5 = (word) utoa::value#7 
Alias (word) append::return#2 = (word) append::return#7 
Alias (word) utoa::value#0 = (word~) utoa::$18 
Alias (byte*) utoa::dst#16 = (byte*) utoa::dst#8 (byte*) utoa::dst#9 
Alias (word) utoa::value#6 = (word) utoa::value#9 
Alias (word) append::return#3 = (word) append::return#8 
Alias (word) utoa::value#1 = (word~) utoa::$19 
Alias (byte*) utoa::dst#10 = (byte*) utoa::dst#17 (byte*) utoa::dst#11 
Alias (word) utoa::value#11 = (word) utoa::value#8 
Alias (word) append::return#4 = (word) append::return#9 
Alias (word) utoa::value#2 = (word~) utoa::$20 
Alias (byte*) utoa::dst#13 = (byte*) utoa::dst#18 (byte*) utoa::dst#14 
Alias (word) utoa::value#10 = (word) utoa::value#13 
Alias (word) append::return#10 = (word) append::return#5 
Alias (word) utoa::value#3 = (word~) utoa::$21 
Alias (byte) myprintf::b#1 = (byte) myprintf::b#7 (byte) myprintf::b#8 (byte) myprintf::b#9 (byte) myprintf::b#10 (byte) myprintf::b#11 (byte) myprintf::b#12 (byte) myprintf::b#13 (byte) myprintf::b#14 (byte) myprintf::b#24 (byte) myprintf::b#26 
Alias (byte) myprintf::bArg#12 = (byte) myprintf::bArg#5 (byte) myprintf::bArg#9 (byte) myprintf::bArg#16 (byte) myprintf::bArg#17 (byte) myprintf::bArg#15 (byte) myprintf::bArg#18 (byte) myprintf::bArg#26 (byte) myprintf::bArg#13 (byte) myprintf::bArg#23 (byte) myprintf::bArg#27 (byte) myprintf::bArg#44 (byte) myprintf::bArg#42 (byte) myprintf::bArg#22 (byte) myprintf::bArg#37 (byte) myprintf::bArg#34 (byte) myprintf::bArg#33 (byte) myprintf::bArg#24 (byte) myprintf::bArg#2 (byte) myprintf::bArg#6 (byte) myprintf::bArg#3 (byte) myprintf::bArg#7 (byte) myprintf::bArg#8 (byte) myprintf::bArg#25 
Alias (byte*) myprintf::dst#10 = (byte*) myprintf::dst#31 (byte*) myprintf::dst#32 (byte*) myprintf::dst#33 (byte*) myprintf::dst#34 (byte*) myprintf::dst#26 (byte*) myprintf::dst#27 (byte*) myprintf::dst#23 (byte*) myprintf::dst#24 (byte*) myprintf::dst#2 (byte*) myprintf::dst#41 (byte*) myprintf::dst#46 (byte*) myprintf::dst#43 (byte*) myprintf::dst#35 (byte*) myprintf::dst#28 (byte*) myprintf::dst#12 (byte*) myprintf::dst#11 (byte*) myprintf::dst#19 (byte*) myprintf::dst#44 (byte*) myprintf::dst#37 (byte*) myprintf::dst#45 (byte*) myprintf::dst#38 (byte*) myprintf::dst#39 (byte*) myprintf::dst#20 
Alias (byte) myprintf::bLen#16 = (byte) myprintf::bLen#37 (byte) myprintf::bLen#38 (byte) myprintf::bLen#39 (byte) myprintf::bLen#40 (byte) myprintf::bLen#32 (byte) myprintf::bLen#33 (byte) myprintf::bLen#29 (byte) myprintf::bLen#30 (byte) myprintf::bLen#8 (byte) myprintf::bLen#46 (byte) myprintf::bLen#51 (byte) myprintf::bLen#48 (byte) myprintf::bLen#41 (byte) myprintf::bLen#34 (byte) myprintf::bLen#18 (byte) myprintf::bLen#17 (byte) myprintf::bLen#25 (byte) myprintf::bLen#49 (byte) myprintf::bLen#43 (byte) myprintf::bLen#50 (byte) myprintf::bLen#44 (byte) myprintf::bLen#45 (byte) myprintf::bLen#26 
Alias (word) myprintf::w1#10 = (word) myprintf::w1#4 (word) myprintf::w1#5 (word) myprintf::w1#14 (word) myprintf::w1#15 (word) myprintf::w1#13 (word) myprintf::w1#16 (word) myprintf::w1#9 (word) myprintf::w1#26 (word) myprintf::w1#21 (word) myprintf::w1#27 (word) myprintf::w1#45 (word) myprintf::w1#43 (word) myprintf::w1#20 (word) myprintf::w1#38 (word) myprintf::w1#35 (word) myprintf::w1#34 (word) myprintf::w1#24 (word) myprintf::w1#3 (word) myprintf::w1#2 (word) myprintf::w#1 (word) myprintf::w1#31 (word) myprintf::w1#22 (word) myprintf::w1#23 (word) myprintf::w1#25 
Alias (byte*) myprintf::str#11 = (byte*) myprintf::str#30 (byte*) myprintf::str#3 (byte*) myprintf::str#12 (byte*) myprintf::str#13 (byte*) myprintf::str#14 (byte*) myprintf::str#7 (byte*) myprintf::str#25 (byte*) myprintf::str#8 (byte*) myprintf::str#19 (byte*) myprintf::str#26 (byte*) myprintf::str#46 (byte*) myprintf::str#44 (byte*) myprintf::str#18 (byte*) myprintf::str#39 (byte*) myprintf::str#36 (byte*) myprintf::str#35 (byte*) myprintf::str#23 (byte*) myprintf::str#31 (byte*) myprintf::str#20 (byte*) myprintf::str#32 (byte*) myprintf::str#21 (byte*) myprintf::str#22 (byte*) myprintf::str#24 
Alias (word) myprintf::w2#10 = (word) myprintf::w2#5 (word) myprintf::w2#6 (word) myprintf::w2#15 (word) myprintf::w2#16 (word) myprintf::w2#14 (word) myprintf::w2#17 (word) myprintf::w2#27 (word) myprintf::w2#11 (word) myprintf::w2#22 (word) myprintf::w2#28 (word) myprintf::w2#45 (word) myprintf::w2#43 (word) myprintf::w2#21 (word) myprintf::w2#38 (word) myprintf::w2#35 (word) myprintf::w2#34 (word) myprintf::w2#25 (word) myprintf::w2#4 (word) myprintf::w2#23 (word) myprintf::w2#3 (word) myprintf::w2#2 (word) myprintf::w#2 (word) myprintf::w2#24 (word) myprintf::w2#26 
Alias (word) myprintf::w3#10 = (word) myprintf::w3#5 (word) myprintf::w3#6 (word) myprintf::w3#15 (word) myprintf::w3#16 (word) myprintf::w3#14 (word) myprintf::w3#17 (word) myprintf::w3#27 (word) myprintf::w3#11 (word) myprintf::w3#22 (word) myprintf::w3#28 (word) myprintf::w3#45 (word) myprintf::w3#43 (word) myprintf::w3#21 (word) myprintf::w3#38 (word) myprintf::w3#35 (word) myprintf::w3#34 (word) myprintf::w3#25 (word) myprintf::w3#4 (word) myprintf::w3#23 (word) myprintf::w3#3 (word) myprintf::w3#24 (word) myprintf::w3#2 (word) myprintf::w#3 (word) myprintf::w3#26 
Alias (byte) myprintf::bFormat#10 = (byte) myprintf::bFormat#18 (byte) myprintf::bFormat#3 (byte) myprintf::bFormat#11 (byte) myprintf::bFormat#9 (byte) myprintf::bFormat#12 (byte) myprintf::bFormat#5 (byte) myprintf::bFormat#6 (byte) myprintf::bFormat#16 (byte) myprintf::bFormat#17 
Alias (word) myprintf::w#10 = (word) myprintf::w#32 (word) myprintf::w#16 (word) myprintf::w#15 (word) myprintf::w#14 (word) myprintf::w#23 (word) myprintf::w#13 (word) myprintf::w#19 (word) myprintf::w#8 (word) myprintf::w#20 (word) myprintf::w#4 (word) myprintf::w#9 (word) myprintf::w#5 (word) myprintf::w#40 (word) myprintf::w#6 (word) myprintf::w#12 (word) myprintf::w#11 (word) myprintf::w#27 (word) myprintf::w#28 
Alias (byte) myprintf::bTrailing#10 = (byte) myprintf::bTrailing#38 (byte) myprintf::bTrailing#20 (byte) myprintf::bTrailing#19 (byte) myprintf::bTrailing#18 (byte) myprintf::bTrailing#26 (byte) myprintf::bTrailing#17 (byte) myprintf::bTrailing#23 (byte) myprintf::bTrailing#15 (byte) myprintf::bTrailing#30 (byte) myprintf::bTrailing#12 (byte) myprintf::bTrailing#8 (byte) myprintf::bTrailing#29 (byte) myprintf::bTrailing#43 (byte) myprintf::bTrailing#42 (byte) myprintf::bTrailing#41 (byte) myprintf::bTrailing#34 (byte) myprintf::bTrailing#35 
Alias (byte) myprintf::bDigits#14 = (byte) myprintf::bDigits#40 (byte) myprintf::bDigits#23 (byte) myprintf::bDigits#22 (byte) myprintf::bDigits#21 (byte) myprintf::bDigits#29 (byte) myprintf::bDigits#20 (byte) myprintf::bDigits#19 (byte) myprintf::bDigits#26 (byte) myprintf::bDigits#32 (byte) myprintf::bDigits#18 (byte) myprintf::bDigits#17 (byte) myprintf::bDigits#31 (byte) myprintf::bDigits#45 (byte) myprintf::bDigits#44 (byte) myprintf::bDigits#43 (byte) myprintf::bDigits#36 (byte) myprintf::bDigits#37 
Alias (byte) myprintf::bLeadZero#10 = (byte) myprintf::bLeadZero#37 (byte) myprintf::bLeadZero#17 (byte) myprintf::bLeadZero#16 (byte) myprintf::bLeadZero#15 (byte) myprintf::bLeadZero#14 (byte) myprintf::bLeadZero#20 (byte) myprintf::bLeadZero#13 (byte) myprintf::bLeadZero#21 (byte) myprintf::bLeadZero#28 (byte) myprintf::bLeadZero#12 (byte) myprintf::bLeadZero#11 (byte) myprintf::bLeadZero#27 (byte) myprintf::bLeadZero#43 (byte) myprintf::bLeadZero#42 (byte) myprintf::bLeadZero#41 (byte) myprintf::bLeadZero#32 (byte) myprintf::bLeadZero#33 
Alias (byte) myprintf::bDigits#1 = (byte~) myprintf::$8 
Alias (byte) myprintf::b#27 = (byte) myprintf::b#3 (byte~) myprintf::$19 (byte) myprintf::b#28 
Alias (byte) myprintf::b#29 = (byte) myprintf::b#4 (byte~) myprintf::$26 (byte) myprintf::b#30 
Alias (byte*) myprintf::dst#13 = (byte*) myprintf::dst#3 (byte*) myprintf::dst#14 
Alias (byte) myprintf::bLen#19 = (byte) myprintf::bLen#2 (byte) myprintf::bLen#20 
Alias (byte*) myprintf::str#27 = (byte*) myprintf::str#33 (byte*) myprintf::str#28 
Alias (byte) myprintf::bArg#28 = (byte) myprintf::bArg#31 (byte) myprintf::bArg#29 
Alias (word) myprintf::w1#28 = (word) myprintf::w1#32 (word) myprintf::w1#29 
Alias (word) myprintf::w2#29 = (word) myprintf::w2#32 (word) myprintf::w2#30 
Alias (word) myprintf::w3#29 = (word) myprintf::w3#32 (word) myprintf::w3#30 
Alias (word) myprintf::w#29 = (word) myprintf::w#7 (word) myprintf::w#30 
Alias (byte) myprintf::bTrailing#36 = (byte) myprintf::bTrailing#40 (byte) myprintf::bTrailing#37 
Alias (byte) myprintf::bDigits#38 = (byte) myprintf::bDigits#42 (byte) myprintf::bDigits#39 
Alias (byte) myprintf::bLeadZero#34 = (byte) myprintf::bLeadZero#39 (byte) myprintf::bLeadZero#35 
Alias (byte) myprintf::b#17 = (byte) myprintf::b#18 (byte) myprintf::b#19 
Alias (byte) myprintf::bTrailing#3 = (byte) myprintf::bTrailing#7 (byte) myprintf::bTrailing#5 
Alias (byte) myprintf::bDigits#13 = (byte) myprintf::bDigits#9 (byte) myprintf::bDigits#5 
Alias (byte) myprintf::bLeadZero#4 = (byte) myprintf::bLeadZero#9 (byte) myprintf::bLeadZero#6 
Alias (byte*) myprintf::dst#29 = (byte*) myprintf::dst#42 (byte*) myprintf::dst#36 
Alias (byte) myprintf::bLen#35 = (byte) myprintf::bLen#47 (byte) myprintf::bLen#42 
Alias (byte*) myprintf::str#37 = (byte*) myprintf::str#43 (byte*) myprintf::str#40 
Alias (byte) myprintf::bArg#35 = (byte) myprintf::bArg#41 (byte) myprintf::bArg#38 
Alias (word) myprintf::w1#36 = (word) myprintf::w1#42 (word) myprintf::w1#39 
Alias (word) myprintf::w2#36 = (word) myprintf::w2#42 (word) myprintf::w2#39 
Alias (word) myprintf::w3#36 = (word) myprintf::w3#42 (word) myprintf::w3#39 
Alias (word) myprintf::w#34 = (word) myprintf::w#39 (word) myprintf::w#36 
Alias (byte*) myprintf::dst#15 = (byte*) myprintf::dst#30 (byte*) myprintf::dst#16 
Alias (byte) myprintf::bLen#21 = (byte) myprintf::bLen#36 (byte) myprintf::bLen#22 
Alias (byte) myprintf::bDigits#10 = (byte) myprintf::bDigits#15 (byte) myprintf::bDigits#11 
Alias (byte) myprintf::b#31 = (byte) myprintf::b#34 (byte) myprintf::b#32 
Alias (byte) myprintf::bLeadZero#3 = (byte) myprintf::bLeadZero#7 (byte) myprintf::bLeadZero#8 
Alias (byte) myprintf::bTrailing#13 = (byte) myprintf::bTrailing#16 (byte) myprintf::bTrailing#14 
Alias (byte*) myprintf::str#41 = (byte*) myprintf::str#45 (byte*) myprintf::str#42 
Alias (byte) myprintf::bArg#39 = (byte) myprintf::bArg#43 (byte) myprintf::bArg#40 
Alias (word) myprintf::w1#40 = (word) myprintf::w1#44 (word) myprintf::w1#41 
Alias (word) myprintf::w2#40 = (word) myprintf::w2#44 (word) myprintf::w2#41 
Alias (word) myprintf::w3#40 = (word) myprintf::w3#44 (word) myprintf::w3#41 
Alias (word) myprintf::w#37 = (word) myprintf::w#41 (word) myprintf::w#38 
Alias (byte) myprintf::bTrailing#4 = (byte) myprintf::bTrailing#6 
Alias (byte) myprintf::bDigits#12 = (byte) myprintf::bDigits#7 
Alias (byte) myprintf::b#21 = (byte) myprintf::b#22 
Alias (byte*) myprintf::dst#18 = (byte*) myprintf::dst#6 
Alias (byte) myprintf::bLen#24 = (byte) myprintf::bLen#5 
Alias (byte*) myprintf::str#16 = (byte*) myprintf::str#29 
Alias (byte) myprintf::bArg#20 = (byte) myprintf::bArg#30 
Alias (word) myprintf::w1#18 = (word) myprintf::w1#30 
Alias (word) myprintf::w2#19 = (word) myprintf::w2#31 
Alias (word) myprintf::w3#19 = (word) myprintf::w3#31 
Alias (word) myprintf::w#25 = (word) myprintf::w#31 
Alias (byte) myprintf::bLeadZero#25 = (byte) myprintf::bLeadZero#36 
Alias (byte) myprintf::bFormat#13 = (byte) myprintf::bFormat#2 (byte) myprintf::bFormat#19 (byte) myprintf::bFormat#14 (byte) myprintf::bFormat#15 
Alias (byte) myprintf::bTrailing#2 = (byte) myprintf::bTrailing#31 (byte) myprintf::bTrailing#39 (byte) myprintf::bTrailing#32 (byte) myprintf::bTrailing#33 
Alias (byte) myprintf::bDigits#33 = (byte) myprintf::bDigits#4 (byte) myprintf::bDigits#41 (byte) myprintf::bDigits#34 (byte) myprintf::bDigits#35 
Alias (byte) myprintf::bLeadZero#2 = (byte) myprintf::bLeadZero#29 (byte) myprintf::bLeadZero#38 (byte) myprintf::bLeadZero#30 (byte) myprintf::bLeadZero#31 
Alias (byte*) myprintf::dst#21 = (byte*) myprintf::dst#9 
Alias (byte) myprintf::return#0 = (byte) myprintf::bLen#15 (byte) myprintf::bLen#27 (byte) myprintf::return#4 (byte) myprintf::return#1 
Alias (word) div10::val#0 = (word~) div10::$1 
Alias (word) div10::return#0 = (word~) div10::$5 (word) div10::return#3 (word) div10::return#1 
Alias (word) div16u::return#2 = (word) div16u::return#4 
Alias (word) main::u#12 = (word) main::u#5 (word) main::u#6 (word) main::u#13 (word) main::u#7 
Alias (word) main::v#1 = (word~) main::$0 (word) main::v#3 
Alias (word) myprintf::w3#0 = (word~) main::$5 
Alias (word) div10::return#2 = (word) div10::return#4 
Alias (word) main::u#10 = (word) main::u#14 (word) main::u#8 (word) main::u#9 (word) main::u#16 
Alias (word) main::v#2 = (word~) main::$9 (word) main::v#4 
Alias (word) myprintf::w3#1 = (word~) main::$14 
Alias (signed word) main::return#0 = (signed word) main::return#3 (signed word) main::return#1 
Successful SSA optimization Pass2AliasElimination
Alias candidate removed (phi-usage) (word) myprintf::w1#10
Alias candidate removed (phi-usage) (word) myprintf::w2#10
Alias candidate removed (phi-usage) (word) myprintf::w3#10
Alias (word) divr16u::dividend#2 = (word) divr16u::dividend#3 
Alias (word) divr16u::quotient#3 = (word) divr16u::quotient#6 
Alias (word) divr16u::divisor#1 = (word) divr16u::divisor#3 (word) divr16u::divisor#6 
Alias (byte) divr16u::i#2 = (byte) divr16u::i#3 (byte) divr16u::i#5 
Alias (word) divr16u::dividend#0 = (word) divr16u::dividend#5 
Alias (byte) myprintf::b#15 = (byte) myprintf::b#27 
Alias (byte*) myprintf::dst#10 = (byte*) myprintf::dst#13 (byte*) myprintf::dst#4 (byte*) myprintf::dst#25 (byte*) myprintf::dst#8 
Alias (byte) myprintf::bLen#14 = (byte) myprintf::bLen#9 (byte) myprintf::bLen#16 (byte) myprintf::bLen#31 
Alias (word) myprintf::w#10 = (word) myprintf::w#29 (word) myprintf::w#24 (word) myprintf::w#22 
Alias (byte*) myprintf::str#10 = (byte*) myprintf::str#27 (byte*) myprintf::str#11 (byte*) myprintf::str#15 (byte*) myprintf::str#9 
Alias (byte) myprintf::bArg#12 = (byte) myprintf::bArg#28 (byte) myprintf::bArg#19 (byte) myprintf::bArg#4 (byte) myprintf::bArg#14 
Alias (word) myprintf::w1#11 = (word) myprintf::w1#28 (word) myprintf::w1#17 (word) myprintf::w1#12 
Alias (word) myprintf::w2#12 = (word) myprintf::w2#29 (word) myprintf::w2#18 (word) myprintf::w2#13 
Alias (word) myprintf::w3#12 = (word) myprintf::w3#29 (word) myprintf::w3#18 (word) myprintf::w3#13 
Alias (byte) myprintf::bTrailing#10 = (byte) myprintf::bTrailing#36 (byte) myprintf::bTrailing#27 (byte) myprintf::bTrailing#25 
Alias (byte) myprintf::bDigits#14 = (byte) myprintf::bDigits#38 (byte) myprintf::bDigits#30 (byte) myprintf::bDigits#28 
Alias (byte) myprintf::bLeadZero#10 = (byte) myprintf::bLeadZero#34 (byte) myprintf::bLeadZero#24 (byte) myprintf::bLeadZero#23 
Alias (byte) myprintf::b#16 = (byte) myprintf::b#29 
Alias (byte) myprintf::bLen#10 = (byte) myprintf::bLen#19 
Alias (byte*) myprintf::dst#15 = (byte*) myprintf::dst#5 
Alias (byte) myprintf::bLen#11 = (byte) myprintf::bLen#21 
Alias (byte) myprintf::bDigits#10 = (byte) myprintf::bDigits#6 
Alias (byte) myprintf::b#20 = (byte) myprintf::b#31 
Alias (byte) myprintf::bLeadZero#3 = (byte) myprintf::bLeadZero#5 
Alias (byte) myprintf::bTrailing#11 = (byte) myprintf::bTrailing#13 
Alias (byte*) myprintf::str#38 = (byte*) myprintf::str#41 
Alias (byte) myprintf::bArg#36 = (byte) myprintf::bArg#39 
Alias (word) myprintf::w1#37 = (word) myprintf::w1#40 
Alias (word) myprintf::w2#37 = (word) myprintf::w2#40 
Alias (word) myprintf::w3#37 = (word) myprintf::w3#40 
Alias (word) myprintf::w#35 = (word) myprintf::w#37 
Alias (byte) myprintf::bFormat#13 = (byte) myprintf::bFormat#7 
Alias (byte) myprintf::bTrailing#2 = (byte) myprintf::bTrailing#24 
Alias (byte) myprintf::bDigits#27 = (byte) myprintf::bDigits#33 
Alias (byte) myprintf::bLeadZero#2 = (byte) myprintf::bLeadZero#22 
Alias (byte) myprintf::bFormat#10 = (byte) myprintf::bFormat#8 
Successful SSA optimization Pass2AliasElimination
Alias candidate removed (phi-usage) (word) myprintf::w1#10
Alias candidate removed (phi-usage) (word) myprintf::w2#10
Alias candidate removed (phi-usage) (word) myprintf::w3#10
Alias candidate removed (solo) (word) myprintf::w1#11 = 
Alias candidate removed (solo) (word) myprintf::w2#12 = 
Alias candidate removed (solo) (word) myprintf::w3#12 = 
Self Phi Eliminated (word) divr16u::divisor#1
Self Phi Eliminated (word) append::sub#4
Self Phi Eliminated (byte*) append::dst#5
Self Phi Eliminated (byte) myprintf::bTrailing#3
Self Phi Eliminated (byte) myprintf::bDigits#13
Self Phi Eliminated (byte) myprintf::bLeadZero#4
Self Phi Eliminated (byte*) myprintf::dst#29
Self Phi Eliminated (byte) myprintf::bLen#35
Self Phi Eliminated (byte*) myprintf::str#37
Self Phi Eliminated (byte) myprintf::bArg#35
Self Phi Eliminated (word) myprintf::w1#36
Self Phi Eliminated (word) myprintf::w2#36
Self Phi Eliminated (word) myprintf::w3#36
Self Phi Eliminated (word) myprintf::w#34
Self Phi Eliminated (byte) myprintf::bLeadZero#3
Self Phi Eliminated (byte*) myprintf::dst#15
Self Phi Eliminated (byte) myprintf::b#20
Self Phi Eliminated (byte) myprintf::bTrailing#11
Self Phi Eliminated (byte*) myprintf::str#38
Self Phi Eliminated (byte) myprintf::bArg#36
Self Phi Eliminated (word) myprintf::w1#37
Self Phi Eliminated (word) myprintf::w2#37
Self Phi Eliminated (word) myprintf::w3#37
Self Phi Eliminated (word) myprintf::w#35
Self Phi Eliminated (byte*) myprintf::dst#18
Self Phi Eliminated (byte) myprintf::b#21
Self Phi Eliminated (byte) myprintf::bTrailing#4
Self Phi Eliminated (byte) myprintf::bDigits#12
Self Phi Eliminated (byte*) myprintf::str#16
Self Phi Eliminated (byte) myprintf::bArg#20
Self Phi Eliminated (word) myprintf::w1#18
Self Phi Eliminated (word) myprintf::w2#19
Self Phi Eliminated (word) myprintf::w3#19
Self Phi Eliminated (word) myprintf::w#25
Self Phi Eliminated (byte) myprintf::bLeadZero#25
Self Phi Eliminated (byte*) myprintf::dst#7
Self Phi Eliminated (byte) myprintf::b#23
Self Phi Eliminated (byte*) myprintf::str#17
Self Phi Eliminated (byte) myprintf::bArg#21
Self Phi Eliminated (word) myprintf::w1#19
Self Phi Eliminated (word) myprintf::w2#20
Self Phi Eliminated (word) myprintf::w3#20
Self Phi Eliminated (word) myprintf::w#26
Self Phi Eliminated (byte) myprintf::bTrailing#28
Self Phi Eliminated (byte) myprintf::bLeadZero#26
Self Phi Eliminated (word) main::u#12
Self Phi Eliminated (word) main::u#10
Successful SSA optimization Pass2SelfPhiElimination
Identical Phi Values (word) divr16u::rem#8 (word) divr16u::rem#3
Identical Phi Values (word) divr16u::dividend#4 (word) divr16u::dividend#1
Identical Phi Values (word) divr16u::divisor#5 (word) divr16u::divisor#0
Identical Phi Values (word) divr16u::divisor#1 (word) divr16u::divisor#5
Identical Phi Values (word) div16u::dividend#1 (word) div16u::dividend#0
Identical Phi Values (word) div16u::divisor#1 (word) div16u::divisor#0
Identical Phi Values (word) append::sub#4 (word) append::sub#6
Identical Phi Values (byte*) append::dst#5 (byte*) append::dst#4
Identical Phi Values (word) utoa::value#5 (word) utoa::value#4
Identical Phi Values (byte*) utoa::dst#15 (byte*) utoa::dst#5
Identical Phi Values (word) myprintf::w1#11 (word) myprintf::w1#10
Identical Phi Values (word) myprintf::w2#12 (word) myprintf::w2#10
Identical Phi Values (word) myprintf::w3#12 (word) myprintf::w3#10
Identical Phi Values (byte) myprintf::bTrailing#3 (byte) myprintf::bTrailing#10
Identical Phi Values (byte) myprintf::bDigits#13 (byte) myprintf::bDigits#14
Identical Phi Values (byte) myprintf::bLeadZero#4 (byte) myprintf::bLeadZero#10
Identical Phi Values (byte*) myprintf::dst#29 (byte*) myprintf::dst#10
Identical Phi Values (byte) myprintf::bLen#35 (byte) myprintf::bLen#14
Identical Phi Values (byte*) myprintf::str#37 (byte*) myprintf::str#10
Identical Phi Values (byte) myprintf::bArg#35 (byte) myprintf::bArg#12
Identical Phi Values (word) myprintf::w1#36 (word) myprintf::w1#10
Identical Phi Values (word) myprintf::w2#36 (word) myprintf::w2#10
Identical Phi Values (word) myprintf::w3#36 (word) myprintf::w3#10
Identical Phi Values (word) myprintf::w#34 (word) myprintf::w#10
Identical Phi Values (byte) myprintf::bLeadZero#3 (byte) myprintf::bLeadZero#4
Identical Phi Values (byte*) myprintf::dst#15 (byte*) myprintf::dst#29
Identical Phi Values (byte) myprintf::b#20 (byte) myprintf::b#17
Identical Phi Values (byte) myprintf::bTrailing#11 (byte) myprintf::bTrailing#3
Identical Phi Values (byte*) myprintf::str#38 (byte*) myprintf::str#37
Identical Phi Values (byte) myprintf::bArg#36 (byte) myprintf::bArg#35
Identical Phi Values (word) myprintf::w1#37 (word) myprintf::w1#36
Identical Phi Values (word) myprintf::w2#37 (word) myprintf::w2#36
Identical Phi Values (word) myprintf::w3#37 (word) myprintf::w3#36
Identical Phi Values (word) myprintf::w#35 (word) myprintf::w#34
Identical Phi Values (byte*) myprintf::dst#18 (byte*) myprintf::dst#17
Identical Phi Values (byte) myprintf::b#21 (byte) myprintf::b#33
Identical Phi Values (byte) myprintf::bTrailing#4 (byte) myprintf::bTrailing#9
Identical Phi Values (byte) myprintf::bDigits#12 (byte) myprintf::bDigits#16
Identical Phi Values (byte*) myprintf::str#16 (byte*) myprintf::str#34
Identical Phi Values (byte) myprintf::bArg#20 (byte) myprintf::bArg#32
Identical Phi Values (word) myprintf::w1#18 (word) myprintf::w1#33
Identical Phi Values (word) myprintf::w2#19 (word) myprintf::w2#33
Identical Phi Values (word) myprintf::w3#19 (word) myprintf::w3#33
Identical Phi Values (word) myprintf::w#25 (word) myprintf::w#33
Identical Phi Values (byte) myprintf::bLeadZero#25 (byte) myprintf::bLeadZero#40
Identical Phi Values (byte*) myprintf::dst#7 (byte*) myprintf::dst#18
Identical Phi Values (byte) myprintf::b#23 (byte) myprintf::b#21
Identical Phi Values (byte*) myprintf::str#17 (byte*) myprintf::str#16
Identical Phi Values (byte) myprintf::bArg#21 (byte) myprintf::bArg#20
Identical Phi Values (word) myprintf::w1#19 (word) myprintf::w1#18
Identical Phi Values (word) myprintf::w2#20 (word) myprintf::w2#19
Identical Phi Values (word) myprintf::w3#20 (word) myprintf::w3#19
Identical Phi Values (word) myprintf::w#26 (word) myprintf::w#25
Identical Phi Values (byte) myprintf::bTrailing#28 (byte) myprintf::bTrailing#4
Identical Phi Values (byte) myprintf::bLeadZero#26 (byte) myprintf::bLeadZero#25
Identical Phi Values (word) div10::val#5 (word) div10::val#4
Identical Phi Values (word) main::u#12 (word) main::u#11
Identical Phi Values (word) main::u#10 (word) main::u#15
Successful SSA optimization Pass2IdenticalPhiElimination
Identical Phi Values (byte*) myprintf::dst#17 (byte*) myprintf::dst#10
Identical Phi Values (byte) myprintf::b#33 (byte) myprintf::b#17
Identical Phi Values (byte) myprintf::bTrailing#9 (byte) myprintf::bTrailing#10
Identical Phi Values (byte*) myprintf::str#34 (byte*) myprintf::str#10
Identical Phi Values (byte) myprintf::bArg#32 (byte) myprintf::bArg#12
Identical Phi Values (word) myprintf::w1#33 (word) myprintf::w1#10
Identical Phi Values (word) myprintf::w2#33 (word) myprintf::w2#10
Identical Phi Values (word) myprintf::w3#33 (word) myprintf::w3#10
Identical Phi Values (word) myprintf::w#33 (word) myprintf::w#10
Identical Phi Values (byte) myprintf::bLeadZero#40 (byte) myprintf::bLeadZero#10
Successful SSA optimization Pass2IdenticalPhiElimination
Identical Phi Values (byte*) myprintf::str#6 (byte*) myprintf::str#10
Identical Phi Values (byte*) myprintf::dst#22 (byte*) myprintf::dst#10
Identical Phi Values (byte) myprintf::bArg#11 (byte) myprintf::bArg#12
Identical Phi Values (word) myprintf::w1#8 (word) myprintf::w1#10
Identical Phi Values (word) myprintf::w2#9 (word) myprintf::w2#10
Identical Phi Values (word) myprintf::w3#9 (word) myprintf::w3#10
Identical Phi Values (word) myprintf::w#18 (word) myprintf::w#10
Identical Phi Values (byte) myprintf::bTrailing#22 (byte) myprintf::bTrailing#10
Identical Phi Values (byte) myprintf::bLeadZero#19 (byte) myprintf::bLeadZero#10
Successful SSA optimization Pass2IdenticalPhiElimination
Identical Phi Values (byte*) myprintf::str#4 (byte*) myprintf::str#10
Identical Phi Values (byte*) myprintf::dst#21 (byte*) myprintf::dst#10
Identical Phi Values (word) myprintf::w1#7 (word) myprintf::w1#10
Identical Phi Values (word) myprintf::w2#8 (word) myprintf::w2#10
Identical Phi Values (word) myprintf::w3#8 (word) myprintf::w3#10
Successful SSA optimization Pass2IdenticalPhiElimination
Simple Condition (bool~) divr16u::$4 [10] if((byte~) divr16u::$2==(byte) 0) goto divr16u::@2
Simple Condition (bool~) divr16u::$9 [18] if((word) divr16u::rem#5<(word) divr16u::divisor#0) goto divr16u::@3
Simple Condition (bool~) divr16u::$11 [25] if((byte) divr16u::i#1!=rangelast(0,$f)) goto divr16u::@1
Simple Condition (bool~) append::$0 [57] if((word) append::value#5>=(word) append::sub#6) goto append::@2
Simple Condition (bool~) myprintf::$1 [157] if((byte) myprintf::bFormat#10==(byte) 0) goto myprintf::@2
Simple Condition (bool~) myprintf::$51 [161] if((byte) myprintf::b#1!=(byte) '%') goto myprintf::@53
Simple Condition (bool~) myprintf::$3 [165] if((byte) myprintf::b#1!=(byte) '0') goto myprintf::@3
Simple Condition (bool~) myprintf::$58 [177] if(*((byte*) myprintf::str#0)!=(byte) 0) goto myprintf::@1
Simple Condition (bool~) myprintf::$10 [181] if((byte) myprintf::b#1!=(byte) '-') goto myprintf::@5
Simple Condition (bool~) myprintf::$11 [187] if((byte) myprintf::b#1==(byte) 'c') goto myprintf::@6
Simple Condition (bool~) myprintf::$12 [196] if((byte) myprintf::b#1==(byte) 'd') goto myprintf::@7
Simple Condition (bool~) myprintf::$20 [215] if((byte) myprintf::b#15<(byte) $a) goto myprintf::@9
Simple Condition (bool~) myprintf::$27 [228] if((byte) myprintf::b#16<(byte) $a) goto myprintf::@12
Simple Condition (bool~) myprintf::$33 [239] if(*((byte[6]) myprintf::buf6#0 + (byte) myprintf::b#17)!=(byte) 0) goto myprintf::@20
Simple Condition (bool~) myprintf::$38 [252] if((byte) myprintf::bLeadZero#10==(byte) 0) goto myprintf::@28
Simple Condition (bool~) myprintf::$42 [262] if((byte) myprintf::bDigits#2>(byte) myprintf::b#17) goto myprintf::@27
Simple Condition (bool~) myprintf::$43 [268] if((byte) myprintf::digit#2<(byte) myprintf::b#17) goto myprintf::@34
Simple Condition (bool~) myprintf::$48 [280] if((byte) myprintf::bDigits#3>(byte) myprintf::b#17) goto myprintf::@38
Simple Condition (bool~) myprintf::$52 [295] if((byte) myprintf::bArg#12==(byte) 0) goto myprintf::@54
Simple Condition (bool~) myprintf::$53 [300] if((byte) myprintf::bArg#12==(byte) 1) goto myprintf::@55
Simple Condition (bool~) main::$1 [354] if(*((byte*) zp2#0)<(byte) $c8) goto main::@2
Simple Condition (bool~) main::$8 [373] if(*((byte*) zp1#0)<(byte) $a) goto main::@1
Simple Condition (bool~) main::$10 [389] if(*((byte*) zp2#0)<(byte) $c8) goto main::@6
Simple Condition (bool~) main::$17 [408] if(*((byte*) zp1#0)<(byte) $a) goto main::@5
Successful SSA optimization Pass2ConditionalJumpSimplification
Rewriting ! if()-condition to reversed if() [71] (bool~) utoa::$3 ← ! (bool~) utoa::$2
Successful SSA optimization Pass2ConditionalAndOrRewriting
Rewriting || if()-condition to two if()s [70] (bool~) utoa::$2 ← (bool~) utoa::$0 || (bool~) utoa::$1
Successful SSA optimization Pass2ConditionalAndOrRewriting
Rewriting ! if()-condition to reversed if() [77] (bool~) utoa::$7 ← ! (bool~) utoa::$6
Successful SSA optimization Pass2ConditionalAndOrRewriting
Rewriting || if()-condition to two if()s [76] (bool~) utoa::$6 ← (bool~) utoa::$4 || (bool~) utoa::$5
Successful SSA optimization Pass2ConditionalAndOrRewriting
Rewriting ! if()-condition to reversed if() [94] (bool~) utoa::$11 ← ! (bool~) utoa::$10
Successful SSA optimization Pass2ConditionalAndOrRewriting
Rewriting || if()-condition to two if()s [93] (bool~) utoa::$10 ← (bool~) utoa::$8 || (bool~) utoa::$9
Successful SSA optimization Pass2ConditionalAndOrRewriting
Rewriting ! if()-condition to reversed if() [111] (bool~) utoa::$15 ← ! (bool~) utoa::$14
Successful SSA optimization Pass2ConditionalAndOrRewriting
Rewriting || if()-condition to two if()s [110] (bool~) utoa::$14 ← (bool~) utoa::$12 || (bool~) utoa::$13
Successful SSA optimization Pass2ConditionalAndOrRewriting
Rewriting ! if()-condition to reversed if() [170] (bool~) myprintf::$7 ← ! (bool~) myprintf::$6
Successful SSA optimization Pass2ConditionalAndOrRewriting
Rewriting && if()-condition to two if()s [169] (bool~) myprintf::$6 ← (bool~) myprintf::$4 && (bool~) myprintf::$5
Successful SSA optimization Pass2ConditionalAndOrRewriting
Rewriting ! if()-condition to reversed if() [207] (bool~) myprintf::$16 ← ! (bool~) myprintf::$15
Successful SSA optimization Pass2ConditionalAndOrRewriting
Rewriting || if()-condition to two if()s [206] (bool~) myprintf::$15 ← (bool~) myprintf::$13 || (bool~) myprintf::$14
Successful SSA optimization Pass2ConditionalAndOrRewriting
Rewriting ! if()-condition to reversed if() [246] (bool~) myprintf::$37 ← ! (bool~) myprintf::$36
Successful SSA optimization Pass2ConditionalAndOrRewriting
Rewriting && if()-condition to two if()s [245] (bool~) myprintf::$36 ← (bool~) myprintf::$34 && (bool~) myprintf::$35
Successful SSA optimization Pass2ConditionalAndOrRewriting
Rewriting ! if()-condition to reversed if() [273] (bool~) myprintf::$47 ← ! (bool~) myprintf::$46
Successful SSA optimization Pass2ConditionalAndOrRewriting
Rewriting && if()-condition to two if()s [272] (bool~) myprintf::$46 ← (bool~) myprintf::$44 && (bool~) myprintf::$45
Successful SSA optimization Pass2ConditionalAndOrRewriting
Rewriting ! if()-condition to reversed if() [287] (bool~) myprintf::$57 ← ! (bool~) myprintf::$56
Successful SSA optimization Pass2ConditionalAndOrRewriting
Rewriting && if()-condition to two if()s [286] (bool~) myprintf::$56 ← (bool~) myprintf::$54 && (bool~) myprintf::$55
Successful SSA optimization Pass2ConditionalAndOrRewriting
Constant right-side identified [52] (byte[$64]) strTemp#0 ← { fill( $64, 0) }
Constant right-side identified [151] (byte[6]) myprintf::buf6#0 ← { fill( 6, 0) }
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant (const word) divr16u::quotient#0 = 0
Constant (const byte) divr16u::i#0 = 0
Constant (const word) divr16u::rem#3 = 0
Constant (const byte*) zp1#0 = (byte*) 97
Constant (const byte*) zp2#0 = (byte*) 98
Constant (const byte*) TIMEHI#0 = (byte*) 161
Constant (const byte*) TIMELO#0 = (byte*) 162
Constant (const byte*) VICBANK#0 = (byte*) 53272
Constant (const byte[$64]) strTemp#0 = { fill( $64, 0) }
Constant (const byte) utoa::bStarted#0 = 0
Constant (const word) append::sub#0 = $2710
Constant (const byte) utoa::bStarted#1 = 1
Constant (const word) append::sub#1 = $3e8
Constant (const byte) utoa::bStarted#2 = 1
Constant (const word) append::sub#2 = $64
Constant (const byte) utoa::bStarted#3 = 1
Constant (const word) append::sub#3 = $a
Constant (const byte) utoa::bStarted#4 = 1
Constant (const byte) myprintf::bArg#0 = 0
Constant (const byte) myprintf::bFormat#0 = 0
Constant (const byte) myprintf::bLen#0 = 0
Constant (const byte) myprintf::bLeadZero#0 = 0
Constant (const byte) myprintf::bDigits#0 = 0
Constant (const byte) myprintf::bTrailing#0 = 0
Constant (const byte) myprintf::b#0 = 0
Constant (const byte) myprintf::digit#0 = 0
Constant (const byte[6]) myprintf::buf6#0 = { fill( 6, 0) }
Constant (const word) myprintf::w#0 = 0
Constant (const byte) myprintf::bLeadZero#1 = 1
Constant (const byte) myprintf::bTrailing#1 = 1
Constant (const byte) myprintf::b#2 = 1
Constant (const byte) myprintf::$22 = '0'
Constant (const byte) myprintf::$21 = $57
Constant (const byte) myprintf::$29 = '0'
Constant (const byte) myprintf::$28 = $57
Constant (const byte) myprintf::digit#1 = 0
Constant (const byte) myprintf::$40 = ' '
Constant (const byte) myprintf::$39 = '0'
Constant (const byte) myprintf::bFormat#1 = 0
Constant (const byte) myprintf::bFormat#13 = 1
Constant (const byte) myprintf::bLeadZero#2 = 0
Constant (const byte) myprintf::bDigits#27 = 1
Constant (const byte) myprintf::bTrailing#2 = 0
Constant (const word) main::u#0 = 0
Constant (const word) main::v#0 = 0
Constant (const word) main::u#1 = $6e85
Constant (const word) div16u::divisor#0 = $a
Constant (const byte*) myprintf::str#1 = main::str
Constant (const word) main::u#3 = $6e85
Constant (const byte*) myprintf::str#2 = main::str1
Constant (const signed word) main::return#0 = 0
Successful SSA optimization Pass2ConstantIdentification
Constant (const word) divr16u::divisor#0 = div16u::divisor#0
Constant (const byte*) utoa::dst#5 = myprintf::buf6#0
Constant (const byte*) myprintf::dst#0 = strTemp#0
Constant (const byte*) myprintf::dst#1 = strTemp#0
Constant (const signed word) main::return#2 = main::return#0
Successful SSA optimization Pass2ConstantIdentification
Constant (const byte*) append::dst#0 = utoa::dst#5
Successful SSA optimization Pass2ConstantIdentification
Resolved ranged next value [23] divr16u::i#1 ← ++ divr16u::i#2 to ++
Resolved ranged comparison value [25] if(divr16u::i#1!=rangelast(0,$f)) goto divr16u::@1 to (number) $10
Eliminating unused variable (byte) myprintf::return#2 and assignment [184] (byte) myprintf::return#2 ← (byte) myprintf::return#0
Eliminating unused variable (byte) myprintf::return#3 and assignment [207] (byte) myprintf::return#3 ← (byte) myprintf::return#0
Eliminating unused constant (const byte) utoa::bStarted#4
Eliminating unused constant (const byte) myprintf::b#0
Eliminating unused constant (const byte) myprintf::digit#0
Eliminating unused constant (const word) main::u#0
Eliminating unused constant (const word) main::v#0
Eliminating unused constant (const signed word) main::return#2
Successful SSA optimization PassNEliminateUnusedVars
Eliminating unused constant (const signed word) main::return#0
Successful SSA optimization PassNEliminateUnusedVars
Adding number conversion cast (unumber) $10 in if((byte) divr16u::i#1!=(number) $10) goto divr16u::@1
Successful SSA optimization PassNAddNumberTypeConversions
Simplifying constant integer cast $10
Successful SSA optimization PassNCastSimplification
Finalized unsigned number type (byte) $10
Successful SSA optimization PassNFinalizeNumberTypeConversions
Self Phi Eliminated (byte*) myprintf::dst#10
Self Phi Eliminated (word) myprintf::w1#10
Self Phi Eliminated (word) myprintf::w2#10
Self Phi Eliminated (word) myprintf::w3#10
Successful SSA optimization Pass2SelfPhiElimination
Identical Phi Values (byte*) myprintf::dst#10 (byte*) myprintf::dst#40
Identical Phi Values (word) myprintf::w1#10 (word) myprintf::w1#6
Identical Phi Values (word) myprintf::w2#10 (word) myprintf::w2#7
Identical Phi Values (word) myprintf::w3#10 (word) myprintf::w3#7
Successful SSA optimization Pass2IdenticalPhiElimination
Simple Condition (bool~) utoa::$0 [30] if((const byte) utoa::bStarted#0==(byte) 1) goto utoa::@5
Simple Condition (bool~) utoa::$4 [34] if((byte) utoa::bStarted#5==(byte) 1) goto utoa::@6
Simple Condition (bool~) utoa::$8 [43] if((byte) utoa::bStarted#6==(byte) 1) goto utoa::@7
Simple Condition (bool~) utoa::$12 [53] if((byte) utoa::bStarted#7==(byte) 1) goto utoa::@8
Simple Condition (bool~) myprintf::$4 [81] if((byte) myprintf::b#1>=(byte) '1') goto myprintf::@72
Simple Condition (bool~) myprintf::$13 [96] if((byte) myprintf::b#1==(byte) 'x') goto myprintf::@47
Simple Condition (bool~) myprintf::$34 [117] if((byte) myprintf::bTrailing#10==(byte) 0) goto myprintf::@74
Simple Condition (bool~) myprintf::$44 [133] if((byte) myprintf::bTrailing#10!=(byte) 0) goto myprintf::@75
Simple Condition (bool~) myprintf::$54 [142] if((byte) myprintf::b#1>=(byte) $41) goto myprintf::@76
Simple Condition (bool~) utoa::$1 [212] if((word) utoa::value#4>=(word) $2710) goto utoa::@5
Simple Condition (bool~) utoa::$5 [213] if((word) utoa::value#6>=(word) $3e8) goto utoa::@6
Simple Condition (bool~) utoa::$9 [214] if((word) utoa::value#11>=(byte) $64) goto utoa::@7
Simple Condition (bool~) utoa::$13 [215] if((word) utoa::value#10>=(byte) $a) goto utoa::@8
Simple Condition (bool~) myprintf::$5 [216] if((byte) myprintf::b#1<=(byte) '9') goto myprintf::@41
Simple Condition (bool~) myprintf::$14 [217] if((byte) myprintf::b#1==(byte) 'X') goto myprintf::@47
Simple Condition (bool~) myprintf::$35 [218] if((byte) myprintf::bDigits#14>(byte) myprintf::b#17) goto myprintf::@27
Simple Condition (bool~) myprintf::$45 [219] if((byte) myprintf::bDigits#16>(byte) myprintf::b#17) goto myprintf::@38
Simple Condition (bool~) myprintf::$55 [220] if((byte) myprintf::b#1<=(byte) $5a) goto myprintf::@68
Successful SSA optimization Pass2ConditionalJumpSimplification
Negating conditional jump and destination [81] if((byte) myprintf::b#1<(byte) '1') goto myprintf::@4
Negating conditional jump and destination [117] if((byte) myprintf::bTrailing#10!=(byte) 0) goto myprintf::@26
Negating conditional jump and destination [133] if((byte) myprintf::bTrailing#10==(byte) 0) goto myprintf::@40
Negating conditional jump and destination [142] if((byte) myprintf::b#1<(byte) $41) goto myprintf::@60
Negating conditional jump and destination [219] if((byte) myprintf::bDigits#16<=(byte) myprintf::b#17) goto myprintf::@40
Negating conditional jump and destination [220] if((byte) myprintf::b#1>(byte) $5a) goto myprintf::@60
Successful SSA optimization Pass2ConditionalJumpSequenceImprovement
Constant right-side identified [39] (byte*) utoa::dst#0 ← ++ (const byte*) utoa::dst#5
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant (const byte*) utoa::dst#0 = ++utoa::dst#5
Successful SSA optimization Pass2ConstantIdentification
if() condition always false - eliminating [30] if((const byte) utoa::bStarted#0==(byte) 1) goto utoa::@5
Successful SSA optimization Pass2ConstantIfs
Rewriting conditional comparison [220] if((byte) myprintf::b#1>(byte) $5a) goto myprintf::@60
Adding number conversion cast (unumber) $5a+1 in if((byte) myprintf::b#1>=(byte) $5a+(number) 1) goto myprintf::@60
Adding number conversion cast (unumber) 1 in if((byte) myprintf::b#1>=(unumber)(byte) $5a+(number) 1) goto myprintf::@60
Successful SSA optimization PassNAddNumberTypeConversions
Simplifying constant integer cast (byte) $5a+(unumber)(number) 1
Simplifying constant integer cast 1
Successful SSA optimization PassNCastSimplification
Finalized unsigned number type (byte) 1
Successful SSA optimization PassNFinalizeNumberTypeConversions
Inlining constant with var siblings (const word) divr16u::quotient#0
Inlining constant with var siblings (const byte) divr16u::i#0
Inlining constant with var siblings (const word) divr16u::rem#3
Inlining constant with var siblings (const word) append::sub#0
Inlining constant with var siblings (const word) append::sub#1
Inlining constant with var siblings (const word) append::sub#2
Inlining constant with var siblings (const word) append::sub#3
Inlining constant with var siblings (const byte*) append::dst#0
Inlining constant with var siblings (const byte) utoa::bStarted#0
Inlining constant with var siblings (const byte) utoa::bStarted#1
Inlining constant with var siblings (const byte) utoa::bStarted#2
Inlining constant with var siblings (const byte) utoa::bStarted#3
Inlining constant with var siblings (const byte*) utoa::dst#5
Inlining constant with var siblings (const byte*) utoa::dst#0
Inlining constant with var siblings (const byte) myprintf::bArg#0
Inlining constant with var siblings (const byte) myprintf::bFormat#0
Inlining constant with var siblings (const byte) myprintf::bLen#0
Inlining constant with var siblings (const byte) myprintf::bLeadZero#0
Inlining constant with var siblings (const byte) myprintf::bDigits#0
Inlining constant with var siblings (const byte) myprintf::bTrailing#0
Inlining constant with var siblings (const word) myprintf::w#0
Inlining constant with var siblings (const byte) myprintf::bLeadZero#1
Inlining constant with var siblings (const byte) myprintf::bTrailing#1
Inlining constant with var siblings (const byte) myprintf::b#2
Inlining constant with var siblings (const byte) myprintf::digit#1
Inlining constant with var siblings (const byte) myprintf::bFormat#1
Inlining constant with var siblings (const byte) myprintf::bFormat#13
Inlining constant with var siblings (const byte) myprintf::bLeadZero#2
Inlining constant with var siblings (const byte) myprintf::bDigits#27
Inlining constant with var siblings (const byte) myprintf::bTrailing#2
Inlining constant with var siblings (const byte*) myprintf::str#1
Inlining constant with var siblings (const byte*) myprintf::str#2
Inlining constant with var siblings (const byte*) myprintf::dst#0
Inlining constant with var siblings (const byte*) myprintf::dst#1
Inlining constant with var siblings (const word) main::u#1
Inlining constant with var siblings (const word) main::u#3
Constant inlined divr16u::rem#3 = (byte) 0
Constant inlined utoa::dst#5 = (const byte[6]) myprintf::buf6#0
Constant inlined utoa::bStarted#3 = (byte) 1
Constant inlined append::dst#0 = (const byte[6]) myprintf::buf6#0
Constant inlined divr16u::i#0 = (byte) 0
Constant inlined myprintf::$29 = (byte) '0'
Constant inlined utoa::dst#0 = ++(const byte[6]) myprintf::buf6#0
Constant inlined myprintf::$28 = (byte) $57
Constant inlined myprintf::str#1 = (const string) main::str
Constant inlined myprintf::bLeadZero#0 = (byte) 0
Constant inlined myprintf::str#2 = (const string) main::str1
Constant inlined myprintf::bLeadZero#1 = (byte) 1
Constant inlined myprintf::digit#1 = (byte) 0
Constant inlined myprintf::dst#1 = (const byte[$64]) strTemp#0
Constant inlined myprintf::bDigits#27 = (byte) 1
Constant inlined divr16u::quotient#0 = (byte) 0
Constant inlined myprintf::dst#0 = (const byte[$64]) strTemp#0
Constant inlined myprintf::bArg#0 = (byte) 0
Constant inlined myprintf::bLeadZero#2 = (byte) 0
Constant inlined divr16u::divisor#0 = (const word) div16u::divisor#0
Constant inlined myprintf::bLen#0 = (byte) 0
Constant inlined myprintf::bFormat#13 = (byte) 1
Constant inlined append::sub#0 = (word) $2710
Constant inlined append::sub#1 = (word) $3e8
Constant inlined append::sub#2 = (byte) $64
Constant inlined myprintf::$39 = (byte) '0'
Constant inlined append::sub#3 = (byte) $a
Constant inlined myprintf::b#2 = (byte) 1
Constant inlined main::u#3 = (word) $6e85
Constant inlined main::u#1 = (word) $6e85
Constant inlined myprintf::bDigits#0 = (byte) 0
Constant inlined myprintf::bTrailing#2 = (byte) 0
Constant inlined myprintf::$40 = (byte) ' '
Constant inlined myprintf::bFormat#1 = (byte) 0
Constant inlined myprintf::bFormat#0 = (byte) 0
Constant inlined myprintf::w#0 = (word) 0
Constant inlined myprintf::$22 = (byte) '0'
Constant inlined utoa::bStarted#1 = (byte) 1
Constant inlined myprintf::$21 = (byte) $57
Constant inlined utoa::bStarted#2 = (byte) 1
Constant inlined myprintf::bTrailing#0 = (byte) 0
Constant inlined utoa::bStarted#0 = (byte) 0
Constant inlined myprintf::bTrailing#1 = (byte) 1
Successful SSA optimization Pass2ConstantInlining
Identical Phi Values (byte*) myprintf::dst#40 (const byte[$64]) strTemp#0
Successful SSA optimization Pass2IdenticalPhiElimination
Added new block during phi lifting divr16u::@8(between divr16u::@3 and divr16u::@1)
Added new block during phi lifting divr16u::@9(between divr16u::@1 and divr16u::@2)
Added new block during phi lifting divr16u::@10(between divr16u::@2 and divr16u::@3)
Added new block during phi lifting utoa::@17(between utoa::@13 and utoa::@1)
Fixing phi predecessor for utoa::bStarted#5 to new block ( utoa::@13 -> utoa::@17 ) during phi lifting.
Fixing phi predecessor for utoa::dst#16 to new block ( utoa::@13 -> utoa::@17 ) during phi lifting.
Added new block during phi lifting utoa::@18(between utoa::@14 and utoa::@2)
Added new block during phi lifting utoa::@19(between utoa::@15 and utoa::@3)
Added new block during phi lifting utoa::@20(between utoa::@16 and utoa::@4)
Added new block during phi lifting myprintf::@77(between myprintf::@52 and myprintf::@1)
Added new block during phi lifting myprintf::@78(between myprintf::@21 and myprintf::@26)
Added new block during phi lifting myprintf::@79(between myprintf::@30 and myprintf::@26)
Added new block during phi lifting myprintf::@80(between myprintf::@74 and myprintf::@27)
Added new block during phi lifting myprintf::@81(between myprintf::@30 and myprintf::@27)
Added new block during phi lifting myprintf::@82(between myprintf::@34 and myprintf::@34)
Added new block during phi lifting myprintf::@83(between myprintf::@75 and myprintf::@38)
Added new block during phi lifting myprintf::@84(between myprintf::@38 and myprintf::@38)
Added new block during phi lifting myprintf::@85(between myprintf::@35 and myprintf::@40)
Added new block during phi lifting myprintf::@86(between myprintf::@38 and myprintf::@40)
Added new block during phi lifting myprintf::@87(between myprintf::@73 and myprintf::@40)
Added new block during phi lifting myprintf::@88(between myprintf::@53 and myprintf::@60)
Added new block during phi lifting main::@16(between main::@12 and main::@1)
Added new block during phi lifting main::@17(between main::@15 and main::@5)
Adding NOP phi() at start of @begin
Adding NOP phi() at start of @8
Adding NOP phi() at start of @14
Adding NOP phi() at start of @15
Adding NOP phi() at start of @end
Adding NOP phi() at start of main::@11
Adding NOP phi() at start of main::@14
Adding NOP phi() at start of main::@8
Adding NOP phi() at start of myprintf::@10
Adding NOP phi() at start of myprintf::@13
Adding NOP phi() at start of myprintf::@12
Adding NOP phi() at start of myprintf::@9
Adding NOP phi() at start of myprintf::@71
Adding NOP phi() at start of myprintf::@29
Adding NOP phi() at start of myprintf::@28
Adding NOP phi() at start of utoa
Adding NOP phi() at start of append::@3
Adding NOP phi() at start of divr16u::@6
CALL GRAPH
Calls in [] to main:3 
Calls in [main] to div16u:13 myprintf:27 Print:29 div10:39 myprintf:53 Print:55 
Calls in [myprintf] to utoa:134 
Calls in [utoa] to append:253 append:263 append:273 append:281 
Calls in [div16u] to divr16u:306 

Created 59 initial phi equivalence classes
Coalesced [24] myprintf::w1#46 ← myprintf::w1#0
Coalesced [25] myprintf::w2#46 ← myprintf::w2#0
Coalesced [26] myprintf::w3#46 ← myprintf::w3#0
Coalesced [50] myprintf::w1#47 ← myprintf::w1#1
Coalesced [51] myprintf::w2#47 ← myprintf::w2#1
Coalesced [52] myprintf::w3#47 ← myprintf::w3#1
Coalesced [61] main::u#18 ← main::u#4
Coalesced [62] main::u#17 ← main::u#2
Coalesced [66] myprintf::str#47 ← myprintf::str#5
Coalesced [71] myprintf::bFormat#24 ← myprintf::bFormat#10
Coalesced [72] myprintf::return#10 ← myprintf::bLen#14
Coalesced [73] myprintf::bArg#51 ← myprintf::bArg#12
Coalesced [74] myprintf::w#48 ← myprintf::w#10
Coalesced [75] myprintf::bTrailing#48 ← myprintf::bTrailing#10
Coalesced [76] myprintf::bDigits#51 ← myprintf::bDigits#14
Coalesced [82] myprintf::str#48 ← myprintf::str#0
Coalesced (already) [83] myprintf::bFormat#20 ← myprintf::bFormat#4
Coalesced (already) [84] myprintf::bArg#45 ← myprintf::bArg#10
Coalesced (already) [85] myprintf::bLen#52 ← myprintf::return#0
Coalesced (already) [86] myprintf::w#42 ← myprintf::w#17
Coalesced (already) [87] myprintf::bTrailing#44 ← myprintf::bTrailing#21
Coalesced (already) [88] myprintf::bDigits#46 ← myprintf::bDigits#24
Coalesced [89] myprintf::bLeadZero#44 ← myprintf::bLeadZero#18
Coalesced (already) [93] myprintf::bFormat#22 ← myprintf::bFormat#10
Coalesced (already) [94] myprintf::return#7 ← myprintf::bLen#14
Coalesced (already) [95] myprintf::bArg#48 ← myprintf::bArg#12
Coalesced (already) [96] myprintf::w#45 ← myprintf::w#10
Coalesced (already) [97] myprintf::bDigits#49 ← myprintf::bDigits#14
Coalesced (already) [98] myprintf::bLeadZero#47 ← myprintf::bLeadZero#10
Coalesced [103] myprintf::bLen#64 ← myprintf::bLen#14
Coalesced [104] myprintf::bDigits#61 ← myprintf::bDigits#14
Coalesced (already) [106] myprintf::return#5 ← myprintf::bLen#28
Coalesced (already) [107] myprintf::bArg#46 ← myprintf::bArg#12
Coalesced (already) [108] myprintf::w#43 ← myprintf::w#10
Coalesced (already) [109] myprintf::bTrailing#45 ← myprintf::bTrailing#10
Coalesced (already) [110] myprintf::bDigits#47 ← myprintf::bDigits#25
Coalesced (already) [111] myprintf::bLeadZero#45 ← myprintf::bLeadZero#10
Coalesced [129] myprintf::bLen#61 ← myprintf::bLen#3
Coalesced (already) [130] myprintf::bDigits#58 ← myprintf::bDigits#14
Coalesced [141] myprintf::bLen#57 ← myprintf::bLen#23
Coalesced [149] myprintf::bLen#59 ← myprintf::bLen#24
Coalesced [150] myprintf::bDigits#56 ← myprintf::bDigits#16
Coalesced [156] myprintf::bLen#63 ← myprintf::bLen#6
Coalesced [157] myprintf::bDigits#60 ← myprintf::bDigits#3
Coalesced [158] myprintf::bLen#60 ← myprintf::bLen#6
Coalesced [159] myprintf::bDigits#57 ← myprintf::bDigits#3
Coalesced (already) [160] myprintf::bLen#62 ← myprintf::bLen#24
Coalesced (already) [161] myprintf::bDigits#59 ← myprintf::bDigits#16
Coalesced [162] myprintf::digit#4 ← myprintf::digit#2
Coalesced [163] myprintf::bLen#58 ← myprintf::bLen#24
Coalesced [164] myprintf::bLen#55 ← myprintf::bLen#14
Coalesced [165] myprintf::bDigits#54 ← myprintf::bDigits#14
Coalesced [174] myprintf::bLen#54 ← myprintf::bLen#4
Coalesced [175] myprintf::bDigits#53 ← myprintf::bDigits#2
Coalesced (already) [176] myprintf::bLen#56 ← myprintf::bLen#4
Coalesced (already) [177] myprintf::bDigits#55 ← myprintf::bDigits#2
Coalesced (already) [179] myprintf::bLen#53 ← myprintf::bLen#14
Coalesced (already) [180] myprintf::bDigits#52 ← myprintf::bDigits#14
Coalesced [182] myprintf::b#35 ← myprintf::b#5
Coalesced [186] myprintf::bLen#65 ← myprintf::bLen#1
Coalesced (already) [187] myprintf::bDigits#62 ← myprintf::bDigits#14
Coalesced (already) [189] myprintf::bFormat#21 ← myprintf::bFormat#10
Coalesced (already) [190] myprintf::return#6 ← myprintf::bLen#14
Coalesced (already) [191] myprintf::bArg#47 ← myprintf::bArg#12
Coalesced (already) [192] myprintf::w#44 ← myprintf::w#10
Coalesced (already) [193] myprintf::bTrailing#46 ← myprintf::bTrailing#10
Coalesced [194] myprintf::bDigits#48 ← myprintf::bDigits#1
Coalesced (already) [195] myprintf::bLeadZero#46 ← myprintf::bLeadZero#10
Not coalescing [199] myprintf::w#51 ← myprintf::w3#7
Coalesced (already) [202] myprintf::return#8 ← myprintf::bLen#14
Coalesced [203] myprintf::bArg#49 ← myprintf::bArg#1
Coalesced [204] myprintf::w#46 ← myprintf::w#21
Not coalescing [205] myprintf::w#50 ← myprintf::w2#7
Not coalescing [206] myprintf::w#49 ← myprintf::w1#6
Coalesced [210] myprintf::b#37 ← myprintf::b#6
Coalesced (already) [214] myprintf::bFormat#23 ← myprintf::bFormat#10
Coalesced [215] myprintf::return#9 ← myprintf::bLen#7
Coalesced (already) [216] myprintf::bArg#50 ← myprintf::bArg#12
Coalesced (already) [217] myprintf::w#47 ← myprintf::w#10
Coalesced (already) [218] myprintf::bTrailing#47 ← myprintf::bTrailing#10
Coalesced (already) [219] myprintf::bDigits#50 ← myprintf::bDigits#14
Coalesced (already) [220] myprintf::bLeadZero#48 ← myprintf::bLeadZero#10
Coalesced [221] myprintf::b#36 ← myprintf::b#1
Coalesced [224] utoa::value#14 ← utoa::value#4
Coalesced [228] utoa::bStarted#8 ← utoa::bStarted#5
Coalesced [229] utoa::value#16 ← utoa::value#6
Coalesced [230] utoa::dst#19 ← utoa::dst#16
Coalesced [234] utoa::bStarted#9 ← utoa::bStarted#6
Coalesced [235] utoa::value#19 ← utoa::value#11
Coalesced [236] utoa::dst#22 ← utoa::dst#10
Coalesced [240] utoa::value#21 ← utoa::value#10
Coalesced [241] utoa::dst#24 ← utoa::dst#13
Coalesced [251] append::dst#9 ← append::dst#3
Coalesced [252] append::value#12 ← append::value#4
Coalesced [257] utoa::value#20 ← utoa::value#3
Coalesced [258] utoa::dst#23 ← utoa::dst#4
Coalesced [261] append::dst#8 ← append::dst#2
Coalesced [262] append::value#11 ← append::value#3
Coalesced [267] utoa::value#18 ← utoa::value#2
Coalesced [268] utoa::dst#21 ← utoa::dst#2
Coalesced [271] append::dst#7 ← append::dst#1
Coalesced [272] append::value#10 ← append::value#2
Coalesced [277] utoa::value#17 ← utoa::value#1
Coalesced [278] utoa::dst#20 ← utoa::dst#1
Coalesced [280] append::value#9 ← append::value#1
Coalesced [284] utoa::value#15 ← utoa::value#0
Coalesced [287] append::value#13 ← append::value#8
Coalesced [294] append::value#14 ← append::value#0
Coalesced [310] divr16u::dividend#8 ← divr16u::dividend#1
Coalesced [317] divr16u::rem#12 ← divr16u::rem#1
Coalesced [324] divr16u::rem#14 ← divr16u::rem#2
Coalesced [325] divr16u::return#6 ← divr16u::quotient#2
Coalesced [331] divr16u::rem#10 ← divr16u::rem#9
Coalesced [332] divr16u::dividend#9 ← divr16u::dividend#0
Coalesced [333] divr16u::quotient#9 ← divr16u::return#0
Coalesced [334] divr16u::i#7 ← divr16u::i#1
Coalesced [335] divr16u::rem#13 ← divr16u::rem#5
Coalesced [336] divr16u::return#5 ← divr16u::quotient#1
Coalesced [337] divr16u::rem#11 ← divr16u::rem#0
Coalesced down to 29 phi equivalence classes
Culled Empty Block (label) @8
Culled Empty Block (label) @15
Culled Empty Block (label) main::@8
Culled Empty Block (label) main::@17
Culled Empty Block (label) main::@16
Culled Empty Block (label) myprintf::@62
Culled Empty Block (label) myprintf::@77
Culled Empty Block (label) myprintf::@43
Culled Empty Block (label) myprintf::@87
Culled Empty Block (label) myprintf::@10
Culled Empty Block (label) myprintf::@13
Culled Empty Block (label) myprintf::@71
Culled Empty Block (label) myprintf::@83
Culled Empty Block (label) myprintf::@86
Culled Empty Block (label) myprintf::@84
Culled Empty Block (label) myprintf::@85
Culled Empty Block (label) myprintf::@82
Culled Empty Block (label) myprintf::@80
Culled Empty Block (label) myprintf::@29
Culled Empty Block (label) myprintf::@79
Culled Empty Block (label) myprintf::@81
Culled Empty Block (label) myprintf::@78
Culled Empty Block (label) myprintf::@88
Culled Empty Block (label) utoa::@17
Culled Empty Block (label) utoa::@18
Culled Empty Block (label) utoa::@19
Culled Empty Block (label) utoa::@20
Culled Empty Block (label) append::@3
Culled Empty Block (label) divr16u::@6
Culled Empty Block (label) divr16u::@8
Culled Empty Block (label) divr16u::@10
Culled Empty Block (label) divr16u::@9
Renumbering block @14 to @1
Renumbering block div16u::@2 to div16u::@1
Renumbering block myprintf::@9 to myprintf::@8
Renumbering block myprintf::@11 to myprintf::@9
Renumbering block myprintf::@12 to myprintf::@10
Renumbering block myprintf::@14 to myprintf::@11
Renumbering block myprintf::@19 to myprintf::@12
Renumbering block myprintf::@20 to myprintf::@13
Renumbering block myprintf::@21 to myprintf::@14
Renumbering block myprintf::@26 to myprintf::@15
Renumbering block myprintf::@27 to myprintf::@16
Renumbering block myprintf::@28 to myprintf::@17
Renumbering block myprintf::@30 to myprintf::@18
Renumbering block myprintf::@34 to myprintf::@19
Renumbering block myprintf::@35 to myprintf::@20
Renumbering block myprintf::@38 to myprintf::@21
Renumbering block myprintf::@40 to myprintf::@22
Renumbering block myprintf::@41 to myprintf::@23
Renumbering block myprintf::@45 to myprintf::@24
Renumbering block myprintf::@46 to myprintf::@25
Renumbering block myprintf::@47 to myprintf::@26
Renumbering block myprintf::@52 to myprintf::@27
Renumbering block myprintf::@53 to myprintf::@28
Renumbering block myprintf::@54 to myprintf::@29
Renumbering block myprintf::@55 to myprintf::@30
Renumbering block myprintf::@57 to myprintf::@31
Renumbering block myprintf::@60 to myprintf::@32
Renumbering block myprintf::@61 to myprintf::@33
Renumbering block myprintf::@64 to myprintf::@34
Renumbering block myprintf::@65 to myprintf::@35
Renumbering block myprintf::@66 to myprintf::@36
Renumbering block myprintf::@68 to myprintf::@37
Renumbering block myprintf::@69 to myprintf::@38
Renumbering block myprintf::@72 to myprintf::@39
Renumbering block myprintf::@73 to myprintf::@40
Renumbering block myprintf::@74 to myprintf::@41
Renumbering block myprintf::@75 to myprintf::@42
Renumbering block myprintf::@76 to myprintf::@43
Renumbering block main::@10 to main::@8
Renumbering block main::@11 to main::@9
Renumbering block main::@12 to main::@10
Renumbering block main::@13 to main::@11
Renumbering block main::@14 to main::@12
Renumbering block main::@15 to main::@13
Adding NOP phi() at start of @begin
Adding NOP phi() at start of @1
Adding NOP phi() at start of @end
Adding NOP phi() at start of main::@9
Adding NOP phi() at start of main::@12
Adding NOP phi() at start of myprintf::@8
Adding NOP phi() at start of myprintf::@10
Adding NOP phi() at start of myprintf::@17
Adding NOP phi() at start of utoa
Adding NOP phi() at start of divr16u

FINAL CONTROL FLOW GRAPH
@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


VARIABLE REGISTER WEIGHTS
(void()) Print()
(byte*) TIMEHI
(byte*) TIMELO
(byte*) VICBANK
(word()) append((byte*) append::dst , (word) append::value , (word) append::sub)
(byte*) append::dst
(byte*) append::dst#1 2.0
(byte*) append::dst#2 2.0
(byte*) append::dst#3 2.0
(byte*) append::dst#4 335.0
(word) append::return
(word) append::return#10 4.0
(word) append::return#2 4.0
(word) append::return#3 4.0
(word) append::return#4 4.0
(word) append::sub
(word) append::sub#6 333.6666666666667
(word) append::value
(word) append::value#0 2002.0
(word) append::value#1 4.0
(word) append::value#2 4.0
(word) append::value#3 4.0
(word) append::value#4 4.0
(word) append::value#5 376.625
(word) append::value#8 5.0
(word()) div10((word) div10::val)
(word~) div10::$0 4.0
(word~) div10::$2 4.0
(word~) div10::$3 4.0
(word~) div10::$4 4.0
(word) div10::return
(word) div10::return#0 34.33333333333333
(word) div10::return#2 202.0
(word) div10::val
(word) div10::val#0 3.0
(word) div10::val#1 3.0
(word) div10::val#2 3.0
(word) div10::val#3 4.0
(word) div10::val#4 103.0
(word()) div16u((word) div16u::dividend , (word) div16u::divisor)
(word) div16u::dividend
(word) div16u::dividend#0 103.0
(word) div16u::divisor
(word) div16u::return
(word) div16u::return#0 34.33333333333333
(word) div16u::return#2 202.0
(word()) divr16u((word) divr16u::dividend , (word) divr16u::divisor , (word) divr16u::rem)
(byte~) divr16u::$1 2002.0
(byte~) divr16u::$2 2002.0
(word) divr16u::dividend
(word) divr16u::dividend#0 250.25
(word) divr16u::dividend#1 2.0
(word) divr16u::dividend#2 429.2857142857143
(word) divr16u::divisor
(byte) divr16u::i
(byte) divr16u::i#1 1501.5
(byte) divr16u::i#2 154.0
(word) divr16u::quotient
(word) divr16u::quotient#1 1501.5
(word) divr16u::quotient#2 1001.0
(word) divr16u::quotient#3 250.25
(word) divr16u::rem
(word) divr16u::rem#0 750.75
(word) divr16u::rem#1 2002.0
(word) divr16u::rem#2 2002.0
(word) divr16u::rem#4 2002.0
(word) divr16u::rem#5 1001.0
(word) divr16u::rem#9 1001.0
(word) divr16u::return
(word) divr16u::return#0 601.0
(word) divr16u::return#2 4.0
(signed word()) main()
(word~) main::$11 22.0
(word~) main::$12 11.0
(word~) main::$13 22.0
(word~) main::$2 22.0
(word~) main::$3 11.0
(word~) main::$4 22.0
(signed word) main::return
(word) main::u
(word) main::u#11 7.05263157894737
(word) main::u#15 7.05263157894737
(word) main::u#2 7.333333333333333
(word) main::u#4 7.333333333333333
(word) main::v
(word) main::v#1 14.0
(word) main::v#2 14.0
(byte()) myprintf((byte*) myprintf::dst , (byte*) myprintf::str , (word) myprintf::w1 , (word) myprintf::w2 , (word) myprintf::w3)
(byte~) myprintf::$17 202.0
(byte~) myprintf::$18 202.0
(byte~) myprintf::$23 101.0
(byte~) myprintf::$24 202.0
(byte~) myprintf::$25 202.0
(byte~) myprintf::$30 101.0
(byte~) myprintf::$31 202.0
(byte~) myprintf::$41 1001.0
(byte~) myprintf::$49 202.0
(byte) myprintf::b
(byte) myprintf::b#1 126.25000000000003
(byte) myprintf::b#15 75.75
(byte) myprintf::b#16 75.75
(byte) myprintf::b#17 248.31999999999996
(byte) myprintf::b#25 303.0
(byte) myprintf::b#5 2002.0
(byte) myprintf::b#6 202.0
(byte) myprintf::bArg
(byte) myprintf::bArg#1 202.0
(byte) myprintf::bArg#10 235.66666666666663
(byte) myprintf::bArg#12 12.283783783783784
(byte) myprintf::bDigits
(byte) myprintf::bDigits#1 202.0
(byte) myprintf::bDigits#10 350.5
(byte) myprintf::bDigits#14 22.44444444444444
(byte) myprintf::bDigits#16 175.625
(byte) myprintf::bDigits#2 2002.0
(byte) myprintf::bDigits#24 201.99999999999997
(byte) myprintf::bDigits#25 1506.0
(byte) myprintf::bDigits#3 2002.0
(byte) myprintf::bDigits#8 701.0
(byte) myprintf::bFormat
(byte) myprintf::bFormat#10 40.4
(byte) myprintf::bFormat#4 168.33333333333331
(byte) myprintf::bLeadZero
(byte) myprintf::bLeadZero#10 22.147058823529413
(byte) myprintf::bLeadZero#18 168.33333333333331
(byte) myprintf::bLen
(byte) myprintf::bLen#1 202.0
(byte) myprintf::bLen#10 37.875
(byte) myprintf::bLen#11 620.8
(byte) myprintf::bLen#12 1552.0
(byte) myprintf::bLen#13 1552.0
(byte) myprintf::bLen#14 33.666666666666664
(byte) myprintf::bLen#23 1203.0
(byte) myprintf::bLen#24 440.79999999999995
(byte) myprintf::bLen#28 1506.0
(byte) myprintf::bLen#3 202.0
(byte) myprintf::bLen#4 1001.0
(byte) myprintf::bLen#6 1001.0
(byte) myprintf::bLen#7 202.0
(byte) myprintf::bTrailing
(byte) myprintf::bTrailing#10 10.397058823529413
(byte) myprintf::bTrailing#21 168.33333333333331
(byte[6]) myprintf::buf6
(byte) myprintf::digit
(byte) myprintf::digit#2 1501.5
(byte) myprintf::digit#3 1001.0
(byte*) myprintf::dst
(byte) myprintf::return
(byte) myprintf::return#0 236.3333333333333
(byte*) myprintf::str
(byte*) myprintf::str#0 151.5
(byte*) myprintf::str#10 4.0131578947368425
(byte*) myprintf::str#5 2.0
(word) myprintf::w
(word) myprintf::w#10 10.397058823529413
(word) myprintf::w#17 235.66666666666663
(word) myprintf::w#21 202.0
(word~) myprintf::w#49 202.0
(word~) myprintf::w#50 202.0
(word~) myprintf::w#51 202.0
(word) myprintf::w1
(word) myprintf::w1#0 11.0
(word) myprintf::w1#1 11.0
(word) myprintf::w1#6 1.5569620253164556
(word) myprintf::w2
(word) myprintf::w2#0 22.0
(word) myprintf::w2#1 22.0
(word) myprintf::w2#7 1.5569620253164556
(word) myprintf::w3
(word) myprintf::w3#0 7.333333333333333
(word) myprintf::w3#1 7.333333333333333
(word) myprintf::w3#7 1.5569620253164556
(byte[$64]) strTemp
(void()) utoa((word) utoa::value , (byte*) utoa::dst)
(byte~) utoa::$16 4.0
(byte~) utoa::$17 4.0
(byte) utoa::bStarted
(byte) utoa::bStarted#5 1.3333333333333333
(byte) utoa::bStarted#6 2.0
(byte) utoa::bStarted#7 4.0
(byte*) utoa::dst
(byte*) utoa::dst#1 4.0
(byte*) utoa::dst#10 1.25
(byte*) utoa::dst#12 2.0
(byte*) utoa::dst#13 1.25
(byte*) utoa::dst#16 0.75
(byte*) utoa::dst#2 4.0
(byte*) utoa::dst#3 4.0
(byte*) utoa::dst#4 4.0
(word) utoa::value
(word) utoa::value#0 4.0
(word) utoa::value#1 2.0
(word) utoa::value#10 2.5
(word) utoa::value#11 2.5
(word) utoa::value#12 4.0
(word) utoa::value#2 2.0
(word) utoa::value#3 2.0
(word) utoa::value#4 35.66666666666666
(word) utoa::value#6 2.5
(byte*) zp1
(byte*) zp2

Initial phi equivalence classes
[ main::u#11 main::u#2 ]
[ main::u#15 main::u#4 ]
[ myprintf::w1#6 myprintf::w1#0 myprintf::w1#1 ]
[ myprintf::w2#7 myprintf::w2#0 myprintf::w2#1 ]
[ myprintf::w3#7 myprintf::w3#0 myprintf::w3#1 ]
[ myprintf::str#10 myprintf::str#5 myprintf::str#0 ]
[ myprintf::bFormat#10 myprintf::bFormat#4 ]
[ myprintf::bArg#12 myprintf::bArg#10 myprintf::bArg#1 ]
[ myprintf::w#10 myprintf::w#17 myprintf::w#21 myprintf::w#49 myprintf::w#50 myprintf::w#51 ]
[ myprintf::bTrailing#10 myprintf::bTrailing#21 ]
[ myprintf::bLeadZero#10 myprintf::bLeadZero#18 ]
[ myprintf::$23 ]
[ myprintf::$30 ]
[ myprintf::b#17 myprintf::b#5 ]
[ myprintf::digit#3 myprintf::digit#2 ]
[ myprintf::bLen#11 myprintf::bLen#13 myprintf::bLen#12 myprintf::bLen#23 myprintf::bLen#14 myprintf::return#0 myprintf::bLen#28 myprintf::bLen#7 myprintf::bLen#3 myprintf::bLen#24 myprintf::bLen#6 myprintf::bLen#1 myprintf::bLen#4 ]
[ myprintf::bDigits#10 myprintf::bDigits#8 myprintf::bDigits#14 myprintf::bDigits#24 myprintf::bDigits#25 myprintf::bDigits#1 myprintf::bDigits#16 myprintf::bDigits#3 myprintf::bDigits#2 ]
[ myprintf::$41 ]
[ myprintf::b#25 myprintf::b#1 myprintf::b#6 ]
[ utoa::bStarted#7 utoa::bStarted#6 utoa::bStarted#5 ]
[ utoa::value#12 utoa::value#3 utoa::value#10 utoa::value#2 utoa::value#11 utoa::value#6 utoa::value#4 utoa::value#0 utoa::value#1 ]
[ utoa::dst#12 utoa::dst#4 utoa::dst#13 utoa::dst#2 utoa::dst#10 utoa::dst#16 utoa::dst#1 ]
[ append::dst#4 append::dst#1 append::dst#2 append::dst#3 ]
[ append::sub#6 ]
[ append::value#5 append::value#8 append::value#1 append::value#2 append::value#3 append::value#4 append::value#0 ]
[ divr16u::rem#4 divr16u::rem#9 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ]
[ divr16u::dividend#2 divr16u::dividend#1 divr16u::dividend#0 ]
[ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ]
[ divr16u::i#2 divr16u::i#1 ]
Added variable div16u::dividend#0 to zero page equivalence class [ div16u::dividend#0 ]
Added variable div16u::return#2 to zero page equivalence class [ div16u::return#2 ]
Added variable main::v#1 to zero page equivalence class [ main::v#1 ]
Added variable main::$2 to zero page equivalence class [ main::$2 ]
Added variable main::$3 to zero page equivalence class [ main::$3 ]
Added variable main::$4 to zero page equivalence class [ main::$4 ]
Added variable div10::val#4 to zero page equivalence class [ div10::val#4 ]
Added variable div10::return#2 to zero page equivalence class [ div10::return#2 ]
Added variable main::v#2 to zero page equivalence class [ main::v#2 ]
Added variable main::$11 to zero page equivalence class [ main::$11 ]
Added variable main::$12 to zero page equivalence class [ main::$12 ]
Added variable main::$13 to zero page equivalence class [ main::$13 ]
Added variable myprintf::$17 to zero page equivalence class [ myprintf::$17 ]
Added variable myprintf::$18 to zero page equivalence class [ myprintf::$18 ]
Added variable myprintf::b#15 to zero page equivalence class [ myprintf::b#15 ]
Added variable myprintf::$24 to zero page equivalence class [ myprintf::$24 ]
Added variable myprintf::bLen#10 to zero page equivalence class [ myprintf::bLen#10 ]
Added variable myprintf::$25 to zero page equivalence class [ myprintf::$25 ]
Added variable myprintf::b#16 to zero page equivalence class [ myprintf::b#16 ]
Added variable myprintf::$31 to zero page equivalence class [ myprintf::$31 ]
Added variable myprintf::$49 to zero page equivalence class [ myprintf::$49 ]
Added variable utoa::$16 to zero page equivalence class [ utoa::$16 ]
Added variable utoa::$17 to zero page equivalence class [ utoa::$17 ]
Added variable utoa::dst#3 to zero page equivalence class [ utoa::dst#3 ]
Added variable append::return#10 to zero page equivalence class [ append::return#10 ]
Added variable append::return#4 to zero page equivalence class [ append::return#4 ]
Added variable append::return#3 to zero page equivalence class [ append::return#3 ]
Added variable append::return#2 to zero page equivalence class [ append::return#2 ]
Added variable div10::$0 to zero page equivalence class [ div10::$0 ]
Added variable div10::val#0 to zero page equivalence class [ div10::val#0 ]
Added variable div10::$2 to zero page equivalence class [ div10::$2 ]
Added variable div10::val#1 to zero page equivalence class [ div10::val#1 ]
Added variable div10::$3 to zero page equivalence class [ div10::$3 ]
Added variable div10::val#2 to zero page equivalence class [ div10::val#2 ]
Added variable div10::$4 to zero page equivalence class [ div10::$4 ]
Added variable div10::val#3 to zero page equivalence class [ div10::val#3 ]
Added variable div10::return#0 to zero page equivalence class [ div10::return#0 ]
Added variable divr16u::return#2 to zero page equivalence class [ divr16u::return#2 ]
Added variable div16u::return#0 to zero page equivalence class [ div16u::return#0 ]
Added variable divr16u::$1 to zero page equivalence class [ divr16u::$1 ]
Added variable divr16u::$2 to zero page equivalence class [ divr16u::$2 ]
Complete equivalence classes
[ main::u#11 main::u#2 ]
[ main::u#15 main::u#4 ]
[ myprintf::w1#6 myprintf::w1#0 myprintf::w1#1 ]
[ myprintf::w2#7 myprintf::w2#0 myprintf::w2#1 ]
[ myprintf::w3#7 myprintf::w3#0 myprintf::w3#1 ]
[ myprintf::str#10 myprintf::str#5 myprintf::str#0 ]
[ myprintf::bFormat#10 myprintf::bFormat#4 ]
[ myprintf::bArg#12 myprintf::bArg#10 myprintf::bArg#1 ]
[ myprintf::w#10 myprintf::w#17 myprintf::w#21 myprintf::w#49 myprintf::w#50 myprintf::w#51 ]
[ myprintf::bTrailing#10 myprintf::bTrailing#21 ]
[ myprintf::bLeadZero#10 myprintf::bLeadZero#18 ]
[ myprintf::$23 ]
[ myprintf::$30 ]
[ myprintf::b#17 myprintf::b#5 ]
[ myprintf::digit#3 myprintf::digit#2 ]
[ myprintf::bLen#11 myprintf::bLen#13 myprintf::bLen#12 myprintf::bLen#23 myprintf::bLen#14 myprintf::return#0 myprintf::bLen#28 myprintf::bLen#7 myprintf::bLen#3 myprintf::bLen#24 myprintf::bLen#6 myprintf::bLen#1 myprintf::bLen#4 ]
[ myprintf::bDigits#10 myprintf::bDigits#8 myprintf::bDigits#14 myprintf::bDigits#24 myprintf::bDigits#25 myprintf::bDigits#1 myprintf::bDigits#16 myprintf::bDigits#3 myprintf::bDigits#2 ]
[ myprintf::$41 ]
[ myprintf::b#25 myprintf::b#1 myprintf::b#6 ]
[ utoa::bStarted#7 utoa::bStarted#6 utoa::bStarted#5 ]
[ utoa::value#12 utoa::value#3 utoa::value#10 utoa::value#2 utoa::value#11 utoa::value#6 utoa::value#4 utoa::value#0 utoa::value#1 ]
[ utoa::dst#12 utoa::dst#4 utoa::dst#13 utoa::dst#2 utoa::dst#10 utoa::dst#16 utoa::dst#1 ]
[ append::dst#4 append::dst#1 append::dst#2 append::dst#3 ]
[ append::sub#6 ]
[ append::value#5 append::value#8 append::value#1 append::value#2 append::value#3 append::value#4 append::value#0 ]
[ divr16u::rem#4 divr16u::rem#9 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ]
[ divr16u::dividend#2 divr16u::dividend#1 divr16u::dividend#0 ]
[ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ]
[ divr16u::i#2 divr16u::i#1 ]
[ div16u::dividend#0 ]
[ div16u::return#2 ]
[ main::v#1 ]
[ main::$2 ]
[ main::$3 ]
[ main::$4 ]
[ div10::val#4 ]
[ div10::return#2 ]
[ main::v#2 ]
[ main::$11 ]
[ main::$12 ]
[ main::$13 ]
[ myprintf::$17 ]
[ myprintf::$18 ]
[ myprintf::b#15 ]
[ myprintf::$24 ]
[ myprintf::bLen#10 ]
[ myprintf::$25 ]
[ myprintf::b#16 ]
[ myprintf::$31 ]
[ myprintf::$49 ]
[ utoa::$16 ]
[ utoa::$17 ]
[ utoa::dst#3 ]
[ append::return#10 ]
[ append::return#4 ]
[ append::return#3 ]
[ append::return#2 ]
[ div10::$0 ]
[ div10::val#0 ]
[ div10::$2 ]
[ div10::val#1 ]
[ div10::$3 ]
[ div10::val#2 ]
[ div10::$4 ]
[ div10::val#3 ]
[ div10::return#0 ]
[ divr16u::return#2 ]
[ div16u::return#0 ]
[ divr16u::$1 ]
[ divr16u::$2 ]
Allocated zp ZP_WORD:2 [ main::u#11 main::u#2 ]
Allocated zp ZP_WORD:4 [ main::u#15 main::u#4 ]
Allocated zp ZP_WORD:6 [ myprintf::w1#6 myprintf::w1#0 myprintf::w1#1 ]
Allocated zp ZP_WORD:8 [ myprintf::w2#7 myprintf::w2#0 myprintf::w2#1 ]
Allocated zp ZP_WORD:10 [ myprintf::w3#7 myprintf::w3#0 myprintf::w3#1 ]
Allocated zp ZP_WORD:12 [ myprintf::str#10 myprintf::str#5 myprintf::str#0 ]
Allocated zp ZP_BYTE:14 [ myprintf::bFormat#10 myprintf::bFormat#4 ]
Allocated zp ZP_BYTE:15 [ myprintf::bArg#12 myprintf::bArg#10 myprintf::bArg#1 ]
Allocated zp ZP_WORD:16 [ myprintf::w#10 myprintf::w#17 myprintf::w#21 myprintf::w#49 myprintf::w#50 myprintf::w#51 ]
Allocated zp ZP_BYTE:18 [ myprintf::bTrailing#10 myprintf::bTrailing#21 ]
Allocated zp ZP_BYTE:19 [ myprintf::bLeadZero#10 myprintf::bLeadZero#18 ]
Allocated zp ZP_BYTE:20 [ myprintf::$23 ]
Allocated zp ZP_BYTE:21 [ myprintf::$30 ]
Allocated zp ZP_BYTE:22 [ myprintf::b#17 myprintf::b#5 ]
Allocated zp ZP_BYTE:23 [ myprintf::digit#3 myprintf::digit#2 ]
Allocated zp ZP_BYTE:24 [ myprintf::bLen#11 myprintf::bLen#13 myprintf::bLen#12 myprintf::bLen#23 myprintf::bLen#14 myprintf::return#0 myprintf::bLen#28 myprintf::bLen#7 myprintf::bLen#3 myprintf::bLen#24 myprintf::bLen#6 myprintf::bLen#1 myprintf::bLen#4 ]
Allocated zp ZP_BYTE:25 [ myprintf::bDigits#10 myprintf::bDigits#8 myprintf::bDigits#14 myprintf::bDigits#24 myprintf::bDigits#25 myprintf::bDigits#1 myprintf::bDigits#16 myprintf::bDigits#3 myprintf::bDigits#2 ]
Allocated zp ZP_BYTE:26 [ myprintf::$41 ]
Allocated zp ZP_BYTE:27 [ myprintf::b#25 myprintf::b#1 myprintf::b#6 ]
Allocated zp ZP_BYTE:28 [ utoa::bStarted#7 utoa::bStarted#6 utoa::bStarted#5 ]
Allocated zp ZP_WORD:29 [ utoa::value#12 utoa::value#3 utoa::value#10 utoa::value#2 utoa::value#11 utoa::value#6 utoa::value#4 utoa::value#0 utoa::value#1 ]
Allocated zp ZP_WORD:31 [ utoa::dst#12 utoa::dst#4 utoa::dst#13 utoa::dst#2 utoa::dst#10 utoa::dst#16 utoa::dst#1 ]
Allocated zp ZP_WORD:33 [ append::dst#4 append::dst#1 append::dst#2 append::dst#3 ]
Allocated zp ZP_WORD:35 [ append::sub#6 ]
Allocated zp ZP_WORD:37 [ append::value#5 append::value#8 append::value#1 append::value#2 append::value#3 append::value#4 append::value#0 ]
Allocated zp ZP_WORD:39 [ divr16u::rem#4 divr16u::rem#9 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ]
Allocated zp ZP_WORD:41 [ divr16u::dividend#2 divr16u::dividend#1 divr16u::dividend#0 ]
Allocated zp ZP_WORD:43 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ]
Allocated zp ZP_BYTE:45 [ divr16u::i#2 divr16u::i#1 ]
Allocated zp ZP_WORD:46 [ div16u::dividend#0 ]
Allocated zp ZP_WORD:48 [ div16u::return#2 ]
Allocated zp ZP_WORD:50 [ main::v#1 ]
Allocated zp ZP_WORD:52 [ main::$2 ]
Allocated zp ZP_WORD:54 [ main::$3 ]
Allocated zp ZP_WORD:56 [ main::$4 ]
Allocated zp ZP_WORD:58 [ div10::val#4 ]
Allocated zp ZP_WORD:60 [ div10::return#2 ]
Allocated zp ZP_WORD:62 [ main::v#2 ]
Allocated zp ZP_WORD:64 [ main::$11 ]
Allocated zp ZP_WORD:66 [ main::$12 ]
Allocated zp ZP_WORD:68 [ main::$13 ]
Allocated zp ZP_BYTE:70 [ myprintf::$17 ]
Allocated zp ZP_BYTE:71 [ myprintf::$18 ]
Allocated zp ZP_BYTE:72 [ myprintf::b#15 ]
Allocated zp ZP_BYTE:73 [ myprintf::$24 ]
Allocated zp ZP_BYTE:74 [ myprintf::bLen#10 ]
Allocated zp ZP_BYTE:75 [ myprintf::$25 ]
Allocated zp ZP_BYTE:76 [ myprintf::b#16 ]
Allocated zp ZP_BYTE:77 [ myprintf::$31 ]
Allocated zp ZP_BYTE:78 [ myprintf::$49 ]
Allocated zp ZP_BYTE:79 [ utoa::$16 ]
Allocated zp ZP_BYTE:80 [ utoa::$17 ]
Allocated zp ZP_WORD:81 [ utoa::dst#3 ]
Allocated zp ZP_WORD:83 [ append::return#10 ]
Allocated zp ZP_WORD:85 [ append::return#4 ]
Allocated zp ZP_WORD:87 [ append::return#3 ]
Allocated zp ZP_WORD:89 [ append::return#2 ]
Allocated zp ZP_WORD:91 [ div10::$0 ]
Allocated zp ZP_WORD:93 [ div10::val#0 ]
Allocated zp ZP_WORD:95 [ div10::$2 ]
Allocated zp ZP_WORD:97 [ div10::val#1 ]
Allocated zp ZP_WORD:99 [ div10::$3 ]
Allocated zp ZP_WORD:101 [ div10::val#2 ]
Allocated zp ZP_WORD:103 [ div10::$4 ]
Allocated zp ZP_WORD:105 [ div10::val#3 ]
Allocated zp ZP_WORD:107 [ div10::return#0 ]
Allocated zp ZP_WORD:109 [ divr16u::return#2 ]
Allocated zp ZP_WORD:111 [ div16u::return#0 ]
Allocated zp ZP_BYTE:113 [ divr16u::$1 ]
Allocated zp ZP_BYTE:114 [ divr16u::$2 ]

INITIAL ASM
  // File Comments
  // Basic Upstart
.pc = $801 "Basic"
:BasicUpstart(bbegin)
.pc = $80d "Program"
  // Global Constants & labels
  .label zp1 = $61
  // #define zp1 *(byte *)0x61 -- allows "zp1" vs "*zp1" below -- not supported --  https://gitlab.com/camelot/kickc/issues/169
  .label zp2 = $62
  .label TIMEHI = $a1
  .label TIMELO = $a2
  .label VICBANK = $d018
  // @begin
bbegin:
  // [1] phi from @begin to @1 [phi:@begin->@1]
b1_from_bbegin:
  jmp b1
  // @1
b1:
  // [2] call main 
  jsr main
  // [3] phi from @1 to @end [phi:@1->@end]
bend_from_b1:
  jmp bend
  // @end
bend:
  // main
main: {
    .label _2 = $34
    .label _3 = $36
    .label _4 = $38
    .label _11 = $40
    .label _12 = $42
    .label _13 = $44
    .label v = $32
    .label u = 2
    .label v_2 = $3e
    .label u_4 = 4
    .label u_15 = 4
    // [4] *((const byte*) VICBANK#0) ← (byte) $17 -- _deref_pbuc1=vbuc2 
    lda #$17
    sta VICBANK
    // [5] *((const byte*) zp1#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta zp1
    // [6] phi from main to main::@1 [phi:main->main::@1]
  b1_from_main:
    // [6] phi (word) main::u#11 = (word) $6e85 [phi:main->main::@1#0] -- vwuz1=vwuc1 
    lda #<$6e85
    sta u
    lda #>$6e85
    sta u+1
    jmp b1
    // [6] phi from main::@10 to main::@1 [phi:main::@10->main::@1]
  b1_from_b10:
    // [6] phi (word) main::u#11 = (word) main::u#2 [phi:main::@10->main::@1#0] -- register_copy 
    jmp b1
    // main::@1
  b1:
    // [7] *((const byte*) TIMEHI#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta TIMEHI
    // [8] *((const byte*) TIMELO#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta TIMELO
    // [9] *((const byte*) zp2#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta zp2
    jmp b2
    // main::@2
  b2:
    // [10] (word) div16u::dividend#0 ← (word) main::u#11 -- vwuz1=vwuz2 
    lda u
    sta div16u.dividend
    lda u+1
    sta div16u.dividend+1
    // [11] call div16u 
    jsr div16u
    // [12] (word) div16u::return#2 ← (word) div16u::return#0 -- vwuz1=vwuz2 
    lda div16u.return
    sta div16u.return_2
    lda div16u.return+1
    sta div16u.return_2+1
    jmp b8
    // main::@8
  b8:
    // [13] (word) main::v#1 ← (word) div16u::return#2 -- vwuz1=vwuz2 
    lda div16u.return_2
    sta v
    lda div16u.return_2+1
    sta v+1
    // [14] *((const byte*) zp2#0) ← ++ *((const byte*) zp2#0) -- _deref_pbuc1=_inc__deref_pbuc1 
    inc zp2
    // [15] if(*((const byte*) zp2#0)<(byte) $c8) goto main::@2 -- _deref_pbuc1_lt_vbuc2_then_la1 
    lda zp2
    cmp #$c8
    bcc b2
    jmp b3
    // main::@3
  b3:
    // [16] (word~) main::$2 ← (word)*((const byte*) TIMEHI#0) -- vwuz1=_word__deref_pbuc1 
    lda TIMEHI
    sta _2
    lda #0
    sta _2+1
    // [17] (word~) main::$3 ← (word~) main::$2 << (byte) 8 -- vwuz1=vwuz2_rol_8 
    lda _2
    sta _3+1
    lda #0
    sta _3
    // [18] (word~) main::$4 ← (word)*((const byte*) TIMELO#0) -- vwuz1=_word__deref_pbuc1 
    lda TIMELO
    sta _4
    lda #0
    sta _4+1
    // [19] (word) myprintf::w3#0 ← (word~) main::$3 + (word~) main::$4 -- vwuz1=vwuz2_plus_vwuz3 
    lda _3
    clc
    adc _4
    sta myprintf.w3
    lda _3+1
    adc _4+1
    sta myprintf.w3+1
    // [20] (word) myprintf::w1#0 ← (word) main::u#11 -- vwuz1=vwuz2 
    lda u
    sta myprintf.w1
    lda u+1
    sta myprintf.w1+1
    // [21] (word) myprintf::w2#0 ← (word) main::v#1 -- vwuz1=vwuz2 
    lda v
    sta myprintf.w2
    lda v+1
    sta myprintf.w2+1
    // [22] call myprintf 
    // [54] phi from main::@3 to myprintf [phi:main::@3->myprintf]
  myprintf_from_b3:
    // [54] phi (word) myprintf::w3#7 = (word) myprintf::w3#0 [phi:main::@3->myprintf#0] -- register_copy 
    // [54] phi (word) myprintf::w2#7 = (word) myprintf::w2#0 [phi:main::@3->myprintf#1] -- register_copy 
    // [54] phi (word) myprintf::w1#6 = (word) myprintf::w1#0 [phi:main::@3->myprintf#2] -- register_copy 
    // [54] phi (byte*) myprintf::str#5 = (const string) main::str [phi:main::@3->myprintf#3] -- pbuz1=pbuc1 
    lda #<str
    sta myprintf.str
    lda #>str
    sta myprintf.str+1
    jsr myprintf
    // [23] phi from main::@3 to main::@9 [phi:main::@3->main::@9]
  b9_from_b3:
    jmp b9
    // main::@9
  b9:
    // [24] call Print 
    jsr Print
    jmp b10
    // main::@10
  b10:
    // [25] (word) main::u#2 ← (word) main::u#11 - (word) $4d2 -- vwuz1=vwuz1_minus_vwuc1 
    lda u
    sec
    sbc #<$4d2
    sta u
    lda u+1
    sbc #>$4d2
    sta u+1
    // [26] *((const byte*) zp1#0) ← ++ *((const byte*) zp1#0) -- _deref_pbuc1=_inc__deref_pbuc1 
    inc zp1
    // [27] if(*((const byte*) zp1#0)<(byte) $a) goto main::@1 -- _deref_pbuc1_lt_vbuc2_then_la1 
    lda zp1
    cmp #$a
    bcc b1_from_b10
    jmp b4
    // main::@4
  b4:
    // [28] *((const byte*) zp1#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta zp1
    // [29] phi from main::@4 to main::@5 [phi:main::@4->main::@5]
  b5_from_b4:
    // [29] phi (word) main::u#15 = (word) $6e85 [phi:main::@4->main::@5#0] -- vwuz1=vwuc1 
    lda #<$6e85
    sta u_15
    lda #>$6e85
    sta u_15+1
    jmp b5
    // [29] phi from main::@13 to main::@5 [phi:main::@13->main::@5]
  b5_from_b13:
    // [29] phi (word) main::u#15 = (word) main::u#4 [phi:main::@13->main::@5#0] -- register_copy 
    jmp b5
    // main::@5
  b5:
    // [30] *((const byte*) TIMEHI#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta TIMEHI
    // [31] *((const byte*) TIMELO#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta TIMELO
    // [32] *((const byte*) zp2#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta zp2
    jmp b6
    // main::@6
  b6:
    // [33] (word) div10::val#4 ← (word) main::u#15 -- vwuz1=vwuz2 
    lda u_15
    sta div10.val_4
    lda u_15+1
    sta div10.val_4+1
    // [34] call div10 
    jsr div10
    // [35] (word) div10::return#2 ← (word) div10::return#0 -- vwuz1=vwuz2 
    lda div10.return
    sta div10.return_2
    lda div10.return+1
    sta div10.return_2+1
    jmp b11
    // main::@11
  b11:
    // [36] (word) main::v#2 ← (word) div10::return#2 -- vwuz1=vwuz2 
    lda div10.return_2
    sta v_2
    lda div10.return_2+1
    sta v_2+1
    // [37] *((const byte*) zp2#0) ← ++ *((const byte*) zp2#0) -- _deref_pbuc1=_inc__deref_pbuc1 
    inc zp2
    // [38] if(*((const byte*) zp2#0)<(byte) $c8) goto main::@6 -- _deref_pbuc1_lt_vbuc2_then_la1 
    lda zp2
    cmp #$c8
    bcc b6
    jmp b7
    // main::@7
  b7:
    // [39] (word~) main::$11 ← (word)*((const byte*) TIMEHI#0) -- vwuz1=_word__deref_pbuc1 
    lda TIMEHI
    sta _11
    lda #0
    sta _11+1
    // [40] (word~) main::$12 ← (word~) main::$11 << (byte) 8 -- vwuz1=vwuz2_rol_8 
    lda _11
    sta _12+1
    lda #0
    sta _12
    // [41] (word~) main::$13 ← (word)*((const byte*) TIMELO#0) -- vwuz1=_word__deref_pbuc1 
    lda TIMELO
    sta _13
    lda #0
    sta _13+1
    // [42] (word) myprintf::w3#1 ← (word~) main::$12 + (word~) main::$13 -- vwuz1=vwuz2_plus_vwuz3 
    lda _12
    clc
    adc _13
    sta myprintf.w3
    lda _12+1
    adc _13+1
    sta myprintf.w3+1
    // [43] (word) myprintf::w1#1 ← (word) main::u#15 -- vwuz1=vwuz2 
    lda u_15
    sta myprintf.w1
    lda u_15+1
    sta myprintf.w1+1
    // [44] (word) myprintf::w2#1 ← (word) main::v#2 -- vwuz1=vwuz2 
    lda v_2
    sta myprintf.w2
    lda v_2+1
    sta myprintf.w2+1
    // [45] call myprintf 
    // [54] phi from main::@7 to myprintf [phi:main::@7->myprintf]
  myprintf_from_b7:
    // [54] phi (word) myprintf::w3#7 = (word) myprintf::w3#1 [phi:main::@7->myprintf#0] -- register_copy 
    // [54] phi (word) myprintf::w2#7 = (word) myprintf::w2#1 [phi:main::@7->myprintf#1] -- register_copy 
    // [54] phi (word) myprintf::w1#6 = (word) myprintf::w1#1 [phi:main::@7->myprintf#2] -- register_copy 
    // [54] phi (byte*) myprintf::str#5 = (const string) main::str1 [phi:main::@7->myprintf#3] -- pbuz1=pbuc1 
    lda #<str1
    sta myprintf.str
    lda #>str1
    sta myprintf.str+1
    jsr myprintf
    // [46] phi from main::@7 to main::@12 [phi:main::@7->main::@12]
  b12_from_b7:
    jmp b12
    // main::@12
  b12:
    // [47] call Print 
    jsr Print
    jmp b13
    // main::@13
  b13:
    // [48] (word) main::u#4 ← (word) main::u#15 - (word) $4d2 -- vwuz1=vwuz1_minus_vwuc1 
    lda u_4
    sec
    sbc #<$4d2
    sta u_4
    lda u_4+1
    sbc #>$4d2
    sta u_4+1
    // [49] *((const byte*) zp1#0) ← ++ *((const byte*) zp1#0) -- _deref_pbuc1=_inc__deref_pbuc1 
    inc zp1
    // [50] if(*((const byte*) zp1#0)<(byte) $a) goto main::@5 -- _deref_pbuc1_lt_vbuc2_then_la1 
    lda zp1
    cmp #$a
    bcc b5_from_b13
    jmp breturn
    // main::@return
  breturn:
    // [51] return 
    rts
    str: .text "200 DIV16U: %5d,%4d IN %04d FRAMESm@"
    str1: .text "200 DIV10 : %5d,%4d IN %04d FRAMESm@"
}
  // Print
Print: {
    // asm { ldy#0 loop: ldastrTemp,y beqdone jsr$FFD2 iny jmploop done:  }
    // can this assembly be placed in a separate file and call it from the C code here?
    ldy #0
  loop:
    lda strTemp,y
    beq done
    jsr $ffd2
    iny
    jmp loop
  done:
    jmp breturn
    // Print::@return
  breturn:
    // [53] return 
    rts
}
  // myprintf
// myprintf(byte* zeropage($c) str, word zeropage(6) w1, word zeropage(8) w2, word zeropage($a) w3)
myprintf: {
    .label _17 = $46
    .label _18 = $47
    .label _23 = $14
    .label _24 = $49
    .label _25 = $4b
    .label _30 = $15
    .label _31 = $4d
    .label _41 = $1a
    .label _49 = $4e
    .label b = $1b
    .label str = $c
    .label bDigits = $19
    .label bLen = $18
    .label b_5 = $16
    .label digit = $17
    .label bArg = $f
    .label return = $18
    .label w1 = 6
    .label w2 = 8
    .label w3 = $a
    .label b_15 = $48
    .label b_16 = $4c
    .label bLen_10 = $4a
    .label b_17 = $16
    .label bFormat = $e
    .label w = $10
    .label bTrailing = $12
    .label bLeadZero = $13
    // [55] phi from myprintf to myprintf::@1 [phi:myprintf->myprintf::@1]
  b1_from_myprintf:
    // [55] phi (byte) myprintf::bLeadZero#10 = (byte) 0 [phi:myprintf->myprintf::@1#0] -- vbuz1=vbuc1 
    lda #0
    sta bLeadZero
    // [55] phi (byte) myprintf::bDigits#14 = (byte) 0 [phi:myprintf->myprintf::@1#1] -- vbuz1=vbuc1 
    lda #0
    sta bDigits
    // [55] phi (byte) myprintf::bTrailing#10 = (byte) 0 [phi:myprintf->myprintf::@1#2] -- vbuz1=vbuc1 
    lda #0
    sta bTrailing
    // [55] phi (word) myprintf::w#10 = (word) 0 [phi:myprintf->myprintf::@1#3] -- vwuz1=vwuc1 
    lda #<0
    sta w
    lda #>0
    sta w+1
    // [55] phi (byte) myprintf::bLen#14 = (byte) 0 [phi:myprintf->myprintf::@1#4] -- vbuz1=vbuc1 
    lda #0
    sta bLen
    // [55] phi (byte) myprintf::bArg#12 = (byte) 0 [phi:myprintf->myprintf::@1#5] -- vbuz1=vbuc1 
    lda #0
    sta bArg
    // [55] phi (byte) myprintf::bFormat#10 = (byte) 0 [phi:myprintf->myprintf::@1#6] -- vbuz1=vbuc1 
    lda #0
    sta bFormat
    // [55] phi (byte*) myprintf::str#10 = (byte*) myprintf::str#5 [phi:myprintf->myprintf::@1#7] -- register_copy 
    jmp b1
    // [55] phi from myprintf::@27 to myprintf::@1 [phi:myprintf::@27->myprintf::@1]
  b1_from_b27:
    // [55] phi (byte) myprintf::bLeadZero#10 = (byte) myprintf::bLeadZero#18 [phi:myprintf::@27->myprintf::@1#0] -- register_copy 
    // [55] phi (byte) myprintf::bDigits#14 = (byte) myprintf::bDigits#24 [phi:myprintf::@27->myprintf::@1#1] -- register_copy 
    // [55] phi (byte) myprintf::bTrailing#10 = (byte) myprintf::bTrailing#21 [phi:myprintf::@27->myprintf::@1#2] -- register_copy 
    // [55] phi (word) myprintf::w#10 = (word) myprintf::w#17 [phi:myprintf::@27->myprintf::@1#3] -- register_copy 
    // [55] phi (byte) myprintf::bLen#14 = (byte) myprintf::return#0 [phi:myprintf::@27->myprintf::@1#4] -- register_copy 
    // [55] phi (byte) myprintf::bArg#12 = (byte) myprintf::bArg#10 [phi:myprintf::@27->myprintf::@1#5] -- register_copy 
    // [55] phi (byte) myprintf::bFormat#10 = (byte) myprintf::bFormat#4 [phi:myprintf::@27->myprintf::@1#6] -- register_copy 
    // [55] phi (byte*) myprintf::str#10 = (byte*) myprintf::str#0 [phi:myprintf::@27->myprintf::@1#7] -- register_copy 
    jmp b1
    // myprintf::@1
  b1:
    // [56] (byte) myprintf::b#1 ← *((byte*) myprintf::str#10) -- vbuz1=_deref_pbuz2 
    ldy #0
    lda (str),y
    sta b
    // [57] if((byte) myprintf::bFormat#10==(byte) 0) goto myprintf::@2 -- vbuz1_eq_0_then_la1 
    lda bFormat
    cmp #0
    beq b2
    jmp b33
    // myprintf::@33
  b33:
    // [58] if((byte) myprintf::b#1!=(byte) '0') goto myprintf::@3 -- vbuz1_neq_vbuc1_then_la1 
    lda #'0'
    cmp b
    bne b3
    // [59] phi from myprintf::@33 to myprintf::@27 [phi:myprintf::@33->myprintf::@27]
  b27_from_b33:
    // [59] phi (byte) myprintf::bLeadZero#18 = (byte) 1 [phi:myprintf::@33->myprintf::@27#0] -- vbuz1=vbuc1 
    lda #1
    sta bLeadZero
    // [59] phi (byte) myprintf::bDigits#24 = (byte) myprintf::bDigits#14 [phi:myprintf::@33->myprintf::@27#1] -- register_copy 
    // [59] phi (byte) myprintf::bTrailing#21 = (byte) myprintf::bTrailing#10 [phi:myprintf::@33->myprintf::@27#2] -- register_copy 
    // [59] phi (word) myprintf::w#17 = (word) myprintf::w#10 [phi:myprintf::@33->myprintf::@27#3] -- register_copy 
    // [59] phi (byte) myprintf::bArg#10 = (byte) myprintf::bArg#12 [phi:myprintf::@33->myprintf::@27#4] -- register_copy 
    // [59] phi (byte) myprintf::return#0 = (byte) myprintf::bLen#14 [phi:myprintf::@33->myprintf::@27#5] -- register_copy 
    // [59] phi (byte) myprintf::bFormat#4 = (byte) myprintf::bFormat#10 [phi:myprintf::@33->myprintf::@27#6] -- register_copy 
    jmp b27
    // myprintf::@27
  b27:
    // [60] (byte*) myprintf::str#0 ← ++ (byte*) myprintf::str#10 -- pbuz1=_inc_pbuz1 
    inc str
    bne !+
    inc str+1
  !:
    // [61] if(*((byte*) myprintf::str#0)!=(byte) 0) goto myprintf::@1 -- _deref_pbuz1_neq_0_then_la1 
    ldy #0
    lda (str),y
    cmp #0
    bne b1_from_b27
    jmp b38
    // myprintf::@38
  b38:
    // [62] *((const byte[$64]) strTemp#0 + (byte) myprintf::return#0) ← (byte) 0 -- pbuc1_derefidx_vbuz1=vbuc2 
    lda #0
    ldy return
    sta strTemp,y
    jmp breturn
    // myprintf::@return
  breturn:
    // [63] return 
    rts
    // myprintf::@3
  b3:
    // [64] if((byte) myprintf::b#1<(byte) '1') goto myprintf::@4 -- vbuz1_lt_vbuc1_then_la1 
    lda b
    cmp #'1'
    bcc b4
    jmp b39
    // myprintf::@39
  b39:
    // [65] if((byte) myprintf::b#1<=(byte) '9') goto myprintf::@23 -- vbuz1_le_vbuc1_then_la1 
    lda #'9'
    cmp b
    bcs b23
    jmp b4
    // myprintf::@4
  b4:
    // [66] if((byte) myprintf::b#1!=(byte) '-') goto myprintf::@5 -- vbuz1_neq_vbuc1_then_la1 
    lda #'-'
    cmp b
    bne b5
    // [59] phi from myprintf::@4 to myprintf::@27 [phi:myprintf::@4->myprintf::@27]
  b27_from_b4:
    // [59] phi (byte) myprintf::bLeadZero#18 = (byte) myprintf::bLeadZero#10 [phi:myprintf::@4->myprintf::@27#0] -- register_copy 
    // [59] phi (byte) myprintf::bDigits#24 = (byte) myprintf::bDigits#14 [phi:myprintf::@4->myprintf::@27#1] -- register_copy 
    // [59] phi (byte) myprintf::bTrailing#21 = (byte) 1 [phi:myprintf::@4->myprintf::@27#2] -- vbuz1=vbuc1 
    lda #1
    sta bTrailing
    // [59] phi (word) myprintf::w#17 = (word) myprintf::w#10 [phi:myprintf::@4->myprintf::@27#3] -- register_copy 
    // [59] phi (byte) myprintf::bArg#10 = (byte) myprintf::bArg#12 [phi:myprintf::@4->myprintf::@27#4] -- register_copy 
    // [59] phi (byte) myprintf::return#0 = (byte) myprintf::bLen#14 [phi:myprintf::@4->myprintf::@27#5] -- register_copy 
    // [59] phi (byte) myprintf::bFormat#4 = (byte) myprintf::bFormat#10 [phi:myprintf::@4->myprintf::@27#6] -- register_copy 
    jmp b27
    // myprintf::@5
  b5:
    // [67] if((byte) myprintf::b#1==(byte) 'c') goto myprintf::@6 -- vbuz1_eq_vbuc1_then_la1 
    lda #'c'
    cmp b
    beq b6
    jmp b24
    // myprintf::@24
  b24:
    // [68] if((byte) myprintf::b#1==(byte) 'd') goto myprintf::@7 -- vbuz1_eq_vbuc1_then_la1 
    lda #'d'
    cmp b
    beq b7
    jmp b25
    // myprintf::@25
  b25:
    // [69] if((byte) myprintf::b#1==(byte) 'x') goto myprintf::@26 -- vbuz1_eq_vbuc1_then_la1 
    lda #'x'
    cmp b
    beq b26
    jmp b40
    // myprintf::@40
  b40:
    // [70] if((byte) myprintf::b#1==(byte) 'X') goto myprintf::@26 -- vbuz1_eq_vbuc1_then_la1 
    lda #'X'
    cmp b
    beq b26
    // [71] phi from myprintf::@11 myprintf::@20 myprintf::@21 myprintf::@40 myprintf::@6 to myprintf::@22 [phi:myprintf::@11/myprintf::@20/myprintf::@21/myprintf::@40/myprintf::@6->myprintf::@22]
  b22_from_b11:
  b22_from_b20:
  b22_from_b21:
  b22_from_b40:
  b22_from_b6:
    // [71] phi (byte) myprintf::bDigits#25 = (byte) myprintf::bDigits#14 [phi:myprintf::@11/myprintf::@20/myprintf::@21/myprintf::@40/myprintf::@6->myprintf::@22#0] -- register_copy 
    // [71] phi (byte) myprintf::bLen#28 = (byte) myprintf::bLen#3 [phi:myprintf::@11/myprintf::@20/myprintf::@21/myprintf::@40/myprintf::@6->myprintf::@22#1] -- register_copy 
    jmp b22
    // [71] phi from myprintf::@42 to myprintf::@22 [phi:myprintf::@42->myprintf::@22]
  b22_from_b42:
    jmp b22
    // myprintf::@22
  b22:
    // [59] phi from myprintf::@22 to myprintf::@27 [phi:myprintf::@22->myprintf::@27]
  b27_from_b22:
    // [59] phi (byte) myprintf::bLeadZero#18 = (byte) myprintf::bLeadZero#10 [phi:myprintf::@22->myprintf::@27#0] -- register_copy 
    // [59] phi (byte) myprintf::bDigits#24 = (byte) myprintf::bDigits#25 [phi:myprintf::@22->myprintf::@27#1] -- register_copy 
    // [59] phi (byte) myprintf::bTrailing#21 = (byte) myprintf::bTrailing#10 [phi:myprintf::@22->myprintf::@27#2] -- register_copy 
    // [59] phi (word) myprintf::w#17 = (word) myprintf::w#10 [phi:myprintf::@22->myprintf::@27#3] -- register_copy 
    // [59] phi (byte) myprintf::bArg#10 = (byte) myprintf::bArg#12 [phi:myprintf::@22->myprintf::@27#4] -- register_copy 
    // [59] phi (byte) myprintf::return#0 = (byte) myprintf::bLen#28 [phi:myprintf::@22->myprintf::@27#5] -- register_copy 
    // [59] phi (byte) myprintf::bFormat#4 = (byte) 0 [phi:myprintf::@22->myprintf::@27#6] -- vbuz1=vbuc1 
    lda #0
    sta bFormat
    jmp b27
    // myprintf::@26
  b26:
    // [72] (byte~) myprintf::$17 ← (byte)(word) myprintf::w#10 -- vbuz1=_byte_vwuz2 
    lda w
    sta _17
    // [73] (byte~) myprintf::$18 ← (byte~) myprintf::$17 >> (byte) 4 -- vbuz1=vbuz2_ror_4 
    lda _17
    lsr
    lsr
    lsr
    lsr
    sta _18
    // [74] (byte) myprintf::b#15 ← (byte~) myprintf::$18 & (byte) $f -- vbuz1=vbuz2_band_vbuc1 
    lda #$f
    and _18
    sta b_15
    // [75] if((byte) myprintf::b#15<(byte) $a) goto myprintf::@8 -- vbuz1_lt_vbuc1_then_la1 
    lda b_15
    cmp #$a
    bcc b8_from_b26
    // [77] phi from myprintf::@26 to myprintf::@9 [phi:myprintf::@26->myprintf::@9]
  b9_from_b26:
    // [77] phi (byte~) myprintf::$23 = (byte) $57 [phi:myprintf::@26->myprintf::@9#0] -- vbuz1=vbuc1 
    lda #$57
    sta _23
    jmp b9
    // [76] phi from myprintf::@26 to myprintf::@8 [phi:myprintf::@26->myprintf::@8]
  b8_from_b26:
    jmp b8
    // myprintf::@8
  b8:
    // [77] phi from myprintf::@8 to myprintf::@9 [phi:myprintf::@8->myprintf::@9]
  b9_from_b8:
    // [77] phi (byte~) myprintf::$23 = (byte) '0' [phi:myprintf::@8->myprintf::@9#0] -- vbuz1=vbuc1 
    lda #'0'
    sta _23
    jmp b9
    // myprintf::@9
  b9:
    // [78] (byte~) myprintf::$24 ← (byte~) myprintf::$23 + (byte) myprintf::b#15 -- vbuz1=vbuz2_plus_vbuz3 
    lda _23
    clc
    adc b_15
    sta _24
    // [79] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#14) ← (byte~) myprintf::$24 -- pbuc1_derefidx_vbuz1=vbuz2 
    lda _24
    ldy bLen
    sta strTemp,y
    // [80] (byte) myprintf::bLen#10 ← ++ (byte) myprintf::bLen#14 -- vbuz1=_inc_vbuz2 
    ldy bLen
    iny
    sty bLen_10
    // [81] (byte~) myprintf::$25 ← (byte)(word) myprintf::w#10 -- vbuz1=_byte_vwuz2 
    lda w
    sta _25
    // [82] (byte) myprintf::b#16 ← (byte~) myprintf::$25 & (byte) $f -- vbuz1=vbuz2_band_vbuc1 
    lda #$f
    and _25
    sta b_16
    // [83] if((byte) myprintf::b#16<(byte) $a) goto myprintf::@10 -- vbuz1_lt_vbuc1_then_la1 
    lda b_16
    cmp #$a
    bcc b10_from_b9
    // [85] phi from myprintf::@9 to myprintf::@11 [phi:myprintf::@9->myprintf::@11]
  b11_from_b9:
    // [85] phi (byte~) myprintf::$30 = (byte) $57 [phi:myprintf::@9->myprintf::@11#0] -- vbuz1=vbuc1 
    lda #$57
    sta _30
    jmp b11
    // [84] phi from myprintf::@9 to myprintf::@10 [phi:myprintf::@9->myprintf::@10]
  b10_from_b9:
    jmp b10
    // myprintf::@10
  b10:
    // [85] phi from myprintf::@10 to myprintf::@11 [phi:myprintf::@10->myprintf::@11]
  b11_from_b10:
    // [85] phi (byte~) myprintf::$30 = (byte) '0' [phi:myprintf::@10->myprintf::@11#0] -- vbuz1=vbuc1 
    lda #'0'
    sta _30
    jmp b11
    // myprintf::@11
  b11:
    // [86] (byte~) myprintf::$31 ← (byte~) myprintf::$30 + (byte) myprintf::b#16 -- vbuz1=vbuz2_plus_vbuz3 
    lda _30
    clc
    adc b_16
    sta _31
    // [87] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#10) ← (byte~) myprintf::$31 -- pbuc1_derefidx_vbuz1=vbuz2 
    lda _31
    ldy bLen_10
    sta strTemp,y
    // [88] (byte) myprintf::bLen#3 ← ++ (byte) myprintf::bLen#10 -- vbuz1=_inc_vbuz2 
    ldy bLen_10
    iny
    sty bLen
    jmp b22_from_b11
    // myprintf::@7
  b7:
    // [89] (word) utoa::value#4 ← (word) myprintf::w#10 -- vwuz1=vwuz2 
    lda w
    sta utoa.value
    lda w+1
    sta utoa.value+1
    // [90] call utoa 
    // [135] phi from myprintf::@7 to utoa [phi:myprintf::@7->utoa]
  utoa_from_b7:
    jsr utoa
    // [91] phi from myprintf::@7 to myprintf::@12 [phi:myprintf::@7->myprintf::@12]
  b12_from_b7:
    // [91] phi (byte) myprintf::b#17 = (byte) 1 [phi:myprintf::@7->myprintf::@12#0] -- vbuz1=vbuc1 
    lda #1
    sta b_17
    jmp b12
    // myprintf::@12
  b12:
    // [92] if(*((const byte[6]) myprintf::buf6#0 + (byte) myprintf::b#17)!=(byte) 0) goto myprintf::@13 -- pbuc1_derefidx_vbuz1_neq_0_then_la1 
    ldy b_17
    lda buf6,y
    cmp #0
    bne b13
    jmp b14
    // myprintf::@14
  b14:
    // [93] if((byte) myprintf::bTrailing#10!=(byte) 0) goto myprintf::@15 -- vbuz1_neq_0_then_la1 
    lda bTrailing
    cmp #0
    bne b15_from_b14
    jmp b41
    // myprintf::@41
  b41:
    // [94] if((byte) myprintf::bDigits#14>(byte) myprintf::b#17) goto myprintf::@16 -- vbuz1_gt_vbuz2_then_la1 
    lda b_17
    cmp bDigits
    bcc b16_from_b41
    // [95] phi from myprintf::@41 to myprintf::@15 [phi:myprintf::@41->myprintf::@15]
  b15_from_b41:
    jmp b15
    // [95] phi from myprintf::@14 myprintf::@18 to myprintf::@15 [phi:myprintf::@14/myprintf::@18->myprintf::@15]
  b15_from_b14:
  b15_from_b18:
    // [95] phi (byte) myprintf::bDigits#16 = (byte) myprintf::bDigits#14 [phi:myprintf::@14/myprintf::@18->myprintf::@15#0] -- register_copy 
    // [95] phi (byte) myprintf::bLen#23 = (byte) myprintf::bLen#14 [phi:myprintf::@14/myprintf::@18->myprintf::@15#1] -- register_copy 
    jmp b15
    // myprintf::@15
  b15:
    // [96] phi from myprintf::@15 to myprintf::@19 [phi:myprintf::@15->myprintf::@19]
  b19_from_b15:
    // [96] phi (byte) myprintf::bLen#12 = (byte) myprintf::bLen#23 [phi:myprintf::@15->myprintf::@19#0] -- register_copy 
    // [96] phi (byte) myprintf::digit#3 = (byte) 0 [phi:myprintf::@15->myprintf::@19#1] -- vbuz1=vbuc1 
    lda #0
    sta digit
    jmp b19
    // [96] phi from myprintf::@19 to myprintf::@19 [phi:myprintf::@19->myprintf::@19]
  b19_from_b19:
    // [96] phi (byte) myprintf::bLen#12 = (byte) myprintf::bLen#24 [phi:myprintf::@19->myprintf::@19#0] -- register_copy 
    // [96] phi (byte) myprintf::digit#3 = (byte) myprintf::digit#2 [phi:myprintf::@19->myprintf::@19#1] -- register_copy 
    jmp b19
    // myprintf::@19
  b19:
    // [97] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#12) ← *((const byte[6]) myprintf::buf6#0 + (byte) myprintf::digit#3) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz2 
    ldy digit
    lda buf6,y
    ldy bLen
    sta strTemp,y
    // [98] (byte) myprintf::bLen#24 ← ++ (byte) myprintf::bLen#12 -- vbuz1=_inc_vbuz1 
    inc bLen
    // [99] (byte) myprintf::digit#2 ← ++ (byte) myprintf::digit#3 -- vbuz1=_inc_vbuz1 
    inc digit
    // [100] if((byte) myprintf::digit#2<(byte) myprintf::b#17) goto myprintf::@19 -- vbuz1_lt_vbuz2_then_la1 
    lda digit
    cmp b_17
    bcc b19_from_b19
    jmp b20
    // myprintf::@20
  b20:
    // [101] if((byte) myprintf::bTrailing#10==(byte) 0) goto myprintf::@22 -- vbuz1_eq_0_then_la1 
    lda bTrailing
    cmp #0
    beq b22_from_b20
    jmp b42
    // myprintf::@42
  b42:
    // [102] if((byte) myprintf::bDigits#16<=(byte) myprintf::b#17) goto myprintf::@22 -- vbuz1_le_vbuz2_then_la1 
    lda b_17
    cmp bDigits
    bcs b22_from_b42
    // [103] phi from myprintf::@21 myprintf::@42 to myprintf::@21 [phi:myprintf::@21/myprintf::@42->myprintf::@21]
  b21_from_b21:
  b21_from_b42:
    // [103] phi (byte) myprintf::bDigits#8 = (byte) myprintf::bDigits#3 [phi:myprintf::@21/myprintf::@42->myprintf::@21#0] -- register_copy 
    // [103] phi (byte) myprintf::bLen#13 = (byte) myprintf::bLen#6 [phi:myprintf::@21/myprintf::@42->myprintf::@21#1] -- register_copy 
    jmp b21
    // myprintf::@21
  b21:
    // [104] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#13) ← (byte) ' ' -- pbuc1_derefidx_vbuz1=vbuc2 
    lda #' '
    ldy bLen
    sta strTemp,y
    // [105] (byte) myprintf::bLen#6 ← ++ (byte) myprintf::bLen#13 -- vbuz1=_inc_vbuz1 
    inc bLen
    // [106] (byte) myprintf::bDigits#3 ← -- (byte) myprintf::bDigits#8 -- vbuz1=_dec_vbuz1 
    dec bDigits
    // [107] if((byte) myprintf::bDigits#3>(byte) myprintf::b#17) goto myprintf::@21 -- vbuz1_gt_vbuz2_then_la1 
    lda b_17
    cmp bDigits
    bcc b21_from_b21
    jmp b22_from_b21
    // [108] phi from myprintf::@18 myprintf::@41 to myprintf::@16 [phi:myprintf::@18/myprintf::@41->myprintf::@16]
  b16_from_b18:
  b16_from_b41:
    // [108] phi (byte) myprintf::bDigits#10 = (byte) myprintf::bDigits#2 [phi:myprintf::@18/myprintf::@41->myprintf::@16#0] -- register_copy 
    // [108] phi (byte) myprintf::bLen#11 = (byte) myprintf::bLen#4 [phi:myprintf::@18/myprintf::@41->myprintf::@16#1] -- register_copy 
    jmp b16
    // myprintf::@16
  b16:
    // [109] if((byte) myprintf::bLeadZero#10==(byte) 0) goto myprintf::@17 -- vbuz1_eq_0_then_la1 
    lda bLeadZero
    cmp #0
    beq b17_from_b16
    // [111] phi from myprintf::@16 to myprintf::@18 [phi:myprintf::@16->myprintf::@18]
  b18_from_b16:
    // [111] phi (byte~) myprintf::$41 = (byte) '0' [phi:myprintf::@16->myprintf::@18#0] -- vbuz1=vbuc1 
    lda #'0'
    sta _41
    jmp b18
    // [110] phi from myprintf::@16 to myprintf::@17 [phi:myprintf::@16->myprintf::@17]
  b17_from_b16:
    jmp b17
    // myprintf::@17
  b17:
    // [111] phi from myprintf::@17 to myprintf::@18 [phi:myprintf::@17->myprintf::@18]
  b18_from_b17:
    // [111] phi (byte~) myprintf::$41 = (byte) ' ' [phi:myprintf::@17->myprintf::@18#0] -- vbuz1=vbuc1 
    lda #' '
    sta _41
    jmp b18
    // myprintf::@18
  b18:
    // [112] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#11) ← (byte~) myprintf::$41 -- pbuc1_derefidx_vbuz1=vbuz2 
    lda _41
    ldy bLen
    sta strTemp,y
    // [113] (byte) myprintf::bLen#4 ← ++ (byte) myprintf::bLen#11 -- vbuz1=_inc_vbuz1 
    inc bLen
    // [114] (byte) myprintf::bDigits#2 ← -- (byte) myprintf::bDigits#10 -- vbuz1=_dec_vbuz1 
    dec bDigits
    // [115] if((byte) myprintf::bDigits#2>(byte) myprintf::b#17) goto myprintf::@16 -- vbuz1_gt_vbuz2_then_la1 
    lda b_17
    cmp bDigits
    bcc b16_from_b18
    jmp b15_from_b18
    // myprintf::@13
  b13:
    // [116] (byte) myprintf::b#5 ← ++ (byte) myprintf::b#17 -- vbuz1=_inc_vbuz1 
    inc b_5
    // [91] phi from myprintf::@13 to myprintf::@12 [phi:myprintf::@13->myprintf::@12]
  b12_from_b13:
    // [91] phi (byte) myprintf::b#17 = (byte) myprintf::b#5 [phi:myprintf::@13->myprintf::@12#0] -- register_copy 
    jmp b12
    // myprintf::@6
  b6:
    // [117] (byte~) myprintf::$49 ← (byte)(word) myprintf::w#10 -- vbuz1=_byte_vwuz2 
    lda w
    sta _49
    // [118] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#14) ← (byte~) myprintf::$49 -- pbuc1_derefidx_vbuz1=vbuz2 
    // "switch" is the normal way -- not supported -- https://gitlab.com/camelot/kickc/issues/170
    lda _49
    ldy bLen
    sta strTemp,y
    // [119] (byte) myprintf::bLen#1 ← ++ (byte) myprintf::bLen#14 -- vbuz1=_inc_vbuz1 
    inc bLen
    jmp b22_from_b6
    // myprintf::@23
  b23:
    // [120] (byte) myprintf::bDigits#1 ← (byte) myprintf::b#1 - (byte) '0' -- vbuz1=vbuz2_minus_vbuc1 
    lax b
    axs #'0'
    stx bDigits
    // [59] phi from myprintf::@23 myprintf::@32 to myprintf::@27 [phi:myprintf::@23/myprintf::@32->myprintf::@27]
  b27_from_b23:
  b27_from_b32:
    // [59] phi (byte) myprintf::bLeadZero#18 = (byte) myprintf::bLeadZero#10 [phi:myprintf::@23/myprintf::@32->myprintf::@27#0] -- register_copy 
    // [59] phi (byte) myprintf::bDigits#24 = (byte) myprintf::bDigits#1 [phi:myprintf::@23/myprintf::@32->myprintf::@27#1] -- register_copy 
    // [59] phi (byte) myprintf::bTrailing#21 = (byte) myprintf::bTrailing#10 [phi:myprintf::@23/myprintf::@32->myprintf::@27#2] -- register_copy 
    // [59] phi (word) myprintf::w#17 = (word) myprintf::w#10 [phi:myprintf::@23/myprintf::@32->myprintf::@27#3] -- register_copy 
    // [59] phi (byte) myprintf::bArg#10 = (byte) myprintf::bArg#12 [phi:myprintf::@23/myprintf::@32->myprintf::@27#4] -- register_copy 
    // [59] phi (byte) myprintf::return#0 = (byte) myprintf::bLen#14 [phi:myprintf::@23/myprintf::@32->myprintf::@27#5] -- register_copy 
    // [59] phi (byte) myprintf::bFormat#4 = (byte) myprintf::bFormat#10 [phi:myprintf::@23/myprintf::@32->myprintf::@27#6] -- register_copy 
    jmp b27
    // myprintf::@2
  b2:
    // [121] if((byte) myprintf::b#1!=(byte) '%') goto myprintf::@28 -- vbuz1_neq_vbuc1_then_la1 
    lda #'%'
    cmp b
    bne b28
    jmp b34
    // myprintf::@34
  b34:
    // [122] if((byte) myprintf::bArg#12==(byte) 0) goto myprintf::@29 -- vbuz1_eq_0_then_la1 
    // default format
    //w = (bArg == 0) ? w1 : ((bArg == 1) ? w2 : w3); -- "?" is the normal way, but error "sequence does not contain all blocks" -- https://gitlab.com/camelot/kickc/issues/185 [FIXED]
    lda bArg
    cmp #0
    beq b29
    jmp b35
    // myprintf::@35
  b35:
    // [123] if((byte) myprintf::bArg#12==(byte) 1) goto myprintf::@30 -- vbuz1_eq_vbuc1_then_la1 
    lda #1
    cmp bArg
    beq b30
    jmp b36
    // myprintf::@36
  b36:
    // [124] (word~) myprintf::w#51 ← (word) myprintf::w3#7 -- vwuz1=vwuz2 
    lda w3
    sta w
    lda w3+1
    sta w+1
    // [125] phi from myprintf::@29 myprintf::@30 myprintf::@36 to myprintf::@31 [phi:myprintf::@29/myprintf::@30/myprintf::@36->myprintf::@31]
  b31_from_b29:
  b31_from_b30:
  b31_from_b36:
    // [125] phi (word) myprintf::w#21 = (word~) myprintf::w#49 [phi:myprintf::@29/myprintf::@30/myprintf::@36->myprintf::@31#0] -- register_copy 
    jmp b31
    // myprintf::@31
  b31:
    // [126] (byte) myprintf::bArg#1 ← ++ (byte) myprintf::bArg#12 -- vbuz1=_inc_vbuz1 
    inc bArg
    // [59] phi from myprintf::@31 to myprintf::@27 [phi:myprintf::@31->myprintf::@27]
  b27_from_b31:
    // [59] phi (byte) myprintf::bLeadZero#18 = (byte) 0 [phi:myprintf::@31->myprintf::@27#0] -- vbuz1=vbuc1 
    lda #0
    sta bLeadZero
    // [59] phi (byte) myprintf::bDigits#24 = (byte) 1 [phi:myprintf::@31->myprintf::@27#1] -- vbuz1=vbuc1 
    lda #1
    sta bDigits
    // [59] phi (byte) myprintf::bTrailing#21 = (byte) 0 [phi:myprintf::@31->myprintf::@27#2] -- vbuz1=vbuc1 
    lda #0
    sta bTrailing
    // [59] phi (word) myprintf::w#17 = (word) myprintf::w#21 [phi:myprintf::@31->myprintf::@27#3] -- register_copy 
    // [59] phi (byte) myprintf::bArg#10 = (byte) myprintf::bArg#1 [phi:myprintf::@31->myprintf::@27#4] -- register_copy 
    // [59] phi (byte) myprintf::return#0 = (byte) myprintf::bLen#14 [phi:myprintf::@31->myprintf::@27#5] -- register_copy 
    // [59] phi (byte) myprintf::bFormat#4 = (byte) 1 [phi:myprintf::@31->myprintf::@27#6] -- vbuz1=vbuc1 
    lda #1
    sta bFormat
    jmp b27
    // myprintf::@30
  b30:
    // [127] (word~) myprintf::w#50 ← (word) myprintf::w2#7 -- vwuz1=vwuz2 
    lda w2
    sta w
    lda w2+1
    sta w+1
    jmp b31_from_b30
    // myprintf::@29
  b29:
    // [128] (word~) myprintf::w#49 ← (word) myprintf::w1#6 -- vwuz1=vwuz2 
    lda w1
    sta w
    lda w1+1
    sta w+1
    jmp b31_from_b29
    // myprintf::@28
  b28:
    // [129] if((byte) myprintf::b#1<(byte) $41) goto myprintf::@32 -- vbuz1_lt_vbuc1_then_la1 
    lda b
    cmp #$41
    bcc b32_from_b28
    jmp b43
    // myprintf::@43
  b43:
    // [130] if((byte) myprintf::b#1>=(byte) $5a+(byte) 1) goto myprintf::@32 -- vbuz1_ge_vbuc1_then_la1 
    lda b
    cmp #$5a+1
    bcs b32_from_b43
    jmp b37
    // myprintf::@37
  b37:
    // [131] (byte) myprintf::b#6 ← (byte) myprintf::b#1 + (byte) $20 -- vbuz1=vbuz1_plus_vbuc1 
    lax b
    axs #-[$20]
    stx b
    // [132] phi from myprintf::@28 myprintf::@37 to myprintf::@32 [phi:myprintf::@28/myprintf::@37->myprintf::@32]
  b32_from_b28:
  b32_from_b37:
    // [132] phi (byte) myprintf::b#25 = (byte) myprintf::b#1 [phi:myprintf::@28/myprintf::@37->myprintf::@32#0] -- register_copy 
    jmp b32
    // [132] phi from myprintf::@43 to myprintf::@32 [phi:myprintf::@43->myprintf::@32]
  b32_from_b43:
    jmp b32
    // myprintf::@32
  b32:
    // [133] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#14) ← (byte) myprintf::b#25 -- pbuc1_derefidx_vbuz1=vbuz2 
    // swap 0x41 / 0x61 when in lower case mode
    lda b
    ldy bLen
    sta strTemp,y
    // [134] (byte) myprintf::bLen#7 ← ++ (byte) myprintf::bLen#14 -- vbuz1=_inc_vbuz1 
    inc bLen
    jmp b27_from_b32
    buf6: .fill 6, 0
}
  // utoa
// utoa(word zeropage($1d) value, byte* zeropage($1f) dst)
utoa: {
    .label _16 = $4f
    .label _17 = $50
    .label value = $1d
    .label dst = $1f
    .label dst_3 = $51
    .label bStarted = $1c
    jmp b13
    // utoa::@13
  b13:
    // [136] if((word) utoa::value#4>=(word) $2710) goto utoa::@5 -- vwuz1_ge_vwuc1_then_la1 
    lda value+1
    cmp #>$2710
    bcc !+
    bne b5
    lda value
    cmp #<$2710
    bcs b5
  !:
    // [137] phi from utoa::@13 to utoa::@1 [phi:utoa::@13->utoa::@1]
  b1_from_b13:
    // [137] phi (byte*) utoa::dst#16 = (const byte[6]) myprintf::buf6#0 [phi:utoa::@13->utoa::@1#0] -- pbuz1=pbuc1 
    lda #<myprintf.buf6
    sta dst
    lda #>myprintf.buf6
    sta dst+1
    // [137] phi (word) utoa::value#6 = (word) utoa::value#4 [phi:utoa::@13->utoa::@1#1] -- register_copy 
    // [137] phi (byte) utoa::bStarted#5 = (byte) 0 [phi:utoa::@13->utoa::@1#2] -- vbuz1=vbuc1 
    lda #0
    sta bStarted
    jmp b1
    // utoa::@1
  b1:
    // [138] if((byte) utoa::bStarted#5==(byte) 1) goto utoa::@6 -- vbuz1_eq_vbuc1_then_la1 
    lda #1
    cmp bStarted
    beq b6
    jmp b14
    // utoa::@14
  b14:
    // [139] if((word) utoa::value#6>=(word) $3e8) goto utoa::@6 -- vwuz1_ge_vwuc1_then_la1 
    lda value+1
    cmp #>$3e8
    bcc !+
    bne b6
    lda value
    cmp #<$3e8
    bcs b6
  !:
    // [140] phi from utoa::@14 to utoa::@2 [phi:utoa::@14->utoa::@2]
  b2_from_b14:
    // [140] phi (byte*) utoa::dst#10 = (byte*) utoa::dst#16 [phi:utoa::@14->utoa::@2#0] -- register_copy 
    // [140] phi (word) utoa::value#11 = (word) utoa::value#6 [phi:utoa::@14->utoa::@2#1] -- register_copy 
    // [140] phi (byte) utoa::bStarted#6 = (byte) utoa::bStarted#5 [phi:utoa::@14->utoa::@2#2] -- register_copy 
    jmp b2
    // utoa::@2
  b2:
    // [141] if((byte) utoa::bStarted#6==(byte) 1) goto utoa::@7 -- vbuz1_eq_vbuc1_then_la1 
    lda #1
    cmp bStarted
    beq b7
    jmp b15
    // utoa::@15
  b15:
    // [142] if((word) utoa::value#11>=(byte) $64) goto utoa::@7 -- vwuz1_ge_vwuc1_then_la1 
    lda value+1
    cmp #>$64
    bcc !+
    bne b7
    lda value
    cmp #<$64
    bcs b7
  !:
    // [143] phi from utoa::@15 to utoa::@3 [phi:utoa::@15->utoa::@3]
  b3_from_b15:
    // [143] phi (byte*) utoa::dst#13 = (byte*) utoa::dst#10 [phi:utoa::@15->utoa::@3#0] -- register_copy 
    // [143] phi (word) utoa::value#10 = (word) utoa::value#11 [phi:utoa::@15->utoa::@3#1] -- register_copy 
    // [143] phi (byte) utoa::bStarted#7 = (byte) utoa::bStarted#6 [phi:utoa::@15->utoa::@3#2] -- register_copy 
    jmp b3
    // utoa::@3
  b3:
    // [144] if((byte) utoa::bStarted#7==(byte) 1) goto utoa::@8 -- vbuz1_eq_vbuc1_then_la1 
    lda #1
    cmp bStarted
    beq b8
    jmp b16
    // utoa::@16
  b16:
    // [145] if((word) utoa::value#10>=(byte) $a) goto utoa::@8 -- vwuz1_ge_vwuc1_then_la1 
    lda value+1
    cmp #>$a
    bcc !+
    bne b8
    lda value
    cmp #<$a
    bcs b8
  !:
    // [146] phi from utoa::@12 utoa::@16 to utoa::@4 [phi:utoa::@12/utoa::@16->utoa::@4]
  b4_from_b12:
  b4_from_b16:
    // [146] phi (byte*) utoa::dst#12 = (byte*) utoa::dst#4 [phi:utoa::@12/utoa::@16->utoa::@4#0] -- register_copy 
    // [146] phi (word) utoa::value#12 = (word) utoa::value#3 [phi:utoa::@12/utoa::@16->utoa::@4#1] -- register_copy 
    jmp b4
    // utoa::@4
  b4:
    // [147] (byte~) utoa::$16 ← (byte)(word) utoa::value#12 -- vbuz1=_byte_vwuz2 
    lda value
    sta _16
    // [148] (byte~) utoa::$17 ← (byte) '0' + (byte~) utoa::$16 -- vbuz1=vbuc1_plus_vbuz2 
    lax _16
    axs #-['0']
    stx _17
    // [149] *((byte*) utoa::dst#12) ← (byte~) utoa::$17 -- _deref_pbuz1=vbuz2 
    lda _17
    ldy #0
    sta (dst),y
    // [150] (byte*) utoa::dst#3 ← ++ (byte*) utoa::dst#12 -- pbuz1=_inc_pbuz2 
    lda dst
    clc
    adc #1
    sta dst_3
    lda dst+1
    adc #0
    sta dst_3+1
    // [151] *((byte*) utoa::dst#3) ← (byte) 0 -- _deref_pbuz1=vbuc1 
    lda #0
    ldy #0
    sta (dst_3),y
    jmp breturn
    // utoa::@return
  breturn:
    // [152] return 
    rts
    // utoa::@8
  b8:
    // [153] (byte*) append::dst#3 ← (byte*) utoa::dst#13 -- pbuz1=pbuz2 
    lda dst
    sta append.dst
    lda dst+1
    sta append.dst+1
    // [154] (word) append::value#4 ← (word) utoa::value#10 -- vwuz1=vwuz2 
    lda value
    sta append.value
    lda value+1
    sta append.value+1
    // [155] call append 
    // [175] phi from utoa::@8 to append [phi:utoa::@8->append]
  append_from_b8:
    // [175] phi (word) append::sub#6 = (byte) $a [phi:utoa::@8->append#0] -- vwuz1=vbuc1 
    lda #<$a
    sta append.sub
    lda #>$a
    sta append.sub+1
    // [175] phi (word) append::value#8 = (word) append::value#4 [phi:utoa::@8->append#1] -- register_copy 
    // [175] phi (byte*) append::dst#4 = (byte*) append::dst#3 [phi:utoa::@8->append#2] -- register_copy 
    jsr append
    // [156] (word) append::return#10 ← (word) append::value#5 -- vwuz1=vwuz2 
    lda append.value
    sta append.return_10
    lda append.value+1
    sta append.return_10+1
    jmp b12
    // utoa::@12
  b12:
    // [157] (word) utoa::value#3 ← (word) append::return#10 -- vwuz1=vwuz2 
    lda append.return_10
    sta value
    lda append.return_10+1
    sta value+1
    // [158] (byte*) utoa::dst#4 ← ++ (byte*) utoa::dst#13 -- pbuz1=_inc_pbuz1 
    inc dst
    bne !+
    inc dst+1
  !:
    jmp b4_from_b12
    // utoa::@7
  b7:
    // [159] (byte*) append::dst#2 ← (byte*) utoa::dst#10 -- pbuz1=pbuz2 
    lda dst
    sta append.dst
    lda dst+1
    sta append.dst+1
    // [160] (word) append::value#3 ← (word) utoa::value#11 -- vwuz1=vwuz2 
    lda value
    sta append.value
    lda value+1
    sta append.value+1
    // [161] call append 
    // [175] phi from utoa::@7 to append [phi:utoa::@7->append]
  append_from_b7:
    // [175] phi (word) append::sub#6 = (byte) $64 [phi:utoa::@7->append#0] -- vwuz1=vbuc1 
    lda #<$64
    sta append.sub
    lda #>$64
    sta append.sub+1
    // [175] phi (word) append::value#8 = (word) append::value#3 [phi:utoa::@7->append#1] -- register_copy 
    // [175] phi (byte*) append::dst#4 = (byte*) append::dst#2 [phi:utoa::@7->append#2] -- register_copy 
    jsr append
    // [162] (word) append::return#4 ← (word) append::value#5 -- vwuz1=vwuz2 
    lda append.value
    sta append.return_4
    lda append.value+1
    sta append.return_4+1
    jmp b11
    // utoa::@11
  b11:
    // [163] (word) utoa::value#2 ← (word) append::return#4 -- vwuz1=vwuz2 
    lda append.return_4
    sta value
    lda append.return_4+1
    sta value+1
    // [164] (byte*) utoa::dst#2 ← ++ (byte*) utoa::dst#10 -- pbuz1=_inc_pbuz1 
    inc dst
    bne !+
    inc dst+1
  !:
    // [143] phi from utoa::@11 to utoa::@3 [phi:utoa::@11->utoa::@3]
  b3_from_b11:
    // [143] phi (byte*) utoa::dst#13 = (byte*) utoa::dst#2 [phi:utoa::@11->utoa::@3#0] -- register_copy 
    // [143] phi (word) utoa::value#10 = (word) utoa::value#2 [phi:utoa::@11->utoa::@3#1] -- register_copy 
    // [143] phi (byte) utoa::bStarted#7 = (byte) 1 [phi:utoa::@11->utoa::@3#2] -- vbuz1=vbuc1 
    lda #1
    sta bStarted
    jmp b3
    // utoa::@6
  b6:
    // [165] (byte*) append::dst#1 ← (byte*) utoa::dst#16 -- pbuz1=pbuz2 
    lda dst
    sta append.dst
    lda dst+1
    sta append.dst+1
    // [166] (word) append::value#2 ← (word) utoa::value#6 -- vwuz1=vwuz2 
    lda value
    sta append.value
    lda value+1
    sta append.value+1
    // [167] call append 
    // [175] phi from utoa::@6 to append [phi:utoa::@6->append]
  append_from_b6:
    // [175] phi (word) append::sub#6 = (word) $3e8 [phi:utoa::@6->append#0] -- vwuz1=vwuc1 
    lda #<$3e8
    sta append.sub
    lda #>$3e8
    sta append.sub+1
    // [175] phi (word) append::value#8 = (word) append::value#2 [phi:utoa::@6->append#1] -- register_copy 
    // [175] phi (byte*) append::dst#4 = (byte*) append::dst#1 [phi:utoa::@6->append#2] -- register_copy 
    jsr append
    // [168] (word) append::return#3 ← (word) append::value#5 -- vwuz1=vwuz2 
    lda append.value
    sta append.return_3
    lda append.value+1
    sta append.return_3+1
    jmp b10
    // utoa::@10
  b10:
    // [169] (word) utoa::value#1 ← (word) append::return#3 -- vwuz1=vwuz2 
    lda append.return_3
    sta value
    lda append.return_3+1
    sta value+1
    // [170] (byte*) utoa::dst#1 ← ++ (byte*) utoa::dst#16 -- pbuz1=_inc_pbuz1 
    inc dst
    bne !+
    inc dst+1
  !:
    // [140] phi from utoa::@10 to utoa::@2 [phi:utoa::@10->utoa::@2]
  b2_from_b10:
    // [140] phi (byte*) utoa::dst#10 = (byte*) utoa::dst#1 [phi:utoa::@10->utoa::@2#0] -- register_copy 
    // [140] phi (word) utoa::value#11 = (word) utoa::value#1 [phi:utoa::@10->utoa::@2#1] -- register_copy 
    // [140] phi (byte) utoa::bStarted#6 = (byte) 1 [phi:utoa::@10->utoa::@2#2] -- vbuz1=vbuc1 
    lda #1
    sta bStarted
    jmp b2
    // utoa::@5
  b5:
    // [171] (word) append::value#1 ← (word) utoa::value#4 -- vwuz1=vwuz2 
    lda value
    sta append.value
    lda value+1
    sta append.value+1
    // [172] call append 
    // [175] phi from utoa::@5 to append [phi:utoa::@5->append]
  append_from_b5:
    // [175] phi (word) append::sub#6 = (word) $2710 [phi:utoa::@5->append#0] -- vwuz1=vwuc1 
    lda #<$2710
    sta append.sub
    lda #>$2710
    sta append.sub+1
    // [175] phi (word) append::value#8 = (word) append::value#1 [phi:utoa::@5->append#1] -- register_copy 
    // [175] phi (byte*) append::dst#4 = (const byte[6]) myprintf::buf6#0 [phi:utoa::@5->append#2] -- pbuz1=pbuc1 
    lda #<myprintf.buf6
    sta append.dst
    lda #>myprintf.buf6
    sta append.dst+1
    jsr append
    // [173] (word) append::return#2 ← (word) append::value#5 -- vwuz1=vwuz2 
    lda append.value
    sta append.return
    lda append.value+1
    sta append.return+1
    jmp b9
    // utoa::@9
  b9:
    // [174] (word) utoa::value#0 ← (word) append::return#2 -- vwuz1=vwuz2 
    lda append.return
    sta value
    lda append.return+1
    sta value+1
    // [137] phi from utoa::@9 to utoa::@1 [phi:utoa::@9->utoa::@1]
  b1_from_b9:
    // [137] phi (byte*) utoa::dst#16 = ++(const byte[6]) myprintf::buf6#0 [phi:utoa::@9->utoa::@1#0] -- pbuz1=pbuc1 
    lda #<myprintf.buf6+1
    sta dst
    lda #>myprintf.buf6+1
    sta dst+1
    // [137] phi (word) utoa::value#6 = (word) utoa::value#0 [phi:utoa::@9->utoa::@1#1] -- register_copy 
    // [137] phi (byte) utoa::bStarted#5 = (byte) 1 [phi:utoa::@9->utoa::@1#2] -- vbuz1=vbuc1 
    lda #1
    sta bStarted
    jmp b1
}
  // append
// simple 'utoa' without using multiply or divide
// append(byte* zeropage($21) dst, word zeropage($25) value, word zeropage($23) sub)
append: {
    .label value = $25
    .label return = $59
    .label dst = $21
    .label return_3 = $57
    .label return_4 = $55
    .label return_10 = $53
    .label sub = $23
    // [176] *((byte*) append::dst#4) ← (byte) '0' -- _deref_pbuz1=vbuc1 
    lda #'0'
    ldy #0
    sta (dst),y
    // [177] phi from append append::@2 to append::@1 [phi:append/append::@2->append::@1]
  b1_from_append:
  b1_from_b2:
    // [177] phi (word) append::value#5 = (word) append::value#8 [phi:append/append::@2->append::@1#0] -- register_copy 
    jmp b1
    // append::@1
  b1:
    // [178] if((word) append::value#5>=(word) append::sub#6) goto append::@2 -- vwuz1_ge_vwuz2_then_la1 
    lda sub+1
    cmp value+1
    bne !+
    lda sub
    cmp value
    beq b2
  !:
    bcc b2
    jmp breturn
    // append::@return
  breturn:
    // [179] return 
    rts
    // append::@2
  b2:
    // [180] *((byte*) append::dst#4) ← ++ *((byte*) append::dst#4) -- _deref_pbuz1=_inc__deref_pbuz1 
    ldy #0
    lda (dst),y
    clc
    adc #1
    ldy #0
    sta (dst),y
    // [181] (word) append::value#0 ← (word) append::value#5 - (word) append::sub#6 -- vwuz1=vwuz1_minus_vwuz2 
    lda value
    sec
    sbc sub
    sta value
    lda value+1
    sbc sub+1
    sta value+1
    jmp b1_from_b2
}
  // div10
// div10(word zeropage($5d) val)
div10: {
    .label _0 = $5b
    .label _2 = $5f
    .label _3 = $63
    .label _4 = $67
    .label val = $5d
    .label val_1 = $61
    .label val_2 = $65
    .label val_3 = $69
    .label return = $6b
    .label val_4 = $3a
    .label return_2 = $3c
    // [182] (word~) div10::$0 ← (word) div10::val#4 >> (byte) 1 -- vwuz1=vwuz2_ror_1 
    lda val_4+1
    lsr
    sta _0+1
    lda val_4
    ror
    sta _0
    // [183] (word) div10::val#0 ← (word~) div10::$0 + (byte) 1 -- vwuz1=vwuz2_plus_1 
    lda _0
    clc
    adc #1
    sta val
    lda _0+1
    adc #0
    sta val+1
    // [184] (word~) div10::$2 ← (word) div10::val#0 << (byte) 1 -- vwuz1=vwuz2_rol_1 
    lda val
    asl
    sta _2
    lda val+1
    rol
    sta _2+1
    // [185] (word) div10::val#1 ← (word) div10::val#0 + (word~) div10::$2 -- vwuz1=vwuz2_plus_vwuz3 
    lda val
    clc
    adc _2
    sta val_1
    lda val+1
    adc _2+1
    sta val_1+1
    // [186] (word~) div10::$3 ← (word) div10::val#1 >> (byte) 4 -- vwuz1=vwuz2_ror_4 
    lda val_1+1
    lsr
    sta _3+1
    lda val_1
    ror
    sta _3
    lsr _3+1
    ror _3
    lsr _3+1
    ror _3
    lsr _3+1
    ror _3
    // [187] (word) div10::val#2 ← (word) div10::val#1 + (word~) div10::$3 -- vwuz1=vwuz2_plus_vwuz3 
    lda val_1
    clc
    adc _3
    sta val_2
    lda val_1+1
    adc _3+1
    sta val_2+1
    // [188] (word~) div10::$4 ← (word) div10::val#2 >> (byte) 8 -- vwuz1=vwuz2_ror_8 
    lda val_2+1
    sta _4
    lda #0
    sta _4+1
    // [189] (word) div10::val#3 ← (word) div10::val#2 + (word~) div10::$4 -- vwuz1=vwuz2_plus_vwuz3 
    lda val_2
    clc
    adc _4
    sta val_3
    lda val_2+1
    adc _4+1
    sta val_3+1
    // [190] (word) div10::return#0 ← (word) div10::val#3 >> (byte) 4 -- vwuz1=vwuz2_ror_4 
    lda val_3+1
    lsr
    sta return+1
    lda val_3
    ror
    sta return
    lsr return+1
    ror return
    lsr return+1
    ror return
    lsr return+1
    ror return
    jmp breturn
    // div10::@return
  breturn:
    // [191] return 
    rts
}
  // div16u
// Performs division on two 16 bit unsigned words
// Returns the quotient dividend/divisor.
// The remainder will be set into the global variable rem16u
// Implemented using simple binary division
// div16u(word zeropage($2e) dividend)
div16u: {
    .label divisor = $a
    .label return = $6f
    .label dividend = $2e
    .label return_2 = $30
    // [192] (word) divr16u::dividend#1 ← (word) div16u::dividend#0 -- vwuz1=vwuz2 
    lda dividend
    sta divr16u.dividend
    lda dividend+1
    sta divr16u.dividend+1
    // [193] call divr16u 
    // [197] phi from div16u to divr16u [phi:div16u->divr16u]
  divr16u_from_div16u:
    jsr divr16u
    // [194] (word) divr16u::return#2 ← (word) divr16u::return#0 -- vwuz1=vwuz2 
    lda divr16u.return
    sta divr16u.return_2
    lda divr16u.return+1
    sta divr16u.return_2+1
    jmp b1
    // div16u::@1
  b1:
    // [195] (word) div16u::return#0 ← (word) divr16u::return#2 -- vwuz1=vwuz2 
    lda divr16u.return_2
    sta return
    lda divr16u.return_2+1
    sta return+1
    jmp breturn
    // div16u::@return
  breturn:
    // [196] return 
    rts
}
  // divr16u
// Performs division on two 16 bit unsigned words and an initial remainder
// Returns the quotient dividend/divisor.
// The final remainder will be set into the global variable rem16u
// Implemented using simple binary division
// divr16u(word zeropage($29) dividend, word zeropage($27) rem)
divr16u: {
    .label _1 = $71
    .label _2 = $72
    .label rem = $27
    .label dividend = $29
    .label quotient = $2b
    .label i = $2d
    .label return = $2b
    .label return_2 = $6d
    // [198] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1]
  b1_from_divr16u:
    // [198] phi (byte) divr16u::i#2 = (byte) 0 [phi:divr16u->divr16u::@1#0] -- vbuz1=vbuc1 
    lda #0
    sta i
    // [198] phi (word) divr16u::quotient#3 = (byte) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 
    lda #<0
    sta quotient
    lda #>0
    sta quotient+1
    // [198] phi (word) divr16u::dividend#2 = (word) divr16u::dividend#1 [phi:divr16u->divr16u::@1#2] -- register_copy 
    // [198] phi (word) divr16u::rem#4 = (byte) 0 [phi:divr16u->divr16u::@1#3] -- vwuz1=vbuc1 
    lda #<0
    sta rem
    lda #>0
    sta rem+1
    jmp b1
    // [198] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1]
  b1_from_b3:
    // [198] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy 
    // [198] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy 
    // [198] phi (word) divr16u::dividend#2 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy 
    // [198] phi (word) divr16u::rem#4 = (word) divr16u::rem#9 [phi:divr16u::@3->divr16u::@1#3] -- register_copy 
    jmp b1
    // divr16u::@1
  b1:
    // [199] (word) divr16u::rem#0 ← (word) divr16u::rem#4 << (byte) 1 -- vwuz1=vwuz1_rol_1 
    asl rem
    rol rem+1
    // [200] (byte~) divr16u::$1 ← > (word) divr16u::dividend#2 -- vbuz1=_hi_vwuz2 
    lda dividend+1
    sta _1
    // [201] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte) $80 -- vbuz1=vbuz2_band_vbuc1 
    lda #$80
    and _1
    sta _2
    // [202] if((byte~) divr16u::$2==(byte) 0) goto divr16u::@2 -- vbuz1_eq_0_then_la1 
    lda _2
    cmp #0
    beq b2_from_b1
    jmp b4
    // divr16u::@4
  b4:
    // [203] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte) 1 -- vwuz1=vwuz1_bor_vbuc1 
    lda #1
    ora rem
    sta rem
    // [204] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2]
  b2_from_b1:
  b2_from_b4:
    // [204] phi (word) divr16u::rem#5 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy 
    jmp b2
    // divr16u::@2
  b2:
    // [205] (word) divr16u::dividend#0 ← (word) divr16u::dividend#2 << (byte) 1 -- vwuz1=vwuz1_rol_1 
    asl dividend
    rol dividend+1
    // [206] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte) 1 -- vwuz1=vwuz1_rol_1 
    asl quotient
    rol quotient+1
    // [207] if((word) divr16u::rem#5<(const word) div16u::divisor#0) goto divr16u::@3 -- vwuz1_lt_vwuc1_then_la1 
    lda rem+1
    cmp #>div16u.divisor
    bcc b3_from_b2
    bne !+
    lda rem
    cmp #<div16u.divisor
    bcc b3_from_b2
  !:
    jmp b5
    // divr16u::@5
  b5:
    // [208] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 -- vwuz1=_inc_vwuz1 
    inc quotient
    bne !+
    inc quotient+1
  !:
    // [209] (word) divr16u::rem#2 ← (word) divr16u::rem#5 - (const word) div16u::divisor#0 -- vwuz1=vwuz1_minus_vwuc1 
    lda rem
    sec
    sbc #<div16u.divisor
    sta rem
    lda rem+1
    sbc #>div16u.divisor
    sta rem+1
    // [210] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3]
  b3_from_b2:
  b3_from_b5:
    // [210] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy 
    // [210] phi (word) divr16u::rem#9 = (word) divr16u::rem#5 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy 
    jmp b3
    // divr16u::@3
  b3:
    // [211] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 -- vbuz1=_inc_vbuz1 
    inc i
    // [212] if((byte) divr16u::i#1!=(byte) $10) goto divr16u::@1 -- vbuz1_neq_vbuc1_then_la1 
    lda #$10
    cmp i
    bne b1_from_b3
    jmp breturn
    // divr16u::@return
  breturn:
    // [213] return 
    rts
}
  // File Data
  // "char buf16[16]" is the normal way -- not supported -- https://gitlab.com/camelot/kickc/issues/162
  strTemp: .fill $64, 0

REGISTER UPLIFT POTENTIAL REGISTERS
Statement [4] *((const byte*) VICBANK#0) ← (byte) $17 [ ] ( main:2 [ ] ) always clobbers reg byte a 
Statement [5] *((const byte*) zp1#0) ← (byte) 0 [ ] ( main:2 [ ] ) always clobbers reg byte a 
Statement [7] *((const byte*) TIMEHI#0) ← (byte) 0 [ main::u#11 ] ( main:2 [ main::u#11 ] ) always clobbers reg byte a 
Statement [8] *((const byte*) TIMELO#0) ← (byte) 0 [ main::u#11 ] ( main:2 [ main::u#11 ] ) always clobbers reg byte a 
Statement [9] *((const byte*) zp2#0) ← (byte) 0 [ main::u#11 ] ( main:2 [ main::u#11 ] ) always clobbers reg byte a 
Statement [10] (word) div16u::dividend#0 ← (word) main::u#11 [ main::u#11 div16u::dividend#0 ] ( main:2 [ main::u#11 div16u::dividend#0 ] ) always clobbers reg byte a 
Statement [12] (word) div16u::return#2 ← (word) div16u::return#0 [ main::u#11 div16u::return#2 ] ( main:2 [ main::u#11 div16u::return#2 ] ) always clobbers reg byte a 
Statement [13] (word) main::v#1 ← (word) div16u::return#2 [ main::u#11 main::v#1 ] ( main:2 [ main::u#11 main::v#1 ] ) always clobbers reg byte a 
Statement [15] if(*((const byte*) zp2#0)<(byte) $c8) goto main::@2 [ main::u#11 main::v#1 ] ( main:2 [ main::u#11 main::v#1 ] ) always clobbers reg byte a 
Statement [16] (word~) main::$2 ← (word)*((const byte*) TIMEHI#0) [ main::u#11 main::v#1 main::$2 ] ( main:2 [ main::u#11 main::v#1 main::$2 ] ) always clobbers reg byte a 
Statement [17] (word~) main::$3 ← (word~) main::$2 << (byte) 8 [ main::u#11 main::v#1 main::$3 ] ( main:2 [ main::u#11 main::v#1 main::$3 ] ) always clobbers reg byte a 
Statement [18] (word~) main::$4 ← (word)*((const byte*) TIMELO#0) [ main::u#11 main::v#1 main::$3 main::$4 ] ( main:2 [ main::u#11 main::v#1 main::$3 main::$4 ] ) always clobbers reg byte a 
Statement [19] (word) myprintf::w3#0 ← (word~) main::$3 + (word~) main::$4 [ main::u#11 main::v#1 myprintf::w3#0 ] ( main:2 [ main::u#11 main::v#1 myprintf::w3#0 ] ) always clobbers reg byte a 
Statement [20] (word) myprintf::w1#0 ← (word) main::u#11 [ main::u#11 main::v#1 myprintf::w3#0 myprintf::w1#0 ] ( main:2 [ main::u#11 main::v#1 myprintf::w3#0 myprintf::w1#0 ] ) always clobbers reg byte a 
Statement [21] (word) myprintf::w2#0 ← (word) main::v#1 [ main::u#11 myprintf::w3#0 myprintf::w1#0 myprintf::w2#0 ] ( main:2 [ main::u#11 myprintf::w3#0 myprintf::w1#0 myprintf::w2#0 ] ) always clobbers reg byte a 
Statement [25] (word) main::u#2 ← (word) main::u#11 - (word) $4d2 [ main::u#2 ] ( main:2 [ main::u#2 ] ) always clobbers reg byte a 
Statement [27] if(*((const byte*) zp1#0)<(byte) $a) goto main::@1 [ main::u#2 ] ( main:2 [ main::u#2 ] ) always clobbers reg byte a 
Statement [28] *((const byte*) zp1#0) ← (byte) 0 [ ] ( main:2 [ ] ) always clobbers reg byte a 
Statement [30] *((const byte*) TIMEHI#0) ← (byte) 0 [ main::u#15 ] ( main:2 [ main::u#15 ] ) always clobbers reg byte a 
Statement [31] *((const byte*) TIMELO#0) ← (byte) 0 [ main::u#15 ] ( main:2 [ main::u#15 ] ) always clobbers reg byte a 
Statement [32] *((const byte*) zp2#0) ← (byte) 0 [ main::u#15 ] ( main:2 [ main::u#15 ] ) always clobbers reg byte a 
Statement [33] (word) div10::val#4 ← (word) main::u#15 [ main::u#15 div10::val#4 ] ( main:2 [ main::u#15 div10::val#4 ] ) always clobbers reg byte a 
Statement [35] (word) div10::return#2 ← (word) div10::return#0 [ main::u#15 div10::return#2 ] ( main:2 [ main::u#15 div10::return#2 ] ) always clobbers reg byte a 
Statement [36] (word) main::v#2 ← (word) div10::return#2 [ main::u#15 main::v#2 ] ( main:2 [ main::u#15 main::v#2 ] ) always clobbers reg byte a 
Statement [38] if(*((const byte*) zp2#0)<(byte) $c8) goto main::@6 [ main::u#15 main::v#2 ] ( main:2 [ main::u#15 main::v#2 ] ) always clobbers reg byte a 
Statement [39] (word~) main::$11 ← (word)*((const byte*) TIMEHI#0) [ main::u#15 main::v#2 main::$11 ] ( main:2 [ main::u#15 main::v#2 main::$11 ] ) always clobbers reg byte a 
Statement [40] (word~) main::$12 ← (word~) main::$11 << (byte) 8 [ main::u#15 main::v#2 main::$12 ] ( main:2 [ main::u#15 main::v#2 main::$12 ] ) always clobbers reg byte a 
Statement [41] (word~) main::$13 ← (word)*((const byte*) TIMELO#0) [ main::u#15 main::v#2 main::$12 main::$13 ] ( main:2 [ main::u#15 main::v#2 main::$12 main::$13 ] ) always clobbers reg byte a 
Statement [42] (word) myprintf::w3#1 ← (word~) main::$12 + (word~) main::$13 [ main::u#15 main::v#2 myprintf::w3#1 ] ( main:2 [ main::u#15 main::v#2 myprintf::w3#1 ] ) always clobbers reg byte a 
Statement [43] (word) myprintf::w1#1 ← (word) main::u#15 [ main::u#15 main::v#2 myprintf::w3#1 myprintf::w1#1 ] ( main:2 [ main::u#15 main::v#2 myprintf::w3#1 myprintf::w1#1 ] ) always clobbers reg byte a 
Statement [44] (word) myprintf::w2#1 ← (word) main::v#2 [ main::u#15 myprintf::w3#1 myprintf::w1#1 myprintf::w2#1 ] ( main:2 [ main::u#15 myprintf::w3#1 myprintf::w1#1 myprintf::w2#1 ] ) always clobbers reg byte a 
Statement [48] (word) main::u#4 ← (word) main::u#15 - (word) $4d2 [ main::u#4 ] ( main:2 [ main::u#4 ] ) always clobbers reg byte a 
Statement [50] if(*((const byte*) zp1#0)<(byte) $a) goto main::@5 [ main::u#4 ] ( main:2 [ main::u#4 ] ) always clobbers reg byte a 
Statement asm { ldy#0 loop: ldastrTemp,y beqdone jsr$FFD2 iny jmploop done:  } always clobbers reg byte a reg byte x reg byte y 
Statement [56] (byte) myprintf::b#1 ← *((byte*) myprintf::str#10) [ myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bFormat#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::b#1 ] ( main:2::myprintf:22 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bFormat#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::b#1 ] main:2::myprintf:45 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bFormat#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::b#1 ] ) always clobbers reg byte a reg byte y 
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:14 [ myprintf::bFormat#10 myprintf::bFormat#4 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:14 [ myprintf::bFormat#10 myprintf::bFormat#4 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:15 [ myprintf::bArg#12 myprintf::bArg#10 myprintf::bArg#1 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:15 [ myprintf::bArg#12 myprintf::bArg#10 myprintf::bArg#1 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:24 [ myprintf::bLen#11 myprintf::bLen#13 myprintf::bLen#12 myprintf::bLen#23 myprintf::bLen#14 myprintf::return#0 myprintf::bLen#28 myprintf::bLen#7 myprintf::bLen#3 myprintf::bLen#24 myprintf::bLen#6 myprintf::bLen#1 myprintf::bLen#4 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:24 [ myprintf::bLen#11 myprintf::bLen#13 myprintf::bLen#12 myprintf::bLen#23 myprintf::bLen#14 myprintf::return#0 myprintf::bLen#28 myprintf::bLen#7 myprintf::bLen#3 myprintf::bLen#24 myprintf::bLen#6 myprintf::bLen#1 myprintf::bLen#4 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:18 [ myprintf::bTrailing#10 myprintf::bTrailing#21 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:18 [ myprintf::bTrailing#10 myprintf::bTrailing#21 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:25 [ myprintf::bDigits#10 myprintf::bDigits#8 myprintf::bDigits#14 myprintf::bDigits#24 myprintf::bDigits#25 myprintf::bDigits#1 myprintf::bDigits#16 myprintf::bDigits#3 myprintf::bDigits#2 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:25 [ myprintf::bDigits#10 myprintf::bDigits#8 myprintf::bDigits#14 myprintf::bDigits#24 myprintf::bDigits#25 myprintf::bDigits#1 myprintf::bDigits#16 myprintf::bDigits#3 myprintf::bDigits#2 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:19 [ myprintf::bLeadZero#10 myprintf::bLeadZero#18 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:19 [ myprintf::bLeadZero#10 myprintf::bLeadZero#18 ]
Statement [61] if(*((byte*) myprintf::str#0)!=(byte) 0) goto myprintf::@1 [ myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#0 myprintf::bFormat#4 myprintf::bArg#10 myprintf::return#0 myprintf::w#17 myprintf::bTrailing#21 myprintf::bDigits#24 myprintf::bLeadZero#18 ] ( main:2::myprintf:22 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#0 myprintf::bFormat#4 myprintf::bArg#10 myprintf::return#0 myprintf::w#17 myprintf::bTrailing#21 myprintf::bDigits#24 myprintf::bLeadZero#18 ] main:2::myprintf:45 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#0 myprintf::bFormat#4 myprintf::bArg#10 myprintf::return#0 myprintf::w#17 myprintf::bTrailing#21 myprintf::bDigits#24 myprintf::bLeadZero#18 ] ) always clobbers reg byte a reg byte y 
Statement [62] *((const byte[$64]) strTemp#0 + (byte) myprintf::return#0) ← (byte) 0 [ ] ( main:2::myprintf:22 [ main::u#11 ] main:2::myprintf:45 [ main::u#15 ] ) always clobbers reg byte a 
Statement [72] (byte~) myprintf::$17 ← (byte)(word) myprintf::w#10 [ myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::$17 ] ( main:2::myprintf:22 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::$17 ] main:2::myprintf:45 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::$17 ] ) always clobbers reg byte a 
Statement [73] (byte~) myprintf::$18 ← (byte~) myprintf::$17 >> (byte) 4 [ myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::$18 ] ( main:2::myprintf:22 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::$18 ] main:2::myprintf:45 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::$18 ] ) always clobbers reg byte a 
Statement [78] (byte~) myprintf::$24 ← (byte~) myprintf::$23 + (byte) myprintf::b#15 [ myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::$24 ] ( main:2::myprintf:22 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::$24 ] main:2::myprintf:45 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::$24 ] ) always clobbers reg byte a 
Statement [81] (byte~) myprintf::$25 ← (byte)(word) myprintf::w#10 [ myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::bLen#10 myprintf::$25 ] ( main:2::myprintf:22 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::bLen#10 myprintf::$25 ] main:2::myprintf:45 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::bLen#10 myprintf::$25 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:74 [ myprintf::bLen#10 ]
Statement [86] (byte~) myprintf::$31 ← (byte~) myprintf::$30 + (byte) myprintf::b#16 [ myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::bLen#10 myprintf::$31 ] ( main:2::myprintf:22 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::bLen#10 myprintf::$31 ] main:2::myprintf:45 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::bLen#10 myprintf::$31 ] ) always clobbers reg byte a 
Statement [89] (word) utoa::value#4 ← (word) myprintf::w#10 [ myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::value#4 ] ( main:2::myprintf:22 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::value#4 ] main:2::myprintf:45 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::value#4 ] ) always clobbers reg byte a 
Statement [92] if(*((const byte[6]) myprintf::buf6#0 + (byte) myprintf::b#17)!=(byte) 0) goto myprintf::@13 [ myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::b#17 ] ( main:2::myprintf:22 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::b#17 ] main:2::myprintf:45 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::b#17 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:22 [ myprintf::b#17 myprintf::b#5 ]
Statement [97] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#12) ← *((const byte[6]) myprintf::buf6#0 + (byte) myprintf::digit#3) [ myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::w#10 myprintf::bTrailing#10 myprintf::bLeadZero#10 myprintf::bDigits#16 myprintf::b#17 myprintf::digit#3 myprintf::bLen#12 ] ( main:2::myprintf:22 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::w#10 myprintf::bTrailing#10 myprintf::bLeadZero#10 myprintf::bDigits#16 myprintf::b#17 myprintf::digit#3 myprintf::bLen#12 ] main:2::myprintf:45 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::w#10 myprintf::bTrailing#10 myprintf::bLeadZero#10 myprintf::bDigits#16 myprintf::b#17 myprintf::digit#3 myprintf::bLen#12 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:23 [ myprintf::digit#3 myprintf::digit#2 ]
Statement [104] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#13) ← (byte) ' ' [ myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::w#10 myprintf::bTrailing#10 myprintf::bLeadZero#10 myprintf::b#17 myprintf::bLen#13 myprintf::bDigits#8 ] ( main:2::myprintf:22 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::w#10 myprintf::bTrailing#10 myprintf::bLeadZero#10 myprintf::b#17 myprintf::bLen#13 myprintf::bDigits#8 ] main:2::myprintf:45 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::w#10 myprintf::bTrailing#10 myprintf::bLeadZero#10 myprintf::b#17 myprintf::bLen#13 myprintf::bDigits#8 ] ) always clobbers reg byte a 
Statement [117] (byte~) myprintf::$49 ← (byte)(word) myprintf::w#10 [ myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::$49 ] ( main:2::myprintf:22 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::$49 ] main:2::myprintf:45 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::$49 ] ) always clobbers reg byte a 
Statement [124] (word~) myprintf::w#51 ← (word) myprintf::w3#7 [ myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#51 ] ( main:2::myprintf:22 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#51 ] main:2::myprintf:45 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#51 ] ) always clobbers reg byte a 
Statement [127] (word~) myprintf::w#50 ← (word) myprintf::w2#7 [ myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#50 ] ( main:2::myprintf:22 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#50 ] main:2::myprintf:45 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#50 ] ) always clobbers reg byte a 
Statement [128] (word~) myprintf::w#49 ← (word) myprintf::w1#6 [ myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#49 ] ( main:2::myprintf:22 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#49 ] main:2::myprintf:45 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#49 ] ) always clobbers reg byte a 
Statement [131] (byte) myprintf::b#6 ← (byte) myprintf::b#1 + (byte) $20 [ myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bFormat#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::b#6 ] ( main:2::myprintf:22 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bFormat#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::b#6 ] main:2::myprintf:45 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bFormat#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::b#6 ] ) always clobbers reg byte a 
Statement [136] if((word) utoa::value#4>=(word) $2710) goto utoa::@5 [ utoa::value#4 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::value#4 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::value#4 ] ) always clobbers reg byte a 
Statement [139] if((word) utoa::value#6>=(word) $3e8) goto utoa::@6 [ utoa::bStarted#5 utoa::value#6 utoa::dst#16 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::bStarted#5 utoa::value#6 utoa::dst#16 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::bStarted#5 utoa::value#6 utoa::dst#16 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:28 [ utoa::bStarted#7 utoa::bStarted#6 utoa::bStarted#5 ]
Statement [142] if((word) utoa::value#11>=(byte) $64) goto utoa::@7 [ utoa::bStarted#6 utoa::value#11 utoa::dst#10 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::bStarted#6 utoa::value#11 utoa::dst#10 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::bStarted#6 utoa::value#11 utoa::dst#10 ] ) always clobbers reg byte a 
Statement [145] if((word) utoa::value#10>=(byte) $a) goto utoa::@8 [ utoa::value#10 utoa::dst#13 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::value#10 utoa::dst#13 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::value#10 utoa::dst#13 ] ) always clobbers reg byte a 
Statement [147] (byte~) utoa::$16 ← (byte)(word) utoa::value#12 [ utoa::dst#12 utoa::$16 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#12 utoa::$16 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#12 utoa::$16 ] ) always clobbers reg byte a 
Statement [149] *((byte*) utoa::dst#12) ← (byte~) utoa::$17 [ utoa::dst#12 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#12 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#12 ] ) always clobbers reg byte y 
Statement [150] (byte*) utoa::dst#3 ← ++ (byte*) utoa::dst#12 [ utoa::dst#3 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#3 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#3 ] ) always clobbers reg byte a 
Statement [151] *((byte*) utoa::dst#3) ← (byte) 0 [ ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 ] ) always clobbers reg byte a reg byte y 
Statement [153] (byte*) append::dst#3 ← (byte*) utoa::dst#13 [ utoa::value#10 utoa::dst#13 append::dst#3 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::value#10 utoa::dst#13 append::dst#3 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::value#10 utoa::dst#13 append::dst#3 ] ) always clobbers reg byte a 
Statement [154] (word) append::value#4 ← (word) utoa::value#10 [ utoa::dst#13 append::dst#3 append::value#4 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#13 append::dst#3 append::value#4 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#13 append::dst#3 append::value#4 ] ) always clobbers reg byte a 
Statement [156] (word) append::return#10 ← (word) append::value#5 [ utoa::dst#13 append::return#10 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#13 append::return#10 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#13 append::return#10 ] ) always clobbers reg byte a 
Statement [157] (word) utoa::value#3 ← (word) append::return#10 [ utoa::dst#13 utoa::value#3 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#13 utoa::value#3 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#13 utoa::value#3 ] ) always clobbers reg byte a 
Statement [159] (byte*) append::dst#2 ← (byte*) utoa::dst#10 [ utoa::value#11 utoa::dst#10 append::dst#2 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::value#11 utoa::dst#10 append::dst#2 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::value#11 utoa::dst#10 append::dst#2 ] ) always clobbers reg byte a 
Statement [160] (word) append::value#3 ← (word) utoa::value#11 [ utoa::dst#10 append::dst#2 append::value#3 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#10 append::dst#2 append::value#3 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#10 append::dst#2 append::value#3 ] ) always clobbers reg byte a 
Statement [162] (word) append::return#4 ← (word) append::value#5 [ utoa::dst#10 append::return#4 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#10 append::return#4 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#10 append::return#4 ] ) always clobbers reg byte a 
Statement [163] (word) utoa::value#2 ← (word) append::return#4 [ utoa::dst#10 utoa::value#2 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#10 utoa::value#2 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#10 utoa::value#2 ] ) always clobbers reg byte a 
Statement [165] (byte*) append::dst#1 ← (byte*) utoa::dst#16 [ utoa::value#6 utoa::dst#16 append::dst#1 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::value#6 utoa::dst#16 append::dst#1 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::value#6 utoa::dst#16 append::dst#1 ] ) always clobbers reg byte a 
Statement [166] (word) append::value#2 ← (word) utoa::value#6 [ utoa::dst#16 append::dst#1 append::value#2 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#16 append::dst#1 append::value#2 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#16 append::dst#1 append::value#2 ] ) always clobbers reg byte a 
Statement [168] (word) append::return#3 ← (word) append::value#5 [ utoa::dst#16 append::return#3 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#16 append::return#3 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#16 append::return#3 ] ) always clobbers reg byte a 
Statement [169] (word) utoa::value#1 ← (word) append::return#3 [ utoa::dst#16 utoa::value#1 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#16 utoa::value#1 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#16 utoa::value#1 ] ) always clobbers reg byte a 
Statement [171] (word) append::value#1 ← (word) utoa::value#4 [ append::value#1 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 append::value#1 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 append::value#1 ] ) always clobbers reg byte a 
Statement [173] (word) append::return#2 ← (word) append::value#5 [ append::return#2 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 append::return#2 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 append::return#2 ] ) always clobbers reg byte a 
Statement [174] (word) utoa::value#0 ← (word) append::return#2 [ utoa::value#0 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::value#0 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::value#0 ] ) always clobbers reg byte a 
Statement [176] *((byte*) append::dst#4) ← (byte) '0' [ append::dst#4 append::value#8 append::sub#6 ] ( main:2::myprintf:22::utoa:90::append:155 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#13 append::dst#4 append::value#8 append::sub#6 ] main:2::myprintf:45::utoa:90::append:155 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#13 append::dst#4 append::value#8 append::sub#6 ] main:2::myprintf:22::utoa:90::append:161 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#10 append::dst#4 append::value#8 append::sub#6 ] main:2::myprintf:45::utoa:90::append:161 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#10 append::dst#4 append::value#8 append::sub#6 ] main:2::myprintf:22::utoa:90::append:167 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#16 append::dst#4 append::value#8 append::sub#6 ] main:2::myprintf:45::utoa:90::append:167 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#16 append::dst#4 append::value#8 append::sub#6 ] main:2::myprintf:22::utoa:90::append:172 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 append::dst#4 append::value#8 append::sub#6 ] main:2::myprintf:45::utoa:90::append:172 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 append::dst#4 append::value#8 append::sub#6 ] ) always clobbers reg byte a reg byte y 
Statement [178] if((word) append::value#5>=(word) append::sub#6) goto append::@2 [ append::value#5 append::dst#4 append::sub#6 ] ( main:2::myprintf:22::utoa:90::append:155 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#13 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:45::utoa:90::append:155 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#13 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:22::utoa:90::append:161 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#10 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:45::utoa:90::append:161 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#10 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:22::utoa:90::append:167 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#16 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:45::utoa:90::append:167 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#16 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:22::utoa:90::append:172 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:45::utoa:90::append:172 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 append::value#5 append::dst#4 append::sub#6 ] ) always clobbers reg byte a 
Statement [180] *((byte*) append::dst#4) ← ++ *((byte*) append::dst#4) [ append::value#5 append::dst#4 append::sub#6 ] ( main:2::myprintf:22::utoa:90::append:155 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#13 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:45::utoa:90::append:155 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#13 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:22::utoa:90::append:161 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#10 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:45::utoa:90::append:161 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#10 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:22::utoa:90::append:167 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#16 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:45::utoa:90::append:167 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#16 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:22::utoa:90::append:172 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:45::utoa:90::append:172 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 append::value#5 append::dst#4 append::sub#6 ] ) always clobbers reg byte a reg byte y 
Statement [181] (word) append::value#0 ← (word) append::value#5 - (word) append::sub#6 [ append::dst#4 append::sub#6 append::value#0 ] ( main:2::myprintf:22::utoa:90::append:155 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#13 append::dst#4 append::sub#6 append::value#0 ] main:2::myprintf:45::utoa:90::append:155 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#13 append::dst#4 append::sub#6 append::value#0 ] main:2::myprintf:22::utoa:90::append:161 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#10 append::dst#4 append::sub#6 append::value#0 ] main:2::myprintf:45::utoa:90::append:161 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#10 append::dst#4 append::sub#6 append::value#0 ] main:2::myprintf:22::utoa:90::append:167 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#16 append::dst#4 append::sub#6 append::value#0 ] main:2::myprintf:45::utoa:90::append:167 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#16 append::dst#4 append::sub#6 append::value#0 ] main:2::myprintf:22::utoa:90::append:172 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 append::dst#4 append::sub#6 append::value#0 ] main:2::myprintf:45::utoa:90::append:172 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 append::dst#4 append::sub#6 append::value#0 ] ) always clobbers reg byte a 
Statement [182] (word~) div10::$0 ← (word) div10::val#4 >> (byte) 1 [ div10::$0 ] ( main:2::div10:34 [ main::u#15 div10::$0 ] ) always clobbers reg byte a 
Statement [183] (word) div10::val#0 ← (word~) div10::$0 + (byte) 1 [ div10::val#0 ] ( main:2::div10:34 [ main::u#15 div10::val#0 ] ) always clobbers reg byte a 
Statement [184] (word~) div10::$2 ← (word) div10::val#0 << (byte) 1 [ div10::val#0 div10::$2 ] ( main:2::div10:34 [ main::u#15 div10::val#0 div10::$2 ] ) always clobbers reg byte a 
Statement [185] (word) div10::val#1 ← (word) div10::val#0 + (word~) div10::$2 [ div10::val#1 ] ( main:2::div10:34 [ main::u#15 div10::val#1 ] ) always clobbers reg byte a 
Statement [186] (word~) div10::$3 ← (word) div10::val#1 >> (byte) 4 [ div10::val#1 div10::$3 ] ( main:2::div10:34 [ main::u#15 div10::val#1 div10::$3 ] ) always clobbers reg byte a 
Statement [187] (word) div10::val#2 ← (word) div10::val#1 + (word~) div10::$3 [ div10::val#2 ] ( main:2::div10:34 [ main::u#15 div10::val#2 ] ) always clobbers reg byte a 
Statement [188] (word~) div10::$4 ← (word) div10::val#2 >> (byte) 8 [ div10::val#2 div10::$4 ] ( main:2::div10:34 [ main::u#15 div10::val#2 div10::$4 ] ) always clobbers reg byte a 
Statement [189] (word) div10::val#3 ← (word) div10::val#2 + (word~) div10::$4 [ div10::val#3 ] ( main:2::div10:34 [ main::u#15 div10::val#3 ] ) always clobbers reg byte a 
Statement [190] (word) div10::return#0 ← (word) div10::val#3 >> (byte) 4 [ div10::return#0 ] ( main:2::div10:34 [ main::u#15 div10::return#0 ] ) always clobbers reg byte a 
Statement [192] (word) divr16u::dividend#1 ← (word) div16u::dividend#0 [ divr16u::dividend#1 ] ( main:2::div16u:11 [ main::u#11 divr16u::dividend#1 ] ) always clobbers reg byte a 
Statement [194] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 ] ( main:2::div16u:11 [ main::u#11 divr16u::return#2 ] ) always clobbers reg byte a 
Statement [195] (word) div16u::return#0 ← (word) divr16u::return#2 [ div16u::return#0 ] ( main:2::div16u:11 [ main::u#11 div16u::return#0 ] ) always clobbers reg byte a 
Statement [200] (byte~) divr16u::$1 ← > (word) divr16u::dividend#2 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::div16u:11::divr16u:193 [ main::u#11 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:45 [ divr16u::i#2 divr16u::i#1 ]
Statement [203] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte) 1 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::div16u:11::divr16u:193 [ main::u#11 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) always clobbers reg byte a 
Statement [207] if((word) divr16u::rem#5<(const word) div16u::divisor#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ( main:2::div16u:11::divr16u:193 [ main::u#11 divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ) always clobbers reg byte a 
Statement [209] (word) divr16u::rem#2 ← (word) divr16u::rem#5 - (const word) div16u::divisor#0 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::div16u:11::divr16u:193 [ main::u#11 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) always clobbers reg byte a 
Statement [4] *((const byte*) VICBANK#0) ← (byte) $17 [ ] ( main:2 [ ] ) always clobbers reg byte a 
Statement [5] *((const byte*) zp1#0) ← (byte) 0 [ ] ( main:2 [ ] ) always clobbers reg byte a 
Statement [7] *((const byte*) TIMEHI#0) ← (byte) 0 [ main::u#11 ] ( main:2 [ main::u#11 ] ) always clobbers reg byte a 
Statement [8] *((const byte*) TIMELO#0) ← (byte) 0 [ main::u#11 ] ( main:2 [ main::u#11 ] ) always clobbers reg byte a 
Statement [9] *((const byte*) zp2#0) ← (byte) 0 [ main::u#11 ] ( main:2 [ main::u#11 ] ) always clobbers reg byte a 
Statement [10] (word) div16u::dividend#0 ← (word) main::u#11 [ main::u#11 div16u::dividend#0 ] ( main:2 [ main::u#11 div16u::dividend#0 ] ) always clobbers reg byte a 
Statement [12] (word) div16u::return#2 ← (word) div16u::return#0 [ main::u#11 div16u::return#2 ] ( main:2 [ main::u#11 div16u::return#2 ] ) always clobbers reg byte a 
Statement [13] (word) main::v#1 ← (word) div16u::return#2 [ main::u#11 main::v#1 ] ( main:2 [ main::u#11 main::v#1 ] ) always clobbers reg byte a 
Statement [15] if(*((const byte*) zp2#0)<(byte) $c8) goto main::@2 [ main::u#11 main::v#1 ] ( main:2 [ main::u#11 main::v#1 ] ) always clobbers reg byte a 
Statement [16] (word~) main::$2 ← (word)*((const byte*) TIMEHI#0) [ main::u#11 main::v#1 main::$2 ] ( main:2 [ main::u#11 main::v#1 main::$2 ] ) always clobbers reg byte a 
Statement [17] (word~) main::$3 ← (word~) main::$2 << (byte) 8 [ main::u#11 main::v#1 main::$3 ] ( main:2 [ main::u#11 main::v#1 main::$3 ] ) always clobbers reg byte a 
Statement [18] (word~) main::$4 ← (word)*((const byte*) TIMELO#0) [ main::u#11 main::v#1 main::$3 main::$4 ] ( main:2 [ main::u#11 main::v#1 main::$3 main::$4 ] ) always clobbers reg byte a 
Statement [19] (word) myprintf::w3#0 ← (word~) main::$3 + (word~) main::$4 [ main::u#11 main::v#1 myprintf::w3#0 ] ( main:2 [ main::u#11 main::v#1 myprintf::w3#0 ] ) always clobbers reg byte a 
Statement [20] (word) myprintf::w1#0 ← (word) main::u#11 [ main::u#11 main::v#1 myprintf::w3#0 myprintf::w1#0 ] ( main:2 [ main::u#11 main::v#1 myprintf::w3#0 myprintf::w1#0 ] ) always clobbers reg byte a 
Statement [21] (word) myprintf::w2#0 ← (word) main::v#1 [ main::u#11 myprintf::w3#0 myprintf::w1#0 myprintf::w2#0 ] ( main:2 [ main::u#11 myprintf::w3#0 myprintf::w1#0 myprintf::w2#0 ] ) always clobbers reg byte a 
Statement [25] (word) main::u#2 ← (word) main::u#11 - (word) $4d2 [ main::u#2 ] ( main:2 [ main::u#2 ] ) always clobbers reg byte a 
Statement [27] if(*((const byte*) zp1#0)<(byte) $a) goto main::@1 [ main::u#2 ] ( main:2 [ main::u#2 ] ) always clobbers reg byte a 
Statement [28] *((const byte*) zp1#0) ← (byte) 0 [ ] ( main:2 [ ] ) always clobbers reg byte a 
Statement [30] *((const byte*) TIMEHI#0) ← (byte) 0 [ main::u#15 ] ( main:2 [ main::u#15 ] ) always clobbers reg byte a 
Statement [31] *((const byte*) TIMELO#0) ← (byte) 0 [ main::u#15 ] ( main:2 [ main::u#15 ] ) always clobbers reg byte a 
Statement [32] *((const byte*) zp2#0) ← (byte) 0 [ main::u#15 ] ( main:2 [ main::u#15 ] ) always clobbers reg byte a 
Statement [33] (word) div10::val#4 ← (word) main::u#15 [ main::u#15 div10::val#4 ] ( main:2 [ main::u#15 div10::val#4 ] ) always clobbers reg byte a 
Statement [35] (word) div10::return#2 ← (word) div10::return#0 [ main::u#15 div10::return#2 ] ( main:2 [ main::u#15 div10::return#2 ] ) always clobbers reg byte a 
Statement [36] (word) main::v#2 ← (word) div10::return#2 [ main::u#15 main::v#2 ] ( main:2 [ main::u#15 main::v#2 ] ) always clobbers reg byte a 
Statement [38] if(*((const byte*) zp2#0)<(byte) $c8) goto main::@6 [ main::u#15 main::v#2 ] ( main:2 [ main::u#15 main::v#2 ] ) always clobbers reg byte a 
Statement [39] (word~) main::$11 ← (word)*((const byte*) TIMEHI#0) [ main::u#15 main::v#2 main::$11 ] ( main:2 [ main::u#15 main::v#2 main::$11 ] ) always clobbers reg byte a 
Statement [40] (word~) main::$12 ← (word~) main::$11 << (byte) 8 [ main::u#15 main::v#2 main::$12 ] ( main:2 [ main::u#15 main::v#2 main::$12 ] ) always clobbers reg byte a 
Statement [41] (word~) main::$13 ← (word)*((const byte*) TIMELO#0) [ main::u#15 main::v#2 main::$12 main::$13 ] ( main:2 [ main::u#15 main::v#2 main::$12 main::$13 ] ) always clobbers reg byte a 
Statement [42] (word) myprintf::w3#1 ← (word~) main::$12 + (word~) main::$13 [ main::u#15 main::v#2 myprintf::w3#1 ] ( main:2 [ main::u#15 main::v#2 myprintf::w3#1 ] ) always clobbers reg byte a 
Statement [43] (word) myprintf::w1#1 ← (word) main::u#15 [ main::u#15 main::v#2 myprintf::w3#1 myprintf::w1#1 ] ( main:2 [ main::u#15 main::v#2 myprintf::w3#1 myprintf::w1#1 ] ) always clobbers reg byte a 
Statement [44] (word) myprintf::w2#1 ← (word) main::v#2 [ main::u#15 myprintf::w3#1 myprintf::w1#1 myprintf::w2#1 ] ( main:2 [ main::u#15 myprintf::w3#1 myprintf::w1#1 myprintf::w2#1 ] ) always clobbers reg byte a 
Statement [48] (word) main::u#4 ← (word) main::u#15 - (word) $4d2 [ main::u#4 ] ( main:2 [ main::u#4 ] ) always clobbers reg byte a 
Statement [50] if(*((const byte*) zp1#0)<(byte) $a) goto main::@5 [ main::u#4 ] ( main:2 [ main::u#4 ] ) always clobbers reg byte a 
Statement asm { ldy#0 loop: ldastrTemp,y beqdone jsr$FFD2 iny jmploop done:  } always clobbers reg byte a reg byte x reg byte y 
Statement [56] (byte) myprintf::b#1 ← *((byte*) myprintf::str#10) [ myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bFormat#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::b#1 ] ( main:2::myprintf:22 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bFormat#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::b#1 ] main:2::myprintf:45 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bFormat#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::b#1 ] ) always clobbers reg byte a reg byte y 
Statement [61] if(*((byte*) myprintf::str#0)!=(byte) 0) goto myprintf::@1 [ myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#0 myprintf::bFormat#4 myprintf::bArg#10 myprintf::return#0 myprintf::w#17 myprintf::bTrailing#21 myprintf::bDigits#24 myprintf::bLeadZero#18 ] ( main:2::myprintf:22 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#0 myprintf::bFormat#4 myprintf::bArg#10 myprintf::return#0 myprintf::w#17 myprintf::bTrailing#21 myprintf::bDigits#24 myprintf::bLeadZero#18 ] main:2::myprintf:45 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#0 myprintf::bFormat#4 myprintf::bArg#10 myprintf::return#0 myprintf::w#17 myprintf::bTrailing#21 myprintf::bDigits#24 myprintf::bLeadZero#18 ] ) always clobbers reg byte a reg byte y 
Statement [62] *((const byte[$64]) strTemp#0 + (byte) myprintf::return#0) ← (byte) 0 [ ] ( main:2::myprintf:22 [ main::u#11 ] main:2::myprintf:45 [ main::u#15 ] ) always clobbers reg byte a 
Statement [72] (byte~) myprintf::$17 ← (byte)(word) myprintf::w#10 [ myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::$17 ] ( main:2::myprintf:22 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::$17 ] main:2::myprintf:45 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::$17 ] ) always clobbers reg byte a 
Statement [73] (byte~) myprintf::$18 ← (byte~) myprintf::$17 >> (byte) 4 [ myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::$18 ] ( main:2::myprintf:22 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::$18 ] main:2::myprintf:45 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::$18 ] ) always clobbers reg byte a 
Statement [78] (byte~) myprintf::$24 ← (byte~) myprintf::$23 + (byte) myprintf::b#15 [ myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::$24 ] ( main:2::myprintf:22 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::$24 ] main:2::myprintf:45 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::$24 ] ) always clobbers reg byte a 
Statement [81] (byte~) myprintf::$25 ← (byte)(word) myprintf::w#10 [ myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::bLen#10 myprintf::$25 ] ( main:2::myprintf:22 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::bLen#10 myprintf::$25 ] main:2::myprintf:45 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::bLen#10 myprintf::$25 ] ) always clobbers reg byte a 
Statement [86] (byte~) myprintf::$31 ← (byte~) myprintf::$30 + (byte) myprintf::b#16 [ myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::bLen#10 myprintf::$31 ] ( main:2::myprintf:22 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::bLen#10 myprintf::$31 ] main:2::myprintf:45 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::bLen#10 myprintf::$31 ] ) always clobbers reg byte a 
Statement [89] (word) utoa::value#4 ← (word) myprintf::w#10 [ myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::value#4 ] ( main:2::myprintf:22 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::value#4 ] main:2::myprintf:45 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::value#4 ] ) always clobbers reg byte a 
Statement [92] if(*((const byte[6]) myprintf::buf6#0 + (byte) myprintf::b#17)!=(byte) 0) goto myprintf::@13 [ myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::b#17 ] ( main:2::myprintf:22 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::b#17 ] main:2::myprintf:45 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::b#17 ] ) always clobbers reg byte a 
Statement [97] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#12) ← *((const byte[6]) myprintf::buf6#0 + (byte) myprintf::digit#3) [ myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::w#10 myprintf::bTrailing#10 myprintf::bLeadZero#10 myprintf::bDigits#16 myprintf::b#17 myprintf::digit#3 myprintf::bLen#12 ] ( main:2::myprintf:22 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::w#10 myprintf::bTrailing#10 myprintf::bLeadZero#10 myprintf::bDigits#16 myprintf::b#17 myprintf::digit#3 myprintf::bLen#12 ] main:2::myprintf:45 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::w#10 myprintf::bTrailing#10 myprintf::bLeadZero#10 myprintf::bDigits#16 myprintf::b#17 myprintf::digit#3 myprintf::bLen#12 ] ) always clobbers reg byte a 
Statement [104] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#13) ← (byte) ' ' [ myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::w#10 myprintf::bTrailing#10 myprintf::bLeadZero#10 myprintf::b#17 myprintf::bLen#13 myprintf::bDigits#8 ] ( main:2::myprintf:22 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::w#10 myprintf::bTrailing#10 myprintf::bLeadZero#10 myprintf::b#17 myprintf::bLen#13 myprintf::bDigits#8 ] main:2::myprintf:45 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::w#10 myprintf::bTrailing#10 myprintf::bLeadZero#10 myprintf::b#17 myprintf::bLen#13 myprintf::bDigits#8 ] ) always clobbers reg byte a 
Statement [117] (byte~) myprintf::$49 ← (byte)(word) myprintf::w#10 [ myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::$49 ] ( main:2::myprintf:22 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::$49 ] main:2::myprintf:45 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::$49 ] ) always clobbers reg byte a 
Statement [124] (word~) myprintf::w#51 ← (word) myprintf::w3#7 [ myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#51 ] ( main:2::myprintf:22 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#51 ] main:2::myprintf:45 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#51 ] ) always clobbers reg byte a 
Statement [127] (word~) myprintf::w#50 ← (word) myprintf::w2#7 [ myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#50 ] ( main:2::myprintf:22 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#50 ] main:2::myprintf:45 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#50 ] ) always clobbers reg byte a 
Statement [128] (word~) myprintf::w#49 ← (word) myprintf::w1#6 [ myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#49 ] ( main:2::myprintf:22 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#49 ] main:2::myprintf:45 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#49 ] ) always clobbers reg byte a 
Statement [131] (byte) myprintf::b#6 ← (byte) myprintf::b#1 + (byte) $20 [ myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bFormat#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::b#6 ] ( main:2::myprintf:22 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bFormat#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::b#6 ] main:2::myprintf:45 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bFormat#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 myprintf::b#6 ] ) always clobbers reg byte a 
Statement [136] if((word) utoa::value#4>=(word) $2710) goto utoa::@5 [ utoa::value#4 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::value#4 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::value#4 ] ) always clobbers reg byte a 
Statement [139] if((word) utoa::value#6>=(word) $3e8) goto utoa::@6 [ utoa::bStarted#5 utoa::value#6 utoa::dst#16 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::bStarted#5 utoa::value#6 utoa::dst#16 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::bStarted#5 utoa::value#6 utoa::dst#16 ] ) always clobbers reg byte a 
Statement [142] if((word) utoa::value#11>=(byte) $64) goto utoa::@7 [ utoa::bStarted#6 utoa::value#11 utoa::dst#10 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::bStarted#6 utoa::value#11 utoa::dst#10 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::bStarted#6 utoa::value#11 utoa::dst#10 ] ) always clobbers reg byte a 
Statement [145] if((word) utoa::value#10>=(byte) $a) goto utoa::@8 [ utoa::value#10 utoa::dst#13 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::value#10 utoa::dst#13 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::value#10 utoa::dst#13 ] ) always clobbers reg byte a 
Statement [147] (byte~) utoa::$16 ← (byte)(word) utoa::value#12 [ utoa::dst#12 utoa::$16 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#12 utoa::$16 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#12 utoa::$16 ] ) always clobbers reg byte a 
Statement [149] *((byte*) utoa::dst#12) ← (byte~) utoa::$17 [ utoa::dst#12 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#12 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#12 ] ) always clobbers reg byte y 
Statement [150] (byte*) utoa::dst#3 ← ++ (byte*) utoa::dst#12 [ utoa::dst#3 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#3 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#3 ] ) always clobbers reg byte a 
Statement [151] *((byte*) utoa::dst#3) ← (byte) 0 [ ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 ] ) always clobbers reg byte a reg byte y 
Statement [153] (byte*) append::dst#3 ← (byte*) utoa::dst#13 [ utoa::value#10 utoa::dst#13 append::dst#3 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::value#10 utoa::dst#13 append::dst#3 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::value#10 utoa::dst#13 append::dst#3 ] ) always clobbers reg byte a 
Statement [154] (word) append::value#4 ← (word) utoa::value#10 [ utoa::dst#13 append::dst#3 append::value#4 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#13 append::dst#3 append::value#4 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#13 append::dst#3 append::value#4 ] ) always clobbers reg byte a 
Statement [156] (word) append::return#10 ← (word) append::value#5 [ utoa::dst#13 append::return#10 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#13 append::return#10 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#13 append::return#10 ] ) always clobbers reg byte a 
Statement [157] (word) utoa::value#3 ← (word) append::return#10 [ utoa::dst#13 utoa::value#3 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#13 utoa::value#3 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#13 utoa::value#3 ] ) always clobbers reg byte a 
Statement [159] (byte*) append::dst#2 ← (byte*) utoa::dst#10 [ utoa::value#11 utoa::dst#10 append::dst#2 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::value#11 utoa::dst#10 append::dst#2 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::value#11 utoa::dst#10 append::dst#2 ] ) always clobbers reg byte a 
Statement [160] (word) append::value#3 ← (word) utoa::value#11 [ utoa::dst#10 append::dst#2 append::value#3 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#10 append::dst#2 append::value#3 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#10 append::dst#2 append::value#3 ] ) always clobbers reg byte a 
Statement [162] (word) append::return#4 ← (word) append::value#5 [ utoa::dst#10 append::return#4 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#10 append::return#4 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#10 append::return#4 ] ) always clobbers reg byte a 
Statement [163] (word) utoa::value#2 ← (word) append::return#4 [ utoa::dst#10 utoa::value#2 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#10 utoa::value#2 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#10 utoa::value#2 ] ) always clobbers reg byte a 
Statement [165] (byte*) append::dst#1 ← (byte*) utoa::dst#16 [ utoa::value#6 utoa::dst#16 append::dst#1 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::value#6 utoa::dst#16 append::dst#1 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::value#6 utoa::dst#16 append::dst#1 ] ) always clobbers reg byte a 
Statement [166] (word) append::value#2 ← (word) utoa::value#6 [ utoa::dst#16 append::dst#1 append::value#2 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#16 append::dst#1 append::value#2 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#16 append::dst#1 append::value#2 ] ) always clobbers reg byte a 
Statement [168] (word) append::return#3 ← (word) append::value#5 [ utoa::dst#16 append::return#3 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#16 append::return#3 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#16 append::return#3 ] ) always clobbers reg byte a 
Statement [169] (word) utoa::value#1 ← (word) append::return#3 [ utoa::dst#16 utoa::value#1 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#16 utoa::value#1 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#16 utoa::value#1 ] ) always clobbers reg byte a 
Statement [171] (word) append::value#1 ← (word) utoa::value#4 [ append::value#1 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 append::value#1 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 append::value#1 ] ) always clobbers reg byte a 
Statement [173] (word) append::return#2 ← (word) append::value#5 [ append::return#2 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 append::return#2 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 append::return#2 ] ) always clobbers reg byte a 
Statement [174] (word) utoa::value#0 ← (word) append::return#2 [ utoa::value#0 ] ( main:2::myprintf:22::utoa:90 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::value#0 ] main:2::myprintf:45::utoa:90 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::value#0 ] ) always clobbers reg byte a 
Statement [176] *((byte*) append::dst#4) ← (byte) '0' [ append::dst#4 append::value#8 append::sub#6 ] ( main:2::myprintf:22::utoa:90::append:155 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#13 append::dst#4 append::value#8 append::sub#6 ] main:2::myprintf:45::utoa:90::append:155 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#13 append::dst#4 append::value#8 append::sub#6 ] main:2::myprintf:22::utoa:90::append:161 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#10 append::dst#4 append::value#8 append::sub#6 ] main:2::myprintf:45::utoa:90::append:161 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#10 append::dst#4 append::value#8 append::sub#6 ] main:2::myprintf:22::utoa:90::append:167 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#16 append::dst#4 append::value#8 append::sub#6 ] main:2::myprintf:45::utoa:90::append:167 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#16 append::dst#4 append::value#8 append::sub#6 ] main:2::myprintf:22::utoa:90::append:172 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 append::dst#4 append::value#8 append::sub#6 ] main:2::myprintf:45::utoa:90::append:172 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 append::dst#4 append::value#8 append::sub#6 ] ) always clobbers reg byte a reg byte y 
Statement [178] if((word) append::value#5>=(word) append::sub#6) goto append::@2 [ append::value#5 append::dst#4 append::sub#6 ] ( main:2::myprintf:22::utoa:90::append:155 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#13 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:45::utoa:90::append:155 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#13 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:22::utoa:90::append:161 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#10 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:45::utoa:90::append:161 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#10 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:22::utoa:90::append:167 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#16 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:45::utoa:90::append:167 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#16 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:22::utoa:90::append:172 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:45::utoa:90::append:172 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 append::value#5 append::dst#4 append::sub#6 ] ) always clobbers reg byte a 
Statement [180] *((byte*) append::dst#4) ← ++ *((byte*) append::dst#4) [ append::value#5 append::dst#4 append::sub#6 ] ( main:2::myprintf:22::utoa:90::append:155 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#13 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:45::utoa:90::append:155 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#13 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:22::utoa:90::append:161 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#10 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:45::utoa:90::append:161 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#10 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:22::utoa:90::append:167 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#16 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:45::utoa:90::append:167 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#16 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:22::utoa:90::append:172 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:45::utoa:90::append:172 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 append::value#5 append::dst#4 append::sub#6 ] ) always clobbers reg byte a reg byte y 
Statement [181] (word) append::value#0 ← (word) append::value#5 - (word) append::sub#6 [ append::dst#4 append::sub#6 append::value#0 ] ( main:2::myprintf:22::utoa:90::append:155 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#13 append::dst#4 append::sub#6 append::value#0 ] main:2::myprintf:45::utoa:90::append:155 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#13 append::dst#4 append::sub#6 append::value#0 ] main:2::myprintf:22::utoa:90::append:161 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#10 append::dst#4 append::sub#6 append::value#0 ] main:2::myprintf:45::utoa:90::append:161 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#10 append::dst#4 append::sub#6 append::value#0 ] main:2::myprintf:22::utoa:90::append:167 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#16 append::dst#4 append::sub#6 append::value#0 ] main:2::myprintf:45::utoa:90::append:167 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 utoa::dst#16 append::dst#4 append::sub#6 append::value#0 ] main:2::myprintf:22::utoa:90::append:172 [ main::u#11 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 append::dst#4 append::sub#6 append::value#0 ] main:2::myprintf:45::utoa:90::append:172 [ main::u#15 myprintf::w1#6 myprintf::w2#7 myprintf::w3#7 myprintf::str#10 myprintf::bArg#12 myprintf::bLen#14 myprintf::w#10 myprintf::bTrailing#10 myprintf::bDigits#14 myprintf::bLeadZero#10 append::dst#4 append::sub#6 append::value#0 ] ) always clobbers reg byte a 
Statement [182] (word~) div10::$0 ← (word) div10::val#4 >> (byte) 1 [ div10::$0 ] ( main:2::div10:34 [ main::u#15 div10::$0 ] ) always clobbers reg byte a 
Statement [183] (word) div10::val#0 ← (word~) div10::$0 + (byte) 1 [ div10::val#0 ] ( main:2::div10:34 [ main::u#15 div10::val#0 ] ) always clobbers reg byte a 
Statement [184] (word~) div10::$2 ← (word) div10::val#0 << (byte) 1 [ div10::val#0 div10::$2 ] ( main:2::div10:34 [ main::u#15 div10::val#0 div10::$2 ] ) always clobbers reg byte a 
Statement [185] (word) div10::val#1 ← (word) div10::val#0 + (word~) div10::$2 [ div10::val#1 ] ( main:2::div10:34 [ main::u#15 div10::val#1 ] ) always clobbers reg byte a 
Statement [186] (word~) div10::$3 ← (word) div10::val#1 >> (byte) 4 [ div10::val#1 div10::$3 ] ( main:2::div10:34 [ main::u#15 div10::val#1 div10::$3 ] ) always clobbers reg byte a 
Statement [187] (word) div10::val#2 ← (word) div10::val#1 + (word~) div10::$3 [ div10::val#2 ] ( main:2::div10:34 [ main::u#15 div10::val#2 ] ) always clobbers reg byte a 
Statement [188] (word~) div10::$4 ← (word) div10::val#2 >> (byte) 8 [ div10::val#2 div10::$4 ] ( main:2::div10:34 [ main::u#15 div10::val#2 div10::$4 ] ) always clobbers reg byte a 
Statement [189] (word) div10::val#3 ← (word) div10::val#2 + (word~) div10::$4 [ div10::val#3 ] ( main:2::div10:34 [ main::u#15 div10::val#3 ] ) always clobbers reg byte a 
Statement [190] (word) div10::return#0 ← (word) div10::val#3 >> (byte) 4 [ div10::return#0 ] ( main:2::div10:34 [ main::u#15 div10::return#0 ] ) always clobbers reg byte a 
Statement [192] (word) divr16u::dividend#1 ← (word) div16u::dividend#0 [ divr16u::dividend#1 ] ( main:2::div16u:11 [ main::u#11 divr16u::dividend#1 ] ) always clobbers reg byte a 
Statement [194] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 ] ( main:2::div16u:11 [ main::u#11 divr16u::return#2 ] ) always clobbers reg byte a 
Statement [195] (word) div16u::return#0 ← (word) divr16u::return#2 [ div16u::return#0 ] ( main:2::div16u:11 [ main::u#11 div16u::return#0 ] ) always clobbers reg byte a 
Statement [200] (byte~) divr16u::$1 ← > (word) divr16u::dividend#2 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::div16u:11::divr16u:193 [ main::u#11 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) always clobbers reg byte a 
Statement [203] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte) 1 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::div16u:11::divr16u:193 [ main::u#11 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) always clobbers reg byte a 
Statement [207] if((word) divr16u::rem#5<(const word) div16u::divisor#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ( main:2::div16u:11::divr16u:193 [ main::u#11 divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ) always clobbers reg byte a 
Statement [209] (word) divr16u::rem#2 ← (word) divr16u::rem#5 - (const word) div16u::divisor#0 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::div16u:11::divr16u:193 [ main::u#11 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) always clobbers reg byte a 
Potential registers zp ZP_WORD:2 [ main::u#11 main::u#2 ] : zp ZP_WORD:2 , 
Potential registers zp ZP_WORD:4 [ main::u#15 main::u#4 ] : zp ZP_WORD:4 , 
Potential registers zp ZP_WORD:6 [ myprintf::w1#6 myprintf::w1#0 myprintf::w1#1 ] : zp ZP_WORD:6 , 
Potential registers zp ZP_WORD:8 [ myprintf::w2#7 myprintf::w2#0 myprintf::w2#1 ] : zp ZP_WORD:8 , 
Potential registers zp ZP_WORD:10 [ myprintf::w3#7 myprintf::w3#0 myprintf::w3#1 ] : zp ZP_WORD:10 , 
Potential registers zp ZP_WORD:12 [ myprintf::str#10 myprintf::str#5 myprintf::str#0 ] : zp ZP_WORD:12 , 
Potential registers zp ZP_BYTE:14 [ myprintf::bFormat#10 myprintf::bFormat#4 ] : zp ZP_BYTE:14 , reg byte x , 
Potential registers zp ZP_BYTE:15 [ myprintf::bArg#12 myprintf::bArg#10 myprintf::bArg#1 ] : zp ZP_BYTE:15 , reg byte x , 
Potential registers zp ZP_WORD:16 [ myprintf::w#10 myprintf::w#17 myprintf::w#21 myprintf::w#49 myprintf::w#50 myprintf::w#51 ] : zp ZP_WORD:16 , 
Potential registers zp ZP_BYTE:18 [ myprintf::bTrailing#10 myprintf::bTrailing#21 ] : zp ZP_BYTE:18 , reg byte x , 
Potential registers zp ZP_BYTE:19 [ myprintf::bLeadZero#10 myprintf::bLeadZero#18 ] : zp ZP_BYTE:19 , reg byte x , 
Potential registers zp ZP_BYTE:20 [ myprintf::$23 ] : zp ZP_BYTE:20 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:21 [ myprintf::$30 ] : zp ZP_BYTE:21 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:22 [ myprintf::b#17 myprintf::b#5 ] : zp ZP_BYTE:22 , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:23 [ myprintf::digit#3 myprintf::digit#2 ] : zp ZP_BYTE:23 , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:24 [ myprintf::bLen#11 myprintf::bLen#13 myprintf::bLen#12 myprintf::bLen#23 myprintf::bLen#14 myprintf::return#0 myprintf::bLen#28 myprintf::bLen#7 myprintf::bLen#3 myprintf::bLen#24 myprintf::bLen#6 myprintf::bLen#1 myprintf::bLen#4 ] : zp ZP_BYTE:24 , reg byte x , 
Potential registers zp ZP_BYTE:25 [ myprintf::bDigits#10 myprintf::bDigits#8 myprintf::bDigits#14 myprintf::bDigits#24 myprintf::bDigits#25 myprintf::bDigits#1 myprintf::bDigits#16 myprintf::bDigits#3 myprintf::bDigits#2 ] : zp ZP_BYTE:25 , reg byte x , 
Potential registers zp ZP_BYTE:26 [ myprintf::$41 ] : zp ZP_BYTE:26 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:27 [ myprintf::b#25 myprintf::b#1 myprintf::b#6 ] : zp ZP_BYTE:27 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:28 [ utoa::bStarted#7 utoa::bStarted#6 utoa::bStarted#5 ] : zp ZP_BYTE:28 , reg byte x , reg byte y , 
Potential registers zp ZP_WORD:29 [ utoa::value#12 utoa::value#3 utoa::value#10 utoa::value#2 utoa::value#11 utoa::value#6 utoa::value#4 utoa::value#0 utoa::value#1 ] : zp ZP_WORD:29 , 
Potential registers zp ZP_WORD:31 [ utoa::dst#12 utoa::dst#4 utoa::dst#13 utoa::dst#2 utoa::dst#10 utoa::dst#16 utoa::dst#1 ] : zp ZP_WORD:31 , 
Potential registers zp ZP_WORD:33 [ append::dst#4 append::dst#1 append::dst#2 append::dst#3 ] : zp ZP_WORD:33 , 
Potential registers zp ZP_WORD:35 [ append::sub#6 ] : zp ZP_WORD:35 , 
Potential registers zp ZP_WORD:37 [ append::value#5 append::value#8 append::value#1 append::value#2 append::value#3 append::value#4 append::value#0 ] : zp ZP_WORD:37 , 
Potential registers zp ZP_WORD:39 [ divr16u::rem#4 divr16u::rem#9 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] : zp ZP_WORD:39 , 
Potential registers zp ZP_WORD:41 [ divr16u::dividend#2 divr16u::dividend#1 divr16u::dividend#0 ] : zp ZP_WORD:41 , 
Potential registers zp ZP_WORD:43 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] : zp ZP_WORD:43 , 
Potential registers zp ZP_BYTE:45 [ divr16u::i#2 divr16u::i#1 ] : zp ZP_BYTE:45 , reg byte x , reg byte y , 
Potential registers zp ZP_WORD:46 [ div16u::dividend#0 ] : zp ZP_WORD:46 , 
Potential registers zp ZP_WORD:48 [ div16u::return#2 ] : zp ZP_WORD:48 , 
Potential registers zp ZP_WORD:50 [ main::v#1 ] : zp ZP_WORD:50 , 
Potential registers zp ZP_WORD:52 [ main::$2 ] : zp ZP_WORD:52 , 
Potential registers zp ZP_WORD:54 [ main::$3 ] : zp ZP_WORD:54 , 
Potential registers zp ZP_WORD:56 [ main::$4 ] : zp ZP_WORD:56 , 
Potential registers zp ZP_WORD:58 [ div10::val#4 ] : zp ZP_WORD:58 , 
Potential registers zp ZP_WORD:60 [ div10::return#2 ] : zp ZP_WORD:60 , 
Potential registers zp ZP_WORD:62 [ main::v#2 ] : zp ZP_WORD:62 , 
Potential registers zp ZP_WORD:64 [ main::$11 ] : zp ZP_WORD:64 , 
Potential registers zp ZP_WORD:66 [ main::$12 ] : zp ZP_WORD:66 , 
Potential registers zp ZP_WORD:68 [ main::$13 ] : zp ZP_WORD:68 , 
Potential registers zp ZP_BYTE:70 [ myprintf::$17 ] : zp ZP_BYTE:70 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:71 [ myprintf::$18 ] : zp ZP_BYTE:71 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:72 [ myprintf::b#15 ] : zp ZP_BYTE:72 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:73 [ myprintf::$24 ] : zp ZP_BYTE:73 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:74 [ myprintf::bLen#10 ] : zp ZP_BYTE:74 , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:75 [ myprintf::$25 ] : zp ZP_BYTE:75 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:76 [ myprintf::b#16 ] : zp ZP_BYTE:76 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:77 [ myprintf::$31 ] : zp ZP_BYTE:77 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:78 [ myprintf::$49 ] : zp ZP_BYTE:78 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:79 [ utoa::$16 ] : zp ZP_BYTE:79 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:80 [ utoa::$17 ] : zp ZP_BYTE:80 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_WORD:81 [ utoa::dst#3 ] : zp ZP_WORD:81 , 
Potential registers zp ZP_WORD:83 [ append::return#10 ] : zp ZP_WORD:83 , 
Potential registers zp ZP_WORD:85 [ append::return#4 ] : zp ZP_WORD:85 , 
Potential registers zp ZP_WORD:87 [ append::return#3 ] : zp ZP_WORD:87 , 
Potential registers zp ZP_WORD:89 [ append::return#2 ] : zp ZP_WORD:89 , 
Potential registers zp ZP_WORD:91 [ div10::$0 ] : zp ZP_WORD:91 , 
Potential registers zp ZP_WORD:93 [ div10::val#0 ] : zp ZP_WORD:93 , 
Potential registers zp ZP_WORD:95 [ div10::$2 ] : zp ZP_WORD:95 , 
Potential registers zp ZP_WORD:97 [ div10::val#1 ] : zp ZP_WORD:97 , 
Potential registers zp ZP_WORD:99 [ div10::$3 ] : zp ZP_WORD:99 , 
Potential registers zp ZP_WORD:101 [ div10::val#2 ] : zp ZP_WORD:101 , 
Potential registers zp ZP_WORD:103 [ div10::$4 ] : zp ZP_WORD:103 , 
Potential registers zp ZP_WORD:105 [ div10::val#3 ] : zp ZP_WORD:105 , 
Potential registers zp ZP_WORD:107 [ div10::return#0 ] : zp ZP_WORD:107 , 
Potential registers zp ZP_WORD:109 [ divr16u::return#2 ] : zp ZP_WORD:109 , 
Potential registers zp ZP_WORD:111 [ div16u::return#0 ] : zp ZP_WORD:111 , 
Potential registers zp ZP_BYTE:113 [ divr16u::$1 ] : zp ZP_BYTE:113 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:114 [ divr16u::$2 ] : zp ZP_BYTE:114 , reg byte a , reg byte x , reg byte y , 

REGISTER UPLIFT SCOPES
Uplift Scope [myprintf] 9,752.6: zp ZP_BYTE:24 [ myprintf::bLen#11 myprintf::bLen#13 myprintf::bLen#12 myprintf::bLen#23 myprintf::bLen#14 myprintf::return#0 myprintf::bLen#28 myprintf::bLen#7 myprintf::bLen#3 myprintf::bLen#24 myprintf::bLen#6 myprintf::bLen#1 myprintf::bLen#4 ] 7,163.57: zp ZP_BYTE:25 [ myprintf::bDigits#10 myprintf::bDigits#8 myprintf::bDigits#14 myprintf::bDigits#24 myprintf::bDigits#25 myprintf::bDigits#1 myprintf::bDigits#16 myprintf::bDigits#3 myprintf::bDigits#2 ] 2,502.5: zp ZP_BYTE:23 [ myprintf::digit#3 myprintf::digit#2 ] 2,250.32: zp ZP_BYTE:22 [ myprintf::b#17 myprintf::b#5 ] 1,054.06: zp ZP_WORD:16 [ myprintf::w#10 myprintf::w#17 myprintf::w#21 myprintf::w#49 myprintf::w#50 myprintf::w#51 ] 1,001: zp ZP_BYTE:26 [ myprintf::$41 ] 631.25: zp ZP_BYTE:27 [ myprintf::b#25 myprintf::b#1 myprintf::b#6 ] 449.95: zp ZP_BYTE:15 [ myprintf::bArg#12 myprintf::bArg#10 myprintf::bArg#1 ] 208.73: zp ZP_BYTE:14 [ myprintf::bFormat#10 myprintf::bFormat#4 ] 202: zp ZP_BYTE:70 [ myprintf::$17 ] 202: zp ZP_BYTE:71 [ myprintf::$18 ] 202: zp ZP_BYTE:73 [ myprintf::$24 ] 202: zp ZP_BYTE:75 [ myprintf::$25 ] 202: zp ZP_BYTE:77 [ myprintf::$31 ] 202: zp ZP_BYTE:78 [ myprintf::$49 ] 190.48: zp ZP_BYTE:19 [ myprintf::bLeadZero#10 myprintf::bLeadZero#18 ] 178.73: zp ZP_BYTE:18 [ myprintf::bTrailing#10 myprintf::bTrailing#21 ] 157.51: zp ZP_WORD:12 [ myprintf::str#10 myprintf::str#5 myprintf::str#0 ] 101: zp ZP_BYTE:20 [ myprintf::$23 ] 101: zp ZP_BYTE:21 [ myprintf::$30 ] 75.75: zp ZP_BYTE:72 [ myprintf::b#15 ] 75.75: zp ZP_BYTE:76 [ myprintf::b#16 ] 45.56: zp ZP_WORD:8 [ myprintf::w2#7 myprintf::w2#0 myprintf::w2#1 ] 37.88: zp ZP_BYTE:74 [ myprintf::bLen#10 ] 23.56: zp ZP_WORD:6 [ myprintf::w1#6 myprintf::w1#0 myprintf::w1#1 ] 16.22: zp ZP_WORD:10 [ myprintf::w3#7 myprintf::w3#0 myprintf::w3#1 ] 
Uplift Scope [divr16u] 8,758.75: zp ZP_WORD:39 [ divr16u::rem#4 divr16u::rem#9 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] 3,353.75: zp ZP_WORD:43 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] 2,002: zp ZP_BYTE:113 [ divr16u::$1 ] 2,002: zp ZP_BYTE:114 [ divr16u::$2 ] 1,655.5: zp ZP_BYTE:45 [ divr16u::i#2 divr16u::i#1 ] 681.54: zp ZP_WORD:41 [ divr16u::dividend#2 divr16u::dividend#1 divr16u::dividend#0 ] 4: zp ZP_WORD:109 [ divr16u::return#2 ] 
Uplift Scope [append] 2,399.62: zp ZP_WORD:37 [ append::value#5 append::value#8 append::value#1 append::value#2 append::value#3 append::value#4 append::value#0 ] 341: zp ZP_WORD:33 [ append::dst#4 append::dst#1 append::dst#2 append::dst#3 ] 333.67: zp ZP_WORD:35 [ append::sub#6 ] 4: zp ZP_WORD:83 [ append::return#10 ] 4: zp ZP_WORD:85 [ append::return#4 ] 4: zp ZP_WORD:87 [ append::return#3 ] 4: zp ZP_WORD:89 [ append::return#2 ] 
Uplift Scope [div10] 202: zp ZP_WORD:60 [ div10::return#2 ] 103: zp ZP_WORD:58 [ div10::val#4 ] 34.33: zp ZP_WORD:107 [ div10::return#0 ] 4: zp ZP_WORD:91 [ div10::$0 ] 4: zp ZP_WORD:95 [ div10::$2 ] 4: zp ZP_WORD:99 [ div10::$3 ] 4: zp ZP_WORD:103 [ div10::$4 ] 4: zp ZP_WORD:105 [ div10::val#3 ] 3: zp ZP_WORD:93 [ div10::val#0 ] 3: zp ZP_WORD:97 [ div10::val#1 ] 3: zp ZP_WORD:101 [ div10::val#2 ] 
Uplift Scope [div16u] 202: zp ZP_WORD:48 [ div16u::return#2 ] 103: zp ZP_WORD:46 [ div16u::dividend#0 ] 34.33: zp ZP_WORD:111 [ div16u::return#0 ] 
Uplift Scope [main] 22: zp ZP_WORD:52 [ main::$2 ] 22: zp ZP_WORD:56 [ main::$4 ] 22: zp ZP_WORD:64 [ main::$11 ] 22: zp ZP_WORD:68 [ main::$13 ] 14.39: zp ZP_WORD:2 [ main::u#11 main::u#2 ] 14.39: zp ZP_WORD:4 [ main::u#15 main::u#4 ] 14: zp ZP_WORD:50 [ main::v#1 ] 14: zp ZP_WORD:62 [ main::v#2 ] 11: zp ZP_WORD:54 [ main::$3 ] 11: zp ZP_WORD:66 [ main::$12 ] 
Uplift Scope [utoa] 57.17: zp ZP_WORD:29 [ utoa::value#12 utoa::value#3 utoa::value#10 utoa::value#2 utoa::value#11 utoa::value#6 utoa::value#4 utoa::value#0 utoa::value#1 ] 17.25: zp ZP_WORD:31 [ utoa::dst#12 utoa::dst#4 utoa::dst#13 utoa::dst#2 utoa::dst#10 utoa::dst#16 utoa::dst#1 ] 7.33: zp ZP_BYTE:28 [ utoa::bStarted#7 utoa::bStarted#6 utoa::bStarted#5 ] 4: zp ZP_BYTE:79 [ utoa::$16 ] 4: zp ZP_BYTE:80 [ utoa::$17 ] 4: zp ZP_WORD:81 [ utoa::dst#3 ] 
Uplift Scope [Print] 
Uplift Scope [] 

Uplifting [divr16u] best 466046 combination zp ZP_WORD:39 [ divr16u::rem#4 divr16u::rem#9 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp ZP_WORD:43 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp ZP_WORD:41 [ divr16u::dividend#2 divr16u::dividend#1 divr16u::dividend#0 ] zp ZP_WORD:109 [ divr16u::return#2 ] 
Uplifting [append] best 466046 combination zp ZP_WORD:37 [ append::value#5 append::value#8 append::value#1 append::value#2 append::value#3 append::value#4 append::value#0 ] zp ZP_WORD:33 [ append::dst#4 append::dst#1 append::dst#2 append::dst#3 ] zp ZP_WORD:35 [ append::sub#6 ] zp ZP_WORD:83 [ append::return#10 ] zp ZP_WORD:85 [ append::return#4 ] zp ZP_WORD:87 [ append::return#3 ] zp ZP_WORD:89 [ append::return#2 ] 
Uplifting [div10] best 466046 combination zp ZP_WORD:60 [ div10::return#2 ] zp ZP_WORD:58 [ div10::val#4 ] zp ZP_WORD:107 [ div10::return#0 ] zp ZP_WORD:91 [ div10::$0 ] zp ZP_WORD:95 [ div10::$2 ] zp ZP_WORD:99 [ div10::$3 ] zp ZP_WORD:103 [ div10::$4 ] zp ZP_WORD:105 [ div10::val#3 ] zp ZP_WORD:93 [ div10::val#0 ] zp ZP_WORD:97 [ div10::val#1 ] zp ZP_WORD:101 [ div10::val#2 ] 
Uplifting [div16u] best 466046 combination zp ZP_WORD:48 [ div16u::return#2 ] zp ZP_WORD:46 [ div16u::dividend#0 ] zp ZP_WORD:111 [ div16u::return#0 ] 
Uplifting [main] best 466046 combination zp ZP_WORD:52 [ main::$2 ] zp ZP_WORD:56 [ main::$4 ] zp ZP_WORD:64 [ main::$11 ] zp ZP_WORD:68 [ main::$13 ] zp ZP_WORD:2 [ main::u#11 main::u#2 ] zp ZP_WORD:4 [ main::u#15 main::u#4 ] zp ZP_WORD:50 [ main::v#1 ] zp ZP_WORD:62 [ main::v#2 ] zp ZP_WORD:54 [ main::$3 ] zp ZP_WORD:66 [ main::$12 ] 
Uplifting [utoa] best 466015 combination zp ZP_WORD:29 [ utoa::value#12 utoa::value#3 utoa::value#10 utoa::value#2 utoa::value#11 utoa::value#6 utoa::value#4 utoa::value#0 utoa::value#1 ] zp ZP_WORD:31 [ utoa::dst#12 utoa::dst#4 utoa::dst#13 utoa::dst#2 utoa::dst#10 utoa::dst#16 utoa::dst#1 ] reg byte x [ utoa::bStarted#7 utoa::bStarted#6 utoa::bStarted#5 ] reg byte a [ utoa::$16 ] reg byte a [ utoa::$17 ] zp ZP_WORD:81 [ utoa::dst#3 ] 
Uplifting [Print] best 466015 combination 
Uplifting [] best 466015 combination 
Attempting to uplift remaining variables inzp ZP_BYTE:24 [ myprintf::bLen#11 myprintf::bLen#13 myprintf::bLen#12 myprintf::bLen#23 myprintf::bLen#14 myprintf::return#0 myprintf::bLen#28 myprintf::bLen#7 myprintf::bLen#3 myprintf::bLen#24 myprintf::bLen#6 myprintf::bLen#1 myprintf::bLen#4 ]
Uplifting [myprintf] best 466015 combination zp ZP_BYTE:24 [ myprintf::bLen#11 myprintf::bLen#13 myprintf::bLen#12 myprintf::bLen#23 myprintf::bLen#14 myprintf::return#0 myprintf::bLen#28 myprintf::bLen#7 myprintf::bLen#3 myprintf::bLen#24 myprintf::bLen#6 myprintf::bLen#1 myprintf::bLen#4 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:25 [ myprintf::bDigits#10 myprintf::bDigits#8 myprintf::bDigits#14 myprintf::bDigits#24 myprintf::bDigits#25 myprintf::bDigits#1 myprintf::bDigits#16 myprintf::bDigits#3 myprintf::bDigits#2 ]
Uplifting [myprintf] best 466015 combination zp ZP_BYTE:25 [ myprintf::bDigits#10 myprintf::bDigits#8 myprintf::bDigits#14 myprintf::bDigits#24 myprintf::bDigits#25 myprintf::bDigits#1 myprintf::bDigits#16 myprintf::bDigits#3 myprintf::bDigits#2 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:23 [ myprintf::digit#3 myprintf::digit#2 ]
Uplifting [myprintf] best 454015 combination reg byte x [ myprintf::digit#3 myprintf::digit#2 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:22 [ myprintf::b#17 myprintf::b#5 ]
Uplifting [myprintf] best 454015 combination zp ZP_BYTE:22 [ myprintf::b#17 myprintf::b#5 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:26 [ myprintf::$41 ]
Uplifting [myprintf] best 445015 combination reg byte a [ myprintf::$41 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:27 [ myprintf::b#25 myprintf::b#1 myprintf::b#6 ]
Uplifting [myprintf] best 441265 combination reg byte x [ myprintf::b#25 myprintf::b#1 myprintf::b#6 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:15 [ myprintf::bArg#12 myprintf::bArg#10 myprintf::bArg#1 ]
Uplifting [myprintf] best 441265 combination zp ZP_BYTE:15 [ myprintf::bArg#12 myprintf::bArg#10 myprintf::bArg#1 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:14 [ myprintf::bFormat#10 myprintf::bFormat#4 ]
Uplifting [myprintf] best 441265 combination zp ZP_BYTE:14 [ myprintf::bFormat#10 myprintf::bFormat#4 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:70 [ myprintf::$17 ]
Uplifting [myprintf] best 440665 combination reg byte a [ myprintf::$17 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:71 [ myprintf::$18 ]
Uplifting [myprintf] best 440065 combination reg byte a [ myprintf::$18 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:73 [ myprintf::$24 ]
Uplifting [myprintf] best 439465 combination reg byte a [ myprintf::$24 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:75 [ myprintf::$25 ]
Uplifting [myprintf] best 438865 combination reg byte a [ myprintf::$25 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:77 [ myprintf::$31 ]
Uplifting [myprintf] best 438265 combination reg byte a [ myprintf::$31 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:78 [ myprintf::$49 ]
Uplifting [myprintf] best 437665 combination reg byte a [ myprintf::$49 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:19 [ myprintf::bLeadZero#10 myprintf::bLeadZero#18 ]
Uplifting [myprintf] best 437665 combination zp ZP_BYTE:19 [ myprintf::bLeadZero#10 myprintf::bLeadZero#18 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:18 [ myprintf::bTrailing#10 myprintf::bTrailing#21 ]
Uplifting [myprintf] best 437665 combination zp ZP_BYTE:18 [ myprintf::bTrailing#10 myprintf::bTrailing#21 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:20 [ myprintf::$23 ]
Uplifting [myprintf] best 436765 combination reg byte a [ myprintf::$23 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:21 [ myprintf::$30 ]
Uplifting [myprintf] best 435865 combination reg byte a [ myprintf::$30 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:72 [ myprintf::b#15 ]
Uplifting [myprintf] best 435765 combination reg byte x [ myprintf::b#15 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:76 [ myprintf::b#16 ]
Uplifting [myprintf] best 435665 combination reg byte x [ myprintf::b#16 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:74 [ myprintf::bLen#10 ]
Uplifting [myprintf] best 434765 combination reg byte y [ myprintf::bLen#10 ] 
Coalescing zero page register with common assignment [ zp ZP_WORD:29 [ utoa::value#12 utoa::value#3 utoa::value#10 utoa::value#2 utoa::value#11 utoa::value#6 utoa::value#4 utoa::value#0 utoa::value#1 ] ] with [ zp ZP_WORD:37 [ append::value#5 append::value#8 append::value#1 append::value#2 append::value#3 append::value#4 append::value#0 ] ] - score: 4
Coalescing zero page register with common assignment [ zp ZP_WORD:31 [ utoa::dst#12 utoa::dst#4 utoa::dst#13 utoa::dst#2 utoa::dst#10 utoa::dst#16 utoa::dst#1 ] ] with [ zp ZP_WORD:33 [ append::dst#4 append::dst#1 append::dst#2 append::dst#3 ] ] - score: 3
Coalescing zero page register with common assignment [ zp ZP_WORD:2 [ main::u#11 main::u#2 ] ] with [ zp ZP_WORD:6 [ myprintf::w1#6 myprintf::w1#0 myprintf::w1#1 ] ] - score: 1
Coalescing zero page register with common assignment [ zp ZP_WORD:2 [ main::u#11 main::u#2 myprintf::w1#6 myprintf::w1#0 myprintf::w1#1 ] ] with [ zp ZP_WORD:46 [ div16u::dividend#0 ] ] - score: 1
Coalescing zero page register with common assignment [ zp ZP_WORD:4 [ main::u#15 main::u#4 ] ] with [ zp ZP_WORD:58 [ div10::val#4 ] ] - score: 1
Coalescing zero page register with common assignment [ zp ZP_WORD:8 [ myprintf::w2#7 myprintf::w2#0 myprintf::w2#1 ] ] with [ zp ZP_WORD:50 [ main::v#1 ] ] - score: 1
Coalescing zero page register with common assignment [ zp ZP_WORD:8 [ myprintf::w2#7 myprintf::w2#0 myprintf::w2#1 main::v#1 ] ] with [ zp ZP_WORD:62 [ main::v#2 ] ] - score: 1
Coalescing zero page register with common assignment [ zp ZP_WORD:10 [ myprintf::w3#7 myprintf::w3#0 myprintf::w3#1 ] ] with [ zp ZP_WORD:54 [ main::$3 ] ] - score: 1
Coalescing zero page register with common assignment [ zp ZP_WORD:10 [ myprintf::w3#7 myprintf::w3#0 myprintf::w3#1 main::$3 ] ] with [ zp ZP_WORD:66 [ main::$12 ] ] - score: 1
Coalescing zero page register with common assignment [ zp ZP_WORD:29 [ utoa::value#12 utoa::value#3 utoa::value#10 utoa::value#2 utoa::value#11 utoa::value#6 utoa::value#4 utoa::value#0 utoa::value#1 append::value#5 append::value#8 append::value#1 append::value#2 append::value#3 append::value#4 append::value#0 ] ] with [ zp ZP_WORD:83 [ append::return#10 ] ] - score: 1
Coalescing zero page register with common assignment [ zp ZP_WORD:29 [ utoa::value#12 utoa::value#3 utoa::value#10 utoa::value#2 utoa::value#11 utoa::value#6 utoa::value#4 utoa::value#0 utoa::value#1 append::value#5 append::value#8 append::value#1 append::value#2 append::value#3 append::value#4 append::value#0 append::return#10 ] ] with [ zp ZP_WORD:85 [ append::return#4 ] ] - score: 1
Coalescing zero page register with common assignment [ zp ZP_WORD:29 [ utoa::value#12 utoa::value#3 utoa::value#10 utoa::value#2 utoa::value#11 utoa::value#6 utoa::value#4 utoa::value#0 utoa::value#1 append::value#5 append::value#8 append::value#1 append::value#2 append::value#3 append::value#4 append::value#0 append::return#10 append::return#4 ] ] with [ zp ZP_WORD:87 [ append::return#3 ] ] - score: 1
Coalescing zero page register with common assignment [ zp ZP_WORD:29 [ utoa::value#12 utoa::value#3 utoa::value#10 utoa::value#2 utoa::value#11 utoa::value#6 utoa::value#4 utoa::value#0 utoa::value#1 append::value#5 append::value#8 append::value#1 append::value#2 append::value#3 append::value#4 append::value#0 append::return#10 append::return#4 append::return#3 ] ] with [ zp ZP_WORD:89 [ append::return#2 ] ] - score: 1
Coalescing zero page register with common assignment [ zp ZP_WORD:31 [ utoa::dst#12 utoa::dst#4 utoa::dst#13 utoa::dst#2 utoa::dst#10 utoa::dst#16 utoa::dst#1 append::dst#4 append::dst#1 append::dst#2 append::dst#3 ] ] with [ zp ZP_WORD:81 [ utoa::dst#3 ] ] - score: 1
Coalescing zero page register with common assignment [ zp ZP_WORD:43 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] ] with [ zp ZP_WORD:109 [ divr16u::return#2 ] ] - score: 1
Coalescing zero page register with common assignment [ zp ZP_WORD:48 [ div16u::return#2 ] ] with [ zp ZP_WORD:111 [ div16u::return#0 ] ] - score: 1
Coalescing zero page register with common assignment [ zp ZP_WORD:60 [ div10::return#2 ] ] with [ zp ZP_WORD:107 [ div10::return#0 ] ] - score: 1
Coalescing zero page register with common assignment [ zp ZP_WORD:91 [ div10::$0 ] ] with [ zp ZP_WORD:93 [ div10::val#0 ] ] - score: 1
Coalescing zero page register with common assignment [ zp ZP_WORD:95 [ div10::$2 ] ] with [ zp ZP_WORD:97 [ div10::val#1 ] ] - score: 1
Coalescing zero page register with common assignment [ zp ZP_WORD:99 [ div10::$3 ] ] with [ zp ZP_WORD:101 [ div10::val#2 ] ] - score: 1
Coalescing zero page register with common assignment [ zp ZP_WORD:103 [ div10::$4 ] ] with [ zp ZP_WORD:105 [ div10::val#3 ] ] - score: 1
Coalescing zero page register with common assignment [ zp ZP_WORD:2 [ main::u#11 main::u#2 myprintf::w1#6 myprintf::w1#0 myprintf::w1#1 div16u::dividend#0 ] ] with [ zp ZP_WORD:4 [ main::u#15 main::u#4 div10::val#4 ] ] - score: 1
Coalescing zero page register with common assignment [ zp ZP_WORD:8 [ myprintf::w2#7 myprintf::w2#0 myprintf::w2#1 main::v#1 main::v#2 ] ] with [ zp ZP_WORD:48 [ div16u::return#2 div16u::return#0 ] ] - score: 1
Coalescing zero page register with common assignment [ zp ZP_WORD:8 [ myprintf::w2#7 myprintf::w2#0 myprintf::w2#1 main::v#1 main::v#2 div16u::return#2 div16u::return#0 ] ] with [ zp ZP_WORD:60 [ div10::return#2 div10::return#0 ] ] - score: 1
Coalescing zero page register with common assignment [ zp ZP_WORD:10 [ myprintf::w3#7 myprintf::w3#0 myprintf::w3#1 main::$3 main::$12 ] ] with [ zp ZP_WORD:52 [ main::$2 ] ] - score: 1
Coalescing zero page register with common assignment [ zp ZP_WORD:10 [ myprintf::w3#7 myprintf::w3#0 myprintf::w3#1 main::$3 main::$12 main::$2 ] ] with [ zp ZP_WORD:64 [ main::$11 ] ] - score: 1
Coalescing zero page register with common assignment [ zp ZP_WORD:8 [ myprintf::w2#7 myprintf::w2#0 myprintf::w2#1 main::v#1 main::v#2 div16u::return#2 div16u::return#0 div10::return#2 div10::return#0 ] ] with [ zp ZP_WORD:43 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 ] ] - score: 1
Coalescing zero page register with common assignment [ zp ZP_WORD:8 [ myprintf::w2#7 myprintf::w2#0 myprintf::w2#1 main::v#1 main::v#2 div16u::return#2 div16u::return#0 div10::return#2 div10::return#0 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 ] ] with [ zp ZP_WORD:103 [ div10::$4 div10::val#3 ] ] - score: 1
Allocated (was zp ZP_WORD:8) zp ZP_WORD:4 [ myprintf::w2#7 myprintf::w2#0 myprintf::w2#1 main::v#1 main::v#2 div16u::return#2 div16u::return#0 div10::return#2 div10::return#0 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 div10::$4 div10::val#3 ]
Allocated (was zp ZP_WORD:10) zp ZP_WORD:6 [ myprintf::w3#7 myprintf::w3#0 myprintf::w3#1 main::$3 main::$12 main::$2 main::$11 ]
Allocated (was zp ZP_WORD:12) zp ZP_WORD:8 [ myprintf::str#10 myprintf::str#5 myprintf::str#0 ]
Allocated (was zp ZP_BYTE:14) zp ZP_BYTE:10 [ myprintf::bFormat#10 myprintf::bFormat#4 ]
Allocated (was zp ZP_BYTE:15) zp ZP_BYTE:11 [ myprintf::bArg#12 myprintf::bArg#10 myprintf::bArg#1 ]
Allocated (was zp ZP_WORD:16) zp ZP_WORD:12 [ myprintf::w#10 myprintf::w#17 myprintf::w#21 myprintf::w#49 myprintf::w#50 myprintf::w#51 ]
Allocated (was zp ZP_BYTE:18) zp ZP_BYTE:14 [ myprintf::bTrailing#10 myprintf::bTrailing#21 ]
Allocated (was zp ZP_BYTE:19) zp ZP_BYTE:15 [ myprintf::bLeadZero#10 myprintf::bLeadZero#18 ]
Allocated (was zp ZP_BYTE:22) zp ZP_BYTE:16 [ myprintf::b#17 myprintf::b#5 ]
Allocated (was zp ZP_BYTE:24) zp ZP_BYTE:17 [ myprintf::bLen#11 myprintf::bLen#13 myprintf::bLen#12 myprintf::bLen#23 myprintf::bLen#14 myprintf::return#0 myprintf::bLen#28 myprintf::bLen#7 myprintf::bLen#3 myprintf::bLen#24 myprintf::bLen#6 myprintf::bLen#1 myprintf::bLen#4 ]
Allocated (was zp ZP_BYTE:25) zp ZP_BYTE:18 [ myprintf::bDigits#10 myprintf::bDigits#8 myprintf::bDigits#14 myprintf::bDigits#24 myprintf::bDigits#25 myprintf::bDigits#1 myprintf::bDigits#16 myprintf::bDigits#3 myprintf::bDigits#2 ]
Allocated (was zp ZP_WORD:29) zp ZP_WORD:19 [ utoa::value#12 utoa::value#3 utoa::value#10 utoa::value#2 utoa::value#11 utoa::value#6 utoa::value#4 utoa::value#0 utoa::value#1 append::value#5 append::value#8 append::value#1 append::value#2 append::value#3 append::value#4 append::value#0 append::return#10 append::return#4 append::return#3 append::return#2 ]
Allocated (was zp ZP_WORD:31) zp ZP_WORD:21 [ utoa::dst#12 utoa::dst#4 utoa::dst#13 utoa::dst#2 utoa::dst#10 utoa::dst#16 utoa::dst#1 append::dst#4 append::dst#1 append::dst#2 append::dst#3 utoa::dst#3 ]
Allocated (was zp ZP_WORD:35) zp ZP_WORD:23 [ append::sub#6 ]
Allocated (was zp ZP_WORD:39) zp ZP_WORD:25 [ divr16u::rem#4 divr16u::rem#9 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ]
Allocated (was zp ZP_WORD:41) zp ZP_WORD:27 [ divr16u::dividend#2 divr16u::dividend#1 divr16u::dividend#0 ]
Allocated (was zp ZP_WORD:56) zp ZP_WORD:29 [ main::$4 ]
Allocated (was zp ZP_WORD:68) zp ZP_WORD:31 [ main::$13 ]
Allocated (was zp ZP_WORD:91) zp ZP_WORD:33 [ div10::$0 div10::val#0 ]
Allocated (was zp ZP_WORD:95) zp ZP_WORD:35 [ div10::$2 div10::val#1 ]
Allocated (was zp ZP_WORD:99) zp ZP_WORD:37 [ div10::$3 div10::val#2 ]

ASSEMBLER BEFORE OPTIMIZATION
  // File Comments
  // Basic Upstart
.pc = $801 "Basic"
:BasicUpstart(bbegin)
.pc = $80d "Program"
  // Global Constants & labels
  .label zp1 = $61
  // #define zp1 *(byte *)0x61 -- allows "zp1" vs "*zp1" below -- not supported --  https://gitlab.com/camelot/kickc/issues/169
  .label zp2 = $62
  .label TIMEHI = $a1
  .label TIMELO = $a2
  .label VICBANK = $d018
  // @begin
bbegin:
  // [1] phi from @begin to @1 [phi:@begin->@1]
b1_from_bbegin:
  jmp b1
  // @1
b1:
  // [2] call main 
  jsr main
  // [3] phi from @1 to @end [phi:@1->@end]
bend_from_b1:
  jmp bend
  // @end
bend:
  // main
main: {
    .label _2 = 6
    .label _3 = 6
    .label _4 = $1d
    .label _11 = 6
    .label _12 = 6
    .label _13 = $1f
    .label v = 4
    .label u = 2
    // [4] *((const byte*) VICBANK#0) ← (byte) $17 -- _deref_pbuc1=vbuc2 
    lda #$17
    sta VICBANK
    // [5] *((const byte*) zp1#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta zp1
    // [6] phi from main to main::@1 [phi:main->main::@1]
  b1_from_main:
    // [6] phi (word) main::u#11 = (word) $6e85 [phi:main->main::@1#0] -- vwuz1=vwuc1 
    lda #<$6e85
    sta u
    lda #>$6e85
    sta u+1
    jmp b1
    // [6] phi from main::@10 to main::@1 [phi:main::@10->main::@1]
  b1_from_b10:
    // [6] phi (word) main::u#11 = (word) main::u#2 [phi:main::@10->main::@1#0] -- register_copy 
    jmp b1
    // main::@1
  b1:
    // [7] *((const byte*) TIMEHI#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta TIMEHI
    // [8] *((const byte*) TIMELO#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta TIMELO
    // [9] *((const byte*) zp2#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta zp2
    jmp b2
    // main::@2
  b2:
    // [10] (word) div16u::dividend#0 ← (word) main::u#11
    // [11] call div16u 
    jsr div16u
    // [12] (word) div16u::return#2 ← (word) div16u::return#0
    jmp b8
    // main::@8
  b8:
    // [13] (word) main::v#1 ← (word) div16u::return#2
    // [14] *((const byte*) zp2#0) ← ++ *((const byte*) zp2#0) -- _deref_pbuc1=_inc__deref_pbuc1 
    inc zp2
    // [15] if(*((const byte*) zp2#0)<(byte) $c8) goto main::@2 -- _deref_pbuc1_lt_vbuc2_then_la1 
    lda zp2
    cmp #$c8
    bcc b2
    jmp b3
    // main::@3
  b3:
    // [16] (word~) main::$2 ← (word)*((const byte*) TIMEHI#0) -- vwuz1=_word__deref_pbuc1 
    lda TIMEHI
    sta _2
    lda #0
    sta _2+1
    // [17] (word~) main::$3 ← (word~) main::$2 << (byte) 8 -- vwuz1=vwuz1_rol_8 
    lda _3
    sta _3+1
    lda #0
    sta _3
    // [18] (word~) main::$4 ← (word)*((const byte*) TIMELO#0) -- vwuz1=_word__deref_pbuc1 
    lda TIMELO
    sta _4
    lda #0
    sta _4+1
    // [19] (word) myprintf::w3#0 ← (word~) main::$3 + (word~) main::$4 -- vwuz1=vwuz1_plus_vwuz2 
    lda myprintf.w3
    clc
    adc _4
    sta myprintf.w3
    lda myprintf.w3+1
    adc _4+1
    sta myprintf.w3+1
    // [20] (word) myprintf::w1#0 ← (word) main::u#11
    // [21] (word) myprintf::w2#0 ← (word) main::v#1
    // [22] call myprintf 
    // [54] phi from main::@3 to myprintf [phi:main::@3->myprintf]
  myprintf_from_b3:
    // [54] phi (word) myprintf::w3#7 = (word) myprintf::w3#0 [phi:main::@3->myprintf#0] -- register_copy 
    // [54] phi (word) myprintf::w2#7 = (word) myprintf::w2#0 [phi:main::@3->myprintf#1] -- register_copy 
    // [54] phi (word) myprintf::w1#6 = (word) myprintf::w1#0 [phi:main::@3->myprintf#2] -- register_copy 
    // [54] phi (byte*) myprintf::str#5 = (const string) main::str [phi:main::@3->myprintf#3] -- pbuz1=pbuc1 
    lda #<str
    sta myprintf.str
    lda #>str
    sta myprintf.str+1
    jsr myprintf
    // [23] phi from main::@3 to main::@9 [phi:main::@3->main::@9]
  b9_from_b3:
    jmp b9
    // main::@9
  b9:
    // [24] call Print 
    jsr Print
    jmp b10
    // main::@10
  b10:
    // [25] (word) main::u#2 ← (word) main::u#11 - (word) $4d2 -- vwuz1=vwuz1_minus_vwuc1 
    lda u
    sec
    sbc #<$4d2
    sta u
    lda u+1
    sbc #>$4d2
    sta u+1
    // [26] *((const byte*) zp1#0) ← ++ *((const byte*) zp1#0) -- _deref_pbuc1=_inc__deref_pbuc1 
    inc zp1
    // [27] if(*((const byte*) zp1#0)<(byte) $a) goto main::@1 -- _deref_pbuc1_lt_vbuc2_then_la1 
    lda zp1
    cmp #$a
    bcc b1_from_b10
    jmp b4
    // main::@4
  b4:
    // [28] *((const byte*) zp1#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta zp1
    // [29] phi from main::@4 to main::@5 [phi:main::@4->main::@5]
  b5_from_b4:
    // [29] phi (word) main::u#15 = (word) $6e85 [phi:main::@4->main::@5#0] -- vwuz1=vwuc1 
    lda #<$6e85
    sta u
    lda #>$6e85
    sta u+1
    jmp b5
    // [29] phi from main::@13 to main::@5 [phi:main::@13->main::@5]
  b5_from_b13:
    // [29] phi (word) main::u#15 = (word) main::u#4 [phi:main::@13->main::@5#0] -- register_copy 
    jmp b5
    // main::@5
  b5:
    // [30] *((const byte*) TIMEHI#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta TIMEHI
    // [31] *((const byte*) TIMELO#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta TIMELO
    // [32] *((const byte*) zp2#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta zp2
    jmp b6
    // main::@6
  b6:
    // [33] (word) div10::val#4 ← (word) main::u#15
    // [34] call div10 
    jsr div10
    // [35] (word) div10::return#2 ← (word) div10::return#0
    jmp b11
    // main::@11
  b11:
    // [36] (word) main::v#2 ← (word) div10::return#2
    // [37] *((const byte*) zp2#0) ← ++ *((const byte*) zp2#0) -- _deref_pbuc1=_inc__deref_pbuc1 
    inc zp2
    // [38] if(*((const byte*) zp2#0)<(byte) $c8) goto main::@6 -- _deref_pbuc1_lt_vbuc2_then_la1 
    lda zp2
    cmp #$c8
    bcc b6
    jmp b7
    // main::@7
  b7:
    // [39] (word~) main::$11 ← (word)*((const byte*) TIMEHI#0) -- vwuz1=_word__deref_pbuc1 
    lda TIMEHI
    sta _11
    lda #0
    sta _11+1
    // [40] (word~) main::$12 ← (word~) main::$11 << (byte) 8 -- vwuz1=vwuz1_rol_8 
    lda _12
    sta _12+1
    lda #0
    sta _12
    // [41] (word~) main::$13 ← (word)*((const byte*) TIMELO#0) -- vwuz1=_word__deref_pbuc1 
    lda TIMELO
    sta _13
    lda #0
    sta _13+1
    // [42] (word) myprintf::w3#1 ← (word~) main::$12 + (word~) main::$13 -- vwuz1=vwuz1_plus_vwuz2 
    lda myprintf.w3
    clc
    adc _13
    sta myprintf.w3
    lda myprintf.w3+1
    adc _13+1
    sta myprintf.w3+1
    // [43] (word) myprintf::w1#1 ← (word) main::u#15
    // [44] (word) myprintf::w2#1 ← (word) main::v#2
    // [45] call myprintf 
    // [54] phi from main::@7 to myprintf [phi:main::@7->myprintf]
  myprintf_from_b7:
    // [54] phi (word) myprintf::w3#7 = (word) myprintf::w3#1 [phi:main::@7->myprintf#0] -- register_copy 
    // [54] phi (word) myprintf::w2#7 = (word) myprintf::w2#1 [phi:main::@7->myprintf#1] -- register_copy 
    // [54] phi (word) myprintf::w1#6 = (word) myprintf::w1#1 [phi:main::@7->myprintf#2] -- register_copy 
    // [54] phi (byte*) myprintf::str#5 = (const string) main::str1 [phi:main::@7->myprintf#3] -- pbuz1=pbuc1 
    lda #<str1
    sta myprintf.str
    lda #>str1
    sta myprintf.str+1
    jsr myprintf
    // [46] phi from main::@7 to main::@12 [phi:main::@7->main::@12]
  b12_from_b7:
    jmp b12
    // main::@12
  b12:
    // [47] call Print 
    jsr Print
    jmp b13
    // main::@13
  b13:
    // [48] (word) main::u#4 ← (word) main::u#15 - (word) $4d2 -- vwuz1=vwuz1_minus_vwuc1 
    lda u
    sec
    sbc #<$4d2
    sta u
    lda u+1
    sbc #>$4d2
    sta u+1
    // [49] *((const byte*) zp1#0) ← ++ *((const byte*) zp1#0) -- _deref_pbuc1=_inc__deref_pbuc1 
    inc zp1
    // [50] if(*((const byte*) zp1#0)<(byte) $a) goto main::@5 -- _deref_pbuc1_lt_vbuc2_then_la1 
    lda zp1
    cmp #$a
    bcc b5_from_b13
    jmp breturn
    // main::@return
  breturn:
    // [51] return 
    rts
    str: .text "200 DIV16U: %5d,%4d IN %04d FRAMESm@"
    str1: .text "200 DIV10 : %5d,%4d IN %04d FRAMESm@"
}
  // Print
Print: {
    // asm { ldy#0 loop: ldastrTemp,y beqdone jsr$FFD2 iny jmploop done:  }
    // can this assembly be placed in a separate file and call it from the C code here?
    ldy #0
  loop:
    lda strTemp,y
    beq done
    jsr $ffd2
    iny
    jmp loop
  done:
    jmp breturn
    // Print::@return
  breturn:
    // [53] return 
    rts
}
  // myprintf
// myprintf(byte* zeropage(8) str, word zeropage(2) w1, word zeropage(4) w2, word zeropage(6) w3)
myprintf: {
    .label str = 8
    .label bDigits = $12
    .label bLen = $11
    .label b = $10
    .label bArg = $b
    .label return = $11
    .label w1 = 2
    .label w2 = 4
    .label w3 = 6
    .label bFormat = $a
    .label w = $c
    .label bTrailing = $e
    .label bLeadZero = $f
    // [55] phi from myprintf to myprintf::@1 [phi:myprintf->myprintf::@1]
  b1_from_myprintf:
    // [55] phi (byte) myprintf::bLeadZero#10 = (byte) 0 [phi:myprintf->myprintf::@1#0] -- vbuz1=vbuc1 
    lda #0
    sta bLeadZero
    // [55] phi (byte) myprintf::bDigits#14 = (byte) 0 [phi:myprintf->myprintf::@1#1] -- vbuz1=vbuc1 
    lda #0
    sta bDigits
    // [55] phi (byte) myprintf::bTrailing#10 = (byte) 0 [phi:myprintf->myprintf::@1#2] -- vbuz1=vbuc1 
    lda #0
    sta bTrailing
    // [55] phi (word) myprintf::w#10 = (word) 0 [phi:myprintf->myprintf::@1#3] -- vwuz1=vwuc1 
    lda #<0
    sta w
    lda #>0
    sta w+1
    // [55] phi (byte) myprintf::bLen#14 = (byte) 0 [phi:myprintf->myprintf::@1#4] -- vbuz1=vbuc1 
    lda #0
    sta bLen
    // [55] phi (byte) myprintf::bArg#12 = (byte) 0 [phi:myprintf->myprintf::@1#5] -- vbuz1=vbuc1 
    lda #0
    sta bArg
    // [55] phi (byte) myprintf::bFormat#10 = (byte) 0 [phi:myprintf->myprintf::@1#6] -- vbuz1=vbuc1 
    lda #0
    sta bFormat
    // [55] phi (byte*) myprintf::str#10 = (byte*) myprintf::str#5 [phi:myprintf->myprintf::@1#7] -- register_copy 
    jmp b1
    // [55] phi from myprintf::@27 to myprintf::@1 [phi:myprintf::@27->myprintf::@1]
  b1_from_b27:
    // [55] phi (byte) myprintf::bLeadZero#10 = (byte) myprintf::bLeadZero#18 [phi:myprintf::@27->myprintf::@1#0] -- register_copy 
    // [55] phi (byte) myprintf::bDigits#14 = (byte) myprintf::bDigits#24 [phi:myprintf::@27->myprintf::@1#1] -- register_copy 
    // [55] phi (byte) myprintf::bTrailing#10 = (byte) myprintf::bTrailing#21 [phi:myprintf::@27->myprintf::@1#2] -- register_copy 
    // [55] phi (word) myprintf::w#10 = (word) myprintf::w#17 [phi:myprintf::@27->myprintf::@1#3] -- register_copy 
    // [55] phi (byte) myprintf::bLen#14 = (byte) myprintf::return#0 [phi:myprintf::@27->myprintf::@1#4] -- register_copy 
    // [55] phi (byte) myprintf::bArg#12 = (byte) myprintf::bArg#10 [phi:myprintf::@27->myprintf::@1#5] -- register_copy 
    // [55] phi (byte) myprintf::bFormat#10 = (byte) myprintf::bFormat#4 [phi:myprintf::@27->myprintf::@1#6] -- register_copy 
    // [55] phi (byte*) myprintf::str#10 = (byte*) myprintf::str#0 [phi:myprintf::@27->myprintf::@1#7] -- register_copy 
    jmp b1
    // myprintf::@1
  b1:
    // [56] (byte) myprintf::b#1 ← *((byte*) myprintf::str#10) -- vbuxx=_deref_pbuz1 
    ldy #0
    lda (str),y
    tax
    // [57] if((byte) myprintf::bFormat#10==(byte) 0) goto myprintf::@2 -- vbuz1_eq_0_then_la1 
    lda bFormat
    cmp #0
    beq b2
    jmp b33
    // myprintf::@33
  b33:
    // [58] if((byte) myprintf::b#1!=(byte) '0') goto myprintf::@3 -- vbuxx_neq_vbuc1_then_la1 
    cpx #'0'
    bne b3
    // [59] phi from myprintf::@33 to myprintf::@27 [phi:myprintf::@33->myprintf::@27]
  b27_from_b33:
    // [59] phi (byte) myprintf::bLeadZero#18 = (byte) 1 [phi:myprintf::@33->myprintf::@27#0] -- vbuz1=vbuc1 
    lda #1
    sta bLeadZero
    // [59] phi (byte) myprintf::bDigits#24 = (byte) myprintf::bDigits#14 [phi:myprintf::@33->myprintf::@27#1] -- register_copy 
    // [59] phi (byte) myprintf::bTrailing#21 = (byte) myprintf::bTrailing#10 [phi:myprintf::@33->myprintf::@27#2] -- register_copy 
    // [59] phi (word) myprintf::w#17 = (word) myprintf::w#10 [phi:myprintf::@33->myprintf::@27#3] -- register_copy 
    // [59] phi (byte) myprintf::bArg#10 = (byte) myprintf::bArg#12 [phi:myprintf::@33->myprintf::@27#4] -- register_copy 
    // [59] phi (byte) myprintf::return#0 = (byte) myprintf::bLen#14 [phi:myprintf::@33->myprintf::@27#5] -- register_copy 
    // [59] phi (byte) myprintf::bFormat#4 = (byte) myprintf::bFormat#10 [phi:myprintf::@33->myprintf::@27#6] -- register_copy 
    jmp b27
    // myprintf::@27
  b27:
    // [60] (byte*) myprintf::str#0 ← ++ (byte*) myprintf::str#10 -- pbuz1=_inc_pbuz1 
    inc str
    bne !+
    inc str+1
  !:
    // [61] if(*((byte*) myprintf::str#0)!=(byte) 0) goto myprintf::@1 -- _deref_pbuz1_neq_0_then_la1 
    ldy #0
    lda (str),y
    cmp #0
    bne b1_from_b27
    jmp b38
    // myprintf::@38
  b38:
    // [62] *((const byte[$64]) strTemp#0 + (byte) myprintf::return#0) ← (byte) 0 -- pbuc1_derefidx_vbuz1=vbuc2 
    lda #0
    ldy return
    sta strTemp,y
    jmp breturn
    // myprintf::@return
  breturn:
    // [63] return 
    rts
    // myprintf::@3
  b3:
    // [64] if((byte) myprintf::b#1<(byte) '1') goto myprintf::@4 -- vbuxx_lt_vbuc1_then_la1 
    cpx #'1'
    bcc b4
    jmp b39
    // myprintf::@39
  b39:
    // [65] if((byte) myprintf::b#1<=(byte) '9') goto myprintf::@23 -- vbuxx_le_vbuc1_then_la1 
    cpx #'9'
    bcc b23
    beq b23
    jmp b4
    // myprintf::@4
  b4:
    // [66] if((byte) myprintf::b#1!=(byte) '-') goto myprintf::@5 -- vbuxx_neq_vbuc1_then_la1 
    cpx #'-'
    bne b5
    // [59] phi from myprintf::@4 to myprintf::@27 [phi:myprintf::@4->myprintf::@27]
  b27_from_b4:
    // [59] phi (byte) myprintf::bLeadZero#18 = (byte) myprintf::bLeadZero#10 [phi:myprintf::@4->myprintf::@27#0] -- register_copy 
    // [59] phi (byte) myprintf::bDigits#24 = (byte) myprintf::bDigits#14 [phi:myprintf::@4->myprintf::@27#1] -- register_copy 
    // [59] phi (byte) myprintf::bTrailing#21 = (byte) 1 [phi:myprintf::@4->myprintf::@27#2] -- vbuz1=vbuc1 
    lda #1
    sta bTrailing
    // [59] phi (word) myprintf::w#17 = (word) myprintf::w#10 [phi:myprintf::@4->myprintf::@27#3] -- register_copy 
    // [59] phi (byte) myprintf::bArg#10 = (byte) myprintf::bArg#12 [phi:myprintf::@4->myprintf::@27#4] -- register_copy 
    // [59] phi (byte) myprintf::return#0 = (byte) myprintf::bLen#14 [phi:myprintf::@4->myprintf::@27#5] -- register_copy 
    // [59] phi (byte) myprintf::bFormat#4 = (byte) myprintf::bFormat#10 [phi:myprintf::@4->myprintf::@27#6] -- register_copy 
    jmp b27
    // myprintf::@5
  b5:
    // [67] if((byte) myprintf::b#1==(byte) 'c') goto myprintf::@6 -- vbuxx_eq_vbuc1_then_la1 
    cpx #'c'
    beq b6
    jmp b24
    // myprintf::@24
  b24:
    // [68] if((byte) myprintf::b#1==(byte) 'd') goto myprintf::@7 -- vbuxx_eq_vbuc1_then_la1 
    cpx #'d'
    beq b7
    jmp b25
    // myprintf::@25
  b25:
    // [69] if((byte) myprintf::b#1==(byte) 'x') goto myprintf::@26 -- vbuxx_eq_vbuc1_then_la1 
    cpx #'x'
    beq b26
    jmp b40
    // myprintf::@40
  b40:
    // [70] if((byte) myprintf::b#1==(byte) 'X') goto myprintf::@26 -- vbuxx_eq_vbuc1_then_la1 
    cpx #'X'
    beq b26
    // [71] phi from myprintf::@11 myprintf::@20 myprintf::@21 myprintf::@40 myprintf::@6 to myprintf::@22 [phi:myprintf::@11/myprintf::@20/myprintf::@21/myprintf::@40/myprintf::@6->myprintf::@22]
  b22_from_b11:
  b22_from_b20:
  b22_from_b21:
  b22_from_b40:
  b22_from_b6:
    // [71] phi (byte) myprintf::bDigits#25 = (byte) myprintf::bDigits#14 [phi:myprintf::@11/myprintf::@20/myprintf::@21/myprintf::@40/myprintf::@6->myprintf::@22#0] -- register_copy 
    // [71] phi (byte) myprintf::bLen#28 = (byte) myprintf::bLen#3 [phi:myprintf::@11/myprintf::@20/myprintf::@21/myprintf::@40/myprintf::@6->myprintf::@22#1] -- register_copy 
    jmp b22
    // [71] phi from myprintf::@42 to myprintf::@22 [phi:myprintf::@42->myprintf::@22]
  b22_from_b42:
    jmp b22
    // myprintf::@22
  b22:
    // [59] phi from myprintf::@22 to myprintf::@27 [phi:myprintf::@22->myprintf::@27]
  b27_from_b22:
    // [59] phi (byte) myprintf::bLeadZero#18 = (byte) myprintf::bLeadZero#10 [phi:myprintf::@22->myprintf::@27#0] -- register_copy 
    // [59] phi (byte) myprintf::bDigits#24 = (byte) myprintf::bDigits#25 [phi:myprintf::@22->myprintf::@27#1] -- register_copy 
    // [59] phi (byte) myprintf::bTrailing#21 = (byte) myprintf::bTrailing#10 [phi:myprintf::@22->myprintf::@27#2] -- register_copy 
    // [59] phi (word) myprintf::w#17 = (word) myprintf::w#10 [phi:myprintf::@22->myprintf::@27#3] -- register_copy 
    // [59] phi (byte) myprintf::bArg#10 = (byte) myprintf::bArg#12 [phi:myprintf::@22->myprintf::@27#4] -- register_copy 
    // [59] phi (byte) myprintf::return#0 = (byte) myprintf::bLen#28 [phi:myprintf::@22->myprintf::@27#5] -- register_copy 
    // [59] phi (byte) myprintf::bFormat#4 = (byte) 0 [phi:myprintf::@22->myprintf::@27#6] -- vbuz1=vbuc1 
    lda #0
    sta bFormat
    jmp b27
    // myprintf::@26
  b26:
    // [72] (byte~) myprintf::$17 ← (byte)(word) myprintf::w#10 -- vbuaa=_byte_vwuz1 
    lda w
    // [73] (byte~) myprintf::$18 ← (byte~) myprintf::$17 >> (byte) 4 -- vbuaa=vbuaa_ror_4 
    lsr
    lsr
    lsr
    lsr
    // [74] (byte) myprintf::b#15 ← (byte~) myprintf::$18 & (byte) $f -- vbuxx=vbuaa_band_vbuc1 
    ldx #$f
    axs #0
    // [75] if((byte) myprintf::b#15<(byte) $a) goto myprintf::@8 -- vbuxx_lt_vbuc1_then_la1 
    cpx #$a
    bcc b8_from_b26
    // [77] phi from myprintf::@26 to myprintf::@9 [phi:myprintf::@26->myprintf::@9]
  b9_from_b26:
    // [77] phi (byte~) myprintf::$23 = (byte) $57 [phi:myprintf::@26->myprintf::@9#0] -- vbuaa=vbuc1 
    lda #$57
    jmp b9
    // [76] phi from myprintf::@26 to myprintf::@8 [phi:myprintf::@26->myprintf::@8]
  b8_from_b26:
    jmp b8
    // myprintf::@8
  b8:
    // [77] phi from myprintf::@8 to myprintf::@9 [phi:myprintf::@8->myprintf::@9]
  b9_from_b8:
    // [77] phi (byte~) myprintf::$23 = (byte) '0' [phi:myprintf::@8->myprintf::@9#0] -- vbuaa=vbuc1 
    lda #'0'
    jmp b9
    // myprintf::@9
  b9:
    // [78] (byte~) myprintf::$24 ← (byte~) myprintf::$23 + (byte) myprintf::b#15 -- vbuaa=vbuaa_plus_vbuxx 
    stx $ff
    clc
    adc $ff
    // [79] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#14) ← (byte~) myprintf::$24 -- pbuc1_derefidx_vbuz1=vbuaa 
    ldy bLen
    sta strTemp,y
    // [80] (byte) myprintf::bLen#10 ← ++ (byte) myprintf::bLen#14 -- vbuyy=_inc_vbuz1 
    ldy bLen
    iny
    // [81] (byte~) myprintf::$25 ← (byte)(word) myprintf::w#10 -- vbuaa=_byte_vwuz1 
    lda w
    // [82] (byte) myprintf::b#16 ← (byte~) myprintf::$25 & (byte) $f -- vbuxx=vbuaa_band_vbuc1 
    ldx #$f
    axs #0
    // [83] if((byte) myprintf::b#16<(byte) $a) goto myprintf::@10 -- vbuxx_lt_vbuc1_then_la1 
    cpx #$a
    bcc b10_from_b9
    // [85] phi from myprintf::@9 to myprintf::@11 [phi:myprintf::@9->myprintf::@11]
  b11_from_b9:
    // [85] phi (byte~) myprintf::$30 = (byte) $57 [phi:myprintf::@9->myprintf::@11#0] -- vbuaa=vbuc1 
    lda #$57
    jmp b11
    // [84] phi from myprintf::@9 to myprintf::@10 [phi:myprintf::@9->myprintf::@10]
  b10_from_b9:
    jmp b10
    // myprintf::@10
  b10:
    // [85] phi from myprintf::@10 to myprintf::@11 [phi:myprintf::@10->myprintf::@11]
  b11_from_b10:
    // [85] phi (byte~) myprintf::$30 = (byte) '0' [phi:myprintf::@10->myprintf::@11#0] -- vbuaa=vbuc1 
    lda #'0'
    jmp b11
    // myprintf::@11
  b11:
    // [86] (byte~) myprintf::$31 ← (byte~) myprintf::$30 + (byte) myprintf::b#16 -- vbuaa=vbuaa_plus_vbuxx 
    stx $ff
    clc
    adc $ff
    // [87] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#10) ← (byte~) myprintf::$31 -- pbuc1_derefidx_vbuyy=vbuaa 
    sta strTemp,y
    // [88] (byte) myprintf::bLen#3 ← ++ (byte) myprintf::bLen#10 -- vbuz1=_inc_vbuyy 
    iny
    sty bLen
    jmp b22_from_b11
    // myprintf::@7
  b7:
    // [89] (word) utoa::value#4 ← (word) myprintf::w#10 -- vwuz1=vwuz2 
    lda w
    sta utoa.value
    lda w+1
    sta utoa.value+1
    // [90] call utoa 
    // [135] phi from myprintf::@7 to utoa [phi:myprintf::@7->utoa]
  utoa_from_b7:
    jsr utoa
    // [91] phi from myprintf::@7 to myprintf::@12 [phi:myprintf::@7->myprintf::@12]
  b12_from_b7:
    // [91] phi (byte) myprintf::b#17 = (byte) 1 [phi:myprintf::@7->myprintf::@12#0] -- vbuz1=vbuc1 
    lda #1
    sta b
    jmp b12
    // myprintf::@12
  b12:
    // [92] if(*((const byte[6]) myprintf::buf6#0 + (byte) myprintf::b#17)!=(byte) 0) goto myprintf::@13 -- pbuc1_derefidx_vbuz1_neq_0_then_la1 
    ldy b
    lda buf6,y
    cmp #0
    bne b13
    jmp b14
    // myprintf::@14
  b14:
    // [93] if((byte) myprintf::bTrailing#10!=(byte) 0) goto myprintf::@15 -- vbuz1_neq_0_then_la1 
    lda bTrailing
    cmp #0
    bne b15_from_b14
    jmp b41
    // myprintf::@41
  b41:
    // [94] if((byte) myprintf::bDigits#14>(byte) myprintf::b#17) goto myprintf::@16 -- vbuz1_gt_vbuz2_then_la1 
    lda b
    cmp bDigits
    bcc b16_from_b41
    // [95] phi from myprintf::@41 to myprintf::@15 [phi:myprintf::@41->myprintf::@15]
  b15_from_b41:
    jmp b15
    // [95] phi from myprintf::@14 myprintf::@18 to myprintf::@15 [phi:myprintf::@14/myprintf::@18->myprintf::@15]
  b15_from_b14:
  b15_from_b18:
    // [95] phi (byte) myprintf::bDigits#16 = (byte) myprintf::bDigits#14 [phi:myprintf::@14/myprintf::@18->myprintf::@15#0] -- register_copy 
    // [95] phi (byte) myprintf::bLen#23 = (byte) myprintf::bLen#14 [phi:myprintf::@14/myprintf::@18->myprintf::@15#1] -- register_copy 
    jmp b15
    // myprintf::@15
  b15:
    // [96] phi from myprintf::@15 to myprintf::@19 [phi:myprintf::@15->myprintf::@19]
  b19_from_b15:
    // [96] phi (byte) myprintf::bLen#12 = (byte) myprintf::bLen#23 [phi:myprintf::@15->myprintf::@19#0] -- register_copy 
    // [96] phi (byte) myprintf::digit#3 = (byte) 0 [phi:myprintf::@15->myprintf::@19#1] -- vbuxx=vbuc1 
    ldx #0
    jmp b19
    // [96] phi from myprintf::@19 to myprintf::@19 [phi:myprintf::@19->myprintf::@19]
  b19_from_b19:
    // [96] phi (byte) myprintf::bLen#12 = (byte) myprintf::bLen#24 [phi:myprintf::@19->myprintf::@19#0] -- register_copy 
    // [96] phi (byte) myprintf::digit#3 = (byte) myprintf::digit#2 [phi:myprintf::@19->myprintf::@19#1] -- register_copy 
    jmp b19
    // myprintf::@19
  b19:
    // [97] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#12) ← *((const byte[6]) myprintf::buf6#0 + (byte) myprintf::digit#3) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuxx 
    lda buf6,x
    ldy bLen
    sta strTemp,y
    // [98] (byte) myprintf::bLen#24 ← ++ (byte) myprintf::bLen#12 -- vbuz1=_inc_vbuz1 
    inc bLen
    // [99] (byte) myprintf::digit#2 ← ++ (byte) myprintf::digit#3 -- vbuxx=_inc_vbuxx 
    inx
    // [100] if((byte) myprintf::digit#2<(byte) myprintf::b#17) goto myprintf::@19 -- vbuxx_lt_vbuz1_then_la1 
    cpx b
    bcc b19_from_b19
    jmp b20
    // myprintf::@20
  b20:
    // [101] if((byte) myprintf::bTrailing#10==(byte) 0) goto myprintf::@22 -- vbuz1_eq_0_then_la1 
    lda bTrailing
    cmp #0
    beq b22_from_b20
    jmp b42
    // myprintf::@42
  b42:
    // [102] if((byte) myprintf::bDigits#16<=(byte) myprintf::b#17) goto myprintf::@22 -- vbuz1_le_vbuz2_then_la1 
    lda b
    cmp bDigits
    bcs b22_from_b42
    // [103] phi from myprintf::@21 myprintf::@42 to myprintf::@21 [phi:myprintf::@21/myprintf::@42->myprintf::@21]
  b21_from_b21:
  b21_from_b42:
    // [103] phi (byte) myprintf::bDigits#8 = (byte) myprintf::bDigits#3 [phi:myprintf::@21/myprintf::@42->myprintf::@21#0] -- register_copy 
    // [103] phi (byte) myprintf::bLen#13 = (byte) myprintf::bLen#6 [phi:myprintf::@21/myprintf::@42->myprintf::@21#1] -- register_copy 
    jmp b21
    // myprintf::@21
  b21:
    // [104] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#13) ← (byte) ' ' -- pbuc1_derefidx_vbuz1=vbuc2 
    lda #' '
    ldy bLen
    sta strTemp,y
    // [105] (byte) myprintf::bLen#6 ← ++ (byte) myprintf::bLen#13 -- vbuz1=_inc_vbuz1 
    inc bLen
    // [106] (byte) myprintf::bDigits#3 ← -- (byte) myprintf::bDigits#8 -- vbuz1=_dec_vbuz1 
    dec bDigits
    // [107] if((byte) myprintf::bDigits#3>(byte) myprintf::b#17) goto myprintf::@21 -- vbuz1_gt_vbuz2_then_la1 
    lda b
    cmp bDigits
    bcc b21_from_b21
    jmp b22_from_b21
    // [108] phi from myprintf::@18 myprintf::@41 to myprintf::@16 [phi:myprintf::@18/myprintf::@41->myprintf::@16]
  b16_from_b18:
  b16_from_b41:
    // [108] phi (byte) myprintf::bDigits#10 = (byte) myprintf::bDigits#2 [phi:myprintf::@18/myprintf::@41->myprintf::@16#0] -- register_copy 
    // [108] phi (byte) myprintf::bLen#11 = (byte) myprintf::bLen#4 [phi:myprintf::@18/myprintf::@41->myprintf::@16#1] -- register_copy 
    jmp b16
    // myprintf::@16
  b16:
    // [109] if((byte) myprintf::bLeadZero#10==(byte) 0) goto myprintf::@17 -- vbuz1_eq_0_then_la1 
    lda bLeadZero
    cmp #0
    beq b17_from_b16
    // [111] phi from myprintf::@16 to myprintf::@18 [phi:myprintf::@16->myprintf::@18]
  b18_from_b16:
    // [111] phi (byte~) myprintf::$41 = (byte) '0' [phi:myprintf::@16->myprintf::@18#0] -- vbuaa=vbuc1 
    lda #'0'
    jmp b18
    // [110] phi from myprintf::@16 to myprintf::@17 [phi:myprintf::@16->myprintf::@17]
  b17_from_b16:
    jmp b17
    // myprintf::@17
  b17:
    // [111] phi from myprintf::@17 to myprintf::@18 [phi:myprintf::@17->myprintf::@18]
  b18_from_b17:
    // [111] phi (byte~) myprintf::$41 = (byte) ' ' [phi:myprintf::@17->myprintf::@18#0] -- vbuaa=vbuc1 
    lda #' '
    jmp b18
    // myprintf::@18
  b18:
    // [112] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#11) ← (byte~) myprintf::$41 -- pbuc1_derefidx_vbuz1=vbuaa 
    ldy bLen
    sta strTemp,y
    // [113] (byte) myprintf::bLen#4 ← ++ (byte) myprintf::bLen#11 -- vbuz1=_inc_vbuz1 
    inc bLen
    // [114] (byte) myprintf::bDigits#2 ← -- (byte) myprintf::bDigits#10 -- vbuz1=_dec_vbuz1 
    dec bDigits
    // [115] if((byte) myprintf::bDigits#2>(byte) myprintf::b#17) goto myprintf::@16 -- vbuz1_gt_vbuz2_then_la1 
    lda b
    cmp bDigits
    bcc b16_from_b18
    jmp b15_from_b18
    // myprintf::@13
  b13:
    // [116] (byte) myprintf::b#5 ← ++ (byte) myprintf::b#17 -- vbuz1=_inc_vbuz1 
    inc b
    // [91] phi from myprintf::@13 to myprintf::@12 [phi:myprintf::@13->myprintf::@12]
  b12_from_b13:
    // [91] phi (byte) myprintf::b#17 = (byte) myprintf::b#5 [phi:myprintf::@13->myprintf::@12#0] -- register_copy 
    jmp b12
    // myprintf::@6
  b6:
    // [117] (byte~) myprintf::$49 ← (byte)(word) myprintf::w#10 -- vbuaa=_byte_vwuz1 
    lda w
    // [118] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#14) ← (byte~) myprintf::$49 -- pbuc1_derefidx_vbuz1=vbuaa 
    // "switch" is the normal way -- not supported -- https://gitlab.com/camelot/kickc/issues/170
    ldy bLen
    sta strTemp,y
    // [119] (byte) myprintf::bLen#1 ← ++ (byte) myprintf::bLen#14 -- vbuz1=_inc_vbuz1 
    inc bLen
    jmp b22_from_b6
    // myprintf::@23
  b23:
    // [120] (byte) myprintf::bDigits#1 ← (byte) myprintf::b#1 - (byte) '0' -- vbuz1=vbuxx_minus_vbuc1 
    txa
    axs #'0'
    stx bDigits
    // [59] phi from myprintf::@23 myprintf::@32 to myprintf::@27 [phi:myprintf::@23/myprintf::@32->myprintf::@27]
  b27_from_b23:
  b27_from_b32:
    // [59] phi (byte) myprintf::bLeadZero#18 = (byte) myprintf::bLeadZero#10 [phi:myprintf::@23/myprintf::@32->myprintf::@27#0] -- register_copy 
    // [59] phi (byte) myprintf::bDigits#24 = (byte) myprintf::bDigits#1 [phi:myprintf::@23/myprintf::@32->myprintf::@27#1] -- register_copy 
    // [59] phi (byte) myprintf::bTrailing#21 = (byte) myprintf::bTrailing#10 [phi:myprintf::@23/myprintf::@32->myprintf::@27#2] -- register_copy 
    // [59] phi (word) myprintf::w#17 = (word) myprintf::w#10 [phi:myprintf::@23/myprintf::@32->myprintf::@27#3] -- register_copy 
    // [59] phi (byte) myprintf::bArg#10 = (byte) myprintf::bArg#12 [phi:myprintf::@23/myprintf::@32->myprintf::@27#4] -- register_copy 
    // [59] phi (byte) myprintf::return#0 = (byte) myprintf::bLen#14 [phi:myprintf::@23/myprintf::@32->myprintf::@27#5] -- register_copy 
    // [59] phi (byte) myprintf::bFormat#4 = (byte) myprintf::bFormat#10 [phi:myprintf::@23/myprintf::@32->myprintf::@27#6] -- register_copy 
    jmp b27
    // myprintf::@2
  b2:
    // [121] if((byte) myprintf::b#1!=(byte) '%') goto myprintf::@28 -- vbuxx_neq_vbuc1_then_la1 
    cpx #'%'
    bne b28
    jmp b34
    // myprintf::@34
  b34:
    // [122] if((byte) myprintf::bArg#12==(byte) 0) goto myprintf::@29 -- vbuz1_eq_0_then_la1 
    // default format
    //w = (bArg == 0) ? w1 : ((bArg == 1) ? w2 : w3); -- "?" is the normal way, but error "sequence does not contain all blocks" -- https://gitlab.com/camelot/kickc/issues/185 [FIXED]
    lda bArg
    cmp #0
    beq b29
    jmp b35
    // myprintf::@35
  b35:
    // [123] if((byte) myprintf::bArg#12==(byte) 1) goto myprintf::@30 -- vbuz1_eq_vbuc1_then_la1 
    lda #1
    cmp bArg
    beq b30
    jmp b36
    // myprintf::@36
  b36:
    // [124] (word~) myprintf::w#51 ← (word) myprintf::w3#7 -- vwuz1=vwuz2 
    lda w3
    sta w
    lda w3+1
    sta w+1
    // [125] phi from myprintf::@29 myprintf::@30 myprintf::@36 to myprintf::@31 [phi:myprintf::@29/myprintf::@30/myprintf::@36->myprintf::@31]
  b31_from_b29:
  b31_from_b30:
  b31_from_b36:
    // [125] phi (word) myprintf::w#21 = (word~) myprintf::w#49 [phi:myprintf::@29/myprintf::@30/myprintf::@36->myprintf::@31#0] -- register_copy 
    jmp b31
    // myprintf::@31
  b31:
    // [126] (byte) myprintf::bArg#1 ← ++ (byte) myprintf::bArg#12 -- vbuz1=_inc_vbuz1 
    inc bArg
    // [59] phi from myprintf::@31 to myprintf::@27 [phi:myprintf::@31->myprintf::@27]
  b27_from_b31:
    // [59] phi (byte) myprintf::bLeadZero#18 = (byte) 0 [phi:myprintf::@31->myprintf::@27#0] -- vbuz1=vbuc1 
    lda #0
    sta bLeadZero
    // [59] phi (byte) myprintf::bDigits#24 = (byte) 1 [phi:myprintf::@31->myprintf::@27#1] -- vbuz1=vbuc1 
    lda #1
    sta bDigits
    // [59] phi (byte) myprintf::bTrailing#21 = (byte) 0 [phi:myprintf::@31->myprintf::@27#2] -- vbuz1=vbuc1 
    lda #0
    sta bTrailing
    // [59] phi (word) myprintf::w#17 = (word) myprintf::w#21 [phi:myprintf::@31->myprintf::@27#3] -- register_copy 
    // [59] phi (byte) myprintf::bArg#10 = (byte) myprintf::bArg#1 [phi:myprintf::@31->myprintf::@27#4] -- register_copy 
    // [59] phi (byte) myprintf::return#0 = (byte) myprintf::bLen#14 [phi:myprintf::@31->myprintf::@27#5] -- register_copy 
    // [59] phi (byte) myprintf::bFormat#4 = (byte) 1 [phi:myprintf::@31->myprintf::@27#6] -- vbuz1=vbuc1 
    lda #1
    sta bFormat
    jmp b27
    // myprintf::@30
  b30:
    // [127] (word~) myprintf::w#50 ← (word) myprintf::w2#7 -- vwuz1=vwuz2 
    lda w2
    sta w
    lda w2+1
    sta w+1
    jmp b31_from_b30
    // myprintf::@29
  b29:
    // [128] (word~) myprintf::w#49 ← (word) myprintf::w1#6 -- vwuz1=vwuz2 
    lda w1
    sta w
    lda w1+1
    sta w+1
    jmp b31_from_b29
    // myprintf::@28
  b28:
    // [129] if((byte) myprintf::b#1<(byte) $41) goto myprintf::@32 -- vbuxx_lt_vbuc1_then_la1 
    cpx #$41
    bcc b32_from_b28
    jmp b43
    // myprintf::@43
  b43:
    // [130] if((byte) myprintf::b#1>=(byte) $5a+(byte) 1) goto myprintf::@32 -- vbuxx_ge_vbuc1_then_la1 
    cpx #$5a+1
    bcs b32_from_b43
    jmp b37
    // myprintf::@37
  b37:
    // [131] (byte) myprintf::b#6 ← (byte) myprintf::b#1 + (byte) $20 -- vbuxx=vbuxx_plus_vbuc1 
    txa
    axs #-[$20]
    // [132] phi from myprintf::@28 myprintf::@37 to myprintf::@32 [phi:myprintf::@28/myprintf::@37->myprintf::@32]
  b32_from_b28:
  b32_from_b37:
    // [132] phi (byte) myprintf::b#25 = (byte) myprintf::b#1 [phi:myprintf::@28/myprintf::@37->myprintf::@32#0] -- register_copy 
    jmp b32
    // [132] phi from myprintf::@43 to myprintf::@32 [phi:myprintf::@43->myprintf::@32]
  b32_from_b43:
    jmp b32
    // myprintf::@32
  b32:
    // [133] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#14) ← (byte) myprintf::b#25 -- pbuc1_derefidx_vbuz1=vbuxx 
    // swap 0x41 / 0x61 when in lower case mode
    ldy bLen
    txa
    sta strTemp,y
    // [134] (byte) myprintf::bLen#7 ← ++ (byte) myprintf::bLen#14 -- vbuz1=_inc_vbuz1 
    inc bLen
    jmp b27_from_b32
    buf6: .fill 6, 0
}
  // utoa
// utoa(word zeropage($13) value, byte* zeropage($15) dst)
utoa: {
    .label value = $13
    .label dst = $15
    jmp b13
    // utoa::@13
  b13:
    // [136] if((word) utoa::value#4>=(word) $2710) goto utoa::@5 -- vwuz1_ge_vwuc1_then_la1 
    lda value+1
    cmp #>$2710
    bcc !+
    bne b5
    lda value
    cmp #<$2710
    bcs b5
  !:
    // [137] phi from utoa::@13 to utoa::@1 [phi:utoa::@13->utoa::@1]
  b1_from_b13:
    // [137] phi (byte*) utoa::dst#16 = (const byte[6]) myprintf::buf6#0 [phi:utoa::@13->utoa::@1#0] -- pbuz1=pbuc1 
    lda #<myprintf.buf6
    sta dst
    lda #>myprintf.buf6
    sta dst+1
    // [137] phi (word) utoa::value#6 = (word) utoa::value#4 [phi:utoa::@13->utoa::@1#1] -- register_copy 
    // [137] phi (byte) utoa::bStarted#5 = (byte) 0 [phi:utoa::@13->utoa::@1#2] -- vbuxx=vbuc1 
    ldx #0
    jmp b1
    // utoa::@1
  b1:
    // [138] if((byte) utoa::bStarted#5==(byte) 1) goto utoa::@6 -- vbuxx_eq_vbuc1_then_la1 
    cpx #1
    beq b6
    jmp b14
    // utoa::@14
  b14:
    // [139] if((word) utoa::value#6>=(word) $3e8) goto utoa::@6 -- vwuz1_ge_vwuc1_then_la1 
    lda value+1
    cmp #>$3e8
    bcc !+
    bne b6
    lda value
    cmp #<$3e8
    bcs b6
  !:
    // [140] phi from utoa::@14 to utoa::@2 [phi:utoa::@14->utoa::@2]
  b2_from_b14:
    // [140] phi (byte*) utoa::dst#10 = (byte*) utoa::dst#16 [phi:utoa::@14->utoa::@2#0] -- register_copy 
    // [140] phi (word) utoa::value#11 = (word) utoa::value#6 [phi:utoa::@14->utoa::@2#1] -- register_copy 
    // [140] phi (byte) utoa::bStarted#6 = (byte) utoa::bStarted#5 [phi:utoa::@14->utoa::@2#2] -- register_copy 
    jmp b2
    // utoa::@2
  b2:
    // [141] if((byte) utoa::bStarted#6==(byte) 1) goto utoa::@7 -- vbuxx_eq_vbuc1_then_la1 
    cpx #1
    beq b7
    jmp b15
    // utoa::@15
  b15:
    // [142] if((word) utoa::value#11>=(byte) $64) goto utoa::@7 -- vwuz1_ge_vwuc1_then_la1 
    lda value+1
    cmp #>$64
    bcc !+
    bne b7
    lda value
    cmp #<$64
    bcs b7
  !:
    // [143] phi from utoa::@15 to utoa::@3 [phi:utoa::@15->utoa::@3]
  b3_from_b15:
    // [143] phi (byte*) utoa::dst#13 = (byte*) utoa::dst#10 [phi:utoa::@15->utoa::@3#0] -- register_copy 
    // [143] phi (word) utoa::value#10 = (word) utoa::value#11 [phi:utoa::@15->utoa::@3#1] -- register_copy 
    // [143] phi (byte) utoa::bStarted#7 = (byte) utoa::bStarted#6 [phi:utoa::@15->utoa::@3#2] -- register_copy 
    jmp b3
    // utoa::@3
  b3:
    // [144] if((byte) utoa::bStarted#7==(byte) 1) goto utoa::@8 -- vbuxx_eq_vbuc1_then_la1 
    cpx #1
    beq b8
    jmp b16
    // utoa::@16
  b16:
    // [145] if((word) utoa::value#10>=(byte) $a) goto utoa::@8 -- vwuz1_ge_vwuc1_then_la1 
    lda value+1
    cmp #>$a
    bcc !+
    bne b8
    lda value
    cmp #<$a
    bcs b8
  !:
    // [146] phi from utoa::@12 utoa::@16 to utoa::@4 [phi:utoa::@12/utoa::@16->utoa::@4]
  b4_from_b12:
  b4_from_b16:
    // [146] phi (byte*) utoa::dst#12 = (byte*) utoa::dst#4 [phi:utoa::@12/utoa::@16->utoa::@4#0] -- register_copy 
    // [146] phi (word) utoa::value#12 = (word) utoa::value#3 [phi:utoa::@12/utoa::@16->utoa::@4#1] -- register_copy 
    jmp b4
    // utoa::@4
  b4:
    // [147] (byte~) utoa::$16 ← (byte)(word) utoa::value#12 -- vbuaa=_byte_vwuz1 
    lda value
    // [148] (byte~) utoa::$17 ← (byte) '0' + (byte~) utoa::$16 -- vbuaa=vbuc1_plus_vbuaa 
    clc
    adc #'0'
    // [149] *((byte*) utoa::dst#12) ← (byte~) utoa::$17 -- _deref_pbuz1=vbuaa 
    ldy #0
    sta (dst),y
    // [150] (byte*) utoa::dst#3 ← ++ (byte*) utoa::dst#12 -- pbuz1=_inc_pbuz1 
    inc dst
    bne !+
    inc dst+1
  !:
    // [151] *((byte*) utoa::dst#3) ← (byte) 0 -- _deref_pbuz1=vbuc1 
    lda #0
    ldy #0
    sta (dst),y
    jmp breturn
    // utoa::@return
  breturn:
    // [152] return 
    rts
    // utoa::@8
  b8:
    // [153] (byte*) append::dst#3 ← (byte*) utoa::dst#13
    // [154] (word) append::value#4 ← (word) utoa::value#10
    // [155] call append 
    // [175] phi from utoa::@8 to append [phi:utoa::@8->append]
  append_from_b8:
    // [175] phi (word) append::sub#6 = (byte) $a [phi:utoa::@8->append#0] -- vwuz1=vbuc1 
    lda #<$a
    sta append.sub
    lda #>$a
    sta append.sub+1
    // [175] phi (word) append::value#8 = (word) append::value#4 [phi:utoa::@8->append#1] -- register_copy 
    // [175] phi (byte*) append::dst#4 = (byte*) append::dst#3 [phi:utoa::@8->append#2] -- register_copy 
    jsr append
    // [156] (word) append::return#10 ← (word) append::value#5
    jmp b12
    // utoa::@12
  b12:
    // [157] (word) utoa::value#3 ← (word) append::return#10
    // [158] (byte*) utoa::dst#4 ← ++ (byte*) utoa::dst#13 -- pbuz1=_inc_pbuz1 
    inc dst
    bne !+
    inc dst+1
  !:
    jmp b4_from_b12
    // utoa::@7
  b7:
    // [159] (byte*) append::dst#2 ← (byte*) utoa::dst#10
    // [160] (word) append::value#3 ← (word) utoa::value#11
    // [161] call append 
    // [175] phi from utoa::@7 to append [phi:utoa::@7->append]
  append_from_b7:
    // [175] phi (word) append::sub#6 = (byte) $64 [phi:utoa::@7->append#0] -- vwuz1=vbuc1 
    lda #<$64
    sta append.sub
    lda #>$64
    sta append.sub+1
    // [175] phi (word) append::value#8 = (word) append::value#3 [phi:utoa::@7->append#1] -- register_copy 
    // [175] phi (byte*) append::dst#4 = (byte*) append::dst#2 [phi:utoa::@7->append#2] -- register_copy 
    jsr append
    // [162] (word) append::return#4 ← (word) append::value#5
    jmp b11
    // utoa::@11
  b11:
    // [163] (word) utoa::value#2 ← (word) append::return#4
    // [164] (byte*) utoa::dst#2 ← ++ (byte*) utoa::dst#10 -- pbuz1=_inc_pbuz1 
    inc dst
    bne !+
    inc dst+1
  !:
    // [143] phi from utoa::@11 to utoa::@3 [phi:utoa::@11->utoa::@3]
  b3_from_b11:
    // [143] phi (byte*) utoa::dst#13 = (byte*) utoa::dst#2 [phi:utoa::@11->utoa::@3#0] -- register_copy 
    // [143] phi (word) utoa::value#10 = (word) utoa::value#2 [phi:utoa::@11->utoa::@3#1] -- register_copy 
    // [143] phi (byte) utoa::bStarted#7 = (byte) 1 [phi:utoa::@11->utoa::@3#2] -- vbuxx=vbuc1 
    ldx #1
    jmp b3
    // utoa::@6
  b6:
    // [165] (byte*) append::dst#1 ← (byte*) utoa::dst#16
    // [166] (word) append::value#2 ← (word) utoa::value#6
    // [167] call append 
    // [175] phi from utoa::@6 to append [phi:utoa::@6->append]
  append_from_b6:
    // [175] phi (word) append::sub#6 = (word) $3e8 [phi:utoa::@6->append#0] -- vwuz1=vwuc1 
    lda #<$3e8
    sta append.sub
    lda #>$3e8
    sta append.sub+1
    // [175] phi (word) append::value#8 = (word) append::value#2 [phi:utoa::@6->append#1] -- register_copy 
    // [175] phi (byte*) append::dst#4 = (byte*) append::dst#1 [phi:utoa::@6->append#2] -- register_copy 
    jsr append
    // [168] (word) append::return#3 ← (word) append::value#5
    jmp b10
    // utoa::@10
  b10:
    // [169] (word) utoa::value#1 ← (word) append::return#3
    // [170] (byte*) utoa::dst#1 ← ++ (byte*) utoa::dst#16 -- pbuz1=_inc_pbuz1 
    inc dst
    bne !+
    inc dst+1
  !:
    // [140] phi from utoa::@10 to utoa::@2 [phi:utoa::@10->utoa::@2]
  b2_from_b10:
    // [140] phi (byte*) utoa::dst#10 = (byte*) utoa::dst#1 [phi:utoa::@10->utoa::@2#0] -- register_copy 
    // [140] phi (word) utoa::value#11 = (word) utoa::value#1 [phi:utoa::@10->utoa::@2#1] -- register_copy 
    // [140] phi (byte) utoa::bStarted#6 = (byte) 1 [phi:utoa::@10->utoa::@2#2] -- vbuxx=vbuc1 
    ldx #1
    jmp b2
    // utoa::@5
  b5:
    // [171] (word) append::value#1 ← (word) utoa::value#4
    // [172] call append 
    // [175] phi from utoa::@5 to append [phi:utoa::@5->append]
  append_from_b5:
    // [175] phi (word) append::sub#6 = (word) $2710 [phi:utoa::@5->append#0] -- vwuz1=vwuc1 
    lda #<$2710
    sta append.sub
    lda #>$2710
    sta append.sub+1
    // [175] phi (word) append::value#8 = (word) append::value#1 [phi:utoa::@5->append#1] -- register_copy 
    // [175] phi (byte*) append::dst#4 = (const byte[6]) myprintf::buf6#0 [phi:utoa::@5->append#2] -- pbuz1=pbuc1 
    lda #<myprintf.buf6
    sta append.dst
    lda #>myprintf.buf6
    sta append.dst+1
    jsr append
    // [173] (word) append::return#2 ← (word) append::value#5
    jmp b9
    // utoa::@9
  b9:
    // [174] (word) utoa::value#0 ← (word) append::return#2
    // [137] phi from utoa::@9 to utoa::@1 [phi:utoa::@9->utoa::@1]
  b1_from_b9:
    // [137] phi (byte*) utoa::dst#16 = ++(const byte[6]) myprintf::buf6#0 [phi:utoa::@9->utoa::@1#0] -- pbuz1=pbuc1 
    lda #<myprintf.buf6+1
    sta dst
    lda #>myprintf.buf6+1
    sta dst+1
    // [137] phi (word) utoa::value#6 = (word) utoa::value#0 [phi:utoa::@9->utoa::@1#1] -- register_copy 
    // [137] phi (byte) utoa::bStarted#5 = (byte) 1 [phi:utoa::@9->utoa::@1#2] -- vbuxx=vbuc1 
    ldx #1
    jmp b1
}
  // append
// simple 'utoa' without using multiply or divide
// append(byte* zeropage($15) dst, word zeropage($13) value, word zeropage($17) sub)
append: {
    .label value = $13
    .label return = $13
    .label dst = $15
    .label sub = $17
    // [176] *((byte*) append::dst#4) ← (byte) '0' -- _deref_pbuz1=vbuc1 
    lda #'0'
    ldy #0
    sta (dst),y
    // [177] phi from append append::@2 to append::@1 [phi:append/append::@2->append::@1]
  b1_from_append:
  b1_from_b2:
    // [177] phi (word) append::value#5 = (word) append::value#8 [phi:append/append::@2->append::@1#0] -- register_copy 
    jmp b1
    // append::@1
  b1:
    // [178] if((word) append::value#5>=(word) append::sub#6) goto append::@2 -- vwuz1_ge_vwuz2_then_la1 
    lda sub+1
    cmp value+1
    bne !+
    lda sub
    cmp value
    beq b2
  !:
    bcc b2
    jmp breturn
    // append::@return
  breturn:
    // [179] return 
    rts
    // append::@2
  b2:
    // [180] *((byte*) append::dst#4) ← ++ *((byte*) append::dst#4) -- _deref_pbuz1=_inc__deref_pbuz1 
    ldy #0
    lda (dst),y
    clc
    adc #1
    ldy #0
    sta (dst),y
    // [181] (word) append::value#0 ← (word) append::value#5 - (word) append::sub#6 -- vwuz1=vwuz1_minus_vwuz2 
    lda value
    sec
    sbc sub
    sta value
    lda value+1
    sbc sub+1
    sta value+1
    jmp b1_from_b2
}
  // div10
// div10(word zeropage($21) val)
div10: {
    .label _0 = $21
    .label _2 = $23
    .label _3 = $25
    .label _4 = 4
    .label val = $21
    .label val_1 = $23
    .label val_2 = $25
    .label val_3 = 4
    .label return = 4
    .label val_4 = 2
    // [182] (word~) div10::$0 ← (word) div10::val#4 >> (byte) 1 -- vwuz1=vwuz2_ror_1 
    lda val_4+1
    lsr
    sta _0+1
    lda val_4
    ror
    sta _0
    // [183] (word) div10::val#0 ← (word~) div10::$0 + (byte) 1 -- vwuz1=vwuz1_plus_1 
    inc val
    bne !+
    inc val+1
  !:
    // [184] (word~) div10::$2 ← (word) div10::val#0 << (byte) 1 -- vwuz1=vwuz2_rol_1 
    lda val
    asl
    sta _2
    lda val+1
    rol
    sta _2+1
    // [185] (word) div10::val#1 ← (word) div10::val#0 + (word~) div10::$2 -- vwuz1=vwuz2_plus_vwuz1 
    lda val_1
    clc
    adc val
    sta val_1
    lda val_1+1
    adc val+1
    sta val_1+1
    // [186] (word~) div10::$3 ← (word) div10::val#1 >> (byte) 4 -- vwuz1=vwuz2_ror_4 
    lda val_1+1
    lsr
    sta _3+1
    lda val_1
    ror
    sta _3
    lsr _3+1
    ror _3
    lsr _3+1
    ror _3
    lsr _3+1
    ror _3
    // [187] (word) div10::val#2 ← (word) div10::val#1 + (word~) div10::$3 -- vwuz1=vwuz2_plus_vwuz1 
    lda val_2
    clc
    adc val_1
    sta val_2
    lda val_2+1
    adc val_1+1
    sta val_2+1
    // [188] (word~) div10::$4 ← (word) div10::val#2 >> (byte) 8 -- vwuz1=vwuz2_ror_8 
    lda val_2+1
    sta _4
    lda #0
    sta _4+1
    // [189] (word) div10::val#3 ← (word) div10::val#2 + (word~) div10::$4 -- vwuz1=vwuz2_plus_vwuz1 
    lda val_3
    clc
    adc val_2
    sta val_3
    lda val_3+1
    adc val_2+1
    sta val_3+1
    // [190] (word) div10::return#0 ← (word) div10::val#3 >> (byte) 4 -- vwuz1=vwuz1_ror_4 
    lsr return+1
    ror return
    lsr return+1
    ror return
    lsr return+1
    ror return
    lsr return+1
    ror return
    jmp breturn
    // div10::@return
  breturn:
    // [191] return 
    rts
}
  // div16u
// Performs division on two 16 bit unsigned words
// Returns the quotient dividend/divisor.
// The remainder will be set into the global variable rem16u
// Implemented using simple binary division
// div16u(word zeropage(2) dividend)
div16u: {
    .label divisor = $a
    .label return = 4
    .label dividend = 2
    // [192] (word) divr16u::dividend#1 ← (word) div16u::dividend#0 -- vwuz1=vwuz2 
    lda dividend
    sta divr16u.dividend
    lda dividend+1
    sta divr16u.dividend+1
    // [193] call divr16u 
    // [197] phi from div16u to divr16u [phi:div16u->divr16u]
  divr16u_from_div16u:
    jsr divr16u
    // [194] (word) divr16u::return#2 ← (word) divr16u::return#0
    jmp b1
    // div16u::@1
  b1:
    // [195] (word) div16u::return#0 ← (word) divr16u::return#2
    jmp breturn
    // div16u::@return
  breturn:
    // [196] return 
    rts
}
  // divr16u
// Performs division on two 16 bit unsigned words and an initial remainder
// Returns the quotient dividend/divisor.
// The final remainder will be set into the global variable rem16u
// Implemented using simple binary division
// divr16u(word zeropage($1b) dividend, word zeropage($19) rem)
divr16u: {
    .label rem = $19
    .label dividend = $1b
    .label quotient = 4
    .label return = 4
    // [198] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1]
  b1_from_divr16u:
    // [198] phi (byte) divr16u::i#2 = (byte) 0 [phi:divr16u->divr16u::@1#0] -- vbuxx=vbuc1 
    ldx #0
    // [198] phi (word) divr16u::quotient#3 = (byte) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 
    lda #<0
    sta quotient
    lda #>0
    sta quotient+1
    // [198] phi (word) divr16u::dividend#2 = (word) divr16u::dividend#1 [phi:divr16u->divr16u::@1#2] -- register_copy 
    // [198] phi (word) divr16u::rem#4 = (byte) 0 [phi:divr16u->divr16u::@1#3] -- vwuz1=vbuc1 
    lda #<0
    sta rem
    lda #>0
    sta rem+1
    jmp b1
    // [198] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1]
  b1_from_b3:
    // [198] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy 
    // [198] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy 
    // [198] phi (word) divr16u::dividend#2 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy 
    // [198] phi (word) divr16u::rem#4 = (word) divr16u::rem#9 [phi:divr16u::@3->divr16u::@1#3] -- register_copy 
    jmp b1
    // divr16u::@1
  b1:
    // [199] (word) divr16u::rem#0 ← (word) divr16u::rem#4 << (byte) 1 -- vwuz1=vwuz1_rol_1 
    asl rem
    rol rem+1
    // [200] (byte~) divr16u::$1 ← > (word) divr16u::dividend#2 -- vbuaa=_hi_vwuz1 
    lda dividend+1
    // [201] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte) $80 -- vbuaa=vbuaa_band_vbuc1 
    and #$80
    // [202] if((byte~) divr16u::$2==(byte) 0) goto divr16u::@2 -- vbuaa_eq_0_then_la1 
    cmp #0
    beq b2_from_b1
    jmp b4
    // divr16u::@4
  b4:
    // [203] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte) 1 -- vwuz1=vwuz1_bor_vbuc1 
    lda #1
    ora rem
    sta rem
    // [204] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2]
  b2_from_b1:
  b2_from_b4:
    // [204] phi (word) divr16u::rem#5 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy 
    jmp b2
    // divr16u::@2
  b2:
    // [205] (word) divr16u::dividend#0 ← (word) divr16u::dividend#2 << (byte) 1 -- vwuz1=vwuz1_rol_1 
    asl dividend
    rol dividend+1
    // [206] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte) 1 -- vwuz1=vwuz1_rol_1 
    asl quotient
    rol quotient+1
    // [207] if((word) divr16u::rem#5<(const word) div16u::divisor#0) goto divr16u::@3 -- vwuz1_lt_vwuc1_then_la1 
    lda rem+1
    cmp #>div16u.divisor
    bcc b3_from_b2
    bne !+
    lda rem
    cmp #<div16u.divisor
    bcc b3_from_b2
  !:
    jmp b5
    // divr16u::@5
  b5:
    // [208] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 -- vwuz1=_inc_vwuz1 
    inc quotient
    bne !+
    inc quotient+1
  !:
    // [209] (word) divr16u::rem#2 ← (word) divr16u::rem#5 - (const word) div16u::divisor#0 -- vwuz1=vwuz1_minus_vwuc1 
    lda rem
    sec
    sbc #<div16u.divisor
    sta rem
    lda rem+1
    sbc #>div16u.divisor
    sta rem+1
    // [210] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3]
  b3_from_b2:
  b3_from_b5:
    // [210] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy 
    // [210] phi (word) divr16u::rem#9 = (word) divr16u::rem#5 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy 
    jmp b3
    // divr16u::@3
  b3:
    // [211] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 -- vbuxx=_inc_vbuxx 
    inx
    // [212] if((byte) divr16u::i#1!=(byte) $10) goto divr16u::@1 -- vbuxx_neq_vbuc1_then_la1 
    cpx #$10
    bne b1_from_b3
    jmp breturn
    // divr16u::@return
  breturn:
    // [213] return 
    rts
}
  // File Data
  // "char buf16[16]" is the normal way -- not supported -- https://gitlab.com/camelot/kickc/issues/162
  strTemp: .fill $64, 0

ASSEMBLER OPTIMIZATIONS
Removing instruction jmp b1
Removing instruction jmp bend
Removing instruction jmp b1
Removing instruction jmp b2
Removing instruction jmp b8
Removing instruction jmp b3
Removing instruction jmp b9
Removing instruction jmp b10
Removing instruction jmp b4
Removing instruction jmp b5
Removing instruction jmp b6
Removing instruction jmp b11
Removing instruction jmp b7
Removing instruction jmp b12
Removing instruction jmp b13
Removing instruction jmp breturn
Removing instruction jmp breturn
Removing instruction jmp b1
Removing instruction jmp b33
Removing instruction jmp b27
Removing instruction jmp b38
Removing instruction jmp breturn
Removing instruction jmp b39
Removing instruction jmp b4
Removing instruction jmp b24
Removing instruction jmp b25
Removing instruction jmp b40
Removing instruction jmp b22
Removing instruction jmp b8
Removing instruction jmp b9
Removing instruction jmp b10
Removing instruction jmp b11
Removing instruction jmp b12
Removing instruction jmp b14
Removing instruction jmp b41
Removing instruction jmp b15
Removing instruction jmp b19
Removing instruction jmp b20
Removing instruction jmp b42
Removing instruction jmp b21
Removing instruction jmp b16
Removing instruction jmp b17
Removing instruction jmp b18
Removing instruction jmp b34
Removing instruction jmp b35
Removing instruction jmp b36
Removing instruction jmp b31
Removing instruction jmp b43
Removing instruction jmp b37
Removing instruction jmp b32
Removing instruction jmp b13
Removing instruction jmp b1
Removing instruction jmp b14
Removing instruction jmp b2
Removing instruction jmp b15
Removing instruction jmp b3
Removing instruction jmp b16
Removing instruction jmp b4
Removing instruction jmp breturn
Removing instruction jmp b12
Removing instruction jmp b11
Removing instruction jmp b10
Removing instruction jmp b9
Removing instruction jmp b1
Removing instruction jmp breturn
Removing instruction jmp breturn
Removing instruction jmp b1
Removing instruction jmp breturn
Removing instruction jmp b1
Removing instruction jmp b4
Removing instruction jmp b2
Removing instruction jmp b5
Removing instruction jmp b3
Removing instruction jmp breturn
Succesful ASM optimization Pass5NextJumpElimination
Removing instruction lda #0
Removing instruction lda #0
Removing instruction lda #0
Removing instruction lda #0
Removing instruction lda #0
Removing instruction lda #0
Removing instruction lda #<0
Removing instruction lda #>0
Removing instruction lda #0
Removing instruction lda #0
Removing instruction lda #0
Removing instruction ldy bLen
Replacing instruction ldy #0 with TAY
Removing instruction ldy #0
Removing instruction lda val_1+1
Removing instruction lda val_2+1
Replacing instruction lda #<0 with TXA
Removing instruction lda #>0
Removing instruction lda #<0
Removing instruction lda #>0
Succesful ASM optimization Pass5UnnecesaryLoadElimination
Replacing label b1_from_b10 with b1
Replacing label b5_from_b13 with b5
Replacing label b1_from_b27 with b1
Replacing label b8_from_b26 with b8
Replacing label b10_from_b9 with b10
Replacing label b22_from_b11 with b22_from_b6
Replacing label b15_from_b14 with b15
Replacing label b16_from_b41 with b16
Replacing label b19_from_b19 with b19
Replacing label b22_from_b20 with b22_from_b6
Replacing label b22_from_b42 with b22
Replacing label b21_from_b21 with b21
Replacing label b22_from_b21 with b22_from_b6
Replacing label b17_from_b16 with b17
Replacing label b16_from_b18 with b16
Replacing label b15_from_b18 with b15
Replacing label b31_from_b30 with b31
Replacing label b31_from_b29 with b31
Replacing label b32_from_b28 with b32_from_b37
Replacing label b32_from_b43 with b32
Replacing label b4_from_b12 with b4
Replacing label b1_from_b2 with b1
Replacing label b2_from_b1 with b2
Replacing label b3_from_b2 with b3
Replacing label b3_from_b2 with b3
Replacing label b1_from_b3 with b1
Removing instruction b1_from_bbegin:
Removing instruction b1:
Removing instruction bend_from_b1:
Removing instruction b1_from_b10:
Removing instruction b9_from_b3:
Removing instruction b5_from_b13:
Removing instruction b12_from_b7:
Removing instruction breturn:
Removing instruction b1_from_b27:
Removing instruction b22_from_b11:
Removing instruction b22_from_b20:
Removing instruction b22_from_b21:
Removing instruction b22_from_b40:
Removing instruction b22_from_b42:
Removing instruction b27_from_b22:
Removing instruction b8_from_b26:
Removing instruction b9_from_b8:
Removing instruction b10_from_b9:
Removing instruction b11_from_b10:
Removing instruction b15_from_b14:
Removing instruction b15_from_b18:
Removing instruction b19_from_b15:
Removing instruction b19_from_b19:
Removing instruction b21_from_b21:
Removing instruction b21_from_b42:
Removing instruction b16_from_b18:
Removing instruction b16_from_b41:
Removing instruction b17_from_b16:
Removing instruction b18_from_b17:
Removing instruction b27_from_b23:
Removing instruction b31_from_b29:
Removing instruction b31_from_b30:
Removing instruction b31_from_b36:
Removing instruction b32_from_b28:
Removing instruction b32_from_b43:
Removing instruction b2_from_b14:
Removing instruction b3_from_b15:
Removing instruction b4_from_b12:
Removing instruction b4_from_b16:
Removing instruction append_from_b8:
Removing instruction append_from_b7:
Removing instruction append_from_b6:
Removing instruction append_from_b5:
Removing instruction b1_from_b9:
Removing instruction b1_from_append:
Removing instruction b1_from_b2:
Removing instruction breturn:
Removing instruction b1_from_b3:
Removing instruction b2_from_b1:
Removing instruction b2_from_b4:
Removing instruction b3_from_b2:
Removing instruction b3_from_b5:
Succesful ASM optimization Pass5RedundantLabelElimination
Removing instruction bend:
Removing instruction b1_from_main:
Removing instruction b8:
Removing instruction b3:
Removing instruction myprintf_from_b3:
Removing instruction b9:
Removing instruction b10:
Removing instruction b4:
Removing instruction b5_from_b4:
Removing instruction b11:
Removing instruction b7:
Removing instruction myprintf_from_b7:
Removing instruction b12:
Removing instruction b13:
Removing instruction breturn:
Removing instruction b1_from_myprintf:
Removing instruction b33:
Removing instruction b27_from_b33:
Removing instruction b38:
Removing instruction breturn:
Removing instruction b39:
Removing instruction b27_from_b4:
Removing instruction b24:
Removing instruction b25:
Removing instruction b40:
Removing instruction b9_from_b26:
Removing instruction b11_from_b9:
Removing instruction utoa_from_b7:
Removing instruction b12_from_b7:
Removing instruction b14:
Removing instruction b41:
Removing instruction b15_from_b41:
Removing instruction b20:
Removing instruction b42:
Removing instruction b18_from_b16:
Removing instruction b12_from_b13:
Removing instruction b34:
Removing instruction b35:
Removing instruction b36:
Removing instruction b27_from_b31:
Removing instruction b43:
Removing instruction b37:
Removing instruction b13:
Removing instruction b1_from_b13:
Removing instruction b14:
Removing instruction b15:
Removing instruction b16:
Removing instruction breturn:
Removing instruction b12:
Removing instruction b11:
Removing instruction b3_from_b11:
Removing instruction b10:
Removing instruction b2_from_b10:
Removing instruction b9:
Removing instruction breturn:
Removing instruction breturn:
Removing instruction divr16u_from_div16u:
Removing instruction b1:
Removing instruction b1_from_divr16u:
Removing instruction b4:
Removing instruction b5:
Removing instruction breturn:
Succesful ASM optimization Pass5UnusedLabelElimination
Updating BasicUpstart to call main directly
Removing instruction jsr main
Succesful ASM optimization Pass5SkipBegin
Skipping double jump to b22 in jmp b22_from_b6
Skipping double jump to b22 in beq b22_from_b6
Skipping double jump to b22 in jmp b22_from_b6
Skipping double jump to b22 in jmp b22_from_b6
Skipping double jump to b32 in bcc b32_from_b37
Skipping double jump to b27 in jmp b27_from_b32
Succesful ASM optimization Pass5DoubleJumpElimination
Relabelling long label b22_from_b6 to b14
Relabelling long label b27_from_b32 to b20
Relabelling long label b32_from_b37 to b24
Succesful ASM optimization Pass5RelabelLongLabels
Removing instruction jmp b1
Removing instruction jmp b5
Removing instruction jmp b1
Removing instruction jmp b22
Removing instruction jmp b15
Removing instruction jmp b19
Removing instruction jmp b32
Removing instruction jmp b1
Succesful ASM optimization Pass5NextJumpElimination
Replacing instruction lda #0 with TYA
Replacing instruction lda b with TYA
Removing instruction b14:
Removing instruction b24:
Succesful ASM optimization Pass5RedundantLabelElimination
Removing instruction bbegin:
Removing instruction b20:
Succesful ASM optimization Pass5UnusedLabelElimination
Fixing long branch [284] beq b22 to bne
Fixing long branch [289] bcs b22 to bcc
Fixing long branch [172] beq b2 to bne
Fixing long branch [196] bcc b23 to bcs
Fixing long branch [199] beq b23 to bne
Fixing long branch [210] beq b6 to bne
Fixing long branch [403] bne b5 to beq
Fixing long branch [408] bcs b5 to bcc

FINAL SYMBOL TABLE
(label) @1
(label) @begin
(label) @end
(void()) Print()
(label) Print::@return
(byte*) TIMEHI
(const byte*) TIMEHI#0 TIMEHI = (byte*) 161
(byte*) TIMELO
(const byte*) TIMELO#0 TIMELO = (byte*) 162
(byte*) VICBANK
(const byte*) VICBANK#0 VICBANK = (byte*) 53272
(word()) append((byte*) append::dst , (word) append::value , (word) append::sub)
(label) append::@1
(label) append::@2
(label) append::@return
(byte*) append::dst
(byte*) append::dst#1 dst zp ZP_WORD:21 2.0
(byte*) append::dst#2 dst zp ZP_WORD:21 2.0
(byte*) append::dst#3 dst zp ZP_WORD:21 2.0
(byte*) append::dst#4 dst zp ZP_WORD:21 335.0
(word) append::return
(word) append::return#10 return zp ZP_WORD:19 4.0
(word) append::return#2 return zp ZP_WORD:19 4.0
(word) append::return#3 return zp ZP_WORD:19 4.0
(word) append::return#4 return zp ZP_WORD:19 4.0
(word) append::sub
(word) append::sub#6 sub zp ZP_WORD:23 333.6666666666667
(word) append::value
(word) append::value#0 value zp ZP_WORD:19 2002.0
(word) append::value#1 value zp ZP_WORD:19 4.0
(word) append::value#2 value zp ZP_WORD:19 4.0
(word) append::value#3 value zp ZP_WORD:19 4.0
(word) append::value#4 value zp ZP_WORD:19 4.0
(word) append::value#5 value zp ZP_WORD:19 376.625
(word) append::value#8 value zp ZP_WORD:19 5.0
(word()) div10((word) div10::val)
(word~) div10::$0 $0 zp ZP_WORD:33 4.0
(word~) div10::$2 $2 zp ZP_WORD:35 4.0
(word~) div10::$3 $3 zp ZP_WORD:37 4.0
(word~) div10::$4 $4 zp ZP_WORD:4 4.0
(label) div10::@return
(word) div10::return
(word) div10::return#0 return zp ZP_WORD:4 34.33333333333333
(word) div10::return#2 return zp ZP_WORD:4 202.0
(word) div10::val
(word) div10::val#0 val zp ZP_WORD:33 3.0
(word) div10::val#1 val#1 zp ZP_WORD:35 3.0
(word) div10::val#2 val#2 zp ZP_WORD:37 3.0
(word) div10::val#3 val#3 zp ZP_WORD:4 4.0
(word) div10::val#4 val#4 zp ZP_WORD:2 103.0
(word()) div16u((word) div16u::dividend , (word) div16u::divisor)
(label) div16u::@1
(label) div16u::@return
(word) div16u::dividend
(word) div16u::dividend#0 dividend zp ZP_WORD:2 103.0
(word) div16u::divisor
(const word) div16u::divisor#0 divisor = (byte) $a
(word) div16u::return
(word) div16u::return#0 return zp ZP_WORD:4 34.33333333333333
(word) div16u::return#2 return zp ZP_WORD:4 202.0
(word()) divr16u((word) divr16u::dividend , (word) divr16u::divisor , (word) divr16u::rem)
(byte~) divr16u::$1 reg byte a 2002.0
(byte~) divr16u::$2 reg byte a 2002.0
(label) divr16u::@1
(label) divr16u::@2
(label) divr16u::@3
(label) divr16u::@4
(label) divr16u::@5
(label) divr16u::@return
(word) divr16u::dividend
(word) divr16u::dividend#0 dividend zp ZP_WORD:27 250.25
(word) divr16u::dividend#1 dividend zp ZP_WORD:27 2.0
(word) divr16u::dividend#2 dividend zp ZP_WORD:27 429.2857142857143
(word) divr16u::divisor
(byte) divr16u::i
(byte) divr16u::i#1 reg byte x 1501.5
(byte) divr16u::i#2 reg byte x 154.0
(word) divr16u::quotient
(word) divr16u::quotient#1 quotient zp ZP_WORD:4 1501.5
(word) divr16u::quotient#2 quotient zp ZP_WORD:4 1001.0
(word) divr16u::quotient#3 quotient zp ZP_WORD:4 250.25
(word) divr16u::rem
(word) divr16u::rem#0 rem zp ZP_WORD:25 750.75
(word) divr16u::rem#1 rem zp ZP_WORD:25 2002.0
(word) divr16u::rem#2 rem zp ZP_WORD:25 2002.0
(word) divr16u::rem#4 rem zp ZP_WORD:25 2002.0
(word) divr16u::rem#5 rem zp ZP_WORD:25 1001.0
(word) divr16u::rem#9 rem zp ZP_WORD:25 1001.0
(word) divr16u::return
(word) divr16u::return#0 return zp ZP_WORD:4 601.0
(word) divr16u::return#2 return zp ZP_WORD:4 4.0
(signed word()) main()
(word~) main::$11 $11 zp ZP_WORD:6 22.0
(word~) main::$12 $12 zp ZP_WORD:6 11.0
(word~) main::$13 $13 zp ZP_WORD:31 22.0
(word~) main::$2 $2 zp ZP_WORD:6 22.0
(word~) main::$3 $3 zp ZP_WORD:6 11.0
(word~) main::$4 $4 zp ZP_WORD:29 22.0
(label) main::@1
(label) main::@10
(label) main::@11
(label) main::@12
(label) main::@13
(label) main::@2
(label) main::@3
(label) main::@4
(label) main::@5
(label) main::@6
(label) main::@7
(label) main::@8
(label) main::@9
(label) main::@return
(signed word) main::return
(const string) main::str str = (string) "200 DIV16U: %5d,%4d IN %04d FRAMESm@"
(const string) main::str1 str1 = (string) "200 DIV10 : %5d,%4d IN %04d FRAMESm@"
(word) main::u
(word) main::u#11 u zp ZP_WORD:2 7.05263157894737
(word) main::u#15 u zp ZP_WORD:2 7.05263157894737
(word) main::u#2 u zp ZP_WORD:2 7.333333333333333
(word) main::u#4 u zp ZP_WORD:2 7.333333333333333
(word) main::v
(word) main::v#1 v zp ZP_WORD:4 14.0
(word) main::v#2 v zp ZP_WORD:4 14.0
(byte()) myprintf((byte*) myprintf::dst , (byte*) myprintf::str , (word) myprintf::w1 , (word) myprintf::w2 , (word) myprintf::w3)
(byte~) myprintf::$17 reg byte a 202.0
(byte~) myprintf::$18 reg byte a 202.0
(byte~) myprintf::$23 reg byte a 101.0
(byte~) myprintf::$24 reg byte a 202.0
(byte~) myprintf::$25 reg byte a 202.0
(byte~) myprintf::$30 reg byte a 101.0
(byte~) myprintf::$31 reg byte a 202.0
(byte~) myprintf::$41 reg byte a 1001.0
(byte~) myprintf::$49 reg byte a 202.0
(label) myprintf::@1
(label) myprintf::@10
(label) myprintf::@11
(label) myprintf::@12
(label) myprintf::@13
(label) myprintf::@14
(label) myprintf::@15
(label) myprintf::@16
(label) myprintf::@17
(label) myprintf::@18
(label) myprintf::@19
(label) myprintf::@2
(label) myprintf::@20
(label) myprintf::@21
(label) myprintf::@22
(label) myprintf::@23
(label) myprintf::@24
(label) myprintf::@25
(label) myprintf::@26
(label) myprintf::@27
(label) myprintf::@28
(label) myprintf::@29
(label) myprintf::@3
(label) myprintf::@30
(label) myprintf::@31
(label) myprintf::@32
(label) myprintf::@33
(label) myprintf::@34
(label) myprintf::@35
(label) myprintf::@36
(label) myprintf::@37
(label) myprintf::@38
(label) myprintf::@39
(label) myprintf::@4
(label) myprintf::@40
(label) myprintf::@41
(label) myprintf::@42
(label) myprintf::@43
(label) myprintf::@5
(label) myprintf::@6
(label) myprintf::@7
(label) myprintf::@8
(label) myprintf::@9
(label) myprintf::@return
(byte) myprintf::b
(byte) myprintf::b#1 reg byte x 126.25000000000003
(byte) myprintf::b#15 reg byte x 75.75
(byte) myprintf::b#16 reg byte x 75.75
(byte) myprintf::b#17 b zp ZP_BYTE:16 248.31999999999996
(byte) myprintf::b#25 reg byte x 303.0
(byte) myprintf::b#5 b zp ZP_BYTE:16 2002.0
(byte) myprintf::b#6 reg byte x 202.0
(byte) myprintf::bArg
(byte) myprintf::bArg#1 bArg zp ZP_BYTE:11 202.0
(byte) myprintf::bArg#10 bArg zp ZP_BYTE:11 235.66666666666663
(byte) myprintf::bArg#12 bArg zp ZP_BYTE:11 12.283783783783784
(byte) myprintf::bDigits
(byte) myprintf::bDigits#1 bDigits zp ZP_BYTE:18 202.0
(byte) myprintf::bDigits#10 bDigits zp ZP_BYTE:18 350.5
(byte) myprintf::bDigits#14 bDigits zp ZP_BYTE:18 22.44444444444444
(byte) myprintf::bDigits#16 bDigits zp ZP_BYTE:18 175.625
(byte) myprintf::bDigits#2 bDigits zp ZP_BYTE:18 2002.0
(byte) myprintf::bDigits#24 bDigits zp ZP_BYTE:18 201.99999999999997
(byte) myprintf::bDigits#25 bDigits zp ZP_BYTE:18 1506.0
(byte) myprintf::bDigits#3 bDigits zp ZP_BYTE:18 2002.0
(byte) myprintf::bDigits#8 bDigits zp ZP_BYTE:18 701.0
(byte) myprintf::bFormat
(byte) myprintf::bFormat#10 bFormat zp ZP_BYTE:10 40.4
(byte) myprintf::bFormat#4 bFormat zp ZP_BYTE:10 168.33333333333331
(byte) myprintf::bLeadZero
(byte) myprintf::bLeadZero#10 bLeadZero zp ZP_BYTE:15 22.147058823529413
(byte) myprintf::bLeadZero#18 bLeadZero zp ZP_BYTE:15 168.33333333333331
(byte) myprintf::bLen
(byte) myprintf::bLen#1 bLen zp ZP_BYTE:17 202.0
(byte) myprintf::bLen#10 reg byte y 37.875
(byte) myprintf::bLen#11 bLen zp ZP_BYTE:17 620.8
(byte) myprintf::bLen#12 bLen zp ZP_BYTE:17 1552.0
(byte) myprintf::bLen#13 bLen zp ZP_BYTE:17 1552.0
(byte) myprintf::bLen#14 bLen zp ZP_BYTE:17 33.666666666666664
(byte) myprintf::bLen#23 bLen zp ZP_BYTE:17 1203.0
(byte) myprintf::bLen#24 bLen zp ZP_BYTE:17 440.79999999999995
(byte) myprintf::bLen#28 bLen zp ZP_BYTE:17 1506.0
(byte) myprintf::bLen#3 bLen zp ZP_BYTE:17 202.0
(byte) myprintf::bLen#4 bLen zp ZP_BYTE:17 1001.0
(byte) myprintf::bLen#6 bLen zp ZP_BYTE:17 1001.0
(byte) myprintf::bLen#7 bLen zp ZP_BYTE:17 202.0
(byte) myprintf::bTrailing
(byte) myprintf::bTrailing#10 bTrailing zp ZP_BYTE:14 10.397058823529413
(byte) myprintf::bTrailing#21 bTrailing zp ZP_BYTE:14 168.33333333333331
(byte[6]) myprintf::buf6
(const byte[6]) myprintf::buf6#0 buf6 = { fill( 6, 0) }
(byte) myprintf::digit
(byte) myprintf::digit#2 reg byte x 1501.5
(byte) myprintf::digit#3 reg byte x 1001.0
(byte*) myprintf::dst
(byte) myprintf::return
(byte) myprintf::return#0 return zp ZP_BYTE:17 236.3333333333333
(byte*) myprintf::str
(byte*) myprintf::str#0 str zp ZP_WORD:8 151.5
(byte*) myprintf::str#10 str zp ZP_WORD:8 4.0131578947368425
(byte*) myprintf::str#5 str zp ZP_WORD:8 2.0
(word) myprintf::w
(word) myprintf::w#10 w zp ZP_WORD:12 10.397058823529413
(word) myprintf::w#17 w zp ZP_WORD:12 235.66666666666663
(word) myprintf::w#21 w zp ZP_WORD:12 202.0
(word~) myprintf::w#49 w zp ZP_WORD:12 202.0
(word~) myprintf::w#50 w zp ZP_WORD:12 202.0
(word~) myprintf::w#51 w zp ZP_WORD:12 202.0
(word) myprintf::w1
(word) myprintf::w1#0 w1 zp ZP_WORD:2 11.0
(word) myprintf::w1#1 w1 zp ZP_WORD:2 11.0
(word) myprintf::w1#6 w1 zp ZP_WORD:2 1.5569620253164556
(word) myprintf::w2
(word) myprintf::w2#0 w2 zp ZP_WORD:4 22.0
(word) myprintf::w2#1 w2 zp ZP_WORD:4 22.0
(word) myprintf::w2#7 w2 zp ZP_WORD:4 1.5569620253164556
(word) myprintf::w3
(word) myprintf::w3#0 w3 zp ZP_WORD:6 7.333333333333333
(word) myprintf::w3#1 w3 zp ZP_WORD:6 7.333333333333333
(word) myprintf::w3#7 w3 zp ZP_WORD:6 1.5569620253164556
(byte[$64]) strTemp
(const byte[$64]) strTemp#0 strTemp = { fill( $64, 0) }
(void()) utoa((word) utoa::value , (byte*) utoa::dst)
(byte~) utoa::$16 reg byte a 4.0
(byte~) utoa::$17 reg byte a 4.0
(label) utoa::@1
(label) utoa::@10
(label) utoa::@11
(label) utoa::@12
(label) utoa::@13
(label) utoa::@14
(label) utoa::@15
(label) utoa::@16
(label) utoa::@2
(label) utoa::@3
(label) utoa::@4
(label) utoa::@5
(label) utoa::@6
(label) utoa::@7
(label) utoa::@8
(label) utoa::@9
(label) utoa::@return
(byte) utoa::bStarted
(byte) utoa::bStarted#5 reg byte x 1.3333333333333333
(byte) utoa::bStarted#6 reg byte x 2.0
(byte) utoa::bStarted#7 reg byte x 4.0
(byte*) utoa::dst
(byte*) utoa::dst#1 dst zp ZP_WORD:21 4.0
(byte*) utoa::dst#10 dst zp ZP_WORD:21 1.25
(byte*) utoa::dst#12 dst zp ZP_WORD:21 2.0
(byte*) utoa::dst#13 dst zp ZP_WORD:21 1.25
(byte*) utoa::dst#16 dst zp ZP_WORD:21 0.75
(byte*) utoa::dst#2 dst zp ZP_WORD:21 4.0
(byte*) utoa::dst#3 dst zp ZP_WORD:21 4.0
(byte*) utoa::dst#4 dst zp ZP_WORD:21 4.0
(word) utoa::value
(word) utoa::value#0 value zp ZP_WORD:19 4.0
(word) utoa::value#1 value zp ZP_WORD:19 2.0
(word) utoa::value#10 value zp ZP_WORD:19 2.5
(word) utoa::value#11 value zp ZP_WORD:19 2.5
(word) utoa::value#12 value zp ZP_WORD:19 4.0
(word) utoa::value#2 value zp ZP_WORD:19 2.0
(word) utoa::value#3 value zp ZP_WORD:19 2.0
(word) utoa::value#4 value zp ZP_WORD:19 35.66666666666666
(word) utoa::value#6 value zp ZP_WORD:19 2.5
(byte*) zp1
(const byte*) zp1#0 zp1 = (byte*) 97
(byte*) zp2
(const byte*) zp2#0 zp2 = (byte*) 98

zp ZP_WORD:2 [ main::u#11 main::u#2 myprintf::w1#6 myprintf::w1#0 myprintf::w1#1 div16u::dividend#0 main::u#15 main::u#4 div10::val#4 ]
zp ZP_WORD:4 [ myprintf::w2#7 myprintf::w2#0 myprintf::w2#1 main::v#1 main::v#2 div16u::return#2 div16u::return#0 div10::return#2 div10::return#0 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 div10::$4 div10::val#3 ]
zp ZP_WORD:6 [ myprintf::w3#7 myprintf::w3#0 myprintf::w3#1 main::$3 main::$12 main::$2 main::$11 ]
zp ZP_WORD:8 [ myprintf::str#10 myprintf::str#5 myprintf::str#0 ]
zp ZP_BYTE:10 [ myprintf::bFormat#10 myprintf::bFormat#4 ]
zp ZP_BYTE:11 [ myprintf::bArg#12 myprintf::bArg#10 myprintf::bArg#1 ]
zp ZP_WORD:12 [ myprintf::w#10 myprintf::w#17 myprintf::w#21 myprintf::w#49 myprintf::w#50 myprintf::w#51 ]
zp ZP_BYTE:14 [ myprintf::bTrailing#10 myprintf::bTrailing#21 ]
zp ZP_BYTE:15 [ myprintf::bLeadZero#10 myprintf::bLeadZero#18 ]
reg byte a [ myprintf::$23 ]
reg byte a [ myprintf::$30 ]
zp ZP_BYTE:16 [ myprintf::b#17 myprintf::b#5 ]
reg byte x [ myprintf::digit#3 myprintf::digit#2 ]
zp ZP_BYTE:17 [ myprintf::bLen#11 myprintf::bLen#13 myprintf::bLen#12 myprintf::bLen#23 myprintf::bLen#14 myprintf::return#0 myprintf::bLen#28 myprintf::bLen#7 myprintf::bLen#3 myprintf::bLen#24 myprintf::bLen#6 myprintf::bLen#1 myprintf::bLen#4 ]
zp ZP_BYTE:18 [ myprintf::bDigits#10 myprintf::bDigits#8 myprintf::bDigits#14 myprintf::bDigits#24 myprintf::bDigits#25 myprintf::bDigits#1 myprintf::bDigits#16 myprintf::bDigits#3 myprintf::bDigits#2 ]
reg byte a [ myprintf::$41 ]
reg byte x [ myprintf::b#25 myprintf::b#1 myprintf::b#6 ]
reg byte x [ utoa::bStarted#7 utoa::bStarted#6 utoa::bStarted#5 ]
zp ZP_WORD:19 [ utoa::value#12 utoa::value#3 utoa::value#10 utoa::value#2 utoa::value#11 utoa::value#6 utoa::value#4 utoa::value#0 utoa::value#1 append::value#5 append::value#8 append::value#1 append::value#2 append::value#3 append::value#4 append::value#0 append::return#10 append::return#4 append::return#3 append::return#2 ]
zp ZP_WORD:21 [ utoa::dst#12 utoa::dst#4 utoa::dst#13 utoa::dst#2 utoa::dst#10 utoa::dst#16 utoa::dst#1 append::dst#4 append::dst#1 append::dst#2 append::dst#3 utoa::dst#3 ]
zp ZP_WORD:23 [ append::sub#6 ]
zp ZP_WORD:25 [ divr16u::rem#4 divr16u::rem#9 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ]
zp ZP_WORD:27 [ divr16u::dividend#2 divr16u::dividend#1 divr16u::dividend#0 ]
reg byte x [ divr16u::i#2 divr16u::i#1 ]
zp ZP_WORD:29 [ main::$4 ]
zp ZP_WORD:31 [ main::$13 ]
reg byte a [ myprintf::$17 ]
reg byte a [ myprintf::$18 ]
reg byte x [ myprintf::b#15 ]
reg byte a [ myprintf::$24 ]
reg byte y [ myprintf::bLen#10 ]
reg byte a [ myprintf::$25 ]
reg byte x [ myprintf::b#16 ]
reg byte a [ myprintf::$31 ]
reg byte a [ myprintf::$49 ]
reg byte a [ utoa::$16 ]
reg byte a [ utoa::$17 ]
zp ZP_WORD:33 [ div10::$0 div10::val#0 ]
zp ZP_WORD:35 [ div10::$2 div10::val#1 ]
zp ZP_WORD:37 [ div10::$3 div10::val#2 ]
reg byte a [ divr16u::$1 ]
reg byte a [ divr16u::$2 ]


FINAL ASSEMBLER
Score: 354730

  // File Comments
  // Basic Upstart
.pc = $801 "Basic"
:BasicUpstart(main)
.pc = $80d "Program"
  // Global Constants & labels
  .label zp1 = $61
  // #define zp1 *(byte *)0x61 -- allows "zp1" vs "*zp1" below -- not supported --  https://gitlab.com/camelot/kickc/issues/169
  .label zp2 = $62
  .label TIMEHI = $a1
  .label TIMELO = $a2
  .label VICBANK = $d018
  // @begin
  // [1] phi from @begin to @1 [phi:@begin->@1]
  // @1
  // [2] call main 
  // [3] phi from @1 to @end [phi:@1->@end]
  // @end
  // main
main: {
    .label _2 = 6
    .label _3 = 6
    .label _4 = $1d
    .label _11 = 6
    .label _12 = 6
    .label _13 = $1f
    .label v = 4
    .label u = 2
    // *VICBANK = 23
    // [4] *((const byte*) VICBANK#0) ← (byte) $17 -- _deref_pbuc1=vbuc2 
    lda #$17
    sta VICBANK
    // *zp1 = 0
    // [5] *((const byte*) zp1#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta zp1
    // [6] phi from main to main::@1 [phi:main->main::@1]
    // [6] phi (word) main::u#11 = (word) $6e85 [phi:main->main::@1#0] -- vwuz1=vwuc1 
    lda #<$6e85
    sta u
    lda #>$6e85
    sta u+1
    // [6] phi from main::@10 to main::@1 [phi:main::@10->main::@1]
    // [6] phi (word) main::u#11 = (word) main::u#2 [phi:main::@10->main::@1#0] -- register_copy 
    // main::@1
  b1:
    // *TIMEHI = 0
    // [7] *((const byte*) TIMEHI#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta TIMEHI
    // *TIMELO = 0
    // [8] *((const byte*) TIMELO#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    sta TIMELO
    // *zp2 = 0
    // [9] *((const byte*) zp2#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    sta zp2
    // main::@2
  b2:
    // div16u(u, 10)
    // [10] (word) div16u::dividend#0 ← (word) main::u#11
    // [11] call div16u 
    jsr div16u
    // [12] (word) div16u::return#2 ← (word) div16u::return#0
    // main::@8
    // v = div16u(u, 10)
    // [13] (word) main::v#1 ← (word) div16u::return#2
    // for (*zp2 = 0; *zp2 < 200; ++*zp2)
    // [14] *((const byte*) zp2#0) ← ++ *((const byte*) zp2#0) -- _deref_pbuc1=_inc__deref_pbuc1 
    inc zp2
    // [15] if(*((const byte*) zp2#0)<(byte) $c8) goto main::@2 -- _deref_pbuc1_lt_vbuc2_then_la1 
    lda zp2
    cmp #$c8
    bcc b2
    // main::@3
    // (word)*TIMEHI
    // [16] (word~) main::$2 ← (word)*((const byte*) TIMEHI#0) -- vwuz1=_word__deref_pbuc1 
    lda TIMEHI
    sta _2
    lda #0
    sta _2+1
    // (word)*TIMEHI << 8
    // [17] (word~) main::$3 ← (word~) main::$2 << (byte) 8 -- vwuz1=vwuz1_rol_8 
    lda _3
    sta _3+1
    lda #0
    sta _3
    // (word)*TIMELO
    // [18] (word~) main::$4 ← (word)*((const byte*) TIMELO#0) -- vwuz1=_word__deref_pbuc1 
    lda TIMELO
    sta _4
    lda #0
    sta _4+1
    // myprintf(strTemp, "200 DIV16U: %5d,%4d IN %04d FRAMESm", u, v, ((word)*TIMEHI << 8) + (word)*TIMELO)
    // [19] (word) myprintf::w3#0 ← (word~) main::$3 + (word~) main::$4 -- vwuz1=vwuz1_plus_vwuz2 
    lda myprintf.w3
    clc
    adc _4
    sta myprintf.w3
    lda myprintf.w3+1
    adc _4+1
    sta myprintf.w3+1
    // [20] (word) myprintf::w1#0 ← (word) main::u#11
    // [21] (word) myprintf::w2#0 ← (word) main::v#1
    // [22] call myprintf 
    // [54] phi from main::@3 to myprintf [phi:main::@3->myprintf]
    // [54] phi (word) myprintf::w3#7 = (word) myprintf::w3#0 [phi:main::@3->myprintf#0] -- register_copy 
    // [54] phi (word) myprintf::w2#7 = (word) myprintf::w2#0 [phi:main::@3->myprintf#1] -- register_copy 
    // [54] phi (word) myprintf::w1#6 = (word) myprintf::w1#0 [phi:main::@3->myprintf#2] -- register_copy 
    // [54] phi (byte*) myprintf::str#5 = (const string) main::str [phi:main::@3->myprintf#3] -- pbuz1=pbuc1 
    lda #<str
    sta myprintf.str
    lda #>str
    sta myprintf.str+1
    jsr myprintf
    // [23] phi from main::@3 to main::@9 [phi:main::@3->main::@9]
    // main::@9
    // Print()
    // [24] call Print 
    jsr Print
    // main::@10
    // u -= 1234
    // [25] (word) main::u#2 ← (word) main::u#11 - (word) $4d2 -- vwuz1=vwuz1_minus_vwuc1 
    lda u
    sec
    sbc #<$4d2
    sta u
    lda u+1
    sbc #>$4d2
    sta u+1
    // for (*zp1 = 0; *zp1 < 10; ++*zp1)
    // [26] *((const byte*) zp1#0) ← ++ *((const byte*) zp1#0) -- _deref_pbuc1=_inc__deref_pbuc1 
    inc zp1
    // [27] if(*((const byte*) zp1#0)<(byte) $a) goto main::@1 -- _deref_pbuc1_lt_vbuc2_then_la1 
    lda zp1
    cmp #$a
    bcc b1
    // main::@4
    // *zp1 = 0
    // [28] *((const byte*) zp1#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta zp1
    // [29] phi from main::@4 to main::@5 [phi:main::@4->main::@5]
    // [29] phi (word) main::u#15 = (word) $6e85 [phi:main::@4->main::@5#0] -- vwuz1=vwuc1 
    lda #<$6e85
    sta u
    lda #>$6e85
    sta u+1
    // [29] phi from main::@13 to main::@5 [phi:main::@13->main::@5]
    // [29] phi (word) main::u#15 = (word) main::u#4 [phi:main::@13->main::@5#0] -- register_copy 
    // main::@5
  b5:
    // *TIMEHI = 0
    // [30] *((const byte*) TIMEHI#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta TIMEHI
    // *TIMELO = 0
    // [31] *((const byte*) TIMELO#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    sta TIMELO
    // *zp2 = 0
    // [32] *((const byte*) zp2#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    sta zp2
    // main::@6
  b6:
    // div10(u)
    // [33] (word) div10::val#4 ← (word) main::u#15
    // [34] call div10 
    jsr div10
    // [35] (word) div10::return#2 ← (word) div10::return#0
    // main::@11
    // v = div10(u)
    // [36] (word) main::v#2 ← (word) div10::return#2
    // for (*zp2 = 0; *zp2 < 200; ++*zp2)
    // [37] *((const byte*) zp2#0) ← ++ *((const byte*) zp2#0) -- _deref_pbuc1=_inc__deref_pbuc1 
    inc zp2
    // [38] if(*((const byte*) zp2#0)<(byte) $c8) goto main::@6 -- _deref_pbuc1_lt_vbuc2_then_la1 
    lda zp2
    cmp #$c8
    bcc b6
    // main::@7
    // (word)*TIMEHI
    // [39] (word~) main::$11 ← (word)*((const byte*) TIMEHI#0) -- vwuz1=_word__deref_pbuc1 
    lda TIMEHI
    sta _11
    lda #0
    sta _11+1
    // (word)*TIMEHI << 8
    // [40] (word~) main::$12 ← (word~) main::$11 << (byte) 8 -- vwuz1=vwuz1_rol_8 
    lda _12
    sta _12+1
    lda #0
    sta _12
    // (word)*TIMELO
    // [41] (word~) main::$13 ← (word)*((const byte*) TIMELO#0) -- vwuz1=_word__deref_pbuc1 
    lda TIMELO
    sta _13
    lda #0
    sta _13+1
    // myprintf(strTemp, "200 DIV10 : %5d,%4d IN %04d FRAMESm", u, v, ((word)*TIMEHI << 8) + (word)*TIMELO)
    // [42] (word) myprintf::w3#1 ← (word~) main::$12 + (word~) main::$13 -- vwuz1=vwuz1_plus_vwuz2 
    lda myprintf.w3
    clc
    adc _13
    sta myprintf.w3
    lda myprintf.w3+1
    adc _13+1
    sta myprintf.w3+1
    // [43] (word) myprintf::w1#1 ← (word) main::u#15
    // [44] (word) myprintf::w2#1 ← (word) main::v#2
    // [45] call myprintf 
    // [54] phi from main::@7 to myprintf [phi:main::@7->myprintf]
    // [54] phi (word) myprintf::w3#7 = (word) myprintf::w3#1 [phi:main::@7->myprintf#0] -- register_copy 
    // [54] phi (word) myprintf::w2#7 = (word) myprintf::w2#1 [phi:main::@7->myprintf#1] -- register_copy 
    // [54] phi (word) myprintf::w1#6 = (word) myprintf::w1#1 [phi:main::@7->myprintf#2] -- register_copy 
    // [54] phi (byte*) myprintf::str#5 = (const string) main::str1 [phi:main::@7->myprintf#3] -- pbuz1=pbuc1 
    lda #<str1
    sta myprintf.str
    lda #>str1
    sta myprintf.str+1
    jsr myprintf
    // [46] phi from main::@7 to main::@12 [phi:main::@7->main::@12]
    // main::@12
    // Print()
    // [47] call Print 
    jsr Print
    // main::@13
    // u -= 1234
    // [48] (word) main::u#4 ← (word) main::u#15 - (word) $4d2 -- vwuz1=vwuz1_minus_vwuc1 
    lda u
    sec
    sbc #<$4d2
    sta u
    lda u+1
    sbc #>$4d2
    sta u+1
    // for (*zp1 = 0; *zp1 < 10; ++*zp1)
    // [49] *((const byte*) zp1#0) ← ++ *((const byte*) zp1#0) -- _deref_pbuc1=_inc__deref_pbuc1 
    inc zp1
    // [50] if(*((const byte*) zp1#0)<(byte) $a) goto main::@5 -- _deref_pbuc1_lt_vbuc2_then_la1 
    lda zp1
    cmp #$a
    bcc b5
    // main::@return
    // }
    // [51] return 
    rts
    str: .text "200 DIV16U: %5d,%4d IN %04d FRAMESm@"
    str1: .text "200 DIV10 : %5d,%4d IN %04d FRAMESm@"
}
  // Print
Print: {
    // asm
    // asm { ldy#0 loop: ldastrTemp,y beqdone jsr$FFD2 iny jmploop done:  }
    // can this assembly be placed in a separate file and call it from the C code here?
    ldy #0
  loop:
    lda strTemp,y
    beq done
    jsr $ffd2
    iny
    jmp loop
  done:
    // Print::@return
    // }
    // [53] return 
    rts
}
  // myprintf
// myprintf(byte* zeropage(8) str, word zeropage(2) w1, word zeropage(4) w2, word zeropage(6) w3)
myprintf: {
    .label str = 8
    .label bDigits = $12
    .label bLen = $11
    .label b = $10
    .label bArg = $b
    .label return = $11
    .label w1 = 2
    .label w2 = 4
    .label w3 = 6
    .label bFormat = $a
    .label w = $c
    .label bTrailing = $e
    .label bLeadZero = $f
    // [55] phi from myprintf to myprintf::@1 [phi:myprintf->myprintf::@1]
    // [55] phi (byte) myprintf::bLeadZero#10 = (byte) 0 [phi:myprintf->myprintf::@1#0] -- vbuz1=vbuc1 
    lda #0
    sta bLeadZero
    // [55] phi (byte) myprintf::bDigits#14 = (byte) 0 [phi:myprintf->myprintf::@1#1] -- vbuz1=vbuc1 
    sta bDigits
    // [55] phi (byte) myprintf::bTrailing#10 = (byte) 0 [phi:myprintf->myprintf::@1#2] -- vbuz1=vbuc1 
    sta bTrailing
    // [55] phi (word) myprintf::w#10 = (word) 0 [phi:myprintf->myprintf::@1#3] -- vwuz1=vwuc1 
    sta w
    sta w+1
    // [55] phi (byte) myprintf::bLen#14 = (byte) 0 [phi:myprintf->myprintf::@1#4] -- vbuz1=vbuc1 
    sta bLen
    // [55] phi (byte) myprintf::bArg#12 = (byte) 0 [phi:myprintf->myprintf::@1#5] -- vbuz1=vbuc1 
    sta bArg
    // [55] phi (byte) myprintf::bFormat#10 = (byte) 0 [phi:myprintf->myprintf::@1#6] -- vbuz1=vbuc1 
    sta bFormat
    // [55] phi (byte*) myprintf::str#10 = (byte*) myprintf::str#5 [phi:myprintf->myprintf::@1#7] -- register_copy 
    // [55] phi from myprintf::@27 to myprintf::@1 [phi:myprintf::@27->myprintf::@1]
    // [55] phi (byte) myprintf::bLeadZero#10 = (byte) myprintf::bLeadZero#18 [phi:myprintf::@27->myprintf::@1#0] -- register_copy 
    // [55] phi (byte) myprintf::bDigits#14 = (byte) myprintf::bDigits#24 [phi:myprintf::@27->myprintf::@1#1] -- register_copy 
    // [55] phi (byte) myprintf::bTrailing#10 = (byte) myprintf::bTrailing#21 [phi:myprintf::@27->myprintf::@1#2] -- register_copy 
    // [55] phi (word) myprintf::w#10 = (word) myprintf::w#17 [phi:myprintf::@27->myprintf::@1#3] -- register_copy 
    // [55] phi (byte) myprintf::bLen#14 = (byte) myprintf::return#0 [phi:myprintf::@27->myprintf::@1#4] -- register_copy 
    // [55] phi (byte) myprintf::bArg#12 = (byte) myprintf::bArg#10 [phi:myprintf::@27->myprintf::@1#5] -- register_copy 
    // [55] phi (byte) myprintf::bFormat#10 = (byte) myprintf::bFormat#4 [phi:myprintf::@27->myprintf::@1#6] -- register_copy 
    // [55] phi (byte*) myprintf::str#10 = (byte*) myprintf::str#0 [phi:myprintf::@27->myprintf::@1#7] -- register_copy 
    // myprintf::@1
  b1:
    // b = *str
    // [56] (byte) myprintf::b#1 ← *((byte*) myprintf::str#10) -- vbuxx=_deref_pbuz1 
    ldy #0
    lda (str),y
    tax
    // if (bFormat != 0)
    // [57] if((byte) myprintf::bFormat#10==(byte) 0) goto myprintf::@2 -- vbuz1_eq_0_then_la1 
    lda bFormat
    cmp #0
    bne !b2+
    jmp b2
  !b2:
    // myprintf::@33
    // if (b == '0')
    // [58] if((byte) myprintf::b#1!=(byte) '0') goto myprintf::@3 -- vbuxx_neq_vbuc1_then_la1 
    cpx #'0'
    bne b3
    // [59] phi from myprintf::@33 to myprintf::@27 [phi:myprintf::@33->myprintf::@27]
    // [59] phi (byte) myprintf::bLeadZero#18 = (byte) 1 [phi:myprintf::@33->myprintf::@27#0] -- vbuz1=vbuc1 
    lda #1
    sta bLeadZero
    // [59] phi (byte) myprintf::bDigits#24 = (byte) myprintf::bDigits#14 [phi:myprintf::@33->myprintf::@27#1] -- register_copy 
    // [59] phi (byte) myprintf::bTrailing#21 = (byte) myprintf::bTrailing#10 [phi:myprintf::@33->myprintf::@27#2] -- register_copy 
    // [59] phi (word) myprintf::w#17 = (word) myprintf::w#10 [phi:myprintf::@33->myprintf::@27#3] -- register_copy 
    // [59] phi (byte) myprintf::bArg#10 = (byte) myprintf::bArg#12 [phi:myprintf::@33->myprintf::@27#4] -- register_copy 
    // [59] phi (byte) myprintf::return#0 = (byte) myprintf::bLen#14 [phi:myprintf::@33->myprintf::@27#5] -- register_copy 
    // [59] phi (byte) myprintf::bFormat#4 = (byte) myprintf::bFormat#10 [phi:myprintf::@33->myprintf::@27#6] -- register_copy 
    // myprintf::@27
  b27:
    // for (; *str != 0; ++str)
    // [60] (byte*) myprintf::str#0 ← ++ (byte*) myprintf::str#10 -- pbuz1=_inc_pbuz1 
    inc str
    bne !+
    inc str+1
  !:
    // [61] if(*((byte*) myprintf::str#0)!=(byte) 0) goto myprintf::@1 -- _deref_pbuz1_neq_0_then_la1 
    ldy #0
    lda (str),y
    cmp #0
    bne b1
    // myprintf::@38
    // dst[bLen] = 0
    // [62] *((const byte[$64]) strTemp#0 + (byte) myprintf::return#0) ← (byte) 0 -- pbuc1_derefidx_vbuz1=vbuc2 
    tya
    ldy return
    sta strTemp,y
    // myprintf::@return
    // }
    // [63] return 
    rts
    // myprintf::@3
  b3:
    // if (b >= '1' && b <= '9')
    // [64] if((byte) myprintf::b#1<(byte) '1') goto myprintf::@4 -- vbuxx_lt_vbuc1_then_la1 
    cpx #'1'
    bcc b4
    // myprintf::@39
    // [65] if((byte) myprintf::b#1<=(byte) '9') goto myprintf::@23 -- vbuxx_le_vbuc1_then_la1 
    cpx #'9'
    bcs !b23+
    jmp b23
  !b23:
    bne !b23+
    jmp b23
  !b23:
    // myprintf::@4
  b4:
    // if (b == '-')
    // [66] if((byte) myprintf::b#1!=(byte) '-') goto myprintf::@5 -- vbuxx_neq_vbuc1_then_la1 
    cpx #'-'
    bne b5
    // [59] phi from myprintf::@4 to myprintf::@27 [phi:myprintf::@4->myprintf::@27]
    // [59] phi (byte) myprintf::bLeadZero#18 = (byte) myprintf::bLeadZero#10 [phi:myprintf::@4->myprintf::@27#0] -- register_copy 
    // [59] phi (byte) myprintf::bDigits#24 = (byte) myprintf::bDigits#14 [phi:myprintf::@4->myprintf::@27#1] -- register_copy 
    // [59] phi (byte) myprintf::bTrailing#21 = (byte) 1 [phi:myprintf::@4->myprintf::@27#2] -- vbuz1=vbuc1 
    lda #1
    sta bTrailing
    // [59] phi (word) myprintf::w#17 = (word) myprintf::w#10 [phi:myprintf::@4->myprintf::@27#3] -- register_copy 
    // [59] phi (byte) myprintf::bArg#10 = (byte) myprintf::bArg#12 [phi:myprintf::@4->myprintf::@27#4] -- register_copy 
    // [59] phi (byte) myprintf::return#0 = (byte) myprintf::bLen#14 [phi:myprintf::@4->myprintf::@27#5] -- register_copy 
    // [59] phi (byte) myprintf::bFormat#4 = (byte) myprintf::bFormat#10 [phi:myprintf::@4->myprintf::@27#6] -- register_copy 
    jmp b27
    // myprintf::@5
  b5:
    // if (b == 'c')
    // [67] if((byte) myprintf::b#1==(byte) 'c') goto myprintf::@6 -- vbuxx_eq_vbuc1_then_la1 
    cpx #'c'
    bne !b6+
    jmp b6
  !b6:
    // myprintf::@24
    // if (b == 'd')
    // [68] if((byte) myprintf::b#1==(byte) 'd') goto myprintf::@7 -- vbuxx_eq_vbuc1_then_la1 
    cpx #'d'
    beq b7
    // myprintf::@25
    // if (b == 'x' || b == 'X')
    // [69] if((byte) myprintf::b#1==(byte) 'x') goto myprintf::@26 -- vbuxx_eq_vbuc1_then_la1 
    cpx #'x'
    beq b26
    // myprintf::@40
    // [70] if((byte) myprintf::b#1==(byte) 'X') goto myprintf::@26 -- vbuxx_eq_vbuc1_then_la1 
    cpx #'X'
    beq b26
    // [71] phi from myprintf::@11 myprintf::@20 myprintf::@21 myprintf::@40 myprintf::@6 to myprintf::@22 [phi:myprintf::@11/myprintf::@20/myprintf::@21/myprintf::@40/myprintf::@6->myprintf::@22]
    // [71] phi (byte) myprintf::bDigits#25 = (byte) myprintf::bDigits#14 [phi:myprintf::@11/myprintf::@20/myprintf::@21/myprintf::@40/myprintf::@6->myprintf::@22#0] -- register_copy 
    // [71] phi (byte) myprintf::bLen#28 = (byte) myprintf::bLen#3 [phi:myprintf::@11/myprintf::@20/myprintf::@21/myprintf::@40/myprintf::@6->myprintf::@22#1] -- register_copy 
    // [71] phi from myprintf::@42 to myprintf::@22 [phi:myprintf::@42->myprintf::@22]
    // myprintf::@22
  b22:
    // [59] phi from myprintf::@22 to myprintf::@27 [phi:myprintf::@22->myprintf::@27]
    // [59] phi (byte) myprintf::bLeadZero#18 = (byte) myprintf::bLeadZero#10 [phi:myprintf::@22->myprintf::@27#0] -- register_copy 
    // [59] phi (byte) myprintf::bDigits#24 = (byte) myprintf::bDigits#25 [phi:myprintf::@22->myprintf::@27#1] -- register_copy 
    // [59] phi (byte) myprintf::bTrailing#21 = (byte) myprintf::bTrailing#10 [phi:myprintf::@22->myprintf::@27#2] -- register_copy 
    // [59] phi (word) myprintf::w#17 = (word) myprintf::w#10 [phi:myprintf::@22->myprintf::@27#3] -- register_copy 
    // [59] phi (byte) myprintf::bArg#10 = (byte) myprintf::bArg#12 [phi:myprintf::@22->myprintf::@27#4] -- register_copy 
    // [59] phi (byte) myprintf::return#0 = (byte) myprintf::bLen#28 [phi:myprintf::@22->myprintf::@27#5] -- register_copy 
    // [59] phi (byte) myprintf::bFormat#4 = (byte) 0 [phi:myprintf::@22->myprintf::@27#6] -- vbuz1=vbuc1 
    lda #0
    sta bFormat
    jmp b27
    // myprintf::@26
  b26:
    // (byte)w
    // [72] (byte~) myprintf::$17 ← (byte)(word) myprintf::w#10 -- vbuaa=_byte_vwuz1 
    lda w
    // (byte)w >> 4
    // [73] (byte~) myprintf::$18 ← (byte~) myprintf::$17 >> (byte) 4 -- vbuaa=vbuaa_ror_4 
    lsr
    lsr
    lsr
    lsr
    // b = ((byte)w >> 4) & 0xF
    // [74] (byte) myprintf::b#15 ← (byte~) myprintf::$18 & (byte) $f -- vbuxx=vbuaa_band_vbuc1 
    ldx #$f
    axs #0
    // b < 10 ? '0' : 0x57
    // [75] if((byte) myprintf::b#15<(byte) $a) goto myprintf::@8 -- vbuxx_lt_vbuc1_then_la1 
    cpx #$a
    bcc b8
    // [77] phi from myprintf::@26 to myprintf::@9 [phi:myprintf::@26->myprintf::@9]
    // [77] phi (byte~) myprintf::$23 = (byte) $57 [phi:myprintf::@26->myprintf::@9#0] -- vbuaa=vbuc1 
    lda #$57
    jmp b9
    // [76] phi from myprintf::@26 to myprintf::@8 [phi:myprintf::@26->myprintf::@8]
    // myprintf::@8
  b8:
    // [77] phi from myprintf::@8 to myprintf::@9 [phi:myprintf::@8->myprintf::@9]
    // [77] phi (byte~) myprintf::$23 = (byte) '0' [phi:myprintf::@8->myprintf::@9#0] -- vbuaa=vbuc1 
    lda #'0'
    // myprintf::@9
  b9:
    // (b < 10 ? '0' : 0x57) + b
    // [78] (byte~) myprintf::$24 ← (byte~) myprintf::$23 + (byte) myprintf::b#15 -- vbuaa=vbuaa_plus_vbuxx 
    stx $ff
    clc
    adc $ff
    // dst[bLen++] = (b < 10 ? '0' : 0x57) + b
    // [79] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#14) ← (byte~) myprintf::$24 -- pbuc1_derefidx_vbuz1=vbuaa 
    ldy bLen
    sta strTemp,y
    // dst[bLen++] = (b < 10 ? '0' : 0x57) + b;
    // [80] (byte) myprintf::bLen#10 ← ++ (byte) myprintf::bLen#14 -- vbuyy=_inc_vbuz1 
    iny
    // (byte)w
    // [81] (byte~) myprintf::$25 ← (byte)(word) myprintf::w#10 -- vbuaa=_byte_vwuz1 
    lda w
    // b = (byte)w & 0xF
    // [82] (byte) myprintf::b#16 ← (byte~) myprintf::$25 & (byte) $f -- vbuxx=vbuaa_band_vbuc1 
    ldx #$f
    axs #0
    // b < 10 ? '0' : 0x57
    // [83] if((byte) myprintf::b#16<(byte) $a) goto myprintf::@10 -- vbuxx_lt_vbuc1_then_la1 
    cpx #$a
    bcc b10
    // [85] phi from myprintf::@9 to myprintf::@11 [phi:myprintf::@9->myprintf::@11]
    // [85] phi (byte~) myprintf::$30 = (byte) $57 [phi:myprintf::@9->myprintf::@11#0] -- vbuaa=vbuc1 
    lda #$57
    jmp b11
    // [84] phi from myprintf::@9 to myprintf::@10 [phi:myprintf::@9->myprintf::@10]
    // myprintf::@10
  b10:
    // [85] phi from myprintf::@10 to myprintf::@11 [phi:myprintf::@10->myprintf::@11]
    // [85] phi (byte~) myprintf::$30 = (byte) '0' [phi:myprintf::@10->myprintf::@11#0] -- vbuaa=vbuc1 
    lda #'0'
    // myprintf::@11
  b11:
    // (b < 10 ? '0' : 0x57) + b
    // [86] (byte~) myprintf::$31 ← (byte~) myprintf::$30 + (byte) myprintf::b#16 -- vbuaa=vbuaa_plus_vbuxx 
    stx $ff
    clc
    adc $ff
    // dst[bLen++] = (b < 10 ? '0' : 0x57) + b
    // [87] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#10) ← (byte~) myprintf::$31 -- pbuc1_derefidx_vbuyy=vbuaa 
    sta strTemp,y
    // dst[bLen++] = (b < 10 ? '0' : 0x57) + b;
    // [88] (byte) myprintf::bLen#3 ← ++ (byte) myprintf::bLen#10 -- vbuz1=_inc_vbuyy 
    iny
    sty bLen
    jmp b22
    // myprintf::@7
  b7:
    // utoa(w, buf6)
    // [89] (word) utoa::value#4 ← (word) myprintf::w#10 -- vwuz1=vwuz2 
    lda w
    sta utoa.value
    lda w+1
    sta utoa.value+1
    // [90] call utoa 
    // [135] phi from myprintf::@7 to utoa [phi:myprintf::@7->utoa]
    jsr utoa
    // [91] phi from myprintf::@7 to myprintf::@12 [phi:myprintf::@7->myprintf::@12]
    // [91] phi (byte) myprintf::b#17 = (byte) 1 [phi:myprintf::@7->myprintf::@12#0] -- vbuz1=vbuc1 
    lda #1
    sta b
    // myprintf::@12
  b12:
    // while(buf6[b] != 0)
    // [92] if(*((const byte[6]) myprintf::buf6#0 + (byte) myprintf::b#17)!=(byte) 0) goto myprintf::@13 -- pbuc1_derefidx_vbuz1_neq_0_then_la1 
    ldy b
    lda buf6,y
    cmp #0
    bne b13
    // myprintf::@14
    // if (bTrailing == 0 && bDigits > b)
    // [93] if((byte) myprintf::bTrailing#10!=(byte) 0) goto myprintf::@15 -- vbuz1_neq_0_then_la1 
    lda bTrailing
    cmp #0
    bne b15
    // myprintf::@41
    // [94] if((byte) myprintf::bDigits#14>(byte) myprintf::b#17) goto myprintf::@16 -- vbuz1_gt_vbuz2_then_la1 
    tya
    cmp bDigits
    bcc b16
    // [95] phi from myprintf::@41 to myprintf::@15 [phi:myprintf::@41->myprintf::@15]
    // [95] phi from myprintf::@14 myprintf::@18 to myprintf::@15 [phi:myprintf::@14/myprintf::@18->myprintf::@15]
    // [95] phi (byte) myprintf::bDigits#16 = (byte) myprintf::bDigits#14 [phi:myprintf::@14/myprintf::@18->myprintf::@15#0] -- register_copy 
    // [95] phi (byte) myprintf::bLen#23 = (byte) myprintf::bLen#14 [phi:myprintf::@14/myprintf::@18->myprintf::@15#1] -- register_copy 
    // myprintf::@15
  b15:
    // [96] phi from myprintf::@15 to myprintf::@19 [phi:myprintf::@15->myprintf::@19]
    // [96] phi (byte) myprintf::bLen#12 = (byte) myprintf::bLen#23 [phi:myprintf::@15->myprintf::@19#0] -- register_copy 
    // [96] phi (byte) myprintf::digit#3 = (byte) 0 [phi:myprintf::@15->myprintf::@19#1] -- vbuxx=vbuc1 
    ldx #0
    // [96] phi from myprintf::@19 to myprintf::@19 [phi:myprintf::@19->myprintf::@19]
    // [96] phi (byte) myprintf::bLen#12 = (byte) myprintf::bLen#24 [phi:myprintf::@19->myprintf::@19#0] -- register_copy 
    // [96] phi (byte) myprintf::digit#3 = (byte) myprintf::digit#2 [phi:myprintf::@19->myprintf::@19#1] -- register_copy 
    // myprintf::@19
  b19:
    // dst[bLen++] = buf6[digit]
    // [97] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#12) ← *((const byte[6]) myprintf::buf6#0 + (byte) myprintf::digit#3) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuxx 
    lda buf6,x
    ldy bLen
    sta strTemp,y
    // dst[bLen++] = buf6[digit];
    // [98] (byte) myprintf::bLen#24 ← ++ (byte) myprintf::bLen#12 -- vbuz1=_inc_vbuz1 
    inc bLen
    // for (digit = 0; digit < b; ++digit)
    // [99] (byte) myprintf::digit#2 ← ++ (byte) myprintf::digit#3 -- vbuxx=_inc_vbuxx 
    inx
    // [100] if((byte) myprintf::digit#2<(byte) myprintf::b#17) goto myprintf::@19 -- vbuxx_lt_vbuz1_then_la1 
    cpx b
    bcc b19
    // myprintf::@20
    // if (bTrailing != 0 && bDigits > b)
    // [101] if((byte) myprintf::bTrailing#10==(byte) 0) goto myprintf::@22 -- vbuz1_eq_0_then_la1 
    lda bTrailing
    cmp #0
    bne !b22+
    jmp b22
  !b22:
    // myprintf::@42
    // [102] if((byte) myprintf::bDigits#16<=(byte) myprintf::b#17) goto myprintf::@22 -- vbuz1_le_vbuz2_then_la1 
    lda b
    cmp bDigits
    bcc !b22+
    jmp b22
  !b22:
    // [103] phi from myprintf::@21 myprintf::@42 to myprintf::@21 [phi:myprintf::@21/myprintf::@42->myprintf::@21]
    // [103] phi (byte) myprintf::bDigits#8 = (byte) myprintf::bDigits#3 [phi:myprintf::@21/myprintf::@42->myprintf::@21#0] -- register_copy 
    // [103] phi (byte) myprintf::bLen#13 = (byte) myprintf::bLen#6 [phi:myprintf::@21/myprintf::@42->myprintf::@21#1] -- register_copy 
    // myprintf::@21
  b21:
    // dst[bLen++] = ' '
    // [104] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#13) ← (byte) ' ' -- pbuc1_derefidx_vbuz1=vbuc2 
    lda #' '
    ldy bLen
    sta strTemp,y
    // dst[bLen++] = ' ';
    // [105] (byte) myprintf::bLen#6 ← ++ (byte) myprintf::bLen#13 -- vbuz1=_inc_vbuz1 
    inc bLen
    // for (; bDigits > b; --bDigits)
    // [106] (byte) myprintf::bDigits#3 ← -- (byte) myprintf::bDigits#8 -- vbuz1=_dec_vbuz1 
    dec bDigits
    // [107] if((byte) myprintf::bDigits#3>(byte) myprintf::b#17) goto myprintf::@21 -- vbuz1_gt_vbuz2_then_la1 
    lda b
    cmp bDigits
    bcc b21
    jmp b22
    // [108] phi from myprintf::@18 myprintf::@41 to myprintf::@16 [phi:myprintf::@18/myprintf::@41->myprintf::@16]
    // [108] phi (byte) myprintf::bDigits#10 = (byte) myprintf::bDigits#2 [phi:myprintf::@18/myprintf::@41->myprintf::@16#0] -- register_copy 
    // [108] phi (byte) myprintf::bLen#11 = (byte) myprintf::bLen#4 [phi:myprintf::@18/myprintf::@41->myprintf::@16#1] -- register_copy 
    // myprintf::@16
  b16:
    // (bLeadZero == 0) ? ' ' : '0'
    // [109] if((byte) myprintf::bLeadZero#10==(byte) 0) goto myprintf::@17 -- vbuz1_eq_0_then_la1 
    lda bLeadZero
    cmp #0
    beq b17
    // [111] phi from myprintf::@16 to myprintf::@18 [phi:myprintf::@16->myprintf::@18]
    // [111] phi (byte~) myprintf::$41 = (byte) '0' [phi:myprintf::@16->myprintf::@18#0] -- vbuaa=vbuc1 
    lda #'0'
    jmp b18
    // [110] phi from myprintf::@16 to myprintf::@17 [phi:myprintf::@16->myprintf::@17]
    // myprintf::@17
  b17:
    // [111] phi from myprintf::@17 to myprintf::@18 [phi:myprintf::@17->myprintf::@18]
    // [111] phi (byte~) myprintf::$41 = (byte) ' ' [phi:myprintf::@17->myprintf::@18#0] -- vbuaa=vbuc1 
    lda #' '
    // myprintf::@18
  b18:
    // dst[bLen++] = (bLeadZero == 0) ? ' ' : '0'
    // [112] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#11) ← (byte~) myprintf::$41 -- pbuc1_derefidx_vbuz1=vbuaa 
    ldy bLen
    sta strTemp,y
    // dst[bLen++] = (bLeadZero == 0) ? ' ' : '0';
    // [113] (byte) myprintf::bLen#4 ← ++ (byte) myprintf::bLen#11 -- vbuz1=_inc_vbuz1 
    inc bLen
    // for (; bDigits > b; --bDigits)
    // [114] (byte) myprintf::bDigits#2 ← -- (byte) myprintf::bDigits#10 -- vbuz1=_dec_vbuz1 
    dec bDigits
    // [115] if((byte) myprintf::bDigits#2>(byte) myprintf::b#17) goto myprintf::@16 -- vbuz1_gt_vbuz2_then_la1 
    lda b
    cmp bDigits
    bcc b16
    jmp b15
    // myprintf::@13
  b13:
    // ++b;
    // [116] (byte) myprintf::b#5 ← ++ (byte) myprintf::b#17 -- vbuz1=_inc_vbuz1 
    inc b
    // [91] phi from myprintf::@13 to myprintf::@12 [phi:myprintf::@13->myprintf::@12]
    // [91] phi (byte) myprintf::b#17 = (byte) myprintf::b#5 [phi:myprintf::@13->myprintf::@12#0] -- register_copy 
    jmp b12
    // myprintf::@6
  b6:
    // (byte)w
    // [117] (byte~) myprintf::$49 ← (byte)(word) myprintf::w#10 -- vbuaa=_byte_vwuz1 
    lda w
    // dst[bLen++] = (byte)w
    // [118] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#14) ← (byte~) myprintf::$49 -- pbuc1_derefidx_vbuz1=vbuaa 
    // "switch" is the normal way -- not supported -- https://gitlab.com/camelot/kickc/issues/170
    ldy bLen
    sta strTemp,y
    // dst[bLen++] = (byte)w;
    // [119] (byte) myprintf::bLen#1 ← ++ (byte) myprintf::bLen#14 -- vbuz1=_inc_vbuz1 
    inc bLen
    jmp b22
    // myprintf::@23
  b23:
    // bDigits = b - '0'
    // [120] (byte) myprintf::bDigits#1 ← (byte) myprintf::b#1 - (byte) '0' -- vbuz1=vbuxx_minus_vbuc1 
    txa
    axs #'0'
    stx bDigits
    // [59] phi from myprintf::@23 myprintf::@32 to myprintf::@27 [phi:myprintf::@23/myprintf::@32->myprintf::@27]
    // [59] phi (byte) myprintf::bLeadZero#18 = (byte) myprintf::bLeadZero#10 [phi:myprintf::@23/myprintf::@32->myprintf::@27#0] -- register_copy 
    // [59] phi (byte) myprintf::bDigits#24 = (byte) myprintf::bDigits#1 [phi:myprintf::@23/myprintf::@32->myprintf::@27#1] -- register_copy 
    // [59] phi (byte) myprintf::bTrailing#21 = (byte) myprintf::bTrailing#10 [phi:myprintf::@23/myprintf::@32->myprintf::@27#2] -- register_copy 
    // [59] phi (word) myprintf::w#17 = (word) myprintf::w#10 [phi:myprintf::@23/myprintf::@32->myprintf::@27#3] -- register_copy 
    // [59] phi (byte) myprintf::bArg#10 = (byte) myprintf::bArg#12 [phi:myprintf::@23/myprintf::@32->myprintf::@27#4] -- register_copy 
    // [59] phi (byte) myprintf::return#0 = (byte) myprintf::bLen#14 [phi:myprintf::@23/myprintf::@32->myprintf::@27#5] -- register_copy 
    // [59] phi (byte) myprintf::bFormat#4 = (byte) myprintf::bFormat#10 [phi:myprintf::@23/myprintf::@32->myprintf::@27#6] -- register_copy 
    jmp b27
    // myprintf::@2
  b2:
    // if (b == '%')
    // [121] if((byte) myprintf::b#1!=(byte) '%') goto myprintf::@28 -- vbuxx_neq_vbuc1_then_la1 
    cpx #'%'
    bne b28
    // myprintf::@34
    // if (bArg == 0)
    // [122] if((byte) myprintf::bArg#12==(byte) 0) goto myprintf::@29 -- vbuz1_eq_0_then_la1 
    // default format
    //w = (bArg == 0) ? w1 : ((bArg == 1) ? w2 : w3); -- "?" is the normal way, but error "sequence does not contain all blocks" -- https://gitlab.com/camelot/kickc/issues/185 [FIXED]
    lda bArg
    cmp #0
    beq b29
    // myprintf::@35
    // if (bArg == 1)
    // [123] if((byte) myprintf::bArg#12==(byte) 1) goto myprintf::@30 -- vbuz1_eq_vbuc1_then_la1 
    lda #1
    cmp bArg
    beq b30
    // myprintf::@36
    // [124] (word~) myprintf::w#51 ← (word) myprintf::w3#7 -- vwuz1=vwuz2 
    lda w3
    sta w
    lda w3+1
    sta w+1
    // [125] phi from myprintf::@29 myprintf::@30 myprintf::@36 to myprintf::@31 [phi:myprintf::@29/myprintf::@30/myprintf::@36->myprintf::@31]
    // [125] phi (word) myprintf::w#21 = (word~) myprintf::w#49 [phi:myprintf::@29/myprintf::@30/myprintf::@36->myprintf::@31#0] -- register_copy 
    // myprintf::@31
  b31:
    // ++bArg;
    // [126] (byte) myprintf::bArg#1 ← ++ (byte) myprintf::bArg#12 -- vbuz1=_inc_vbuz1 
    inc bArg
    // [59] phi from myprintf::@31 to myprintf::@27 [phi:myprintf::@31->myprintf::@27]
    // [59] phi (byte) myprintf::bLeadZero#18 = (byte) 0 [phi:myprintf::@31->myprintf::@27#0] -- vbuz1=vbuc1 
    lda #0
    sta bLeadZero
    // [59] phi (byte) myprintf::bDigits#24 = (byte) 1 [phi:myprintf::@31->myprintf::@27#1] -- vbuz1=vbuc1 
    lda #1
    sta bDigits
    // [59] phi (byte) myprintf::bTrailing#21 = (byte) 0 [phi:myprintf::@31->myprintf::@27#2] -- vbuz1=vbuc1 
    lda #0
    sta bTrailing
    // [59] phi (word) myprintf::w#17 = (word) myprintf::w#21 [phi:myprintf::@31->myprintf::@27#3] -- register_copy 
    // [59] phi (byte) myprintf::bArg#10 = (byte) myprintf::bArg#1 [phi:myprintf::@31->myprintf::@27#4] -- register_copy 
    // [59] phi (byte) myprintf::return#0 = (byte) myprintf::bLen#14 [phi:myprintf::@31->myprintf::@27#5] -- register_copy 
    // [59] phi (byte) myprintf::bFormat#4 = (byte) 1 [phi:myprintf::@31->myprintf::@27#6] -- vbuz1=vbuc1 
    lda #1
    sta bFormat
    jmp b27
    // myprintf::@30
  b30:
    // [127] (word~) myprintf::w#50 ← (word) myprintf::w2#7 -- vwuz1=vwuz2 
    lda w2
    sta w
    lda w2+1
    sta w+1
    jmp b31
    // myprintf::@29
  b29:
    // [128] (word~) myprintf::w#49 ← (word) myprintf::w1#6 -- vwuz1=vwuz2 
    lda w1
    sta w
    lda w1+1
    sta w+1
    jmp b31
    // myprintf::@28
  b28:
    // if (b >= 0x41 && b <= 0x5A)
    // [129] if((byte) myprintf::b#1<(byte) $41) goto myprintf::@32 -- vbuxx_lt_vbuc1_then_la1 
    cpx #$41
    bcc b32
    // myprintf::@43
    // [130] if((byte) myprintf::b#1>=(byte) $5a+(byte) 1) goto myprintf::@32 -- vbuxx_ge_vbuc1_then_la1 
    cpx #$5a+1
    bcs b32
    // myprintf::@37
    // b += 0x20
    // [131] (byte) myprintf::b#6 ← (byte) myprintf::b#1 + (byte) $20 -- vbuxx=vbuxx_plus_vbuc1 
    txa
    axs #-[$20]
    // [132] phi from myprintf::@28 myprintf::@37 to myprintf::@32 [phi:myprintf::@28/myprintf::@37->myprintf::@32]
    // [132] phi (byte) myprintf::b#25 = (byte) myprintf::b#1 [phi:myprintf::@28/myprintf::@37->myprintf::@32#0] -- register_copy 
    // [132] phi from myprintf::@43 to myprintf::@32 [phi:myprintf::@43->myprintf::@32]
    // myprintf::@32
  b32:
    // dst[bLen++] = b
    // [133] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#14) ← (byte) myprintf::b#25 -- pbuc1_derefidx_vbuz1=vbuxx 
    // swap 0x41 / 0x61 when in lower case mode
    ldy bLen
    txa
    sta strTemp,y
    // dst[bLen++] = b;
    // [134] (byte) myprintf::bLen#7 ← ++ (byte) myprintf::bLen#14 -- vbuz1=_inc_vbuz1 
    inc bLen
    jmp b27
    buf6: .fill 6, 0
}
  // utoa
// utoa(word zeropage($13) value, byte* zeropage($15) dst)
utoa: {
    .label value = $13
    .label dst = $15
    // utoa::@13
    // if (bStarted == 1 || value >= 10000)
    // [136] if((word) utoa::value#4>=(word) $2710) goto utoa::@5 -- vwuz1_ge_vwuc1_then_la1 
    lda value+1
    cmp #>$2710
    bcc !+
    beq !b5+
    jmp b5
  !b5:
    lda value
    cmp #<$2710
    bcc !b5+
    jmp b5
  !b5:
  !:
    // [137] phi from utoa::@13 to utoa::@1 [phi:utoa::@13->utoa::@1]
    // [137] phi (byte*) utoa::dst#16 = (const byte[6]) myprintf::buf6#0 [phi:utoa::@13->utoa::@1#0] -- pbuz1=pbuc1 
    lda #<myprintf.buf6
    sta dst
    lda #>myprintf.buf6
    sta dst+1
    // [137] phi (word) utoa::value#6 = (word) utoa::value#4 [phi:utoa::@13->utoa::@1#1] -- register_copy 
    // [137] phi (byte) utoa::bStarted#5 = (byte) 0 [phi:utoa::@13->utoa::@1#2] -- vbuxx=vbuc1 
    ldx #0
    // utoa::@1
  b1:
    // if (bStarted == 1 || value >= 1000)
    // [138] if((byte) utoa::bStarted#5==(byte) 1) goto utoa::@6 -- vbuxx_eq_vbuc1_then_la1 
    cpx #1
    beq b6
    // utoa::@14
    // [139] if((word) utoa::value#6>=(word) $3e8) goto utoa::@6 -- vwuz1_ge_vwuc1_then_la1 
    lda value+1
    cmp #>$3e8
    bcc !+
    bne b6
    lda value
    cmp #<$3e8
    bcs b6
  !:
    // [140] phi from utoa::@14 to utoa::@2 [phi:utoa::@14->utoa::@2]
    // [140] phi (byte*) utoa::dst#10 = (byte*) utoa::dst#16 [phi:utoa::@14->utoa::@2#0] -- register_copy 
    // [140] phi (word) utoa::value#11 = (word) utoa::value#6 [phi:utoa::@14->utoa::@2#1] -- register_copy 
    // [140] phi (byte) utoa::bStarted#6 = (byte) utoa::bStarted#5 [phi:utoa::@14->utoa::@2#2] -- register_copy 
    // utoa::@2
  b2:
    // if (bStarted == 1 || value >= 100)
    // [141] if((byte) utoa::bStarted#6==(byte) 1) goto utoa::@7 -- vbuxx_eq_vbuc1_then_la1 
    cpx #1
    beq b7
    // utoa::@15
    // [142] if((word) utoa::value#11>=(byte) $64) goto utoa::@7 -- vwuz1_ge_vwuc1_then_la1 
    lda value+1
    cmp #>$64
    bcc !+
    bne b7
    lda value
    cmp #<$64
    bcs b7
  !:
    // [143] phi from utoa::@15 to utoa::@3 [phi:utoa::@15->utoa::@3]
    // [143] phi (byte*) utoa::dst#13 = (byte*) utoa::dst#10 [phi:utoa::@15->utoa::@3#0] -- register_copy 
    // [143] phi (word) utoa::value#10 = (word) utoa::value#11 [phi:utoa::@15->utoa::@3#1] -- register_copy 
    // [143] phi (byte) utoa::bStarted#7 = (byte) utoa::bStarted#6 [phi:utoa::@15->utoa::@3#2] -- register_copy 
    // utoa::@3
  b3:
    // if (bStarted == 1 || value >= 10)
    // [144] if((byte) utoa::bStarted#7==(byte) 1) goto utoa::@8 -- vbuxx_eq_vbuc1_then_la1 
    cpx #1
    beq b8
    // utoa::@16
    // [145] if((word) utoa::value#10>=(byte) $a) goto utoa::@8 -- vwuz1_ge_vwuc1_then_la1 
    lda value+1
    cmp #>$a
    bcc !+
    bne b8
    lda value
    cmp #<$a
    bcs b8
  !:
    // [146] phi from utoa::@12 utoa::@16 to utoa::@4 [phi:utoa::@12/utoa::@16->utoa::@4]
    // [146] phi (byte*) utoa::dst#12 = (byte*) utoa::dst#4 [phi:utoa::@12/utoa::@16->utoa::@4#0] -- register_copy 
    // [146] phi (word) utoa::value#12 = (word) utoa::value#3 [phi:utoa::@12/utoa::@16->utoa::@4#1] -- register_copy 
    // utoa::@4
  b4:
    // (byte)value
    // [147] (byte~) utoa::$16 ← (byte)(word) utoa::value#12 -- vbuaa=_byte_vwuz1 
    lda value
    // '0' + (byte)value
    // [148] (byte~) utoa::$17 ← (byte) '0' + (byte~) utoa::$16 -- vbuaa=vbuc1_plus_vbuaa 
    clc
    adc #'0'
    // *dst++ = '0' + (byte)value
    // [149] *((byte*) utoa::dst#12) ← (byte~) utoa::$17 -- _deref_pbuz1=vbuaa 
    ldy #0
    sta (dst),y
    // *dst++ = '0' + (byte)value;
    // [150] (byte*) utoa::dst#3 ← ++ (byte*) utoa::dst#12 -- pbuz1=_inc_pbuz1 
    inc dst
    bne !+
    inc dst+1
  !:
    // *dst = 0
    // [151] *((byte*) utoa::dst#3) ← (byte) 0 -- _deref_pbuz1=vbuc1 
    lda #0
    tay
    sta (dst),y
    // utoa::@return
    // }
    // [152] return 
    rts
    // utoa::@8
  b8:
    // append(dst++, value, 10)
    // [153] (byte*) append::dst#3 ← (byte*) utoa::dst#13
    // [154] (word) append::value#4 ← (word) utoa::value#10
    // [155] call append 
    // [175] phi from utoa::@8 to append [phi:utoa::@8->append]
    // [175] phi (word) append::sub#6 = (byte) $a [phi:utoa::@8->append#0] -- vwuz1=vbuc1 
    lda #<$a
    sta append.sub
    lda #>$a
    sta append.sub+1
    // [175] phi (word) append::value#8 = (word) append::value#4 [phi:utoa::@8->append#1] -- register_copy 
    // [175] phi (byte*) append::dst#4 = (byte*) append::dst#3 [phi:utoa::@8->append#2] -- register_copy 
    jsr append
    // append(dst++, value, 10)
    // [156] (word) append::return#10 ← (word) append::value#5
    // utoa::@12
    // value = append(dst++, value, 10)
    // [157] (word) utoa::value#3 ← (word) append::return#10
    // value = append(dst++, value, 10);
    // [158] (byte*) utoa::dst#4 ← ++ (byte*) utoa::dst#13 -- pbuz1=_inc_pbuz1 
    inc dst
    bne !+
    inc dst+1
  !:
    jmp b4
    // utoa::@7
  b7:
    // append(dst++, value, 100)
    // [159] (byte*) append::dst#2 ← (byte*) utoa::dst#10
    // [160] (word) append::value#3 ← (word) utoa::value#11
    // [161] call append 
    // [175] phi from utoa::@7 to append [phi:utoa::@7->append]
    // [175] phi (word) append::sub#6 = (byte) $64 [phi:utoa::@7->append#0] -- vwuz1=vbuc1 
    lda #<$64
    sta append.sub
    lda #>$64
    sta append.sub+1
    // [175] phi (word) append::value#8 = (word) append::value#3 [phi:utoa::@7->append#1] -- register_copy 
    // [175] phi (byte*) append::dst#4 = (byte*) append::dst#2 [phi:utoa::@7->append#2] -- register_copy 
    jsr append
    // append(dst++, value, 100)
    // [162] (word) append::return#4 ← (word) append::value#5
    // utoa::@11
    // value = append(dst++, value, 100)
    // [163] (word) utoa::value#2 ← (word) append::return#4
    // value = append(dst++, value, 100);
    // [164] (byte*) utoa::dst#2 ← ++ (byte*) utoa::dst#10 -- pbuz1=_inc_pbuz1 
    inc dst
    bne !+
    inc dst+1
  !:
    // [143] phi from utoa::@11 to utoa::@3 [phi:utoa::@11->utoa::@3]
    // [143] phi (byte*) utoa::dst#13 = (byte*) utoa::dst#2 [phi:utoa::@11->utoa::@3#0] -- register_copy 
    // [143] phi (word) utoa::value#10 = (word) utoa::value#2 [phi:utoa::@11->utoa::@3#1] -- register_copy 
    // [143] phi (byte) utoa::bStarted#7 = (byte) 1 [phi:utoa::@11->utoa::@3#2] -- vbuxx=vbuc1 
    ldx #1
    jmp b3
    // utoa::@6
  b6:
    // append(dst++, value, 1000)
    // [165] (byte*) append::dst#1 ← (byte*) utoa::dst#16
    // [166] (word) append::value#2 ← (word) utoa::value#6
    // [167] call append 
    // [175] phi from utoa::@6 to append [phi:utoa::@6->append]
    // [175] phi (word) append::sub#6 = (word) $3e8 [phi:utoa::@6->append#0] -- vwuz1=vwuc1 
    lda #<$3e8
    sta append.sub
    lda #>$3e8
    sta append.sub+1
    // [175] phi (word) append::value#8 = (word) append::value#2 [phi:utoa::@6->append#1] -- register_copy 
    // [175] phi (byte*) append::dst#4 = (byte*) append::dst#1 [phi:utoa::@6->append#2] -- register_copy 
    jsr append
    // append(dst++, value, 1000)
    // [168] (word) append::return#3 ← (word) append::value#5
    // utoa::@10
    // value = append(dst++, value, 1000)
    // [169] (word) utoa::value#1 ← (word) append::return#3
    // value = append(dst++, value, 1000);
    // [170] (byte*) utoa::dst#1 ← ++ (byte*) utoa::dst#16 -- pbuz1=_inc_pbuz1 
    inc dst
    bne !+
    inc dst+1
  !:
    // [140] phi from utoa::@10 to utoa::@2 [phi:utoa::@10->utoa::@2]
    // [140] phi (byte*) utoa::dst#10 = (byte*) utoa::dst#1 [phi:utoa::@10->utoa::@2#0] -- register_copy 
    // [140] phi (word) utoa::value#11 = (word) utoa::value#1 [phi:utoa::@10->utoa::@2#1] -- register_copy 
    // [140] phi (byte) utoa::bStarted#6 = (byte) 1 [phi:utoa::@10->utoa::@2#2] -- vbuxx=vbuc1 
    ldx #1
    jmp b2
    // utoa::@5
  b5:
    // append(dst++, value, 10000)
    // [171] (word) append::value#1 ← (word) utoa::value#4
    // [172] call append 
    // [175] phi from utoa::@5 to append [phi:utoa::@5->append]
    // [175] phi (word) append::sub#6 = (word) $2710 [phi:utoa::@5->append#0] -- vwuz1=vwuc1 
    lda #<$2710
    sta append.sub
    lda #>$2710
    sta append.sub+1
    // [175] phi (word) append::value#8 = (word) append::value#1 [phi:utoa::@5->append#1] -- register_copy 
    // [175] phi (byte*) append::dst#4 = (const byte[6]) myprintf::buf6#0 [phi:utoa::@5->append#2] -- pbuz1=pbuc1 
    lda #<myprintf.buf6
    sta append.dst
    lda #>myprintf.buf6
    sta append.dst+1
    jsr append
    // append(dst++, value, 10000)
    // [173] (word) append::return#2 ← (word) append::value#5
    // utoa::@9
    // value = append(dst++, value, 10000)
    // [174] (word) utoa::value#0 ← (word) append::return#2
    // [137] phi from utoa::@9 to utoa::@1 [phi:utoa::@9->utoa::@1]
    // [137] phi (byte*) utoa::dst#16 = ++(const byte[6]) myprintf::buf6#0 [phi:utoa::@9->utoa::@1#0] -- pbuz1=pbuc1 
    lda #<myprintf.buf6+1
    sta dst
    lda #>myprintf.buf6+1
    sta dst+1
    // [137] phi (word) utoa::value#6 = (word) utoa::value#0 [phi:utoa::@9->utoa::@1#1] -- register_copy 
    // [137] phi (byte) utoa::bStarted#5 = (byte) 1 [phi:utoa::@9->utoa::@1#2] -- vbuxx=vbuc1 
    ldx #1
    jmp b1
}
  // append
// simple 'utoa' without using multiply or divide
// append(byte* zeropage($15) dst, word zeropage($13) value, word zeropage($17) sub)
append: {
    .label value = $13
    .label return = $13
    .label dst = $15
    .label sub = $17
    // *dst = '0'
    // [176] *((byte*) append::dst#4) ← (byte) '0' -- _deref_pbuz1=vbuc1 
    lda #'0'
    ldy #0
    sta (dst),y
    // [177] phi from append append::@2 to append::@1 [phi:append/append::@2->append::@1]
    // [177] phi (word) append::value#5 = (word) append::value#8 [phi:append/append::@2->append::@1#0] -- register_copy 
    // append::@1
  b1:
    // while (value >= sub)
    // [178] if((word) append::value#5>=(word) append::sub#6) goto append::@2 -- vwuz1_ge_vwuz2_then_la1 
    lda sub+1
    cmp value+1
    bne !+
    lda sub
    cmp value
    beq b2
  !:
    bcc b2
    // append::@return
    // }
    // [179] return 
    rts
    // append::@2
  b2:
    // ++*dst;
    // [180] *((byte*) append::dst#4) ← ++ *((byte*) append::dst#4) -- _deref_pbuz1=_inc__deref_pbuz1 
    ldy #0
    lda (dst),y
    clc
    adc #1
    sta (dst),y
    // value -= sub
    // [181] (word) append::value#0 ← (word) append::value#5 - (word) append::sub#6 -- vwuz1=vwuz1_minus_vwuz2 
    lda value
    sec
    sbc sub
    sta value
    lda value+1
    sbc sub+1
    sta value+1
    jmp b1
}
  // div10
// div10(word zeropage($21) val)
div10: {
    .label _0 = $21
    .label _2 = $23
    .label _3 = $25
    .label _4 = 4
    .label val = $21
    .label val_1 = $23
    .label val_2 = $25
    .label val_3 = 4
    .label return = 4
    .label val_4 = 2
    // val >> 1
    // [182] (word~) div10::$0 ← (word) div10::val#4 >> (byte) 1 -- vwuz1=vwuz2_ror_1 
    lda val_4+1
    lsr
    sta _0+1
    lda val_4
    ror
    sta _0
    // val = (val >> 1) + 1
    // [183] (word) div10::val#0 ← (word~) div10::$0 + (byte) 1 -- vwuz1=vwuz1_plus_1 
    inc val
    bne !+
    inc val+1
  !:
    // val << 1
    // [184] (word~) div10::$2 ← (word) div10::val#0 << (byte) 1 -- vwuz1=vwuz2_rol_1 
    lda val
    asl
    sta _2
    lda val+1
    rol
    sta _2+1
    // val += val << 1
    // [185] (word) div10::val#1 ← (word) div10::val#0 + (word~) div10::$2 -- vwuz1=vwuz2_plus_vwuz1 
    lda val_1
    clc
    adc val
    sta val_1
    lda val_1+1
    adc val+1
    sta val_1+1
    // val >> 4
    // [186] (word~) div10::$3 ← (word) div10::val#1 >> (byte) 4 -- vwuz1=vwuz2_ror_4 
    lsr
    sta _3+1
    lda val_1
    ror
    sta _3
    lsr _3+1
    ror _3
    lsr _3+1
    ror _3
    lsr _3+1
    ror _3
    // val += val >> 4
    // [187] (word) div10::val#2 ← (word) div10::val#1 + (word~) div10::$3 -- vwuz1=vwuz2_plus_vwuz1 
    lda val_2
    clc
    adc val_1
    sta val_2
    lda val_2+1
    adc val_1+1
    sta val_2+1
    // val >> 8
    // [188] (word~) div10::$4 ← (word) div10::val#2 >> (byte) 8 -- vwuz1=vwuz2_ror_8 
    sta _4
    lda #0
    sta _4+1
    // val += val >> 8
    // [189] (word) div10::val#3 ← (word) div10::val#2 + (word~) div10::$4 -- vwuz1=vwuz2_plus_vwuz1 
    lda val_3
    clc
    adc val_2
    sta val_3
    lda val_3+1
    adc val_2+1
    sta val_3+1
    // val >> 4
    // [190] (word) div10::return#0 ← (word) div10::val#3 >> (byte) 4 -- vwuz1=vwuz1_ror_4 
    lsr return+1
    ror return
    lsr return+1
    ror return
    lsr return+1
    ror return
    lsr return+1
    ror return
    // div10::@return
    // }
    // [191] return 
    rts
}
  // div16u
// Performs division on two 16 bit unsigned words
// Returns the quotient dividend/divisor.
// The remainder will be set into the global variable rem16u
// Implemented using simple binary division
// div16u(word zeropage(2) dividend)
div16u: {
    .label divisor = $a
    .label return = 4
    .label dividend = 2
    // divr16u(dividend, divisor, 0)
    // [192] (word) divr16u::dividend#1 ← (word) div16u::dividend#0 -- vwuz1=vwuz2 
    lda dividend
    sta divr16u.dividend
    lda dividend+1
    sta divr16u.dividend+1
    // [193] call divr16u 
    // [197] phi from div16u to divr16u [phi:div16u->divr16u]
    jsr divr16u
    // divr16u(dividend, divisor, 0)
    // [194] (word) divr16u::return#2 ← (word) divr16u::return#0
    // div16u::@1
    // [195] (word) div16u::return#0 ← (word) divr16u::return#2
    // div16u::@return
    // }
    // [196] return 
    rts
}
  // divr16u
// Performs division on two 16 bit unsigned words and an initial remainder
// Returns the quotient dividend/divisor.
// The final remainder will be set into the global variable rem16u
// Implemented using simple binary division
// divr16u(word zeropage($1b) dividend, word zeropage($19) rem)
divr16u: {
    .label rem = $19
    .label dividend = $1b
    .label quotient = 4
    .label return = 4
    // [198] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1]
    // [198] phi (byte) divr16u::i#2 = (byte) 0 [phi:divr16u->divr16u::@1#0] -- vbuxx=vbuc1 
    ldx #0
    // [198] phi (word) divr16u::quotient#3 = (byte) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 
    txa
    sta quotient
    sta quotient+1
    // [198] phi (word) divr16u::dividend#2 = (word) divr16u::dividend#1 [phi:divr16u->divr16u::@1#2] -- register_copy 
    // [198] phi (word) divr16u::rem#4 = (byte) 0 [phi:divr16u->divr16u::@1#3] -- vwuz1=vbuc1 
    sta rem
    sta rem+1
    // [198] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1]
    // [198] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy 
    // [198] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy 
    // [198] phi (word) divr16u::dividend#2 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy 
    // [198] phi (word) divr16u::rem#4 = (word) divr16u::rem#9 [phi:divr16u::@3->divr16u::@1#3] -- register_copy 
    // divr16u::@1
  b1:
    // rem = rem << 1
    // [199] (word) divr16u::rem#0 ← (word) divr16u::rem#4 << (byte) 1 -- vwuz1=vwuz1_rol_1 
    asl rem
    rol rem+1
    // >dividend
    // [200] (byte~) divr16u::$1 ← > (word) divr16u::dividend#2 -- vbuaa=_hi_vwuz1 
    lda dividend+1
    // >dividend & $80
    // [201] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte) $80 -- vbuaa=vbuaa_band_vbuc1 
    and #$80
    // if( (>dividend & $80) != 0 )
    // [202] if((byte~) divr16u::$2==(byte) 0) goto divr16u::@2 -- vbuaa_eq_0_then_la1 
    cmp #0
    beq b2
    // divr16u::@4
    // rem = rem | 1
    // [203] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte) 1 -- vwuz1=vwuz1_bor_vbuc1 
    lda #1
    ora rem
    sta rem
    // [204] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2]
    // [204] phi (word) divr16u::rem#5 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy 
    // divr16u::@2
  b2:
    // dividend = dividend << 1
    // [205] (word) divr16u::dividend#0 ← (word) divr16u::dividend#2 << (byte) 1 -- vwuz1=vwuz1_rol_1 
    asl dividend
    rol dividend+1
    // quotient = quotient << 1
    // [206] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte) 1 -- vwuz1=vwuz1_rol_1 
    asl quotient
    rol quotient+1
    // if(rem>=divisor)
    // [207] if((word) divr16u::rem#5<(const word) div16u::divisor#0) goto divr16u::@3 -- vwuz1_lt_vwuc1_then_la1 
    lda rem+1
    cmp #>div16u.divisor
    bcc b3
    bne !+
    lda rem
    cmp #<div16u.divisor
    bcc b3
  !:
    // divr16u::@5
    // quotient++;
    // [208] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 -- vwuz1=_inc_vwuz1 
    inc quotient
    bne !+
    inc quotient+1
  !:
    // rem = rem - divisor
    // [209] (word) divr16u::rem#2 ← (word) divr16u::rem#5 - (const word) div16u::divisor#0 -- vwuz1=vwuz1_minus_vwuc1 
    lda rem
    sec
    sbc #<div16u.divisor
    sta rem
    lda rem+1
    sbc #>div16u.divisor
    sta rem+1
    // [210] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3]
    // [210] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy 
    // [210] phi (word) divr16u::rem#9 = (word) divr16u::rem#5 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy 
    // divr16u::@3
  b3:
    // for( byte i : 0..15)
    // [211] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 -- vbuxx=_inc_vbuxx 
    inx
    // [212] if((byte) divr16u::i#1!=(byte) $10) goto divr16u::@1 -- vbuxx_neq_vbuc1_then_la1 
    cpx #$10
    bne b1
    // divr16u::@return
    // }
    // [213] return 
    rts
}
  // File Data
  // "char buf16[16]" is the normal way -- not supported -- https://gitlab.com/camelot/kickc/issues/162
  strTemp: .fill $64, 0

