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::@74
Culled Empty Block (label) myprintf::@75
Culled Empty Block (label) myprintf::@78
Culled Empty Block (label) myprintf::@56
Culled Empty Block (label) myprintf::@58
Culled Empty Block (label) myprintf::@10
Culled Empty Block (label) myprintf::@62
Culled Empty Block (label) myprintf::@17
Culled Empty Block (label) myprintf::@18
Culled Empty Block (label) myprintf::@19
Culled Empty Block (label) myprintf::@20
Culled Empty Block (label) myprintf::@63
Culled Empty Block (label) myprintf::@24
Culled Empty Block (label) myprintf::@25
Culled Empty Block (label) myprintf::@26
Culled Empty Block (label) myprintf::@27
Culled Empty Block (label) myprintf::@35
Culled Empty Block (label) myprintf::@31
Culled Empty Block (label) myprintf::@36
Culled Empty Block (label) myprintf::@37
Culled Empty Block (label) myprintf::@38
Culled Empty Block (label) myprintf::@39
Culled Empty Block (label) myprintf::@43
Culled Empty Block (label) myprintf::@44
Culled Empty Block (label) myprintf::@45
Culled Empty Block (label) myprintf::@47
Culled Empty Block (label) myprintf::@46
Culled Empty Block (label) myprintf::@51
Culled Empty Block (label) myprintf::@50
Culled Empty Block (label) myprintf::@52
Culled Empty Block (label) myprintf::@53
Culled Empty Block (label) myprintf::@64
Culled Empty Block (label) myprintf::@65
Culled Empty Block (label) myprintf::@69
Culled Empty Block (label) myprintf::@82
Culled Empty Block (label) myprintf::@71
Culled Empty Block (label) myprintf::@72
Culled Empty Block (label) myprintf::@84
Culled Empty Block (label) myprintf::@85
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::@11
Culled Empty Block (label) main::@12
Culled Empty Block (label) main::@7
Culled Empty Block (label) main::@8
Culled Empty Block (label) main::@9
Culled Empty Block (label) main::@10
Culled Empty Block (label) main::@23
Culled Empty Block (label) main::@24
Culled Empty Block (label) main::@19
Culled Empty Block (label) main::@20
Culled Empty Block (label) main::@21
Culled Empty Block (label) main::@22
Culled Empty Block (label) main::@25

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::@5
  (word) div16u::divisor#1 ← phi( main::@5/(word) div16u::divisor#0 )
  (word) div16u::dividend#1 ← phi( main::@5/(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::@9
  (byte*) utoa::dst#15 ← phi( myprintf::@9/(byte*) utoa::dst#5 )
  (word) utoa::value#5 ← phi( myprintf::@9/(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::@18 main::@6
  (word) myprintf::w3#8 ← phi( main::@18/(word) myprintf::w3#1 main::@6/(word) myprintf::w3#0 )
  (word) myprintf::w2#8 ← phi( main::@18/(word) myprintf::w2#1 main::@6/(word) myprintf::w2#0 )
  (word) myprintf::w1#7 ← phi( main::@18/(word) myprintf::w1#1 main::@6/(word) myprintf::w1#0 )
  (byte*) myprintf::dst#22 ← phi( main::@18/(byte*) myprintf::dst#1 main::@6/(byte*) myprintf::dst#0 )
  (byte*) myprintf::str#6 ← phi( main::@18/(byte*) myprintf::str#2 main::@6/(byte*) myprintf::str#1 )
  (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::@54 myprintf::@55 myprintf::@57 myprintf::@70 myprintf::@73 myprintf::@77
  (byte) myprintf::bLeadZero#19 ← phi( myprintf/(byte) myprintf::bLeadZero#0 myprintf::@54/(byte) myprintf::bLeadZero#20 myprintf::@55/(byte) myprintf::bLeadZero#21 myprintf::@57/(byte) myprintf::bLeadZero#22 myprintf::@70/(byte) myprintf::bLeadZero#23 myprintf::@73/(byte) myprintf::bLeadZero#24 myprintf::@77/(byte) myprintf::bLeadZero#1 )
  (byte) myprintf::bDigits#27 ← phi( myprintf/(byte) myprintf::bDigits#0 myprintf::@54/(byte) myprintf::bDigits#28 myprintf::@55/(byte) myprintf::bDigits#1 myprintf::@57/(byte) myprintf::bDigits#29 myprintf::@70/(byte) myprintf::bDigits#30 myprintf::@73/(byte) myprintf::bDigits#31 myprintf::@77/(byte) myprintf::bDigits#32 )
  (byte) myprintf::bTrailing#23 ← phi( myprintf/(byte) myprintf::bTrailing#0 myprintf::@54/(byte) myprintf::bTrailing#24 myprintf::@55/(byte) myprintf::bTrailing#25 myprintf::@57/(byte) myprintf::bTrailing#1 myprintf::@70/(byte) myprintf::bTrailing#26 myprintf::@73/(byte) myprintf::bTrailing#27 myprintf::@77/(byte) myprintf::bTrailing#28 )
  (word) myprintf::w#17 ← phi( myprintf/(word) myprintf::w#0 myprintf::@54/(word) myprintf::w#18 myprintf::@55/(word) myprintf::w#19 myprintf::@57/(word) myprintf::w#20 myprintf::@70/(word) myprintf::w#21 myprintf::@73/(word) myprintf::w#22 myprintf::@77/(word) myprintf::w#23 )
  (word) myprintf::w3#7 ← phi( myprintf/(word) myprintf::w3#8 myprintf::@54/(word) myprintf::w3#9 myprintf::@55/(word) myprintf::w3#10 myprintf::@57/(word) myprintf::w3#11 myprintf::@70/(word) myprintf::w3#12 myprintf::@73/(word) myprintf::w3#13 myprintf::@77/(word) myprintf::w3#14 )
  (word) myprintf::w2#7 ← phi( myprintf/(word) myprintf::w2#8 myprintf::@54/(word) myprintf::w2#9 myprintf::@55/(word) myprintf::w2#10 myprintf::@57/(word) myprintf::w2#11 myprintf::@70/(word) myprintf::w2#12 myprintf::@73/(word) myprintf::w2#13 myprintf::@77/(word) myprintf::w2#14 )
  (word) myprintf::w1#6 ← phi( myprintf/(word) myprintf::w1#7 myprintf::@54/(word) myprintf::w1#8 myprintf::@55/(word) myprintf::w1#9 myprintf::@57/(word) myprintf::w1#10 myprintf::@70/(word) myprintf::w1#11 myprintf::@73/(word) myprintf::w1#12 myprintf::@77/(word) myprintf::w1#13 )
  (byte) myprintf::bArg#10 ← phi( myprintf/(byte) myprintf::bArg#0 myprintf::@54/(byte) myprintf::bArg#11 myprintf::@55/(byte) myprintf::bArg#12 myprintf::@57/(byte) myprintf::bArg#13 myprintf::@70/(byte) myprintf::bArg#1 myprintf::@73/(byte) myprintf::bArg#14 myprintf::@77/(byte) myprintf::bArg#15 )
  (byte) myprintf::bLen#16 ← phi( myprintf/(byte) myprintf::bLen#0 myprintf::@54/(byte) myprintf::bLen#28 myprintf::@55/(byte) myprintf::bLen#29 myprintf::@57/(byte) myprintf::bLen#30 myprintf::@70/(byte) myprintf::bLen#31 myprintf::@73/(byte) myprintf::bLen#7 myprintf::@77/(byte) myprintf::bLen#32 )
  (byte*) myprintf::dst#10 ← phi( myprintf/(byte*) myprintf::dst#22 myprintf::@54/(byte*) myprintf::dst#23 myprintf::@55/(byte*) myprintf::dst#24 myprintf::@57/(byte*) myprintf::dst#25 myprintf::@70/(byte*) myprintf::dst#26 myprintf::@73/(byte*) myprintf::dst#9 myprintf::@77/(byte*) myprintf::dst#27 )
  (byte) myprintf::bFormat#4 ← phi( myprintf/(byte) myprintf::bFormat#0 myprintf::@54/(byte) myprintf::bFormat#1 myprintf::@55/(byte) myprintf::bFormat#5 myprintf::@57/(byte) myprintf::bFormat#6 myprintf::@70/(byte) myprintf::bFormat#7 myprintf::@73/(byte) myprintf::bFormat#8 myprintf::@77/(byte) myprintf::bFormat#9 )
  (byte*) myprintf::str#3 ← phi( myprintf/(byte*) myprintf::str#6 myprintf::@54/(byte*) myprintf::str#7 myprintf::@55/(byte*) myprintf::str#8 myprintf::@57/(byte*) myprintf::str#9 myprintf::@70/(byte*) myprintf::str#10 myprintf::@73/(byte*) myprintf::str#0 myprintf::@77/(byte*) myprintf::str#11 )
  (bool~) myprintf::$0 ← *((byte*) myprintf::str#3) != (number) 0
  if((bool~) myprintf::$0) goto myprintf::@2
  to:myprintf::@3
myprintf::@2: scope:[myprintf]  from myprintf::@1
  (byte) myprintf::bLeadZero#18 ← phi( myprintf::@1/(byte) myprintf::bLeadZero#19 )
  (byte) myprintf::bDigits#26 ← phi( myprintf::@1/(byte) myprintf::bDigits#27 )
  (byte) myprintf::bTrailing#22 ← phi( myprintf::@1/(byte) myprintf::bTrailing#23 )
  (word) myprintf::w#16 ← phi( myprintf::@1/(word) myprintf::w#17 )
  (word) myprintf::w3#6 ← phi( myprintf::@1/(word) myprintf::w3#7 )
  (word) myprintf::w2#6 ← phi( myprintf::@1/(word) myprintf::w2#7 )
  (word) myprintf::w1#5 ← phi( myprintf::@1/(word) myprintf::w1#6 )
  (byte) myprintf::bLen#39 ← phi( myprintf::@1/(byte) myprintf::bLen#16 )
  (byte*) myprintf::dst#34 ← phi( myprintf::@1/(byte*) myprintf::dst#10 )
  (byte) myprintf::bArg#9 ← phi( myprintf::@1/(byte) myprintf::bArg#10 )
  (byte) myprintf::bFormat#3 ← phi( myprintf::@1/(byte) myprintf::bFormat#4 )
  (byte*) myprintf::str#4 ← phi( myprintf::@1/(byte*) myprintf::str#3 )
  (byte) myprintf::b#1 ← *((byte*) myprintf::str#4)
  (bool~) myprintf::$1 ← (byte) myprintf::bFormat#3 != (number) 0
  (bool~) myprintf::$2 ← ! (bool~) myprintf::$1
  if((bool~) myprintf::$2) goto myprintf::@4
  to:myprintf::@76
myprintf::@3: scope:[myprintf]  from myprintf::@1
  (byte) myprintf::bLen#8 ← phi( myprintf::@1/(byte) myprintf::bLen#16 )
  (byte*) myprintf::dst#2 ← phi( myprintf::@1/(byte*) myprintf::dst#10 )
  *((byte*) myprintf::dst#2 + (byte) myprintf::bLen#8) ← (number) 0
  (byte) myprintf::return#0 ← (byte) myprintf::bLen#8
  to:myprintf::@return
myprintf::@4: scope:[myprintf]  from myprintf::@2
  (byte) myprintf::bLeadZero#39 ← phi( myprintf::@2/(byte) myprintf::bLeadZero#18 )
  (byte) myprintf::bDigits#43 ← phi( myprintf::@2/(byte) myprintf::bDigits#26 )
  (byte) myprintf::bTrailing#41 ← phi( myprintf::@2/(byte) myprintf::bTrailing#22 )
  (word) myprintf::w#33 ← phi( myprintf::@2/(word) myprintf::w#16 )
  (byte) myprintf::bFormat#18 ← phi( myprintf::@2/(byte) myprintf::bFormat#3 )
  (word) myprintf::w3#5 ← phi( myprintf::@2/(word) myprintf::w3#6 )
  (word) myprintf::w2#5 ← phi( myprintf::@2/(word) myprintf::w2#6 )
  (word) myprintf::w1#4 ← phi( myprintf::@2/(word) myprintf::w1#5 )
  (byte*) myprintf::str#22 ← phi( myprintf::@2/(byte*) myprintf::str#4 )
  (byte) myprintf::bLen#38 ← phi( myprintf::@2/(byte) myprintf::bLen#39 )
  (byte*) myprintf::dst#33 ← phi( myprintf::@2/(byte*) myprintf::dst#34 )
  (byte) myprintf::bArg#5 ← phi( myprintf::@2/(byte) myprintf::bArg#9 )
  (byte) myprintf::b#7 ← phi( myprintf::@2/(byte) myprintf::b#1 )
  (bool~) myprintf::$51 ← (byte) myprintf::b#7 == (byte) '%'
  (bool~) myprintf::$52 ← ! (bool~) myprintf::$51
  if((bool~) myprintf::$52) goto myprintf::@66
  to:myprintf::@79
myprintf::@76: scope:[myprintf]  from myprintf::@2
  (byte) myprintf::bLeadZero#17 ← phi( myprintf::@2/(byte) myprintf::bLeadZero#18 )
  (byte) myprintf::bDigits#25 ← phi( myprintf::@2/(byte) myprintf::bDigits#26 )
  (byte) myprintf::bTrailing#21 ← phi( myprintf::@2/(byte) myprintf::bTrailing#22 )
  (word) myprintf::w3#15 ← phi( myprintf::@2/(word) myprintf::w3#6 )
  (word) myprintf::w2#15 ← phi( myprintf::@2/(word) myprintf::w2#6 )
  (word) myprintf::w1#14 ← phi( myprintf::@2/(word) myprintf::w1#5 )
  (byte) myprintf::bArg#16 ← phi( myprintf::@2/(byte) myprintf::bArg#9 )
  (word) myprintf::w#15 ← phi( myprintf::@2/(word) myprintf::w#16 )
  (byte) myprintf::bLen#40 ← phi( myprintf::@2/(byte) myprintf::bLen#39 )
  (byte*) myprintf::dst#35 ← phi( myprintf::@2/(byte*) myprintf::dst#34 )
  (byte) myprintf::bFormat#10 ← phi( myprintf::@2/(byte) myprintf::bFormat#3 )
  (byte*) myprintf::str#14 ← phi( myprintf::@2/(byte*) myprintf::str#4 )
  (byte) myprintf::b#8 ← phi( myprintf::@2/(byte) myprintf::b#1 )
  (bool~) myprintf::$3 ← (byte) myprintf::b#8 == (byte) '0'
  (bool~) myprintf::$4 ← ! (bool~) myprintf::$3
  if((bool~) myprintf::$4) goto myprintf::@5
  to:myprintf::@77
myprintf::@5: scope:[myprintf]  from myprintf::@76
  (byte) myprintf::bLeadZero#16 ← phi( myprintf::@76/(byte) myprintf::bLeadZero#17 )
  (word) myprintf::w3#16 ← phi( myprintf::@76/(word) myprintf::w3#15 )
  (word) myprintf::w2#16 ← phi( myprintf::@76/(word) myprintf::w2#15 )
  (byte) myprintf::bDigits#24 ← phi( myprintf::@76/(byte) myprintf::bDigits#25 )
  (byte) myprintf::bTrailing#20 ← phi( myprintf::@76/(byte) myprintf::bTrailing#21 )
  (word) myprintf::w1#15 ← phi( myprintf::@76/(word) myprintf::w1#14 )
  (byte) myprintf::bArg#17 ← phi( myprintf::@76/(byte) myprintf::bArg#16 )
  (byte) myprintf::bFormat#11 ← phi( myprintf::@76/(byte) myprintf::bFormat#10 )
  (byte) myprintf::bLen#41 ← phi( myprintf::@76/(byte) myprintf::bLen#40 )
  (byte*) myprintf::dst#36 ← phi( myprintf::@76/(byte*) myprintf::dst#35 )
  (word) myprintf::w#14 ← phi( myprintf::@76/(word) myprintf::w#15 )
  (byte*) myprintf::str#15 ← phi( myprintf::@76/(byte*) myprintf::str#14 )
  (byte) myprintf::b#9 ← phi( myprintf::@76/(byte) myprintf::b#8 )
  (bool~) myprintf::$5 ← (byte) myprintf::b#9 >= (byte) '1'
  (bool~) myprintf::$6 ← (byte) myprintf::b#9 <= (byte) '9'
  (bool~) myprintf::$7 ← (bool~) myprintf::$5 && (bool~) myprintf::$6
  (bool~) myprintf::$8 ← ! (bool~) myprintf::$7
  if((bool~) myprintf::$8) goto myprintf::@6
  to:myprintf::@55
myprintf::@77: scope:[myprintf]  from myprintf::@76
  (byte) myprintf::bDigits#32 ← phi( myprintf::@76/(byte) myprintf::bDigits#25 )
  (byte) myprintf::bTrailing#28 ← phi( myprintf::@76/(byte) myprintf::bTrailing#21 )
  (word) myprintf::w#23 ← phi( myprintf::@76/(word) myprintf::w#15 )
  (word) myprintf::w3#14 ← phi( myprintf::@76/(word) myprintf::w3#15 )
  (word) myprintf::w2#14 ← phi( myprintf::@76/(word) myprintf::w2#15 )
  (word) myprintf::w1#13 ← phi( myprintf::@76/(word) myprintf::w1#14 )
  (byte) myprintf::bArg#15 ← phi( myprintf::@76/(byte) myprintf::bArg#16 )
  (byte) myprintf::bLen#32 ← phi( myprintf::@76/(byte) myprintf::bLen#40 )
  (byte*) myprintf::dst#27 ← phi( myprintf::@76/(byte*) myprintf::dst#35 )
  (byte) myprintf::bFormat#9 ← phi( myprintf::@76/(byte) myprintf::bFormat#10 )
  (byte*) myprintf::str#11 ← phi( myprintf::@76/(byte*) myprintf::str#14 )
  (byte) myprintf::bLeadZero#1 ← (number) 1
  to:myprintf::@1
myprintf::@6: scope:[myprintf]  from myprintf::@5
  (byte) myprintf::bLeadZero#15 ← phi( myprintf::@5/(byte) myprintf::bLeadZero#16 )
  (word) myprintf::w3#17 ← phi( myprintf::@5/(word) myprintf::w3#16 )
  (word) myprintf::w2#17 ← phi( myprintf::@5/(word) myprintf::w2#16 )
  (word) myprintf::w1#16 ← phi( myprintf::@5/(word) myprintf::w1#15 )
  (byte) myprintf::bDigits#23 ← phi( myprintf::@5/(byte) myprintf::bDigits#24 )
  (byte) myprintf::bTrailing#18 ← phi( myprintf::@5/(byte) myprintf::bTrailing#20 )
  (byte) myprintf::bArg#18 ← phi( myprintf::@5/(byte) myprintf::bArg#17 )
  (byte) myprintf::bFormat#12 ← phi( myprintf::@5/(byte) myprintf::bFormat#11 )
  (byte*) myprintf::str#16 ← phi( myprintf::@5/(byte*) myprintf::str#15 )
  (byte) myprintf::bLen#33 ← phi( myprintf::@5/(byte) myprintf::bLen#41 )
  (byte*) myprintf::dst#28 ← phi( myprintf::@5/(byte*) myprintf::dst#36 )
  (word) myprintf::w#13 ← phi( myprintf::@5/(word) myprintf::w#14 )
  (byte) myprintf::b#10 ← phi( myprintf::@5/(byte) myprintf::b#9 )
  (bool~) myprintf::$10 ← (byte) myprintf::b#10 == (byte) '-'
  (bool~) myprintf::$11 ← ! (bool~) myprintf::$10
  if((bool~) myprintf::$11) goto myprintf::@7
  to:myprintf::@57
myprintf::@55: scope:[myprintf]  from myprintf::@5
  (byte) myprintf::bLeadZero#21 ← phi( myprintf::@5/(byte) myprintf::bLeadZero#16 )
  (byte) myprintf::bTrailing#25 ← phi( myprintf::@5/(byte) myprintf::bTrailing#20 )
  (word) myprintf::w#19 ← phi( myprintf::@5/(word) myprintf::w#14 )
  (word) myprintf::w3#10 ← phi( myprintf::@5/(word) myprintf::w3#16 )
  (word) myprintf::w2#10 ← phi( myprintf::@5/(word) myprintf::w2#16 )
  (word) myprintf::w1#9 ← phi( myprintf::@5/(word) myprintf::w1#15 )
  (byte) myprintf::bArg#12 ← phi( myprintf::@5/(byte) myprintf::bArg#17 )
  (byte) myprintf::bLen#29 ← phi( myprintf::@5/(byte) myprintf::bLen#41 )
  (byte*) myprintf::dst#24 ← phi( myprintf::@5/(byte*) myprintf::dst#36 )
  (byte) myprintf::bFormat#5 ← phi( myprintf::@5/(byte) myprintf::bFormat#11 )
  (byte*) myprintf::str#8 ← phi( myprintf::@5/(byte*) myprintf::str#15 )
  (byte) myprintf::b#11 ← phi( myprintf::@5/(byte) myprintf::b#9 )
  (byte~) myprintf::$9 ← (byte) myprintf::b#11 - (byte) '0'
  (byte) myprintf::bDigits#1 ← (byte~) myprintf::$9
  to:myprintf::@1
myprintf::@7: scope:[myprintf]  from myprintf::@6
  (word) myprintf::w3#27 ← phi( myprintf::@6/(word) myprintf::w3#17 )
  (word) myprintf::w2#27 ← phi( myprintf::@6/(word) myprintf::w2#17 )
  (byte) myprintf::bLeadZero#14 ← phi( myprintf::@6/(byte) myprintf::bLeadZero#15 )
  (word) myprintf::w1#26 ← phi( myprintf::@6/(word) myprintf::w1#16 )
  (byte) myprintf::bArg#26 ← phi( myprintf::@6/(byte) myprintf::bArg#18 )
  (byte) myprintf::bDigits#22 ← phi( myprintf::@6/(byte) myprintf::bDigits#23 )
  (byte) myprintf::bTrailing#15 ← phi( myprintf::@6/(byte) myprintf::bTrailing#18 )
  (byte*) myprintf::str#26 ← phi( myprintf::@6/(byte*) myprintf::str#16 )
  (byte) myprintf::bLen#17 ← phi( myprintf::@6/(byte) myprintf::bLen#33 )
  (byte*) myprintf::dst#11 ← phi( myprintf::@6/(byte*) myprintf::dst#28 )
  (word) myprintf::w#8 ← phi( myprintf::@6/(word) myprintf::w#13 )
  (byte) myprintf::b#12 ← phi( myprintf::@6/(byte) myprintf::b#10 )
  (bool~) myprintf::$12 ← (byte) myprintf::b#12 == (byte) 'c'
  if((bool~) myprintf::$12) goto myprintf::@8
  to:myprintf::@59
myprintf::@57: scope:[myprintf]  from myprintf::@6
  (byte) myprintf::bLeadZero#22 ← phi( myprintf::@6/(byte) myprintf::bLeadZero#15 )
  (byte) myprintf::bDigits#29 ← phi( myprintf::@6/(byte) myprintf::bDigits#23 )
  (word) myprintf::w#20 ← phi( myprintf::@6/(word) myprintf::w#13 )
  (word) myprintf::w3#11 ← phi( myprintf::@6/(word) myprintf::w3#17 )
  (word) myprintf::w2#11 ← phi( myprintf::@6/(word) myprintf::w2#17 )
  (word) myprintf::w1#10 ← phi( myprintf::@6/(word) myprintf::w1#16 )
  (byte) myprintf::bArg#13 ← phi( myprintf::@6/(byte) myprintf::bArg#18 )
  (byte) myprintf::bLen#30 ← phi( myprintf::@6/(byte) myprintf::bLen#33 )
  (byte*) myprintf::dst#25 ← phi( myprintf::@6/(byte*) myprintf::dst#28 )
  (byte) myprintf::bFormat#6 ← phi( myprintf::@6/(byte) myprintf::bFormat#12 )
  (byte*) myprintf::str#9 ← phi( myprintf::@6/(byte*) myprintf::str#16 )
  (byte) myprintf::bTrailing#1 ← (number) 1
  to:myprintf::@1
myprintf::@8: scope:[myprintf]  from myprintf::@7
  (byte) myprintf::bLeadZero#29 ← phi( myprintf::@7/(byte) myprintf::bLeadZero#14 )
  (byte) myprintf::bDigits#35 ← phi( myprintf::@7/(byte) myprintf::bDigits#22 )
  (byte) myprintf::bTrailing#32 ← phi( myprintf::@7/(byte) myprintf::bTrailing#15 )
  (word) myprintf::w3#22 ← phi( myprintf::@7/(word) myprintf::w3#27 )
  (word) myprintf::w2#22 ← phi( myprintf::@7/(word) myprintf::w2#27 )
  (word) myprintf::w1#21 ← phi( myprintf::@7/(word) myprintf::w1#26 )
  (byte) myprintf::bArg#23 ← phi( myprintf::@7/(byte) myprintf::bArg#26 )
  (byte*) myprintf::str#21 ← phi( myprintf::@7/(byte*) myprintf::str#26 )
  (byte) myprintf::bLen#9 ← phi( myprintf::@7/(byte) myprintf::bLen#17 )
  (byte*) myprintf::dst#3 ← phi( myprintf::@7/(byte*) myprintf::dst#11 )
  (word) myprintf::w#4 ← phi( myprintf::@7/(word) myprintf::w#8 )
  (byte~) myprintf::$50 ← ((byte)) (word) myprintf::w#4
  *((byte*) myprintf::dst#3 + (byte) myprintf::bLen#9) ← (byte~) myprintf::$50
  (byte) myprintf::bLen#1 ← ++ (byte) myprintf::bLen#9
  to:myprintf::@54
myprintf::@59: scope:[myprintf]  from myprintf::@7
  (word) myprintf::w3#28 ← phi( myprintf::@7/(word) myprintf::w3#27 )
  (word) myprintf::w2#28 ← phi( myprintf::@7/(word) myprintf::w2#27 )
  (word) myprintf::w1#27 ← phi( myprintf::@7/(word) myprintf::w1#26 )
  (byte) myprintf::bArg#27 ← phi( myprintf::@7/(byte) myprintf::bArg#26 )
  (byte) myprintf::bLeadZero#13 ← phi( myprintf::@7/(byte) myprintf::bLeadZero#14 )
  (byte) myprintf::bLen#48 ← phi( myprintf::@7/(byte) myprintf::bLen#17 )
  (byte*) myprintf::dst#43 ← phi( myprintf::@7/(byte*) myprintf::dst#11 )
  (byte) myprintf::bDigits#21 ← phi( myprintf::@7/(byte) myprintf::bDigits#22 )
  (byte) myprintf::bTrailing#13 ← phi( myprintf::@7/(byte) myprintf::bTrailing#15 )
  (byte*) myprintf::str#27 ← phi( myprintf::@7/(byte*) myprintf::str#26 )
  (word) myprintf::w#9 ← phi( myprintf::@7/(word) myprintf::w#8 )
  (byte) myprintf::b#13 ← phi( myprintf::@7/(byte) myprintf::b#12 )
  (bool~) myprintf::$13 ← (byte) myprintf::b#13 == (byte) 'd'
  if((bool~) myprintf::$13) goto myprintf::@9
  to:myprintf::@60
myprintf::@9: scope:[myprintf]  from myprintf::@59
  (word) myprintf::w3#47 ← phi( myprintf::@59/(word) myprintf::w3#28 )
  (word) myprintf::w2#47 ← phi( myprintf::@59/(word) myprintf::w2#28 )
  (word) myprintf::w1#47 ← phi( myprintf::@59/(word) myprintf::w1#27 )
  (byte) myprintf::bArg#46 ← phi( myprintf::@59/(byte) myprintf::bArg#27 )
  (byte*) myprintf::str#48 ← phi( myprintf::@59/(byte*) myprintf::str#27 )
  (byte) myprintf::bLen#54 ← phi( myprintf::@59/(byte) myprintf::bLen#48 )
  (byte*) myprintf::dst#49 ← phi( myprintf::@59/(byte*) myprintf::dst#43 )
  (byte) myprintf::bLeadZero#12 ← phi( myprintf::@59/(byte) myprintf::bLeadZero#13 )
  (byte) myprintf::bDigits#20 ← phi( myprintf::@59/(byte) myprintf::bDigits#21 )
  (byte) myprintf::bTrailing#11 ← phi( myprintf::@59/(byte) myprintf::bTrailing#13 )
  (word) myprintf::w#5 ← phi( myprintf::@59/(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::@86
myprintf::@86: scope:[myprintf]  from myprintf::@9
  (word) myprintf::w#41 ← phi( myprintf::@9/(word) myprintf::w#5 )
  (word) myprintf::w3#44 ← phi( myprintf::@9/(word) myprintf::w3#47 )
  (word) myprintf::w2#44 ← phi( myprintf::@9/(word) myprintf::w2#47 )
  (word) myprintf::w1#44 ← phi( myprintf::@9/(word) myprintf::w1#47 )
  (byte) myprintf::bArg#43 ← phi( myprintf::@9/(byte) myprintf::bArg#46 )
  (byte*) myprintf::str#45 ← phi( myprintf::@9/(byte*) myprintf::str#48 )
  (byte) myprintf::bLen#53 ← phi( myprintf::@9/(byte) myprintf::bLen#54 )
  (byte*) myprintf::dst#48 ← phi( myprintf::@9/(byte*) myprintf::dst#49 )
  (byte) myprintf::bLeadZero#11 ← phi( myprintf::@9/(byte) myprintf::bLeadZero#12 )
  (byte) myprintf::bDigits#16 ← phi( myprintf::@9/(byte) myprintf::bDigits#20 )
  (byte) myprintf::bTrailing#8 ← phi( myprintf::@9/(byte) myprintf::bTrailing#11 )
  (byte) myprintf::b#2 ← (number) 1
  to:myprintf::@21
myprintf::@60: scope:[myprintf]  from myprintf::@59
  (byte) myprintf::bLeadZero#28 ← phi( myprintf::@59/(byte) myprintf::bLeadZero#13 )
  (byte) myprintf::bDigits#34 ← phi( myprintf::@59/(byte) myprintf::bDigits#21 )
  (byte) myprintf::bTrailing#31 ← phi( myprintf::@59/(byte) myprintf::bTrailing#13 )
  (word) myprintf::w3#21 ← phi( myprintf::@59/(word) myprintf::w3#28 )
  (word) myprintf::w2#21 ← phi( myprintf::@59/(word) myprintf::w2#28 )
  (word) myprintf::w1#20 ← phi( myprintf::@59/(word) myprintf::w1#27 )
  (byte) myprintf::bArg#22 ← phi( myprintf::@59/(byte) myprintf::bArg#27 )
  (byte) myprintf::bLen#42 ← phi( myprintf::@59/(byte) myprintf::bLen#48 )
  (byte*) myprintf::dst#37 ← phi( myprintf::@59/(byte*) myprintf::dst#43 )
  (byte*) myprintf::str#20 ← phi( myprintf::@59/(byte*) myprintf::str#27 )
  (word) myprintf::w#10 ← phi( myprintf::@59/(word) myprintf::w#9 )
  (byte) myprintf::b#14 ← phi( myprintf::@59/(byte) myprintf::b#13 )
  (bool~) myprintf::$14 ← (byte) myprintf::b#14 == (byte) 'x'
  (bool~) myprintf::$15 ← (byte) myprintf::b#14 == (byte) 'X'
  (bool~) myprintf::$16 ← (bool~) myprintf::$14 || (bool~) myprintf::$15
  (bool~) myprintf::$17 ← ! (bool~) myprintf::$16
  if((bool~) myprintf::$17) goto myprintf::@54
  to:myprintf::@61
myprintf::@61: scope:[myprintf]  from myprintf::@60
  (byte) myprintf::bLeadZero#46 ← phi( myprintf::@60/(byte) myprintf::bLeadZero#28 )
  (byte) myprintf::bDigits#48 ← phi( myprintf::@60/(byte) myprintf::bDigits#34 )
  (byte) myprintf::bTrailing#46 ← phi( myprintf::@60/(byte) myprintf::bTrailing#31 )
  (word) myprintf::w3#40 ← phi( myprintf::@60/(word) myprintf::w3#21 )
  (word) myprintf::w2#40 ← phi( myprintf::@60/(word) myprintf::w2#21 )
  (word) myprintf::w1#40 ← phi( myprintf::@60/(word) myprintf::w1#20 )
  (byte) myprintf::bArg#39 ← phi( myprintf::@60/(byte) myprintf::bArg#22 )
  (byte*) myprintf::str#41 ← phi( myprintf::@60/(byte*) myprintf::str#20 )
  (byte) myprintf::bLen#34 ← phi( myprintf::@60/(byte) myprintf::bLen#42 )
  (byte*) myprintf::dst#29 ← phi( myprintf::@60/(byte*) myprintf::dst#37 )
  (word) myprintf::w#6 ← phi( myprintf::@60/(word) myprintf::w#10 )
  (byte~) myprintf::$18 ← ((byte)) (word) myprintf::w#6
  (byte~) myprintf::$19 ← (byte~) myprintf::$18 >> (number) 4
  (number~) myprintf::$20 ← (byte~) myprintf::$19 & (number) $f
  (byte) myprintf::b#3 ← (number~) myprintf::$20
  (bool~) myprintf::$21 ← (byte) myprintf::b#3 < (number) $a
  if((bool~) myprintf::$21) goto myprintf::@11
  to:myprintf::@12
myprintf::@11: scope:[myprintf]  from myprintf::@61
  (byte) myprintf::bLeadZero#44 ← phi( myprintf::@61/(byte) myprintf::bLeadZero#46 )
  (byte) myprintf::bDigits#46 ← phi( myprintf::@61/(byte) myprintf::bDigits#48 )
  (byte) myprintf::bTrailing#44 ← phi( myprintf::@61/(byte) myprintf::bTrailing#46 )
  (word) myprintf::w3#36 ← phi( myprintf::@61/(word) myprintf::w3#40 )
  (word) myprintf::w2#36 ← phi( myprintf::@61/(word) myprintf::w2#40 )
  (word) myprintf::w1#36 ← phi( myprintf::@61/(word) myprintf::w1#40 )
  (byte) myprintf::bArg#35 ← phi( myprintf::@61/(byte) myprintf::bArg#39 )
  (byte*) myprintf::str#37 ← phi( myprintf::@61/(byte*) myprintf::str#41 )
  (word) myprintf::w#11 ← phi( myprintf::@61/(word) myprintf::w#6 )
  (byte) myprintf::bLen#18 ← phi( myprintf::@61/(byte) myprintf::bLen#34 )
  (byte*) myprintf::dst#12 ← phi( myprintf::@61/(byte*) myprintf::dst#29 )
  (byte) myprintf::b#27 ← phi( myprintf::@61/(byte) myprintf::b#3 )
  (byte~) myprintf::$23 ← (byte) '0'
  to:myprintf::@13
myprintf::@12: scope:[myprintf]  from myprintf::@61
  (byte) myprintf::bLeadZero#45 ← phi( myprintf::@61/(byte) myprintf::bLeadZero#46 )
  (byte) myprintf::bDigits#47 ← phi( myprintf::@61/(byte) myprintf::bDigits#48 )
  (byte) myprintf::bTrailing#45 ← phi( myprintf::@61/(byte) myprintf::bTrailing#46 )
  (word) myprintf::w3#37 ← phi( myprintf::@61/(word) myprintf::w3#40 )
  (word) myprintf::w2#37 ← phi( myprintf::@61/(word) myprintf::w2#40 )
  (word) myprintf::w1#37 ← phi( myprintf::@61/(word) myprintf::w1#40 )
  (byte) myprintf::bArg#36 ← phi( myprintf::@61/(byte) myprintf::bArg#39 )
  (byte*) myprintf::str#38 ← phi( myprintf::@61/(byte*) myprintf::str#41 )
  (word) myprintf::w#12 ← phi( myprintf::@61/(word) myprintf::w#6 )
  (byte) myprintf::bLen#19 ← phi( myprintf::@61/(byte) myprintf::bLen#34 )
  (byte*) myprintf::dst#13 ← phi( myprintf::@61/(byte*) myprintf::dst#29 )
  (byte) myprintf::b#28 ← phi( myprintf::@61/(byte) myprintf::b#3 )
  (number~) myprintf::$22 ← (number) $57
  to:myprintf::@13
myprintf::@13: scope:[myprintf]  from myprintf::@11 myprintf::@12
  (byte) myprintf::bLeadZero#41 ← phi( myprintf::@11/(byte) myprintf::bLeadZero#44 myprintf::@12/(byte) myprintf::bLeadZero#45 )
  (byte) myprintf::bDigits#45 ← phi( myprintf::@11/(byte) myprintf::bDigits#46 myprintf::@12/(byte) myprintf::bDigits#47 )
  (byte) myprintf::bTrailing#43 ← phi( myprintf::@11/(byte) myprintf::bTrailing#44 myprintf::@12/(byte) myprintf::bTrailing#45 )
  (word) myprintf::w3#33 ← phi( myprintf::@11/(word) myprintf::w3#36 myprintf::@12/(word) myprintf::w3#37 )
  (word) myprintf::w2#33 ← phi( myprintf::@11/(word) myprintf::w2#36 myprintf::@12/(word) myprintf::w2#37 )
  (word) myprintf::w1#33 ← phi( myprintf::@11/(word) myprintf::w1#36 myprintf::@12/(word) myprintf::w1#37 )
  (byte) myprintf::bArg#32 ← phi( myprintf::@11/(byte) myprintf::bArg#35 myprintf::@12/(byte) myprintf::bArg#36 )
  (byte*) myprintf::str#34 ← phi( myprintf::@11/(byte*) myprintf::str#37 myprintf::@12/(byte*) myprintf::str#38 )
  (word) myprintf::w#7 ← phi( myprintf::@11/(word) myprintf::w#11 myprintf::@12/(word) myprintf::w#12 )
  (byte) myprintf::bLen#10 ← phi( myprintf::@11/(byte) myprintf::bLen#18 myprintf::@12/(byte) myprintf::bLen#19 )
  (byte*) myprintf::dst#4 ← phi( myprintf::@11/(byte*) myprintf::dst#12 myprintf::@12/(byte*) myprintf::dst#13 )
  (byte) myprintf::b#15 ← phi( myprintf::@11/(byte) myprintf::b#27 myprintf::@12/(byte) myprintf::b#28 )
  (number~) myprintf::$24 ← phi( myprintf::@11/(byte~) myprintf::$23 myprintf::@12/(number~) myprintf::$22 )
  (number~) myprintf::$25 ← (number~) myprintf::$24 + (byte) myprintf::b#15
  *((byte*) myprintf::dst#4 + (byte) myprintf::bLen#10) ← (number~) myprintf::$25
  (byte) myprintf::bLen#2 ← ++ (byte) myprintf::bLen#10
  (byte~) myprintf::$26 ← ((byte)) (word) myprintf::w#7
  (number~) myprintf::$27 ← (byte~) myprintf::$26 & (number) $f
  (byte) myprintf::b#4 ← (number~) myprintf::$27
  (bool~) myprintf::$28 ← (byte) myprintf::b#4 < (number) $a
  if((bool~) myprintf::$28) goto myprintf::@14
  to:myprintf::@15
myprintf::@14: scope:[myprintf]  from myprintf::@13
  (byte) myprintf::bLeadZero#35 ← phi( myprintf::@13/(byte) myprintf::bLeadZero#41 )
  (byte) myprintf::bDigits#41 ← phi( myprintf::@13/(byte) myprintf::bDigits#45 )
  (byte) myprintf::bTrailing#38 ← phi( myprintf::@13/(byte) myprintf::bTrailing#43 )
  (word) myprintf::w#29 ← phi( myprintf::@13/(word) myprintf::w#7 )
  (word) myprintf::w3#29 ← phi( myprintf::@13/(word) myprintf::w3#33 )
  (word) myprintf::w2#29 ← phi( myprintf::@13/(word) myprintf::w2#33 )
  (word) myprintf::w1#28 ← phi( myprintf::@13/(word) myprintf::w1#33 )
  (byte) myprintf::bArg#28 ← phi( myprintf::@13/(byte) myprintf::bArg#32 )
  (byte*) myprintf::str#28 ← phi( myprintf::@13/(byte*) myprintf::str#34 )
  (byte) myprintf::bLen#20 ← phi( myprintf::@13/(byte) myprintf::bLen#2 )
  (byte*) myprintf::dst#14 ← phi( myprintf::@13/(byte*) myprintf::dst#4 )
  (byte) myprintf::b#29 ← phi( myprintf::@13/(byte) myprintf::b#4 )
  (byte~) myprintf::$30 ← (byte) '0'
  to:myprintf::@16
myprintf::@15: scope:[myprintf]  from myprintf::@13
  (byte) myprintf::bLeadZero#36 ← phi( myprintf::@13/(byte) myprintf::bLeadZero#41 )
  (byte) myprintf::bDigits#42 ← phi( myprintf::@13/(byte) myprintf::bDigits#45 )
  (byte) myprintf::bTrailing#39 ← phi( myprintf::@13/(byte) myprintf::bTrailing#43 )
  (word) myprintf::w#30 ← phi( myprintf::@13/(word) myprintf::w#7 )
  (word) myprintf::w3#30 ← phi( myprintf::@13/(word) myprintf::w3#33 )
  (word) myprintf::w2#30 ← phi( myprintf::@13/(word) myprintf::w2#33 )
  (word) myprintf::w1#29 ← phi( myprintf::@13/(word) myprintf::w1#33 )
  (byte) myprintf::bArg#29 ← phi( myprintf::@13/(byte) myprintf::bArg#32 )
  (byte*) myprintf::str#29 ← phi( myprintf::@13/(byte*) myprintf::str#34 )
  (byte) myprintf::bLen#21 ← phi( myprintf::@13/(byte) myprintf::bLen#2 )
  (byte*) myprintf::dst#15 ← phi( myprintf::@13/(byte*) myprintf::dst#4 )
  (byte) myprintf::b#30 ← phi( myprintf::@13/(byte) myprintf::b#4 )
  (number~) myprintf::$29 ← (number) $57
  to:myprintf::@16
myprintf::@16: scope:[myprintf]  from myprintf::@14 myprintf::@15
  (byte) myprintf::bLeadZero#25 ← phi( myprintf::@14/(byte) myprintf::bLeadZero#35 myprintf::@15/(byte) myprintf::bLeadZero#36 )
  (byte) myprintf::bDigits#33 ← phi( myprintf::@14/(byte) myprintf::bDigits#41 myprintf::@15/(byte) myprintf::bDigits#42 )
  (byte) myprintf::bTrailing#29 ← phi( myprintf::@14/(byte) myprintf::bTrailing#38 myprintf::@15/(byte) myprintf::bTrailing#39 )
  (word) myprintf::w#24 ← phi( myprintf::@14/(word) myprintf::w#29 myprintf::@15/(word) myprintf::w#30 )
  (word) myprintf::w3#18 ← phi( myprintf::@14/(word) myprintf::w3#29 myprintf::@15/(word) myprintf::w3#30 )
  (word) myprintf::w2#18 ← phi( myprintf::@14/(word) myprintf::w2#29 myprintf::@15/(word) myprintf::w2#30 )
  (word) myprintf::w1#17 ← phi( myprintf::@14/(word) myprintf::w1#28 myprintf::@15/(word) myprintf::w1#29 )
  (byte) myprintf::bArg#19 ← phi( myprintf::@14/(byte) myprintf::bArg#28 myprintf::@15/(byte) myprintf::bArg#29 )
  (byte*) myprintf::str#17 ← phi( myprintf::@14/(byte*) myprintf::str#28 myprintf::@15/(byte*) myprintf::str#29 )
  (byte) myprintf::bLen#11 ← phi( myprintf::@14/(byte) myprintf::bLen#20 myprintf::@15/(byte) myprintf::bLen#21 )
  (byte*) myprintf::dst#5 ← phi( myprintf::@14/(byte*) myprintf::dst#14 myprintf::@15/(byte*) myprintf::dst#15 )
  (byte) myprintf::b#16 ← phi( myprintf::@14/(byte) myprintf::b#29 myprintf::@15/(byte) myprintf::b#30 )
  (number~) myprintf::$31 ← phi( myprintf::@14/(byte~) myprintf::$30 myprintf::@15/(number~) myprintf::$29 )
  (number~) myprintf::$32 ← (number~) myprintf::$31 + (byte) myprintf::b#16
  *((byte*) myprintf::dst#5 + (byte) myprintf::bLen#11) ← (number~) myprintf::$32
  (byte) myprintf::bLen#3 ← ++ (byte) myprintf::bLen#11
  to:myprintf::@54
myprintf::@21: scope:[myprintf]  from myprintf::@22 myprintf::@86
  (word) myprintf::w#38 ← phi( myprintf::@22/(word) myprintf::w#40 myprintf::@86/(word) myprintf::w#41 )
  (word) myprintf::w3#41 ← phi( myprintf::@22/(word) myprintf::w3#43 myprintf::@86/(word) myprintf::w3#44 )
  (word) myprintf::w2#41 ← phi( myprintf::@22/(word) myprintf::w2#43 myprintf::@86/(word) myprintf::w2#44 )
  (word) myprintf::w1#41 ← phi( myprintf::@22/(word) myprintf::w1#43 myprintf::@86/(word) myprintf::w1#44 )
  (byte) myprintf::bArg#40 ← phi( myprintf::@22/(byte) myprintf::bArg#42 myprintf::@86/(byte) myprintf::bArg#43 )
  (byte*) myprintf::str#42 ← phi( myprintf::@22/(byte*) myprintf::str#44 myprintf::@86/(byte*) myprintf::str#45 )
  (byte) myprintf::bLen#49 ← phi( myprintf::@22/(byte) myprintf::bLen#52 myprintf::@86/(byte) myprintf::bLen#53 )
  (byte*) myprintf::dst#44 ← phi( myprintf::@22/(byte*) myprintf::dst#47 myprintf::@86/(byte*) myprintf::dst#48 )
  (byte) myprintf::bLeadZero#7 ← phi( myprintf::@22/(byte) myprintf::bLeadZero#10 myprintf::@86/(byte) myprintf::bLeadZero#11 )
  (byte) myprintf::bDigits#11 ← phi( myprintf::@22/(byte) myprintf::bDigits#15 myprintf::@86/(byte) myprintf::bDigits#16 )
  (byte) myprintf::bTrailing#5 ← phi( myprintf::@22/(byte) myprintf::bTrailing#7 myprintf::@86/(byte) myprintf::bTrailing#8 )
  (byte) myprintf::b#17 ← phi( myprintf::@22/(byte) myprintf::b#5 myprintf::@86/(byte) myprintf::b#2 )
  (bool~) myprintf::$34 ← *((byte[6]) myprintf::buf6#0 + (byte) myprintf::b#17) != (number) 0
  if((bool~) myprintf::$34) goto myprintf::@22
  to:myprintf::@23
myprintf::@22: scope:[myprintf]  from myprintf::@21
  (word) myprintf::w#40 ← phi( myprintf::@21/(word) myprintf::w#38 )
  (word) myprintf::w3#43 ← phi( myprintf::@21/(word) myprintf::w3#41 )
  (word) myprintf::w2#43 ← phi( myprintf::@21/(word) myprintf::w2#41 )
  (word) myprintf::w1#43 ← phi( myprintf::@21/(word) myprintf::w1#41 )
  (byte) myprintf::bArg#42 ← phi( myprintf::@21/(byte) myprintf::bArg#40 )
  (byte*) myprintf::str#44 ← phi( myprintf::@21/(byte*) myprintf::str#42 )
  (byte) myprintf::bLen#52 ← phi( myprintf::@21/(byte) myprintf::bLen#49 )
  (byte*) myprintf::dst#47 ← phi( myprintf::@21/(byte*) myprintf::dst#44 )
  (byte) myprintf::bLeadZero#10 ← phi( myprintf::@21/(byte) myprintf::bLeadZero#7 )
  (byte) myprintf::bDigits#15 ← phi( myprintf::@21/(byte) myprintf::bDigits#11 )
  (byte) myprintf::bTrailing#7 ← phi( myprintf::@21/(byte) myprintf::bTrailing#5 )
  (byte) myprintf::b#18 ← phi( myprintf::@21/(byte) myprintf::b#17 )
  (byte) myprintf::b#5 ← ++ (byte) myprintf::b#18
  to:myprintf::@21
myprintf::@23: scope:[myprintf]  from myprintf::@21
  (word) myprintf::w#36 ← phi( myprintf::@21/(word) myprintf::w#38 )
  (word) myprintf::w3#38 ← phi( myprintf::@21/(word) myprintf::w3#41 )
  (word) myprintf::w2#38 ← phi( myprintf::@21/(word) myprintf::w2#41 )
  (word) myprintf::w1#38 ← phi( myprintf::@21/(word) myprintf::w1#41 )
  (byte) myprintf::bArg#37 ← phi( myprintf::@21/(byte) myprintf::bArg#40 )
  (byte*) myprintf::str#39 ← phi( myprintf::@21/(byte*) myprintf::str#42 )
  (byte) myprintf::bLen#43 ← phi( myprintf::@21/(byte) myprintf::bLen#49 )
  (byte*) myprintf::dst#38 ← phi( myprintf::@21/(byte*) myprintf::dst#44 )
  (byte) myprintf::bLeadZero#5 ← phi( myprintf::@21/(byte) myprintf::bLeadZero#7 )
  (byte) myprintf::b#19 ← phi( myprintf::@21/(byte) myprintf::b#17 )
  (byte) myprintf::bDigits#5 ← phi( myprintf::@21/(byte) myprintf::bDigits#11 )
  (byte) myprintf::bTrailing#3 ← phi( myprintf::@21/(byte) myprintf::bTrailing#5 )
  (bool~) myprintf::$35 ← (byte) myprintf::bTrailing#3 == (number) 0
  (bool~) myprintf::$36 ← (byte) myprintf::bDigits#5 > (byte) myprintf::b#19
  (bool~) myprintf::$37 ← (bool~) myprintf::$35 && (bool~) myprintf::$36
  (bool~) myprintf::$38 ← ! (bool~) myprintf::$37
  if((bool~) myprintf::$38) goto myprintf::@28
  to:myprintf::@29
myprintf::@28: scope:[myprintf]  from myprintf::@23 myprintf::@29
  (byte) myprintf::bLeadZero#42 ← phi( myprintf::@23/(byte) myprintf::bLeadZero#5 myprintf::@29/(byte) myprintf::bLeadZero#4 )
  (word) myprintf::w#34 ← phi( myprintf::@23/(word) myprintf::w#36 myprintf::@29/(word) myprintf::w#37 )
  (word) myprintf::w3#34 ← phi( myprintf::@23/(word) myprintf::w3#38 myprintf::@29/(word) myprintf::w3#39 )
  (word) myprintf::w2#34 ← phi( myprintf::@23/(word) myprintf::w2#38 myprintf::@29/(word) myprintf::w2#39 )
  (word) myprintf::w1#34 ← phi( myprintf::@23/(word) myprintf::w1#38 myprintf::@29/(word) myprintf::w1#39 )
  (byte) myprintf::bArg#33 ← phi( myprintf::@23/(byte) myprintf::bArg#37 myprintf::@29/(byte) myprintf::bArg#38 )
  (byte*) myprintf::str#35 ← phi( myprintf::@23/(byte*) myprintf::str#39 myprintf::@29/(byte*) myprintf::str#40 )
  (byte) myprintf::bDigits#18 ← phi( myprintf::@23/(byte) myprintf::bDigits#5 myprintf::@29/(byte) myprintf::bDigits#6 )
  (byte) myprintf::bTrailing#9 ← phi( myprintf::@23/(byte) myprintf::bTrailing#3 myprintf::@29/(byte) myprintf::bTrailing#12 )
  (byte) myprintf::bLen#36 ← phi( myprintf::@23/(byte) myprintf::bLen#43 myprintf::@29/(byte) myprintf::bLen#44 )
  (byte*) myprintf::dst#31 ← phi( myprintf::@23/(byte*) myprintf::dst#38 myprintf::@29/(byte*) myprintf::dst#39 )
  (byte) myprintf::b#32 ← phi( myprintf::@23/(byte) myprintf::b#19 myprintf::@29/(byte) myprintf::b#20 )
  (byte) myprintf::digit#1 ← (number) 0
  to:myprintf::@40
myprintf::@29: scope:[myprintf]  from myprintf::@23 myprintf::@34
  (word) myprintf::w#37 ← phi( myprintf::@23/(word) myprintf::w#36 myprintf::@34/(word) myprintf::w#39 )
  (word) myprintf::w3#39 ← phi( myprintf::@23/(word) myprintf::w3#38 myprintf::@34/(word) myprintf::w3#42 )
  (word) myprintf::w2#39 ← phi( myprintf::@23/(word) myprintf::w2#38 myprintf::@34/(word) myprintf::w2#42 )
  (word) myprintf::w1#39 ← phi( myprintf::@23/(word) myprintf::w1#38 myprintf::@34/(word) myprintf::w1#42 )
  (byte) myprintf::bArg#38 ← phi( myprintf::@23/(byte) myprintf::bArg#37 myprintf::@34/(byte) myprintf::bArg#41 )
  (byte*) myprintf::str#40 ← phi( myprintf::@23/(byte*) myprintf::str#39 myprintf::@34/(byte*) myprintf::str#43 )
  (byte) myprintf::bTrailing#12 ← phi( myprintf::@23/(byte) myprintf::bTrailing#3 myprintf::@34/(byte) myprintf::bTrailing#14 )
  (byte) myprintf::bLen#44 ← phi( myprintf::@23/(byte) myprintf::bLen#43 myprintf::@34/(byte) myprintf::bLen#4 )
  (byte*) myprintf::dst#39 ← phi( myprintf::@23/(byte*) myprintf::dst#38 myprintf::@34/(byte*) myprintf::dst#6 )
  (byte) myprintf::bLeadZero#4 ← phi( myprintf::@23/(byte) myprintf::bLeadZero#5 myprintf::@34/(byte) myprintf::bLeadZero#6 )
  (byte) myprintf::b#20 ← phi( myprintf::@23/(byte) myprintf::b#19 myprintf::@34/(byte) myprintf::b#31 )
  (byte) myprintf::bDigits#6 ← phi( myprintf::@23/(byte) myprintf::bDigits#5 myprintf::@34/(byte) myprintf::bDigits#2 )
  (bool~) myprintf::$39 ← (byte) myprintf::bDigits#6 > (byte) myprintf::b#20
  if((bool~) myprintf::$39) goto myprintf::@30
  to:myprintf::@28
myprintf::@30: scope:[myprintf]  from myprintf::@29
  (word) myprintf::w#44 ← phi( myprintf::@29/(word) myprintf::w#37 )
  (word) myprintf::w3#48 ← phi( myprintf::@29/(word) myprintf::w3#39 )
  (word) myprintf::w2#48 ← phi( myprintf::@29/(word) myprintf::w2#39 )
  (word) myprintf::w1#48 ← phi( myprintf::@29/(word) myprintf::w1#39 )
  (byte) myprintf::bArg#47 ← phi( myprintf::@29/(byte) myprintf::bArg#38 )
  (byte*) myprintf::str#49 ← phi( myprintf::@29/(byte*) myprintf::str#40 )
  (byte) myprintf::bTrailing#19 ← phi( myprintf::@29/(byte) myprintf::bTrailing#12 )
  (byte) myprintf::b#37 ← phi( myprintf::@29/(byte) myprintf::b#20 )
  (byte) myprintf::bDigits#17 ← phi( myprintf::@29/(byte) myprintf::bDigits#6 )
  (byte) myprintf::bLen#35 ← phi( myprintf::@29/(byte) myprintf::bLen#44 )
  (byte*) myprintf::dst#30 ← phi( myprintf::@29/(byte*) myprintf::dst#39 )
  (byte) myprintf::bLeadZero#3 ← phi( myprintf::@29/(byte) myprintf::bLeadZero#4 )
  (bool~) myprintf::$40 ← (byte) myprintf::bLeadZero#3 == (number) 0
  if((bool~) myprintf::$40) goto myprintf::@32
  to:myprintf::@33
myprintf::@32: scope:[myprintf]  from myprintf::@30
  (word) myprintf::w#42 ← phi( myprintf::@30/(word) myprintf::w#44 )
  (word) myprintf::w3#45 ← phi( myprintf::@30/(word) myprintf::w3#48 )
  (word) myprintf::w2#45 ← phi( myprintf::@30/(word) myprintf::w2#48 )
  (word) myprintf::w1#45 ← phi( myprintf::@30/(word) myprintf::w1#48 )
  (byte) myprintf::bArg#44 ← phi( myprintf::@30/(byte) myprintf::bArg#47 )
  (byte*) myprintf::str#46 ← phi( myprintf::@30/(byte*) myprintf::str#49 )
  (byte) myprintf::bTrailing#16 ← phi( myprintf::@30/(byte) myprintf::bTrailing#19 )
  (byte) myprintf::bLeadZero#8 ← phi( myprintf::@30/(byte) myprintf::bLeadZero#3 )
  (byte) myprintf::b#35 ← phi( myprintf::@30/(byte) myprintf::b#37 )
  (byte) myprintf::bDigits#12 ← phi( myprintf::@30/(byte) myprintf::bDigits#17 )
  (byte) myprintf::bLen#22 ← phi( myprintf::@30/(byte) myprintf::bLen#35 )
  (byte*) myprintf::dst#16 ← phi( myprintf::@30/(byte*) myprintf::dst#30 )
  (byte~) myprintf::$42 ← (byte) ' '
  to:myprintf::@34
myprintf::@33: scope:[myprintf]  from myprintf::@30
  (word) myprintf::w#43 ← phi( myprintf::@30/(word) myprintf::w#44 )
  (word) myprintf::w3#46 ← phi( myprintf::@30/(word) myprintf::w3#48 )
  (word) myprintf::w2#46 ← phi( myprintf::@30/(word) myprintf::w2#48 )
  (word) myprintf::w1#46 ← phi( myprintf::@30/(word) myprintf::w1#48 )
  (byte) myprintf::bArg#45 ← phi( myprintf::@30/(byte) myprintf::bArg#47 )
  (byte*) myprintf::str#47 ← phi( myprintf::@30/(byte*) myprintf::str#49 )
  (byte) myprintf::bTrailing#17 ← phi( myprintf::@30/(byte) myprintf::bTrailing#19 )
  (byte) myprintf::bLeadZero#9 ← phi( myprintf::@30/(byte) myprintf::bLeadZero#3 )
  (byte) myprintf::b#36 ← phi( myprintf::@30/(byte) myprintf::b#37 )
  (byte) myprintf::bDigits#13 ← phi( myprintf::@30/(byte) myprintf::bDigits#17 )
  (byte) myprintf::bLen#23 ← phi( myprintf::@30/(byte) myprintf::bLen#35 )
  (byte*) myprintf::dst#17 ← phi( myprintf::@30/(byte*) myprintf::dst#30 )
  (byte~) myprintf::$41 ← (byte) '0'
  to:myprintf::@34
myprintf::@34: scope:[myprintf]  from myprintf::@32 myprintf::@33
  (word) myprintf::w#39 ← phi( myprintf::@32/(word) myprintf::w#42 myprintf::@33/(word) myprintf::w#43 )
  (word) myprintf::w3#42 ← phi( myprintf::@32/(word) myprintf::w3#45 myprintf::@33/(word) myprintf::w3#46 )
  (word) myprintf::w2#42 ← phi( myprintf::@32/(word) myprintf::w2#45 myprintf::@33/(word) myprintf::w2#46 )
  (word) myprintf::w1#42 ← phi( myprintf::@32/(word) myprintf::w1#45 myprintf::@33/(word) myprintf::w1#46 )
  (byte) myprintf::bArg#41 ← phi( myprintf::@32/(byte) myprintf::bArg#44 myprintf::@33/(byte) myprintf::bArg#45 )
  (byte*) myprintf::str#43 ← phi( myprintf::@32/(byte*) myprintf::str#46 myprintf::@33/(byte*) myprintf::str#47 )
  (byte) myprintf::bTrailing#14 ← phi( myprintf::@32/(byte) myprintf::bTrailing#16 myprintf::@33/(byte) myprintf::bTrailing#17 )
  (byte) myprintf::bLeadZero#6 ← phi( myprintf::@32/(byte) myprintf::bLeadZero#8 myprintf::@33/(byte) myprintf::bLeadZero#9 )
  (byte) myprintf::b#31 ← phi( myprintf::@32/(byte) myprintf::b#35 myprintf::@33/(byte) myprintf::b#36 )
  (byte) myprintf::bDigits#7 ← phi( myprintf::@32/(byte) myprintf::bDigits#12 myprintf::@33/(byte) myprintf::bDigits#13 )
  (byte) myprintf::bLen#12 ← phi( myprintf::@32/(byte) myprintf::bLen#22 myprintf::@33/(byte) myprintf::bLen#23 )
  (byte*) myprintf::dst#6 ← phi( myprintf::@32/(byte*) myprintf::dst#16 myprintf::@33/(byte*) myprintf::dst#17 )
  (byte~) myprintf::$43 ← phi( myprintf::@32/(byte~) myprintf::$42 myprintf::@33/(byte~) myprintf::$41 )
  *((byte*) myprintf::dst#6 + (byte) myprintf::bLen#12) ← (byte~) myprintf::$43
  (byte) myprintf::bLen#4 ← ++ (byte) myprintf::bLen#12
  (byte) myprintf::bDigits#2 ← -- (byte) myprintf::bDigits#7
  to:myprintf::@29
myprintf::@40: scope:[myprintf]  from myprintf::@28 myprintf::@41
  (byte) myprintf::bLeadZero#37 ← phi( myprintf::@28/(byte) myprintf::bLeadZero#42 myprintf::@41/(byte) myprintf::bLeadZero#43 )
  (word) myprintf::w#31 ← phi( myprintf::@28/(word) myprintf::w#34 myprintf::@41/(word) myprintf::w#35 )
  (word) myprintf::w3#31 ← phi( myprintf::@28/(word) myprintf::w3#34 myprintf::@41/(word) myprintf::w3#35 )
  (word) myprintf::w2#31 ← phi( myprintf::@28/(word) myprintf::w2#34 myprintf::@41/(word) myprintf::w2#35 )
  (word) myprintf::w1#30 ← phi( myprintf::@28/(word) myprintf::w1#34 myprintf::@41/(word) myprintf::w1#35 )
  (byte) myprintf::bArg#30 ← phi( myprintf::@28/(byte) myprintf::bArg#33 myprintf::@41/(byte) myprintf::bArg#34 )
  (byte*) myprintf::str#30 ← phi( myprintf::@28/(byte*) myprintf::str#35 myprintf::@41/(byte*) myprintf::str#36 )
  (byte) myprintf::bDigits#14 ← phi( myprintf::@28/(byte) myprintf::bDigits#18 myprintf::@41/(byte) myprintf::bDigits#19 )
  (byte) myprintf::bTrailing#6 ← phi( myprintf::@28/(byte) myprintf::bTrailing#9 myprintf::@41/(byte) myprintf::bTrailing#10 )
  (byte) myprintf::bLen#24 ← phi( myprintf::@28/(byte) myprintf::bLen#36 myprintf::@41/(byte) myprintf::bLen#5 )
  (byte*) myprintf::dst#18 ← phi( myprintf::@28/(byte*) myprintf::dst#31 myprintf::@41/(byte*) myprintf::dst#7 )
  (byte) myprintf::b#21 ← phi( myprintf::@28/(byte) myprintf::b#32 myprintf::@41/(byte) myprintf::b#33 )
  (byte) myprintf::digit#3 ← phi( myprintf::@28/(byte) myprintf::digit#1 myprintf::@41/(byte) myprintf::digit#2 )
  (bool~) myprintf::$44 ← (byte) myprintf::digit#3 < (byte) myprintf::b#21
  if((bool~) myprintf::$44) goto myprintf::@41
  to:myprintf::@42
myprintf::@41: scope:[myprintf]  from myprintf::@40
  (byte) myprintf::bLeadZero#43 ← phi( myprintf::@40/(byte) myprintf::bLeadZero#37 )
  (word) myprintf::w#35 ← phi( myprintf::@40/(word) myprintf::w#31 )
  (word) myprintf::w3#35 ← phi( myprintf::@40/(word) myprintf::w3#31 )
  (word) myprintf::w2#35 ← phi( myprintf::@40/(word) myprintf::w2#31 )
  (word) myprintf::w1#35 ← phi( myprintf::@40/(word) myprintf::w1#30 )
  (byte) myprintf::bArg#34 ← phi( myprintf::@40/(byte) myprintf::bArg#30 )
  (byte*) myprintf::str#36 ← phi( myprintf::@40/(byte*) myprintf::str#30 )
  (byte) myprintf::bDigits#19 ← phi( myprintf::@40/(byte) myprintf::bDigits#14 )
  (byte) myprintf::bTrailing#10 ← phi( myprintf::@40/(byte) myprintf::bTrailing#6 )
  (byte) myprintf::b#33 ← phi( myprintf::@40/(byte) myprintf::b#21 )
  (byte) myprintf::bLen#13 ← phi( myprintf::@40/(byte) myprintf::bLen#24 )
  (byte*) myprintf::dst#7 ← phi( myprintf::@40/(byte*) myprintf::dst#18 )
  (byte) myprintf::digit#4 ← phi( myprintf::@40/(byte) myprintf::digit#3 )
  *((byte*) myprintf::dst#7 + (byte) myprintf::bLen#13) ← *((byte[6]) myprintf::buf6#0 + (byte) myprintf::digit#4)
  (byte) myprintf::bLen#5 ← ++ (byte) myprintf::bLen#13
  (byte) myprintf::digit#2 ← ++ (byte) myprintf::digit#4
  to:myprintf::@40
myprintf::@42: scope:[myprintf]  from myprintf::@40
  (byte) myprintf::bLeadZero#26 ← phi( myprintf::@40/(byte) myprintf::bLeadZero#37 )
  (word) myprintf::w#25 ← phi( myprintf::@40/(word) myprintf::w#31 )
  (word) myprintf::w3#19 ← phi( myprintf::@40/(word) myprintf::w3#31 )
  (word) myprintf::w2#19 ← phi( myprintf::@40/(word) myprintf::w2#31 )
  (word) myprintf::w1#18 ← phi( myprintf::@40/(word) myprintf::w1#30 )
  (byte) myprintf::bArg#20 ← phi( myprintf::@40/(byte) myprintf::bArg#30 )
  (byte*) myprintf::str#18 ← phi( myprintf::@40/(byte*) myprintf::str#30 )
  (byte) myprintf::bLen#37 ← phi( myprintf::@40/(byte) myprintf::bLen#24 )
  (byte*) myprintf::dst#32 ← phi( myprintf::@40/(byte*) myprintf::dst#18 )
  (byte) myprintf::b#22 ← phi( myprintf::@40/(byte) myprintf::b#21 )
  (byte) myprintf::bDigits#8 ← phi( myprintf::@40/(byte) myprintf::bDigits#14 )
  (byte) myprintf::bTrailing#4 ← phi( myprintf::@40/(byte) myprintf::bTrailing#6 )
  (bool~) myprintf::$45 ← (byte) myprintf::bTrailing#4 != (number) 0
  (bool~) myprintf::$46 ← (byte) myprintf::bDigits#8 > (byte) myprintf::b#22
  (bool~) myprintf::$47 ← (bool~) myprintf::$45 && (bool~) myprintf::$46
  (bool~) myprintf::$48 ← ! (bool~) myprintf::$47
  if((bool~) myprintf::$48) goto myprintf::@54
  to:myprintf::@48
myprintf::@48: scope:[myprintf]  from myprintf::@42 myprintf::@49
  (byte) myprintf::bLeadZero#27 ← phi( myprintf::@42/(byte) myprintf::bLeadZero#26 myprintf::@49/(byte) myprintf::bLeadZero#38 )
  (byte) myprintf::bTrailing#30 ← phi( myprintf::@42/(byte) myprintf::bTrailing#4 myprintf::@49/(byte) myprintf::bTrailing#40 )
  (word) myprintf::w#26 ← phi( myprintf::@42/(word) myprintf::w#25 myprintf::@49/(word) myprintf::w#32 )
  (word) myprintf::w3#20 ← phi( myprintf::@42/(word) myprintf::w3#19 myprintf::@49/(word) myprintf::w3#32 )
  (word) myprintf::w2#20 ← phi( myprintf::@42/(word) myprintf::w2#19 myprintf::@49/(word) myprintf::w2#32 )
  (word) myprintf::w1#19 ← phi( myprintf::@42/(word) myprintf::w1#18 myprintf::@49/(word) myprintf::w1#31 )
  (byte) myprintf::bArg#21 ← phi( myprintf::@42/(byte) myprintf::bArg#20 myprintf::@49/(byte) myprintf::bArg#31 )
  (byte*) myprintf::str#19 ← phi( myprintf::@42/(byte*) myprintf::str#18 myprintf::@49/(byte*) myprintf::str#31 )
  (byte) myprintf::bLen#25 ← phi( myprintf::@42/(byte) myprintf::bLen#37 myprintf::@49/(byte) myprintf::bLen#6 )
  (byte*) myprintf::dst#19 ← phi( myprintf::@42/(byte*) myprintf::dst#32 myprintf::@49/(byte*) myprintf::dst#8 )
  (byte) myprintf::b#23 ← phi( myprintf::@42/(byte) myprintf::b#22 myprintf::@49/(byte) myprintf::b#34 )
  (byte) myprintf::bDigits#9 ← phi( myprintf::@42/(byte) myprintf::bDigits#8 myprintf::@49/(byte) myprintf::bDigits#3 )
  (bool~) myprintf::$49 ← (byte) myprintf::bDigits#9 > (byte) myprintf::b#23
  if((bool~) myprintf::$49) goto myprintf::@49
  to:myprintf::@54
myprintf::@49: scope:[myprintf]  from myprintf::@48
  (byte) myprintf::bLeadZero#38 ← phi( myprintf::@48/(byte) myprintf::bLeadZero#27 )
  (byte) myprintf::bTrailing#40 ← phi( myprintf::@48/(byte) myprintf::bTrailing#30 )
  (word) myprintf::w#32 ← phi( myprintf::@48/(word) myprintf::w#26 )
  (word) myprintf::w3#32 ← phi( myprintf::@48/(word) myprintf::w3#20 )
  (word) myprintf::w2#32 ← phi( myprintf::@48/(word) myprintf::w2#20 )
  (word) myprintf::w1#31 ← phi( myprintf::@48/(word) myprintf::w1#19 )
  (byte) myprintf::bArg#31 ← phi( myprintf::@48/(byte) myprintf::bArg#21 )
  (byte*) myprintf::str#31 ← phi( myprintf::@48/(byte*) myprintf::str#19 )
  (byte) myprintf::b#34 ← phi( myprintf::@48/(byte) myprintf::b#23 )
  (byte) myprintf::bDigits#10 ← phi( myprintf::@48/(byte) myprintf::bDigits#9 )
  (byte) myprintf::bLen#14 ← phi( myprintf::@48/(byte) myprintf::bLen#25 )
  (byte*) myprintf::dst#8 ← phi( myprintf::@48/(byte*) myprintf::dst#19 )
  *((byte*) myprintf::dst#8 + (byte) myprintf::bLen#14) ← (byte) ' '
  (byte) myprintf::bLen#6 ← ++ (byte) myprintf::bLen#14
  (byte) myprintf::bDigits#3 ← -- (byte) myprintf::bDigits#10
  to:myprintf::@48
myprintf::@54: scope:[myprintf]  from myprintf::@16 myprintf::@42 myprintf::@48 myprintf::@60 myprintf::@8
  (byte) myprintf::bLeadZero#20 ← phi( myprintf::@16/(byte) myprintf::bLeadZero#25 myprintf::@42/(byte) myprintf::bLeadZero#26 myprintf::@48/(byte) myprintf::bLeadZero#27 myprintf::@60/(byte) myprintf::bLeadZero#28 myprintf::@8/(byte) myprintf::bLeadZero#29 )
  (byte) myprintf::bDigits#28 ← phi( myprintf::@16/(byte) myprintf::bDigits#33 myprintf::@42/(byte) myprintf::bDigits#8 myprintf::@48/(byte) myprintf::bDigits#9 myprintf::@60/(byte) myprintf::bDigits#34 myprintf::@8/(byte) myprintf::bDigits#35 )
  (byte) myprintf::bTrailing#24 ← phi( myprintf::@16/(byte) myprintf::bTrailing#29 myprintf::@42/(byte) myprintf::bTrailing#4 myprintf::@48/(byte) myprintf::bTrailing#30 myprintf::@60/(byte) myprintf::bTrailing#31 myprintf::@8/(byte) myprintf::bTrailing#32 )
  (word) myprintf::w#18 ← phi( myprintf::@16/(word) myprintf::w#24 myprintf::@42/(word) myprintf::w#25 myprintf::@48/(word) myprintf::w#26 myprintf::@60/(word) myprintf::w#10 myprintf::@8/(word) myprintf::w#4 )
  (word) myprintf::w3#9 ← phi( myprintf::@16/(word) myprintf::w3#18 myprintf::@42/(word) myprintf::w3#19 myprintf::@48/(word) myprintf::w3#20 myprintf::@60/(word) myprintf::w3#21 myprintf::@8/(word) myprintf::w3#22 )
  (word) myprintf::w2#9 ← phi( myprintf::@16/(word) myprintf::w2#18 myprintf::@42/(word) myprintf::w2#19 myprintf::@48/(word) myprintf::w2#20 myprintf::@60/(word) myprintf::w2#21 myprintf::@8/(word) myprintf::w2#22 )
  (word) myprintf::w1#8 ← phi( myprintf::@16/(word) myprintf::w1#17 myprintf::@42/(word) myprintf::w1#18 myprintf::@48/(word) myprintf::w1#19 myprintf::@60/(word) myprintf::w1#20 myprintf::@8/(word) myprintf::w1#21 )
  (byte) myprintf::bArg#11 ← phi( myprintf::@16/(byte) myprintf::bArg#19 myprintf::@42/(byte) myprintf::bArg#20 myprintf::@48/(byte) myprintf::bArg#21 myprintf::@60/(byte) myprintf::bArg#22 myprintf::@8/(byte) myprintf::bArg#23 )
  (byte) myprintf::bLen#28 ← phi( myprintf::@16/(byte) myprintf::bLen#3 myprintf::@42/(byte) myprintf::bLen#37 myprintf::@48/(byte) myprintf::bLen#25 myprintf::@60/(byte) myprintf::bLen#42 myprintf::@8/(byte) myprintf::bLen#1 )
  (byte*) myprintf::dst#23 ← phi( myprintf::@16/(byte*) myprintf::dst#5 myprintf::@42/(byte*) myprintf::dst#32 myprintf::@48/(byte*) myprintf::dst#19 myprintf::@60/(byte*) myprintf::dst#37 myprintf::@8/(byte*) myprintf::dst#3 )
  (byte*) myprintf::str#7 ← phi( myprintf::@16/(byte*) myprintf::str#17 myprintf::@42/(byte*) myprintf::str#18 myprintf::@48/(byte*) myprintf::str#19 myprintf::@60/(byte*) myprintf::str#20 myprintf::@8/(byte*) myprintf::str#21 )
  (byte) myprintf::bFormat#1 ← (number) 0
  to:myprintf::@1
myprintf::@66: scope:[myprintf]  from myprintf::@4
  (byte) myprintf::bLeadZero#33 ← phi( myprintf::@4/(byte) myprintf::bLeadZero#39 )
  (byte) myprintf::bDigits#39 ← phi( myprintf::@4/(byte) myprintf::bDigits#43 )
  (byte) myprintf::bTrailing#36 ← phi( myprintf::@4/(byte) myprintf::bTrailing#41 )
  (word) myprintf::w#27 ← phi( myprintf::@4/(word) myprintf::w#33 )
  (word) myprintf::w3#25 ← phi( myprintf::@4/(word) myprintf::w3#5 )
  (word) myprintf::w2#25 ← phi( myprintf::@4/(word) myprintf::w2#5 )
  (word) myprintf::w1#24 ← phi( myprintf::@4/(word) myprintf::w1#4 )
  (byte) myprintf::bArg#24 ← phi( myprintf::@4/(byte) myprintf::bArg#5 )
  (byte) myprintf::bFormat#16 ← phi( myprintf::@4/(byte) myprintf::bFormat#18 )
  (byte*) myprintf::str#12 ← phi( myprintf::@4/(byte*) myprintf::str#22 )
  (byte) myprintf::bLen#26 ← phi( myprintf::@4/(byte) myprintf::bLen#38 )
  (byte*) myprintf::dst#20 ← phi( myprintf::@4/(byte*) myprintf::dst#33 )
  (byte) myprintf::b#24 ← phi( myprintf::@4/(byte) myprintf::b#7 )
  (bool~) myprintf::$55 ← (byte) myprintf::b#24 >= (number) $41
  (bool~) myprintf::$56 ← (byte) myprintf::b#24 <= (number) $5a
  (bool~) myprintf::$57 ← (bool~) myprintf::$55 && (bool~) myprintf::$56
  (bool~) myprintf::$58 ← ! (bool~) myprintf::$57
  if((bool~) myprintf::$58) goto myprintf::@73
  to:myprintf::@83
myprintf::@79: scope:[myprintf]  from myprintf::@4
  (byte) myprintf::bLen#50 ← phi( myprintf::@4/(byte) myprintf::bLen#38 )
  (byte*) myprintf::dst#45 ← phi( myprintf::@4/(byte*) myprintf::dst#33 )
  (byte*) myprintf::str#32 ← phi( myprintf::@4/(byte*) myprintf::str#22 )
  (word) myprintf::w3#4 ← phi( myprintf::@4/(word) myprintf::w3#5 )
  (word) myprintf::w2#4 ← phi( myprintf::@4/(word) myprintf::w2#5 )
  (word) myprintf::w1#3 ← phi( myprintf::@4/(word) myprintf::w1#4 )
  (byte) myprintf::bArg#2 ← phi( myprintf::@4/(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::$53 ← (byte) myprintf::bArg#2 == (number) 0
  if((bool~) myprintf::$53) goto myprintf::@67
  to:myprintf::@80
myprintf::@67: scope:[myprintf]  from myprintf::@79
  (byte) myprintf::bLeadZero#30 ← phi( myprintf::@79/(byte) myprintf::bLeadZero#2 )
  (byte) myprintf::bDigits#36 ← phi( myprintf::@79/(byte) myprintf::bDigits#4 )
  (byte) myprintf::bTrailing#33 ← phi( myprintf::@79/(byte) myprintf::bTrailing#2 )
  (word) myprintf::w3#23 ← phi( myprintf::@79/(word) myprintf::w3#4 )
  (word) myprintf::w2#23 ← phi( myprintf::@79/(word) myprintf::w2#4 )
  (byte) myprintf::bLen#45 ← phi( myprintf::@79/(byte) myprintf::bLen#50 )
  (byte*) myprintf::dst#40 ← phi( myprintf::@79/(byte*) myprintf::dst#45 )
  (byte) myprintf::bFormat#13 ← phi( myprintf::@79/(byte) myprintf::bFormat#2 )
  (byte*) myprintf::str#23 ← phi( myprintf::@79/(byte*) myprintf::str#32 )
  (byte) myprintf::bArg#6 ← phi( myprintf::@79/(byte) myprintf::bArg#2 )
  (word) myprintf::w1#2 ← phi( myprintf::@79/(word) myprintf::w1#3 )
  (word) myprintf::w#1 ← (word) myprintf::w1#2
  to:myprintf::@70
myprintf::@80: scope:[myprintf]  from myprintf::@79
  (byte) myprintf::bLeadZero#40 ← phi( myprintf::@79/(byte) myprintf::bLeadZero#2 )
  (byte) myprintf::bDigits#44 ← phi( myprintf::@79/(byte) myprintf::bDigits#4 )
  (byte) myprintf::bTrailing#42 ← phi( myprintf::@79/(byte) myprintf::bTrailing#2 )
  (word) myprintf::w1#32 ← phi( myprintf::@79/(word) myprintf::w1#3 )
  (byte) myprintf::bLen#51 ← phi( myprintf::@79/(byte) myprintf::bLen#50 )
  (byte*) myprintf::dst#46 ← phi( myprintf::@79/(byte*) myprintf::dst#45 )
  (byte) myprintf::bFormat#19 ← phi( myprintf::@79/(byte) myprintf::bFormat#2 )
  (byte*) myprintf::str#33 ← phi( myprintf::@79/(byte*) myprintf::str#32 )
  (word) myprintf::w3#3 ← phi( myprintf::@79/(word) myprintf::w3#4 )
  (word) myprintf::w2#3 ← phi( myprintf::@79/(word) myprintf::w2#4 )
  (byte) myprintf::bArg#3 ← phi( myprintf::@79/(byte) myprintf::bArg#2 )
  (bool~) myprintf::$54 ← (byte) myprintf::bArg#3 == (number) 1
  if((bool~) myprintf::$54) goto myprintf::@68
  to:myprintf::@81
myprintf::@68: scope:[myprintf]  from myprintf::@80
  (byte) myprintf::bLeadZero#31 ← phi( myprintf::@80/(byte) myprintf::bLeadZero#40 )
  (byte) myprintf::bDigits#37 ← phi( myprintf::@80/(byte) myprintf::bDigits#44 )
  (byte) myprintf::bTrailing#34 ← phi( myprintf::@80/(byte) myprintf::bTrailing#42 )
  (word) myprintf::w3#24 ← phi( myprintf::@80/(word) myprintf::w3#3 )
  (word) myprintf::w1#22 ← phi( myprintf::@80/(word) myprintf::w1#32 )
  (byte) myprintf::bLen#46 ← phi( myprintf::@80/(byte) myprintf::bLen#51 )
  (byte*) myprintf::dst#41 ← phi( myprintf::@80/(byte*) myprintf::dst#46 )
  (byte) myprintf::bFormat#14 ← phi( myprintf::@80/(byte) myprintf::bFormat#19 )
  (byte*) myprintf::str#24 ← phi( myprintf::@80/(byte*) myprintf::str#33 )
  (byte) myprintf::bArg#7 ← phi( myprintf::@80/(byte) myprintf::bArg#3 )
  (word) myprintf::w2#2 ← phi( myprintf::@80/(word) myprintf::w2#3 )
  (word) myprintf::w#2 ← (word) myprintf::w2#2
  to:myprintf::@70
myprintf::@81: scope:[myprintf]  from myprintf::@80
  (byte) myprintf::bLeadZero#32 ← phi( myprintf::@80/(byte) myprintf::bLeadZero#40 )
  (byte) myprintf::bDigits#38 ← phi( myprintf::@80/(byte) myprintf::bDigits#44 )
  (byte) myprintf::bTrailing#35 ← phi( myprintf::@80/(byte) myprintf::bTrailing#42 )
  (word) myprintf::w2#24 ← phi( myprintf::@80/(word) myprintf::w2#3 )
  (word) myprintf::w1#23 ← phi( myprintf::@80/(word) myprintf::w1#32 )
  (byte) myprintf::bLen#47 ← phi( myprintf::@80/(byte) myprintf::bLen#51 )
  (byte*) myprintf::dst#42 ← phi( myprintf::@80/(byte*) myprintf::dst#46 )
  (byte) myprintf::bFormat#15 ← phi( myprintf::@80/(byte) myprintf::bFormat#19 )
  (byte*) myprintf::str#25 ← phi( myprintf::@80/(byte*) myprintf::str#33 )
  (byte) myprintf::bArg#8 ← phi( myprintf::@80/(byte) myprintf::bArg#3 )
  (word) myprintf::w3#2 ← phi( myprintf::@80/(word) myprintf::w3#3 )
  (word) myprintf::w#3 ← (word) myprintf::w3#2
  to:myprintf::@70
myprintf::@70: scope:[myprintf]  from myprintf::@67 myprintf::@68 myprintf::@81
  (byte) myprintf::bLeadZero#23 ← phi( myprintf::@67/(byte) myprintf::bLeadZero#30 myprintf::@68/(byte) myprintf::bLeadZero#31 myprintf::@81/(byte) myprintf::bLeadZero#32 )
  (byte) myprintf::bDigits#30 ← phi( myprintf::@67/(byte) myprintf::bDigits#36 myprintf::@68/(byte) myprintf::bDigits#37 myprintf::@81/(byte) myprintf::bDigits#38 )
  (byte) myprintf::bTrailing#26 ← phi( myprintf::@67/(byte) myprintf::bTrailing#33 myprintf::@68/(byte) myprintf::bTrailing#34 myprintf::@81/(byte) myprintf::bTrailing#35 )
  (word) myprintf::w#21 ← phi( myprintf::@67/(word) myprintf::w#1 myprintf::@68/(word) myprintf::w#2 myprintf::@81/(word) myprintf::w#3 )
  (word) myprintf::w3#12 ← phi( myprintf::@67/(word) myprintf::w3#23 myprintf::@68/(word) myprintf::w3#24 myprintf::@81/(word) myprintf::w3#2 )
  (word) myprintf::w2#12 ← phi( myprintf::@67/(word) myprintf::w2#23 myprintf::@68/(word) myprintf::w2#2 myprintf::@81/(word) myprintf::w2#24 )
  (word) myprintf::w1#11 ← phi( myprintf::@67/(word) myprintf::w1#2 myprintf::@68/(word) myprintf::w1#22 myprintf::@81/(word) myprintf::w1#23 )
  (byte) myprintf::bLen#31 ← phi( myprintf::@67/(byte) myprintf::bLen#45 myprintf::@68/(byte) myprintf::bLen#46 myprintf::@81/(byte) myprintf::bLen#47 )
  (byte*) myprintf::dst#26 ← phi( myprintf::@67/(byte*) myprintf::dst#40 myprintf::@68/(byte*) myprintf::dst#41 myprintf::@81/(byte*) myprintf::dst#42 )
  (byte) myprintf::bFormat#7 ← phi( myprintf::@67/(byte) myprintf::bFormat#13 myprintf::@68/(byte) myprintf::bFormat#14 myprintf::@81/(byte) myprintf::bFormat#15 )
  (byte*) myprintf::str#10 ← phi( myprintf::@67/(byte*) myprintf::str#23 myprintf::@68/(byte*) myprintf::str#24 myprintf::@81/(byte*) myprintf::str#25 )
  (byte) myprintf::bArg#4 ← phi( myprintf::@67/(byte) myprintf::bArg#6 myprintf::@68/(byte) myprintf::bArg#7 myprintf::@81/(byte) myprintf::bArg#8 )
  (byte) myprintf::bArg#1 ← ++ (byte) myprintf::bArg#4
  to:myprintf::@1
myprintf::@73: scope:[myprintf]  from myprintf::@66 myprintf::@83
  (byte) myprintf::bLeadZero#24 ← phi( myprintf::@66/(byte) myprintf::bLeadZero#33 myprintf::@83/(byte) myprintf::bLeadZero#34 )
  (byte) myprintf::bDigits#31 ← phi( myprintf::@66/(byte) myprintf::bDigits#39 myprintf::@83/(byte) myprintf::bDigits#40 )
  (byte) myprintf::bTrailing#27 ← phi( myprintf::@66/(byte) myprintf::bTrailing#36 myprintf::@83/(byte) myprintf::bTrailing#37 )
  (word) myprintf::w#22 ← phi( myprintf::@66/(word) myprintf::w#27 myprintf::@83/(word) myprintf::w#28 )
  (word) myprintf::w3#13 ← phi( myprintf::@66/(word) myprintf::w3#25 myprintf::@83/(word) myprintf::w3#26 )
  (word) myprintf::w2#13 ← phi( myprintf::@66/(word) myprintf::w2#25 myprintf::@83/(word) myprintf::w2#26 )
  (word) myprintf::w1#12 ← phi( myprintf::@66/(word) myprintf::w1#24 myprintf::@83/(word) myprintf::w1#25 )
  (byte) myprintf::bArg#14 ← phi( myprintf::@66/(byte) myprintf::bArg#24 myprintf::@83/(byte) myprintf::bArg#25 )
  (byte) myprintf::bFormat#8 ← phi( myprintf::@66/(byte) myprintf::bFormat#16 myprintf::@83/(byte) myprintf::bFormat#17 )
  (byte*) myprintf::str#5 ← phi( myprintf::@66/(byte*) myprintf::str#12 myprintf::@83/(byte*) myprintf::str#13 )
  (byte) myprintf::bLen#15 ← phi( myprintf::@66/(byte) myprintf::bLen#26 myprintf::@83/(byte) myprintf::bLen#27 )
  (byte*) myprintf::dst#9 ← phi( myprintf::@66/(byte*) myprintf::dst#20 myprintf::@83/(byte*) myprintf::dst#21 )
  (byte) myprintf::b#25 ← phi( myprintf::@66/(byte) myprintf::b#24 myprintf::@83/(byte) myprintf::b#6 )
  *((byte*) myprintf::dst#9 + (byte) myprintf::bLen#15) ← (byte) myprintf::b#25
  (byte) myprintf::bLen#7 ← ++ (byte) myprintf::bLen#15
  (byte*) myprintf::str#0 ← ++ (byte*) myprintf::str#5
  to:myprintf::@1
myprintf::@83: scope:[myprintf]  from myprintf::@66
  (byte) myprintf::bLeadZero#34 ← phi( myprintf::@66/(byte) myprintf::bLeadZero#33 )
  (byte) myprintf::bDigits#40 ← phi( myprintf::@66/(byte) myprintf::bDigits#39 )
  (byte) myprintf::bTrailing#37 ← phi( myprintf::@66/(byte) myprintf::bTrailing#36 )
  (word) myprintf::w#28 ← phi( myprintf::@66/(word) myprintf::w#27 )
  (word) myprintf::w3#26 ← phi( myprintf::@66/(word) myprintf::w3#25 )
  (word) myprintf::w2#26 ← phi( myprintf::@66/(word) myprintf::w2#25 )
  (word) myprintf::w1#25 ← phi( myprintf::@66/(word) myprintf::w1#24 )
  (byte) myprintf::bArg#25 ← phi( myprintf::@66/(byte) myprintf::bArg#24 )
  (byte) myprintf::bFormat#17 ← phi( myprintf::@66/(byte) myprintf::bFormat#16 )
  (byte*) myprintf::str#13 ← phi( myprintf::@66/(byte*) myprintf::str#12 )
  (byte) myprintf::bLen#27 ← phi( myprintf::@66/(byte) myprintf::bLen#26 )
  (byte*) myprintf::dst#21 ← phi( myprintf::@66/(byte*) myprintf::dst#20 )
  (byte) myprintf::b#26 ← phi( myprintf::@66/(byte) myprintf::b#24 )
  (byte) myprintf::b#6 ← (byte) myprintf::b#26 + (number) $20
  to:myprintf::@73
myprintf::@return: scope:[myprintf]  from myprintf::@3
  (byte) myprintf::return#4 ← phi( myprintf::@3/(byte) myprintf::return#0 )
  (byte) myprintf::return#1 ← (byte) myprintf::return#4
  return 
  to:@return
Print: scope:[Print]  from main::@27 main::@30
  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::@17
  (word) div10::val#5 ← phi( main::@17/(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::@28
  (word) main::v#9 ← phi( main/(word) main::v#0 main::@28/(word) main::v#11 )
  (word) main::u#19 ← phi( main/(word) main::u#1 main::@28/(word) main::u#3 )
  (bool~) main::$0 ← *((byte*) zp1#0) < (number) $a
  if((bool~) main::$0) goto main::@2
  to:main::@3
main::@2: scope:[main]  from main::@1
  (word) main::v#7 ← phi( main::@1/(word) main::v#9 )
  (word) main::u#15 ← phi( main::@1/(word) main::u#19 )
  *((byte*) TIMEHI#0) ← (number) 0
  *((byte*) TIMELO#0) ← (number) 0
  *((byte*) zp2#0) ← (number) 0
  to:main::@4
main::@3: scope:[main]  from main::@1
  (word) main::v#12 ← phi( main::@1/(word) main::v#9 )
  (word) main::u#2 ← (number) $6e85
  *((byte*) zp1#0) ← (number) 0
  to:main::@13
main::@4: scope:[main]  from main::@2 main::@26
  (word) main::v#5 ← phi( main::@2/(word) main::v#7 main::@26/(word) main::v#1 )
  (word) main::u#11 ← phi( main::@2/(word) main::u#15 main::@26/(word) main::u#16 )
  (bool~) main::$1 ← *((byte*) zp2#0) < (number) $c8
  if((bool~) main::$1) goto main::@5
  to:main::@6
main::@5: scope:[main]  from main::@4
  (word) main::u#5 ← phi( main::@4/(word) main::u#11 )
  (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::@26
main::@26: scope:[main]  from main::@5
  (word) main::u#16 ← phi( main::@5/(word) main::u#5 )
  (word) div16u::return#4 ← phi( main::@5/(word) div16u::return#2 )
  (word~) main::$2 ← (word) div16u::return#4
  (word) main::v#1 ← (word~) main::$2
  *((byte*) zp2#0) ← ++ *((byte*) zp2#0)
  to:main::@4
main::@6: scope:[main]  from main::@4
  (word) main::v#3 ← phi( main::@4/(word) main::v#5 )
  (word) main::u#6 ← phi( main::@4/(word) main::u#11 )
  (word~) main::$3 ← ((word)) *((byte*) TIMEHI#0)
  (word~) main::$4 ← (word~) main::$3 << (number) 8
  (word~) main::$5 ← ((word)) *((byte*) TIMELO#0)
  (word~) main::$6 ← (word~) main::$4 + (word~) main::$5
  (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::$6
  call myprintf 
  (byte) myprintf::return#2 ← (byte) myprintf::return#1
  to:main::@27
main::@27: scope:[main]  from main::@6
  (word) main::v#14 ← phi( main::@6/(word) main::v#3 )
  (word) main::u#12 ← phi( main::@6/(word) main::u#6 )
  call Print 
  to:main::@28
main::@28: scope:[main]  from main::@27
  (word) main::v#11 ← phi( main::@27/(word) main::v#14 )
  (word) main::u#7 ← phi( main::@27/(word) main::u#12 )
  (word) main::u#3 ← (word) main::u#7 - (number) $4d2
  *((byte*) zp1#0) ← ++ *((byte*) zp1#0)
  to:main::@1
main::@13: scope:[main]  from main::@3 main::@31
  (word) main::v#10 ← phi( main::@3/(word) main::v#12 main::@31/(word) main::v#13 )
  (word) main::u#20 ← phi( main::@3/(word) main::u#2 main::@31/(word) main::u#4 )
  (bool~) main::$9 ← *((byte*) zp1#0) < (number) $a
  if((bool~) main::$9) goto main::@14
  to:main::@15
main::@14: scope:[main]  from main::@13
  (word) main::v#8 ← phi( main::@13/(word) main::v#10 )
  (word) main::u#17 ← phi( main::@13/(word) main::u#20 )
  *((byte*) TIMEHI#0) ← (number) 0
  *((byte*) TIMELO#0) ← (number) 0
  *((byte*) zp2#0) ← (number) 0
  to:main::@16
main::@15: scope:[main]  from main::@13
  (signed word) main::return#0 ← (number) 0
  to:main::@return
main::@16: scope:[main]  from main::@14 main::@29
  (word) main::v#6 ← phi( main::@14/(word) main::v#8 main::@29/(word) main::v#2 )
  (word) main::u#13 ← phi( main::@14/(word) main::u#17 main::@29/(word) main::u#18 )
  (bool~) main::$10 ← *((byte*) zp2#0) < (number) $c8
  if((bool~) main::$10) goto main::@17
  to:main::@18
main::@17: scope:[main]  from main::@16
  (word) main::u#8 ← phi( main::@16/(word) main::u#13 )
  (word) div10::val#4 ← (word) main::u#8
  call div10 
  (word) div10::return#2 ← (word) div10::return#1
  to:main::@29
main::@29: scope:[main]  from main::@17
  (word) main::u#18 ← phi( main::@17/(word) main::u#8 )
  (word) div10::return#4 ← phi( main::@17/(word) div10::return#2 )
  (word~) main::$11 ← (word) div10::return#4
  (word) main::v#2 ← (word~) main::$11
  *((byte*) zp2#0) ← ++ *((byte*) zp2#0)
  to:main::@16
main::@18: scope:[main]  from main::@16
  (word) main::v#4 ← phi( main::@16/(word) main::v#6 )
  (word) main::u#9 ← phi( main::@16/(word) main::u#13 )
  (word~) main::$12 ← ((word)) *((byte*) TIMEHI#0)
  (word~) main::$13 ← (word~) main::$12 << (number) 8
  (word~) main::$14 ← ((word)) *((byte*) TIMELO#0)
  (word~) main::$15 ← (word~) main::$13 + (word~) main::$14
  (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::$15
  call myprintf 
  (byte) myprintf::return#3 ← (byte) myprintf::return#1
  to:main::@30
main::@30: scope:[main]  from main::@18
  (word) main::v#15 ← phi( main::@18/(word) main::v#4 )
  (word) main::u#14 ← phi( main::@18/(word) main::u#9 )
  call Print 
  to:main::@31
main::@31: scope:[main]  from main::@30
  (word) main::v#13 ← phi( main::@30/(word) main::v#15 )
  (word) main::u#10 ← phi( main::@30/(word) main::u#14 )
  (word) main::u#4 ← (word) main::u#10 - (number) $4d2
  *((byte*) zp1#0) ← ++ *((byte*) zp1#0)
  to:main::@13
main::@return: scope:[main]  from main::@15
  (signed word) main::return#3 ← phi( main::@15/(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()
(bool~) main::$0
(bool~) main::$1
(bool~) main::$10
(word~) main::$11
(word~) main::$12
(word~) main::$13
(word~) main::$14
(word~) main::$15
(word~) main::$2
(word~) main::$3
(word~) main::$4
(word~) main::$5
(word~) main::$6
(bool~) main::$9
(label) main::@1
(label) main::@13
(label) main::@14
(label) main::@15
(label) main::@16
(label) main::@17
(label) main::@18
(label) main::@2
(label) main::@26
(label) main::@27
(label) main::@28
(label) main::@29
(label) main::@3
(label) main::@30
(label) main::@31
(label) main::@4
(label) main::@5
(label) main::@6
(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#17
(word) main::u#18
(word) main::u#19
(word) main::u#2
(word) main::u#20
(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#10
(word) main::v#11
(word) main::v#12
(word) main::v#13
(word) main::v#14
(word) main::v#15
(word) main::v#2
(word) main::v#3
(word) main::v#4
(word) main::v#5
(word) main::v#6
(word) main::v#7
(word) main::v#8
(word) main::v#9
(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
(bool~) myprintf::$17
(byte~) myprintf::$18
(byte~) myprintf::$19
(bool~) myprintf::$2
(number~) myprintf::$20
(bool~) myprintf::$21
(number~) myprintf::$22
(byte~) myprintf::$23
(number~) myprintf::$24
(number~) myprintf::$25
(byte~) myprintf::$26
(number~) myprintf::$27
(bool~) myprintf::$28
(number~) myprintf::$29
(bool~) myprintf::$3
(byte~) myprintf::$30
(number~) myprintf::$31
(number~) myprintf::$32
(bool~) myprintf::$34
(bool~) myprintf::$35
(bool~) myprintf::$36
(bool~) myprintf::$37
(bool~) myprintf::$38
(bool~) myprintf::$39
(bool~) myprintf::$4
(bool~) myprintf::$40
(byte~) myprintf::$41
(byte~) myprintf::$42
(byte~) myprintf::$43
(bool~) myprintf::$44
(bool~) myprintf::$45
(bool~) myprintf::$46
(bool~) myprintf::$47
(bool~) myprintf::$48
(bool~) myprintf::$49
(bool~) myprintf::$5
(byte~) 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
(bool~) myprintf::$8
(byte~) myprintf::$9
(label) myprintf::@1
(label) myprintf::@11
(label) myprintf::@12
(label) myprintf::@13
(label) myprintf::@14
(label) myprintf::@15
(label) myprintf::@16
(label) myprintf::@2
(label) myprintf::@21
(label) myprintf::@22
(label) myprintf::@23
(label) myprintf::@28
(label) myprintf::@29
(label) myprintf::@3
(label) myprintf::@30
(label) myprintf::@32
(label) myprintf::@33
(label) myprintf::@34
(label) myprintf::@4
(label) myprintf::@40
(label) myprintf::@41
(label) myprintf::@42
(label) myprintf::@48
(label) myprintf::@49
(label) myprintf::@5
(label) myprintf::@54
(label) myprintf::@55
(label) myprintf::@57
(label) myprintf::@59
(label) myprintf::@6
(label) myprintf::@60
(label) myprintf::@61
(label) myprintf::@66
(label) myprintf::@67
(label) myprintf::@68
(label) myprintf::@7
(label) myprintf::@70
(label) myprintf::@73
(label) myprintf::@76
(label) myprintf::@77
(label) myprintf::@79
(label) myprintf::@8
(label) myprintf::@80
(label) myprintf::@81
(label) myprintf::@83
(label) myprintf::@86
(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#35
(byte) myprintf::b#36
(byte) myprintf::b#37
(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#45
(byte) myprintf::bArg#46
(byte) myprintf::bArg#47
(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#46
(byte) myprintf::bDigits#47
(byte) myprintf::bDigits#48
(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#44
(byte) myprintf::bLeadZero#45
(byte) myprintf::bLeadZero#46
(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#52
(byte) myprintf::bLen#53
(byte) myprintf::bLen#54
(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#44
(byte) myprintf::bTrailing#45
(byte) myprintf::bTrailing#46
(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::digit#4
(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#47
(byte*) myprintf::dst#48
(byte*) myprintf::dst#49
(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#47
(byte*) myprintf::str#48
(byte*) myprintf::str#49
(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#42
(word) myprintf::w#43
(word) myprintf::w#44
(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#46
(word) myprintf::w1#47
(word) myprintf::w1#48
(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#46
(word) myprintf::w2#47
(word) myprintf::w2#48
(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#46
(word) myprintf::w3#47
(word) myprintf::w3#48
(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::str#3) != (number) 0
Adding number conversion cast (unumber) 0 in (bool~) myprintf::$1 ← (byte) myprintf::bFormat#3 != (number) 0
Adding number conversion cast (unumber) 0 in *((byte*) myprintf::dst#2 + (byte) myprintf::bLen#8) ← (number) 0
Adding number conversion cast (unumber) 1 in (byte) myprintf::bLeadZero#1 ← (number) 1
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::$19 ← (byte~) myprintf::$18 >> (number) 4
Adding number conversion cast (unumber) $f in (number~) myprintf::$20 ← (byte~) myprintf::$19 & (number) $f
Adding number conversion cast (unumber) myprintf::$20 in (number~) myprintf::$20 ← (byte~) myprintf::$19 & (unumber)(number) $f
Adding number conversion cast (unumber) $a in (bool~) myprintf::$21 ← (byte) myprintf::b#3 < (number) $a
Adding number conversion cast (unumber) myprintf::$24 in (byte) myprintf::bLeadZero#41 ← phi( myprintf::@11/(byte) myprintf::bLeadZero#44 myprintf::@12/(byte) myprintf::bLeadZero#45 )
  (byte) myprintf::bDigits#45 ← phi( myprintf::@11/(byte) myprintf::bDigits#46 myprintf::@12/(byte) myprintf::bDigits#47 )
  (byte) myprintf::bTrailing#43 ← phi( myprintf::@11/(byte) myprintf::bTrailing#44 myprintf::@12/(byte) myprintf::bTrailing#45 )
  (word) myprintf::w3#33 ← phi( myprintf::@11/(word) myprintf::w3#36 myprintf::@12/(word) myprintf::w3#37 )
  (word) myprintf::w2#33 ← phi( myprintf::@11/(word) myprintf::w2#36 myprintf::@12/(word) myprintf::w2#37 )
  (word) myprintf::w1#33 ← phi( myprintf::@11/(word) myprintf::w1#36 myprintf::@12/(word) myprintf::w1#37 )
  (byte) myprintf::bArg#32 ← phi( myprintf::@11/(byte) myprintf::bArg#35 myprintf::@12/(byte) myprintf::bArg#36 )
  (byte*) myprintf::str#34 ← phi( myprintf::@11/(byte*) myprintf::str#37 myprintf::@12/(byte*) myprintf::str#38 )
  (word) myprintf::w#7 ← phi( myprintf::@11/(word) myprintf::w#11 myprintf::@12/(word) myprintf::w#12 )
  (byte) myprintf::bLen#10 ← phi( myprintf::@11/(byte) myprintf::bLen#18 myprintf::@12/(byte) myprintf::bLen#19 )
  (byte*) myprintf::dst#4 ← phi( myprintf::@11/(byte*) myprintf::dst#12 myprintf::@12/(byte*) myprintf::dst#13 )
  (byte) myprintf::b#15 ← phi( myprintf::@11/(byte) myprintf::b#27 myprintf::@12/(byte) myprintf::b#28 )
  (number~) myprintf::$24 ← phi( myprintf::@11/(byte~) myprintf::$23 myprintf::@12/(number~) myprintf::$22 )
Adding number conversion cast (unumber) myprintf::$22 in (byte) myprintf::bLeadZero#41 ← phi( myprintf::@11/(byte) myprintf::bLeadZero#44 myprintf::@12/(byte) myprintf::bLeadZero#45 )
  (byte) myprintf::bDigits#45 ← phi( myprintf::@11/(byte) myprintf::bDigits#46 myprintf::@12/(byte) myprintf::bDigits#47 )
  (byte) myprintf::bTrailing#43 ← phi( myprintf::@11/(byte) myprintf::bTrailing#44 myprintf::@12/(byte) myprintf::bTrailing#45 )
  (word) myprintf::w3#33 ← phi( myprintf::@11/(word) myprintf::w3#36 myprintf::@12/(word) myprintf::w3#37 )
  (word) myprintf::w2#33 ← phi( myprintf::@11/(word) myprintf::w2#36 myprintf::@12/(word) myprintf::w2#37 )
  (word) myprintf::w1#33 ← phi( myprintf::@11/(word) myprintf::w1#36 myprintf::@12/(word) myprintf::w1#37 )
  (byte) myprintf::bArg#32 ← phi( myprintf::@11/(byte) myprintf::bArg#35 myprintf::@12/(byte) myprintf::bArg#36 )
  (byte*) myprintf::str#34 ← phi( myprintf::@11/(byte*) myprintf::str#37 myprintf::@12/(byte*) myprintf::str#38 )
  (word) myprintf::w#7 ← phi( myprintf::@11/(word) myprintf::w#11 myprintf::@12/(word) myprintf::w#12 )
  (byte) myprintf::bLen#10 ← phi( myprintf::@11/(byte) myprintf::bLen#18 myprintf::@12/(byte) myprintf::bLen#19 )
  (byte*) myprintf::dst#4 ← phi( myprintf::@11/(byte*) myprintf::dst#12 myprintf::@12/(byte*) myprintf::dst#13 )
  (byte) myprintf::b#15 ← phi( myprintf::@11/(byte) myprintf::b#27 myprintf::@12/(byte) myprintf::b#28 )
  (unumber~) myprintf::$24 ← phi( myprintf::@11/(byte~) myprintf::$23 myprintf::@12/(number~) myprintf::$22 )
Adding number conversion cast (unumber) myprintf::$25 in (number~) myprintf::$25 ← (unumber~) myprintf::$24 + (byte) myprintf::b#15
Adding number conversion cast (unumber) $f in (number~) myprintf::$27 ← (byte~) myprintf::$26 & (number) $f
Adding number conversion cast (unumber) myprintf::$27 in (number~) myprintf::$27 ← (byte~) myprintf::$26 & (unumber)(number) $f
Adding number conversion cast (unumber) $a in (bool~) myprintf::$28 ← (byte) myprintf::b#4 < (number) $a
Adding number conversion cast (unumber) myprintf::$31 in (byte) myprintf::bLeadZero#25 ← phi( myprintf::@14/(byte) myprintf::bLeadZero#35 myprintf::@15/(byte) myprintf::bLeadZero#36 )
  (byte) myprintf::bDigits#33 ← phi( myprintf::@14/(byte) myprintf::bDigits#41 myprintf::@15/(byte) myprintf::bDigits#42 )
  (byte) myprintf::bTrailing#29 ← phi( myprintf::@14/(byte) myprintf::bTrailing#38 myprintf::@15/(byte) myprintf::bTrailing#39 )
  (word) myprintf::w#24 ← phi( myprintf::@14/(word) myprintf::w#29 myprintf::@15/(word) myprintf::w#30 )
  (word) myprintf::w3#18 ← phi( myprintf::@14/(word) myprintf::w3#29 myprintf::@15/(word) myprintf::w3#30 )
  (word) myprintf::w2#18 ← phi( myprintf::@14/(word) myprintf::w2#29 myprintf::@15/(word) myprintf::w2#30 )
  (word) myprintf::w1#17 ← phi( myprintf::@14/(word) myprintf::w1#28 myprintf::@15/(word) myprintf::w1#29 )
  (byte) myprintf::bArg#19 ← phi( myprintf::@14/(byte) myprintf::bArg#28 myprintf::@15/(byte) myprintf::bArg#29 )
  (byte*) myprintf::str#17 ← phi( myprintf::@14/(byte*) myprintf::str#28 myprintf::@15/(byte*) myprintf::str#29 )
  (byte) myprintf::bLen#11 ← phi( myprintf::@14/(byte) myprintf::bLen#20 myprintf::@15/(byte) myprintf::bLen#21 )
  (byte*) myprintf::dst#5 ← phi( myprintf::@14/(byte*) myprintf::dst#14 myprintf::@15/(byte*) myprintf::dst#15 )
  (byte) myprintf::b#16 ← phi( myprintf::@14/(byte) myprintf::b#29 myprintf::@15/(byte) myprintf::b#30 )
  (number~) myprintf::$31 ← phi( myprintf::@14/(byte~) myprintf::$30 myprintf::@15/(number~) myprintf::$29 )
Adding number conversion cast (unumber) myprintf::$29 in (byte) myprintf::bLeadZero#25 ← phi( myprintf::@14/(byte) myprintf::bLeadZero#35 myprintf::@15/(byte) myprintf::bLeadZero#36 )
  (byte) myprintf::bDigits#33 ← phi( myprintf::@14/(byte) myprintf::bDigits#41 myprintf::@15/(byte) myprintf::bDigits#42 )
  (byte) myprintf::bTrailing#29 ← phi( myprintf::@14/(byte) myprintf::bTrailing#38 myprintf::@15/(byte) myprintf::bTrailing#39 )
  (word) myprintf::w#24 ← phi( myprintf::@14/(word) myprintf::w#29 myprintf::@15/(word) myprintf::w#30 )
  (word) myprintf::w3#18 ← phi( myprintf::@14/(word) myprintf::w3#29 myprintf::@15/(word) myprintf::w3#30 )
  (word) myprintf::w2#18 ← phi( myprintf::@14/(word) myprintf::w2#29 myprintf::@15/(word) myprintf::w2#30 )
  (word) myprintf::w1#17 ← phi( myprintf::@14/(word) myprintf::w1#28 myprintf::@15/(word) myprintf::w1#29 )
  (byte) myprintf::bArg#19 ← phi( myprintf::@14/(byte) myprintf::bArg#28 myprintf::@15/(byte) myprintf::bArg#29 )
  (byte*) myprintf::str#17 ← phi( myprintf::@14/(byte*) myprintf::str#28 myprintf::@15/(byte*) myprintf::str#29 )
  (byte) myprintf::bLen#11 ← phi( myprintf::@14/(byte) myprintf::bLen#20 myprintf::@15/(byte) myprintf::bLen#21 )
  (byte*) myprintf::dst#5 ← phi( myprintf::@14/(byte*) myprintf::dst#14 myprintf::@15/(byte*) myprintf::dst#15 )
  (byte) myprintf::b#16 ← phi( myprintf::@14/(byte) myprintf::b#29 myprintf::@15/(byte) myprintf::b#30 )
  (unumber~) myprintf::$31 ← phi( myprintf::@14/(byte~) myprintf::$30 myprintf::@15/(number~) myprintf::$29 )
Adding number conversion cast (unumber) myprintf::$32 in (number~) myprintf::$32 ← (unumber~) myprintf::$31 + (byte) myprintf::b#16
Adding number conversion cast (unumber) 0 in (bool~) myprintf::$34 ← *((byte[6]) myprintf::buf6#0 + (byte) myprintf::b#17) != (number) 0
Adding number conversion cast (unumber) 0 in (bool~) myprintf::$35 ← (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::$40 ← (byte) myprintf::bLeadZero#3 == (number) 0
Adding number conversion cast (unumber) 0 in (bool~) myprintf::$45 ← (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::$55 ← (byte) myprintf::b#24 >= (number) $41
Adding number conversion cast (unumber) $5a in (bool~) myprintf::$56 ← (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::$53 ← (byte) myprintf::bArg#2 == (number) 0
Adding number conversion cast (unumber) 1 in (bool~) myprintf::$54 ← (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) 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) $a in (bool~) main::$0 ← *((byte*) zp1#0) < (number) $a
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) $6e85 in (word) main::u#2 ← (number) $6e85
Adding number conversion cast (unumber) 0 in *((byte*) zp1#0) ← (number) 0
Adding number conversion cast (unumber) $c8 in (bool~) main::$1 ← *((byte*) zp2#0) < (number) $c8
Adding number conversion cast (unumber) $a in (word) div16u::divisor#0 ← (number) $a
Adding number conversion cast (unumber) 8 in (word~) main::$4 ← (word~) main::$3 << (number) 8
Adding number conversion cast (unumber) $4d2 in (word) main::u#3 ← (word) main::u#7 - (number) $4d2
Adding number conversion cast (unumber) $a in (bool~) main::$9 ← *((byte*) zp1#0) < (number) $a
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 (snumber) 0 in (signed word) main::return#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::$13 ← (word~) main::$12 << (number) 8
Adding number conversion cast (unumber) $4d2 in (word) main::u#4 ← (word) main::u#10 - (number) $4d2
Successful SSA optimization PassNAddNumberTypeConversions
Adding number conversion cast (unumber) $57 in (unumber~) myprintf::$22 ← (number) $57
Adding number conversion cast (unumber) $57 in (unumber~) myprintf::$29 ← (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::dst#2 + (byte) myprintf::bLen#8) ← (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::$50 ← (byte)(word) myprintf::w#4
Inlining cast (byte) myprintf::b#2 ← (unumber)(number) 1
Inlining cast (byte~) myprintf::$18 ← (byte)(word) myprintf::w#6
Inlining cast (unumber~) myprintf::$22 ← (unumber)(number) $57
Inlining cast (byte~) myprintf::$26 ← (byte)(word) myprintf::w#7
Inlining cast (unumber~) myprintf::$29 ← (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*) 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) main::u#2 ← (unumber)(number) $6e85
Inlining cast *((byte*) zp1#0) ← (unumber)(number) 0
Inlining cast (word) div16u::divisor#0 ← (unumber)(number) $a
Inlining cast (word~) main::$3 ← (word)*((byte*) TIMEHI#0)
Inlining cast (word~) main::$5 ← (word)*((byte*) TIMELO#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 (signed word) main::return#0 ← (snumber)(number) 0
Inlining cast (word~) main::$12 ← (word)*((byte*) TIMEHI#0)
Inlining cast (word~) main::$14 ← (word)*((byte*) TIMELO#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 0
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 $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 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 $a
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast $6e85
Simplifying constant integer cast 0
Simplifying constant integer cast $c8
Simplifying constant integer cast $a
Simplifying constant integer cast 8
Simplifying constant integer cast $4d2
Simplifying constant integer cast $a
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
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) 0
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) $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) 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) $a
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 0
Finalized unsigned number type (word) $6e85
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) $c8
Finalized unsigned number type (byte) $a
Finalized unsigned number type (byte) 8
Finalized unsigned number type (word) $4d2
Finalized unsigned number type (byte) $a
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 0
Finalized signed number type (signed byte) 0
Finalized unsigned number type (byte) $c8
Finalized unsigned number type (byte) 8
Finalized unsigned number type (word) $4d2
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::$20 ← (byte~) myprintf::$19 & (byte) $f
Inferred type updated to byte in (unumber~) myprintf::$22 ← (byte) $57
Inferred type updated to byte for (unumber~) myprintf::$24
Inferred type updated to byte in (unumber~) myprintf::$25 ← (byte~) myprintf::$24 + (byte) myprintf::b#15
Inferred type updated to byte in (unumber~) myprintf::$27 ← (byte~) myprintf::$26 & (byte) $f
Inferred type updated to byte in (unumber~) myprintf::$29 ← (byte) $57
Inferred type updated to byte for (unumber~) myprintf::$31
Inferred type updated to byte in (unumber~) myprintf::$32 ← (byte~) myprintf::$31 + (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 [159] (bool~) myprintf::$2 ← (byte) myprintf::bFormat#3 == (byte) 0 from [158] (bool~) myprintf::$1 ← (byte) myprintf::bFormat#3 != (byte) 0
Inversing boolean not [166] (bool~) myprintf::$52 ← (byte) myprintf::b#7 != (byte) '%' from [165] (bool~) myprintf::$51 ← (byte) myprintf::b#7 == (byte) '%'
Inversing boolean not [170] (bool~) myprintf::$4 ← (byte) myprintf::b#8 != (byte) '0' from [169] (bool~) myprintf::$3 ← (byte) myprintf::b#8 == (byte) '0'
Inversing boolean not [182] (bool~) myprintf::$11 ← (byte) myprintf::b#10 != (byte) '-' from [181] (bool~) myprintf::$10 ← (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::str#11 = (byte*) myprintf::str#4 (byte*) myprintf::str#3 (byte*) myprintf::str#22 (byte*) myprintf::str#14 (byte*) myprintf::str#15 (byte*) myprintf::str#16 (byte*) myprintf::str#8 (byte*) myprintf::str#26 (byte*) myprintf::str#9 (byte*) myprintf::str#21 (byte*) myprintf::str#27 (byte*) myprintf::str#48 (byte*) myprintf::str#45 (byte*) myprintf::str#20 (byte*) myprintf::str#41 (byte*) myprintf::str#37 (byte*) myprintf::str#38 (byte*) myprintf::str#12 (byte*) myprintf::str#32 (byte*) myprintf::str#23 (byte*) myprintf::str#33 (byte*) myprintf::str#24 (byte*) myprintf::str#25 (byte*) myprintf::str#13 
Alias (byte) myprintf::bFormat#10 = (byte) myprintf::bFormat#3 (byte) myprintf::bFormat#4 (byte) myprintf::bFormat#18 (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 (byte) myprintf::bArg#10 = (byte) myprintf::bArg#9 (byte) myprintf::bArg#5 (byte) myprintf::bArg#16 (byte) myprintf::bArg#17 (byte) myprintf::bArg#15 (byte) myprintf::bArg#18 (byte) myprintf::bArg#12 (byte) myprintf::bArg#26 (byte) myprintf::bArg#13 (byte) myprintf::bArg#23 (byte) myprintf::bArg#27 (byte) myprintf::bArg#46 (byte) myprintf::bArg#43 (byte) myprintf::bArg#22 (byte) myprintf::bArg#39 (byte) myprintf::bArg#35 (byte) myprintf::bArg#36 (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#34 (byte*) myprintf::dst#2 (byte*) myprintf::dst#33 (byte*) myprintf::dst#35 (byte*) myprintf::dst#36 (byte*) myprintf::dst#27 (byte*) myprintf::dst#28 (byte*) myprintf::dst#24 (byte*) myprintf::dst#11 (byte*) myprintf::dst#25 (byte*) myprintf::dst#3 (byte*) myprintf::dst#43 (byte*) myprintf::dst#49 (byte*) myprintf::dst#48 (byte*) myprintf::dst#37 (byte*) myprintf::dst#29 (byte*) myprintf::dst#12 (byte*) myprintf::dst#13 (byte*) myprintf::dst#20 (byte*) myprintf::dst#45 (byte*) myprintf::dst#40 (byte*) myprintf::dst#46 (byte*) myprintf::dst#41 (byte*) myprintf::dst#42 (byte*) myprintf::dst#21 
Alias (byte) myprintf::bLen#16 = (byte) myprintf::bLen#39 (byte) myprintf::bLen#8 (byte) myprintf::return#0 (byte) myprintf::bLen#38 (byte) myprintf::bLen#40 (byte) myprintf::bLen#41 (byte) myprintf::bLen#32 (byte) myprintf::bLen#33 (byte) myprintf::bLen#29 (byte) myprintf::bLen#17 (byte) myprintf::bLen#30 (byte) myprintf::bLen#9 (byte) myprintf::bLen#48 (byte) myprintf::bLen#54 (byte) myprintf::bLen#53 (byte) myprintf::bLen#42 (byte) myprintf::bLen#34 (byte) myprintf::bLen#18 (byte) myprintf::bLen#19 (byte) myprintf::bLen#26 (byte) myprintf::bLen#50 (byte) myprintf::bLen#45 (byte) myprintf::bLen#51 (byte) myprintf::bLen#46 (byte) myprintf::bLen#47 (byte) myprintf::bLen#27 (byte) myprintf::return#4 (byte) myprintf::return#1 
Alias (word) myprintf::w1#10 = (word) myprintf::w1#5 (word) myprintf::w1#6 (word) myprintf::w1#4 (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#47 (word) myprintf::w1#44 (word) myprintf::w1#20 (word) myprintf::w1#40 (word) myprintf::w1#36 (word) myprintf::w1#37 (word) myprintf::w1#24 (word) myprintf::w1#3 (word) myprintf::w1#2 (word) myprintf::w#1 (word) myprintf::w1#32 (word) myprintf::w1#22 (word) myprintf::w1#23 (word) myprintf::w1#25 
Alias (word) myprintf::w2#10 = (word) myprintf::w2#6 (word) myprintf::w2#7 (word) myprintf::w2#5 (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#47 (word) myprintf::w2#44 (word) myprintf::w2#21 (word) myprintf::w2#40 (word) myprintf::w2#36 (word) myprintf::w2#37 (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#6 (word) myprintf::w3#7 (word) myprintf::w3#5 (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#47 (word) myprintf::w3#44 (word) myprintf::w3#21 (word) myprintf::w3#40 (word) myprintf::w3#36 (word) myprintf::w3#37 (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 (word) myprintf::w#10 = (word) myprintf::w#16 (word) myprintf::w#17 (word) myprintf::w#33 (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#41 (word) myprintf::w#6 (word) myprintf::w#11 (word) myprintf::w#12 (word) myprintf::w#27 (word) myprintf::w#28 
Alias (byte) myprintf::bTrailing#11 = (byte) myprintf::bTrailing#22 (byte) myprintf::bTrailing#23 (byte) myprintf::bTrailing#41 (byte) myprintf::bTrailing#21 (byte) myprintf::bTrailing#20 (byte) myprintf::bTrailing#28 (byte) myprintf::bTrailing#18 (byte) myprintf::bTrailing#25 (byte) myprintf::bTrailing#15 (byte) myprintf::bTrailing#32 (byte) myprintf::bTrailing#13 (byte) myprintf::bTrailing#8 (byte) myprintf::bTrailing#31 (byte) myprintf::bTrailing#46 (byte) myprintf::bTrailing#44 (byte) myprintf::bTrailing#45 (byte) myprintf::bTrailing#36 (byte) myprintf::bTrailing#37 
Alias (byte) myprintf::bDigits#16 = (byte) myprintf::bDigits#26 (byte) myprintf::bDigits#27 (byte) myprintf::bDigits#43 (byte) myprintf::bDigits#25 (byte) myprintf::bDigits#24 (byte) myprintf::bDigits#32 (byte) myprintf::bDigits#23 (byte) myprintf::bDigits#22 (byte) myprintf::bDigits#29 (byte) myprintf::bDigits#35 (byte) myprintf::bDigits#21 (byte) myprintf::bDigits#20 (byte) myprintf::bDigits#34 (byte) myprintf::bDigits#48 (byte) myprintf::bDigits#46 (byte) myprintf::bDigits#47 (byte) myprintf::bDigits#39 (byte) myprintf::bDigits#40 
Alias (byte) myprintf::bLeadZero#11 = (byte) myprintf::bLeadZero#18 (byte) myprintf::bLeadZero#19 (byte) myprintf::bLeadZero#39 (byte) myprintf::bLeadZero#17 (byte) myprintf::bLeadZero#16 (byte) myprintf::bLeadZero#15 (byte) myprintf::bLeadZero#21 (byte) myprintf::bLeadZero#14 (byte) myprintf::bLeadZero#22 (byte) myprintf::bLeadZero#29 (byte) myprintf::bLeadZero#13 (byte) myprintf::bLeadZero#12 (byte) myprintf::bLeadZero#28 (byte) myprintf::bLeadZero#46 (byte) myprintf::bLeadZero#44 (byte) myprintf::bLeadZero#45 (byte) myprintf::bLeadZero#33 (byte) myprintf::bLeadZero#34 
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::bDigits#1 = (byte~) myprintf::$9 
Alias (byte) myprintf::b#27 = (byte) myprintf::b#3 (byte~) myprintf::$20 (byte) myprintf::b#28 
Alias (byte) myprintf::b#29 = (byte) myprintf::b#4 (byte~) myprintf::$27 (byte) myprintf::b#30 
Alias (byte*) myprintf::dst#14 = (byte*) myprintf::dst#4 (byte*) myprintf::dst#15 
Alias (byte) myprintf::bLen#2 = (byte) myprintf::bLen#20 (byte) myprintf::bLen#21 
Alias (byte*) myprintf::str#28 = (byte*) myprintf::str#34 (byte*) myprintf::str#29 
Alias (byte) myprintf::bArg#28 = (byte) myprintf::bArg#32 (byte) myprintf::bArg#29 
Alias (word) myprintf::w1#28 = (word) myprintf::w1#33 (word) myprintf::w1#29 
Alias (word) myprintf::w2#29 = (word) myprintf::w2#33 (word) myprintf::w2#30 
Alias (word) myprintf::w3#29 = (word) myprintf::w3#33 (word) myprintf::w3#30 
Alias (word) myprintf::w#29 = (word) myprintf::w#7 (word) myprintf::w#30 
Alias (byte) myprintf::bTrailing#38 = (byte) myprintf::bTrailing#43 (byte) myprintf::bTrailing#39 
Alias (byte) myprintf::bDigits#41 = (byte) myprintf::bDigits#45 (byte) myprintf::bDigits#42 
Alias (byte) myprintf::bLeadZero#35 = (byte) myprintf::bLeadZero#41 (byte) myprintf::bLeadZero#36 
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#11 = (byte) myprintf::bDigits#15 (byte) myprintf::bDigits#5 
Alias (byte) myprintf::bLeadZero#10 = (byte) myprintf::bLeadZero#7 (byte) myprintf::bLeadZero#5 
Alias (byte*) myprintf::dst#38 = (byte*) myprintf::dst#47 (byte*) myprintf::dst#44 
Alias (byte) myprintf::bLen#43 = (byte) myprintf::bLen#52 (byte) myprintf::bLen#49 
Alias (byte*) myprintf::str#39 = (byte*) myprintf::str#44 (byte*) myprintf::str#42 
Alias (byte) myprintf::bArg#37 = (byte) myprintf::bArg#42 (byte) myprintf::bArg#40 
Alias (word) myprintf::w1#38 = (word) myprintf::w1#43 (word) myprintf::w1#41 
Alias (word) myprintf::w2#38 = (word) myprintf::w2#43 (word) myprintf::w2#41 
Alias (word) myprintf::w3#38 = (word) myprintf::w3#43 (word) myprintf::w3#41 
Alias (word) myprintf::w#36 = (word) myprintf::w#40 (word) myprintf::w#38 
Alias (byte) myprintf::bLeadZero#3 = (byte) myprintf::bLeadZero#4 (byte) myprintf::bLeadZero#8 (byte) myprintf::bLeadZero#9 
Alias (byte*) myprintf::dst#16 = (byte*) myprintf::dst#30 (byte*) myprintf::dst#39 (byte*) myprintf::dst#17 
Alias (byte) myprintf::bLen#22 = (byte) myprintf::bLen#35 (byte) myprintf::bLen#44 (byte) myprintf::bLen#23 
Alias (byte) myprintf::bDigits#12 = (byte) myprintf::bDigits#17 (byte) myprintf::bDigits#6 (byte) myprintf::bDigits#13 
Alias (byte) myprintf::b#20 = (byte) myprintf::b#37 (byte) myprintf::b#35 (byte) myprintf::b#36 
Alias (byte) myprintf::bTrailing#12 = (byte) myprintf::bTrailing#19 (byte) myprintf::bTrailing#16 (byte) myprintf::bTrailing#17 
Alias (byte*) myprintf::str#40 = (byte*) myprintf::str#49 (byte*) myprintf::str#46 (byte*) myprintf::str#47 
Alias (byte) myprintf::bArg#38 = (byte) myprintf::bArg#47 (byte) myprintf::bArg#44 (byte) myprintf::bArg#45 
Alias (word) myprintf::w1#39 = (word) myprintf::w1#48 (word) myprintf::w1#45 (word) myprintf::w1#46 
Alias (word) myprintf::w2#39 = (word) myprintf::w2#48 (word) myprintf::w2#45 (word) myprintf::w2#46 
Alias (word) myprintf::w3#39 = (word) myprintf::w3#48 (word) myprintf::w3#45 (word) myprintf::w3#46 
Alias (word) myprintf::w#37 = (word) myprintf::w#44 (word) myprintf::w#42 (word) myprintf::w#43 
Alias (byte) myprintf::digit#3 = (byte) myprintf::digit#4 
Alias (byte*) myprintf::dst#18 = (byte*) myprintf::dst#7 (byte*) myprintf::dst#32 
Alias (byte) myprintf::bLen#13 = (byte) myprintf::bLen#24 (byte) myprintf::bLen#37 
Alias (byte) myprintf::b#21 = (byte) myprintf::b#33 (byte) myprintf::b#22 
Alias (byte) myprintf::bTrailing#10 = (byte) myprintf::bTrailing#6 (byte) myprintf::bTrailing#4 
Alias (byte) myprintf::bDigits#14 = (byte) myprintf::bDigits#19 (byte) myprintf::bDigits#8 
Alias (byte*) myprintf::str#18 = (byte*) myprintf::str#36 (byte*) myprintf::str#30 
Alias (byte) myprintf::bArg#20 = (byte) myprintf::bArg#34 (byte) myprintf::bArg#30 
Alias (word) myprintf::w1#18 = (word) myprintf::w1#35 (word) myprintf::w1#30 
Alias (word) myprintf::w2#19 = (word) myprintf::w2#35 (word) myprintf::w2#31 
Alias (word) myprintf::w3#19 = (word) myprintf::w3#35 (word) myprintf::w3#31 
Alias (word) myprintf::w#25 = (word) myprintf::w#35 (word) myprintf::w#31 
Alias (byte) myprintf::bLeadZero#26 = (byte) myprintf::bLeadZero#43 (byte) myprintf::bLeadZero#37 
Alias (byte*) myprintf::dst#19 = (byte*) myprintf::dst#8 
Alias (byte) myprintf::bLen#14 = (byte) myprintf::bLen#25 
Alias (byte) myprintf::bDigits#10 = (byte) myprintf::bDigits#9 
Alias (byte) myprintf::b#23 = (byte) myprintf::b#34 
Alias (byte*) myprintf::str#19 = (byte*) myprintf::str#31 
Alias (byte) myprintf::bArg#21 = (byte) myprintf::bArg#31 
Alias (word) myprintf::w1#19 = (word) myprintf::w1#31 
Alias (word) myprintf::w2#20 = (word) myprintf::w2#32 
Alias (word) myprintf::w3#20 = (word) myprintf::w3#32 
Alias (word) myprintf::w#26 = (word) myprintf::w#32 
Alias (byte) myprintf::bTrailing#30 = (byte) myprintf::bTrailing#40 
Alias (byte) myprintf::bLeadZero#27 = (byte) myprintf::bLeadZero#38 
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#33 (byte) myprintf::bTrailing#42 (byte) myprintf::bTrailing#34 (byte) myprintf::bTrailing#35 
Alias (byte) myprintf::bDigits#36 = (byte) myprintf::bDigits#4 (byte) myprintf::bDigits#44 (byte) myprintf::bDigits#37 (byte) myprintf::bDigits#38 
Alias (byte) myprintf::bLeadZero#2 = (byte) myprintf::bLeadZero#30 (byte) myprintf::bLeadZero#40 (byte) myprintf::bLeadZero#31 (byte) myprintf::bLeadZero#32 
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) main::u#15 = (word) main::u#19 
Alias (word) main::v#12 = (word) main::v#7 (word) main::v#9 
Alias (word) main::u#11 = (word) main::u#5 (word) main::u#16 (word) main::u#6 (word) main::u#12 (word) main::u#7 
Alias (word) div16u::return#2 = (word) div16u::return#4 
Alias (word) main::v#1 = (word~) main::$2 
Alias (word) main::v#11 = (word) main::v#3 (word) main::v#5 (word) main::v#14 
Alias (word) myprintf::w3#0 = (word~) main::$6 
Alias (word) main::u#17 = (word) main::u#20 
Alias (word) main::v#10 = (word) main::v#8 
Alias (word) main::u#10 = (word) main::u#8 (word) main::u#13 (word) main::u#18 (word) main::u#9 (word) main::u#14 
Alias (word) div10::return#2 = (word) div10::return#4 
Alias (word) main::v#2 = (word~) main::$11 
Alias (word) main::v#13 = (word) main::v#4 (word) main::v#6 (word) main::v#15 
Alias (word) myprintf::w3#1 = (word~) main::$15 
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#14 (byte*) myprintf::dst#5 (byte*) myprintf::dst#26 (byte*) myprintf::dst#9 
Alias (byte) myprintf::bLen#10 = (byte) myprintf::bLen#16 (byte) myprintf::bLen#31 (byte) myprintf::bLen#15 
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#28 (byte*) myprintf::str#11 (byte*) myprintf::str#17 (byte*) myprintf::str#5 
Alias (byte) myprintf::bArg#10 = (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#11 = (byte) myprintf::bTrailing#38 (byte) myprintf::bTrailing#29 (byte) myprintf::bTrailing#27 
Alias (byte) myprintf::bDigits#16 = (byte) myprintf::bDigits#41 (byte) myprintf::bDigits#33 (byte) myprintf::bDigits#31 
Alias (byte) myprintf::bLeadZero#11 = (byte) myprintf::bLeadZero#35 (byte) myprintf::bLeadZero#25 (byte) myprintf::bLeadZero#24 
Alias (byte) myprintf::b#16 = (byte) myprintf::b#29 
Alias (byte) myprintf::bLen#11 = (byte) myprintf::bLen#2 
Alias (byte*) myprintf::dst#16 = (byte*) myprintf::dst#6 
Alias (byte) myprintf::bLen#12 = (byte) myprintf::bLen#22 
Alias (byte) myprintf::bDigits#12 = (byte) myprintf::bDigits#7 
Alias (byte) myprintf::b#20 = (byte) myprintf::b#31 
Alias (byte) myprintf::bLeadZero#3 = (byte) myprintf::bLeadZero#6 
Alias (byte) myprintf::bTrailing#12 = (byte) myprintf::bTrailing#14 
Alias (byte*) myprintf::str#40 = (byte*) myprintf::str#43 
Alias (byte) myprintf::bArg#38 = (byte) myprintf::bArg#41 
Alias (word) myprintf::w1#39 = (word) myprintf::w1#42 
Alias (word) myprintf::w2#39 = (word) myprintf::w2#42 
Alias (word) myprintf::w3#39 = (word) myprintf::w3#42 
Alias (word) myprintf::w#37 = (word) myprintf::w#39 
Alias (byte) myprintf::bFormat#13 = (byte) myprintf::bFormat#7 
Alias (byte) myprintf::bTrailing#2 = (byte) myprintf::bTrailing#26 
Alias (byte) myprintf::bDigits#30 = (byte) myprintf::bDigits#36 
Alias (byte) myprintf::bLeadZero#2 = (byte) myprintf::bLeadZero#23 
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 = 
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#11
Identical Phi Values (byte) myprintf::bDigits#11 (byte) myprintf::bDigits#16
Identical Phi Values (byte) myprintf::bLeadZero#10 (byte) myprintf::bLeadZero#11
Identical Phi Values (byte*) myprintf::dst#38 (byte*) myprintf::dst#10
Identical Phi Values (byte) myprintf::bLen#43 (byte) myprintf::bLen#10
Identical Phi Values (byte*) myprintf::str#39 (byte*) myprintf::str#10
Identical Phi Values (byte) myprintf::bArg#37 (byte) myprintf::bArg#10
Identical Phi Values (word) myprintf::w1#38 (word) myprintf::w1#10
Identical Phi Values (word) myprintf::w2#38 (word) myprintf::w2#10
Identical Phi Values (word) myprintf::w3#38 (word) myprintf::w3#10
Identical Phi Values (word) myprintf::w#36 (word) myprintf::w#10
Identical Phi Values (byte) myprintf::b#20 (byte) myprintf::b#17
Identical Phi Values (byte) myprintf::bLeadZero#3 (byte) myprintf::bLeadZero#10
Identical Phi Values (byte*) myprintf::dst#16 (byte*) myprintf::dst#38
Identical Phi Values (byte) myprintf::bTrailing#12 (byte) myprintf::bTrailing#3
Identical Phi Values (byte*) myprintf::str#40 (byte*) myprintf::str#39
Identical Phi Values (byte) myprintf::bArg#38 (byte) myprintf::bArg#37
Identical Phi Values (word) myprintf::w1#39 (word) myprintf::w1#38
Identical Phi Values (word) myprintf::w2#39 (word) myprintf::w2#38
Identical Phi Values (word) myprintf::w3#39 (word) myprintf::w3#38
Identical Phi Values (word) myprintf::w#37 (word) myprintf::w#36
Identical Phi Values (byte) myprintf::b#21 (byte) myprintf::b#32
Identical Phi Values (byte*) myprintf::dst#18 (byte*) myprintf::dst#31
Identical Phi Values (byte) myprintf::bTrailing#10 (byte) myprintf::bTrailing#9
Identical Phi Values (byte) myprintf::bDigits#14 (byte) myprintf::bDigits#18
Identical Phi Values (byte*) myprintf::str#18 (byte*) myprintf::str#35
Identical Phi Values (byte) myprintf::bArg#20 (byte) myprintf::bArg#33
Identical Phi Values (word) myprintf::w1#18 (word) myprintf::w1#34
Identical Phi Values (word) myprintf::w2#19 (word) myprintf::w2#34
Identical Phi Values (word) myprintf::w3#19 (word) myprintf::w3#34
Identical Phi Values (word) myprintf::w#25 (word) myprintf::w#34
Identical Phi Values (byte) myprintf::bLeadZero#26 (byte) myprintf::bLeadZero#42
Identical Phi Values (byte) myprintf::b#23 (byte) myprintf::b#21
Identical Phi Values (byte*) myprintf::dst#19 (byte*) myprintf::dst#18
Identical Phi Values (byte*) myprintf::str#19 (byte*) myprintf::str#18
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#30 (byte) myprintf::bTrailing#10
Identical Phi Values (byte) myprintf::bLeadZero#27 (byte) myprintf::bLeadZero#26
Identical Phi Values (word) div10::val#5 (word) div10::val#4
Identical Phi Values (word) main::u#11 (word) main::u#15
Identical Phi Values (word) main::u#10 (word) main::u#17
Successful SSA optimization Pass2IdenticalPhiElimination
Identical Phi Values (byte) myprintf::b#32 (byte) myprintf::b#17
Identical Phi Values (byte*) myprintf::dst#31 (byte*) myprintf::dst#10
Identical Phi Values (byte) myprintf::bTrailing#9 (byte) myprintf::bTrailing#11
Identical Phi Values (byte*) myprintf::str#35 (byte*) myprintf::str#10
Identical Phi Values (byte) myprintf::bArg#33 (byte) myprintf::bArg#10
Identical Phi Values (word) myprintf::w1#34 (word) myprintf::w1#10
Identical Phi Values (word) myprintf::w2#34 (word) myprintf::w2#10
Identical Phi Values (word) myprintf::w3#34 (word) myprintf::w3#10
Identical Phi Values (word) myprintf::w#34 (word) myprintf::w#10
Identical Phi Values (byte) myprintf::bLeadZero#42 (byte) myprintf::bLeadZero#11
Successful SSA optimization Pass2IdenticalPhiElimination
Identical Phi Values (byte*) myprintf::str#7 (byte*) myprintf::str#10
Identical Phi Values (byte*) myprintf::dst#23 (byte*) myprintf::dst#10
Identical Phi Values (byte) myprintf::bArg#11 (byte) myprintf::bArg#10
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#24 (byte) myprintf::bTrailing#11
Identical Phi Values (byte) myprintf::bLeadZero#20 (byte) myprintf::bLeadZero#11
Successful SSA optimization Pass2IdenticalPhiElimination
Identical Phi Values (byte*) myprintf::dst#10 (byte*) myprintf::dst#22
Identical Phi Values (word) myprintf::w1#10 (word) myprintf::w1#7
Identical Phi Values (word) myprintf::w2#10 (word) myprintf::w2#8
Identical Phi Values (word) myprintf::w3#10 (word) myprintf::w3#8
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::$0 [155] if(*((byte*) myprintf::str#10)!=(byte) 0) goto myprintf::@2
Simple Condition (bool~) myprintf::$2 [160] if((byte) myprintf::bFormat#10==(byte) 0) goto myprintf::@4
Simple Condition (bool~) myprintf::$52 [167] if((byte) myprintf::b#1!=(byte) '%') goto myprintf::@66
Simple Condition (bool~) myprintf::$4 [171] if((byte) myprintf::b#1!=(byte) '0') goto myprintf::@5
Simple Condition (bool~) myprintf::$11 [183] if((byte) myprintf::b#1!=(byte) '-') goto myprintf::@7
Simple Condition (bool~) myprintf::$12 [189] if((byte) myprintf::b#1==(byte) 'c') goto myprintf::@8
Simple Condition (bool~) myprintf::$13 [198] if((byte) myprintf::b#1==(byte) 'd') goto myprintf::@9
Simple Condition (bool~) myprintf::$21 [217] if((byte) myprintf::b#15<(byte) $a) goto myprintf::@11
Simple Condition (bool~) myprintf::$28 [230] if((byte) myprintf::b#16<(byte) $a) goto myprintf::@14
Simple Condition (bool~) myprintf::$34 [241] if(*((byte[6]) myprintf::buf6#0 + (byte) myprintf::b#17)!=(byte) 0) goto myprintf::@22
Simple Condition (bool~) myprintf::$39 [254] if((byte) myprintf::bDigits#12>(byte) myprintf::b#17) goto myprintf::@30
Simple Condition (bool~) myprintf::$40 [257] if((byte) myprintf::bLeadZero#11==(byte) 0) goto myprintf::@32
Simple Condition (bool~) myprintf::$44 [268] if((byte) myprintf::digit#3<(byte) myprintf::b#17) goto myprintf::@41
Simple Condition (bool~) myprintf::$49 [281] if((byte) myprintf::bDigits#10>(byte) myprintf::b#17) goto myprintf::@49
Simple Condition (bool~) myprintf::$53 [300] if((byte) myprintf::bArg#10==(byte) 0) goto myprintf::@67
Simple Condition (bool~) myprintf::$54 [305] if((byte) myprintf::bArg#10==(byte) 1) goto myprintf::@68
Simple Condition (bool~) main::$0 [345] if(*((byte*) zp1#0)<(byte) $a) goto main::@2
Simple Condition (bool~) main::$1 [355] if(*((byte*) zp2#0)<(byte) $c8) goto main::@5
Simple Condition (bool~) main::$9 [384] if(*((byte*) zp1#0)<(byte) $a) goto main::@14
Simple Condition (bool~) main::$10 [392] if(*((byte*) zp2#0)<(byte) $c8) goto main::@17
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() [176] (bool~) myprintf::$8 ← ! (bool~) myprintf::$7
Successful SSA optimization Pass2ConditionalAndOrRewriting
Rewriting && if()-condition to two if()s [175] (bool~) myprintf::$7 ← (bool~) myprintf::$5 && (bool~) myprintf::$6
Successful SSA optimization Pass2ConditionalAndOrRewriting
Rewriting ! if()-condition to reversed if() [209] (bool~) myprintf::$17 ← ! (bool~) myprintf::$16
Successful SSA optimization Pass2ConditionalAndOrRewriting
Rewriting || if()-condition to two if()s [208] (bool~) myprintf::$16 ← (bool~) myprintf::$14 || (bool~) myprintf::$15
Successful SSA optimization Pass2ConditionalAndOrRewriting
Rewriting ! if()-condition to reversed if() [248] (bool~) myprintf::$38 ← ! (bool~) myprintf::$37
Successful SSA optimization Pass2ConditionalAndOrRewriting
Rewriting && if()-condition to two if()s [247] (bool~) myprintf::$37 ← (bool~) myprintf::$35 && (bool~) myprintf::$36
Successful SSA optimization Pass2ConditionalAndOrRewriting
Rewriting ! if()-condition to reversed if() [277] (bool~) myprintf::$48 ← ! (bool~) myprintf::$47
Successful SSA optimization Pass2ConditionalAndOrRewriting
Rewriting && if()-condition to two if()s [276] (bool~) myprintf::$47 ← (bool~) myprintf::$45 && (bool~) myprintf::$46
Successful SSA optimization Pass2ConditionalAndOrRewriting
Rewriting ! if()-condition to reversed if() [292] (bool~) myprintf::$58 ← ! (bool~) myprintf::$57
Successful SSA optimization Pass2ConditionalAndOrRewriting
Rewriting && if()-condition to two if()s [291] (bool~) myprintf::$57 ← (bool~) myprintf::$55 && (bool~) myprintf::$56
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::$23 = '0'
Constant (const byte) myprintf::$22 = $57
Constant (const byte) myprintf::$30 = '0'
Constant (const byte) myprintf::$29 = $57
Constant (const byte) myprintf::digit#1 = 0
Constant (const byte) myprintf::$42 = ' '
Constant (const byte) myprintf::$41 = '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#30 = 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) main::u#2 = $6e85
Constant (const word) div16u::divisor#0 = $a
Constant (const byte*) myprintf::str#1 = main::str
Constant (const signed word) main::return#0 = 0
Constant (const byte*) myprintf::str#2 = main::str1
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 [186] (byte) myprintf::return#2 ← (byte) myprintf::bLen#10
Eliminating unused variable (byte) myprintf::return#3 and assignment [209] (byte) myprintf::return#3 ← (byte) myprintf::bLen#10
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 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
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::$5 [83] if((byte) myprintf::b#1>=(byte) '1') goto myprintf::@87
Simple Condition (bool~) myprintf::$14 [95] if((byte) myprintf::b#1==(byte) 'x') goto myprintf::@61
Simple Condition (bool~) myprintf::$35 [116] if((byte) myprintf::bTrailing#11==(byte) 0) goto myprintf::@89
Simple Condition (bool~) myprintf::$45 [132] if((byte) myprintf::bTrailing#11!=(byte) 0) goto myprintf::@90
Simple Condition (bool~) myprintf::$55 [141] if((byte) myprintf::b#1>=(byte) $41) goto myprintf::@91
Simple Condition (bool~) utoa::$1 [213] if((word) utoa::value#4>=(word) $2710) goto utoa::@5
Simple Condition (bool~) utoa::$5 [214] if((word) utoa::value#6>=(word) $3e8) goto utoa::@6
Simple Condition (bool~) utoa::$9 [215] if((word) utoa::value#11>=(byte) $64) goto utoa::@7
Simple Condition (bool~) utoa::$13 [216] if((word) utoa::value#10>=(byte) $a) goto utoa::@8
Simple Condition (bool~) myprintf::$6 [217] if((byte) myprintf::b#1<=(byte) '9') goto myprintf::@55
Simple Condition (bool~) myprintf::$15 [218] if((byte) myprintf::b#1==(byte) 'X') goto myprintf::@61
Simple Condition (bool~) myprintf::$36 [219] if((byte) myprintf::bDigits#16>(byte) myprintf::b#17) goto myprintf::@29
Simple Condition (bool~) myprintf::$46 [220] if((byte) myprintf::bDigits#18>(byte) myprintf::b#17) goto myprintf::@48
Simple Condition (bool~) myprintf::$56 [221] if((byte) myprintf::b#1<=(byte) $5a) goto myprintf::@83
Successful SSA optimization Pass2ConditionalJumpSimplification
Negating conditional jump and destination [83] if((byte) myprintf::b#1<(byte) '1') goto myprintf::@6
Negating conditional jump and destination [116] if((byte) myprintf::bTrailing#11!=(byte) 0) goto myprintf::@28
Negating conditional jump and destination [132] if((byte) myprintf::bTrailing#11==(byte) 0) goto myprintf::@54
Negating conditional jump and destination [141] if((byte) myprintf::b#1<(byte) $41) goto myprintf::@73
Negating conditional jump and destination [219] if((byte) myprintf::bDigits#16<=(byte) myprintf::b#17) goto myprintf::@28
Negating conditional jump and destination [220] if((byte) myprintf::bDigits#18<=(byte) myprintf::b#17) goto myprintf::@54
Negating conditional jump and destination [221] if((byte) myprintf::b#1>(byte) $5a) goto myprintf::@73
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 [221] if((byte) myprintf::b#1>(byte) $5a) goto myprintf::@73
Adding number conversion cast (unumber) $5a+1 in if((byte) myprintf::b#1>=(byte) $5a+(number) 1) goto myprintf::@73
Adding number conversion cast (unumber) 1 in if((byte) myprintf::b#1>=(unumber)(byte) $5a+(number) 1) goto myprintf::@73
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#30
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::v#0
Inlining constant with var siblings (const word) main::u#1
Inlining constant with var siblings (const word) main::u#2
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 myprintf::$23 = (byte) '0'
Constant inlined append::dst#0 = (const byte[6]) myprintf::buf6#0
Constant inlined divr16u::i#0 = (byte) 0
Constant inlined myprintf::$29 = (byte) $57
Constant inlined utoa::dst#0 = ++(const byte[6]) myprintf::buf6#0
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::bDigits#30 = (byte) 1
Constant inlined myprintf::digit#1 = (byte) 0
Constant inlined myprintf::dst#1 = (const byte[$64]) strTemp#0
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::$30 = (byte) '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 append::sub#3 = (byte) $a
Constant inlined myprintf::b#2 = (byte) 1
Constant inlined main::v#0 = (word) 0
Constant inlined main::u#1 = (word) $6e85
Constant inlined myprintf::bDigits#0 = (byte) 0
Constant inlined main::u#2 = (word) $6e85
Constant inlined myprintf::bTrailing#2 = (byte) 0
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) $57
Constant inlined utoa::bStarted#1 = (byte) 1
Constant inlined utoa::bStarted#2 = (byte) 1
Constant inlined myprintf::$42 = (byte) ' '
Constant inlined myprintf::bTrailing#0 = (byte) 0
Constant inlined myprintf::$41 = (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#22 (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::@92(between myprintf::@23 and myprintf::@28)
Added new block during phi lifting myprintf::@93(between myprintf::@29 and myprintf::@28)
Added new block during phi lifting myprintf::@94(between myprintf::@89 and myprintf::@29)
Added new block during phi lifting myprintf::@95(between myprintf::@90 and myprintf::@48)
Added new block during phi lifting myprintf::@96(between myprintf::@42 and myprintf::@54)
Added new block during phi lifting myprintf::@97(between myprintf::@48 and myprintf::@54)
Added new block during phi lifting myprintf::@98(between myprintf::@88 and myprintf::@54)
Added new block during phi lifting myprintf::@99(between myprintf::@66 and myprintf::@73)
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::@15
Adding NOP phi() at start of main::@30
Adding NOP phi() at start of main::@27
Adding NOP phi() at start of divr16u::@6
Adding NOP phi() at start of myprintf::@12
Adding NOP phi() at start of myprintf::@15
Adding NOP phi() at start of myprintf::@14
Adding NOP phi() at start of myprintf::@11
Adding NOP phi() at start of myprintf::@86
Adding NOP phi() at start of myprintf::@33
Adding NOP phi() at start of myprintf::@32
Adding NOP phi() at start of utoa
Adding NOP phi() at start of append::@3
CALL GRAPH
Calls in [] to main:3 
Calls in [main] to myprintf:31 Print:33 div10:39 myprintf:59 Print:61 div16u:67 
Calls in [div16u] to divr16u:73 
Calls in [myprintf] to utoa:169 
Calls in [utoa] to append:292 append:302 append:312 append:320 

Created 56 initial phi equivalence classes
Coalesced [11] main::v#19 ← main::v#12
Coalesced [19] main::v#21 ← main::v#10
Coalesced [28] myprintf::w1#49 ← myprintf::w1#1
Coalesced [29] myprintf::w2#49 ← myprintf::w2#1
Coalesced [30] myprintf::w3#49 ← myprintf::w3#1
Coalesced [36] main::u#22 ← main::u#4
Coalesced (already) [37] main::v#20 ← main::v#13
Coalesced [43] main::v#22 ← main::v#2
Coalesced [47] main::v#17 ← main::v#12
Coalesced [56] myprintf::w1#50 ← myprintf::w1#0
Coalesced [57] myprintf::w2#50 ← myprintf::w2#0
Coalesced [58] myprintf::w3#50 ← myprintf::w3#0
Coalesced [64] main::u#21 ← main::u#3
Coalesced (already) [65] main::v#16 ← main::v#11
Coalesced [71] main::v#18 ← main::v#1
Coalesced [77] divr16u::dividend#8 ← divr16u::dividend#1
Coalesced [84] divr16u::rem#12 ← divr16u::rem#1
Coalesced [91] divr16u::rem#14 ← divr16u::rem#2
Coalesced [92] divr16u::return#6 ← divr16u::quotient#2
Coalesced [98] divr16u::rem#10 ← divr16u::rem#9
Coalesced [99] divr16u::dividend#9 ← divr16u::dividend#0
Coalesced [100] divr16u::quotient#9 ← divr16u::return#0
Coalesced [101] divr16u::i#7 ← divr16u::i#1
Coalesced [102] divr16u::rem#13 ← divr16u::rem#5
Coalesced [103] divr16u::return#5 ← divr16u::quotient#1
Coalesced [104] divr16u::rem#11 ← divr16u::rem#0
Coalesced [108] myprintf::str#50 ← myprintf::str#6
Coalesced (already) [116] myprintf::str#56 ← myprintf::str#10
Coalesced (already) [117] myprintf::bFormat#23 ← myprintf::bFormat#10
Coalesced (already) [118] myprintf::bLen#60 ← myprintf::bLen#10
Coalesced (already) [119] myprintf::bArg#53 ← myprintf::bArg#10
Coalesced (already) [120] myprintf::w#50 ← myprintf::w#10
Coalesced (already) [121] myprintf::bTrailing#50 ← myprintf::bTrailing#11
Coalesced (already) [122] myprintf::bDigits#53 ← myprintf::bDigits#16
Coalesced (already) [126] myprintf::str#53 ← myprintf::str#10
Coalesced (already) [127] myprintf::bFormat#21 ← myprintf::bFormat#10
Coalesced (already) [128] myprintf::bLen#57 ← myprintf::bLen#10
Coalesced (already) [129] myprintf::bArg#50 ← myprintf::bArg#10
Coalesced (already) [130] myprintf::w#47 ← myprintf::w#10
Coalesced (already) [131] myprintf::bDigits#51 ← myprintf::bDigits#16
Coalesced (already) [132] myprintf::bLeadZero#49 ← myprintf::bLeadZero#11
Coalesced [137] myprintf::bLen#72 ← myprintf::bLen#10
Coalesced [138] myprintf::bDigits#63 ← myprintf::bDigits#16
Coalesced (already) [140] myprintf::str#51 ← myprintf::str#10
Coalesced (already) [141] myprintf::bLen#55 ← myprintf::bLen#28
Coalesced (already) [142] myprintf::bArg#48 ← myprintf::bArg#10
Coalesced (already) [143] myprintf::w#45 ← myprintf::w#10
Coalesced (already) [144] myprintf::bTrailing#47 ← myprintf::bTrailing#11
Coalesced (already) [145] myprintf::bDigits#49 ← myprintf::bDigits#28
Coalesced (already) [146] myprintf::bLeadZero#47 ← myprintf::bLeadZero#11
Coalesced [164] myprintf::bLen#69 ← myprintf::bLen#3
Coalesced (already) [165] myprintf::bDigits#60 ← myprintf::bDigits#16
Coalesced [175] myprintf::bDigits#56 ← myprintf::bDigits#16
Coalesced [176] myprintf::bLen#63 ← myprintf::bLen#10
Coalesced [179] myprintf::bLen#62 ← myprintf::bLen#12
Coalesced [180] myprintf::bDigits#55 ← myprintf::bDigits#12
Coalesced [182] myprintf::bLen#65 ← myprintf::bLen#36
Coalesced [187] myprintf::bDigits#58 ← myprintf::bDigits#18
Coalesced [188] myprintf::bLen#67 ← myprintf::bLen#13
Coalesced (already) [191] myprintf::bLen#71 ← myprintf::bLen#14
Coalesced (already) [192] myprintf::bDigits#62 ← myprintf::bDigits#10
Coalesced [196] myprintf::bDigits#59 ← myprintf::bDigits#3
Coalesced [197] myprintf::bLen#68 ← myprintf::bLen#6
Coalesced (already) [198] myprintf::bLen#70 ← myprintf::bLen#13
Coalesced (already) [199] myprintf::bDigits#61 ← myprintf::bDigits#18
Coalesced [203] myprintf::digit#5 ← myprintf::digit#2
Coalesced [204] myprintf::bLen#66 ← myprintf::bLen#5
Coalesced [211] myprintf::bDigits#57 ← myprintf::bDigits#2
Coalesced [212] myprintf::bLen#64 ← myprintf::bLen#4
Coalesced (already) [214] myprintf::bLen#61 ← myprintf::bLen#10
Coalesced (already) [215] myprintf::bDigits#54 ← myprintf::bDigits#16
Coalesced [217] myprintf::b#38 ← myprintf::b#5
Coalesced [221] myprintf::bLen#73 ← myprintf::bLen#1
Coalesced (already) [222] myprintf::bDigits#64 ← myprintf::bDigits#16
Coalesced (already) [224] myprintf::str#52 ← myprintf::str#10
Coalesced (already) [225] myprintf::bFormat#20 ← myprintf::bFormat#10
Coalesced (already) [226] myprintf::bLen#56 ← myprintf::bLen#10
Coalesced (already) [227] myprintf::bArg#49 ← myprintf::bArg#10
Coalesced (already) [228] myprintf::w#46 ← myprintf::w#10
Coalesced (already) [229] myprintf::bTrailing#48 ← myprintf::bTrailing#11
Coalesced [230] myprintf::bDigits#50 ← myprintf::bDigits#1
Coalesced (already) [231] myprintf::bLeadZero#48 ← myprintf::bLeadZero#11
Not coalescing [235] myprintf::w#53 ← myprintf::w3#8
Coalesced (already) [238] myprintf::str#54 ← myprintf::str#10
Coalesced (already) [239] myprintf::bLen#58 ← myprintf::bLen#10
Coalesced [240] myprintf::bArg#51 ← myprintf::bArg#1
Coalesced [241] myprintf::w#48 ← myprintf::w#21
Not coalescing [242] myprintf::w#52 ← myprintf::w2#8
Not coalescing [243] myprintf::w#51 ← myprintf::w1#7
Coalesced [247] myprintf::b#40 ← myprintf::b#6
Coalesced [252] myprintf::str#55 ← myprintf::str#0
Coalesced (already) [253] myprintf::bFormat#22 ← myprintf::bFormat#10
Coalesced [254] myprintf::bLen#59 ← myprintf::bLen#7
Coalesced (already) [255] myprintf::bArg#52 ← myprintf::bArg#10
Coalesced (already) [256] myprintf::w#49 ← myprintf::w#10
Coalesced (already) [257] myprintf::bTrailing#49 ← myprintf::bTrailing#11
Coalesced (already) [258] myprintf::bDigits#52 ← myprintf::bDigits#16
Coalesced (already) [259] myprintf::bLeadZero#50 ← myprintf::bLeadZero#11
Coalesced [260] myprintf::b#39 ← myprintf::b#1
Coalesced [263] utoa::value#14 ← utoa::value#4
Coalesced [267] utoa::bStarted#8 ← utoa::bStarted#5
Coalesced [268] utoa::value#16 ← utoa::value#6
Coalesced [269] utoa::dst#19 ← utoa::dst#16
Coalesced [273] utoa::bStarted#9 ← utoa::bStarted#6
Coalesced [274] utoa::value#19 ← utoa::value#11
Coalesced [275] utoa::dst#22 ← utoa::dst#10
Coalesced [279] utoa::value#21 ← utoa::value#10
Coalesced [280] utoa::dst#24 ← utoa::dst#13
Coalesced [290] append::dst#9 ← append::dst#3
Coalesced [291] append::value#12 ← append::value#4
Coalesced [296] utoa::value#20 ← utoa::value#3
Coalesced [297] utoa::dst#23 ← utoa::dst#4
Coalesced [300] append::dst#8 ← append::dst#2
Coalesced [301] append::value#11 ← append::value#3
Coalesced [306] utoa::value#18 ← utoa::value#2
Coalesced [307] utoa::dst#21 ← utoa::dst#2
Coalesced [310] append::dst#7 ← append::dst#1
Coalesced [311] append::value#10 ← append::value#2
Coalesced [316] utoa::value#17 ← utoa::value#1
Coalesced [317] utoa::dst#20 ← utoa::dst#1
Coalesced [319] append::value#9 ← append::value#1
Coalesced [323] utoa::value#15 ← utoa::value#0
Coalesced [326] append::value#13 ← append::value#8
Coalesced [333] append::value#14 ← append::value#0
Coalesced down to 30 phi equivalence classes
Culled Empty Block (label) @8
Culled Empty Block (label) @15
Culled Empty Block (label) main::@15
Culled Empty Block (label) divr16u::@6
Culled Empty Block (label) divr16u::@8
Culled Empty Block (label) divr16u::@10
Culled Empty Block (label) divr16u::@9
Culled Empty Block (label) myprintf::@77
Culled Empty Block (label) myprintf::@57
Culled Empty Block (label) myprintf::@98
Culled Empty Block (label) myprintf::@12
Culled Empty Block (label) myprintf::@15
Culled Empty Block (label) myprintf::@86
Culled Empty Block (label) myprintf::@94
Culled Empty Block (label) myprintf::@93
Culled Empty Block (label) myprintf::@95
Culled Empty Block (label) myprintf::@97
Culled Empty Block (label) myprintf::@96
Culled Empty Block (label) myprintf::@33
Culled Empty Block (label) myprintf::@92
Culled Empty Block (label) myprintf::@99
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
Renumbering block @14 to @1
Renumbering block div16u::@2 to div16u::@1
Renumbering block myprintf::@11 to myprintf::@10
Renumbering block myprintf::@13 to myprintf::@11
Renumbering block myprintf::@14 to myprintf::@12
Renumbering block myprintf::@16 to myprintf::@13
Renumbering block myprintf::@21 to myprintf::@14
Renumbering block myprintf::@22 to myprintf::@15
Renumbering block myprintf::@23 to myprintf::@16
Renumbering block myprintf::@28 to myprintf::@17
Renumbering block myprintf::@29 to myprintf::@18
Renumbering block myprintf::@30 to myprintf::@19
Renumbering block myprintf::@32 to myprintf::@20
Renumbering block myprintf::@34 to myprintf::@21
Renumbering block myprintf::@40 to myprintf::@22
Renumbering block myprintf::@41 to myprintf::@23
Renumbering block myprintf::@42 to myprintf::@24
Renumbering block myprintf::@48 to myprintf::@25
Renumbering block myprintf::@49 to myprintf::@26
Renumbering block myprintf::@54 to myprintf::@27
Renumbering block myprintf::@55 to myprintf::@28
Renumbering block myprintf::@59 to myprintf::@29
Renumbering block myprintf::@60 to myprintf::@30
Renumbering block myprintf::@61 to myprintf::@31
Renumbering block myprintf::@66 to myprintf::@32
Renumbering block myprintf::@67 to myprintf::@33
Renumbering block myprintf::@68 to myprintf::@34
Renumbering block myprintf::@70 to myprintf::@35
Renumbering block myprintf::@73 to myprintf::@36
Renumbering block myprintf::@76 to myprintf::@37
Renumbering block myprintf::@79 to myprintf::@38
Renumbering block myprintf::@80 to myprintf::@39
Renumbering block myprintf::@81 to myprintf::@40
Renumbering block myprintf::@83 to myprintf::@41
Renumbering block myprintf::@87 to myprintf::@42
Renumbering block myprintf::@88 to myprintf::@43
Renumbering block myprintf::@89 to myprintf::@44
Renumbering block myprintf::@90 to myprintf::@45
Renumbering block myprintf::@91 to myprintf::@46
Renumbering block main::@13 to main::@7
Renumbering block main::@14 to main::@8
Renumbering block main::@16 to main::@9
Renumbering block main::@17 to main::@10
Renumbering block main::@18 to main::@11
Renumbering block main::@26 to main::@12
Renumbering block main::@27 to main::@13
Renumbering block main::@28 to main::@14
Renumbering block main::@29 to main::@15
Renumbering block main::@30 to main::@16
Renumbering block main::@31 to main::@17
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::@16
Adding NOP phi() at start of main::@13
Adding NOP phi() at start of divr16u
Adding NOP phi() at start of myprintf::@10
Adding NOP phi() at start of myprintf::@12
Adding NOP phi() at start of myprintf::@20
Adding NOP phi() at start of utoa

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

INITIAL ASM
Target platform is c64basic
  // File Comments
  // 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 _3 = $3a
    .label _4 = $3c
    .label _5 = $3e
    .label _12 = $30
    .label _13 = $32
    .label _14 = $34
    .label v = 6
    .label u = 2
    .label u_4 = 4
    .label u_17 = 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::v#12 = (word) 0 [phi:main->main::@1#0] -- vwuz1=vwuc1 
    lda #<0
    sta.z v
    lda #>0
    sta.z v+1
    // [6] phi (word) main::u#15 = (word) $6e85 [phi:main->main::@1#1] -- vwuz1=vwuc1 
    lda #<$6e85
    sta.z u
    lda #>$6e85
    sta.z u+1
    jmp b1
    // main::@1
  b1:
    // [7] if(*((const byte*) zp1#0)<(byte) $a) goto main::@2 -- _deref_pbuc1_lt_vbuc2_then_la1 
    lda zp1
    cmp #$a
    bcc b2
    jmp b3
    // main::@3
  b3:
    // [8] *((const byte*) zp1#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta zp1
    // [9] phi from main::@3 to main::@7 [phi:main::@3->main::@7]
  b7_from_b3:
    // [9] phi (word) main::v#10 = (word) main::v#12 [phi:main::@3->main::@7#0] -- register_copy 
    // [9] phi (word) main::u#17 = (word) $6e85 [phi:main::@3->main::@7#1] -- vwuz1=vwuc1 
    lda #<$6e85
    sta.z u_17
    lda #>$6e85
    sta.z u_17+1
    jmp b7
    // main::@7
  b7:
    // [10] if(*((const byte*) zp1#0)<(byte) $a) goto main::@8 -- _deref_pbuc1_lt_vbuc2_then_la1 
    lda zp1
    cmp #$a
    bcc b8
    jmp breturn
    // main::@return
  breturn:
    // [11] return 
    rts
    // main::@8
  b8:
    // [12] *((const byte*) TIMEHI#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta TIMEHI
    // [13] *((const byte*) TIMELO#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta TIMELO
    // [14] *((const byte*) zp2#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta zp2
    // [15] phi from main::@15 main::@8 to main::@9 [phi:main::@15/main::@8->main::@9]
  b9_from_b15:
  b9_from_b8:
    // [15] phi (word) main::v#13 = (word) main::v#2 [phi:main::@15/main::@8->main::@9#0] -- register_copy 
    jmp b9
    // main::@9
  b9:
    // [16] if(*((const byte*) zp2#0)<(byte) $c8) goto main::@10 -- _deref_pbuc1_lt_vbuc2_then_la1 
    lda zp2
    cmp #$c8
    bcc b10
    jmp b11
    // main::@11
  b11:
    // [17] (word~) main::$12 ← (word)*((const byte*) TIMEHI#0) -- vwuz1=_word__deref_pbuc1 
    lda TIMEHI
    sta.z _12
    lda #0
    sta.z _12+1
    // [18] (word~) main::$13 ← (word~) main::$12 << (byte) 8 -- vwuz1=vwuz2_rol_8 
    lda.z _12
    sta.z _13+1
    lda #0
    sta.z _13
    // [19] (word~) main::$14 ← (word)*((const byte*) TIMELO#0) -- vwuz1=_word__deref_pbuc1 
    lda TIMELO
    sta.z _14
    lda #0
    sta.z _14+1
    // [20] (word) myprintf::w3#1 ← (word~) main::$13 + (word~) main::$14 -- vwuz1=vwuz2_plus_vwuz3 
    lda.z _13
    clc
    adc.z _14
    sta.z myprintf.w3
    lda.z _13+1
    adc.z _14+1
    sta.z myprintf.w3+1
    // [21] (word) myprintf::w1#1 ← (word) main::u#17 -- vwuz1=vwuz2 
    lda.z u_17
    sta.z myprintf.w1
    lda.z u_17+1
    sta.z myprintf.w1+1
    // [22] (word) myprintf::w2#1 ← (word) main::v#13 -- vwuz1=vwuz2 
    lda.z v
    sta.z myprintf.w2
    lda.z v+1
    sta.z myprintf.w2+1
    // [23] call myprintf 
    // [78] phi from main::@11 to myprintf [phi:main::@11->myprintf]
  myprintf_from_b11:
    // [78] phi (word) myprintf::w3#8 = (word) myprintf::w3#1 [phi:main::@11->myprintf#0] -- register_copy 
    // [78] phi (word) myprintf::w2#8 = (word) myprintf::w2#1 [phi:main::@11->myprintf#1] -- register_copy 
    // [78] phi (word) myprintf::w1#7 = (word) myprintf::w1#1 [phi:main::@11->myprintf#2] -- register_copy 
    // [78] phi (byte*) myprintf::str#6 = (const string) main::str1 [phi:main::@11->myprintf#3] -- pbuz1=pbuc1 
    lda #<str1
    sta.z myprintf.str
    lda #>str1
    sta.z myprintf.str+1
    jsr myprintf
    // [24] phi from main::@11 to main::@16 [phi:main::@11->main::@16]
  b16_from_b11:
    jmp b16
    // main::@16
  b16:
    // [25] call Print 
    jsr Print
    jmp b17
    // main::@17
  b17:
    // [26] (word) main::u#4 ← (word) main::u#17 - (word) $4d2 -- vwuz1=vwuz1_minus_vwuc1 
    lda.z u_4
    sec
    sbc #<$4d2
    sta.z u_4
    lda.z u_4+1
    sbc #>$4d2
    sta.z u_4+1
    // [27] *((const byte*) zp1#0) ← ++ *((const byte*) zp1#0) -- _deref_pbuc1=_inc__deref_pbuc1 
    inc zp1
    // [9] phi from main::@17 to main::@7 [phi:main::@17->main::@7]
  b7_from_b17:
    // [9] phi (word) main::v#10 = (word) main::v#13 [phi:main::@17->main::@7#0] -- register_copy 
    // [9] phi (word) main::u#17 = (word) main::u#4 [phi:main::@17->main::@7#1] -- register_copy 
    jmp b7
    // main::@10
  b10:
    // [28] (word) div10::val#4 ← (word) main::u#17 -- vwuz1=vwuz2 
    lda.z u_17
    sta.z div10.val_4
    lda.z u_17+1
    sta.z div10.val_4+1
    // [29] call div10 
    jsr div10
    // [30] (word) div10::return#2 ← (word) div10::return#0 -- vwuz1=vwuz2 
    lda.z div10.return
    sta.z div10.return_2
    lda.z div10.return+1
    sta.z div10.return_2+1
    jmp b15
    // main::@15
  b15:
    // [31] (word) main::v#2 ← (word) div10::return#2 -- vwuz1=vwuz2 
    lda.z div10.return_2
    sta.z v
    lda.z div10.return_2+1
    sta.z v+1
    // [32] *((const byte*) zp2#0) ← ++ *((const byte*) zp2#0) -- _deref_pbuc1=_inc__deref_pbuc1 
    inc zp2
    jmp b9_from_b15
    // main::@2
  b2:
    // [33] *((const byte*) TIMEHI#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta TIMEHI
    // [34] *((const byte*) TIMELO#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta TIMELO
    // [35] *((const byte*) zp2#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta zp2
    // [36] phi from main::@12 main::@2 to main::@4 [phi:main::@12/main::@2->main::@4]
  b4_from_b12:
  b4_from_b2:
    // [36] phi (word) main::v#11 = (word) main::v#1 [phi:main::@12/main::@2->main::@4#0] -- register_copy 
    jmp b4
    // main::@4
  b4:
    // [37] if(*((const byte*) zp2#0)<(byte) $c8) goto main::@5 -- _deref_pbuc1_lt_vbuc2_then_la1 
    lda zp2
    cmp #$c8
    bcc b5
    jmp b6
    // main::@6
  b6:
    // [38] (word~) main::$3 ← (word)*((const byte*) TIMEHI#0) -- vwuz1=_word__deref_pbuc1 
    lda TIMEHI
    sta.z _3
    lda #0
    sta.z _3+1
    // [39] (word~) main::$4 ← (word~) main::$3 << (byte) 8 -- vwuz1=vwuz2_rol_8 
    lda.z _3
    sta.z _4+1
    lda #0
    sta.z _4
    // [40] (word~) main::$5 ← (word)*((const byte*) TIMELO#0) -- vwuz1=_word__deref_pbuc1 
    lda TIMELO
    sta.z _5
    lda #0
    sta.z _5+1
    // [41] (word) myprintf::w3#0 ← (word~) main::$4 + (word~) main::$5 -- vwuz1=vwuz2_plus_vwuz3 
    lda.z _4
    clc
    adc.z _5
    sta.z myprintf.w3
    lda.z _4+1
    adc.z _5+1
    sta.z myprintf.w3+1
    // [42] (word) myprintf::w1#0 ← (word) main::u#15 -- vwuz1=vwuz2 
    lda.z u
    sta.z myprintf.w1
    lda.z u+1
    sta.z myprintf.w1+1
    // [43] (word) myprintf::w2#0 ← (word) main::v#11 -- vwuz1=vwuz2 
    lda.z v
    sta.z myprintf.w2
    lda.z v+1
    sta.z myprintf.w2+1
    // [44] call myprintf 
    // [78] phi from main::@6 to myprintf [phi:main::@6->myprintf]
  myprintf_from_b6:
    // [78] phi (word) myprintf::w3#8 = (word) myprintf::w3#0 [phi:main::@6->myprintf#0] -- register_copy 
    // [78] phi (word) myprintf::w2#8 = (word) myprintf::w2#0 [phi:main::@6->myprintf#1] -- register_copy 
    // [78] phi (word) myprintf::w1#7 = (word) myprintf::w1#0 [phi:main::@6->myprintf#2] -- register_copy 
    // [78] phi (byte*) myprintf::str#6 = (const string) main::str [phi:main::@6->myprintf#3] -- pbuz1=pbuc1 
    lda #<str
    sta.z myprintf.str
    lda #>str
    sta.z myprintf.str+1
    jsr myprintf
    // [45] phi from main::@6 to main::@13 [phi:main::@6->main::@13]
  b13_from_b6:
    jmp b13
    // main::@13
  b13:
    // [46] call Print 
    jsr Print
    jmp b14
    // main::@14
  b14:
    // [47] (word) main::u#3 ← (word) main::u#15 - (word) $4d2 -- vwuz1=vwuz1_minus_vwuc1 
    lda.z u
    sec
    sbc #<$4d2
    sta.z u
    lda.z u+1
    sbc #>$4d2
    sta.z u+1
    // [48] *((const byte*) zp1#0) ← ++ *((const byte*) zp1#0) -- _deref_pbuc1=_inc__deref_pbuc1 
    inc zp1
    // [6] phi from main::@14 to main::@1 [phi:main::@14->main::@1]
  b1_from_b14:
    // [6] phi (word) main::v#12 = (word) main::v#11 [phi:main::@14->main::@1#0] -- register_copy 
    // [6] phi (word) main::u#15 = (word) main::u#3 [phi:main::@14->main::@1#1] -- register_copy 
    jmp b1
    // main::@5
  b5:
    // [49] (word) div16u::dividend#0 ← (word) main::u#15 -- vwuz1=vwuz2 
    lda.z u
    sta.z div16u.dividend
    lda.z u+1
    sta.z div16u.dividend+1
    // [50] call div16u 
    jsr div16u
    // [51] (word) div16u::return#2 ← (word) div16u::return#0 -- vwuz1=vwuz2 
    lda.z div16u.return
    sta.z div16u.return_2
    lda.z div16u.return+1
    sta.z div16u.return_2+1
    jmp b12
    // main::@12
  b12:
    // [52] (word) main::v#1 ← (word) div16u::return#2 -- vwuz1=vwuz2 
    lda.z div16u.return_2
    sta.z v
    lda.z div16u.return_2+1
    sta.z v+1
    // [53] *((const byte*) zp2#0) ← ++ *((const byte*) zp2#0) -- _deref_pbuc1=_inc__deref_pbuc1 
    inc zp2
    jmp b4_from_b12
    str: .text "200 DIV16U: %5d,%4d IN %04d FRAMESm"
    .byte 0
    str1: .text "200 DIV10 : %5d,%4d IN %04d FRAMESm"
    .byte 0
}
  // 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($40) dividend)
div16u: {
    .label divisor = $a
    .label return = $46
    .label dividend = $40
    .label return_2 = $42
    // [54] (word) divr16u::dividend#1 ← (word) div16u::dividend#0 -- vwuz1=vwuz2 
    lda.z dividend
    sta.z divr16u.dividend
    lda.z dividend+1
    sta.z divr16u.dividend+1
    // [55] call divr16u 
    // [59] phi from div16u to divr16u [phi:div16u->divr16u]
  divr16u_from_div16u:
    jsr divr16u
    // [56] (word) divr16u::return#2 ← (word) divr16u::return#0 -- vwuz1=vwuz2 
    lda.z divr16u.return
    sta.z divr16u.return_2
    lda.z divr16u.return+1
    sta.z divr16u.return_2+1
    jmp b1
    // div16u::@1
  b1:
    // [57] (word) div16u::return#0 ← (word) divr16u::return#2 -- vwuz1=vwuz2 
    lda.z divr16u.return_2
    sta.z return
    lda.z divr16u.return_2+1
    sta.z return+1
    jmp breturn
    // div16u::@return
  breturn:
    // [58] 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($a) dividend, word zeropage(8) rem)
divr16u: {
    .label _1 = $48
    .label _2 = $49
    .label rem = 8
    .label dividend = $a
    .label quotient = $c
    .label i = $e
    .label return = $c
    .label return_2 = $44
    // [60] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1]
  b1_from_divr16u:
    // [60] phi (byte) divr16u::i#2 = (byte) 0 [phi:divr16u->divr16u::@1#0] -- vbuz1=vbuc1 
    lda #0
    sta.z i
    // [60] phi (word) divr16u::quotient#3 = (byte) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 
    lda #<0
    sta.z quotient
    lda #>0
    sta.z quotient+1
    // [60] phi (word) divr16u::dividend#2 = (word) divr16u::dividend#1 [phi:divr16u->divr16u::@1#2] -- register_copy 
    // [60] phi (word) divr16u::rem#4 = (byte) 0 [phi:divr16u->divr16u::@1#3] -- vwuz1=vbuc1 
    lda #<0
    sta.z rem
    lda #>0
    sta.z rem+1
    jmp b1
    // [60] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1]
  b1_from_b3:
    // [60] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy 
    // [60] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy 
    // [60] phi (word) divr16u::dividend#2 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy 
    // [60] phi (word) divr16u::rem#4 = (word) divr16u::rem#9 [phi:divr16u::@3->divr16u::@1#3] -- register_copy 
    jmp b1
    // divr16u::@1
  b1:
    // [61] (word) divr16u::rem#0 ← (word) divr16u::rem#4 << (byte) 1 -- vwuz1=vwuz1_rol_1 
    asl.z rem
    rol.z rem+1
    // [62] (byte~) divr16u::$1 ← > (word) divr16u::dividend#2 -- vbuz1=_hi_vwuz2 
    lda.z dividend+1
    sta.z _1
    // [63] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte) $80 -- vbuz1=vbuz2_band_vbuc1 
    lda #$80
    and.z _1
    sta.z _2
    // [64] if((byte~) divr16u::$2==(byte) 0) goto divr16u::@2 -- vbuz1_eq_0_then_la1 
    lda.z _2
    cmp #0
    beq b2_from_b1
    jmp b4
    // divr16u::@4
  b4:
    // [65] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte) 1 -- vwuz1=vwuz1_bor_vbuc1 
    lda #1
    ora.z rem
    sta.z rem
    // [66] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2]
  b2_from_b1:
  b2_from_b4:
    // [66] phi (word) divr16u::rem#5 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy 
    jmp b2
    // divr16u::@2
  b2:
    // [67] (word) divr16u::dividend#0 ← (word) divr16u::dividend#2 << (byte) 1 -- vwuz1=vwuz1_rol_1 
    asl.z dividend
    rol.z dividend+1
    // [68] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte) 1 -- vwuz1=vwuz1_rol_1 
    asl.z quotient
    rol.z quotient+1
    // [69] if((word) divr16u::rem#5<(const word) div16u::divisor#0) goto divr16u::@3 -- vwuz1_lt_vwuc1_then_la1 
    lda.z rem+1
    cmp #>div16u.divisor
    bcc b3_from_b2
    bne !+
    lda.z rem
    cmp #<div16u.divisor
    bcc b3_from_b2
  !:
    jmp b5
    // divr16u::@5
  b5:
    // [70] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 -- vwuz1=_inc_vwuz1 
    inc.z quotient
    bne !+
    inc.z quotient+1
  !:
    // [71] (word) divr16u::rem#2 ← (word) divr16u::rem#5 - (const word) div16u::divisor#0 -- vwuz1=vwuz1_minus_vwuc1 
    lda.z rem
    sec
    sbc #<div16u.divisor
    sta.z rem
    lda.z rem+1
    sbc #>div16u.divisor
    sta.z rem+1
    // [72] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3]
  b3_from_b2:
  b3_from_b5:
    // [72] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy 
    // [72] phi (word) divr16u::rem#9 = (word) divr16u::rem#5 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy 
    jmp b3
    // divr16u::@3
  b3:
    // [73] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 -- vbuz1=_inc_vbuz1 
    inc.z i
    // [74] if((byte) divr16u::i#1!=(byte) $10) goto divr16u::@1 -- vbuz1_neq_vbuc1_then_la1 
    lda #$10
    cmp.z i
    bne b1_from_b3
    jmp breturn
    // divr16u::@return
  breturn:
    // [75] return 
    rts
}
  // 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:
    // [77] return 
    rts
}
  // myprintf
// myprintf(byte* zeropage($15) str, word zeropage($f) w1, word zeropage($11) w2, word zeropage($13) w3)
myprintf: {
    .label _18 = $4a
    .label _19 = $4b
    .label _24 = $1d
    .label _25 = $4d
    .label _26 = $4f
    .label _31 = $1e
    .label _32 = $51
    .label _43 = $23
    .label _50 = $52
    .label b = $24
    .label bDigits = $20
    .label bLen = $21
    .label b_5 = $1f
    .label digit = $22
    .label bArg = $18
    .label str = $15
    .label w1 = $f
    .label w2 = $11
    .label w3 = $13
    .label b_15 = $4c
    .label b_16 = $50
    .label bLen_11 = $4e
    .label b_17 = $1f
    .label w = $19
    .label bFormat = $17
    .label bTrailing = $1b
    .label bLeadZero = $1c
    // [79] phi from myprintf to myprintf::@1 [phi:myprintf->myprintf::@1]
  b1_from_myprintf:
    // [79] phi (byte) myprintf::bLeadZero#11 = (byte) 0 [phi:myprintf->myprintf::@1#0] -- vbuz1=vbuc1 
    lda #0
    sta.z bLeadZero
    // [79] phi (byte) myprintf::bDigits#16 = (byte) 0 [phi:myprintf->myprintf::@1#1] -- vbuz1=vbuc1 
    lda #0
    sta.z bDigits
    // [79] phi (byte) myprintf::bTrailing#11 = (byte) 0 [phi:myprintf->myprintf::@1#2] -- vbuz1=vbuc1 
    lda #0
    sta.z bTrailing
    // [79] phi (word) myprintf::w#10 = (word) 0 [phi:myprintf->myprintf::@1#3] -- vwuz1=vwuc1 
    lda #<0
    sta.z w
    lda #>0
    sta.z w+1
    // [79] phi (byte) myprintf::bArg#10 = (byte) 0 [phi:myprintf->myprintf::@1#4] -- vbuz1=vbuc1 
    lda #0
    sta.z bArg
    // [79] phi (byte) myprintf::bLen#10 = (byte) 0 [phi:myprintf->myprintf::@1#5] -- vbuz1=vbuc1 
    lda #0
    sta.z bLen
    // [79] phi (byte) myprintf::bFormat#10 = (byte) 0 [phi:myprintf->myprintf::@1#6] -- vbuz1=vbuc1 
    lda #0
    sta.z bFormat
    // [79] phi (byte*) myprintf::str#10 = (byte*) myprintf::str#6 [phi:myprintf->myprintf::@1#7] -- register_copy 
    jmp b1
    // myprintf::@1
  b1:
    // [80] if(*((byte*) myprintf::str#10)!=(byte) 0) goto myprintf::@2 -- _deref_pbuz1_neq_0_then_la1 
    ldy #0
    lda (str),y
    cmp #0
    bne b2
    jmp b3
    // myprintf::@3
  b3:
    // [81] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#10) ← (byte) 0 -- pbuc1_derefidx_vbuz1=vbuc2 
    lda #0
    ldy.z bLen
    sta strTemp,y
    jmp breturn
    // myprintf::@return
  breturn:
    // [82] return 
    rts
    // myprintf::@2
  b2:
    // [83] (byte) myprintf::b#1 ← *((byte*) myprintf::str#10) -- vbuz1=_deref_pbuz2 
    ldy #0
    lda (str),y
    sta.z b
    // [84] if((byte) myprintf::bFormat#10==(byte) 0) goto myprintf::@4 -- vbuz1_eq_0_then_la1 
    lda.z bFormat
    cmp #0
    beq b4
    jmp b37
    // myprintf::@37
  b37:
    // [85] if((byte) myprintf::b#1!=(byte) '0') goto myprintf::@5 -- vbuz1_neq_vbuc1_then_la1 
    lda #'0'
    cmp.z b
    bne b5
    // [79] phi from myprintf::@37 to myprintf::@1 [phi:myprintf::@37->myprintf::@1]
  b1_from_b37:
    // [79] phi (byte) myprintf::bLeadZero#11 = (byte) 1 [phi:myprintf::@37->myprintf::@1#0] -- vbuz1=vbuc1 
    lda #1
    sta.z bLeadZero
    // [79] phi (byte) myprintf::bDigits#16 = (byte) myprintf::bDigits#16 [phi:myprintf::@37->myprintf::@1#1] -- register_copy 
    // [79] phi (byte) myprintf::bTrailing#11 = (byte) myprintf::bTrailing#11 [phi:myprintf::@37->myprintf::@1#2] -- register_copy 
    // [79] phi (word) myprintf::w#10 = (word) myprintf::w#10 [phi:myprintf::@37->myprintf::@1#3] -- register_copy 
    // [79] phi (byte) myprintf::bArg#10 = (byte) myprintf::bArg#10 [phi:myprintf::@37->myprintf::@1#4] -- register_copy 
    // [79] phi (byte) myprintf::bLen#10 = (byte) myprintf::bLen#10 [phi:myprintf::@37->myprintf::@1#5] -- register_copy 
    // [79] phi (byte) myprintf::bFormat#10 = (byte) myprintf::bFormat#10 [phi:myprintf::@37->myprintf::@1#6] -- register_copy 
    // [79] phi (byte*) myprintf::str#10 = (byte*) myprintf::str#10 [phi:myprintf::@37->myprintf::@1#7] -- register_copy 
    jmp b1
    // myprintf::@5
  b5:
    // [86] if((byte) myprintf::b#1<(byte) '1') goto myprintf::@6 -- vbuz1_lt_vbuc1_then_la1 
    lda.z b
    cmp #'1'
    bcc b6
    jmp b42
    // myprintf::@42
  b42:
    // [87] if((byte) myprintf::b#1<=(byte) '9') goto myprintf::@28 -- vbuz1_le_vbuc1_then_la1 
    lda #'9'
    cmp.z b
    bcs b28
    jmp b6
    // myprintf::@6
  b6:
    // [88] if((byte) myprintf::b#1!=(byte) '-') goto myprintf::@7 -- vbuz1_neq_vbuc1_then_la1 
    lda #'-'
    cmp.z b
    bne b7
    // [79] phi from myprintf::@6 to myprintf::@1 [phi:myprintf::@6->myprintf::@1]
  b1_from_b6:
    // [79] phi (byte) myprintf::bLeadZero#11 = (byte) myprintf::bLeadZero#11 [phi:myprintf::@6->myprintf::@1#0] -- register_copy 
    // [79] phi (byte) myprintf::bDigits#16 = (byte) myprintf::bDigits#16 [phi:myprintf::@6->myprintf::@1#1] -- register_copy 
    // [79] phi (byte) myprintf::bTrailing#11 = (byte) 1 [phi:myprintf::@6->myprintf::@1#2] -- vbuz1=vbuc1 
    lda #1
    sta.z bTrailing
    // [79] phi (word) myprintf::w#10 = (word) myprintf::w#10 [phi:myprintf::@6->myprintf::@1#3] -- register_copy 
    // [79] phi (byte) myprintf::bArg#10 = (byte) myprintf::bArg#10 [phi:myprintf::@6->myprintf::@1#4] -- register_copy 
    // [79] phi (byte) myprintf::bLen#10 = (byte) myprintf::bLen#10 [phi:myprintf::@6->myprintf::@1#5] -- register_copy 
    // [79] phi (byte) myprintf::bFormat#10 = (byte) myprintf::bFormat#10 [phi:myprintf::@6->myprintf::@1#6] -- register_copy 
    // [79] phi (byte*) myprintf::str#10 = (byte*) myprintf::str#10 [phi:myprintf::@6->myprintf::@1#7] -- register_copy 
    jmp b1
    // myprintf::@7
  b7:
    // [89] if((byte) myprintf::b#1==(byte) 'c') goto myprintf::@8 -- vbuz1_eq_vbuc1_then_la1 
    lda #'c'
    cmp.z b
    beq b8
    jmp b29
    // myprintf::@29
  b29:
    // [90] if((byte) myprintf::b#1==(byte) 'd') goto myprintf::@9 -- vbuz1_eq_vbuc1_then_la1 
    lda #'d'
    cmp.z b
    beq b9
    jmp b30
    // myprintf::@30
  b30:
    // [91] if((byte) myprintf::b#1==(byte) 'x') goto myprintf::@31 -- vbuz1_eq_vbuc1_then_la1 
    lda #'x'
    cmp.z b
    beq b31
    jmp b43
    // myprintf::@43
  b43:
    // [92] if((byte) myprintf::b#1==(byte) 'X') goto myprintf::@31 -- vbuz1_eq_vbuc1_then_la1 
    lda #'X'
    cmp.z b
    beq b31
    // [93] phi from myprintf::@13 myprintf::@24 myprintf::@25 myprintf::@43 myprintf::@8 to myprintf::@27 [phi:myprintf::@13/myprintf::@24/myprintf::@25/myprintf::@43/myprintf::@8->myprintf::@27]
  b27_from_b13:
  b27_from_b24:
  b27_from_b25:
  b27_from_b43:
  b27_from_b8:
    // [93] phi (byte) myprintf::bDigits#28 = (byte) myprintf::bDigits#16 [phi:myprintf::@13/myprintf::@24/myprintf::@25/myprintf::@43/myprintf::@8->myprintf::@27#0] -- register_copy 
    // [93] phi (byte) myprintf::bLen#28 = (byte) myprintf::bLen#3 [phi:myprintf::@13/myprintf::@24/myprintf::@25/myprintf::@43/myprintf::@8->myprintf::@27#1] -- register_copy 
    jmp b27
    // [93] phi from myprintf::@45 to myprintf::@27 [phi:myprintf::@45->myprintf::@27]
  b27_from_b45:
    jmp b27
    // myprintf::@27
  b27:
    // [79] phi from myprintf::@27 to myprintf::@1 [phi:myprintf::@27->myprintf::@1]
  b1_from_b27:
    // [79] phi (byte) myprintf::bLeadZero#11 = (byte) myprintf::bLeadZero#11 [phi:myprintf::@27->myprintf::@1#0] -- register_copy 
    // [79] phi (byte) myprintf::bDigits#16 = (byte) myprintf::bDigits#28 [phi:myprintf::@27->myprintf::@1#1] -- register_copy 
    // [79] phi (byte) myprintf::bTrailing#11 = (byte) myprintf::bTrailing#11 [phi:myprintf::@27->myprintf::@1#2] -- register_copy 
    // [79] phi (word) myprintf::w#10 = (word) myprintf::w#10 [phi:myprintf::@27->myprintf::@1#3] -- register_copy 
    // [79] phi (byte) myprintf::bArg#10 = (byte) myprintf::bArg#10 [phi:myprintf::@27->myprintf::@1#4] -- register_copy 
    // [79] phi (byte) myprintf::bLen#10 = (byte) myprintf::bLen#28 [phi:myprintf::@27->myprintf::@1#5] -- register_copy 
    // [79] phi (byte) myprintf::bFormat#10 = (byte) 0 [phi:myprintf::@27->myprintf::@1#6] -- vbuz1=vbuc1 
    lda #0
    sta.z bFormat
    // [79] phi (byte*) myprintf::str#10 = (byte*) myprintf::str#10 [phi:myprintf::@27->myprintf::@1#7] -- register_copy 
    jmp b1
    // myprintf::@31
  b31:
    // [94] (byte~) myprintf::$18 ← (byte)(word) myprintf::w#10 -- vbuz1=_byte_vwuz2 
    lda.z w
    sta.z _18
    // [95] (byte~) myprintf::$19 ← (byte~) myprintf::$18 >> (byte) 4 -- vbuz1=vbuz2_ror_4 
    lda.z _18
    lsr
    lsr
    lsr
    lsr
    sta.z _19
    // [96] (byte) myprintf::b#15 ← (byte~) myprintf::$19 & (byte) $f -- vbuz1=vbuz2_band_vbuc1 
    lda #$f
    and.z _19
    sta.z b_15
    // [97] if((byte) myprintf::b#15<(byte) $a) goto myprintf::@10 -- vbuz1_lt_vbuc1_then_la1 
    lda.z b_15
    cmp #$a
    bcc b10_from_b31
    // [99] phi from myprintf::@31 to myprintf::@11 [phi:myprintf::@31->myprintf::@11]
  b11_from_b31:
    // [99] phi (byte~) myprintf::$24 = (byte) $57 [phi:myprintf::@31->myprintf::@11#0] -- vbuz1=vbuc1 
    lda #$57
    sta.z _24
    jmp b11
    // [98] phi from myprintf::@31 to myprintf::@10 [phi:myprintf::@31->myprintf::@10]
  b10_from_b31:
    jmp b10
    // myprintf::@10
  b10:
    // [99] phi from myprintf::@10 to myprintf::@11 [phi:myprintf::@10->myprintf::@11]
  b11_from_b10:
    // [99] phi (byte~) myprintf::$24 = (byte) '0' [phi:myprintf::@10->myprintf::@11#0] -- vbuz1=vbuc1 
    lda #'0'
    sta.z _24
    jmp b11
    // myprintf::@11
  b11:
    // [100] (byte~) myprintf::$25 ← (byte~) myprintf::$24 + (byte) myprintf::b#15 -- vbuz1=vbuz2_plus_vbuz3 
    lda.z _24
    clc
    adc.z b_15
    sta.z _25
    // [101] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#10) ← (byte~) myprintf::$25 -- pbuc1_derefidx_vbuz1=vbuz2 
    lda.z _25
    ldy.z bLen
    sta strTemp,y
    // [102] (byte) myprintf::bLen#11 ← ++ (byte) myprintf::bLen#10 -- vbuz1=_inc_vbuz2 
    ldy.z bLen
    iny
    sty.z bLen_11
    // [103] (byte~) myprintf::$26 ← (byte)(word) myprintf::w#10 -- vbuz1=_byte_vwuz2 
    lda.z w
    sta.z _26
    // [104] (byte) myprintf::b#16 ← (byte~) myprintf::$26 & (byte) $f -- vbuz1=vbuz2_band_vbuc1 
    lda #$f
    and.z _26
    sta.z b_16
    // [105] if((byte) myprintf::b#16<(byte) $a) goto myprintf::@12 -- vbuz1_lt_vbuc1_then_la1 
    lda.z b_16
    cmp #$a
    bcc b12_from_b11
    // [107] phi from myprintf::@11 to myprintf::@13 [phi:myprintf::@11->myprintf::@13]
  b13_from_b11:
    // [107] phi (byte~) myprintf::$31 = (byte) $57 [phi:myprintf::@11->myprintf::@13#0] -- vbuz1=vbuc1 
    lda #$57
    sta.z _31
    jmp b13
    // [106] phi from myprintf::@11 to myprintf::@12 [phi:myprintf::@11->myprintf::@12]
  b12_from_b11:
    jmp b12
    // myprintf::@12
  b12:
    // [107] phi from myprintf::@12 to myprintf::@13 [phi:myprintf::@12->myprintf::@13]
  b13_from_b12:
    // [107] phi (byte~) myprintf::$31 = (byte) '0' [phi:myprintf::@12->myprintf::@13#0] -- vbuz1=vbuc1 
    lda #'0'
    sta.z _31
    jmp b13
    // myprintf::@13
  b13:
    // [108] (byte~) myprintf::$32 ← (byte~) myprintf::$31 + (byte) myprintf::b#16 -- vbuz1=vbuz2_plus_vbuz3 
    lda.z _31
    clc
    adc.z b_16
    sta.z _32
    // [109] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#11) ← (byte~) myprintf::$32 -- pbuc1_derefidx_vbuz1=vbuz2 
    lda.z _32
    ldy.z bLen_11
    sta strTemp,y
    // [110] (byte) myprintf::bLen#3 ← ++ (byte) myprintf::bLen#11 -- vbuz1=_inc_vbuz2 
    ldy.z bLen_11
    iny
    sty.z bLen
    jmp b27_from_b13
    // myprintf::@9
  b9:
    // [111] (word) utoa::value#4 ← (word) myprintf::w#10 -- vwuz1=vwuz2 
    lda.z w
    sta.z utoa.value
    lda.z w+1
    sta.z utoa.value+1
    // [112] call utoa 
    // [158] phi from myprintf::@9 to utoa [phi:myprintf::@9->utoa]
  utoa_from_b9:
    jsr utoa
    // [113] phi from myprintf::@9 to myprintf::@14 [phi:myprintf::@9->myprintf::@14]
  b14_from_b9:
    // [113] phi (byte) myprintf::b#17 = (byte) 1 [phi:myprintf::@9->myprintf::@14#0] -- vbuz1=vbuc1 
    lda #1
    sta.z b_17
    jmp b14
    // myprintf::@14
  b14:
    // [114] if(*((const byte[6]) myprintf::buf6#0 + (byte) myprintf::b#17)!=(byte) 0) goto myprintf::@15 -- pbuc1_derefidx_vbuz1_neq_0_then_la1 
    ldy.z b_17
    lda buf6,y
    cmp #0
    bne b15
    jmp b16
    // myprintf::@16
  b16:
    // [115] if((byte) myprintf::bTrailing#11!=(byte) 0) goto myprintf::@17 -- vbuz1_neq_0_then_la1 
    lda.z bTrailing
    cmp #0
    bne b17_from_b16
    jmp b44
    // myprintf::@44
  b44:
    // [116] if((byte) myprintf::bDigits#16<=(byte) myprintf::b#17) goto myprintf::@17 -- vbuz1_le_vbuz2_then_la1 
    lda.z b_17
    cmp.z bDigits
    bcs b17_from_b44
    // [117] phi from myprintf::@21 myprintf::@44 to myprintf::@18 [phi:myprintf::@21/myprintf::@44->myprintf::@18]
  b18_from_b21:
  b18_from_b44:
    // [117] phi (byte) myprintf::bLen#12 = (byte) myprintf::bLen#4 [phi:myprintf::@21/myprintf::@44->myprintf::@18#0] -- register_copy 
    // [117] phi (byte) myprintf::bDigits#12 = (byte) myprintf::bDigits#2 [phi:myprintf::@21/myprintf::@44->myprintf::@18#1] -- register_copy 
    jmp b18
    // myprintf::@18
  b18:
    // [118] if((byte) myprintf::bDigits#12>(byte) myprintf::b#17) goto myprintf::@19 -- vbuz1_gt_vbuz2_then_la1 
    lda.z b_17
    cmp.z bDigits
    bcc b19
    // [119] phi from myprintf::@16 myprintf::@18 to myprintf::@17 [phi:myprintf::@16/myprintf::@18->myprintf::@17]
  b17_from_b16:
  b17_from_b18:
    // [119] phi (byte) myprintf::bDigits#18 = (byte) myprintf::bDigits#16 [phi:myprintf::@16/myprintf::@18->myprintf::@17#0] -- register_copy 
    // [119] phi (byte) myprintf::bLen#36 = (byte) myprintf::bLen#10 [phi:myprintf::@16/myprintf::@18->myprintf::@17#1] -- register_copy 
    jmp b17
    // [119] phi from myprintf::@44 to myprintf::@17 [phi:myprintf::@44->myprintf::@17]
  b17_from_b44:
    jmp b17
    // myprintf::@17
  b17:
    // [120] phi from myprintf::@17 to myprintf::@22 [phi:myprintf::@17->myprintf::@22]
  b22_from_b17:
    // [120] phi (byte) myprintf::bLen#13 = (byte) myprintf::bLen#36 [phi:myprintf::@17->myprintf::@22#0] -- register_copy 
    // [120] phi (byte) myprintf::digit#3 = (byte) 0 [phi:myprintf::@17->myprintf::@22#1] -- vbuz1=vbuc1 
    lda #0
    sta.z digit
    jmp b22
    // myprintf::@22
  b22:
    // [121] if((byte) myprintf::digit#3<(byte) myprintf::b#17) goto myprintf::@23 -- vbuz1_lt_vbuz2_then_la1 
    lda.z digit
    cmp.z b_17
    bcc b23
    jmp b24
    // myprintf::@24
  b24:
    // [122] if((byte) myprintf::bTrailing#11==(byte) 0) goto myprintf::@27 -- vbuz1_eq_0_then_la1 
    lda.z bTrailing
    cmp #0
    beq b27_from_b24
    jmp b45
    // myprintf::@45
  b45:
    // [123] if((byte) myprintf::bDigits#18<=(byte) myprintf::b#17) goto myprintf::@27 -- vbuz1_le_vbuz2_then_la1 
    lda.z b_17
    cmp.z bDigits
    bcs b27_from_b45
    // [124] phi from myprintf::@26 myprintf::@45 to myprintf::@25 [phi:myprintf::@26/myprintf::@45->myprintf::@25]
  b25_from_b26:
  b25_from_b45:
    // [124] phi (byte) myprintf::bLen#14 = (byte) myprintf::bLen#6 [phi:myprintf::@26/myprintf::@45->myprintf::@25#0] -- register_copy 
    // [124] phi (byte) myprintf::bDigits#10 = (byte) myprintf::bDigits#3 [phi:myprintf::@26/myprintf::@45->myprintf::@25#1] -- register_copy 
    jmp b25
    // myprintf::@25
  b25:
    // [125] if((byte) myprintf::bDigits#10>(byte) myprintf::b#17) goto myprintf::@26 -- vbuz1_gt_vbuz2_then_la1 
    lda.z b_17
    cmp.z bDigits
    bcc b26
    jmp b27_from_b25
    // myprintf::@26
  b26:
    // [126] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#14) ← (byte) ' ' -- pbuc1_derefidx_vbuz1=vbuc2 
    lda #' '
    ldy.z bLen
    sta strTemp,y
    // [127] (byte) myprintf::bLen#6 ← ++ (byte) myprintf::bLen#14 -- vbuz1=_inc_vbuz1 
    inc.z bLen
    // [128] (byte) myprintf::bDigits#3 ← -- (byte) myprintf::bDigits#10 -- vbuz1=_dec_vbuz1 
    dec.z bDigits
    jmp b25_from_b26
    // myprintf::@23
  b23:
    // [129] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#13) ← *((const byte[6]) myprintf::buf6#0 + (byte) myprintf::digit#3) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz2 
    ldy.z digit
    lda buf6,y
    ldy.z bLen
    sta strTemp,y
    // [130] (byte) myprintf::bLen#5 ← ++ (byte) myprintf::bLen#13 -- vbuz1=_inc_vbuz1 
    inc.z bLen
    // [131] (byte) myprintf::digit#2 ← ++ (byte) myprintf::digit#3 -- vbuz1=_inc_vbuz1 
    inc.z digit
    // [120] phi from myprintf::@23 to myprintf::@22 [phi:myprintf::@23->myprintf::@22]
  b22_from_b23:
    // [120] phi (byte) myprintf::bLen#13 = (byte) myprintf::bLen#5 [phi:myprintf::@23->myprintf::@22#0] -- register_copy 
    // [120] phi (byte) myprintf::digit#3 = (byte) myprintf::digit#2 [phi:myprintf::@23->myprintf::@22#1] -- register_copy 
    jmp b22
    // myprintf::@19
  b19:
    // [132] if((byte) myprintf::bLeadZero#11==(byte) 0) goto myprintf::@20 -- vbuz1_eq_0_then_la1 
    lda.z bLeadZero
    cmp #0
    beq b20_from_b19
    // [134] phi from myprintf::@19 to myprintf::@21 [phi:myprintf::@19->myprintf::@21]
  b21_from_b19:
    // [134] phi (byte~) myprintf::$43 = (byte) '0' [phi:myprintf::@19->myprintf::@21#0] -- vbuz1=vbuc1 
    lda #'0'
    sta.z _43
    jmp b21
    // [133] phi from myprintf::@19 to myprintf::@20 [phi:myprintf::@19->myprintf::@20]
  b20_from_b19:
    jmp b20
    // myprintf::@20
  b20:
    // [134] phi from myprintf::@20 to myprintf::@21 [phi:myprintf::@20->myprintf::@21]
  b21_from_b20:
    // [134] phi (byte~) myprintf::$43 = (byte) ' ' [phi:myprintf::@20->myprintf::@21#0] -- vbuz1=vbuc1 
    lda #' '
    sta.z _43
    jmp b21
    // myprintf::@21
  b21:
    // [135] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#12) ← (byte~) myprintf::$43 -- pbuc1_derefidx_vbuz1=vbuz2 
    lda.z _43
    ldy.z bLen
    sta strTemp,y
    // [136] (byte) myprintf::bLen#4 ← ++ (byte) myprintf::bLen#12 -- vbuz1=_inc_vbuz1 
    inc.z bLen
    // [137] (byte) myprintf::bDigits#2 ← -- (byte) myprintf::bDigits#12 -- vbuz1=_dec_vbuz1 
    dec.z bDigits
    jmp b18_from_b21
    // myprintf::@15
  b15:
    // [138] (byte) myprintf::b#5 ← ++ (byte) myprintf::b#17 -- vbuz1=_inc_vbuz1 
    inc.z b_5
    // [113] phi from myprintf::@15 to myprintf::@14 [phi:myprintf::@15->myprintf::@14]
  b14_from_b15:
    // [113] phi (byte) myprintf::b#17 = (byte) myprintf::b#5 [phi:myprintf::@15->myprintf::@14#0] -- register_copy 
    jmp b14
    // myprintf::@8
  b8:
    // [139] (byte~) myprintf::$50 ← (byte)(word) myprintf::w#10 -- vbuz1=_byte_vwuz2 
    lda.z w
    sta.z _50
    // [140] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#10) ← (byte~) myprintf::$50 -- pbuc1_derefidx_vbuz1=vbuz2 
    // "switch" is the normal way -- not supported -- https://gitlab.com/camelot/kickc/issues/170
    lda.z _50
    ldy.z bLen
    sta strTemp,y
    // [141] (byte) myprintf::bLen#1 ← ++ (byte) myprintf::bLen#10 -- vbuz1=_inc_vbuz1 
    inc.z bLen
    jmp b27_from_b8
    // myprintf::@28
  b28:
    // [142] (byte) myprintf::bDigits#1 ← (byte) myprintf::b#1 - (byte) '0' -- vbuz1=vbuz2_minus_vbuc1 
    lax.z b
    axs #'0'
    stx.z bDigits
    // [79] phi from myprintf::@28 myprintf::@36 to myprintf::@1 [phi:myprintf::@28/myprintf::@36->myprintf::@1]
  b1_from_b28:
  b1_from_b36:
    // [79] phi (byte) myprintf::bLeadZero#11 = (byte) myprintf::bLeadZero#11 [phi:myprintf::@28/myprintf::@36->myprintf::@1#0] -- register_copy 
    // [79] phi (byte) myprintf::bDigits#16 = (byte) myprintf::bDigits#1 [phi:myprintf::@28/myprintf::@36->myprintf::@1#1] -- register_copy 
    // [79] phi (byte) myprintf::bTrailing#11 = (byte) myprintf::bTrailing#11 [phi:myprintf::@28/myprintf::@36->myprintf::@1#2] -- register_copy 
    // [79] phi (word) myprintf::w#10 = (word) myprintf::w#10 [phi:myprintf::@28/myprintf::@36->myprintf::@1#3] -- register_copy 
    // [79] phi (byte) myprintf::bArg#10 = (byte) myprintf::bArg#10 [phi:myprintf::@28/myprintf::@36->myprintf::@1#4] -- register_copy 
    // [79] phi (byte) myprintf::bLen#10 = (byte) myprintf::bLen#10 [phi:myprintf::@28/myprintf::@36->myprintf::@1#5] -- register_copy 
    // [79] phi (byte) myprintf::bFormat#10 = (byte) myprintf::bFormat#10 [phi:myprintf::@28/myprintf::@36->myprintf::@1#6] -- register_copy 
    // [79] phi (byte*) myprintf::str#10 = (byte*) myprintf::str#10 [phi:myprintf::@28/myprintf::@36->myprintf::@1#7] -- register_copy 
    jmp b1
    // myprintf::@4
  b4:
    // [143] if((byte) myprintf::b#1!=(byte) '%') goto myprintf::@32 -- vbuz1_neq_vbuc1_then_la1 
    lda #'%'
    cmp.z b
    bne b32
    jmp b38
    // myprintf::@38
  b38:
    // [144] if((byte) myprintf::bArg#10==(byte) 0) goto myprintf::@33 -- 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.z bArg
    cmp #0
    beq b33
    jmp b39
    // myprintf::@39
  b39:
    // [145] if((byte) myprintf::bArg#10==(byte) 1) goto myprintf::@34 -- vbuz1_eq_vbuc1_then_la1 
    lda #1
    cmp.z bArg
    beq b34
    jmp b40
    // myprintf::@40
  b40:
    // [146] (word~) myprintf::w#53 ← (word) myprintf::w3#8 -- vwuz1=vwuz2 
    lda.z w3
    sta.z w
    lda.z w3+1
    sta.z w+1
    // [147] phi from myprintf::@33 myprintf::@34 myprintf::@40 to myprintf::@35 [phi:myprintf::@33/myprintf::@34/myprintf::@40->myprintf::@35]
  b35_from_b33:
  b35_from_b34:
  b35_from_b40:
    // [147] phi (word) myprintf::w#21 = (word~) myprintf::w#51 [phi:myprintf::@33/myprintf::@34/myprintf::@40->myprintf::@35#0] -- register_copy 
    jmp b35
    // myprintf::@35
  b35:
    // [148] (byte) myprintf::bArg#1 ← ++ (byte) myprintf::bArg#10 -- vbuz1=_inc_vbuz1 
    inc.z bArg
    // [79] phi from myprintf::@35 to myprintf::@1 [phi:myprintf::@35->myprintf::@1]
  b1_from_b35:
    // [79] phi (byte) myprintf::bLeadZero#11 = (byte) 0 [phi:myprintf::@35->myprintf::@1#0] -- vbuz1=vbuc1 
    lda #0
    sta.z bLeadZero
    // [79] phi (byte) myprintf::bDigits#16 = (byte) 1 [phi:myprintf::@35->myprintf::@1#1] -- vbuz1=vbuc1 
    lda #1
    sta.z bDigits
    // [79] phi (byte) myprintf::bTrailing#11 = (byte) 0 [phi:myprintf::@35->myprintf::@1#2] -- vbuz1=vbuc1 
    lda #0
    sta.z bTrailing
    // [79] phi (word) myprintf::w#10 = (word) myprintf::w#21 [phi:myprintf::@35->myprintf::@1#3] -- register_copy 
    // [79] phi (byte) myprintf::bArg#10 = (byte) myprintf::bArg#1 [phi:myprintf::@35->myprintf::@1#4] -- register_copy 
    // [79] phi (byte) myprintf::bLen#10 = (byte) myprintf::bLen#10 [phi:myprintf::@35->myprintf::@1#5] -- register_copy 
    // [79] phi (byte) myprintf::bFormat#10 = (byte) 1 [phi:myprintf::@35->myprintf::@1#6] -- vbuz1=vbuc1 
    lda #1
    sta.z bFormat
    // [79] phi (byte*) myprintf::str#10 = (byte*) myprintf::str#10 [phi:myprintf::@35->myprintf::@1#7] -- register_copy 
    jmp b1
    // myprintf::@34
  b34:
    // [149] (word~) myprintf::w#52 ← (word) myprintf::w2#8 -- vwuz1=vwuz2 
    lda.z w2
    sta.z w
    lda.z w2+1
    sta.z w+1
    jmp b35_from_b34
    // myprintf::@33
  b33:
    // [150] (word~) myprintf::w#51 ← (word) myprintf::w1#7 -- vwuz1=vwuz2 
    lda.z w1
    sta.z w
    lda.z w1+1
    sta.z w+1
    jmp b35_from_b33
    // myprintf::@32
  b32:
    // [151] if((byte) myprintf::b#1<(byte) $41) goto myprintf::@36 -- vbuz1_lt_vbuc1_then_la1 
    lda.z b
    cmp #$41
    bcc b36_from_b32
    jmp b46
    // myprintf::@46
  b46:
    // [152] if((byte) myprintf::b#1>=(byte) $5a+(byte) 1) goto myprintf::@36 -- vbuz1_ge_vbuc1_then_la1 
    lda.z b
    cmp #$5a+1
    bcs b36_from_b46
    jmp b41
    // myprintf::@41
  b41:
    // [153] (byte) myprintf::b#6 ← (byte) myprintf::b#1 + (byte) $20 -- vbuz1=vbuz1_plus_vbuc1 
    lax.z b
    axs #-[$20]
    stx.z b
    // [154] phi from myprintf::@32 myprintf::@41 to myprintf::@36 [phi:myprintf::@32/myprintf::@41->myprintf::@36]
  b36_from_b32:
  b36_from_b41:
    // [154] phi (byte) myprintf::b#25 = (byte) myprintf::b#1 [phi:myprintf::@32/myprintf::@41->myprintf::@36#0] -- register_copy 
    jmp b36
    // [154] phi from myprintf::@46 to myprintf::@36 [phi:myprintf::@46->myprintf::@36]
  b36_from_b46:
    jmp b36
    // myprintf::@36
  b36:
    // [155] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#10) ← (byte) myprintf::b#25 -- pbuc1_derefidx_vbuz1=vbuz2 
    // swap 0x41 / 0x61 when in lower case mode
    lda.z b
    ldy.z bLen
    sta strTemp,y
    // [156] (byte) myprintf::bLen#7 ← ++ (byte) myprintf::bLen#10 -- vbuz1=_inc_vbuz1 
    inc.z bLen
    // [157] (byte*) myprintf::str#0 ← ++ (byte*) myprintf::str#10 -- pbuz1=_inc_pbuz1 
    inc.z str
    bne !+
    inc.z str+1
  !:
    jmp b1_from_b36
    buf6: .fill 6, 0
}
  // utoa
// utoa(word zeropage($26) value, byte* zeropage($28) dst)
utoa: {
    .label _16 = $53
    .label _17 = $54
    .label value = $26
    .label dst = $28
    .label dst_3 = $55
    .label bStarted = $25
    jmp b13
    // utoa::@13
  b13:
    // [159] if((word) utoa::value#4>=(word) $2710) goto utoa::@5 -- vwuz1_ge_vwuc1_then_la1 
    lda.z value+1
    cmp #>$2710
    bcc !+
    bne b5
    lda.z value
    cmp #<$2710
    bcs b5
  !:
    // [160] phi from utoa::@13 to utoa::@1 [phi:utoa::@13->utoa::@1]
  b1_from_b13:
    // [160] phi (byte*) utoa::dst#16 = (const byte[6]) myprintf::buf6#0 [phi:utoa::@13->utoa::@1#0] -- pbuz1=pbuc1 
    lda #<myprintf.buf6
    sta.z dst
    lda #>myprintf.buf6
    sta.z dst+1
    // [160] phi (word) utoa::value#6 = (word) utoa::value#4 [phi:utoa::@13->utoa::@1#1] -- register_copy 
    // [160] phi (byte) utoa::bStarted#5 = (byte) 0 [phi:utoa::@13->utoa::@1#2] -- vbuz1=vbuc1 
    lda #0
    sta.z bStarted
    jmp b1
    // utoa::@1
  b1:
    // [161] if((byte) utoa::bStarted#5==(byte) 1) goto utoa::@6 -- vbuz1_eq_vbuc1_then_la1 
    lda #1
    cmp.z bStarted
    beq b6
    jmp b14
    // utoa::@14
  b14:
    // [162] if((word) utoa::value#6>=(word) $3e8) goto utoa::@6 -- vwuz1_ge_vwuc1_then_la1 
    lda.z value+1
    cmp #>$3e8
    bcc !+
    bne b6
    lda.z value
    cmp #<$3e8
    bcs b6
  !:
    // [163] phi from utoa::@14 to utoa::@2 [phi:utoa::@14->utoa::@2]
  b2_from_b14:
    // [163] phi (byte*) utoa::dst#10 = (byte*) utoa::dst#16 [phi:utoa::@14->utoa::@2#0] -- register_copy 
    // [163] phi (word) utoa::value#11 = (word) utoa::value#6 [phi:utoa::@14->utoa::@2#1] -- register_copy 
    // [163] phi (byte) utoa::bStarted#6 = (byte) utoa::bStarted#5 [phi:utoa::@14->utoa::@2#2] -- register_copy 
    jmp b2
    // utoa::@2
  b2:
    // [164] if((byte) utoa::bStarted#6==(byte) 1) goto utoa::@7 -- vbuz1_eq_vbuc1_then_la1 
    lda #1
    cmp.z bStarted
    beq b7
    jmp b15
    // utoa::@15
  b15:
    // [165] if((word) utoa::value#11>=(byte) $64) goto utoa::@7 -- vwuz1_ge_vwuc1_then_la1 
    lda.z value+1
    cmp #>$64
    bcc !+
    bne b7
    lda.z value
    cmp #<$64
    bcs b7
  !:
    // [166] phi from utoa::@15 to utoa::@3 [phi:utoa::@15->utoa::@3]
  b3_from_b15:
    // [166] phi (byte*) utoa::dst#13 = (byte*) utoa::dst#10 [phi:utoa::@15->utoa::@3#0] -- register_copy 
    // [166] phi (word) utoa::value#10 = (word) utoa::value#11 [phi:utoa::@15->utoa::@3#1] -- register_copy 
    // [166] phi (byte) utoa::bStarted#7 = (byte) utoa::bStarted#6 [phi:utoa::@15->utoa::@3#2] -- register_copy 
    jmp b3
    // utoa::@3
  b3:
    // [167] if((byte) utoa::bStarted#7==(byte) 1) goto utoa::@8 -- vbuz1_eq_vbuc1_then_la1 
    lda #1
    cmp.z bStarted
    beq b8
    jmp b16
    // utoa::@16
  b16:
    // [168] if((word) utoa::value#10>=(byte) $a) goto utoa::@8 -- vwuz1_ge_vwuc1_then_la1 
    lda.z value+1
    cmp #>$a
    bcc !+
    bne b8
    lda.z value
    cmp #<$a
    bcs b8
  !:
    // [169] phi from utoa::@12 utoa::@16 to utoa::@4 [phi:utoa::@12/utoa::@16->utoa::@4]
  b4_from_b12:
  b4_from_b16:
    // [169] phi (byte*) utoa::dst#12 = (byte*) utoa::dst#4 [phi:utoa::@12/utoa::@16->utoa::@4#0] -- register_copy 
    // [169] phi (word) utoa::value#12 = (word) utoa::value#3 [phi:utoa::@12/utoa::@16->utoa::@4#1] -- register_copy 
    jmp b4
    // utoa::@4
  b4:
    // [170] (byte~) utoa::$16 ← (byte)(word) utoa::value#12 -- vbuz1=_byte_vwuz2 
    lda.z value
    sta.z _16
    // [171] (byte~) utoa::$17 ← (byte) '0' + (byte~) utoa::$16 -- vbuz1=vbuc1_plus_vbuz2 
    lax.z _16
    axs #-['0']
    stx.z _17
    // [172] *((byte*) utoa::dst#12) ← (byte~) utoa::$17 -- _deref_pbuz1=vbuz2 
    lda.z _17
    ldy #0
    sta (dst),y
    // [173] (byte*) utoa::dst#3 ← ++ (byte*) utoa::dst#12 -- pbuz1=_inc_pbuz2 
    lda.z dst
    clc
    adc #1
    sta.z dst_3
    lda.z dst+1
    adc #0
    sta.z dst_3+1
    // [174] *((byte*) utoa::dst#3) ← (byte) 0 -- _deref_pbuz1=vbuc1 
    lda #0
    ldy #0
    sta (dst_3),y
    jmp breturn
    // utoa::@return
  breturn:
    // [175] return 
    rts
    // utoa::@8
  b8:
    // [176] (byte*) append::dst#3 ← (byte*) utoa::dst#13 -- pbuz1=pbuz2 
    lda.z dst
    sta.z append.dst
    lda.z dst+1
    sta.z append.dst+1
    // [177] (word) append::value#4 ← (word) utoa::value#10 -- vwuz1=vwuz2 
    lda.z value
    sta.z append.value
    lda.z value+1
    sta.z append.value+1
    // [178] call append 
    // [198] phi from utoa::@8 to append [phi:utoa::@8->append]
  append_from_b8:
    // [198] phi (word) append::sub#6 = (byte) $a [phi:utoa::@8->append#0] -- vwuz1=vbuc1 
    lda #<$a
    sta.z append.sub
    lda #>$a
    sta.z append.sub+1
    // [198] phi (word) append::value#8 = (word) append::value#4 [phi:utoa::@8->append#1] -- register_copy 
    // [198] phi (byte*) append::dst#4 = (byte*) append::dst#3 [phi:utoa::@8->append#2] -- register_copy 
    jsr append
    // [179] (word) append::return#10 ← (word) append::value#5 -- vwuz1=vwuz2 
    lda.z append.value
    sta.z append.return_10
    lda.z append.value+1
    sta.z append.return_10+1
    jmp b12
    // utoa::@12
  b12:
    // [180] (word) utoa::value#3 ← (word) append::return#10 -- vwuz1=vwuz2 
    lda.z append.return_10
    sta.z value
    lda.z append.return_10+1
    sta.z value+1
    // [181] (byte*) utoa::dst#4 ← ++ (byte*) utoa::dst#13 -- pbuz1=_inc_pbuz1 
    inc.z dst
    bne !+
    inc.z dst+1
  !:
    jmp b4_from_b12
    // utoa::@7
  b7:
    // [182] (byte*) append::dst#2 ← (byte*) utoa::dst#10 -- pbuz1=pbuz2 
    lda.z dst
    sta.z append.dst
    lda.z dst+1
    sta.z append.dst+1
    // [183] (word) append::value#3 ← (word) utoa::value#11 -- vwuz1=vwuz2 
    lda.z value
    sta.z append.value
    lda.z value+1
    sta.z append.value+1
    // [184] call append 
    // [198] phi from utoa::@7 to append [phi:utoa::@7->append]
  append_from_b7:
    // [198] phi (word) append::sub#6 = (byte) $64 [phi:utoa::@7->append#0] -- vwuz1=vbuc1 
    lda #<$64
    sta.z append.sub
    lda #>$64
    sta.z append.sub+1
    // [198] phi (word) append::value#8 = (word) append::value#3 [phi:utoa::@7->append#1] -- register_copy 
    // [198] phi (byte*) append::dst#4 = (byte*) append::dst#2 [phi:utoa::@7->append#2] -- register_copy 
    jsr append
    // [185] (word) append::return#4 ← (word) append::value#5 -- vwuz1=vwuz2 
    lda.z append.value
    sta.z append.return_4
    lda.z append.value+1
    sta.z append.return_4+1
    jmp b11
    // utoa::@11
  b11:
    // [186] (word) utoa::value#2 ← (word) append::return#4 -- vwuz1=vwuz2 
    lda.z append.return_4
    sta.z value
    lda.z append.return_4+1
    sta.z value+1
    // [187] (byte*) utoa::dst#2 ← ++ (byte*) utoa::dst#10 -- pbuz1=_inc_pbuz1 
    inc.z dst
    bne !+
    inc.z dst+1
  !:
    // [166] phi from utoa::@11 to utoa::@3 [phi:utoa::@11->utoa::@3]
  b3_from_b11:
    // [166] phi (byte*) utoa::dst#13 = (byte*) utoa::dst#2 [phi:utoa::@11->utoa::@3#0] -- register_copy 
    // [166] phi (word) utoa::value#10 = (word) utoa::value#2 [phi:utoa::@11->utoa::@3#1] -- register_copy 
    // [166] phi (byte) utoa::bStarted#7 = (byte) 1 [phi:utoa::@11->utoa::@3#2] -- vbuz1=vbuc1 
    lda #1
    sta.z bStarted
    jmp b3
    // utoa::@6
  b6:
    // [188] (byte*) append::dst#1 ← (byte*) utoa::dst#16 -- pbuz1=pbuz2 
    lda.z dst
    sta.z append.dst
    lda.z dst+1
    sta.z append.dst+1
    // [189] (word) append::value#2 ← (word) utoa::value#6 -- vwuz1=vwuz2 
    lda.z value
    sta.z append.value
    lda.z value+1
    sta.z append.value+1
    // [190] call append 
    // [198] phi from utoa::@6 to append [phi:utoa::@6->append]
  append_from_b6:
    // [198] phi (word) append::sub#6 = (word) $3e8 [phi:utoa::@6->append#0] -- vwuz1=vwuc1 
    lda #<$3e8
    sta.z append.sub
    lda #>$3e8
    sta.z append.sub+1
    // [198] phi (word) append::value#8 = (word) append::value#2 [phi:utoa::@6->append#1] -- register_copy 
    // [198] phi (byte*) append::dst#4 = (byte*) append::dst#1 [phi:utoa::@6->append#2] -- register_copy 
    jsr append
    // [191] (word) append::return#3 ← (word) append::value#5 -- vwuz1=vwuz2 
    lda.z append.value
    sta.z append.return_3
    lda.z append.value+1
    sta.z append.return_3+1
    jmp b10
    // utoa::@10
  b10:
    // [192] (word) utoa::value#1 ← (word) append::return#3 -- vwuz1=vwuz2 
    lda.z append.return_3
    sta.z value
    lda.z append.return_3+1
    sta.z value+1
    // [193] (byte*) utoa::dst#1 ← ++ (byte*) utoa::dst#16 -- pbuz1=_inc_pbuz1 
    inc.z dst
    bne !+
    inc.z dst+1
  !:
    // [163] phi from utoa::@10 to utoa::@2 [phi:utoa::@10->utoa::@2]
  b2_from_b10:
    // [163] phi (byte*) utoa::dst#10 = (byte*) utoa::dst#1 [phi:utoa::@10->utoa::@2#0] -- register_copy 
    // [163] phi (word) utoa::value#11 = (word) utoa::value#1 [phi:utoa::@10->utoa::@2#1] -- register_copy 
    // [163] phi (byte) utoa::bStarted#6 = (byte) 1 [phi:utoa::@10->utoa::@2#2] -- vbuz1=vbuc1 
    lda #1
    sta.z bStarted
    jmp b2
    // utoa::@5
  b5:
    // [194] (word) append::value#1 ← (word) utoa::value#4 -- vwuz1=vwuz2 
    lda.z value
    sta.z append.value
    lda.z value+1
    sta.z append.value+1
    // [195] call append 
    // [198] phi from utoa::@5 to append [phi:utoa::@5->append]
  append_from_b5:
    // [198] phi (word) append::sub#6 = (word) $2710 [phi:utoa::@5->append#0] -- vwuz1=vwuc1 
    lda #<$2710
    sta.z append.sub
    lda #>$2710
    sta.z append.sub+1
    // [198] phi (word) append::value#8 = (word) append::value#1 [phi:utoa::@5->append#1] -- register_copy 
    // [198] phi (byte*) append::dst#4 = (const byte[6]) myprintf::buf6#0 [phi:utoa::@5->append#2] -- pbuz1=pbuc1 
    lda #<myprintf.buf6
    sta.z append.dst
    lda #>myprintf.buf6
    sta.z append.dst+1
    jsr append
    // [196] (word) append::return#2 ← (word) append::value#5 -- vwuz1=vwuz2 
    lda.z append.value
    sta.z append.return
    lda.z append.value+1
    sta.z append.return+1
    jmp b9
    // utoa::@9
  b9:
    // [197] (word) utoa::value#0 ← (word) append::return#2 -- vwuz1=vwuz2 
    lda.z append.return
    sta.z value
    lda.z append.return+1
    sta.z value+1
    // [160] phi from utoa::@9 to utoa::@1 [phi:utoa::@9->utoa::@1]
  b1_from_b9:
    // [160] phi (byte*) utoa::dst#16 = ++(const byte[6]) myprintf::buf6#0 [phi:utoa::@9->utoa::@1#0] -- pbuz1=pbuc1 
    lda #<myprintf.buf6+1
    sta.z dst
    lda #>myprintf.buf6+1
    sta.z dst+1
    // [160] phi (word) utoa::value#6 = (word) utoa::value#0 [phi:utoa::@9->utoa::@1#1] -- register_copy 
    // [160] phi (byte) utoa::bStarted#5 = (byte) 1 [phi:utoa::@9->utoa::@1#2] -- vbuz1=vbuc1 
    lda #1
    sta.z bStarted
    jmp b1
}
  // append
// simple 'utoa' without using multiply or divide
// append(byte* zeropage($2a) dst, word zeropage($2e) value, word zeropage($2c) sub)
append: {
    .label value = $2e
    .label return = $5d
    .label dst = $2a
    .label return_3 = $5b
    .label return_4 = $59
    .label return_10 = $57
    .label sub = $2c
    // [199] *((byte*) append::dst#4) ← (byte) '0' -- _deref_pbuz1=vbuc1 
    lda #'0'
    ldy #0
    sta (dst),y
    // [200] phi from append append::@2 to append::@1 [phi:append/append::@2->append::@1]
  b1_from_append:
  b1_from_b2:
    // [200] phi (word) append::value#5 = (word) append::value#8 [phi:append/append::@2->append::@1#0] -- register_copy 
    jmp b1
    // append::@1
  b1:
    // [201] if((word) append::value#5>=(word) append::sub#6) goto append::@2 -- vwuz1_ge_vwuz2_then_la1 
    lda.z sub+1
    cmp.z value+1
    bne !+
    lda.z sub
    cmp.z value
    beq b2
  !:
    bcc b2
    jmp breturn
    // append::@return
  breturn:
    // [202] return 
    rts
    // append::@2
  b2:
    // [203] *((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
    // [204] (word) append::value#0 ← (word) append::value#5 - (word) append::sub#6 -- vwuz1=vwuz1_minus_vwuz2 
    lda.z value
    sec
    sbc.z sub
    sta.z value
    lda.z value+1
    sbc.z sub+1
    sta.z value+1
    jmp b1_from_b2
}
  // div10
// div10(word zeropage($61) val)
div10: {
    .label _0 = $5f
    .label _2 = $63
    .label _3 = $67
    .label _4 = $6b
    .label val = $61
    .label val_1 = $65
    .label val_2 = $69
    .label val_3 = $6d
    .label return = $6f
    .label val_4 = $36
    .label return_2 = $38
    // [205] (word~) div10::$0 ← (word) div10::val#4 >> (byte) 1 -- vwuz1=vwuz2_ror_1 
    lda.z val_4+1
    lsr
    sta.z _0+1
    lda.z val_4
    ror
    sta.z _0
    // [206] (word) div10::val#0 ← (word~) div10::$0 + (byte) 1 -- vwuz1=vwuz2_plus_1 
    lda.z _0
    clc
    adc #1
    sta.z val
    lda.z _0+1
    adc #0
    sta.z val+1
    // [207] (word~) div10::$2 ← (word) div10::val#0 << (byte) 1 -- vwuz1=vwuz2_rol_1 
    lda.z val
    asl
    sta.z _2
    lda.z val+1
    rol
    sta.z _2+1
    // [208] (word) div10::val#1 ← (word) div10::val#0 + (word~) div10::$2 -- vwuz1=vwuz2_plus_vwuz3 
    lda.z val
    clc
    adc.z _2
    sta.z val_1
    lda.z val+1
    adc.z _2+1
    sta.z val_1+1
    // [209] (word~) div10::$3 ← (word) div10::val#1 >> (byte) 4 -- vwuz1=vwuz2_ror_4 
    lda.z val_1+1
    lsr
    sta.z _3+1
    lda.z val_1
    ror
    sta.z _3
    lsr.z _3+1
    ror.z _3
    lsr.z _3+1
    ror.z _3
    lsr.z _3+1
    ror.z _3
    // [210] (word) div10::val#2 ← (word) div10::val#1 + (word~) div10::$3 -- vwuz1=vwuz2_plus_vwuz3 
    lda.z val_1
    clc
    adc.z _3
    sta.z val_2
    lda.z val_1+1
    adc.z _3+1
    sta.z val_2+1
    // [211] (word~) div10::$4 ← (word) div10::val#2 >> (byte) 8 -- vwuz1=vwuz2_ror_8 
    lda.z val_2+1
    sta.z _4
    lda #0
    sta.z _4+1
    // [212] (word) div10::val#3 ← (word) div10::val#2 + (word~) div10::$4 -- vwuz1=vwuz2_plus_vwuz3 
    lda.z val_2
    clc
    adc.z _4
    sta.z val_3
    lda.z val_2+1
    adc.z _4+1
    sta.z val_3+1
    // [213] (word) div10::return#0 ← (word) div10::val#3 >> (byte) 4 -- vwuz1=vwuz2_ror_4 
    lda.z val_3+1
    lsr
    sta.z return+1
    lda.z val_3
    ror
    sta.z return
    lsr.z return+1
    ror.z return
    lsr.z return+1
    ror.z return
    lsr.z return+1
    ror.z return
    jmp breturn
    // div10::@return
  breturn:
    // [214] 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] if(*((const byte*) zp1#0)<(byte) $a) goto main::@2 [ main::u#15 main::v#12 ] ( main:2 [ main::u#15 main::v#12 ] ) always clobbers reg byte a 
Statement [8] *((const byte*) zp1#0) ← (byte) 0 [ main::v#12 ] ( main:2 [ main::v#12 ] ) always clobbers reg byte a 
Statement [10] if(*((const byte*) zp1#0)<(byte) $a) goto main::@8 [ main::u#17 main::v#10 ] ( main:2 [ main::u#17 main::v#10 ] ) always clobbers reg byte a 
Statement [12] *((const byte*) TIMEHI#0) ← (byte) 0 [ main::u#17 main::v#10 ] ( main:2 [ main::u#17 main::v#10 ] ) always clobbers reg byte a 
Statement [13] *((const byte*) TIMELO#0) ← (byte) 0 [ main::u#17 main::v#10 ] ( main:2 [ main::u#17 main::v#10 ] ) always clobbers reg byte a 
Statement [14] *((const byte*) zp2#0) ← (byte) 0 [ main::u#17 main::v#10 ] ( main:2 [ main::u#17 main::v#10 ] ) always clobbers reg byte a 
Statement [16] if(*((const byte*) zp2#0)<(byte) $c8) goto main::@10 [ main::u#17 main::v#13 ] ( main:2 [ main::u#17 main::v#13 ] ) always clobbers reg byte a 
Statement [17] (word~) main::$12 ← (word)*((const byte*) TIMEHI#0) [ main::u#17 main::v#13 main::$12 ] ( main:2 [ main::u#17 main::v#13 main::$12 ] ) always clobbers reg byte a 
Statement [18] (word~) main::$13 ← (word~) main::$12 << (byte) 8 [ main::u#17 main::v#13 main::$13 ] ( main:2 [ main::u#17 main::v#13 main::$13 ] ) always clobbers reg byte a 
Statement [19] (word~) main::$14 ← (word)*((const byte*) TIMELO#0) [ main::u#17 main::v#13 main::$13 main::$14 ] ( main:2 [ main::u#17 main::v#13 main::$13 main::$14 ] ) always clobbers reg byte a 
Statement [20] (word) myprintf::w3#1 ← (word~) main::$13 + (word~) main::$14 [ main::u#17 main::v#13 myprintf::w3#1 ] ( main:2 [ main::u#17 main::v#13 myprintf::w3#1 ] ) always clobbers reg byte a 
Statement [21] (word) myprintf::w1#1 ← (word) main::u#17 [ main::u#17 main::v#13 myprintf::w3#1 myprintf::w1#1 ] ( main:2 [ main::u#17 main::v#13 myprintf::w3#1 myprintf::w1#1 ] ) always clobbers reg byte a 
Statement [22] (word) myprintf::w2#1 ← (word) main::v#13 [ main::u#17 main::v#13 myprintf::w3#1 myprintf::w1#1 myprintf::w2#1 ] ( main:2 [ main::u#17 main::v#13 myprintf::w3#1 myprintf::w1#1 myprintf::w2#1 ] ) always clobbers reg byte a 
Statement [26] (word) main::u#4 ← (word) main::u#17 - (word) $4d2 [ main::u#4 main::v#13 ] ( main:2 [ main::u#4 main::v#13 ] ) always clobbers reg byte a 
Statement [28] (word) div10::val#4 ← (word) main::u#17 [ main::u#17 div10::val#4 ] ( main:2 [ main::u#17 div10::val#4 ] ) always clobbers reg byte a 
Statement [30] (word) div10::return#2 ← (word) div10::return#0 [ main::u#17 div10::return#2 ] ( main:2 [ main::u#17 div10::return#2 ] ) always clobbers reg byte a 
Statement [31] (word) main::v#2 ← (word) div10::return#2 [ main::u#17 main::v#2 ] ( main:2 [ main::u#17 main::v#2 ] ) always clobbers reg byte a 
Statement [33] *((const byte*) TIMEHI#0) ← (byte) 0 [ main::u#15 main::v#12 ] ( main:2 [ main::u#15 main::v#12 ] ) always clobbers reg byte a 
Statement [34] *((const byte*) TIMELO#0) ← (byte) 0 [ main::u#15 main::v#12 ] ( main:2 [ main::u#15 main::v#12 ] ) always clobbers reg byte a 
Statement [35] *((const byte*) zp2#0) ← (byte) 0 [ main::u#15 main::v#12 ] ( main:2 [ main::u#15 main::v#12 ] ) always clobbers reg byte a 
Statement [37] if(*((const byte*) zp2#0)<(byte) $c8) goto main::@5 [ main::u#15 main::v#11 ] ( main:2 [ main::u#15 main::v#11 ] ) always clobbers reg byte a 
Statement [38] (word~) main::$3 ← (word)*((const byte*) TIMEHI#0) [ main::u#15 main::v#11 main::$3 ] ( main:2 [ main::u#15 main::v#11 main::$3 ] ) always clobbers reg byte a 
Statement [39] (word~) main::$4 ← (word~) main::$3 << (byte) 8 [ main::u#15 main::v#11 main::$4 ] ( main:2 [ main::u#15 main::v#11 main::$4 ] ) always clobbers reg byte a 
Statement [40] (word~) main::$5 ← (word)*((const byte*) TIMELO#0) [ main::u#15 main::v#11 main::$4 main::$5 ] ( main:2 [ main::u#15 main::v#11 main::$4 main::$5 ] ) always clobbers reg byte a 
Statement [41] (word) myprintf::w3#0 ← (word~) main::$4 + (word~) main::$5 [ main::u#15 main::v#11 myprintf::w3#0 ] ( main:2 [ main::u#15 main::v#11 myprintf::w3#0 ] ) always clobbers reg byte a 
Statement [42] (word) myprintf::w1#0 ← (word) main::u#15 [ main::u#15 main::v#11 myprintf::w3#0 myprintf::w1#0 ] ( main:2 [ main::u#15 main::v#11 myprintf::w3#0 myprintf::w1#0 ] ) always clobbers reg byte a 
Statement [43] (word) myprintf::w2#0 ← (word) main::v#11 [ main::u#15 main::v#11 myprintf::w3#0 myprintf::w1#0 myprintf::w2#0 ] ( main:2 [ main::u#15 main::v#11 myprintf::w3#0 myprintf::w1#0 myprintf::w2#0 ] ) always clobbers reg byte a 
Statement [47] (word) main::u#3 ← (word) main::u#15 - (word) $4d2 [ main::u#3 main::v#11 ] ( main:2 [ main::u#3 main::v#11 ] ) always clobbers reg byte a 
Statement [49] (word) div16u::dividend#0 ← (word) main::u#15 [ main::u#15 div16u::dividend#0 ] ( main:2 [ main::u#15 div16u::dividend#0 ] ) always clobbers reg byte a 
Statement [51] (word) div16u::return#2 ← (word) div16u::return#0 [ main::u#15 div16u::return#2 ] ( main:2 [ main::u#15 div16u::return#2 ] ) always clobbers reg byte a 
Statement [52] (word) main::v#1 ← (word) div16u::return#2 [ main::u#15 main::v#1 ] ( main:2 [ main::u#15 main::v#1 ] ) always clobbers reg byte a 
Statement [54] (word) divr16u::dividend#1 ← (word) div16u::dividend#0 [ divr16u::dividend#1 ] ( main:2::div16u:50 [ main::u#15 divr16u::dividend#1 ] ) always clobbers reg byte a 
Statement [56] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 ] ( main:2::div16u:50 [ main::u#15 divr16u::return#2 ] ) always clobbers reg byte a 
Statement [57] (word) div16u::return#0 ← (word) divr16u::return#2 [ div16u::return#0 ] ( main:2::div16u:50 [ main::u#15 div16u::return#0 ] ) always clobbers reg byte a 
Statement [62] (byte~) divr16u::$1 ← > (word) divr16u::dividend#2 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::div16u:50::divr16u:55 [ main::u#15 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:14 [ divr16u::i#2 divr16u::i#1 ]
Statement [65] (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:50::divr16u:55 [ main::u#15 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) always clobbers reg byte a 
Statement [69] 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:50::divr16u:55 [ main::u#15 divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ) always clobbers reg byte a 
Statement [71] (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:50::divr16u:55 [ main::u#15 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) 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 [80] if(*((byte*) myprintf::str#10)!=(byte) 0) goto myprintf::@2 [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bFormat#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 ] ( main:2::myprintf:23 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bFormat#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 ] main:2::myprintf:44 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bFormat#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 ] ) always clobbers reg byte a reg byte y 
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:23 [ myprintf::bFormat#10 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:23 [ myprintf::bFormat#10 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:33 [ myprintf::bLen#36 myprintf::bLen#12 myprintf::bLen#10 myprintf::bLen#28 myprintf::bLen#7 myprintf::bLen#3 myprintf::bLen#13 myprintf::bLen#14 myprintf::bLen#1 myprintf::bLen#4 myprintf::bLen#5 myprintf::bLen#6 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:33 [ myprintf::bLen#36 myprintf::bLen#12 myprintf::bLen#10 myprintf::bLen#28 myprintf::bLen#7 myprintf::bLen#3 myprintf::bLen#13 myprintf::bLen#14 myprintf::bLen#1 myprintf::bLen#4 myprintf::bLen#5 myprintf::bLen#6 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:24 [ myprintf::bArg#10 myprintf::bArg#1 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:24 [ myprintf::bArg#10 myprintf::bArg#1 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:27 [ myprintf::bTrailing#11 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:27 [ myprintf::bTrailing#11 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:32 [ myprintf::bDigits#12 myprintf::bDigits#16 myprintf::bDigits#28 myprintf::bDigits#1 myprintf::bDigits#18 myprintf::bDigits#10 myprintf::bDigits#2 myprintf::bDigits#3 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:32 [ myprintf::bDigits#12 myprintf::bDigits#16 myprintf::bDigits#28 myprintf::bDigits#1 myprintf::bDigits#18 myprintf::bDigits#10 myprintf::bDigits#2 myprintf::bDigits#3 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:28 [ myprintf::bLeadZero#11 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:28 [ myprintf::bLeadZero#11 ]
Statement [81] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#10) ← (byte) 0 [ ] ( main:2::myprintf:23 [ main::u#17 main::v#13 ] main:2::myprintf:44 [ main::u#15 main::v#11 ] ) always clobbers reg byte a 
Statement [83] (byte) myprintf::b#1 ← *((byte*) myprintf::str#10) [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bFormat#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::b#1 ] ( main:2::myprintf:23 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bFormat#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::b#1 ] main:2::myprintf:44 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bFormat#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::b#1 ] ) always clobbers reg byte a reg byte y 
Statement [94] (byte~) myprintf::$18 ← (byte)(word) myprintf::w#10 [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::$18 ] ( main:2::myprintf:23 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::$18 ] main:2::myprintf:44 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::$18 ] ) always clobbers reg byte a 
Statement [95] (byte~) myprintf::$19 ← (byte~) myprintf::$18 >> (byte) 4 [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::$19 ] ( main:2::myprintf:23 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::$19 ] main:2::myprintf:44 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::$19 ] ) always clobbers reg byte a 
Statement [100] (byte~) myprintf::$25 ← (byte~) myprintf::$24 + (byte) myprintf::b#15 [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::$25 ] ( main:2::myprintf:23 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::$25 ] main:2::myprintf:44 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::$25 ] ) always clobbers reg byte a 
Statement [103] (byte~) myprintf::$26 ← (byte)(word) myprintf::w#10 [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::bLen#11 myprintf::$26 ] ( main:2::myprintf:23 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::bLen#11 myprintf::$26 ] main:2::myprintf:44 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::bLen#11 myprintf::$26 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:78 [ myprintf::bLen#11 ]
Statement [108] (byte~) myprintf::$32 ← (byte~) myprintf::$31 + (byte) myprintf::b#16 [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::bLen#11 myprintf::$32 ] ( main:2::myprintf:23 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::bLen#11 myprintf::$32 ] main:2::myprintf:44 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::bLen#11 myprintf::$32 ] ) always clobbers reg byte a 
Statement [111] (word) utoa::value#4 ← (word) myprintf::w#10 [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::value#4 ] ( main:2::myprintf:23 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::value#4 ] main:2::myprintf:44 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::value#4 ] ) always clobbers reg byte a 
Statement [114] if(*((const byte[6]) myprintf::buf6#0 + (byte) myprintf::b#17)!=(byte) 0) goto myprintf::@15 [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::b#17 ] ( main:2::myprintf:23 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::b#17 ] main:2::myprintf:44 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::b#17 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:31 [ myprintf::b#17 myprintf::b#5 ]
Statement [126] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#14) ← (byte) ' ' [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bLeadZero#11 myprintf::bLen#14 myprintf::bDigits#10 myprintf::b#17 ] ( main:2::myprintf:23 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bLeadZero#11 myprintf::bLen#14 myprintf::bDigits#10 myprintf::b#17 ] main:2::myprintf:44 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bLeadZero#11 myprintf::bLen#14 myprintf::bDigits#10 myprintf::b#17 ] ) always clobbers reg byte a 
Statement [129] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#13) ← *((const byte[6]) myprintf::buf6#0 + (byte) myprintf::digit#3) [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bLeadZero#11 myprintf::bLen#13 myprintf::bDigits#18 myprintf::b#17 myprintf::digit#3 ] ( main:2::myprintf:23 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bLeadZero#11 myprintf::bLen#13 myprintf::bDigits#18 myprintf::b#17 myprintf::digit#3 ] main:2::myprintf:44 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bLeadZero#11 myprintf::bLen#13 myprintf::bDigits#18 myprintf::b#17 myprintf::digit#3 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:34 [ myprintf::digit#3 myprintf::digit#2 ]
Statement [139] (byte~) myprintf::$50 ← (byte)(word) myprintf::w#10 [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::$50 ] ( main:2::myprintf:23 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::$50 ] main:2::myprintf:44 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::$50 ] ) always clobbers reg byte a 
Statement [146] (word~) myprintf::w#53 ← (word) myprintf::w3#8 [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#53 ] ( main:2::myprintf:23 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#53 ] main:2::myprintf:44 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#53 ] ) always clobbers reg byte a 
Statement [149] (word~) myprintf::w#52 ← (word) myprintf::w2#8 [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#52 ] ( main:2::myprintf:23 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#52 ] main:2::myprintf:44 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#52 ] ) always clobbers reg byte a 
Statement [150] (word~) myprintf::w#51 ← (word) myprintf::w1#7 [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#51 ] ( main:2::myprintf:23 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#51 ] main:2::myprintf:44 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#51 ] ) always clobbers reg byte a 
Statement [153] (byte) myprintf::b#6 ← (byte) myprintf::b#1 + (byte) $20 [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bFormat#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::b#6 ] ( main:2::myprintf:23 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bFormat#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::b#6 ] main:2::myprintf:44 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bFormat#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::b#6 ] ) always clobbers reg byte a 
Statement [159] if((word) utoa::value#4>=(word) $2710) goto utoa::@5 [ utoa::value#4 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::value#4 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::value#4 ] ) always clobbers reg byte a 
Statement [162] if((word) utoa::value#6>=(word) $3e8) goto utoa::@6 [ utoa::bStarted#5 utoa::value#6 utoa::dst#16 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::bStarted#5 utoa::value#6 utoa::dst#16 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 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:37 [ utoa::bStarted#7 utoa::bStarted#6 utoa::bStarted#5 ]
Statement [165] if((word) utoa::value#11>=(byte) $64) goto utoa::@7 [ utoa::bStarted#6 utoa::value#11 utoa::dst#10 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::bStarted#6 utoa::value#11 utoa::dst#10 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::bStarted#6 utoa::value#11 utoa::dst#10 ] ) always clobbers reg byte a 
Statement [168] if((word) utoa::value#10>=(byte) $a) goto utoa::@8 [ utoa::value#10 utoa::dst#13 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::value#10 utoa::dst#13 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::value#10 utoa::dst#13 ] ) always clobbers reg byte a 
Statement [170] (byte~) utoa::$16 ← (byte)(word) utoa::value#12 [ utoa::dst#12 utoa::$16 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#12 utoa::$16 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#12 utoa::$16 ] ) always clobbers reg byte a 
Statement [172] *((byte*) utoa::dst#12) ← (byte~) utoa::$17 [ utoa::dst#12 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#12 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#12 ] ) always clobbers reg byte y 
Statement [173] (byte*) utoa::dst#3 ← ++ (byte*) utoa::dst#12 [ utoa::dst#3 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#3 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#3 ] ) always clobbers reg byte a 
Statement [174] *((byte*) utoa::dst#3) ← (byte) 0 [ ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 ] ) always clobbers reg byte a reg byte y 
Statement [176] (byte*) append::dst#3 ← (byte*) utoa::dst#13 [ utoa::value#10 utoa::dst#13 append::dst#3 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::value#10 utoa::dst#13 append::dst#3 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::value#10 utoa::dst#13 append::dst#3 ] ) always clobbers reg byte a 
Statement [177] (word) append::value#4 ← (word) utoa::value#10 [ utoa::dst#13 append::dst#3 append::value#4 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#13 append::dst#3 append::value#4 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#13 append::dst#3 append::value#4 ] ) always clobbers reg byte a 
Statement [179] (word) append::return#10 ← (word) append::value#5 [ utoa::dst#13 append::return#10 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#13 append::return#10 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#13 append::return#10 ] ) always clobbers reg byte a 
Statement [180] (word) utoa::value#3 ← (word) append::return#10 [ utoa::dst#13 utoa::value#3 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#13 utoa::value#3 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#13 utoa::value#3 ] ) always clobbers reg byte a 
Statement [182] (byte*) append::dst#2 ← (byte*) utoa::dst#10 [ utoa::value#11 utoa::dst#10 append::dst#2 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::value#11 utoa::dst#10 append::dst#2 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::value#11 utoa::dst#10 append::dst#2 ] ) always clobbers reg byte a 
Statement [183] (word) append::value#3 ← (word) utoa::value#11 [ utoa::dst#10 append::dst#2 append::value#3 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#10 append::dst#2 append::value#3 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#10 append::dst#2 append::value#3 ] ) always clobbers reg byte a 
Statement [185] (word) append::return#4 ← (word) append::value#5 [ utoa::dst#10 append::return#4 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#10 append::return#4 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#10 append::return#4 ] ) always clobbers reg byte a 
Statement [186] (word) utoa::value#2 ← (word) append::return#4 [ utoa::dst#10 utoa::value#2 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#10 utoa::value#2 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#10 utoa::value#2 ] ) always clobbers reg byte a 
Statement [188] (byte*) append::dst#1 ← (byte*) utoa::dst#16 [ utoa::value#6 utoa::dst#16 append::dst#1 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::value#6 utoa::dst#16 append::dst#1 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::value#6 utoa::dst#16 append::dst#1 ] ) always clobbers reg byte a 
Statement [189] (word) append::value#2 ← (word) utoa::value#6 [ utoa::dst#16 append::dst#1 append::value#2 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#16 append::dst#1 append::value#2 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#16 append::dst#1 append::value#2 ] ) always clobbers reg byte a 
Statement [191] (word) append::return#3 ← (word) append::value#5 [ utoa::dst#16 append::return#3 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#16 append::return#3 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#16 append::return#3 ] ) always clobbers reg byte a 
Statement [192] (word) utoa::value#1 ← (word) append::return#3 [ utoa::dst#16 utoa::value#1 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#16 utoa::value#1 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#16 utoa::value#1 ] ) always clobbers reg byte a 
Statement [194] (word) append::value#1 ← (word) utoa::value#4 [ append::value#1 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 append::value#1 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 append::value#1 ] ) always clobbers reg byte a 
Statement [196] (word) append::return#2 ← (word) append::value#5 [ append::return#2 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 append::return#2 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 append::return#2 ] ) always clobbers reg byte a 
Statement [197] (word) utoa::value#0 ← (word) append::return#2 [ utoa::value#0 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::value#0 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::value#0 ] ) always clobbers reg byte a 
Statement [199] *((byte*) append::dst#4) ← (byte) '0' [ append::dst#4 append::value#8 append::sub#6 ] ( main:2::myprintf:23::utoa:112::append:178 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#13 append::dst#4 append::value#8 append::sub#6 ] main:2::myprintf:44::utoa:112::append:178 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#13 append::dst#4 append::value#8 append::sub#6 ] main:2::myprintf:23::utoa:112::append:184 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#10 append::dst#4 append::value#8 append::sub#6 ] main:2::myprintf:44::utoa:112::append:184 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#10 append::dst#4 append::value#8 append::sub#6 ] main:2::myprintf:23::utoa:112::append:190 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#16 append::dst#4 append::value#8 append::sub#6 ] main:2::myprintf:44::utoa:112::append:190 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#16 append::dst#4 append::value#8 append::sub#6 ] main:2::myprintf:23::utoa:112::append:195 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 append::dst#4 append::value#8 append::sub#6 ] main:2::myprintf:44::utoa:112::append:195 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 append::dst#4 append::value#8 append::sub#6 ] ) always clobbers reg byte a reg byte y 
Statement [201] if((word) append::value#5>=(word) append::sub#6) goto append::@2 [ append::value#5 append::dst#4 append::sub#6 ] ( main:2::myprintf:23::utoa:112::append:178 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#13 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:44::utoa:112::append:178 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#13 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:23::utoa:112::append:184 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#10 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:44::utoa:112::append:184 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#10 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:23::utoa:112::append:190 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#16 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:44::utoa:112::append:190 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#16 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:23::utoa:112::append:195 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:44::utoa:112::append:195 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 append::value#5 append::dst#4 append::sub#6 ] ) always clobbers reg byte a 
Statement [203] *((byte*) append::dst#4) ← ++ *((byte*) append::dst#4) [ append::value#5 append::dst#4 append::sub#6 ] ( main:2::myprintf:23::utoa:112::append:178 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#13 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:44::utoa:112::append:178 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#13 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:23::utoa:112::append:184 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#10 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:44::utoa:112::append:184 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#10 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:23::utoa:112::append:190 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#16 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:44::utoa:112::append:190 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#16 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:23::utoa:112::append:195 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:44::utoa:112::append:195 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 append::value#5 append::dst#4 append::sub#6 ] ) always clobbers reg byte a reg byte y 
Statement [204] (word) append::value#0 ← (word) append::value#5 - (word) append::sub#6 [ append::dst#4 append::sub#6 append::value#0 ] ( main:2::myprintf:23::utoa:112::append:178 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#13 append::dst#4 append::sub#6 append::value#0 ] main:2::myprintf:44::utoa:112::append:178 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#13 append::dst#4 append::sub#6 append::value#0 ] main:2::myprintf:23::utoa:112::append:184 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#10 append::dst#4 append::sub#6 append::value#0 ] main:2::myprintf:44::utoa:112::append:184 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#10 append::dst#4 append::sub#6 append::value#0 ] main:2::myprintf:23::utoa:112::append:190 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#16 append::dst#4 append::sub#6 append::value#0 ] main:2::myprintf:44::utoa:112::append:190 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#16 append::dst#4 append::sub#6 append::value#0 ] main:2::myprintf:23::utoa:112::append:195 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 append::dst#4 append::sub#6 append::value#0 ] main:2::myprintf:44::utoa:112::append:195 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 append::dst#4 append::sub#6 append::value#0 ] ) always clobbers reg byte a 
Statement [205] (word~) div10::$0 ← (word) div10::val#4 >> (byte) 1 [ div10::$0 ] ( main:2::div10:29 [ main::u#17 div10::$0 ] ) always clobbers reg byte a 
Statement [206] (word) div10::val#0 ← (word~) div10::$0 + (byte) 1 [ div10::val#0 ] ( main:2::div10:29 [ main::u#17 div10::val#0 ] ) always clobbers reg byte a 
Statement [207] (word~) div10::$2 ← (word) div10::val#0 << (byte) 1 [ div10::val#0 div10::$2 ] ( main:2::div10:29 [ main::u#17 div10::val#0 div10::$2 ] ) always clobbers reg byte a 
Statement [208] (word) div10::val#1 ← (word) div10::val#0 + (word~) div10::$2 [ div10::val#1 ] ( main:2::div10:29 [ main::u#17 div10::val#1 ] ) always clobbers reg byte a 
Statement [209] (word~) div10::$3 ← (word) div10::val#1 >> (byte) 4 [ div10::val#1 div10::$3 ] ( main:2::div10:29 [ main::u#17 div10::val#1 div10::$3 ] ) always clobbers reg byte a 
Statement [210] (word) div10::val#2 ← (word) div10::val#1 + (word~) div10::$3 [ div10::val#2 ] ( main:2::div10:29 [ main::u#17 div10::val#2 ] ) always clobbers reg byte a 
Statement [211] (word~) div10::$4 ← (word) div10::val#2 >> (byte) 8 [ div10::val#2 div10::$4 ] ( main:2::div10:29 [ main::u#17 div10::val#2 div10::$4 ] ) always clobbers reg byte a 
Statement [212] (word) div10::val#3 ← (word) div10::val#2 + (word~) div10::$4 [ div10::val#3 ] ( main:2::div10:29 [ main::u#17 div10::val#3 ] ) always clobbers reg byte a 
Statement [213] (word) div10::return#0 ← (word) div10::val#3 >> (byte) 4 [ div10::return#0 ] ( main:2::div10:29 [ main::u#17 div10::return#0 ] ) 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] if(*((const byte*) zp1#0)<(byte) $a) goto main::@2 [ main::u#15 main::v#12 ] ( main:2 [ main::u#15 main::v#12 ] ) always clobbers reg byte a 
Statement [8] *((const byte*) zp1#0) ← (byte) 0 [ main::v#12 ] ( main:2 [ main::v#12 ] ) always clobbers reg byte a 
Statement [10] if(*((const byte*) zp1#0)<(byte) $a) goto main::@8 [ main::u#17 main::v#10 ] ( main:2 [ main::u#17 main::v#10 ] ) always clobbers reg byte a 
Statement [12] *((const byte*) TIMEHI#0) ← (byte) 0 [ main::u#17 main::v#10 ] ( main:2 [ main::u#17 main::v#10 ] ) always clobbers reg byte a 
Statement [13] *((const byte*) TIMELO#0) ← (byte) 0 [ main::u#17 main::v#10 ] ( main:2 [ main::u#17 main::v#10 ] ) always clobbers reg byte a 
Statement [14] *((const byte*) zp2#0) ← (byte) 0 [ main::u#17 main::v#10 ] ( main:2 [ main::u#17 main::v#10 ] ) always clobbers reg byte a 
Statement [16] if(*((const byte*) zp2#0)<(byte) $c8) goto main::@10 [ main::u#17 main::v#13 ] ( main:2 [ main::u#17 main::v#13 ] ) always clobbers reg byte a 
Statement [17] (word~) main::$12 ← (word)*((const byte*) TIMEHI#0) [ main::u#17 main::v#13 main::$12 ] ( main:2 [ main::u#17 main::v#13 main::$12 ] ) always clobbers reg byte a 
Statement [18] (word~) main::$13 ← (word~) main::$12 << (byte) 8 [ main::u#17 main::v#13 main::$13 ] ( main:2 [ main::u#17 main::v#13 main::$13 ] ) always clobbers reg byte a 
Statement [19] (word~) main::$14 ← (word)*((const byte*) TIMELO#0) [ main::u#17 main::v#13 main::$13 main::$14 ] ( main:2 [ main::u#17 main::v#13 main::$13 main::$14 ] ) always clobbers reg byte a 
Statement [20] (word) myprintf::w3#1 ← (word~) main::$13 + (word~) main::$14 [ main::u#17 main::v#13 myprintf::w3#1 ] ( main:2 [ main::u#17 main::v#13 myprintf::w3#1 ] ) always clobbers reg byte a 
Statement [21] (word) myprintf::w1#1 ← (word) main::u#17 [ main::u#17 main::v#13 myprintf::w3#1 myprintf::w1#1 ] ( main:2 [ main::u#17 main::v#13 myprintf::w3#1 myprintf::w1#1 ] ) always clobbers reg byte a 
Statement [22] (word) myprintf::w2#1 ← (word) main::v#13 [ main::u#17 main::v#13 myprintf::w3#1 myprintf::w1#1 myprintf::w2#1 ] ( main:2 [ main::u#17 main::v#13 myprintf::w3#1 myprintf::w1#1 myprintf::w2#1 ] ) always clobbers reg byte a 
Statement [26] (word) main::u#4 ← (word) main::u#17 - (word) $4d2 [ main::u#4 main::v#13 ] ( main:2 [ main::u#4 main::v#13 ] ) always clobbers reg byte a 
Statement [28] (word) div10::val#4 ← (word) main::u#17 [ main::u#17 div10::val#4 ] ( main:2 [ main::u#17 div10::val#4 ] ) always clobbers reg byte a 
Statement [30] (word) div10::return#2 ← (word) div10::return#0 [ main::u#17 div10::return#2 ] ( main:2 [ main::u#17 div10::return#2 ] ) always clobbers reg byte a 
Statement [31] (word) main::v#2 ← (word) div10::return#2 [ main::u#17 main::v#2 ] ( main:2 [ main::u#17 main::v#2 ] ) always clobbers reg byte a 
Statement [33] *((const byte*) TIMEHI#0) ← (byte) 0 [ main::u#15 main::v#12 ] ( main:2 [ main::u#15 main::v#12 ] ) always clobbers reg byte a 
Statement [34] *((const byte*) TIMELO#0) ← (byte) 0 [ main::u#15 main::v#12 ] ( main:2 [ main::u#15 main::v#12 ] ) always clobbers reg byte a 
Statement [35] *((const byte*) zp2#0) ← (byte) 0 [ main::u#15 main::v#12 ] ( main:2 [ main::u#15 main::v#12 ] ) always clobbers reg byte a 
Statement [37] if(*((const byte*) zp2#0)<(byte) $c8) goto main::@5 [ main::u#15 main::v#11 ] ( main:2 [ main::u#15 main::v#11 ] ) always clobbers reg byte a 
Statement [38] (word~) main::$3 ← (word)*((const byte*) TIMEHI#0) [ main::u#15 main::v#11 main::$3 ] ( main:2 [ main::u#15 main::v#11 main::$3 ] ) always clobbers reg byte a 
Statement [39] (word~) main::$4 ← (word~) main::$3 << (byte) 8 [ main::u#15 main::v#11 main::$4 ] ( main:2 [ main::u#15 main::v#11 main::$4 ] ) always clobbers reg byte a 
Statement [40] (word~) main::$5 ← (word)*((const byte*) TIMELO#0) [ main::u#15 main::v#11 main::$4 main::$5 ] ( main:2 [ main::u#15 main::v#11 main::$4 main::$5 ] ) always clobbers reg byte a 
Statement [41] (word) myprintf::w3#0 ← (word~) main::$4 + (word~) main::$5 [ main::u#15 main::v#11 myprintf::w3#0 ] ( main:2 [ main::u#15 main::v#11 myprintf::w3#0 ] ) always clobbers reg byte a 
Statement [42] (word) myprintf::w1#0 ← (word) main::u#15 [ main::u#15 main::v#11 myprintf::w3#0 myprintf::w1#0 ] ( main:2 [ main::u#15 main::v#11 myprintf::w3#0 myprintf::w1#0 ] ) always clobbers reg byte a 
Statement [43] (word) myprintf::w2#0 ← (word) main::v#11 [ main::u#15 main::v#11 myprintf::w3#0 myprintf::w1#0 myprintf::w2#0 ] ( main:2 [ main::u#15 main::v#11 myprintf::w3#0 myprintf::w1#0 myprintf::w2#0 ] ) always clobbers reg byte a 
Statement [47] (word) main::u#3 ← (word) main::u#15 - (word) $4d2 [ main::u#3 main::v#11 ] ( main:2 [ main::u#3 main::v#11 ] ) always clobbers reg byte a 
Statement [49] (word) div16u::dividend#0 ← (word) main::u#15 [ main::u#15 div16u::dividend#0 ] ( main:2 [ main::u#15 div16u::dividend#0 ] ) always clobbers reg byte a 
Statement [51] (word) div16u::return#2 ← (word) div16u::return#0 [ main::u#15 div16u::return#2 ] ( main:2 [ main::u#15 div16u::return#2 ] ) always clobbers reg byte a 
Statement [52] (word) main::v#1 ← (word) div16u::return#2 [ main::u#15 main::v#1 ] ( main:2 [ main::u#15 main::v#1 ] ) always clobbers reg byte a 
Statement [54] (word) divr16u::dividend#1 ← (word) div16u::dividend#0 [ divr16u::dividend#1 ] ( main:2::div16u:50 [ main::u#15 divr16u::dividend#1 ] ) always clobbers reg byte a 
Statement [56] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 ] ( main:2::div16u:50 [ main::u#15 divr16u::return#2 ] ) always clobbers reg byte a 
Statement [57] (word) div16u::return#0 ← (word) divr16u::return#2 [ div16u::return#0 ] ( main:2::div16u:50 [ main::u#15 div16u::return#0 ] ) always clobbers reg byte a 
Statement [62] (byte~) divr16u::$1 ← > (word) divr16u::dividend#2 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::div16u:50::divr16u:55 [ main::u#15 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) always clobbers reg byte a 
Statement [65] (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:50::divr16u:55 [ main::u#15 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) always clobbers reg byte a 
Statement [69] 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:50::divr16u:55 [ main::u#15 divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ) always clobbers reg byte a 
Statement [71] (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:50::divr16u:55 [ main::u#15 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) 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 [80] if(*((byte*) myprintf::str#10)!=(byte) 0) goto myprintf::@2 [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bFormat#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 ] ( main:2::myprintf:23 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bFormat#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 ] main:2::myprintf:44 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bFormat#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 ] ) always clobbers reg byte a reg byte y 
Statement [81] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#10) ← (byte) 0 [ ] ( main:2::myprintf:23 [ main::u#17 main::v#13 ] main:2::myprintf:44 [ main::u#15 main::v#11 ] ) always clobbers reg byte a 
Statement [83] (byte) myprintf::b#1 ← *((byte*) myprintf::str#10) [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bFormat#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::b#1 ] ( main:2::myprintf:23 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bFormat#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::b#1 ] main:2::myprintf:44 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bFormat#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::b#1 ] ) always clobbers reg byte a reg byte y 
Statement [94] (byte~) myprintf::$18 ← (byte)(word) myprintf::w#10 [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::$18 ] ( main:2::myprintf:23 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::$18 ] main:2::myprintf:44 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::$18 ] ) always clobbers reg byte a 
Statement [95] (byte~) myprintf::$19 ← (byte~) myprintf::$18 >> (byte) 4 [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::$19 ] ( main:2::myprintf:23 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::$19 ] main:2::myprintf:44 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::$19 ] ) always clobbers reg byte a 
Statement [100] (byte~) myprintf::$25 ← (byte~) myprintf::$24 + (byte) myprintf::b#15 [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::$25 ] ( main:2::myprintf:23 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::$25 ] main:2::myprintf:44 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::$25 ] ) always clobbers reg byte a 
Statement [103] (byte~) myprintf::$26 ← (byte)(word) myprintf::w#10 [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::bLen#11 myprintf::$26 ] ( main:2::myprintf:23 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::bLen#11 myprintf::$26 ] main:2::myprintf:44 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::bLen#11 myprintf::$26 ] ) always clobbers reg byte a 
Statement [108] (byte~) myprintf::$32 ← (byte~) myprintf::$31 + (byte) myprintf::b#16 [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::bLen#11 myprintf::$32 ] ( main:2::myprintf:23 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::bLen#11 myprintf::$32 ] main:2::myprintf:44 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::bLen#11 myprintf::$32 ] ) always clobbers reg byte a 
Statement [111] (word) utoa::value#4 ← (word) myprintf::w#10 [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::value#4 ] ( main:2::myprintf:23 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::value#4 ] main:2::myprintf:44 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::value#4 ] ) always clobbers reg byte a 
Statement [114] if(*((const byte[6]) myprintf::buf6#0 + (byte) myprintf::b#17)!=(byte) 0) goto myprintf::@15 [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::b#17 ] ( main:2::myprintf:23 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::b#17 ] main:2::myprintf:44 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::b#17 ] ) always clobbers reg byte a 
Statement [126] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#14) ← (byte) ' ' [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bLeadZero#11 myprintf::bLen#14 myprintf::bDigits#10 myprintf::b#17 ] ( main:2::myprintf:23 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bLeadZero#11 myprintf::bLen#14 myprintf::bDigits#10 myprintf::b#17 ] main:2::myprintf:44 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bLeadZero#11 myprintf::bLen#14 myprintf::bDigits#10 myprintf::b#17 ] ) always clobbers reg byte a 
Statement [129] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#13) ← *((const byte[6]) myprintf::buf6#0 + (byte) myprintf::digit#3) [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bLeadZero#11 myprintf::bLen#13 myprintf::bDigits#18 myprintf::b#17 myprintf::digit#3 ] ( main:2::myprintf:23 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bLeadZero#11 myprintf::bLen#13 myprintf::bDigits#18 myprintf::b#17 myprintf::digit#3 ] main:2::myprintf:44 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bLeadZero#11 myprintf::bLen#13 myprintf::bDigits#18 myprintf::b#17 myprintf::digit#3 ] ) always clobbers reg byte a 
Statement [139] (byte~) myprintf::$50 ← (byte)(word) myprintf::w#10 [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::$50 ] ( main:2::myprintf:23 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::$50 ] main:2::myprintf:44 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::$50 ] ) always clobbers reg byte a 
Statement [146] (word~) myprintf::w#53 ← (word) myprintf::w3#8 [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#53 ] ( main:2::myprintf:23 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#53 ] main:2::myprintf:44 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#53 ] ) always clobbers reg byte a 
Statement [149] (word~) myprintf::w#52 ← (word) myprintf::w2#8 [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#52 ] ( main:2::myprintf:23 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#52 ] main:2::myprintf:44 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#52 ] ) always clobbers reg byte a 
Statement [150] (word~) myprintf::w#51 ← (word) myprintf::w1#7 [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#51 ] ( main:2::myprintf:23 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#51 ] main:2::myprintf:44 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#51 ] ) always clobbers reg byte a 
Statement [153] (byte) myprintf::b#6 ← (byte) myprintf::b#1 + (byte) $20 [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bFormat#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::b#6 ] ( main:2::myprintf:23 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bFormat#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::b#6 ] main:2::myprintf:44 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bFormat#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 myprintf::b#6 ] ) always clobbers reg byte a 
Statement [159] if((word) utoa::value#4>=(word) $2710) goto utoa::@5 [ utoa::value#4 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::value#4 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::value#4 ] ) always clobbers reg byte a 
Statement [162] if((word) utoa::value#6>=(word) $3e8) goto utoa::@6 [ utoa::bStarted#5 utoa::value#6 utoa::dst#16 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::bStarted#5 utoa::value#6 utoa::dst#16 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::bStarted#5 utoa::value#6 utoa::dst#16 ] ) always clobbers reg byte a 
Statement [165] if((word) utoa::value#11>=(byte) $64) goto utoa::@7 [ utoa::bStarted#6 utoa::value#11 utoa::dst#10 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::bStarted#6 utoa::value#11 utoa::dst#10 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::bStarted#6 utoa::value#11 utoa::dst#10 ] ) always clobbers reg byte a 
Statement [168] if((word) utoa::value#10>=(byte) $a) goto utoa::@8 [ utoa::value#10 utoa::dst#13 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::value#10 utoa::dst#13 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::value#10 utoa::dst#13 ] ) always clobbers reg byte a 
Statement [170] (byte~) utoa::$16 ← (byte)(word) utoa::value#12 [ utoa::dst#12 utoa::$16 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#12 utoa::$16 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#12 utoa::$16 ] ) always clobbers reg byte a 
Statement [172] *((byte*) utoa::dst#12) ← (byte~) utoa::$17 [ utoa::dst#12 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#12 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#12 ] ) always clobbers reg byte y 
Statement [173] (byte*) utoa::dst#3 ← ++ (byte*) utoa::dst#12 [ utoa::dst#3 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#3 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#3 ] ) always clobbers reg byte a 
Statement [174] *((byte*) utoa::dst#3) ← (byte) 0 [ ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 ] ) always clobbers reg byte a reg byte y 
Statement [176] (byte*) append::dst#3 ← (byte*) utoa::dst#13 [ utoa::value#10 utoa::dst#13 append::dst#3 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::value#10 utoa::dst#13 append::dst#3 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::value#10 utoa::dst#13 append::dst#3 ] ) always clobbers reg byte a 
Statement [177] (word) append::value#4 ← (word) utoa::value#10 [ utoa::dst#13 append::dst#3 append::value#4 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#13 append::dst#3 append::value#4 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#13 append::dst#3 append::value#4 ] ) always clobbers reg byte a 
Statement [179] (word) append::return#10 ← (word) append::value#5 [ utoa::dst#13 append::return#10 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#13 append::return#10 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#13 append::return#10 ] ) always clobbers reg byte a 
Statement [180] (word) utoa::value#3 ← (word) append::return#10 [ utoa::dst#13 utoa::value#3 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#13 utoa::value#3 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#13 utoa::value#3 ] ) always clobbers reg byte a 
Statement [182] (byte*) append::dst#2 ← (byte*) utoa::dst#10 [ utoa::value#11 utoa::dst#10 append::dst#2 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::value#11 utoa::dst#10 append::dst#2 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::value#11 utoa::dst#10 append::dst#2 ] ) always clobbers reg byte a 
Statement [183] (word) append::value#3 ← (word) utoa::value#11 [ utoa::dst#10 append::dst#2 append::value#3 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#10 append::dst#2 append::value#3 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#10 append::dst#2 append::value#3 ] ) always clobbers reg byte a 
Statement [185] (word) append::return#4 ← (word) append::value#5 [ utoa::dst#10 append::return#4 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#10 append::return#4 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#10 append::return#4 ] ) always clobbers reg byte a 
Statement [186] (word) utoa::value#2 ← (word) append::return#4 [ utoa::dst#10 utoa::value#2 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#10 utoa::value#2 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#10 utoa::value#2 ] ) always clobbers reg byte a 
Statement [188] (byte*) append::dst#1 ← (byte*) utoa::dst#16 [ utoa::value#6 utoa::dst#16 append::dst#1 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::value#6 utoa::dst#16 append::dst#1 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::value#6 utoa::dst#16 append::dst#1 ] ) always clobbers reg byte a 
Statement [189] (word) append::value#2 ← (word) utoa::value#6 [ utoa::dst#16 append::dst#1 append::value#2 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#16 append::dst#1 append::value#2 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#16 append::dst#1 append::value#2 ] ) always clobbers reg byte a 
Statement [191] (word) append::return#3 ← (word) append::value#5 [ utoa::dst#16 append::return#3 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#16 append::return#3 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#16 append::return#3 ] ) always clobbers reg byte a 
Statement [192] (word) utoa::value#1 ← (word) append::return#3 [ utoa::dst#16 utoa::value#1 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#16 utoa::value#1 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#16 utoa::value#1 ] ) always clobbers reg byte a 
Statement [194] (word) append::value#1 ← (word) utoa::value#4 [ append::value#1 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 append::value#1 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 append::value#1 ] ) always clobbers reg byte a 
Statement [196] (word) append::return#2 ← (word) append::value#5 [ append::return#2 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 append::return#2 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 append::return#2 ] ) always clobbers reg byte a 
Statement [197] (word) utoa::value#0 ← (word) append::return#2 [ utoa::value#0 ] ( main:2::myprintf:23::utoa:112 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::value#0 ] main:2::myprintf:44::utoa:112 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::value#0 ] ) always clobbers reg byte a 
Statement [199] *((byte*) append::dst#4) ← (byte) '0' [ append::dst#4 append::value#8 append::sub#6 ] ( main:2::myprintf:23::utoa:112::append:178 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#13 append::dst#4 append::value#8 append::sub#6 ] main:2::myprintf:44::utoa:112::append:178 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#13 append::dst#4 append::value#8 append::sub#6 ] main:2::myprintf:23::utoa:112::append:184 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#10 append::dst#4 append::value#8 append::sub#6 ] main:2::myprintf:44::utoa:112::append:184 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#10 append::dst#4 append::value#8 append::sub#6 ] main:2::myprintf:23::utoa:112::append:190 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#16 append::dst#4 append::value#8 append::sub#6 ] main:2::myprintf:44::utoa:112::append:190 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#16 append::dst#4 append::value#8 append::sub#6 ] main:2::myprintf:23::utoa:112::append:195 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 append::dst#4 append::value#8 append::sub#6 ] main:2::myprintf:44::utoa:112::append:195 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 append::dst#4 append::value#8 append::sub#6 ] ) always clobbers reg byte a reg byte y 
Statement [201] if((word) append::value#5>=(word) append::sub#6) goto append::@2 [ append::value#5 append::dst#4 append::sub#6 ] ( main:2::myprintf:23::utoa:112::append:178 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#13 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:44::utoa:112::append:178 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#13 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:23::utoa:112::append:184 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#10 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:44::utoa:112::append:184 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#10 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:23::utoa:112::append:190 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#16 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:44::utoa:112::append:190 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#16 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:23::utoa:112::append:195 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:44::utoa:112::append:195 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 append::value#5 append::dst#4 append::sub#6 ] ) always clobbers reg byte a 
Statement [203] *((byte*) append::dst#4) ← ++ *((byte*) append::dst#4) [ append::value#5 append::dst#4 append::sub#6 ] ( main:2::myprintf:23::utoa:112::append:178 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#13 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:44::utoa:112::append:178 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#13 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:23::utoa:112::append:184 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#10 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:44::utoa:112::append:184 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#10 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:23::utoa:112::append:190 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#16 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:44::utoa:112::append:190 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#16 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:23::utoa:112::append:195 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 append::value#5 append::dst#4 append::sub#6 ] main:2::myprintf:44::utoa:112::append:195 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 append::value#5 append::dst#4 append::sub#6 ] ) always clobbers reg byte a reg byte y 
Statement [204] (word) append::value#0 ← (word) append::value#5 - (word) append::sub#6 [ append::dst#4 append::sub#6 append::value#0 ] ( main:2::myprintf:23::utoa:112::append:178 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#13 append::dst#4 append::sub#6 append::value#0 ] main:2::myprintf:44::utoa:112::append:178 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#13 append::dst#4 append::sub#6 append::value#0 ] main:2::myprintf:23::utoa:112::append:184 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#10 append::dst#4 append::sub#6 append::value#0 ] main:2::myprintf:44::utoa:112::append:184 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#10 append::dst#4 append::sub#6 append::value#0 ] main:2::myprintf:23::utoa:112::append:190 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#16 append::dst#4 append::sub#6 append::value#0 ] main:2::myprintf:44::utoa:112::append:190 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 utoa::dst#16 append::dst#4 append::sub#6 append::value#0 ] main:2::myprintf:23::utoa:112::append:195 [ main::u#17 main::v#13 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 append::dst#4 append::sub#6 append::value#0 ] main:2::myprintf:44::utoa:112::append:195 [ main::u#15 main::v#11 myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#10 myprintf::bTrailing#11 myprintf::bDigits#16 myprintf::bLeadZero#11 append::dst#4 append::sub#6 append::value#0 ] ) always clobbers reg byte a 
Statement [205] (word~) div10::$0 ← (word) div10::val#4 >> (byte) 1 [ div10::$0 ] ( main:2::div10:29 [ main::u#17 div10::$0 ] ) always clobbers reg byte a 
Statement [206] (word) div10::val#0 ← (word~) div10::$0 + (byte) 1 [ div10::val#0 ] ( main:2::div10:29 [ main::u#17 div10::val#0 ] ) always clobbers reg byte a 
Statement [207] (word~) div10::$2 ← (word) div10::val#0 << (byte) 1 [ div10::val#0 div10::$2 ] ( main:2::div10:29 [ main::u#17 div10::val#0 div10::$2 ] ) always clobbers reg byte a 
Statement [208] (word) div10::val#1 ← (word) div10::val#0 + (word~) div10::$2 [ div10::val#1 ] ( main:2::div10:29 [ main::u#17 div10::val#1 ] ) always clobbers reg byte a 
Statement [209] (word~) div10::$3 ← (word) div10::val#1 >> (byte) 4 [ div10::val#1 div10::$3 ] ( main:2::div10:29 [ main::u#17 div10::val#1 div10::$3 ] ) always clobbers reg byte a 
Statement [210] (word) div10::val#2 ← (word) div10::val#1 + (word~) div10::$3 [ div10::val#2 ] ( main:2::div10:29 [ main::u#17 div10::val#2 ] ) always clobbers reg byte a 
Statement [211] (word~) div10::$4 ← (word) div10::val#2 >> (byte) 8 [ div10::val#2 div10::$4 ] ( main:2::div10:29 [ main::u#17 div10::val#2 div10::$4 ] ) always clobbers reg byte a 
Statement [212] (word) div10::val#3 ← (word) div10::val#2 + (word~) div10::$4 [ div10::val#3 ] ( main:2::div10:29 [ main::u#17 div10::val#3 ] ) always clobbers reg byte a 
Statement [213] (word) div10::return#0 ← (word) div10::val#3 >> (byte) 4 [ div10::return#0 ] ( main:2::div10:29 [ main::u#17 div10::return#0 ] ) always clobbers reg byte a 
Potential registers zp ZP_WORD:2 [ main::u#15 main::u#3 ] : zp ZP_WORD:2 , 
Potential registers zp ZP_WORD:4 [ main::u#17 main::u#4 ] : zp ZP_WORD:4 , 
Potential registers zp ZP_WORD:6 [ main::v#10 main::v#12 main::v#11 main::v#13 main::v#2 main::v#1 ] : zp ZP_WORD:6 , 
Potential registers zp ZP_WORD:8 [ divr16u::rem#4 divr16u::rem#9 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] : zp ZP_WORD:8 , 
Potential registers zp ZP_WORD:10 [ divr16u::dividend#2 divr16u::dividend#1 divr16u::dividend#0 ] : zp ZP_WORD:10 , 
Potential registers zp ZP_WORD:12 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] : zp ZP_WORD:12 , 
Potential registers zp ZP_BYTE:14 [ divr16u::i#2 divr16u::i#1 ] : zp ZP_BYTE:14 , reg byte x , reg byte y , 
Potential registers zp ZP_WORD:15 [ myprintf::w1#7 myprintf::w1#1 myprintf::w1#0 ] : zp ZP_WORD:15 , 
Potential registers zp ZP_WORD:17 [ myprintf::w2#8 myprintf::w2#1 myprintf::w2#0 ] : zp ZP_WORD:17 , 
Potential registers zp ZP_WORD:19 [ myprintf::w3#8 myprintf::w3#1 myprintf::w3#0 ] : zp ZP_WORD:19 , 
Potential registers zp ZP_WORD:21 [ myprintf::str#10 myprintf::str#6 myprintf::str#0 ] : zp ZP_WORD:21 , 
Potential registers zp ZP_BYTE:23 [ myprintf::bFormat#10 ] : zp ZP_BYTE:23 , reg byte x , 
Potential registers zp ZP_BYTE:24 [ myprintf::bArg#10 myprintf::bArg#1 ] : zp ZP_BYTE:24 , reg byte x , 
Potential registers zp ZP_WORD:25 [ myprintf::w#10 myprintf::w#21 myprintf::w#51 myprintf::w#52 myprintf::w#53 ] : zp ZP_WORD:25 , 
Potential registers zp ZP_BYTE:27 [ myprintf::bTrailing#11 ] : zp ZP_BYTE:27 , reg byte x , 
Potential registers zp ZP_BYTE:28 [ myprintf::bLeadZero#11 ] : zp ZP_BYTE:28 , reg byte x , 
Potential registers zp ZP_BYTE:29 [ myprintf::$24 ] : zp ZP_BYTE:29 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:30 [ myprintf::$31 ] : zp ZP_BYTE:30 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:31 [ myprintf::b#17 myprintf::b#5 ] : zp ZP_BYTE:31 , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:32 [ myprintf::bDigits#12 myprintf::bDigits#16 myprintf::bDigits#28 myprintf::bDigits#1 myprintf::bDigits#18 myprintf::bDigits#10 myprintf::bDigits#2 myprintf::bDigits#3 ] : zp ZP_BYTE:32 , reg byte x , 
Potential registers zp ZP_BYTE:33 [ myprintf::bLen#36 myprintf::bLen#12 myprintf::bLen#10 myprintf::bLen#28 myprintf::bLen#7 myprintf::bLen#3 myprintf::bLen#13 myprintf::bLen#14 myprintf::bLen#1 myprintf::bLen#4 myprintf::bLen#5 myprintf::bLen#6 ] : zp ZP_BYTE:33 , reg byte x , 
Potential registers zp ZP_BYTE:34 [ myprintf::digit#3 myprintf::digit#2 ] : zp ZP_BYTE:34 , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:35 [ myprintf::$43 ] : zp ZP_BYTE:35 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:36 [ myprintf::b#25 myprintf::b#1 myprintf::b#6 ] : zp ZP_BYTE:36 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:37 [ utoa::bStarted#7 utoa::bStarted#6 utoa::bStarted#5 ] : zp ZP_BYTE:37 , reg byte x , reg byte y , 
Potential registers zp ZP_WORD:38 [ 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:38 , 
Potential registers zp ZP_WORD:40 [ utoa::dst#12 utoa::dst#4 utoa::dst#13 utoa::dst#2 utoa::dst#10 utoa::dst#16 utoa::dst#1 ] : zp ZP_WORD:40 , 
Potential registers zp ZP_WORD:42 [ append::dst#4 append::dst#1 append::dst#2 append::dst#3 ] : zp ZP_WORD:42 , 
Potential registers zp ZP_WORD:44 [ append::sub#6 ] : zp ZP_WORD:44 , 
Potential registers zp ZP_WORD:46 [ append::value#5 append::value#8 append::value#1 append::value#2 append::value#3 append::value#4 append::value#0 ] : zp ZP_WORD:46 , 
Potential registers zp ZP_WORD:48 [ main::$12 ] : zp ZP_WORD:48 , 
Potential registers zp ZP_WORD:50 [ main::$13 ] : zp ZP_WORD:50 , 
Potential registers zp ZP_WORD:52 [ main::$14 ] : zp ZP_WORD:52 , 
Potential registers zp ZP_WORD:54 [ div10::val#4 ] : zp ZP_WORD:54 , 
Potential registers zp ZP_WORD:56 [ div10::return#2 ] : zp ZP_WORD:56 , 
Potential registers zp ZP_WORD:58 [ main::$3 ] : zp ZP_WORD:58 , 
Potential registers zp ZP_WORD:60 [ main::$4 ] : zp ZP_WORD:60 , 
Potential registers zp ZP_WORD:62 [ main::$5 ] : zp ZP_WORD:62 , 
Potential registers zp ZP_WORD:64 [ div16u::dividend#0 ] : zp ZP_WORD:64 , 
Potential registers zp ZP_WORD:66 [ div16u::return#2 ] : zp ZP_WORD:66 , 
Potential registers zp ZP_WORD:68 [ divr16u::return#2 ] : zp ZP_WORD:68 , 
Potential registers zp ZP_WORD:70 [ div16u::return#0 ] : zp ZP_WORD:70 , 
Potential registers zp ZP_BYTE:72 [ divr16u::$1 ] : zp ZP_BYTE:72 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:73 [ divr16u::$2 ] : zp ZP_BYTE:73 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:74 [ myprintf::$18 ] : zp ZP_BYTE:74 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:75 [ myprintf::$19 ] : zp ZP_BYTE:75 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:76 [ myprintf::b#15 ] : zp ZP_BYTE:76 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:77 [ myprintf::$25 ] : zp ZP_BYTE:77 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:78 [ myprintf::bLen#11 ] : zp ZP_BYTE:78 , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:79 [ myprintf::$26 ] : zp ZP_BYTE:79 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:80 [ myprintf::b#16 ] : zp ZP_BYTE:80 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:81 [ myprintf::$32 ] : zp ZP_BYTE:81 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:82 [ myprintf::$50 ] : zp ZP_BYTE:82 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:83 [ utoa::$16 ] : zp ZP_BYTE:83 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:84 [ utoa::$17 ] : zp ZP_BYTE:84 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_WORD:85 [ utoa::dst#3 ] : zp ZP_WORD:85 , 
Potential registers zp ZP_WORD:87 [ append::return#10 ] : zp ZP_WORD:87 , 
Potential registers zp ZP_WORD:89 [ append::return#4 ] : zp ZP_WORD:89 , 
Potential registers zp ZP_WORD:91 [ append::return#3 ] : zp ZP_WORD:91 , 
Potential registers zp ZP_WORD:93 [ append::return#2 ] : zp ZP_WORD:93 , 
Potential registers zp ZP_WORD:95 [ div10::$0 ] : zp ZP_WORD:95 , 
Potential registers zp ZP_WORD:97 [ div10::val#0 ] : zp ZP_WORD:97 , 
Potential registers zp ZP_WORD:99 [ div10::$2 ] : zp ZP_WORD:99 , 
Potential registers zp ZP_WORD:101 [ div10::val#1 ] : zp ZP_WORD:101 , 
Potential registers zp ZP_WORD:103 [ div10::$3 ] : zp ZP_WORD:103 , 
Potential registers zp ZP_WORD:105 [ div10::val#2 ] : zp ZP_WORD:105 , 
Potential registers zp ZP_WORD:107 [ div10::$4 ] : zp ZP_WORD:107 , 
Potential registers zp ZP_WORD:109 [ div10::val#3 ] : zp ZP_WORD:109 , 
Potential registers zp ZP_WORD:111 [ div10::return#0 ] : zp ZP_WORD:111 , 

REGISTER UPLIFT SCOPES
Uplift Scope [myprintf] 8,975.37: zp ZP_BYTE:33 [ myprintf::bLen#36 myprintf::bLen#12 myprintf::bLen#10 myprintf::bLen#28 myprintf::bLen#7 myprintf::bLen#3 myprintf::bLen#13 myprintf::bLen#14 myprintf::bLen#1 myprintf::bLen#4 myprintf::bLen#5 myprintf::bLen#6 ] 7,530.39: zp ZP_BYTE:32 [ myprintf::bDigits#12 myprintf::bDigits#16 myprintf::bDigits#28 myprintf::bDigits#1 myprintf::bDigits#18 myprintf::bDigits#10 myprintf::bDigits#2 myprintf::bDigits#3 ] 3,003: zp ZP_BYTE:34 [ myprintf::digit#3 myprintf::digit#2 ] 2,250.32: zp ZP_BYTE:31 [ myprintf::b#17 myprintf::b#5 ] 1,001: zp ZP_BYTE:35 [ myprintf::$43 ] 825.31: zp ZP_WORD:25 [ myprintf::w#10 myprintf::w#21 myprintf::w#51 myprintf::w#52 myprintf::w#53 ] 631.25: zp ZP_BYTE:36 [ myprintf::b#25 myprintf::b#1 myprintf::b#6 ] 222.63: zp ZP_WORD:21 [ myprintf::str#10 myprintf::str#6 myprintf::str#0 ] 220.61: zp ZP_BYTE:24 [ myprintf::bArg#10 myprintf::bArg#1 ] 202: zp ZP_BYTE:74 [ myprintf::$18 ] 202: zp ZP_BYTE:75 [ myprintf::$19 ] 202: zp ZP_BYTE:77 [ myprintf::$25 ] 202: zp ZP_BYTE:79 [ myprintf::$26 ] 202: zp ZP_BYTE:81 [ myprintf::$32 ] 202: zp ZP_BYTE:82 [ myprintf::$50 ] 101: zp ZP_BYTE:29 [ myprintf::$24 ] 101: zp ZP_BYTE:30 [ myprintf::$31 ] 75.75: zp ZP_BYTE:76 [ myprintf::b#15 ] 75.75: zp ZP_BYTE:80 [ myprintf::b#16 ] 53.47: zp ZP_BYTE:23 [ myprintf::bFormat#10 ] 45.58: zp ZP_WORD:17 [ myprintf::w2#8 myprintf::w2#1 myprintf::w2#0 ] 37.88: zp ZP_BYTE:78 [ myprintf::bLen#11 ] 25.84: zp ZP_BYTE:28 [ myprintf::bLeadZero#11 ] 23.58: zp ZP_WORD:15 [ myprintf::w1#7 myprintf::w1#1 myprintf::w1#0 ] 16.24: zp ZP_WORD:19 [ myprintf::w3#8 myprintf::w3#1 myprintf::w3#0 ] 14.43: zp ZP_BYTE:27 [ myprintf::bTrailing#11 ] 
Uplift Scope [divr16u] 8,758.75: zp ZP_WORD:8 [ divr16u::rem#4 divr16u::rem#9 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] 3,353.75: zp ZP_WORD:12 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] 2,002: zp ZP_BYTE:72 [ divr16u::$1 ] 2,002: zp ZP_BYTE:73 [ divr16u::$2 ] 1,655.5: zp ZP_BYTE:14 [ divr16u::i#2 divr16u::i#1 ] 681.54: zp ZP_WORD:10 [ divr16u::dividend#2 divr16u::dividend#1 divr16u::dividend#0 ] 4: zp ZP_WORD:68 [ divr16u::return#2 ] 
Uplift Scope [append] 2,399.62: zp ZP_WORD:46 [ 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:42 [ append::dst#4 append::dst#1 append::dst#2 append::dst#3 ] 333.67: zp ZP_WORD:44 [ append::sub#6 ] 4: zp ZP_WORD:87 [ append::return#10 ] 4: zp ZP_WORD:89 [ append::return#4 ] 4: zp ZP_WORD:91 [ append::return#3 ] 4: zp ZP_WORD:93 [ append::return#2 ] 
Uplift Scope [main] 231.42: zp ZP_WORD:6 [ main::v#10 main::v#12 main::v#11 main::v#13 main::v#2 main::v#1 ] 22: zp ZP_WORD:48 [ main::$12 ] 22: zp ZP_WORD:52 [ main::$14 ] 22: zp ZP_WORD:58 [ main::$3 ] 22: zp ZP_WORD:62 [ main::$5 ] 17.38: zp ZP_WORD:2 [ main::u#15 main::u#3 ] 17.38: zp ZP_WORD:4 [ main::u#17 main::u#4 ] 11: zp ZP_WORD:50 [ main::$13 ] 11: zp ZP_WORD:60 [ main::$4 ] 
Uplift Scope [div10] 202: zp ZP_WORD:56 [ div10::return#2 ] 103: zp ZP_WORD:54 [ div10::val#4 ] 34.33: zp ZP_WORD:111 [ div10::return#0 ] 4: zp ZP_WORD:95 [ div10::$0 ] 4: zp ZP_WORD:99 [ div10::$2 ] 4: zp ZP_WORD:103 [ div10::$3 ] 4: zp ZP_WORD:107 [ div10::$4 ] 4: zp ZP_WORD:109 [ div10::val#3 ] 3: zp ZP_WORD:97 [ div10::val#0 ] 3: zp ZP_WORD:101 [ div10::val#1 ] 3: zp ZP_WORD:105 [ div10::val#2 ] 
Uplift Scope [div16u] 202: zp ZP_WORD:66 [ div16u::return#2 ] 103: zp ZP_WORD:64 [ div16u::dividend#0 ] 34.33: zp ZP_WORD:70 [ div16u::return#0 ] 
Uplift Scope [utoa] 57.17: zp ZP_WORD:38 [ 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:40 [ 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:37 [ utoa::bStarted#7 utoa::bStarted#6 utoa::bStarted#5 ] 4: zp ZP_BYTE:83 [ utoa::$16 ] 4: zp ZP_BYTE:84 [ utoa::$17 ] 4: zp ZP_WORD:85 [ utoa::dst#3 ] 
Uplift Scope [Print] 
Uplift Scope [] 

Uplifting [divr16u] best 469986 combination zp ZP_WORD:8 [ divr16u::rem#4 divr16u::rem#9 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp ZP_WORD:12 [ 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:10 [ divr16u::dividend#2 divr16u::dividend#1 divr16u::dividend#0 ] zp ZP_WORD:68 [ divr16u::return#2 ] 
Uplifting [append] best 469986 combination zp ZP_WORD:46 [ append::value#5 append::value#8 append::value#1 append::value#2 append::value#3 append::value#4 append::value#0 ] zp ZP_WORD:42 [ append::dst#4 append::dst#1 append::dst#2 append::dst#3 ] zp ZP_WORD:44 [ append::sub#6 ] zp ZP_WORD:87 [ append::return#10 ] zp ZP_WORD:89 [ append::return#4 ] zp ZP_WORD:91 [ append::return#3 ] zp ZP_WORD:93 [ append::return#2 ] 
Uplifting [main] best 469986 combination zp ZP_WORD:6 [ main::v#10 main::v#12 main::v#11 main::v#13 main::v#2 main::v#1 ] zp ZP_WORD:48 [ main::$12 ] zp ZP_WORD:52 [ main::$14 ] zp ZP_WORD:58 [ main::$3 ] zp ZP_WORD:62 [ main::$5 ] zp ZP_WORD:2 [ main::u#15 main::u#3 ] zp ZP_WORD:4 [ main::u#17 main::u#4 ] zp ZP_WORD:50 [ main::$13 ] zp ZP_WORD:60 [ main::$4 ] 
Uplifting [div10] best 469986 combination zp ZP_WORD:56 [ div10::return#2 ] zp ZP_WORD:54 [ div10::val#4 ] zp ZP_WORD:111 [ div10::return#0 ] zp ZP_WORD:95 [ div10::$0 ] zp ZP_WORD:99 [ div10::$2 ] zp ZP_WORD:103 [ div10::$3 ] zp ZP_WORD:107 [ div10::$4 ] zp ZP_WORD:109 [ div10::val#3 ] zp ZP_WORD:97 [ div10::val#0 ] zp ZP_WORD:101 [ div10::val#1 ] zp ZP_WORD:105 [ div10::val#2 ] 
Uplifting [div16u] best 469986 combination zp ZP_WORD:66 [ div16u::return#2 ] zp ZP_WORD:64 [ div16u::dividend#0 ] zp ZP_WORD:70 [ div16u::return#0 ] 
Uplifting [utoa] best 469955 combination zp ZP_WORD:38 [ 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:40 [ 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:85 [ utoa::dst#3 ] 
Uplifting [Print] best 469955 combination 
Uplifting [] best 469955 combination 
Attempting to uplift remaining variables inzp ZP_BYTE:33 [ myprintf::bLen#36 myprintf::bLen#12 myprintf::bLen#10 myprintf::bLen#28 myprintf::bLen#7 myprintf::bLen#3 myprintf::bLen#13 myprintf::bLen#14 myprintf::bLen#1 myprintf::bLen#4 myprintf::bLen#5 myprintf::bLen#6 ]
Uplifting [myprintf] best 469955 combination zp ZP_BYTE:33 [ myprintf::bLen#36 myprintf::bLen#12 myprintf::bLen#10 myprintf::bLen#28 myprintf::bLen#7 myprintf::bLen#3 myprintf::bLen#13 myprintf::bLen#14 myprintf::bLen#1 myprintf::bLen#4 myprintf::bLen#5 myprintf::bLen#6 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:32 [ myprintf::bDigits#12 myprintf::bDigits#16 myprintf::bDigits#28 myprintf::bDigits#1 myprintf::bDigits#18 myprintf::bDigits#10 myprintf::bDigits#2 myprintf::bDigits#3 ]
Uplifting [myprintf] best 469955 combination zp ZP_BYTE:32 [ myprintf::bDigits#12 myprintf::bDigits#16 myprintf::bDigits#28 myprintf::bDigits#1 myprintf::bDigits#18 myprintf::bDigits#10 myprintf::bDigits#2 myprintf::bDigits#3 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:34 [ myprintf::digit#3 myprintf::digit#2 ]
Uplifting [myprintf] best 457955 combination reg byte x [ myprintf::digit#3 myprintf::digit#2 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:31 [ myprintf::b#17 myprintf::b#5 ]
Uplifting [myprintf] best 457955 combination zp ZP_BYTE:31 [ myprintf::b#17 myprintf::b#5 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:35 [ myprintf::$43 ]
Uplifting [myprintf] best 448955 combination reg byte a [ myprintf::$43 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:36 [ myprintf::b#25 myprintf::b#1 myprintf::b#6 ]
Uplifting [myprintf] best 445205 combination reg byte x [ myprintf::b#25 myprintf::b#1 myprintf::b#6 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:24 [ myprintf::bArg#10 myprintf::bArg#1 ]
Uplifting [myprintf] best 445205 combination zp ZP_BYTE:24 [ myprintf::bArg#10 myprintf::bArg#1 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:74 [ myprintf::$18 ]
Uplifting [myprintf] best 444605 combination reg byte a [ myprintf::$18 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:75 [ myprintf::$19 ]
Uplifting [myprintf] best 444005 combination reg byte a [ myprintf::$19 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:77 [ myprintf::$25 ]
Uplifting [myprintf] best 443405 combination reg byte a [ myprintf::$25 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:79 [ myprintf::$26 ]
Uplifting [myprintf] best 442805 combination reg byte a [ myprintf::$26 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:81 [ myprintf::$32 ]
Uplifting [myprintf] best 442205 combination reg byte a [ myprintf::$32 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:82 [ myprintf::$50 ]
Uplifting [myprintf] best 441605 combination reg byte a [ myprintf::$50 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:29 [ myprintf::$24 ]
Uplifting [myprintf] best 440705 combination reg byte a [ myprintf::$24 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:30 [ myprintf::$31 ]
Uplifting [myprintf] best 439805 combination reg byte a [ myprintf::$31 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:76 [ myprintf::b#15 ]
Uplifting [myprintf] best 439705 combination reg byte x [ myprintf::b#15 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:80 [ myprintf::b#16 ]
Uplifting [myprintf] best 439605 combination reg byte x [ myprintf::b#16 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:23 [ myprintf::bFormat#10 ]
Uplifting [myprintf] best 439605 combination zp ZP_BYTE:23 [ myprintf::bFormat#10 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:78 [ myprintf::bLen#11 ]
Uplifting [myprintf] best 438705 combination reg byte y [ myprintf::bLen#11 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:28 [ myprintf::bLeadZero#11 ]
Uplifting [myprintf] best 438705 combination zp ZP_BYTE:28 [ myprintf::bLeadZero#11 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:27 [ myprintf::bTrailing#11 ]
Uplifting [myprintf] best 438705 combination zp ZP_BYTE:27 [ myprintf::bTrailing#11 ] 
Coalescing zero page register [ zp ZP_WORD:38 [ 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:46 [ 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 [ zp ZP_WORD:40 [ 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:42 [ append::dst#4 append::dst#1 append::dst#2 append::dst#3 ] ] - score: 3
Coalescing zero page register [ zp ZP_WORD:6 [ main::v#10 main::v#12 main::v#11 main::v#13 main::v#2 main::v#1 ] ] with [ zp ZP_WORD:17 [ myprintf::w2#8 myprintf::w2#1 myprintf::w2#0 ] ] - score: 2
Coalescing zero page register [ zp ZP_WORD:2 [ main::u#15 main::u#3 ] ] with [ zp ZP_WORD:15 [ myprintf::w1#7 myprintf::w1#1 myprintf::w1#0 ] ] - score: 1
Coalescing zero page register [ zp ZP_WORD:2 [ main::u#15 main::u#3 myprintf::w1#7 myprintf::w1#1 myprintf::w1#0 ] ] with [ zp ZP_WORD:64 [ div16u::dividend#0 ] ] - score: 1
Coalescing zero page register [ zp ZP_WORD:4 [ main::u#17 main::u#4 ] ] with [ zp ZP_WORD:54 [ div10::val#4 ] ] - score: 1
Coalescing zero page register [ zp ZP_WORD:6 [ main::v#10 main::v#12 main::v#11 main::v#13 main::v#2 main::v#1 myprintf::w2#8 myprintf::w2#1 myprintf::w2#0 ] ] with [ zp ZP_WORD:56 [ div10::return#2 ] ] - score: 1
Coalescing zero page register [ zp ZP_WORD:6 [ main::v#10 main::v#12 main::v#11 main::v#13 main::v#2 main::v#1 myprintf::w2#8 myprintf::w2#1 myprintf::w2#0 div10::return#2 ] ] with [ zp ZP_WORD:66 [ div16u::return#2 ] ] - score: 1
Coalescing zero page register [ zp ZP_WORD:12 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] ] with [ zp ZP_WORD:68 [ divr16u::return#2 ] ] - score: 1
Coalescing zero page register [ zp ZP_WORD:19 [ myprintf::w3#8 myprintf::w3#1 myprintf::w3#0 ] ] with [ zp ZP_WORD:50 [ main::$13 ] ] - score: 1
Coalescing zero page register [ zp ZP_WORD:19 [ myprintf::w3#8 myprintf::w3#1 myprintf::w3#0 main::$13 ] ] with [ zp ZP_WORD:60 [ main::$4 ] ] - score: 1
Coalescing zero page register [ zp ZP_WORD:38 [ 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:87 [ append::return#10 ] ] - score: 1
Coalescing zero page register [ zp ZP_WORD:38 [ 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:89 [ append::return#4 ] ] - score: 1
Coalescing zero page register [ zp ZP_WORD:38 [ 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:91 [ append::return#3 ] ] - score: 1
Coalescing zero page register [ zp ZP_WORD:38 [ 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:93 [ append::return#2 ] ] - score: 1
Coalescing zero page register [ zp ZP_WORD:40 [ 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:85 [ utoa::dst#3 ] ] - score: 1
Coalescing zero page register [ zp ZP_WORD:95 [ div10::$0 ] ] with [ zp ZP_WORD:97 [ div10::val#0 ] ] - score: 1
Coalescing zero page register [ zp ZP_WORD:99 [ div10::$2 ] ] with [ zp ZP_WORD:101 [ div10::val#1 ] ] - score: 1
Coalescing zero page register [ zp ZP_WORD:103 [ div10::$3 ] ] with [ zp ZP_WORD:105 [ div10::val#2 ] ] - score: 1
Coalescing zero page register [ zp ZP_WORD:107 [ div10::$4 ] ] with [ zp ZP_WORD:109 [ div10::val#3 ] ] - score: 1
Coalescing zero page register [ zp ZP_WORD:2 [ main::u#15 main::u#3 myprintf::w1#7 myprintf::w1#1 myprintf::w1#0 div16u::dividend#0 ] ] with [ zp ZP_WORD:4 [ main::u#17 main::u#4 div10::val#4 ] ] - score: 1
Coalescing zero page register [ zp ZP_WORD:6 [ main::v#10 main::v#12 main::v#11 main::v#13 main::v#2 main::v#1 myprintf::w2#8 myprintf::w2#1 myprintf::w2#0 div10::return#2 div16u::return#2 ] ] with [ zp ZP_WORD:70 [ div16u::return#0 ] ] - score: 1
Coalescing zero page register [ zp ZP_WORD:6 [ main::v#10 main::v#12 main::v#11 main::v#13 main::v#2 main::v#1 myprintf::w2#8 myprintf::w2#1 myprintf::w2#0 div10::return#2 div16u::return#2 div16u::return#0 ] ] with [ zp ZP_WORD:111 [ div10::return#0 ] ] - score: 1
Coalescing zero page register [ zp ZP_WORD:19 [ myprintf::w3#8 myprintf::w3#1 myprintf::w3#0 main::$13 main::$4 ] ] with [ zp ZP_WORD:48 [ main::$12 ] ] - score: 1
Coalescing zero page register [ zp ZP_WORD:19 [ myprintf::w3#8 myprintf::w3#1 myprintf::w3#0 main::$13 main::$4 main::$12 ] ] with [ zp ZP_WORD:58 [ main::$3 ] ] - score: 1
Coalescing zero page register [ zp ZP_WORD:6 [ main::v#10 main::v#12 main::v#11 main::v#13 main::v#2 main::v#1 myprintf::w2#8 myprintf::w2#1 myprintf::w2#0 div10::return#2 div16u::return#2 div16u::return#0 div10::return#0 ] ] with [ zp ZP_WORD:12 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 ] ] - score: 1
Coalescing zero page register [ zp ZP_WORD:6 [ main::v#10 main::v#12 main::v#11 main::v#13 main::v#2 main::v#1 myprintf::w2#8 myprintf::w2#1 myprintf::w2#0 div10::return#2 div16u::return#2 div16u::return#0 div10::return#0 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 ] ] with [ zp ZP_WORD:107 [ div10::$4 div10::val#3 ] ] - score: 1
Coalescing zero page register [ zp ZP_WORD:19 [ myprintf::w3#8 myprintf::w3#1 myprintf::w3#0 main::$13 main::$4 main::$12 main::$3 ] ] with [ zp ZP_WORD:8 [ divr16u::rem#4 divr16u::rem#9 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] ]
Coalescing zero page register [ zp ZP_WORD:21 [ myprintf::str#10 myprintf::str#6 myprintf::str#0 ] ] with [ zp ZP_WORD:10 [ divr16u::dividend#2 divr16u::dividend#1 divr16u::dividend#0 ] ]
Coalescing zero page register [ zp ZP_WORD:52 [ main::$14 ] ] with [ zp ZP_WORD:25 [ myprintf::w#10 myprintf::w#21 myprintf::w#51 myprintf::w#52 myprintf::w#53 ] ]
Coalescing zero page register [ zp ZP_WORD:62 [ main::$5 ] ] with [ zp ZP_WORD:38 [ 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 ] ]
Coalescing zero page register [ zp ZP_WORD:95 [ div10::$0 div10::val#0 ] ] with [ zp ZP_WORD:40 [ 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 ] ]
Coalescing zero page register [ zp ZP_WORD:99 [ div10::$2 div10::val#1 ] ] with [ zp ZP_WORD:44 [ append::sub#6 ] ]
Coalescing zero page register [ zp ZP_WORD:103 [ div10::$3 div10::val#2 ] ] with [ zp ZP_WORD:19 [ myprintf::w3#8 myprintf::w3#1 myprintf::w3#0 main::$13 main::$4 main::$12 main::$3 divr16u::rem#4 divr16u::rem#9 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] ]
Allocated (was zp ZP_WORD:6) zp ZP_WORD:4 [ main::v#10 main::v#12 main::v#11 main::v#13 main::v#2 main::v#1 myprintf::w2#8 myprintf::w2#1 myprintf::w2#0 div10::return#2 div16u::return#2 div16u::return#0 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:21) zp ZP_WORD:6 [ myprintf::str#10 myprintf::str#6 myprintf::str#0 divr16u::dividend#2 divr16u::dividend#1 divr16u::dividend#0 ]
Allocated (was zp ZP_BYTE:23) zp ZP_BYTE:8 [ myprintf::bFormat#10 ]
Allocated (was zp ZP_BYTE:24) zp ZP_BYTE:9 [ myprintf::bArg#10 myprintf::bArg#1 ]
Allocated (was zp ZP_BYTE:27) zp ZP_BYTE:10 [ myprintf::bTrailing#11 ]
Allocated (was zp ZP_BYTE:28) zp ZP_BYTE:11 [ myprintf::bLeadZero#11 ]
Allocated (was zp ZP_BYTE:31) zp ZP_BYTE:12 [ myprintf::b#17 myprintf::b#5 ]
Allocated (was zp ZP_BYTE:32) zp ZP_BYTE:13 [ myprintf::bDigits#12 myprintf::bDigits#16 myprintf::bDigits#28 myprintf::bDigits#1 myprintf::bDigits#18 myprintf::bDigits#10 myprintf::bDigits#2 myprintf::bDigits#3 ]
Allocated (was zp ZP_BYTE:33) zp ZP_BYTE:14 [ myprintf::bLen#36 myprintf::bLen#12 myprintf::bLen#10 myprintf::bLen#28 myprintf::bLen#7 myprintf::bLen#3 myprintf::bLen#13 myprintf::bLen#14 myprintf::bLen#1 myprintf::bLen#4 myprintf::bLen#5 myprintf::bLen#6 ]
Allocated (was zp ZP_WORD:52) zp ZP_WORD:15 [ main::$14 myprintf::w#10 myprintf::w#21 myprintf::w#51 myprintf::w#52 myprintf::w#53 ]
Allocated (was zp ZP_WORD:62) zp ZP_WORD:17 [ main::$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 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:95) zp ZP_WORD:19 [ div10::$0 div10::val#0 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:99) zp ZP_WORD:21 [ div10::$2 div10::val#1 append::sub#6 ]
Allocated (was zp ZP_WORD:103) zp ZP_WORD:23 [ div10::$3 div10::val#2 myprintf::w3#8 myprintf::w3#1 myprintf::w3#0 main::$13 main::$4 main::$12 main::$3 divr16u::rem#4 divr16u::rem#9 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ]

ASSEMBLER BEFORE OPTIMIZATION
  // File Comments
  // 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 _3 = $17
    .label _4 = $17
    .label _5 = $11
    .label _12 = $17
    .label _13 = $17
    .label _14 = $f
    .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::v#12 = (word) 0 [phi:main->main::@1#0] -- vwuz1=vwuc1 
    lda #<0
    sta.z v
    lda #>0
    sta.z v+1
    // [6] phi (word) main::u#15 = (word) $6e85 [phi:main->main::@1#1] -- vwuz1=vwuc1 
    lda #<$6e85
    sta.z u
    lda #>$6e85
    sta.z u+1
    jmp b1
    // main::@1
  b1:
    // [7] if(*((const byte*) zp1#0)<(byte) $a) goto main::@2 -- _deref_pbuc1_lt_vbuc2_then_la1 
    lda zp1
    cmp #$a
    bcc b2
    jmp b3
    // main::@3
  b3:
    // [8] *((const byte*) zp1#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta zp1
    // [9] phi from main::@3 to main::@7 [phi:main::@3->main::@7]
  b7_from_b3:
    // [9] phi (word) main::v#10 = (word) main::v#12 [phi:main::@3->main::@7#0] -- register_copy 
    // [9] phi (word) main::u#17 = (word) $6e85 [phi:main::@3->main::@7#1] -- vwuz1=vwuc1 
    lda #<$6e85
    sta.z u
    lda #>$6e85
    sta.z u+1
    jmp b7
    // main::@7
  b7:
    // [10] if(*((const byte*) zp1#0)<(byte) $a) goto main::@8 -- _deref_pbuc1_lt_vbuc2_then_la1 
    lda zp1
    cmp #$a
    bcc b8
    jmp breturn
    // main::@return
  breturn:
    // [11] return 
    rts
    // main::@8
  b8:
    // [12] *((const byte*) TIMEHI#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta TIMEHI
    // [13] *((const byte*) TIMELO#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta TIMELO
    // [14] *((const byte*) zp2#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta zp2
    // [15] phi from main::@15 main::@8 to main::@9 [phi:main::@15/main::@8->main::@9]
  b9_from_b15:
  b9_from_b8:
    // [15] phi (word) main::v#13 = (word) main::v#2 [phi:main::@15/main::@8->main::@9#0] -- register_copy 
    jmp b9
    // main::@9
  b9:
    // [16] if(*((const byte*) zp2#0)<(byte) $c8) goto main::@10 -- _deref_pbuc1_lt_vbuc2_then_la1 
    lda zp2
    cmp #$c8
    bcc b10
    jmp b11
    // main::@11
  b11:
    // [17] (word~) main::$12 ← (word)*((const byte*) TIMEHI#0) -- vwuz1=_word__deref_pbuc1 
    lda TIMEHI
    sta.z _12
    lda #0
    sta.z _12+1
    // [18] (word~) main::$13 ← (word~) main::$12 << (byte) 8 -- vwuz1=vwuz1_rol_8 
    lda.z _13
    sta.z _13+1
    lda #0
    sta.z _13
    // [19] (word~) main::$14 ← (word)*((const byte*) TIMELO#0) -- vwuz1=_word__deref_pbuc1 
    lda TIMELO
    sta.z _14
    lda #0
    sta.z _14+1
    // [20] (word) myprintf::w3#1 ← (word~) main::$13 + (word~) main::$14 -- vwuz1=vwuz1_plus_vwuz2 
    lda.z myprintf.w3
    clc
    adc.z _14
    sta.z myprintf.w3
    lda.z myprintf.w3+1
    adc.z _14+1
    sta.z myprintf.w3+1
    // [21] (word) myprintf::w1#1 ← (word) main::u#17
    // [22] (word) myprintf::w2#1 ← (word) main::v#13
    // [23] call myprintf 
    // [78] phi from main::@11 to myprintf [phi:main::@11->myprintf]
  myprintf_from_b11:
    // [78] phi (word) myprintf::w3#8 = (word) myprintf::w3#1 [phi:main::@11->myprintf#0] -- register_copy 
    // [78] phi (word) myprintf::w2#8 = (word) myprintf::w2#1 [phi:main::@11->myprintf#1] -- register_copy 
    // [78] phi (word) myprintf::w1#7 = (word) myprintf::w1#1 [phi:main::@11->myprintf#2] -- register_copy 
    // [78] phi (byte*) myprintf::str#6 = (const string) main::str1 [phi:main::@11->myprintf#3] -- pbuz1=pbuc1 
    lda #<str1
    sta.z myprintf.str
    lda #>str1
    sta.z myprintf.str+1
    jsr myprintf
    // [24] phi from main::@11 to main::@16 [phi:main::@11->main::@16]
  b16_from_b11:
    jmp b16
    // main::@16
  b16:
    // [25] call Print 
    jsr Print
    jmp b17
    // main::@17
  b17:
    // [26] (word) main::u#4 ← (word) main::u#17 - (word) $4d2 -- vwuz1=vwuz1_minus_vwuc1 
    lda.z u
    sec
    sbc #<$4d2
    sta.z u
    lda.z u+1
    sbc #>$4d2
    sta.z u+1
    // [27] *((const byte*) zp1#0) ← ++ *((const byte*) zp1#0) -- _deref_pbuc1=_inc__deref_pbuc1 
    inc zp1
    // [9] phi from main::@17 to main::@7 [phi:main::@17->main::@7]
  b7_from_b17:
    // [9] phi (word) main::v#10 = (word) main::v#13 [phi:main::@17->main::@7#0] -- register_copy 
    // [9] phi (word) main::u#17 = (word) main::u#4 [phi:main::@17->main::@7#1] -- register_copy 
    jmp b7
    // main::@10
  b10:
    // [28] (word) div10::val#4 ← (word) main::u#17
    // [29] call div10 
    jsr div10
    // [30] (word) div10::return#2 ← (word) div10::return#0
    jmp b15
    // main::@15
  b15:
    // [31] (word) main::v#2 ← (word) div10::return#2
    // [32] *((const byte*) zp2#0) ← ++ *((const byte*) zp2#0) -- _deref_pbuc1=_inc__deref_pbuc1 
    inc zp2
    jmp b9_from_b15
    // main::@2
  b2:
    // [33] *((const byte*) TIMEHI#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta TIMEHI
    // [34] *((const byte*) TIMELO#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta TIMELO
    // [35] *((const byte*) zp2#0) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta zp2
    // [36] phi from main::@12 main::@2 to main::@4 [phi:main::@12/main::@2->main::@4]
  b4_from_b12:
  b4_from_b2:
    // [36] phi (word) main::v#11 = (word) main::v#1 [phi:main::@12/main::@2->main::@4#0] -- register_copy 
    jmp b4
    // main::@4
  b4:
    // [37] if(*((const byte*) zp2#0)<(byte) $c8) goto main::@5 -- _deref_pbuc1_lt_vbuc2_then_la1 
    lda zp2
    cmp #$c8
    bcc b5
    jmp b6
    // main::@6
  b6:
    // [38] (word~) main::$3 ← (word)*((const byte*) TIMEHI#0) -- vwuz1=_word__deref_pbuc1 
    lda TIMEHI
    sta.z _3
    lda #0
    sta.z _3+1
    // [39] (word~) main::$4 ← (word~) main::$3 << (byte) 8 -- vwuz1=vwuz1_rol_8 
    lda.z _4
    sta.z _4+1
    lda #0
    sta.z _4
    // [40] (word~) main::$5 ← (word)*((const byte*) TIMELO#0) -- vwuz1=_word__deref_pbuc1 
    lda TIMELO
    sta.z _5
    lda #0
    sta.z _5+1
    // [41] (word) myprintf::w3#0 ← (word~) main::$4 + (word~) main::$5 -- vwuz1=vwuz1_plus_vwuz2 
    lda.z myprintf.w3
    clc
    adc.z _5
    sta.z myprintf.w3
    lda.z myprintf.w3+1
    adc.z _5+1
    sta.z myprintf.w3+1
    // [42] (word) myprintf::w1#0 ← (word) main::u#15
    // [43] (word) myprintf::w2#0 ← (word) main::v#11
    // [44] call myprintf 
    // [78] phi from main::@6 to myprintf [phi:main::@6->myprintf]
  myprintf_from_b6:
    // [78] phi (word) myprintf::w3#8 = (word) myprintf::w3#0 [phi:main::@6->myprintf#0] -- register_copy 
    // [78] phi (word) myprintf::w2#8 = (word) myprintf::w2#0 [phi:main::@6->myprintf#1] -- register_copy 
    // [78] phi (word) myprintf::w1#7 = (word) myprintf::w1#0 [phi:main::@6->myprintf#2] -- register_copy 
    // [78] phi (byte*) myprintf::str#6 = (const string) main::str [phi:main::@6->myprintf#3] -- pbuz1=pbuc1 
    lda #<str
    sta.z myprintf.str
    lda #>str
    sta.z myprintf.str+1
    jsr myprintf
    // [45] phi from main::@6 to main::@13 [phi:main::@6->main::@13]
  b13_from_b6:
    jmp b13
    // main::@13
  b13:
    // [46] call Print 
    jsr Print
    jmp b14
    // main::@14
  b14:
    // [47] (word) main::u#3 ← (word) main::u#15 - (word) $4d2 -- vwuz1=vwuz1_minus_vwuc1 
    lda.z u
    sec
    sbc #<$4d2
    sta.z u
    lda.z u+1
    sbc #>$4d2
    sta.z u+1
    // [48] *((const byte*) zp1#0) ← ++ *((const byte*) zp1#0) -- _deref_pbuc1=_inc__deref_pbuc1 
    inc zp1
    // [6] phi from main::@14 to main::@1 [phi:main::@14->main::@1]
  b1_from_b14:
    // [6] phi (word) main::v#12 = (word) main::v#11 [phi:main::@14->main::@1#0] -- register_copy 
    // [6] phi (word) main::u#15 = (word) main::u#3 [phi:main::@14->main::@1#1] -- register_copy 
    jmp b1
    // main::@5
  b5:
    // [49] (word) div16u::dividend#0 ← (word) main::u#15
    // [50] call div16u 
    jsr div16u
    // [51] (word) div16u::return#2 ← (word) div16u::return#0
    jmp b12
    // main::@12
  b12:
    // [52] (word) main::v#1 ← (word) div16u::return#2
    // [53] *((const byte*) zp2#0) ← ++ *((const byte*) zp2#0) -- _deref_pbuc1=_inc__deref_pbuc1 
    inc zp2
    jmp b4_from_b12
    str: .text "200 DIV16U: %5d,%4d IN %04d FRAMESm"
    .byte 0
    str1: .text "200 DIV10 : %5d,%4d IN %04d FRAMESm"
    .byte 0
}
  // 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
    // [54] (word) divr16u::dividend#1 ← (word) div16u::dividend#0 -- vwuz1=vwuz2 
    lda.z dividend
    sta.z divr16u.dividend
    lda.z dividend+1
    sta.z divr16u.dividend+1
    // [55] call divr16u 
    // [59] phi from div16u to divr16u [phi:div16u->divr16u]
  divr16u_from_div16u:
    jsr divr16u
    // [56] (word) divr16u::return#2 ← (word) divr16u::return#0
    jmp b1
    // div16u::@1
  b1:
    // [57] (word) div16u::return#0 ← (word) divr16u::return#2
    jmp breturn
    // div16u::@return
  breturn:
    // [58] 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(6) dividend, word zeropage($17) rem)
divr16u: {
    .label rem = $17
    .label dividend = 6
    .label quotient = 4
    .label return = 4
    // [60] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1]
  b1_from_divr16u:
    // [60] phi (byte) divr16u::i#2 = (byte) 0 [phi:divr16u->divr16u::@1#0] -- vbuxx=vbuc1 
    ldx #0
    // [60] phi (word) divr16u::quotient#3 = (byte) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 
    lda #<0
    sta.z quotient
    lda #>0
    sta.z quotient+1
    // [60] phi (word) divr16u::dividend#2 = (word) divr16u::dividend#1 [phi:divr16u->divr16u::@1#2] -- register_copy 
    // [60] phi (word) divr16u::rem#4 = (byte) 0 [phi:divr16u->divr16u::@1#3] -- vwuz1=vbuc1 
    lda #<0
    sta.z rem
    lda #>0
    sta.z rem+1
    jmp b1
    // [60] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1]
  b1_from_b3:
    // [60] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy 
    // [60] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy 
    // [60] phi (word) divr16u::dividend#2 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy 
    // [60] phi (word) divr16u::rem#4 = (word) divr16u::rem#9 [phi:divr16u::@3->divr16u::@1#3] -- register_copy 
    jmp b1
    // divr16u::@1
  b1:
    // [61] (word) divr16u::rem#0 ← (word) divr16u::rem#4 << (byte) 1 -- vwuz1=vwuz1_rol_1 
    asl.z rem
    rol.z rem+1
    // [62] (byte~) divr16u::$1 ← > (word) divr16u::dividend#2 -- vbuaa=_hi_vwuz1 
    lda.z dividend+1
    // [63] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte) $80 -- vbuaa=vbuaa_band_vbuc1 
    and #$80
    // [64] 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:
    // [65] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte) 1 -- vwuz1=vwuz1_bor_vbuc1 
    lda #1
    ora.z rem
    sta.z rem
    // [66] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2]
  b2_from_b1:
  b2_from_b4:
    // [66] phi (word) divr16u::rem#5 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy 
    jmp b2
    // divr16u::@2
  b2:
    // [67] (word) divr16u::dividend#0 ← (word) divr16u::dividend#2 << (byte) 1 -- vwuz1=vwuz1_rol_1 
    asl.z dividend
    rol.z dividend+1
    // [68] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte) 1 -- vwuz1=vwuz1_rol_1 
    asl.z quotient
    rol.z quotient+1
    // [69] if((word) divr16u::rem#5<(const word) div16u::divisor#0) goto divr16u::@3 -- vwuz1_lt_vwuc1_then_la1 
    lda.z rem+1
    cmp #>div16u.divisor
    bcc b3_from_b2
    bne !+
    lda.z rem
    cmp #<div16u.divisor
    bcc b3_from_b2
  !:
    jmp b5
    // divr16u::@5
  b5:
    // [70] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 -- vwuz1=_inc_vwuz1 
    inc.z quotient
    bne !+
    inc.z quotient+1
  !:
    // [71] (word) divr16u::rem#2 ← (word) divr16u::rem#5 - (const word) div16u::divisor#0 -- vwuz1=vwuz1_minus_vwuc1 
    lda.z rem
    sec
    sbc #<div16u.divisor
    sta.z rem
    lda.z rem+1
    sbc #>div16u.divisor
    sta.z rem+1
    // [72] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3]
  b3_from_b2:
  b3_from_b5:
    // [72] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy 
    // [72] phi (word) divr16u::rem#9 = (word) divr16u::rem#5 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy 
    jmp b3
    // divr16u::@3
  b3:
    // [73] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 -- vbuxx=_inc_vbuxx 
    inx
    // [74] 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:
    // [75] return 
    rts
}
  // 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:
    // [77] return 
    rts
}
  // myprintf
// myprintf(byte* zeropage(6) str, word zeropage(2) w1, word zeropage(4) w2, word zeropage($17) w3)
myprintf: {
    .label bDigits = $d
    .label bLen = $e
    .label b = $c
    .label bArg = 9
    .label str = 6
    .label w1 = 2
    .label w2 = 4
    .label w3 = $17
    .label w = $f
    .label bFormat = 8
    .label bTrailing = $a
    .label bLeadZero = $b
    // [79] phi from myprintf to myprintf::@1 [phi:myprintf->myprintf::@1]
  b1_from_myprintf:
    // [79] phi (byte) myprintf::bLeadZero#11 = (byte) 0 [phi:myprintf->myprintf::@1#0] -- vbuz1=vbuc1 
    lda #0
    sta.z bLeadZero
    // [79] phi (byte) myprintf::bDigits#16 = (byte) 0 [phi:myprintf->myprintf::@1#1] -- vbuz1=vbuc1 
    lda #0
    sta.z bDigits
    // [79] phi (byte) myprintf::bTrailing#11 = (byte) 0 [phi:myprintf->myprintf::@1#2] -- vbuz1=vbuc1 
    lda #0
    sta.z bTrailing
    // [79] phi (word) myprintf::w#10 = (word) 0 [phi:myprintf->myprintf::@1#3] -- vwuz1=vwuc1 
    lda #<0
    sta.z w
    lda #>0
    sta.z w+1
    // [79] phi (byte) myprintf::bArg#10 = (byte) 0 [phi:myprintf->myprintf::@1#4] -- vbuz1=vbuc1 
    lda #0
    sta.z bArg
    // [79] phi (byte) myprintf::bLen#10 = (byte) 0 [phi:myprintf->myprintf::@1#5] -- vbuz1=vbuc1 
    lda #0
    sta.z bLen
    // [79] phi (byte) myprintf::bFormat#10 = (byte) 0 [phi:myprintf->myprintf::@1#6] -- vbuz1=vbuc1 
    lda #0
    sta.z bFormat
    // [79] phi (byte*) myprintf::str#10 = (byte*) myprintf::str#6 [phi:myprintf->myprintf::@1#7] -- register_copy 
    jmp b1
    // myprintf::@1
  b1:
    // [80] if(*((byte*) myprintf::str#10)!=(byte) 0) goto myprintf::@2 -- _deref_pbuz1_neq_0_then_la1 
    ldy #0
    lda (str),y
    cmp #0
    bne b2
    jmp b3
    // myprintf::@3
  b3:
    // [81] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#10) ← (byte) 0 -- pbuc1_derefidx_vbuz1=vbuc2 
    lda #0
    ldy.z bLen
    sta strTemp,y
    jmp breturn
    // myprintf::@return
  breturn:
    // [82] return 
    rts
    // myprintf::@2
  b2:
    // [83] (byte) myprintf::b#1 ← *((byte*) myprintf::str#10) -- vbuxx=_deref_pbuz1 
    ldy #0
    lda (str),y
    tax
    // [84] if((byte) myprintf::bFormat#10==(byte) 0) goto myprintf::@4 -- vbuz1_eq_0_then_la1 
    lda.z bFormat
    cmp #0
    beq b4
    jmp b37
    // myprintf::@37
  b37:
    // [85] if((byte) myprintf::b#1!=(byte) '0') goto myprintf::@5 -- vbuxx_neq_vbuc1_then_la1 
    cpx #'0'
    bne b5
    // [79] phi from myprintf::@37 to myprintf::@1 [phi:myprintf::@37->myprintf::@1]
  b1_from_b37:
    // [79] phi (byte) myprintf::bLeadZero#11 = (byte) 1 [phi:myprintf::@37->myprintf::@1#0] -- vbuz1=vbuc1 
    lda #1
    sta.z bLeadZero
    // [79] phi (byte) myprintf::bDigits#16 = (byte) myprintf::bDigits#16 [phi:myprintf::@37->myprintf::@1#1] -- register_copy 
    // [79] phi (byte) myprintf::bTrailing#11 = (byte) myprintf::bTrailing#11 [phi:myprintf::@37->myprintf::@1#2] -- register_copy 
    // [79] phi (word) myprintf::w#10 = (word) myprintf::w#10 [phi:myprintf::@37->myprintf::@1#3] -- register_copy 
    // [79] phi (byte) myprintf::bArg#10 = (byte) myprintf::bArg#10 [phi:myprintf::@37->myprintf::@1#4] -- register_copy 
    // [79] phi (byte) myprintf::bLen#10 = (byte) myprintf::bLen#10 [phi:myprintf::@37->myprintf::@1#5] -- register_copy 
    // [79] phi (byte) myprintf::bFormat#10 = (byte) myprintf::bFormat#10 [phi:myprintf::@37->myprintf::@1#6] -- register_copy 
    // [79] phi (byte*) myprintf::str#10 = (byte*) myprintf::str#10 [phi:myprintf::@37->myprintf::@1#7] -- register_copy 
    jmp b1
    // myprintf::@5
  b5:
    // [86] if((byte) myprintf::b#1<(byte) '1') goto myprintf::@6 -- vbuxx_lt_vbuc1_then_la1 
    cpx #'1'
    bcc b6
    jmp b42
    // myprintf::@42
  b42:
    // [87] if((byte) myprintf::b#1<=(byte) '9') goto myprintf::@28 -- vbuxx_le_vbuc1_then_la1 
    cpx #'9'
    bcc b28
    beq b28
    jmp b6
    // myprintf::@6
  b6:
    // [88] if((byte) myprintf::b#1!=(byte) '-') goto myprintf::@7 -- vbuxx_neq_vbuc1_then_la1 
    cpx #'-'
    bne b7
    // [79] phi from myprintf::@6 to myprintf::@1 [phi:myprintf::@6->myprintf::@1]
  b1_from_b6:
    // [79] phi (byte) myprintf::bLeadZero#11 = (byte) myprintf::bLeadZero#11 [phi:myprintf::@6->myprintf::@1#0] -- register_copy 
    // [79] phi (byte) myprintf::bDigits#16 = (byte) myprintf::bDigits#16 [phi:myprintf::@6->myprintf::@1#1] -- register_copy 
    // [79] phi (byte) myprintf::bTrailing#11 = (byte) 1 [phi:myprintf::@6->myprintf::@1#2] -- vbuz1=vbuc1 
    lda #1
    sta.z bTrailing
    // [79] phi (word) myprintf::w#10 = (word) myprintf::w#10 [phi:myprintf::@6->myprintf::@1#3] -- register_copy 
    // [79] phi (byte) myprintf::bArg#10 = (byte) myprintf::bArg#10 [phi:myprintf::@6->myprintf::@1#4] -- register_copy 
    // [79] phi (byte) myprintf::bLen#10 = (byte) myprintf::bLen#10 [phi:myprintf::@6->myprintf::@1#5] -- register_copy 
    // [79] phi (byte) myprintf::bFormat#10 = (byte) myprintf::bFormat#10 [phi:myprintf::@6->myprintf::@1#6] -- register_copy 
    // [79] phi (byte*) myprintf::str#10 = (byte*) myprintf::str#10 [phi:myprintf::@6->myprintf::@1#7] -- register_copy 
    jmp b1
    // myprintf::@7
  b7:
    // [89] if((byte) myprintf::b#1==(byte) 'c') goto myprintf::@8 -- vbuxx_eq_vbuc1_then_la1 
    cpx #'c'
    beq b8
    jmp b29
    // myprintf::@29
  b29:
    // [90] if((byte) myprintf::b#1==(byte) 'd') goto myprintf::@9 -- vbuxx_eq_vbuc1_then_la1 
    cpx #'d'
    beq b9
    jmp b30
    // myprintf::@30
  b30:
    // [91] if((byte) myprintf::b#1==(byte) 'x') goto myprintf::@31 -- vbuxx_eq_vbuc1_then_la1 
    cpx #'x'
    beq b31
    jmp b43
    // myprintf::@43
  b43:
    // [92] if((byte) myprintf::b#1==(byte) 'X') goto myprintf::@31 -- vbuxx_eq_vbuc1_then_la1 
    cpx #'X'
    beq b31
    // [93] phi from myprintf::@13 myprintf::@24 myprintf::@25 myprintf::@43 myprintf::@8 to myprintf::@27 [phi:myprintf::@13/myprintf::@24/myprintf::@25/myprintf::@43/myprintf::@8->myprintf::@27]
  b27_from_b13:
  b27_from_b24:
  b27_from_b25:
  b27_from_b43:
  b27_from_b8:
    // [93] phi (byte) myprintf::bDigits#28 = (byte) myprintf::bDigits#16 [phi:myprintf::@13/myprintf::@24/myprintf::@25/myprintf::@43/myprintf::@8->myprintf::@27#0] -- register_copy 
    // [93] phi (byte) myprintf::bLen#28 = (byte) myprintf::bLen#3 [phi:myprintf::@13/myprintf::@24/myprintf::@25/myprintf::@43/myprintf::@8->myprintf::@27#1] -- register_copy 
    jmp b27
    // [93] phi from myprintf::@45 to myprintf::@27 [phi:myprintf::@45->myprintf::@27]
  b27_from_b45:
    jmp b27
    // myprintf::@27
  b27:
    // [79] phi from myprintf::@27 to myprintf::@1 [phi:myprintf::@27->myprintf::@1]
  b1_from_b27:
    // [79] phi (byte) myprintf::bLeadZero#11 = (byte) myprintf::bLeadZero#11 [phi:myprintf::@27->myprintf::@1#0] -- register_copy 
    // [79] phi (byte) myprintf::bDigits#16 = (byte) myprintf::bDigits#28 [phi:myprintf::@27->myprintf::@1#1] -- register_copy 
    // [79] phi (byte) myprintf::bTrailing#11 = (byte) myprintf::bTrailing#11 [phi:myprintf::@27->myprintf::@1#2] -- register_copy 
    // [79] phi (word) myprintf::w#10 = (word) myprintf::w#10 [phi:myprintf::@27->myprintf::@1#3] -- register_copy 
    // [79] phi (byte) myprintf::bArg#10 = (byte) myprintf::bArg#10 [phi:myprintf::@27->myprintf::@1#4] -- register_copy 
    // [79] phi (byte) myprintf::bLen#10 = (byte) myprintf::bLen#28 [phi:myprintf::@27->myprintf::@1#5] -- register_copy 
    // [79] phi (byte) myprintf::bFormat#10 = (byte) 0 [phi:myprintf::@27->myprintf::@1#6] -- vbuz1=vbuc1 
    lda #0
    sta.z bFormat
    // [79] phi (byte*) myprintf::str#10 = (byte*) myprintf::str#10 [phi:myprintf::@27->myprintf::@1#7] -- register_copy 
    jmp b1
    // myprintf::@31
  b31:
    // [94] (byte~) myprintf::$18 ← (byte)(word) myprintf::w#10 -- vbuaa=_byte_vwuz1 
    lda.z w
    // [95] (byte~) myprintf::$19 ← (byte~) myprintf::$18 >> (byte) 4 -- vbuaa=vbuaa_ror_4 
    lsr
    lsr
    lsr
    lsr
    // [96] (byte) myprintf::b#15 ← (byte~) myprintf::$19 & (byte) $f -- vbuxx=vbuaa_band_vbuc1 
    ldx #$f
    axs #0
    // [97] if((byte) myprintf::b#15<(byte) $a) goto myprintf::@10 -- vbuxx_lt_vbuc1_then_la1 
    cpx #$a
    bcc b10_from_b31
    // [99] phi from myprintf::@31 to myprintf::@11 [phi:myprintf::@31->myprintf::@11]
  b11_from_b31:
    // [99] phi (byte~) myprintf::$24 = (byte) $57 [phi:myprintf::@31->myprintf::@11#0] -- vbuaa=vbuc1 
    lda #$57
    jmp b11
    // [98] phi from myprintf::@31 to myprintf::@10 [phi:myprintf::@31->myprintf::@10]
  b10_from_b31:
    jmp b10
    // myprintf::@10
  b10:
    // [99] phi from myprintf::@10 to myprintf::@11 [phi:myprintf::@10->myprintf::@11]
  b11_from_b10:
    // [99] phi (byte~) myprintf::$24 = (byte) '0' [phi:myprintf::@10->myprintf::@11#0] -- vbuaa=vbuc1 
    lda #'0'
    jmp b11
    // myprintf::@11
  b11:
    // [100] (byte~) myprintf::$25 ← (byte~) myprintf::$24 + (byte) myprintf::b#15 -- vbuaa=vbuaa_plus_vbuxx 
    stx.z $ff
    clc
    adc.z $ff
    // [101] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#10) ← (byte~) myprintf::$25 -- pbuc1_derefidx_vbuz1=vbuaa 
    ldy.z bLen
    sta strTemp,y
    // [102] (byte) myprintf::bLen#11 ← ++ (byte) myprintf::bLen#10 -- vbuyy=_inc_vbuz1 
    ldy.z bLen
    iny
    // [103] (byte~) myprintf::$26 ← (byte)(word) myprintf::w#10 -- vbuaa=_byte_vwuz1 
    lda.z w
    // [104] (byte) myprintf::b#16 ← (byte~) myprintf::$26 & (byte) $f -- vbuxx=vbuaa_band_vbuc1 
    ldx #$f
    axs #0
    // [105] if((byte) myprintf::b#16<(byte) $a) goto myprintf::@12 -- vbuxx_lt_vbuc1_then_la1 
    cpx #$a
    bcc b12_from_b11
    // [107] phi from myprintf::@11 to myprintf::@13 [phi:myprintf::@11->myprintf::@13]
  b13_from_b11:
    // [107] phi (byte~) myprintf::$31 = (byte) $57 [phi:myprintf::@11->myprintf::@13#0] -- vbuaa=vbuc1 
    lda #$57
    jmp b13
    // [106] phi from myprintf::@11 to myprintf::@12 [phi:myprintf::@11->myprintf::@12]
  b12_from_b11:
    jmp b12
    // myprintf::@12
  b12:
    // [107] phi from myprintf::@12 to myprintf::@13 [phi:myprintf::@12->myprintf::@13]
  b13_from_b12:
    // [107] phi (byte~) myprintf::$31 = (byte) '0' [phi:myprintf::@12->myprintf::@13#0] -- vbuaa=vbuc1 
    lda #'0'
    jmp b13
    // myprintf::@13
  b13:
    // [108] (byte~) myprintf::$32 ← (byte~) myprintf::$31 + (byte) myprintf::b#16 -- vbuaa=vbuaa_plus_vbuxx 
    stx.z $ff
    clc
    adc.z $ff
    // [109] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#11) ← (byte~) myprintf::$32 -- pbuc1_derefidx_vbuyy=vbuaa 
    sta strTemp,y
    // [110] (byte) myprintf::bLen#3 ← ++ (byte) myprintf::bLen#11 -- vbuz1=_inc_vbuyy 
    iny
    sty.z bLen
    jmp b27_from_b13
    // myprintf::@9
  b9:
    // [111] (word) utoa::value#4 ← (word) myprintf::w#10 -- vwuz1=vwuz2 
    lda.z w
    sta.z utoa.value
    lda.z w+1
    sta.z utoa.value+1
    // [112] call utoa 
    // [158] phi from myprintf::@9 to utoa [phi:myprintf::@9->utoa]
  utoa_from_b9:
    jsr utoa
    // [113] phi from myprintf::@9 to myprintf::@14 [phi:myprintf::@9->myprintf::@14]
  b14_from_b9:
    // [113] phi (byte) myprintf::b#17 = (byte) 1 [phi:myprintf::@9->myprintf::@14#0] -- vbuz1=vbuc1 
    lda #1
    sta.z b
    jmp b14
    // myprintf::@14
  b14:
    // [114] if(*((const byte[6]) myprintf::buf6#0 + (byte) myprintf::b#17)!=(byte) 0) goto myprintf::@15 -- pbuc1_derefidx_vbuz1_neq_0_then_la1 
    ldy.z b
    lda buf6,y
    cmp #0
    bne b15
    jmp b16
    // myprintf::@16
  b16:
    // [115] if((byte) myprintf::bTrailing#11!=(byte) 0) goto myprintf::@17 -- vbuz1_neq_0_then_la1 
    lda.z bTrailing
    cmp #0
    bne b17_from_b16
    jmp b44
    // myprintf::@44
  b44:
    // [116] if((byte) myprintf::bDigits#16<=(byte) myprintf::b#17) goto myprintf::@17 -- vbuz1_le_vbuz2_then_la1 
    lda.z b
    cmp.z bDigits
    bcs b17_from_b44
    // [117] phi from myprintf::@21 myprintf::@44 to myprintf::@18 [phi:myprintf::@21/myprintf::@44->myprintf::@18]
  b18_from_b21:
  b18_from_b44:
    // [117] phi (byte) myprintf::bLen#12 = (byte) myprintf::bLen#4 [phi:myprintf::@21/myprintf::@44->myprintf::@18#0] -- register_copy 
    // [117] phi (byte) myprintf::bDigits#12 = (byte) myprintf::bDigits#2 [phi:myprintf::@21/myprintf::@44->myprintf::@18#1] -- register_copy 
    jmp b18
    // myprintf::@18
  b18:
    // [118] if((byte) myprintf::bDigits#12>(byte) myprintf::b#17) goto myprintf::@19 -- vbuz1_gt_vbuz2_then_la1 
    lda.z b
    cmp.z bDigits
    bcc b19
    // [119] phi from myprintf::@16 myprintf::@18 to myprintf::@17 [phi:myprintf::@16/myprintf::@18->myprintf::@17]
  b17_from_b16:
  b17_from_b18:
    // [119] phi (byte) myprintf::bDigits#18 = (byte) myprintf::bDigits#16 [phi:myprintf::@16/myprintf::@18->myprintf::@17#0] -- register_copy 
    // [119] phi (byte) myprintf::bLen#36 = (byte) myprintf::bLen#10 [phi:myprintf::@16/myprintf::@18->myprintf::@17#1] -- register_copy 
    jmp b17
    // [119] phi from myprintf::@44 to myprintf::@17 [phi:myprintf::@44->myprintf::@17]
  b17_from_b44:
    jmp b17
    // myprintf::@17
  b17:
    // [120] phi from myprintf::@17 to myprintf::@22 [phi:myprintf::@17->myprintf::@22]
  b22_from_b17:
    // [120] phi (byte) myprintf::bLen#13 = (byte) myprintf::bLen#36 [phi:myprintf::@17->myprintf::@22#0] -- register_copy 
    // [120] phi (byte) myprintf::digit#3 = (byte) 0 [phi:myprintf::@17->myprintf::@22#1] -- vbuxx=vbuc1 
    ldx #0
    jmp b22
    // myprintf::@22
  b22:
    // [121] if((byte) myprintf::digit#3<(byte) myprintf::b#17) goto myprintf::@23 -- vbuxx_lt_vbuz1_then_la1 
    cpx.z b
    bcc b23
    jmp b24
    // myprintf::@24
  b24:
    // [122] if((byte) myprintf::bTrailing#11==(byte) 0) goto myprintf::@27 -- vbuz1_eq_0_then_la1 
    lda.z bTrailing
    cmp #0
    beq b27_from_b24
    jmp b45
    // myprintf::@45
  b45:
    // [123] if((byte) myprintf::bDigits#18<=(byte) myprintf::b#17) goto myprintf::@27 -- vbuz1_le_vbuz2_then_la1 
    lda.z b
    cmp.z bDigits
    bcs b27_from_b45
    // [124] phi from myprintf::@26 myprintf::@45 to myprintf::@25 [phi:myprintf::@26/myprintf::@45->myprintf::@25]
  b25_from_b26:
  b25_from_b45:
    // [124] phi (byte) myprintf::bLen#14 = (byte) myprintf::bLen#6 [phi:myprintf::@26/myprintf::@45->myprintf::@25#0] -- register_copy 
    // [124] phi (byte) myprintf::bDigits#10 = (byte) myprintf::bDigits#3 [phi:myprintf::@26/myprintf::@45->myprintf::@25#1] -- register_copy 
    jmp b25
    // myprintf::@25
  b25:
    // [125] if((byte) myprintf::bDigits#10>(byte) myprintf::b#17) goto myprintf::@26 -- vbuz1_gt_vbuz2_then_la1 
    lda.z b
    cmp.z bDigits
    bcc b26
    jmp b27_from_b25
    // myprintf::@26
  b26:
    // [126] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#14) ← (byte) ' ' -- pbuc1_derefidx_vbuz1=vbuc2 
    lda #' '
    ldy.z bLen
    sta strTemp,y
    // [127] (byte) myprintf::bLen#6 ← ++ (byte) myprintf::bLen#14 -- vbuz1=_inc_vbuz1 
    inc.z bLen
    // [128] (byte) myprintf::bDigits#3 ← -- (byte) myprintf::bDigits#10 -- vbuz1=_dec_vbuz1 
    dec.z bDigits
    jmp b25_from_b26
    // myprintf::@23
  b23:
    // [129] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#13) ← *((const byte[6]) myprintf::buf6#0 + (byte) myprintf::digit#3) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuxx 
    lda buf6,x
    ldy.z bLen
    sta strTemp,y
    // [130] (byte) myprintf::bLen#5 ← ++ (byte) myprintf::bLen#13 -- vbuz1=_inc_vbuz1 
    inc.z bLen
    // [131] (byte) myprintf::digit#2 ← ++ (byte) myprintf::digit#3 -- vbuxx=_inc_vbuxx 
    inx
    // [120] phi from myprintf::@23 to myprintf::@22 [phi:myprintf::@23->myprintf::@22]
  b22_from_b23:
    // [120] phi (byte) myprintf::bLen#13 = (byte) myprintf::bLen#5 [phi:myprintf::@23->myprintf::@22#0] -- register_copy 
    // [120] phi (byte) myprintf::digit#3 = (byte) myprintf::digit#2 [phi:myprintf::@23->myprintf::@22#1] -- register_copy 
    jmp b22
    // myprintf::@19
  b19:
    // [132] if((byte) myprintf::bLeadZero#11==(byte) 0) goto myprintf::@20 -- vbuz1_eq_0_then_la1 
    lda.z bLeadZero
    cmp #0
    beq b20_from_b19
    // [134] phi from myprintf::@19 to myprintf::@21 [phi:myprintf::@19->myprintf::@21]
  b21_from_b19:
    // [134] phi (byte~) myprintf::$43 = (byte) '0' [phi:myprintf::@19->myprintf::@21#0] -- vbuaa=vbuc1 
    lda #'0'
    jmp b21
    // [133] phi from myprintf::@19 to myprintf::@20 [phi:myprintf::@19->myprintf::@20]
  b20_from_b19:
    jmp b20
    // myprintf::@20
  b20:
    // [134] phi from myprintf::@20 to myprintf::@21 [phi:myprintf::@20->myprintf::@21]
  b21_from_b20:
    // [134] phi (byte~) myprintf::$43 = (byte) ' ' [phi:myprintf::@20->myprintf::@21#0] -- vbuaa=vbuc1 
    lda #' '
    jmp b21
    // myprintf::@21
  b21:
    // [135] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#12) ← (byte~) myprintf::$43 -- pbuc1_derefidx_vbuz1=vbuaa 
    ldy.z bLen
    sta strTemp,y
    // [136] (byte) myprintf::bLen#4 ← ++ (byte) myprintf::bLen#12 -- vbuz1=_inc_vbuz1 
    inc.z bLen
    // [137] (byte) myprintf::bDigits#2 ← -- (byte) myprintf::bDigits#12 -- vbuz1=_dec_vbuz1 
    dec.z bDigits
    jmp b18_from_b21
    // myprintf::@15
  b15:
    // [138] (byte) myprintf::b#5 ← ++ (byte) myprintf::b#17 -- vbuz1=_inc_vbuz1 
    inc.z b
    // [113] phi from myprintf::@15 to myprintf::@14 [phi:myprintf::@15->myprintf::@14]
  b14_from_b15:
    // [113] phi (byte) myprintf::b#17 = (byte) myprintf::b#5 [phi:myprintf::@15->myprintf::@14#0] -- register_copy 
    jmp b14
    // myprintf::@8
  b8:
    // [139] (byte~) myprintf::$50 ← (byte)(word) myprintf::w#10 -- vbuaa=_byte_vwuz1 
    lda.z w
    // [140] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#10) ← (byte~) myprintf::$50 -- pbuc1_derefidx_vbuz1=vbuaa 
    // "switch" is the normal way -- not supported -- https://gitlab.com/camelot/kickc/issues/170
    ldy.z bLen
    sta strTemp,y
    // [141] (byte) myprintf::bLen#1 ← ++ (byte) myprintf::bLen#10 -- vbuz1=_inc_vbuz1 
    inc.z bLen
    jmp b27_from_b8
    // myprintf::@28
  b28:
    // [142] (byte) myprintf::bDigits#1 ← (byte) myprintf::b#1 - (byte) '0' -- vbuz1=vbuxx_minus_vbuc1 
    txa
    axs #'0'
    stx.z bDigits
    // [79] phi from myprintf::@28 myprintf::@36 to myprintf::@1 [phi:myprintf::@28/myprintf::@36->myprintf::@1]
  b1_from_b28:
  b1_from_b36:
    // [79] phi (byte) myprintf::bLeadZero#11 = (byte) myprintf::bLeadZero#11 [phi:myprintf::@28/myprintf::@36->myprintf::@1#0] -- register_copy 
    // [79] phi (byte) myprintf::bDigits#16 = (byte) myprintf::bDigits#1 [phi:myprintf::@28/myprintf::@36->myprintf::@1#1] -- register_copy 
    // [79] phi (byte) myprintf::bTrailing#11 = (byte) myprintf::bTrailing#11 [phi:myprintf::@28/myprintf::@36->myprintf::@1#2] -- register_copy 
    // [79] phi (word) myprintf::w#10 = (word) myprintf::w#10 [phi:myprintf::@28/myprintf::@36->myprintf::@1#3] -- register_copy 
    // [79] phi (byte) myprintf::bArg#10 = (byte) myprintf::bArg#10 [phi:myprintf::@28/myprintf::@36->myprintf::@1#4] -- register_copy 
    // [79] phi (byte) myprintf::bLen#10 = (byte) myprintf::bLen#10 [phi:myprintf::@28/myprintf::@36->myprintf::@1#5] -- register_copy 
    // [79] phi (byte) myprintf::bFormat#10 = (byte) myprintf::bFormat#10 [phi:myprintf::@28/myprintf::@36->myprintf::@1#6] -- register_copy 
    // [79] phi (byte*) myprintf::str#10 = (byte*) myprintf::str#10 [phi:myprintf::@28/myprintf::@36->myprintf::@1#7] -- register_copy 
    jmp b1
    // myprintf::@4
  b4:
    // [143] if((byte) myprintf::b#1!=(byte) '%') goto myprintf::@32 -- vbuxx_neq_vbuc1_then_la1 
    cpx #'%'
    bne b32
    jmp b38
    // myprintf::@38
  b38:
    // [144] if((byte) myprintf::bArg#10==(byte) 0) goto myprintf::@33 -- 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.z bArg
    cmp #0
    beq b33
    jmp b39
    // myprintf::@39
  b39:
    // [145] if((byte) myprintf::bArg#10==(byte) 1) goto myprintf::@34 -- vbuz1_eq_vbuc1_then_la1 
    lda #1
    cmp.z bArg
    beq b34
    jmp b40
    // myprintf::@40
  b40:
    // [146] (word~) myprintf::w#53 ← (word) myprintf::w3#8 -- vwuz1=vwuz2 
    lda.z w3
    sta.z w
    lda.z w3+1
    sta.z w+1
    // [147] phi from myprintf::@33 myprintf::@34 myprintf::@40 to myprintf::@35 [phi:myprintf::@33/myprintf::@34/myprintf::@40->myprintf::@35]
  b35_from_b33:
  b35_from_b34:
  b35_from_b40:
    // [147] phi (word) myprintf::w#21 = (word~) myprintf::w#51 [phi:myprintf::@33/myprintf::@34/myprintf::@40->myprintf::@35#0] -- register_copy 
    jmp b35
    // myprintf::@35
  b35:
    // [148] (byte) myprintf::bArg#1 ← ++ (byte) myprintf::bArg#10 -- vbuz1=_inc_vbuz1 
    inc.z bArg
    // [79] phi from myprintf::@35 to myprintf::@1 [phi:myprintf::@35->myprintf::@1]
  b1_from_b35:
    // [79] phi (byte) myprintf::bLeadZero#11 = (byte) 0 [phi:myprintf::@35->myprintf::@1#0] -- vbuz1=vbuc1 
    lda #0
    sta.z bLeadZero
    // [79] phi (byte) myprintf::bDigits#16 = (byte) 1 [phi:myprintf::@35->myprintf::@1#1] -- vbuz1=vbuc1 
    lda #1
    sta.z bDigits
    // [79] phi (byte) myprintf::bTrailing#11 = (byte) 0 [phi:myprintf::@35->myprintf::@1#2] -- vbuz1=vbuc1 
    lda #0
    sta.z bTrailing
    // [79] phi (word) myprintf::w#10 = (word) myprintf::w#21 [phi:myprintf::@35->myprintf::@1#3] -- register_copy 
    // [79] phi (byte) myprintf::bArg#10 = (byte) myprintf::bArg#1 [phi:myprintf::@35->myprintf::@1#4] -- register_copy 
    // [79] phi (byte) myprintf::bLen#10 = (byte) myprintf::bLen#10 [phi:myprintf::@35->myprintf::@1#5] -- register_copy 
    // [79] phi (byte) myprintf::bFormat#10 = (byte) 1 [phi:myprintf::@35->myprintf::@1#6] -- vbuz1=vbuc1 
    lda #1
    sta.z bFormat
    // [79] phi (byte*) myprintf::str#10 = (byte*) myprintf::str#10 [phi:myprintf::@35->myprintf::@1#7] -- register_copy 
    jmp b1
    // myprintf::@34
  b34:
    // [149] (word~) myprintf::w#52 ← (word) myprintf::w2#8 -- vwuz1=vwuz2 
    lda.z w2
    sta.z w
    lda.z w2+1
    sta.z w+1
    jmp b35_from_b34
    // myprintf::@33
  b33:
    // [150] (word~) myprintf::w#51 ← (word) myprintf::w1#7 -- vwuz1=vwuz2 
    lda.z w1
    sta.z w
    lda.z w1+1
    sta.z w+1
    jmp b35_from_b33
    // myprintf::@32
  b32:
    // [151] if((byte) myprintf::b#1<(byte) $41) goto myprintf::@36 -- vbuxx_lt_vbuc1_then_la1 
    cpx #$41
    bcc b36_from_b32
    jmp b46
    // myprintf::@46
  b46:
    // [152] if((byte) myprintf::b#1>=(byte) $5a+(byte) 1) goto myprintf::@36 -- vbuxx_ge_vbuc1_then_la1 
    cpx #$5a+1
    bcs b36_from_b46
    jmp b41
    // myprintf::@41
  b41:
    // [153] (byte) myprintf::b#6 ← (byte) myprintf::b#1 + (byte) $20 -- vbuxx=vbuxx_plus_vbuc1 
    txa
    axs #-[$20]
    // [154] phi from myprintf::@32 myprintf::@41 to myprintf::@36 [phi:myprintf::@32/myprintf::@41->myprintf::@36]
  b36_from_b32:
  b36_from_b41:
    // [154] phi (byte) myprintf::b#25 = (byte) myprintf::b#1 [phi:myprintf::@32/myprintf::@41->myprintf::@36#0] -- register_copy 
    jmp b36
    // [154] phi from myprintf::@46 to myprintf::@36 [phi:myprintf::@46->myprintf::@36]
  b36_from_b46:
    jmp b36
    // myprintf::@36
  b36:
    // [155] *((const byte[$64]) strTemp#0 + (byte) myprintf::bLen#10) ← (byte) myprintf::b#25 -- pbuc1_derefidx_vbuz1=vbuxx 
    // swap 0x41 / 0x61 when in lower case mode
    ldy.z bLen
    txa
    sta strTemp,y
    // [156] (byte) myprintf::bLen#7 ← ++ (byte) myprintf::bLen#10 -- vbuz1=_inc_vbuz1 
    inc.z bLen
    // [157] (byte*) myprintf::str#0 ← ++ (byte*) myprintf::str#10 -- pbuz1=_inc_pbuz1 
    inc.z str
    bne !+
    inc.z str+1
  !:
    jmp b1_from_b36
    buf6: .fill 6, 0
}
  // utoa
// utoa(word zeropage($11) value, byte* zeropage($13) dst)
utoa: {
    .label value = $11
    .label dst = $13
    jmp b13
    // utoa::@13
  b13:
    // [159] if((word) utoa::value#4>=(word) $2710) goto utoa::@5 -- vwuz1_ge_vwuc1_then_la1 
    lda.z value+1
    cmp #>$2710
    bcc !+
    bne b5
    lda.z value
    cmp #<$2710
    bcs b5
  !:
    // [160] phi from utoa::@13 to utoa::@1 [phi:utoa::@13->utoa::@1]
  b1_from_b13:
    // [160] phi (byte*) utoa::dst#16 = (const byte[6]) myprintf::buf6#0 [phi:utoa::@13->utoa::@1#0] -- pbuz1=pbuc1 
    lda #<myprintf.buf6
    sta.z dst
    lda #>myprintf.buf6
    sta.z dst+1
    // [160] phi (word) utoa::value#6 = (word) utoa::value#4 [phi:utoa::@13->utoa::@1#1] -- register_copy 
    // [160] phi (byte) utoa::bStarted#5 = (byte) 0 [phi:utoa::@13->utoa::@1#2] -- vbuxx=vbuc1 
    ldx #0
    jmp b1
    // utoa::@1
  b1:
    // [161] if((byte) utoa::bStarted#5==(byte) 1) goto utoa::@6 -- vbuxx_eq_vbuc1_then_la1 
    cpx #1
    beq b6
    jmp b14
    // utoa::@14
  b14:
    // [162] if((word) utoa::value#6>=(word) $3e8) goto utoa::@6 -- vwuz1_ge_vwuc1_then_la1 
    lda.z value+1
    cmp #>$3e8
    bcc !+
    bne b6
    lda.z value
    cmp #<$3e8
    bcs b6
  !:
    // [163] phi from utoa::@14 to utoa::@2 [phi:utoa::@14->utoa::@2]
  b2_from_b14:
    // [163] phi (byte*) utoa::dst#10 = (byte*) utoa::dst#16 [phi:utoa::@14->utoa::@2#0] -- register_copy 
    // [163] phi (word) utoa::value#11 = (word) utoa::value#6 [phi:utoa::@14->utoa::@2#1] -- register_copy 
    // [163] phi (byte) utoa::bStarted#6 = (byte) utoa::bStarted#5 [phi:utoa::@14->utoa::@2#2] -- register_copy 
    jmp b2
    // utoa::@2
  b2:
    // [164] if((byte) utoa::bStarted#6==(byte) 1) goto utoa::@7 -- vbuxx_eq_vbuc1_then_la1 
    cpx #1
    beq b7
    jmp b15
    // utoa::@15
  b15:
    // [165] if((word) utoa::value#11>=(byte) $64) goto utoa::@7 -- vwuz1_ge_vwuc1_then_la1 
    lda.z value+1
    cmp #>$64
    bcc !+
    bne b7
    lda.z value
    cmp #<$64
    bcs b7
  !:
    // [166] phi from utoa::@15 to utoa::@3 [phi:utoa::@15->utoa::@3]
  b3_from_b15:
    // [166] phi (byte*) utoa::dst#13 = (byte*) utoa::dst#10 [phi:utoa::@15->utoa::@3#0] -- register_copy 
    // [166] phi (word) utoa::value#10 = (word) utoa::value#11 [phi:utoa::@15->utoa::@3#1] -- register_copy 
    // [166] phi (byte) utoa::bStarted#7 = (byte) utoa::bStarted#6 [phi:utoa::@15->utoa::@3#2] -- register_copy 
    jmp b3
    // utoa::@3
  b3:
    // [167] if((byte) utoa::bStarted#7==(byte) 1) goto utoa::@8 -- vbuxx_eq_vbuc1_then_la1 
    cpx #1
    beq b8
    jmp b16
    // utoa::@16
  b16:
    // [168] if((word) utoa::value#10>=(byte) $a) goto utoa::@8 -- vwuz1_ge_vwuc1_then_la1 
    lda.z value+1
    cmp #>$a
    bcc !+
    bne b8
    lda.z value
    cmp #<$a
    bcs b8
  !:
    // [169] phi from utoa::@12 utoa::@16 to utoa::@4 [phi:utoa::@12/utoa::@16->utoa::@4]
  b4_from_b12:
  b4_from_b16:
    // [169] phi (byte*) utoa::dst#12 = (byte*) utoa::dst#4 [phi:utoa::@12/utoa::@16->utoa::@4#0] -- register_copy 
    // [169] phi (word) utoa::value#12 = (word) utoa::value#3 [phi:utoa::@12/utoa::@16->utoa::@4#1] -- register_copy 
    jmp b4
    // utoa::@4
  b4:
    // [170] (byte~) utoa::$16 ← (byte)(word) utoa::value#12 -- vbuaa=_byte_vwuz1 
    lda.z value
    // [171] (byte~) utoa::$17 ← (byte) '0' + (byte~) utoa::$16 -- vbuaa=vbuc1_plus_vbuaa 
    clc
    adc #'0'
    // [172] *((byte*) utoa::dst#12) ← (byte~) utoa::$17 -- _deref_pbuz1=vbuaa 
    ldy #0
    sta (dst),y
    // [173] (byte*) utoa::dst#3 ← ++ (byte*) utoa::dst#12 -- pbuz1=_inc_pbuz1 
    inc.z dst
    bne !+
    inc.z dst+1
  !:
    // [174] *((byte*) utoa::dst#3) ← (byte) 0 -- _deref_pbuz1=vbuc1 
    lda #0
    ldy #0
    sta (dst),y
    jmp breturn
    // utoa::@return
  breturn:
    // [175] return 
    rts
    // utoa::@8
  b8:
    // [176] (byte*) append::dst#3 ← (byte*) utoa::dst#13
    // [177] (word) append::value#4 ← (word) utoa::value#10
    // [178] call append 
    // [198] phi from utoa::@8 to append [phi:utoa::@8->append]
  append_from_b8:
    // [198] phi (word) append::sub#6 = (byte) $a [phi:utoa::@8->append#0] -- vwuz1=vbuc1 
    lda #<$a
    sta.z append.sub
    lda #>$a
    sta.z append.sub+1
    // [198] phi (word) append::value#8 = (word) append::value#4 [phi:utoa::@8->append#1] -- register_copy 
    // [198] phi (byte*) append::dst#4 = (byte*) append::dst#3 [phi:utoa::@8->append#2] -- register_copy 
    jsr append
    // [179] (word) append::return#10 ← (word) append::value#5
    jmp b12
    // utoa::@12
  b12:
    // [180] (word) utoa::value#3 ← (word) append::return#10
    // [181] (byte*) utoa::dst#4 ← ++ (byte*) utoa::dst#13 -- pbuz1=_inc_pbuz1 
    inc.z dst
    bne !+
    inc.z dst+1
  !:
    jmp b4_from_b12
    // utoa::@7
  b7:
    // [182] (byte*) append::dst#2 ← (byte*) utoa::dst#10
    // [183] (word) append::value#3 ← (word) utoa::value#11
    // [184] call append 
    // [198] phi from utoa::@7 to append [phi:utoa::@7->append]
  append_from_b7:
    // [198] phi (word) append::sub#6 = (byte) $64 [phi:utoa::@7->append#0] -- vwuz1=vbuc1 
    lda #<$64
    sta.z append.sub
    lda #>$64
    sta.z append.sub+1
    // [198] phi (word) append::value#8 = (word) append::value#3 [phi:utoa::@7->append#1] -- register_copy 
    // [198] phi (byte*) append::dst#4 = (byte*) append::dst#2 [phi:utoa::@7->append#2] -- register_copy 
    jsr append
    // [185] (word) append::return#4 ← (word) append::value#5
    jmp b11
    // utoa::@11
  b11:
    // [186] (word) utoa::value#2 ← (word) append::return#4
    // [187] (byte*) utoa::dst#2 ← ++ (byte*) utoa::dst#10 -- pbuz1=_inc_pbuz1 
    inc.z dst
    bne !+
    inc.z dst+1
  !:
    // [166] phi from utoa::@11 to utoa::@3 [phi:utoa::@11->utoa::@3]
  b3_from_b11:
    // [166] phi (byte*) utoa::dst#13 = (byte*) utoa::dst#2 [phi:utoa::@11->utoa::@3#0] -- register_copy 
    // [166] phi (word) utoa::value#10 = (word) utoa::value#2 [phi:utoa::@11->utoa::@3#1] -- register_copy 
    // [166] phi (byte) utoa::bStarted#7 = (byte) 1 [phi:utoa::@11->utoa::@3#2] -- vbuxx=vbuc1 
    ldx #1
    jmp b3
    // utoa::@6
  b6:
    // [188] (byte*) append::dst#1 ← (byte*) utoa::dst#16
    // [189] (word) append::value#2 ← (word) utoa::value#6
    // [190] call append 
    // [198] phi from utoa::@6 to append [phi:utoa::@6->append]
  append_from_b6:
    // [198] phi (word) append::sub#6 = (word) $3e8 [phi:utoa::@6->append#0] -- vwuz1=vwuc1 
    lda #<$3e8
    sta.z append.sub
    lda #>$3e8
    sta.z append.sub+1
    // [198] phi (word) append::value#8 = (word) append::value#2 [phi:utoa::@6->append#1] -- register_copy 
    // [198] phi (byte*) append::dst#4 = (byte*) append::dst#1 [phi:utoa::@6->append#2] -- register_copy 
    jsr append
    // [191] (word) append::return#3 ← (word) append::value#5
    jmp b10
    // utoa::@10
  b10:
    // [192] (word) utoa::value#1 ← (word) append::return#3
    // [193] (byte*) utoa::dst#1 ← ++ (byte*) utoa::dst#16 -- pbuz1=_inc_pbuz1 
    inc.z dst
    bne !+
    inc.z dst+1
  !:
    // [163] phi from utoa::@10 to utoa::@2 [phi:utoa::@10->utoa::@2]
  b2_from_b10:
    // [163] phi (byte*) utoa::dst#10 = (byte*) utoa::dst#1 [phi:utoa::@10->utoa::@2#0] -- register_copy 
    // [163] phi (word) utoa::value#11 = (word) utoa::value#1 [phi:utoa::@10->utoa::@2#1] -- register_copy 
    // [163] phi (byte) utoa::bStarted#6 = (byte) 1 [phi:utoa::@10->utoa::@2#2] -- vbuxx=vbuc1 
    ldx #1
    jmp b2
    // utoa::@5
  b5:
    // [194] (word) append::value#1 ← (word) utoa::value#4
    // [195] call append 
    // [198] phi from utoa::@5 to append [phi:utoa::@5->append]
  append_from_b5:
    // [198] phi (word) append::sub#6 = (word) $2710 [phi:utoa::@5->append#0] -- vwuz1=vwuc1 
    lda #<$2710
    sta.z append.sub
    lda #>$2710
    sta.z append.sub+1
    // [198] phi (word) append::value#8 = (word) append::value#1 [phi:utoa::@5->append#1] -- register_copy 
    // [198] phi (byte*) append::dst#4 = (const byte[6]) myprintf::buf6#0 [phi:utoa::@5->append#2] -- pbuz1=pbuc1 
    lda #<myprintf.buf6
    sta.z append.dst
    lda #>myprintf.buf6
    sta.z append.dst+1
    jsr append
    // [196] (word) append::return#2 ← (word) append::value#5
    jmp b9
    // utoa::@9
  b9:
    // [197] (word) utoa::value#0 ← (word) append::return#2
    // [160] phi from utoa::@9 to utoa::@1 [phi:utoa::@9->utoa::@1]
  b1_from_b9:
    // [160] phi (byte*) utoa::dst#16 = ++(const byte[6]) myprintf::buf6#0 [phi:utoa::@9->utoa::@1#0] -- pbuz1=pbuc1 
    lda #<myprintf.buf6+1
    sta.z dst
    lda #>myprintf.buf6+1
    sta.z dst+1
    // [160] phi (word) utoa::value#6 = (word) utoa::value#0 [phi:utoa::@9->utoa::@1#1] -- register_copy 
    // [160] 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($13) dst, word zeropage($11) value, word zeropage($15) sub)
append: {
    .label value = $11
    .label return = $11
    .label dst = $13
    .label sub = $15
    // [199] *((byte*) append::dst#4) ← (byte) '0' -- _deref_pbuz1=vbuc1 
    lda #'0'
    ldy #0
    sta (dst),y
    // [200] phi from append append::@2 to append::@1 [phi:append/append::@2->append::@1]
  b1_from_append:
  b1_from_b2:
    // [200] phi (word) append::value#5 = (word) append::value#8 [phi:append/append::@2->append::@1#0] -- register_copy 
    jmp b1
    // append::@1
  b1:
    // [201] if((word) append::value#5>=(word) append::sub#6) goto append::@2 -- vwuz1_ge_vwuz2_then_la1 
    lda.z sub+1
    cmp.z value+1
    bne !+
    lda.z sub
    cmp.z value
    beq b2
  !:
    bcc b2
    jmp breturn
    // append::@return
  breturn:
    // [202] return 
    rts
    // append::@2
  b2:
    // [203] *((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
    // [204] (word) append::value#0 ← (word) append::value#5 - (word) append::sub#6 -- vwuz1=vwuz1_minus_vwuz2 
    lda.z value
    sec
    sbc.z sub
    sta.z value
    lda.z value+1
    sbc.z sub+1
    sta.z value+1
    jmp b1_from_b2
}
  // div10
// div10(word zeropage($13) val)
div10: {
    .label _0 = $13
    .label _2 = $15
    .label _3 = $17
    .label _4 = 4
    .label val = $13
    .label val_1 = $15
    .label val_2 = $17
    .label val_3 = 4
    .label return = 4
    .label val_4 = 2
    // [205] (word~) div10::$0 ← (word) div10::val#4 >> (byte) 1 -- vwuz1=vwuz2_ror_1 
    lda.z val_4+1
    lsr
    sta.z _0+1
    lda.z val_4
    ror
    sta.z _0
    // [206] (word) div10::val#0 ← (word~) div10::$0 + (byte) 1 -- vwuz1=vwuz1_plus_1 
    inc.z val
    bne !+
    inc.z val+1
  !:
    // [207] (word~) div10::$2 ← (word) div10::val#0 << (byte) 1 -- vwuz1=vwuz2_rol_1 
    lda.z val
    asl
    sta.z _2
    lda.z val+1
    rol
    sta.z _2+1
    // [208] (word) div10::val#1 ← (word) div10::val#0 + (word~) div10::$2 -- vwuz1=vwuz2_plus_vwuz1 
    lda.z val_1
    clc
    adc.z val
    sta.z val_1
    lda.z val_1+1
    adc.z val+1
    sta.z val_1+1
    // [209] (word~) div10::$3 ← (word) div10::val#1 >> (byte) 4 -- vwuz1=vwuz2_ror_4 
    lda.z val_1+1
    lsr
    sta.z _3+1
    lda.z val_1
    ror
    sta.z _3
    lsr.z _3+1
    ror.z _3
    lsr.z _3+1
    ror.z _3
    lsr.z _3+1
    ror.z _3
    // [210] (word) div10::val#2 ← (word) div10::val#1 + (word~) div10::$3 -- vwuz1=vwuz2_plus_vwuz1 
    lda.z val_2
    clc
    adc.z val_1
    sta.z val_2
    lda.z val_2+1
    adc.z val_1+1
    sta.z val_2+1
    // [211] (word~) div10::$4 ← (word) div10::val#2 >> (byte) 8 -- vwuz1=vwuz2_ror_8 
    lda.z val_2+1
    sta.z _4
    lda #0
    sta.z _4+1
    // [212] (word) div10::val#3 ← (word) div10::val#2 + (word~) div10::$4 -- vwuz1=vwuz2_plus_vwuz1 
    lda.z val_3
    clc
    adc.z val_2
    sta.z val_3
    lda.z val_3+1
    adc.z val_2+1
    sta.z val_3+1
    // [213] (word) div10::return#0 ← (word) div10::val#3 >> (byte) 4 -- vwuz1=vwuz1_ror_4 
    lsr.z return+1
    ror.z return
    lsr.z return+1
    ror.z return
    lsr.z return+1
    ror.z return
    lsr.z return+1
    ror.z return
    jmp breturn
    // div10::@return
  breturn:
    // [214] 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 b3
Removing instruction jmp b7
Removing instruction jmp breturn
Removing instruction jmp b9
Removing instruction jmp b11
Removing instruction jmp b16
Removing instruction jmp b17
Removing instruction jmp b15
Removing instruction jmp b4
Removing instruction jmp b6
Removing instruction jmp b13
Removing instruction jmp b14
Removing instruction jmp b12
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
Removing instruction jmp breturn
Removing instruction jmp b1
Removing instruction jmp b3
Removing instruction jmp breturn
Removing instruction jmp b37
Removing instruction jmp b42
Removing instruction jmp b6
Removing instruction jmp b29
Removing instruction jmp b30
Removing instruction jmp b43
Removing instruction jmp b27
Removing instruction jmp b10
Removing instruction jmp b11
Removing instruction jmp b12
Removing instruction jmp b13
Removing instruction jmp b14
Removing instruction jmp b16
Removing instruction jmp b44
Removing instruction jmp b18
Removing instruction jmp b17
Removing instruction jmp b22
Removing instruction jmp b24
Removing instruction jmp b45
Removing instruction jmp b25
Removing instruction jmp b20
Removing instruction jmp b21
Removing instruction jmp b38
Removing instruction jmp b39
Removing instruction jmp b40
Removing instruction jmp b35
Removing instruction jmp b46
Removing instruction jmp b41
Removing instruction jmp b36
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
Succesful ASM optimization Pass5NextJumpElimination
Removing instruction lda #>0
Removing instruction lda #0
Removing instruction lda #0
Removing instruction lda #0
Removing instruction lda #0
Replacing instruction lda #<0 with TXA
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.z bLen
Replacing instruction ldy #0 with TAY
Removing instruction ldy #0
Removing instruction lda.z val_1+1
Removing instruction lda.z val_2+1
Succesful ASM optimization Pass5UnnecesaryLoadElimination
Replacing label b9_from_b15 with b9
Replacing label b4_from_b12 with b4
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
Replacing label b10_from_b31 with b10
Replacing label b12_from_b11 with b12
Replacing label b27_from_b13 with b27_from_b8
Replacing label b17_from_b16 with b17_from_b18
Replacing label b17_from_b44 with b17
Replacing label b27_from_b24 with b27_from_b8
Replacing label b27_from_b45 with b27
Replacing label b27_from_b25 with b27_from_b8
Replacing label b25_from_b26 with b25
Replacing label b20_from_b19 with b20
Replacing label b18_from_b21 with b18
Replacing label b35_from_b34 with b35
Replacing label b35_from_b33 with b35
Replacing label b36_from_b32 with b36_from_b41
Replacing label b36_from_b46 with b36
Replacing label b4_from_b12 with b4
Replacing label b1_from_b2 with b1
Removing instruction b1_from_bbegin:
Removing instruction b1:
Removing instruction bend_from_b1:
Removing instruction b9_from_b15:
Removing instruction b9_from_b8:
Removing instruction b16_from_b11:
Removing instruction b4_from_b12:
Removing instruction b4_from_b2:
Removing instruction b13_from_b6:
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:
Removing instruction breturn:
Removing instruction b27_from_b13:
Removing instruction b27_from_b24:
Removing instruction b27_from_b25:
Removing instruction b27_from_b43:
Removing instruction b27_from_b45:
Removing instruction b1_from_b27:
Removing instruction b10_from_b31:
Removing instruction b11_from_b10:
Removing instruction b12_from_b11:
Removing instruction b13_from_b12:
Removing instruction b18_from_b21:
Removing instruction b18_from_b44:
Removing instruction b17_from_b16:
Removing instruction b17_from_b44:
Removing instruction b22_from_b17:
Removing instruction b25_from_b26:
Removing instruction b25_from_b45:
Removing instruction b20_from_b19:
Removing instruction b21_from_b20:
Removing instruction b1_from_b28:
Removing instruction b35_from_b33:
Removing instruction b35_from_b34:
Removing instruction b35_from_b40:
Removing instruction b36_from_b32:
Removing instruction b36_from_b46:
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:
Succesful ASM optimization Pass5RedundantLabelElimination
Removing instruction bend:
Removing instruction b1_from_main:
Removing instruction b3:
Removing instruction b7_from_b3:
Removing instruction breturn:
Removing instruction b11:
Removing instruction myprintf_from_b11:
Removing instruction b16:
Removing instruction b17:
Removing instruction b7_from_b17:
Removing instruction b15:
Removing instruction b6:
Removing instruction myprintf_from_b6:
Removing instruction b13:
Removing instruction b14:
Removing instruction b1_from_b14:
Removing instruction b12:
Removing instruction divr16u_from_div16u:
Removing instruction b1:
Removing instruction b1_from_divr16u:
Removing instruction b4:
Removing instruction b5:
Removing instruction breturn:
Removing instruction b1_from_myprintf:
Removing instruction b3:
Removing instruction breturn:
Removing instruction b37:
Removing instruction b1_from_b37:
Removing instruction b42:
Removing instruction b1_from_b6:
Removing instruction b29:
Removing instruction b30:
Removing instruction b43:
Removing instruction b11_from_b31:
Removing instruction b13_from_b11:
Removing instruction utoa_from_b9:
Removing instruction b14_from_b9:
Removing instruction b16:
Removing instruction b44:
Removing instruction b24:
Removing instruction b45:
Removing instruction b22_from_b23:
Removing instruction b21_from_b19:
Removing instruction b14_from_b15:
Removing instruction b38:
Removing instruction b39:
Removing instruction b40:
Removing instruction b1_from_b35:
Removing instruction b46:
Removing instruction b41:
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:
Succesful ASM optimization Pass5UnusedLabelElimination
Updating BasicUpstart to call main directly
Removing instruction jsr main
Succesful ASM optimization Pass5SkipBegin
Skipping double jump to b27 in jmp b27_from_b8
Skipping double jump to b17 in bne b17_from_b18
Skipping double jump to b27 in beq b27_from_b8
Skipping double jump to b27 in jmp b27_from_b8
Skipping double jump to b27 in jmp b27_from_b8
Skipping double jump to b36 in bcc b36_from_b41
Skipping double jump to b1 in jmp b1_from_b36
Succesful ASM optimization Pass5DoubleJumpElimination
Relabelling long label b27_from_b8 to b3
Relabelling long label b17_from_b18 to b16
Relabelling long label b1_from_b36 to b24
Relabelling long label b36_from_b41 to b29
Succesful ASM optimization Pass5RelabelLongLabels
Removing instruction jmp b1
Removing instruction jmp b27
Removing instruction jmp b17
Removing instruction jmp b36
Succesful ASM optimization Pass5NextJumpElimination
Removing instruction lda #<0
Replacing instruction lda #0 with TYA
Replacing instruction lda.z b with TYA
Succesful ASM optimization Pass5UnnecesaryLoadElimination
Replacing label b27 with b3
Replacing label b27 with b3
Replacing label b27 with b3
Replacing label b27 with b3
Replacing label b27 with b3
Removing instruction b27:
Removing instruction b16:
Removing instruction b29:
Succesful ASM optimization Pass5RedundantLabelElimination
Removing instruction bbegin:
Removing instruction b24:
Succesful ASM optimization Pass5UnusedLabelElimination
Fixing long branch [366] bcs b3 to bcc
Fixing long branch [264] beq b4 to bne
Fixing long branch [276] bcc b28 to bcs
Fixing long branch [279] beq b28 to bne
Fixing long branch [290] beq b8 to bne
Fixing long branch [490] bne b5 to beq
Fixing long branch [495] 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:19 2.0
(byte*) append::dst#2 dst zp ZP_WORD:19 2.0
(byte*) append::dst#3 dst zp ZP_WORD:19 2.0
(byte*) append::dst#4 dst zp ZP_WORD:19 335.0
(word) append::return
(word) append::return#10 return zp ZP_WORD:17 4.0
(word) append::return#2 return zp ZP_WORD:17 4.0
(word) append::return#3 return zp ZP_WORD:17 4.0
(word) append::return#4 return zp ZP_WORD:17 4.0
(word) append::sub
(word) append::sub#6 sub zp ZP_WORD:21 333.6666666666667
(word) append::value
(word) append::value#0 value zp ZP_WORD:17 2002.0
(word) append::value#1 value zp ZP_WORD:17 4.0
(word) append::value#2 value zp ZP_WORD:17 4.0
(word) append::value#3 value zp ZP_WORD:17 4.0
(word) append::value#4 value zp ZP_WORD:17 4.0
(word) append::value#5 value zp ZP_WORD:17 376.625
(word) append::value#8 value zp ZP_WORD:17 5.0
(word()) div10((word) div10::val)
(word~) div10::$0 $0 zp ZP_WORD:19 4.0
(word~) div10::$2 $2 zp ZP_WORD:21 4.0
(word~) div10::$3 $3 zp ZP_WORD:23 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:19 3.0
(word) div10::val#1 val#1 zp ZP_WORD:21 3.0
(word) div10::val#2 val#2 zp ZP_WORD:23 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:6 250.25
(word) divr16u::dividend#1 dividend zp ZP_WORD:6 2.0
(word) divr16u::dividend#2 dividend zp ZP_WORD:6 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:23 750.75
(word) divr16u::rem#1 rem zp ZP_WORD:23 2002.0
(word) divr16u::rem#2 rem zp ZP_WORD:23 2002.0
(word) divr16u::rem#4 rem zp ZP_WORD:23 2002.0
(word) divr16u::rem#5 rem zp ZP_WORD:23 1001.0
(word) divr16u::rem#9 rem zp ZP_WORD:23 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::$12 $12 zp ZP_WORD:23 22.0
(word~) main::$13 $13 zp ZP_WORD:23 11.0
(word~) main::$14 $14 zp ZP_WORD:15 22.0
(word~) main::$3 $3 zp ZP_WORD:23 22.0
(word~) main::$4 $4 zp ZP_WORD:23 11.0
(word~) main::$5 $5 zp ZP_WORD:17 22.0
(label) main::@1
(label) main::@10
(label) main::@11
(label) main::@12
(label) main::@13
(label) main::@14
(label) main::@15
(label) main::@16
(label) main::@17
(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#15 u zp ZP_WORD:2 6.380952380952381
(word) main::u#17 u zp ZP_WORD:2 6.380952380952381
(word) main::u#3 u zp ZP_WORD:2 11.0
(word) main::u#4 u zp ZP_WORD:2 11.0
(word) main::v
(word) main::v#1 v zp ZP_WORD:4 101.0
(word) main::v#10 v zp ZP_WORD:4 4.800000000000001
(word) main::v#11 v zp ZP_WORD:4 10.307692307692308
(word) main::v#12 v zp ZP_WORD:4 4.0
(word) main::v#13 v zp ZP_WORD:4 10.307692307692308
(word) main::v#2 v zp ZP_WORD:4 101.0
(byte()) myprintf((byte*) myprintf::dst , (byte*) myprintf::str , (word) myprintf::w1 , (word) myprintf::w2 , (word) myprintf::w3)
(byte~) myprintf::$18 reg byte a 202.0
(byte~) myprintf::$19 reg byte a 202.0
(byte~) myprintf::$24 reg byte a 101.0
(byte~) myprintf::$25 reg byte a 202.0
(byte~) myprintf::$26 reg byte a 202.0
(byte~) myprintf::$31 reg byte a 101.0
(byte~) myprintf::$32 reg byte a 202.0
(byte~) myprintf::$43 reg byte a 1001.0
(byte~) myprintf::$50 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::@44
(label) myprintf::@45
(label) myprintf::@46
(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:12 248.31999999999996
(byte) myprintf::b#25 reg byte x 303.0
(byte) myprintf::b#5 b zp ZP_BYTE:12 2002.0
(byte) myprintf::b#6 reg byte x 202.0
(byte) myprintf::bArg
(byte) myprintf::bArg#1 bArg zp ZP_BYTE:9 202.0
(byte) myprintf::bArg#10 bArg zp ZP_BYTE:9 18.60526315789474
(byte) myprintf::bDigits
(byte) myprintf::bDigits#1 bDigits zp ZP_BYTE:13 202.0
(byte) myprintf::bDigits#10 bDigits zp ZP_BYTE:13 1026.25
(byte) myprintf::bDigits#12 bDigits zp ZP_BYTE:13 586.4285714285714
(byte) myprintf::bDigits#16 bDigits zp ZP_BYTE:13 30.085106382978733
(byte) myprintf::bDigits#18 bDigits zp ZP_BYTE:13 175.625
(byte) myprintf::bDigits#2 bDigits zp ZP_BYTE:13 2002.0
(byte) myprintf::bDigits#28 bDigits zp ZP_BYTE:13 1506.0
(byte) myprintf::bDigits#3 bDigits zp ZP_BYTE:13 2002.0
(byte) myprintf::bFormat
(byte) myprintf::bFormat#10 bFormat zp ZP_BYTE:8 53.470588235294116
(byte) myprintf::bLeadZero
(byte) myprintf::bLeadZero#11 bLeadZero zp ZP_BYTE:11 25.84285714285714
(byte) myprintf::bLen
(byte) myprintf::bLen#1 bLen zp ZP_BYTE:14 202.0
(byte) myprintf::bLen#10 bLen zp ZP_BYTE:14 44.67441860465115
(byte) myprintf::bLen#11 reg byte y 37.875
(byte) myprintf::bLen#12 bLen zp ZP_BYTE:14 684.1666666666667
(byte) myprintf::bLen#13 bLen zp ZP_BYTE:14 661.2
(byte) myprintf::bLen#14 bLen zp ZP_BYTE:14 1368.3333333333335
(byte) myprintf::bLen#28 bLen zp ZP_BYTE:14 1506.0
(byte) myprintf::bLen#3 bLen zp ZP_BYTE:14 202.0
(byte) myprintf::bLen#36 bLen zp ZP_BYTE:14 1203.0
(byte) myprintf::bLen#4 bLen zp ZP_BYTE:14 1001.0
(byte) myprintf::bLen#5 bLen zp ZP_BYTE:14 1001.0
(byte) myprintf::bLen#6 bLen zp ZP_BYTE:14 1001.0
(byte) myprintf::bLen#7 bLen zp ZP_BYTE:14 101.0
(byte) myprintf::bTrailing
(byte) myprintf::bTrailing#11 bTrailing zp ZP_BYTE:10 14.428571428571429
(byte[6]) myprintf::buf6
(const byte[6]) myprintf::buf6#0 buf6 = { fill( 6, 0) }
(byte) myprintf::digit
(byte) myprintf::digit#2 reg byte x 2002.0
(byte) myprintf::digit#3 reg byte x 1001.0
(byte*) myprintf::dst
(byte) myprintf::return
(byte*) myprintf::str
(byte*) myprintf::str#0 str zp ZP_WORD:6 202.0
(byte*) myprintf::str#10 str zp ZP_WORD:6 18.631578947368425
(byte*) myprintf::str#6 str zp ZP_WORD:6 2.0
(word) myprintf::w
(word) myprintf::w#10 w zp ZP_WORD:15 17.314285714285713
(word) myprintf::w#21 w zp ZP_WORD:15 202.0
(word~) myprintf::w#51 w zp ZP_WORD:15 202.0
(word~) myprintf::w#52 w zp ZP_WORD:15 202.0
(word~) myprintf::w#53 w zp ZP_WORD:15 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#7 w1 zp ZP_WORD:2 1.576923076923077
(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#8 w2 zp ZP_WORD:4 1.576923076923077
(word) myprintf::w3
(word) myprintf::w3#0 w3 zp ZP_WORD:23 7.333333333333333
(word) myprintf::w3#1 w3 zp ZP_WORD:23 7.333333333333333
(word) myprintf::w3#8 w3 zp ZP_WORD:23 1.576923076923077
(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:19 4.0
(byte*) utoa::dst#10 dst zp ZP_WORD:19 1.25
(byte*) utoa::dst#12 dst zp ZP_WORD:19 2.0
(byte*) utoa::dst#13 dst zp ZP_WORD:19 1.25
(byte*) utoa::dst#16 dst zp ZP_WORD:19 0.75
(byte*) utoa::dst#2 dst zp ZP_WORD:19 4.0
(byte*) utoa::dst#3 dst zp ZP_WORD:19 4.0
(byte*) utoa::dst#4 dst zp ZP_WORD:19 4.0
(word) utoa::value
(word) utoa::value#0 value zp ZP_WORD:17 4.0
(word) utoa::value#1 value zp ZP_WORD:17 2.0
(word) utoa::value#10 value zp ZP_WORD:17 2.5
(word) utoa::value#11 value zp ZP_WORD:17 2.5
(word) utoa::value#12 value zp ZP_WORD:17 4.0
(word) utoa::value#2 value zp ZP_WORD:17 2.0
(word) utoa::value#3 value zp ZP_WORD:17 2.0
(word) utoa::value#4 value zp ZP_WORD:17 35.66666666666666
(word) utoa::value#6 value zp ZP_WORD:17 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#15 main::u#3 myprintf::w1#7 myprintf::w1#1 myprintf::w1#0 div16u::dividend#0 main::u#17 main::u#4 div10::val#4 ]
zp ZP_WORD:4 [ main::v#10 main::v#12 main::v#11 main::v#13 main::v#2 main::v#1 myprintf::w2#8 myprintf::w2#1 myprintf::w2#0 div10::return#2 div16u::return#2 div16u::return#0 div10::return#0 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 div10::$4 div10::val#3 ]
reg byte x [ divr16u::i#2 divr16u::i#1 ]
zp ZP_WORD:6 [ myprintf::str#10 myprintf::str#6 myprintf::str#0 divr16u::dividend#2 divr16u::dividend#1 divr16u::dividend#0 ]
zp ZP_BYTE:8 [ myprintf::bFormat#10 ]
zp ZP_BYTE:9 [ myprintf::bArg#10 myprintf::bArg#1 ]
zp ZP_BYTE:10 [ myprintf::bTrailing#11 ]
zp ZP_BYTE:11 [ myprintf::bLeadZero#11 ]
reg byte a [ myprintf::$24 ]
reg byte a [ myprintf::$31 ]
zp ZP_BYTE:12 [ myprintf::b#17 myprintf::b#5 ]
zp ZP_BYTE:13 [ myprintf::bDigits#12 myprintf::bDigits#16 myprintf::bDigits#28 myprintf::bDigits#1 myprintf::bDigits#18 myprintf::bDigits#10 myprintf::bDigits#2 myprintf::bDigits#3 ]
zp ZP_BYTE:14 [ myprintf::bLen#36 myprintf::bLen#12 myprintf::bLen#10 myprintf::bLen#28 myprintf::bLen#7 myprintf::bLen#3 myprintf::bLen#13 myprintf::bLen#14 myprintf::bLen#1 myprintf::bLen#4 myprintf::bLen#5 myprintf::bLen#6 ]
reg byte x [ myprintf::digit#3 myprintf::digit#2 ]
reg byte a [ myprintf::$43 ]
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:15 [ main::$14 myprintf::w#10 myprintf::w#21 myprintf::w#51 myprintf::w#52 myprintf::w#53 ]
zp ZP_WORD:17 [ main::$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 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 ]
reg byte a [ divr16u::$1 ]
reg byte a [ divr16u::$2 ]
reg byte a [ myprintf::$18 ]
reg byte a [ myprintf::$19 ]
reg byte x [ myprintf::b#15 ]
reg byte a [ myprintf::$25 ]
reg byte y [ myprintf::bLen#11 ]
reg byte a [ myprintf::$26 ]
reg byte x [ myprintf::b#16 ]
reg byte a [ myprintf::$32 ]
reg byte a [ myprintf::$50 ]
reg byte a [ utoa::$16 ]
reg byte a [ utoa::$17 ]
zp ZP_WORD:19 [ div10::$0 div10::val#0 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:21 [ div10::$2 div10::val#1 append::sub#6 ]
zp ZP_WORD:23 [ div10::$3 div10::val#2 myprintf::w3#8 myprintf::w3#1 myprintf::w3#0 main::$13 main::$4 main::$12 main::$3 divr16u::rem#4 divr16u::rem#9 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ]


FINAL ASSEMBLER
Score: 361450

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

