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) @8
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::@75
Culled Empty Block (label) myprintf::@76
Culled Empty Block (label) myprintf::@79
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::@70
Culled Empty Block (label) myprintf::@83
Culled Empty Block (label) myprintf::@72
Culled Empty Block (label) myprintf::@73
Culled Empty Block (label) myprintf::@85
Culled Empty Block (label) myprintf::@86
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:@14

(word()) divr16u((word) divr16u::dividend , (word) divr16u::divisor , (word) divr16u::rem)
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 ← (word) 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

(word()) div16u((word) div16u::dividend , (word) div16u::divisor)
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

(word()) append((byte*) append::dst , (word) append::value , (word) append::sub)
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

(void()) utoa((word) utoa::value , (byte*) utoa::dst)
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 ← (byte) 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

(byte()) myprintf((byte*) myprintf::dst , (byte*) myprintf::str , (word) myprintf::w1 , (word) myprintf::w2 , (word) myprintf::w3)
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 ← (byte) 0
  (byte) myprintf::bFormat#0 ← (byte) 0
  (byte) myprintf::bLen#0 ← (byte) 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
  (word) myprintf::w#0 ← (word) 0
  to:myprintf::@1
myprintf::@1: scope:[myprintf]  from myprintf myprintf::@66
  (byte) myprintf::bLeadZero#19 ← phi( myprintf/(byte) myprintf::bLeadZero#0 myprintf::@66/(byte) myprintf::bLeadZero#20 )
  (byte) myprintf::bDigits#27 ← phi( myprintf/(byte) myprintf::bDigits#0 myprintf::@66/(byte) myprintf::bDigits#28 )
  (byte) myprintf::bTrailing#23 ← phi( myprintf/(byte) myprintf::bTrailing#0 myprintf::@66/(byte) myprintf::bTrailing#24 )
  (word) myprintf::w#17 ← phi( myprintf/(word) myprintf::w#0 myprintf::@66/(word) myprintf::w#18 )
  (word) myprintf::w3#7 ← phi( myprintf/(word) myprintf::w3#8 myprintf::@66/(word) myprintf::w3#9 )
  (word) myprintf::w2#7 ← phi( myprintf/(word) myprintf::w2#8 myprintf::@66/(word) myprintf::w2#9 )
  (word) myprintf::w1#6 ← phi( myprintf/(word) myprintf::w1#7 myprintf::@66/(word) myprintf::w1#8 )
  (byte) myprintf::bArg#10 ← phi( myprintf/(byte) myprintf::bArg#0 myprintf::@66/(byte) myprintf::bArg#11 )
  (byte) myprintf::bLen#16 ← phi( myprintf/(byte) myprintf::bLen#0 myprintf::@66/(byte) myprintf::bLen#28 )
  (byte*) myprintf::dst#10 ← phi( myprintf/(byte*) myprintf::dst#22 myprintf::@66/(byte*) myprintf::dst#23 )
  (byte) myprintf::bFormat#4 ← phi( myprintf/(byte) myprintf::bFormat#0 myprintf::@66/(byte) myprintf::bFormat#5 )
  (byte*) myprintf::str#3 ← phi( myprintf/(byte*) myprintf::str#6 myprintf::@66/(byte*) myprintf::str#0 )
  (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#35 ← phi( myprintf::@1/(byte) myprintf::bLen#16 )
  (byte*) myprintf::dst#30 ← 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::@77
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#40 ← phi( myprintf::@2/(byte) myprintf::bLeadZero#18 )
  (byte) myprintf::bDigits#44 ← phi( myprintf::@2/(byte) myprintf::bDigits#26 )
  (byte) myprintf::bTrailing#42 ← phi( myprintf::@2/(byte) myprintf::bTrailing#22 )
  (word) myprintf::w#34 ← phi( myprintf::@2/(word) myprintf::w#16 )
  (byte) myprintf::bFormat#19 ← 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 )
  (byte*) myprintf::str#32 ← phi( myprintf::@2/(byte*) myprintf::str#4 )
  (word) myprintf::w1#4 ← phi( myprintf::@2/(word) myprintf::w1#5 )
  (byte) myprintf::bLen#34 ← phi( myprintf::@2/(byte) myprintf::bLen#35 )
  (byte*) myprintf::dst#29 ← phi( myprintf::@2/(byte*) myprintf::dst#30 )
  (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::@67
  to:myprintf::@80
myprintf::@77: scope:[myprintf]  from myprintf::@2
  (byte) myprintf::bLeadZero#17 ← phi( myprintf::@2/(byte) myprintf::bLeadZero#18 )
  (word) myprintf::w3#16 ← phi( myprintf::@2/(word) myprintf::w3#6 )
  (word) myprintf::w2#16 ← phi( myprintf::@2/(word) myprintf::w2#6 )
  (byte) myprintf::bDigits#25 ← phi( myprintf::@2/(byte) myprintf::bDigits#26 )
  (byte) myprintf::bTrailing#21 ← phi( myprintf::@2/(byte) myprintf::bTrailing#22 )
  (word) myprintf::w1#15 ← phi( myprintf::@2/(word) myprintf::w1#5 )
  (byte) myprintf::bArg#17 ← phi( myprintf::@2/(byte) myprintf::bArg#9 )
  (byte) myprintf::bFormat#11 ← phi( myprintf::@2/(byte) myprintf::bFormat#3 )
  (byte) myprintf::bLen#45 ← phi( myprintf::@2/(byte) myprintf::bLen#35 )
  (byte*) myprintf::dst#40 ← phi( myprintf::@2/(byte*) myprintf::dst#30 )
  (word) myprintf::w#15 ← phi( myprintf::@2/(word) myprintf::w#16 )
  (byte*) myprintf::str#13 ← 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::@78
myprintf::@5: scope:[myprintf]  from myprintf::@77
  (byte) myprintf::bLeadZero#16 ← phi( myprintf::@77/(byte) myprintf::bLeadZero#17 )
  (word) myprintf::w3#17 ← phi( myprintf::@77/(word) myprintf::w3#16 )
  (word) myprintf::w2#17 ← phi( myprintf::@77/(word) myprintf::w2#16 )
  (word) myprintf::w1#16 ← phi( myprintf::@77/(word) myprintf::w1#15 )
  (byte) myprintf::bDigits#24 ← phi( myprintf::@77/(byte) myprintf::bDigits#25 )
  (byte) myprintf::bTrailing#20 ← phi( myprintf::@77/(byte) myprintf::bTrailing#21 )
  (byte) myprintf::bArg#18 ← phi( myprintf::@77/(byte) myprintf::bArg#17 )
  (byte) myprintf::bFormat#12 ← phi( myprintf::@77/(byte) myprintf::bFormat#11 )
  (byte) myprintf::bLen#41 ← phi( myprintf::@77/(byte) myprintf::bLen#45 )
  (byte*) myprintf::dst#36 ← phi( myprintf::@77/(byte*) myprintf::dst#40 )
  (word) myprintf::w#14 ← phi( myprintf::@77/(word) myprintf::w#15 )
  (byte*) myprintf::str#14 ← phi( myprintf::@77/(byte*) myprintf::str#13 )
  (byte) myprintf::b#9 ← phi( myprintf::@77/(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::@78: scope:[myprintf]  from myprintf::@77
  (byte) myprintf::bDigits#33 ← phi( myprintf::@77/(byte) myprintf::bDigits#25 )
  (byte) myprintf::bTrailing#29 ← phi( myprintf::@77/(byte) myprintf::bTrailing#21 )
  (word) myprintf::w#24 ← phi( myprintf::@77/(word) myprintf::w#15 )
  (word) myprintf::w3#15 ← phi( myprintf::@77/(word) myprintf::w3#16 )
  (word) myprintf::w2#15 ← phi( myprintf::@77/(word) myprintf::w2#16 )
  (word) myprintf::w1#14 ← phi( myprintf::@77/(word) myprintf::w1#15 )
  (byte) myprintf::bArg#16 ← phi( myprintf::@77/(byte) myprintf::bArg#17 )
  (byte) myprintf::bLen#40 ← phi( myprintf::@77/(byte) myprintf::bLen#45 )
  (byte*) myprintf::dst#35 ← phi( myprintf::@77/(byte*) myprintf::dst#40 )
  (byte) myprintf::bFormat#10 ← phi( myprintf::@77/(byte) myprintf::bFormat#11 )
  (byte*) myprintf::str#12 ← phi( myprintf::@77/(byte*) myprintf::str#13 )
  (byte) myprintf::bLeadZero#1 ← (number) 1
  to:myprintf::@66
myprintf::@66: scope:[myprintf]  from myprintf::@54 myprintf::@55 myprintf::@57 myprintf::@71 myprintf::@74 myprintf::@78
  (byte) myprintf::bLeadZero#20 ← phi( myprintf::@54/(byte) myprintf::bLeadZero#21 myprintf::@55/(byte) myprintf::bLeadZero#22 myprintf::@57/(byte) myprintf::bLeadZero#23 myprintf::@71/(byte) myprintf::bLeadZero#24 myprintf::@74/(byte) myprintf::bLeadZero#25 myprintf::@78/(byte) myprintf::bLeadZero#1 )
  (byte) myprintf::bDigits#28 ← phi( myprintf::@54/(byte) myprintf::bDigits#29 myprintf::@55/(byte) myprintf::bDigits#1 myprintf::@57/(byte) myprintf::bDigits#30 myprintf::@71/(byte) myprintf::bDigits#31 myprintf::@74/(byte) myprintf::bDigits#32 myprintf::@78/(byte) myprintf::bDigits#33 )
  (byte) myprintf::bTrailing#24 ← phi( myprintf::@54/(byte) myprintf::bTrailing#25 myprintf::@55/(byte) myprintf::bTrailing#26 myprintf::@57/(byte) myprintf::bTrailing#1 myprintf::@71/(byte) myprintf::bTrailing#27 myprintf::@74/(byte) myprintf::bTrailing#28 myprintf::@78/(byte) myprintf::bTrailing#29 )
  (word) myprintf::w#18 ← phi( myprintf::@54/(word) myprintf::w#19 myprintf::@55/(word) myprintf::w#20 myprintf::@57/(word) myprintf::w#21 myprintf::@71/(word) myprintf::w#22 myprintf::@74/(word) myprintf::w#23 myprintf::@78/(word) myprintf::w#24 )
  (word) myprintf::w3#9 ← phi( myprintf::@54/(word) myprintf::w3#10 myprintf::@55/(word) myprintf::w3#11 myprintf::@57/(word) myprintf::w3#12 myprintf::@71/(word) myprintf::w3#13 myprintf::@74/(word) myprintf::w3#14 myprintf::@78/(word) myprintf::w3#15 )
  (word) myprintf::w2#9 ← phi( myprintf::@54/(word) myprintf::w2#10 myprintf::@55/(word) myprintf::w2#11 myprintf::@57/(word) myprintf::w2#12 myprintf::@71/(word) myprintf::w2#13 myprintf::@74/(word) myprintf::w2#14 myprintf::@78/(word) myprintf::w2#15 )
  (word) myprintf::w1#8 ← phi( myprintf::@54/(word) myprintf::w1#9 myprintf::@55/(word) myprintf::w1#10 myprintf::@57/(word) myprintf::w1#11 myprintf::@71/(word) myprintf::w1#12 myprintf::@74/(word) myprintf::w1#13 myprintf::@78/(word) myprintf::w1#14 )
  (byte) myprintf::bArg#11 ← phi( myprintf::@54/(byte) myprintf::bArg#12 myprintf::@55/(byte) myprintf::bArg#13 myprintf::@57/(byte) myprintf::bArg#14 myprintf::@71/(byte) myprintf::bArg#1 myprintf::@74/(byte) myprintf::bArg#15 myprintf::@78/(byte) myprintf::bArg#16 )
  (byte) myprintf::bLen#28 ← phi( myprintf::@54/(byte) myprintf::bLen#36 myprintf::@55/(byte) myprintf::bLen#37 myprintf::@57/(byte) myprintf::bLen#38 myprintf::@71/(byte) myprintf::bLen#39 myprintf::@74/(byte) myprintf::bLen#7 myprintf::@78/(byte) myprintf::bLen#40 )
  (byte*) myprintf::dst#23 ← phi( myprintf::@54/(byte*) myprintf::dst#31 myprintf::@55/(byte*) myprintf::dst#32 myprintf::@57/(byte*) myprintf::dst#33 myprintf::@71/(byte*) myprintf::dst#34 myprintf::@74/(byte*) myprintf::dst#9 myprintf::@78/(byte*) myprintf::dst#35 )
  (byte) myprintf::bFormat#5 ← phi( myprintf::@54/(byte) myprintf::bFormat#1 myprintf::@55/(byte) myprintf::bFormat#6 myprintf::@57/(byte) myprintf::bFormat#7 myprintf::@71/(byte) myprintf::bFormat#8 myprintf::@74/(byte) myprintf::bFormat#9 myprintf::@78/(byte) myprintf::bFormat#10 )
  (byte*) myprintf::str#5 ← phi( myprintf::@54/(byte*) myprintf::str#7 myprintf::@55/(byte*) myprintf::str#8 myprintf::@57/(byte*) myprintf::str#9 myprintf::@71/(byte*) myprintf::str#10 myprintf::@74/(byte*) myprintf::str#11 myprintf::@78/(byte*) myprintf::str#12 )
  (byte*) myprintf::str#0 ← ++ (byte*) myprintf::str#5
  to:myprintf::@1
myprintf::@6: scope:[myprintf]  from myprintf::@5
  (word) myprintf::w3#18 ← phi( myprintf::@5/(word) myprintf::w3#17 )
  (word) myprintf::w2#18 ← phi( myprintf::@5/(word) myprintf::w2#17 )
  (byte) myprintf::bLeadZero#15 ← phi( myprintf::@5/(byte) myprintf::bLeadZero#16 )
  (word) myprintf::w1#17 ← phi( myprintf::@5/(word) myprintf::w1#16 )
  (byte) myprintf::bArg#19 ← phi( myprintf::@5/(byte) myprintf::bArg#18 )
  (byte) myprintf::bDigits#23 ← phi( myprintf::@5/(byte) myprintf::bDigits#24 )
  (byte) myprintf::bTrailing#18 ← phi( myprintf::@5/(byte) myprintf::bTrailing#20 )
  (byte) myprintf::bFormat#13 ← phi( myprintf::@5/(byte) myprintf::bFormat#12 )
  (byte*) myprintf::str#15 ← phi( myprintf::@5/(byte*) myprintf::str#14 )
  (byte) myprintf::bLen#29 ← phi( myprintf::@5/(byte) myprintf::bLen#41 )
  (byte*) myprintf::dst#24 ← 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#22 ← phi( myprintf::@5/(byte) myprintf::bLeadZero#16 )
  (byte) myprintf::bTrailing#26 ← phi( myprintf::@5/(byte) myprintf::bTrailing#20 )
  (word) myprintf::w#20 ← phi( myprintf::@5/(word) myprintf::w#14 )
  (word) myprintf::w3#11 ← phi( myprintf::@5/(word) myprintf::w3#17 )
  (word) myprintf::w2#11 ← phi( myprintf::@5/(word) myprintf::w2#17 )
  (word) myprintf::w1#10 ← phi( myprintf::@5/(word) myprintf::w1#16 )
  (byte) myprintf::bArg#13 ← phi( myprintf::@5/(byte) myprintf::bArg#18 )
  (byte) myprintf::bLen#37 ← phi( myprintf::@5/(byte) myprintf::bLen#41 )
  (byte*) myprintf::dst#32 ← phi( myprintf::@5/(byte*) myprintf::dst#36 )
  (byte) myprintf::bFormat#6 ← phi( myprintf::@5/(byte) myprintf::bFormat#12 )
  (byte*) myprintf::str#8 ← phi( myprintf::@5/(byte*) myprintf::str#14 )
  (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::@66
myprintf::@7: scope:[myprintf]  from myprintf::@6
  (word) myprintf::w3#28 ← phi( myprintf::@6/(word) myprintf::w3#18 )
  (word) myprintf::w2#28 ← phi( myprintf::@6/(word) myprintf::w2#18 )
  (word) myprintf::w1#27 ← phi( myprintf::@6/(word) myprintf::w1#17 )
  (byte) myprintf::bLeadZero#14 ← phi( myprintf::@6/(byte) myprintf::bLeadZero#15 )
  (byte) myprintf::bArg#27 ← phi( myprintf::@6/(byte) myprintf::bArg#19 )
  (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#15 )
  (byte) myprintf::bLen#17 ← phi( myprintf::@6/(byte) myprintf::bLen#29 )
  (byte*) myprintf::dst#11 ← phi( myprintf::@6/(byte*) myprintf::dst#24 )
  (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#23 ← phi( myprintf::@6/(byte) myprintf::bLeadZero#15 )
  (byte) myprintf::bDigits#30 ← phi( myprintf::@6/(byte) myprintf::bDigits#23 )
  (word) myprintf::w#21 ← phi( myprintf::@6/(word) myprintf::w#13 )
  (word) myprintf::w3#12 ← phi( myprintf::@6/(word) myprintf::w3#18 )
  (word) myprintf::w2#12 ← phi( myprintf::@6/(word) myprintf::w2#18 )
  (word) myprintf::w1#11 ← phi( myprintf::@6/(word) myprintf::w1#17 )
  (byte) myprintf::bArg#14 ← phi( myprintf::@6/(byte) myprintf::bArg#19 )
  (byte) myprintf::bLen#38 ← phi( myprintf::@6/(byte) myprintf::bLen#29 )
  (byte*) myprintf::dst#33 ← phi( myprintf::@6/(byte*) myprintf::dst#24 )
  (byte) myprintf::bFormat#7 ← phi( myprintf::@6/(byte) myprintf::bFormat#13 )
  (byte*) myprintf::str#9 ← phi( myprintf::@6/(byte*) myprintf::str#15 )
  (byte) myprintf::bTrailing#1 ← (number) 1
  to:myprintf::@66
myprintf::@8: scope:[myprintf]  from myprintf::@7
  (byte) myprintf::bLeadZero#30 ← phi( myprintf::@7/(byte) myprintf::bLeadZero#14 )
  (byte) myprintf::bDigits#36 ← phi( myprintf::@7/(byte) myprintf::bDigits#22 )
  (byte) myprintf::bTrailing#33 ← phi( myprintf::@7/(byte) myprintf::bTrailing#15 )
  (word) myprintf::w3#23 ← phi( myprintf::@7/(word) myprintf::w3#28 )
  (word) myprintf::w2#23 ← phi( myprintf::@7/(word) myprintf::w2#28 )
  (word) myprintf::w1#22 ← phi( myprintf::@7/(word) myprintf::w1#27 )
  (byte) myprintf::bArg#24 ← phi( myprintf::@7/(byte) myprintf::bArg#27 )
  (byte*) myprintf::str#20 ← 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#29 ← phi( myprintf::@7/(word) myprintf::w3#28 )
  (word) myprintf::w2#29 ← phi( myprintf::@7/(word) myprintf::w2#28 )
  (word) myprintf::w1#28 ← phi( myprintf::@7/(word) myprintf::w1#27 )
  (byte) myprintf::bArg#28 ← phi( myprintf::@7/(byte) myprintf::bArg#27 )
  (byte) myprintf::bLeadZero#13 ← phi( myprintf::@7/(byte) myprintf::bLeadZero#14 )
  (byte) myprintf::bLen#46 ← phi( myprintf::@7/(byte) myprintf::bLen#17 )
  (byte*) myprintf::dst#41 ← 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#48 ← phi( myprintf::@59/(word) myprintf::w3#29 )
  (word) myprintf::w2#48 ← phi( myprintf::@59/(word) myprintf::w2#29 )
  (word) myprintf::w1#48 ← phi( myprintf::@59/(word) myprintf::w1#28 )
  (byte) myprintf::bArg#47 ← phi( myprintf::@59/(byte) myprintf::bArg#28 )
  (byte*) myprintf::str#49 ← phi( myprintf::@59/(byte*) myprintf::str#27 )
  (byte) myprintf::bLen#55 ← phi( myprintf::@59/(byte) myprintf::bLen#46 )
  (byte*) myprintf::dst#50 ← phi( myprintf::@59/(byte*) myprintf::dst#41 )
  (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 ← (const byte*) myprintf::buf6
  call utoa 
  to:myprintf::@87
myprintf::@87: scope:[myprintf]  from myprintf::@9
  (word) myprintf::w#42 ← phi( myprintf::@9/(word) myprintf::w#5 )
  (word) myprintf::w3#45 ← phi( myprintf::@9/(word) myprintf::w3#48 )
  (word) myprintf::w2#45 ← phi( myprintf::@9/(word) myprintf::w2#48 )
  (word) myprintf::w1#45 ← phi( myprintf::@9/(word) myprintf::w1#48 )
  (byte) myprintf::bArg#44 ← phi( myprintf::@9/(byte) myprintf::bArg#47 )
  (byte*) myprintf::str#46 ← phi( myprintf::@9/(byte*) myprintf::str#49 )
  (byte) myprintf::bLen#52 ← phi( myprintf::@9/(byte) myprintf::bLen#55 )
  (byte*) myprintf::dst#47 ← phi( myprintf::@9/(byte*) myprintf::dst#50 )
  (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#29 ← phi( myprintf::@59/(byte) myprintf::bLeadZero#13 )
  (byte) myprintf::bDigits#35 ← phi( myprintf::@59/(byte) myprintf::bDigits#21 )
  (byte) myprintf::bTrailing#32 ← phi( myprintf::@59/(byte) myprintf::bTrailing#13 )
  (word) myprintf::w3#22 ← phi( myprintf::@59/(word) myprintf::w3#29 )
  (word) myprintf::w2#22 ← phi( myprintf::@59/(word) myprintf::w2#29 )
  (word) myprintf::w1#21 ← phi( myprintf::@59/(word) myprintf::w1#28 )
  (byte) myprintf::bArg#23 ← phi( myprintf::@59/(byte) myprintf::bArg#28 )
  (byte) myprintf::bLen#42 ← phi( myprintf::@59/(byte) myprintf::bLen#46 )
  (byte*) myprintf::dst#37 ← phi( myprintf::@59/(byte*) myprintf::dst#41 )
  (byte*) myprintf::str#19 ← 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#47 ← phi( myprintf::@60/(byte) myprintf::bLeadZero#29 )
  (byte) myprintf::bDigits#49 ← phi( myprintf::@60/(byte) myprintf::bDigits#35 )
  (byte) myprintf::bTrailing#47 ← phi( myprintf::@60/(byte) myprintf::bTrailing#32 )
  (word) myprintf::w3#41 ← phi( myprintf::@60/(word) myprintf::w3#22 )
  (word) myprintf::w2#41 ← phi( myprintf::@60/(word) myprintf::w2#22 )
  (word) myprintf::w1#41 ← phi( myprintf::@60/(word) myprintf::w1#21 )
  (byte) myprintf::bArg#40 ← phi( myprintf::@60/(byte) myprintf::bArg#23 )
  (byte*) myprintf::str#42 ← phi( myprintf::@60/(byte*) myprintf::str#19 )
  (byte) myprintf::bLen#30 ← phi( myprintf::@60/(byte) myprintf::bLen#42 )
  (byte*) myprintf::dst#25 ← 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#45 ← phi( myprintf::@61/(byte) myprintf::bLeadZero#47 )
  (byte) myprintf::bDigits#47 ← phi( myprintf::@61/(byte) myprintf::bDigits#49 )
  (byte) myprintf::bTrailing#45 ← phi( myprintf::@61/(byte) myprintf::bTrailing#47 )
  (word) myprintf::w3#37 ← phi( myprintf::@61/(word) myprintf::w3#41 )
  (word) myprintf::w2#37 ← phi( myprintf::@61/(word) myprintf::w2#41 )
  (word) myprintf::w1#37 ← phi( myprintf::@61/(word) myprintf::w1#41 )
  (byte) myprintf::bArg#36 ← phi( myprintf::@61/(byte) myprintf::bArg#40 )
  (byte*) myprintf::str#38 ← phi( myprintf::@61/(byte*) myprintf::str#42 )
  (word) myprintf::w#11 ← phi( myprintf::@61/(word) myprintf::w#6 )
  (byte) myprintf::bLen#18 ← phi( myprintf::@61/(byte) myprintf::bLen#30 )
  (byte*) myprintf::dst#12 ← phi( myprintf::@61/(byte*) myprintf::dst#25 )
  (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#46 ← phi( myprintf::@61/(byte) myprintf::bLeadZero#47 )
  (byte) myprintf::bDigits#48 ← phi( myprintf::@61/(byte) myprintf::bDigits#49 )
  (byte) myprintf::bTrailing#46 ← phi( myprintf::@61/(byte) myprintf::bTrailing#47 )
  (word) myprintf::w3#38 ← phi( myprintf::@61/(word) myprintf::w3#41 )
  (word) myprintf::w2#38 ← phi( myprintf::@61/(word) myprintf::w2#41 )
  (word) myprintf::w1#38 ← phi( myprintf::@61/(word) myprintf::w1#41 )
  (byte) myprintf::bArg#37 ← phi( myprintf::@61/(byte) myprintf::bArg#40 )
  (byte*) myprintf::str#39 ← phi( myprintf::@61/(byte*) myprintf::str#42 )
  (word) myprintf::w#12 ← phi( myprintf::@61/(word) myprintf::w#6 )
  (byte) myprintf::bLen#19 ← phi( myprintf::@61/(byte) myprintf::bLen#30 )
  (byte*) myprintf::dst#13 ← phi( myprintf::@61/(byte*) myprintf::dst#25 )
  (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#42 ← phi( myprintf::@11/(byte) myprintf::bLeadZero#45 myprintf::@12/(byte) myprintf::bLeadZero#46 )
  (byte) myprintf::bDigits#46 ← phi( myprintf::@11/(byte) myprintf::bDigits#47 myprintf::@12/(byte) myprintf::bDigits#48 )
  (byte) myprintf::bTrailing#44 ← phi( myprintf::@11/(byte) myprintf::bTrailing#45 myprintf::@12/(byte) myprintf::bTrailing#46 )
  (word) myprintf::w3#34 ← phi( myprintf::@11/(word) myprintf::w3#37 myprintf::@12/(word) myprintf::w3#38 )
  (word) myprintf::w2#34 ← phi( myprintf::@11/(word) myprintf::w2#37 myprintf::@12/(word) myprintf::w2#38 )
  (word) myprintf::w1#34 ← phi( myprintf::@11/(word) myprintf::w1#37 myprintf::@12/(word) myprintf::w1#38 )
  (byte) myprintf::bArg#33 ← phi( myprintf::@11/(byte) myprintf::bArg#36 myprintf::@12/(byte) myprintf::bArg#37 )
  (byte*) myprintf::str#35 ← phi( myprintf::@11/(byte*) myprintf::str#38 myprintf::@12/(byte*) myprintf::str#39 )
  (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#36 ← phi( myprintf::@13/(byte) myprintf::bLeadZero#42 )
  (byte) myprintf::bDigits#42 ← phi( myprintf::@13/(byte) myprintf::bDigits#46 )
  (byte) myprintf::bTrailing#39 ← phi( myprintf::@13/(byte) myprintf::bTrailing#44 )
  (word) myprintf::w#30 ← phi( myprintf::@13/(word) myprintf::w#7 )
  (word) myprintf::w3#30 ← phi( myprintf::@13/(word) myprintf::w3#34 )
  (word) myprintf::w2#30 ← phi( myprintf::@13/(word) myprintf::w2#34 )
  (word) myprintf::w1#29 ← phi( myprintf::@13/(word) myprintf::w1#34 )
  (byte) myprintf::bArg#29 ← phi( myprintf::@13/(byte) myprintf::bArg#33 )
  (byte*) myprintf::str#28 ← phi( myprintf::@13/(byte*) myprintf::str#35 )
  (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#37 ← phi( myprintf::@13/(byte) myprintf::bLeadZero#42 )
  (byte) myprintf::bDigits#43 ← phi( myprintf::@13/(byte) myprintf::bDigits#46 )
  (byte) myprintf::bTrailing#40 ← phi( myprintf::@13/(byte) myprintf::bTrailing#44 )
  (word) myprintf::w#31 ← phi( myprintf::@13/(word) myprintf::w#7 )
  (word) myprintf::w3#31 ← phi( myprintf::@13/(word) myprintf::w3#34 )
  (word) myprintf::w2#31 ← phi( myprintf::@13/(word) myprintf::w2#34 )
  (word) myprintf::w1#30 ← phi( myprintf::@13/(word) myprintf::w1#34 )
  (byte) myprintf::bArg#30 ← phi( myprintf::@13/(byte) myprintf::bArg#33 )
  (byte*) myprintf::str#29 ← phi( myprintf::@13/(byte*) myprintf::str#35 )
  (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#26 ← phi( myprintf::@14/(byte) myprintf::bLeadZero#36 myprintf::@15/(byte) myprintf::bLeadZero#37 )
  (byte) myprintf::bDigits#34 ← phi( myprintf::@14/(byte) myprintf::bDigits#42 myprintf::@15/(byte) myprintf::bDigits#43 )
  (byte) myprintf::bTrailing#30 ← phi( myprintf::@14/(byte) myprintf::bTrailing#39 myprintf::@15/(byte) myprintf::bTrailing#40 )
  (word) myprintf::w#25 ← phi( myprintf::@14/(word) myprintf::w#30 myprintf::@15/(word) myprintf::w#31 )
  (word) myprintf::w3#19 ← phi( myprintf::@14/(word) myprintf::w3#30 myprintf::@15/(word) myprintf::w3#31 )
  (word) myprintf::w2#19 ← phi( myprintf::@14/(word) myprintf::w2#30 myprintf::@15/(word) myprintf::w2#31 )
  (word) myprintf::w1#18 ← phi( myprintf::@14/(word) myprintf::w1#29 myprintf::@15/(word) myprintf::w1#30 )
  (byte) myprintf::bArg#20 ← phi( myprintf::@14/(byte) myprintf::bArg#29 myprintf::@15/(byte) myprintf::bArg#30 )
  (byte*) myprintf::str#16 ← 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::@87
  (word) myprintf::w#39 ← phi( myprintf::@22/(word) myprintf::w#41 myprintf::@87/(word) myprintf::w#42 )
  (word) myprintf::w3#42 ← phi( myprintf::@22/(word) myprintf::w3#44 myprintf::@87/(word) myprintf::w3#45 )
  (word) myprintf::w2#42 ← phi( myprintf::@22/(word) myprintf::w2#44 myprintf::@87/(word) myprintf::w2#45 )
  (word) myprintf::w1#42 ← phi( myprintf::@22/(word) myprintf::w1#44 myprintf::@87/(word) myprintf::w1#45 )
  (byte) myprintf::bArg#41 ← phi( myprintf::@22/(byte) myprintf::bArg#43 myprintf::@87/(byte) myprintf::bArg#44 )
  (byte*) myprintf::str#43 ← phi( myprintf::@22/(byte*) myprintf::str#45 myprintf::@87/(byte*) myprintf::str#46 )
  (byte) myprintf::bLen#47 ← phi( myprintf::@22/(byte) myprintf::bLen#51 myprintf::@87/(byte) myprintf::bLen#52 )
  (byte*) myprintf::dst#42 ← phi( myprintf::@22/(byte*) myprintf::dst#46 myprintf::@87/(byte*) myprintf::dst#47 )
  (byte) myprintf::bLeadZero#7 ← phi( myprintf::@22/(byte) myprintf::bLeadZero#10 myprintf::@87/(byte) myprintf::bLeadZero#11 )
  (byte) myprintf::bDigits#11 ← phi( myprintf::@22/(byte) myprintf::bDigits#15 myprintf::@87/(byte) myprintf::bDigits#16 )
  (byte) myprintf::bTrailing#5 ← phi( myprintf::@22/(byte) myprintf::bTrailing#7 myprintf::@87/(byte) myprintf::bTrailing#8 )
  (byte) myprintf::b#17 ← phi( myprintf::@22/(byte) myprintf::b#5 myprintf::@87/(byte) myprintf::b#2 )
  (bool~) myprintf::$34 ← *((const byte*) myprintf::buf6 + (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#41 ← phi( myprintf::@21/(word) myprintf::w#39 )
  (word) myprintf::w3#44 ← phi( myprintf::@21/(word) myprintf::w3#42 )
  (word) myprintf::w2#44 ← phi( myprintf::@21/(word) myprintf::w2#42 )
  (word) myprintf::w1#44 ← phi( myprintf::@21/(word) myprintf::w1#42 )
  (byte) myprintf::bArg#43 ← phi( myprintf::@21/(byte) myprintf::bArg#41 )
  (byte*) myprintf::str#45 ← phi( myprintf::@21/(byte*) myprintf::str#43 )
  (byte) myprintf::bLen#51 ← phi( myprintf::@21/(byte) myprintf::bLen#47 )
  (byte*) myprintf::dst#46 ← phi( myprintf::@21/(byte*) myprintf::dst#42 )
  (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#37 ← phi( myprintf::@21/(word) myprintf::w#39 )
  (word) myprintf::w3#39 ← phi( myprintf::@21/(word) myprintf::w3#42 )
  (word) myprintf::w2#39 ← phi( myprintf::@21/(word) myprintf::w2#42 )
  (word) myprintf::w1#39 ← phi( myprintf::@21/(word) myprintf::w1#42 )
  (byte) myprintf::bArg#38 ← phi( myprintf::@21/(byte) myprintf::bArg#41 )
  (byte*) myprintf::str#40 ← phi( myprintf::@21/(byte*) myprintf::str#43 )
  (byte) myprintf::bLen#43 ← phi( myprintf::@21/(byte) myprintf::bLen#47 )
  (byte*) myprintf::dst#38 ← phi( myprintf::@21/(byte*) myprintf::dst#42 )
  (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#43 ← phi( myprintf::@23/(byte) myprintf::bLeadZero#5 myprintf::@29/(byte) myprintf::bLeadZero#4 )
  (word) myprintf::w#35 ← phi( myprintf::@23/(word) myprintf::w#37 myprintf::@29/(word) myprintf::w#38 )
  (word) myprintf::w3#35 ← phi( myprintf::@23/(word) myprintf::w3#39 myprintf::@29/(word) myprintf::w3#40 )
  (word) myprintf::w2#35 ← phi( myprintf::@23/(word) myprintf::w2#39 myprintf::@29/(word) myprintf::w2#40 )
  (word) myprintf::w1#35 ← phi( myprintf::@23/(word) myprintf::w1#39 myprintf::@29/(word) myprintf::w1#40 )
  (byte) myprintf::bArg#34 ← phi( myprintf::@23/(byte) myprintf::bArg#38 myprintf::@29/(byte) myprintf::bArg#39 )
  (byte*) myprintf::str#36 ← phi( myprintf::@23/(byte*) myprintf::str#40 myprintf::@29/(byte*) myprintf::str#41 )
  (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#32 ← phi( myprintf::@23/(byte) myprintf::bLen#43 myprintf::@29/(byte) myprintf::bLen#44 )
  (byte*) myprintf::dst#27 ← 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#38 ← phi( myprintf::@23/(word) myprintf::w#37 myprintf::@34/(word) myprintf::w#40 )
  (word) myprintf::w3#40 ← phi( myprintf::@23/(word) myprintf::w3#39 myprintf::@34/(word) myprintf::w3#43 )
  (word) myprintf::w2#40 ← phi( myprintf::@23/(word) myprintf::w2#39 myprintf::@34/(word) myprintf::w2#43 )
  (word) myprintf::w1#40 ← phi( myprintf::@23/(word) myprintf::w1#39 myprintf::@34/(word) myprintf::w1#43 )
  (byte) myprintf::bArg#39 ← phi( myprintf::@23/(byte) myprintf::bArg#38 myprintf::@34/(byte) myprintf::bArg#42 )
  (byte*) myprintf::str#41 ← phi( myprintf::@23/(byte*) myprintf::str#40 myprintf::@34/(byte*) myprintf::str#44 )
  (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#45 ← phi( myprintf::@29/(word) myprintf::w#38 )
  (word) myprintf::w3#49 ← phi( myprintf::@29/(word) myprintf::w3#40 )
  (word) myprintf::w2#49 ← phi( myprintf::@29/(word) myprintf::w2#40 )
  (word) myprintf::w1#49 ← phi( myprintf::@29/(word) myprintf::w1#40 )
  (byte) myprintf::bArg#48 ← phi( myprintf::@29/(byte) myprintf::bArg#39 )
  (byte*) myprintf::str#50 ← phi( myprintf::@29/(byte*) myprintf::str#41 )
  (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#31 ← phi( myprintf::@29/(byte) myprintf::bLen#44 )
  (byte*) myprintf::dst#26 ← 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#43 ← phi( myprintf::@30/(word) myprintf::w#45 )
  (word) myprintf::w3#46 ← phi( myprintf::@30/(word) myprintf::w3#49 )
  (word) myprintf::w2#46 ← phi( myprintf::@30/(word) myprintf::w2#49 )
  (word) myprintf::w1#46 ← phi( myprintf::@30/(word) myprintf::w1#49 )
  (byte) myprintf::bArg#45 ← phi( myprintf::@30/(byte) myprintf::bArg#48 )
  (byte*) myprintf::str#47 ← phi( myprintf::@30/(byte*) myprintf::str#50 )
  (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#31 )
  (byte*) myprintf::dst#16 ← phi( myprintf::@30/(byte*) myprintf::dst#26 )
  (byte~) myprintf::$42 ← (byte) ' '
  to:myprintf::@34
myprintf::@33: scope:[myprintf]  from myprintf::@30
  (word) myprintf::w#44 ← phi( myprintf::@30/(word) myprintf::w#45 )
  (word) myprintf::w3#47 ← phi( myprintf::@30/(word) myprintf::w3#49 )
  (word) myprintf::w2#47 ← phi( myprintf::@30/(word) myprintf::w2#49 )
  (word) myprintf::w1#47 ← phi( myprintf::@30/(word) myprintf::w1#49 )
  (byte) myprintf::bArg#46 ← phi( myprintf::@30/(byte) myprintf::bArg#48 )
  (byte*) myprintf::str#48 ← phi( myprintf::@30/(byte*) myprintf::str#50 )
  (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#31 )
  (byte*) myprintf::dst#17 ← phi( myprintf::@30/(byte*) myprintf::dst#26 )
  (byte~) myprintf::$41 ← (byte) '0'
  to:myprintf::@34
myprintf::@34: scope:[myprintf]  from myprintf::@32 myprintf::@33
  (word) myprintf::w#40 ← phi( myprintf::@32/(word) myprintf::w#43 myprintf::@33/(word) myprintf::w#44 )
  (word) myprintf::w3#43 ← phi( myprintf::@32/(word) myprintf::w3#46 myprintf::@33/(word) myprintf::w3#47 )
  (word) myprintf::w2#43 ← phi( myprintf::@32/(word) myprintf::w2#46 myprintf::@33/(word) myprintf::w2#47 )
  (word) myprintf::w1#43 ← phi( myprintf::@32/(word) myprintf::w1#46 myprintf::@33/(word) myprintf::w1#47 )
  (byte) myprintf::bArg#42 ← phi( myprintf::@32/(byte) myprintf::bArg#45 myprintf::@33/(byte) myprintf::bArg#46 )
  (byte*) myprintf::str#44 ← phi( myprintf::@32/(byte*) myprintf::str#47 myprintf::@33/(byte*) myprintf::str#48 )
  (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#38 ← phi( myprintf::@28/(byte) myprintf::bLeadZero#43 myprintf::@41/(byte) myprintf::bLeadZero#44 )
  (word) myprintf::w#32 ← phi( myprintf::@28/(word) myprintf::w#35 myprintf::@41/(word) myprintf::w#36 )
  (word) myprintf::w3#32 ← phi( myprintf::@28/(word) myprintf::w3#35 myprintf::@41/(word) myprintf::w3#36 )
  (word) myprintf::w2#32 ← phi( myprintf::@28/(word) myprintf::w2#35 myprintf::@41/(word) myprintf::w2#36 )
  (word) myprintf::w1#31 ← phi( myprintf::@28/(word) myprintf::w1#35 myprintf::@41/(word) myprintf::w1#36 )
  (byte) myprintf::bArg#31 ← phi( myprintf::@28/(byte) myprintf::bArg#34 myprintf::@41/(byte) myprintf::bArg#35 )
  (byte*) myprintf::str#30 ← phi( myprintf::@28/(byte*) myprintf::str#36 myprintf::@41/(byte*) myprintf::str#37 )
  (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#32 myprintf::@41/(byte) myprintf::bLen#5 )
  (byte*) myprintf::dst#18 ← phi( myprintf::@28/(byte*) myprintf::dst#27 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#44 ← phi( myprintf::@40/(byte) myprintf::bLeadZero#38 )
  (word) myprintf::w#36 ← phi( myprintf::@40/(word) myprintf::w#32 )
  (word) myprintf::w3#36 ← phi( myprintf::@40/(word) myprintf::w3#32 )
  (word) myprintf::w2#36 ← phi( myprintf::@40/(word) myprintf::w2#32 )
  (word) myprintf::w1#36 ← phi( myprintf::@40/(word) myprintf::w1#31 )
  (byte) myprintf::bArg#35 ← phi( myprintf::@40/(byte) myprintf::bArg#31 )
  (byte*) myprintf::str#37 ← 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) ← *((const byte*) myprintf::buf6 + (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#27 ← phi( myprintf::@40/(byte) myprintf::bLeadZero#38 )
  (word) myprintf::w#26 ← phi( myprintf::@40/(word) myprintf::w#32 )
  (word) myprintf::w3#20 ← phi( myprintf::@40/(word) myprintf::w3#32 )
  (word) myprintf::w2#20 ← phi( myprintf::@40/(word) myprintf::w2#32 )
  (word) myprintf::w1#19 ← phi( myprintf::@40/(word) myprintf::w1#31 )
  (byte) myprintf::bArg#21 ← phi( myprintf::@40/(byte) myprintf::bArg#31 )
  (byte*) myprintf::str#17 ← phi( myprintf::@40/(byte*) myprintf::str#30 )
  (byte) myprintf::bLen#33 ← phi( myprintf::@40/(byte) myprintf::bLen#24 )
  (byte*) myprintf::dst#28 ← 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#28 ← phi( myprintf::@42/(byte) myprintf::bLeadZero#27 myprintf::@49/(byte) myprintf::bLeadZero#39 )
  (byte) myprintf::bTrailing#31 ← phi( myprintf::@42/(byte) myprintf::bTrailing#4 myprintf::@49/(byte) myprintf::bTrailing#41 )
  (word) myprintf::w#27 ← phi( myprintf::@42/(word) myprintf::w#26 myprintf::@49/(word) myprintf::w#33 )
  (word) myprintf::w3#21 ← phi( myprintf::@42/(word) myprintf::w3#20 myprintf::@49/(word) myprintf::w3#33 )
  (word) myprintf::w2#21 ← phi( myprintf::@42/(word) myprintf::w2#20 myprintf::@49/(word) myprintf::w2#33 )
  (word) myprintf::w1#20 ← phi( myprintf::@42/(word) myprintf::w1#19 myprintf::@49/(word) myprintf::w1#32 )
  (byte) myprintf::bArg#22 ← phi( myprintf::@42/(byte) myprintf::bArg#21 myprintf::@49/(byte) myprintf::bArg#32 )
  (byte*) myprintf::str#18 ← phi( myprintf::@42/(byte*) myprintf::str#17 myprintf::@49/(byte*) myprintf::str#31 )
  (byte) myprintf::bLen#25 ← phi( myprintf::@42/(byte) myprintf::bLen#33 myprintf::@49/(byte) myprintf::bLen#6 )
  (byte*) myprintf::dst#19 ← phi( myprintf::@42/(byte*) myprintf::dst#28 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#39 ← phi( myprintf::@48/(byte) myprintf::bLeadZero#28 )
  (byte) myprintf::bTrailing#41 ← phi( myprintf::@48/(byte) myprintf::bTrailing#31 )
  (word) myprintf::w#33 ← phi( myprintf::@48/(word) myprintf::w#27 )
  (word) myprintf::w3#33 ← phi( myprintf::@48/(word) myprintf::w3#21 )
  (word) myprintf::w2#33 ← phi( myprintf::@48/(word) myprintf::w2#21 )
  (word) myprintf::w1#32 ← phi( myprintf::@48/(word) myprintf::w1#20 )
  (byte) myprintf::bArg#32 ← phi( myprintf::@48/(byte) myprintf::bArg#22 )
  (byte*) myprintf::str#31 ← phi( myprintf::@48/(byte*) myprintf::str#18 )
  (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#21 ← phi( myprintf::@16/(byte) myprintf::bLeadZero#26 myprintf::@42/(byte) myprintf::bLeadZero#27 myprintf::@48/(byte) myprintf::bLeadZero#28 myprintf::@60/(byte) myprintf::bLeadZero#29 myprintf::@8/(byte) myprintf::bLeadZero#30 )
  (byte) myprintf::bDigits#29 ← phi( myprintf::@16/(byte) myprintf::bDigits#34 myprintf::@42/(byte) myprintf::bDigits#8 myprintf::@48/(byte) myprintf::bDigits#9 myprintf::@60/(byte) myprintf::bDigits#35 myprintf::@8/(byte) myprintf::bDigits#36 )
  (byte) myprintf::bTrailing#25 ← phi( myprintf::@16/(byte) myprintf::bTrailing#30 myprintf::@42/(byte) myprintf::bTrailing#4 myprintf::@48/(byte) myprintf::bTrailing#31 myprintf::@60/(byte) myprintf::bTrailing#32 myprintf::@8/(byte) myprintf::bTrailing#33 )
  (word) myprintf::w#19 ← phi( myprintf::@16/(word) myprintf::w#25 myprintf::@42/(word) myprintf::w#26 myprintf::@48/(word) myprintf::w#27 myprintf::@60/(word) myprintf::w#10 myprintf::@8/(word) myprintf::w#4 )
  (word) myprintf::w3#10 ← phi( myprintf::@16/(word) myprintf::w3#19 myprintf::@42/(word) myprintf::w3#20 myprintf::@48/(word) myprintf::w3#21 myprintf::@60/(word) myprintf::w3#22 myprintf::@8/(word) myprintf::w3#23 )
  (word) myprintf::w2#10 ← phi( myprintf::@16/(word) myprintf::w2#19 myprintf::@42/(word) myprintf::w2#20 myprintf::@48/(word) myprintf::w2#21 myprintf::@60/(word) myprintf::w2#22 myprintf::@8/(word) myprintf::w2#23 )
  (word) myprintf::w1#9 ← phi( myprintf::@16/(word) myprintf::w1#18 myprintf::@42/(word) myprintf::w1#19 myprintf::@48/(word) myprintf::w1#20 myprintf::@60/(word) myprintf::w1#21 myprintf::@8/(word) myprintf::w1#22 )
  (byte) myprintf::bArg#12 ← phi( myprintf::@16/(byte) myprintf::bArg#20 myprintf::@42/(byte) myprintf::bArg#21 myprintf::@48/(byte) myprintf::bArg#22 myprintf::@60/(byte) myprintf::bArg#23 myprintf::@8/(byte) myprintf::bArg#24 )
  (byte) myprintf::bLen#36 ← phi( myprintf::@16/(byte) myprintf::bLen#3 myprintf::@42/(byte) myprintf::bLen#33 myprintf::@48/(byte) myprintf::bLen#25 myprintf::@60/(byte) myprintf::bLen#42 myprintf::@8/(byte) myprintf::bLen#1 )
  (byte*) myprintf::dst#31 ← phi( myprintf::@16/(byte*) myprintf::dst#5 myprintf::@42/(byte*) myprintf::dst#28 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#16 myprintf::@42/(byte*) myprintf::str#17 myprintf::@48/(byte*) myprintf::str#18 myprintf::@60/(byte*) myprintf::str#19 myprintf::@8/(byte*) myprintf::str#20 )
  (byte) myprintf::bFormat#1 ← (number) 0
  to:myprintf::@66
myprintf::@67: scope:[myprintf]  from myprintf::@4
  (byte) myprintf::bLeadZero#34 ← phi( myprintf::@4/(byte) myprintf::bLeadZero#40 )
  (byte) myprintf::bDigits#40 ← phi( myprintf::@4/(byte) myprintf::bDigits#44 )
  (byte) myprintf::bTrailing#37 ← phi( myprintf::@4/(byte) myprintf::bTrailing#42 )
  (word) myprintf::w#28 ← phi( myprintf::@4/(word) myprintf::w#34 )
  (word) myprintf::w3#26 ← phi( myprintf::@4/(word) myprintf::w3#5 )
  (word) myprintf::w2#26 ← phi( myprintf::@4/(word) myprintf::w2#5 )
  (word) myprintf::w1#25 ← phi( myprintf::@4/(word) myprintf::w1#4 )
  (byte) myprintf::bArg#25 ← phi( myprintf::@4/(byte) myprintf::bArg#5 )
  (byte) myprintf::bFormat#17 ← phi( myprintf::@4/(byte) myprintf::bFormat#19 )
  (byte*) myprintf::str#24 ← phi( myprintf::@4/(byte*) myprintf::str#32 )
  (byte) myprintf::bLen#26 ← phi( myprintf::@4/(byte) myprintf::bLen#34 )
  (byte*) myprintf::dst#20 ← phi( myprintf::@4/(byte*) myprintf::dst#29 )
  (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::@74
  to:myprintf::@84
myprintf::@80: scope:[myprintf]  from myprintf::@4
  (byte) myprintf::bLen#53 ← phi( myprintf::@4/(byte) myprintf::bLen#34 )
  (byte*) myprintf::dst#48 ← phi( myprintf::@4/(byte*) myprintf::dst#29 )
  (byte*) myprintf::str#33 ← phi( myprintf::@4/(byte*) myprintf::str#32 )
  (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::@68
  to:myprintf::@81
myprintf::@68: scope:[myprintf]  from myprintf::@80
  (byte) myprintf::bLeadZero#31 ← phi( myprintf::@80/(byte) myprintf::bLeadZero#2 )
  (byte) myprintf::bDigits#37 ← phi( myprintf::@80/(byte) myprintf::bDigits#4 )
  (byte) myprintf::bTrailing#34 ← phi( myprintf::@80/(byte) myprintf::bTrailing#2 )
  (word) myprintf::w3#24 ← phi( myprintf::@80/(word) myprintf::w3#4 )
  (word) myprintf::w2#24 ← phi( myprintf::@80/(word) myprintf::w2#4 )
  (byte) myprintf::bLen#48 ← phi( myprintf::@80/(byte) myprintf::bLen#53 )
  (byte*) myprintf::dst#43 ← phi( myprintf::@80/(byte*) myprintf::dst#48 )
  (byte) myprintf::bFormat#14 ← phi( myprintf::@80/(byte) myprintf::bFormat#2 )
  (byte*) myprintf::str#21 ← phi( myprintf::@80/(byte*) myprintf::str#33 )
  (byte) myprintf::bArg#6 ← phi( myprintf::@80/(byte) myprintf::bArg#2 )
  (word) myprintf::w1#2 ← phi( myprintf::@80/(word) myprintf::w1#3 )
  (word) myprintf::w#1 ← (word) myprintf::w1#2
  to:myprintf::@71
myprintf::@81: scope:[myprintf]  from myprintf::@80
  (byte) myprintf::bLeadZero#41 ← phi( myprintf::@80/(byte) myprintf::bLeadZero#2 )
  (byte) myprintf::bDigits#45 ← phi( myprintf::@80/(byte) myprintf::bDigits#4 )
  (byte) myprintf::bTrailing#43 ← phi( myprintf::@80/(byte) myprintf::bTrailing#2 )
  (word) myprintf::w1#33 ← phi( myprintf::@80/(word) myprintf::w1#3 )
  (byte) myprintf::bLen#54 ← phi( myprintf::@80/(byte) myprintf::bLen#53 )
  (byte*) myprintf::dst#49 ← phi( myprintf::@80/(byte*) myprintf::dst#48 )
  (byte) myprintf::bFormat#20 ← phi( myprintf::@80/(byte) myprintf::bFormat#2 )
  (byte*) myprintf::str#34 ← phi( myprintf::@80/(byte*) myprintf::str#33 )
  (word) myprintf::w3#3 ← phi( myprintf::@80/(word) myprintf::w3#4 )
  (word) myprintf::w2#3 ← phi( myprintf::@80/(word) myprintf::w2#4 )
  (byte) myprintf::bArg#3 ← phi( myprintf::@80/(byte) myprintf::bArg#2 )
  (bool~) myprintf::$54 ← (byte) myprintf::bArg#3 == (number) 1
  if((bool~) myprintf::$54) goto myprintf::@69
  to:myprintf::@82
myprintf::@69: scope:[myprintf]  from myprintf::@81
  (byte) myprintf::bLeadZero#32 ← phi( myprintf::@81/(byte) myprintf::bLeadZero#41 )
  (byte) myprintf::bDigits#38 ← phi( myprintf::@81/(byte) myprintf::bDigits#45 )
  (byte) myprintf::bTrailing#35 ← phi( myprintf::@81/(byte) myprintf::bTrailing#43 )
  (word) myprintf::w3#25 ← phi( myprintf::@81/(word) myprintf::w3#3 )
  (word) myprintf::w1#23 ← phi( myprintf::@81/(word) myprintf::w1#33 )
  (byte) myprintf::bLen#49 ← phi( myprintf::@81/(byte) myprintf::bLen#54 )
  (byte*) myprintf::dst#44 ← phi( myprintf::@81/(byte*) myprintf::dst#49 )
  (byte) myprintf::bFormat#15 ← phi( myprintf::@81/(byte) myprintf::bFormat#20 )
  (byte*) myprintf::str#22 ← phi( myprintf::@81/(byte*) myprintf::str#34 )
  (byte) myprintf::bArg#7 ← phi( myprintf::@81/(byte) myprintf::bArg#3 )
  (word) myprintf::w2#2 ← phi( myprintf::@81/(word) myprintf::w2#3 )
  (word) myprintf::w#2 ← (word) myprintf::w2#2
  to:myprintf::@71
myprintf::@82: scope:[myprintf]  from myprintf::@81
  (byte) myprintf::bLeadZero#33 ← phi( myprintf::@81/(byte) myprintf::bLeadZero#41 )
  (byte) myprintf::bDigits#39 ← phi( myprintf::@81/(byte) myprintf::bDigits#45 )
  (byte) myprintf::bTrailing#36 ← phi( myprintf::@81/(byte) myprintf::bTrailing#43 )
  (word) myprintf::w2#25 ← phi( myprintf::@81/(word) myprintf::w2#3 )
  (word) myprintf::w1#24 ← phi( myprintf::@81/(word) myprintf::w1#33 )
  (byte) myprintf::bLen#50 ← phi( myprintf::@81/(byte) myprintf::bLen#54 )
  (byte*) myprintf::dst#45 ← phi( myprintf::@81/(byte*) myprintf::dst#49 )
  (byte) myprintf::bFormat#16 ← phi( myprintf::@81/(byte) myprintf::bFormat#20 )
  (byte*) myprintf::str#23 ← phi( myprintf::@81/(byte*) myprintf::str#34 )
  (byte) myprintf::bArg#8 ← phi( myprintf::@81/(byte) myprintf::bArg#3 )
  (word) myprintf::w3#2 ← phi( myprintf::@81/(word) myprintf::w3#3 )
  (word) myprintf::w#3 ← (word) myprintf::w3#2
  to:myprintf::@71
myprintf::@71: scope:[myprintf]  from myprintf::@68 myprintf::@69 myprintf::@82
  (byte) myprintf::bLeadZero#24 ← phi( myprintf::@68/(byte) myprintf::bLeadZero#31 myprintf::@69/(byte) myprintf::bLeadZero#32 myprintf::@82/(byte) myprintf::bLeadZero#33 )
  (byte) myprintf::bDigits#31 ← phi( myprintf::@68/(byte) myprintf::bDigits#37 myprintf::@69/(byte) myprintf::bDigits#38 myprintf::@82/(byte) myprintf::bDigits#39 )
  (byte) myprintf::bTrailing#27 ← phi( myprintf::@68/(byte) myprintf::bTrailing#34 myprintf::@69/(byte) myprintf::bTrailing#35 myprintf::@82/(byte) myprintf::bTrailing#36 )
  (word) myprintf::w#22 ← phi( myprintf::@68/(word) myprintf::w#1 myprintf::@69/(word) myprintf::w#2 myprintf::@82/(word) myprintf::w#3 )
  (word) myprintf::w3#13 ← phi( myprintf::@68/(word) myprintf::w3#24 myprintf::@69/(word) myprintf::w3#25 myprintf::@82/(word) myprintf::w3#2 )
  (word) myprintf::w2#13 ← phi( myprintf::@68/(word) myprintf::w2#24 myprintf::@69/(word) myprintf::w2#2 myprintf::@82/(word) myprintf::w2#25 )
  (word) myprintf::w1#12 ← phi( myprintf::@68/(word) myprintf::w1#2 myprintf::@69/(word) myprintf::w1#23 myprintf::@82/(word) myprintf::w1#24 )
  (byte) myprintf::bLen#39 ← phi( myprintf::@68/(byte) myprintf::bLen#48 myprintf::@69/(byte) myprintf::bLen#49 myprintf::@82/(byte) myprintf::bLen#50 )
  (byte*) myprintf::dst#34 ← phi( myprintf::@68/(byte*) myprintf::dst#43 myprintf::@69/(byte*) myprintf::dst#44 myprintf::@82/(byte*) myprintf::dst#45 )
  (byte) myprintf::bFormat#8 ← phi( myprintf::@68/(byte) myprintf::bFormat#14 myprintf::@69/(byte) myprintf::bFormat#15 myprintf::@82/(byte) myprintf::bFormat#16 )
  (byte*) myprintf::str#10 ← phi( myprintf::@68/(byte*) myprintf::str#21 myprintf::@69/(byte*) myprintf::str#22 myprintf::@82/(byte*) myprintf::str#23 )
  (byte) myprintf::bArg#4 ← phi( myprintf::@68/(byte) myprintf::bArg#6 myprintf::@69/(byte) myprintf::bArg#7 myprintf::@82/(byte) myprintf::bArg#8 )
  (byte) myprintf::bArg#1 ← ++ (byte) myprintf::bArg#4
  to:myprintf::@66
myprintf::@74: scope:[myprintf]  from myprintf::@67 myprintf::@84
  (byte) myprintf::bLeadZero#25 ← phi( myprintf::@67/(byte) myprintf::bLeadZero#34 myprintf::@84/(byte) myprintf::bLeadZero#35 )
  (byte) myprintf::bDigits#32 ← phi( myprintf::@67/(byte) myprintf::bDigits#40 myprintf::@84/(byte) myprintf::bDigits#41 )
  (byte) myprintf::bTrailing#28 ← phi( myprintf::@67/(byte) myprintf::bTrailing#37 myprintf::@84/(byte) myprintf::bTrailing#38 )
  (word) myprintf::w#23 ← phi( myprintf::@67/(word) myprintf::w#28 myprintf::@84/(word) myprintf::w#29 )
  (word) myprintf::w3#14 ← phi( myprintf::@67/(word) myprintf::w3#26 myprintf::@84/(word) myprintf::w3#27 )
  (word) myprintf::w2#14 ← phi( myprintf::@67/(word) myprintf::w2#26 myprintf::@84/(word) myprintf::w2#27 )
  (word) myprintf::w1#13 ← phi( myprintf::@67/(word) myprintf::w1#25 myprintf::@84/(word) myprintf::w1#26 )
  (byte) myprintf::bArg#15 ← phi( myprintf::@67/(byte) myprintf::bArg#25 myprintf::@84/(byte) myprintf::bArg#26 )
  (byte) myprintf::bFormat#9 ← phi( myprintf::@67/(byte) myprintf::bFormat#17 myprintf::@84/(byte) myprintf::bFormat#18 )
  (byte*) myprintf::str#11 ← phi( myprintf::@67/(byte*) myprintf::str#24 myprintf::@84/(byte*) myprintf::str#25 )
  (byte) myprintf::bLen#15 ← phi( myprintf::@67/(byte) myprintf::bLen#26 myprintf::@84/(byte) myprintf::bLen#27 )
  (byte*) myprintf::dst#9 ← phi( myprintf::@67/(byte*) myprintf::dst#20 myprintf::@84/(byte*) myprintf::dst#21 )
  (byte) myprintf::b#25 ← phi( myprintf::@67/(byte) myprintf::b#24 myprintf::@84/(byte) myprintf::b#6 )
  *((byte*) myprintf::dst#9 + (byte) myprintf::bLen#15) ← (byte) myprintf::b#25
  (byte) myprintf::bLen#7 ← ++ (byte) myprintf::bLen#15
  to:myprintf::@66
myprintf::@84: scope:[myprintf]  from myprintf::@67
  (byte) myprintf::bLeadZero#35 ← phi( myprintf::@67/(byte) myprintf::bLeadZero#34 )
  (byte) myprintf::bDigits#41 ← phi( myprintf::@67/(byte) myprintf::bDigits#40 )
  (byte) myprintf::bTrailing#38 ← phi( myprintf::@67/(byte) myprintf::bTrailing#37 )
  (word) myprintf::w#29 ← phi( myprintf::@67/(word) myprintf::w#28 )
  (word) myprintf::w3#27 ← phi( myprintf::@67/(word) myprintf::w3#26 )
  (word) myprintf::w2#27 ← phi( myprintf::@67/(word) myprintf::w2#26 )
  (word) myprintf::w1#26 ← phi( myprintf::@67/(word) myprintf::w1#25 )
  (byte) myprintf::bArg#26 ← phi( myprintf::@67/(byte) myprintf::bArg#25 )
  (byte) myprintf::bFormat#18 ← phi( myprintf::@67/(byte) myprintf::bFormat#17 )
  (byte*) myprintf::str#25 ← phi( myprintf::@67/(byte*) myprintf::str#24 )
  (byte) myprintf::bLen#27 ← phi( myprintf::@67/(byte) myprintf::bLen#26 )
  (byte*) myprintf::dst#21 ← phi( myprintf::@67/(byte*) myprintf::dst#20 )
  (byte) myprintf::b#26 ← phi( myprintf::@67/(byte) myprintf::b#24 )
  (byte) myprintf::b#6 ← (byte) myprintf::b#26 + (number) $20
  to:myprintf::@74
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

(void()) Print()
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

(word()) div10((word) div10::val)
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

(signed word()) main()
main: scope:[main]  from @14
  (word) main::u#0 ← (word) 0
  (word) main::v#0 ← (word) 0
  *((const byte*) VICBANK) ← (number) $17
  (word) main::u#1 ← (number) $6e85
  *((const byte*) zp1) ← (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 ← *((const byte*) zp1) < (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 )
  *((const byte*) TIMEHI) ← (number) 0
  *((const byte*) TIMELO) ← (number) 0
  *((const byte*) zp2) ← (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
  *((const byte*) zp1) ← (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 ← *((const byte*) zp2) < (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
  *((const byte*) zp2) ← ++ *((const byte*) zp2)
  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)) *((const byte*) TIMEHI)
  (word~) main::$4 ← (word~) main::$3 << (number) 8
  (word~) main::$5 ← ((word)) *((const byte*) TIMELO)
  (word~) main::$6 ← (word~) main::$4 + (word~) main::$5
  (byte*) myprintf::dst#0 ← (const byte*) strTemp
  (byte*) myprintf::str#1 ← (const byte*) 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
  *((const byte*) zp1) ← ++ *((const byte*) zp1)
  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 ← *((const byte*) zp1) < (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 )
  *((const byte*) TIMEHI) ← (number) 0
  *((const byte*) TIMELO) ← (number) 0
  *((const byte*) zp2) ← (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 ← *((const byte*) zp2) < (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
  *((const byte*) zp2) ← ++ *((const byte*) zp2)
  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)) *((const byte*) TIMEHI)
  (word~) main::$13 ← (word~) main::$12 << (number) 8
  (word~) main::$14 ← ((word)) *((const byte*) TIMELO)
  (word~) main::$15 ← (word~) main::$13 + (word~) main::$14
  (byte*) myprintf::dst#1 ← (const byte*) strTemp
  (byte*) myprintf::str#2 ← (const byte*) 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
  *((const byte*) zp1) ← ++ *((const byte*) zp1)
  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 @begin
  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) @begin
(label) @end
(void()) Print()
(label) Print::@return
(const byte*) TIMEHI = (byte*)(number) $a1
(const byte*) TIMELO = (byte*)(number) $a2
(const byte*) VICBANK = (byte*)(number) $d018
(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 byte*) main::str[(byte) $24]  = (byte*) "200 DIV16U: %5d,%4d IN %04d FRAMESm"
(const byte*) main::str1[(byte) $24]  = (byte*) "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::@69
(label) myprintf::@7
(label) myprintf::@71
(label) myprintf::@74
(label) myprintf::@77
(label) myprintf::@78
(label) myprintf::@8
(label) myprintf::@80
(label) myprintf::@81
(label) myprintf::@82
(label) myprintf::@84
(label) myprintf::@87
(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#48
(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#49
(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#20
(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#47
(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#55
(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#47
(byte) myprintf::bTrailing#5
(byte) myprintf::bTrailing#6
(byte) myprintf::bTrailing#7
(byte) myprintf::bTrailing#8
(byte) myprintf::bTrailing#9
(const byte*) myprintf::buf6[(number) 6]  = { fill( 6, 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#50
(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#50
(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#45
(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#49
(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#49
(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#49
(word) myprintf::w3#5
(word) myprintf::w3#6
(word) myprintf::w3#7
(word) myprintf::w3#8
(word) myprintf::w3#9
(const byte*) strTemp[(number) $64]  = { fill( $64, 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
(const byte*) zp1 = (byte*)(number) $61
(const byte*) zp2 = (byte*)(number) $62

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) 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 (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#42 ← phi( myprintf::@11/(byte) myprintf::bLeadZero#45 myprintf::@12/(byte) myprintf::bLeadZero#46 )
  (byte) myprintf::bDigits#46 ← phi( myprintf::@11/(byte) myprintf::bDigits#47 myprintf::@12/(byte) myprintf::bDigits#48 )
  (byte) myprintf::bTrailing#44 ← phi( myprintf::@11/(byte) myprintf::bTrailing#45 myprintf::@12/(byte) myprintf::bTrailing#46 )
  (word) myprintf::w3#34 ← phi( myprintf::@11/(word) myprintf::w3#37 myprintf::@12/(word) myprintf::w3#38 )
  (word) myprintf::w2#34 ← phi( myprintf::@11/(word) myprintf::w2#37 myprintf::@12/(word) myprintf::w2#38 )
  (word) myprintf::w1#34 ← phi( myprintf::@11/(word) myprintf::w1#37 myprintf::@12/(word) myprintf::w1#38 )
  (byte) myprintf::bArg#33 ← phi( myprintf::@11/(byte) myprintf::bArg#36 myprintf::@12/(byte) myprintf::bArg#37 )
  (byte*) myprintf::str#35 ← phi( myprintf::@11/(byte*) myprintf::str#38 myprintf::@12/(byte*) myprintf::str#39 )
  (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#42 ← phi( myprintf::@11/(byte) myprintf::bLeadZero#45 myprintf::@12/(byte) myprintf::bLeadZero#46 )
  (byte) myprintf::bDigits#46 ← phi( myprintf::@11/(byte) myprintf::bDigits#47 myprintf::@12/(byte) myprintf::bDigits#48 )
  (byte) myprintf::bTrailing#44 ← phi( myprintf::@11/(byte) myprintf::bTrailing#45 myprintf::@12/(byte) myprintf::bTrailing#46 )
  (word) myprintf::w3#34 ← phi( myprintf::@11/(word) myprintf::w3#37 myprintf::@12/(word) myprintf::w3#38 )
  (word) myprintf::w2#34 ← phi( myprintf::@11/(word) myprintf::w2#37 myprintf::@12/(word) myprintf::w2#38 )
  (word) myprintf::w1#34 ← phi( myprintf::@11/(word) myprintf::w1#37 myprintf::@12/(word) myprintf::w1#38 )
  (byte) myprintf::bArg#33 ← phi( myprintf::@11/(byte) myprintf::bArg#36 myprintf::@12/(byte) myprintf::bArg#37 )
  (byte*) myprintf::str#35 ← phi( myprintf::@11/(byte*) myprintf::str#38 myprintf::@12/(byte*) myprintf::str#39 )
  (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#26 ← phi( myprintf::@14/(byte) myprintf::bLeadZero#36 myprintf::@15/(byte) myprintf::bLeadZero#37 )
  (byte) myprintf::bDigits#34 ← phi( myprintf::@14/(byte) myprintf::bDigits#42 myprintf::@15/(byte) myprintf::bDigits#43 )
  (byte) myprintf::bTrailing#30 ← phi( myprintf::@14/(byte) myprintf::bTrailing#39 myprintf::@15/(byte) myprintf::bTrailing#40 )
  (word) myprintf::w#25 ← phi( myprintf::@14/(word) myprintf::w#30 myprintf::@15/(word) myprintf::w#31 )
  (word) myprintf::w3#19 ← phi( myprintf::@14/(word) myprintf::w3#30 myprintf::@15/(word) myprintf::w3#31 )
  (word) myprintf::w2#19 ← phi( myprintf::@14/(word) myprintf::w2#30 myprintf::@15/(word) myprintf::w2#31 )
  (word) myprintf::w1#18 ← phi( myprintf::@14/(word) myprintf::w1#29 myprintf::@15/(word) myprintf::w1#30 )
  (byte) myprintf::bArg#20 ← phi( myprintf::@14/(byte) myprintf::bArg#29 myprintf::@15/(byte) myprintf::bArg#30 )
  (byte*) myprintf::str#16 ← 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#26 ← phi( myprintf::@14/(byte) myprintf::bLeadZero#36 myprintf::@15/(byte) myprintf::bLeadZero#37 )
  (byte) myprintf::bDigits#34 ← phi( myprintf::@14/(byte) myprintf::bDigits#42 myprintf::@15/(byte) myprintf::bDigits#43 )
  (byte) myprintf::bTrailing#30 ← phi( myprintf::@14/(byte) myprintf::bTrailing#39 myprintf::@15/(byte) myprintf::bTrailing#40 )
  (word) myprintf::w#25 ← phi( myprintf::@14/(word) myprintf::w#30 myprintf::@15/(word) myprintf::w#31 )
  (word) myprintf::w3#19 ← phi( myprintf::@14/(word) myprintf::w3#30 myprintf::@15/(word) myprintf::w3#31 )
  (word) myprintf::w2#19 ← phi( myprintf::@14/(word) myprintf::w2#30 myprintf::@15/(word) myprintf::w2#31 )
  (word) myprintf::w1#18 ← phi( myprintf::@14/(word) myprintf::w1#29 myprintf::@15/(word) myprintf::w1#30 )
  (byte) myprintf::bArg#20 ← phi( myprintf::@14/(byte) myprintf::bArg#29 myprintf::@15/(byte) myprintf::bArg#30 )
  (byte*) myprintf::str#16 ← 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 ← *((const byte*) myprintf::buf6 + (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 *((const byte*) VICBANK) ← (number) $17
Adding number conversion cast (unumber) $6e85 in (word) main::u#1 ← (number) $6e85
Adding number conversion cast (unumber) 0 in *((const byte*) zp1) ← (number) 0
Adding number conversion cast (unumber) $a in (bool~) main::$0 ← *((const byte*) zp1) < (number) $a
Adding number conversion cast (unumber) 0 in *((const byte*) TIMEHI) ← (number) 0
Adding number conversion cast (unumber) 0 in *((const byte*) TIMELO) ← (number) 0
Adding number conversion cast (unumber) 0 in *((const byte*) zp2) ← (number) 0
Adding number conversion cast (unumber) $6e85 in (word) main::u#2 ← (number) $6e85
Adding number conversion cast (unumber) 0 in *((const byte*) zp1) ← (number) 0
Adding number conversion cast (unumber) $c8 in (bool~) main::$1 ← *((const byte*) zp2) < (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 ← *((const byte*) zp1) < (number) $a
Adding number conversion cast (unumber) 0 in *((const byte*) TIMEHI) ← (number) 0
Adding number conversion cast (unumber) 0 in *((const byte*) TIMELO) ← (number) 0
Adding number conversion cast (unumber) 0 in *((const byte*) zp2) ← (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 ← *((const byte*) zp2) < (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::rem#3 ← (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::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 *((const byte*) VICBANK) ← (unumber)(number) $17
Inlining cast (word) main::u#1 ← (unumber)(number) $6e85
Inlining cast *((const byte*) zp1) ← (unumber)(number) 0
Inlining cast *((const byte*) TIMEHI) ← (unumber)(number) 0
Inlining cast *((const byte*) TIMELO) ← (unumber)(number) 0
Inlining cast *((const byte*) zp2) ← (unumber)(number) 0
Inlining cast (word) main::u#2 ← (unumber)(number) $6e85
Inlining cast *((const byte*) zp1) ← (unumber)(number) 0
Inlining cast (word) div16u::divisor#0 ← (unumber)(number) $a
Inlining cast (word~) main::$3 ← (word)*((const byte*) TIMEHI)
Inlining cast (word~) main::$5 ← (word)*((const byte*) TIMELO)
Inlining cast *((const byte*) TIMEHI) ← (unumber)(number) 0
Inlining cast *((const byte*) TIMELO) ← (unumber)(number) 0
Inlining cast *((const byte*) zp2) ← (unumber)(number) 0
Inlining cast (signed word) main::return#0 ← (snumber)(number) 0
Inlining cast (word~) main::$12 ← (word)*((const byte*) TIMEHI)
Inlining cast (word~) main::$14 ← (word)*((const byte*) TIMELO)
Successful SSA optimization Pass2InlineCast
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 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 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 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) 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) 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) 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 [152] (bool~) myprintf::$2 ← (byte) myprintf::bFormat#3 == (byte) 0 from [151] (bool~) myprintf::$1 ← (byte) myprintf::bFormat#3 != (byte) 0
Inversing boolean not [159] (bool~) myprintf::$52 ← (byte) myprintf::b#7 != (byte) '%' from [158] (bool~) myprintf::$51 ← (byte) myprintf::b#7 == (byte) '%'
Inversing boolean not [163] (bool~) myprintf::$4 ← (byte) myprintf::b#8 != (byte) '0' from [162] (bool~) myprintf::$3 ← (byte) myprintf::b#8 == (byte) '0'
Inversing boolean not [177] (bool~) myprintf::$11 ← (byte) myprintf::b#10 != (byte) '-' from [176] (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#12 = (byte*) myprintf::str#4 (byte*) myprintf::str#3 (byte*) myprintf::str#32 (byte*) myprintf::str#13 (byte*) myprintf::str#14 (byte*) myprintf::str#15 (byte*) myprintf::str#8 (byte*) myprintf::str#26 (byte*) myprintf::str#9 (byte*) myprintf::str#20 (byte*) myprintf::str#27 (byte*) myprintf::str#49 (byte*) myprintf::str#46 (byte*) myprintf::str#19 (byte*) myprintf::str#42 (byte*) myprintf::str#38 (byte*) myprintf::str#39 (byte*) myprintf::str#24 (byte*) myprintf::str#33 (byte*) myprintf::str#21 (byte*) myprintf::str#34 (byte*) myprintf::str#22 (byte*) myprintf::str#23 (byte*) myprintf::str#25 
Alias (byte) myprintf::bFormat#10 = (byte) myprintf::bFormat#3 (byte) myprintf::bFormat#4 (byte) myprintf::bFormat#19 (byte) myprintf::bFormat#11 (byte) myprintf::bFormat#12 (byte) myprintf::bFormat#13 (byte) myprintf::bFormat#6 (byte) myprintf::bFormat#7 (byte) myprintf::bFormat#17 (byte) myprintf::bFormat#18 
Alias (byte) myprintf::bArg#10 = (byte) myprintf::bArg#9 (byte) myprintf::bArg#5 (byte) myprintf::bArg#17 (byte) myprintf::bArg#18 (byte) myprintf::bArg#16 (byte) myprintf::bArg#19 (byte) myprintf::bArg#13 (byte) myprintf::bArg#27 (byte) myprintf::bArg#14 (byte) myprintf::bArg#24 (byte) myprintf::bArg#28 (byte) myprintf::bArg#47 (byte) myprintf::bArg#44 (byte) myprintf::bArg#23 (byte) myprintf::bArg#40 (byte) myprintf::bArg#36 (byte) myprintf::bArg#37 (byte) myprintf::bArg#25 (byte) myprintf::bArg#2 (byte) myprintf::bArg#6 (byte) myprintf::bArg#3 (byte) myprintf::bArg#7 (byte) myprintf::bArg#8 (byte) myprintf::bArg#26 
Alias (byte*) myprintf::dst#10 = (byte*) myprintf::dst#30 (byte*) myprintf::dst#2 (byte*) myprintf::dst#29 (byte*) myprintf::dst#40 (byte*) myprintf::dst#36 (byte*) myprintf::dst#35 (byte*) myprintf::dst#24 (byte*) myprintf::dst#32 (byte*) myprintf::dst#11 (byte*) myprintf::dst#33 (byte*) myprintf::dst#3 (byte*) myprintf::dst#41 (byte*) myprintf::dst#50 (byte*) myprintf::dst#47 (byte*) myprintf::dst#37 (byte*) myprintf::dst#25 (byte*) myprintf::dst#12 (byte*) myprintf::dst#13 (byte*) myprintf::dst#20 (byte*) myprintf::dst#48 (byte*) myprintf::dst#43 (byte*) myprintf::dst#49 (byte*) myprintf::dst#44 (byte*) myprintf::dst#45 (byte*) myprintf::dst#21 
Alias (byte) myprintf::bLen#16 = (byte) myprintf::bLen#35 (byte) myprintf::bLen#8 (byte) myprintf::return#0 (byte) myprintf::bLen#34 (byte) myprintf::bLen#45 (byte) myprintf::bLen#41 (byte) myprintf::bLen#40 (byte) myprintf::bLen#29 (byte) myprintf::bLen#37 (byte) myprintf::bLen#17 (byte) myprintf::bLen#38 (byte) myprintf::bLen#9 (byte) myprintf::bLen#46 (byte) myprintf::bLen#55 (byte) myprintf::bLen#52 (byte) myprintf::bLen#42 (byte) myprintf::bLen#30 (byte) myprintf::bLen#18 (byte) myprintf::bLen#19 (byte) myprintf::bLen#26 (byte) myprintf::bLen#53 (byte) myprintf::bLen#48 (byte) myprintf::bLen#54 (byte) myprintf::bLen#49 (byte) myprintf::bLen#50 (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#15 (word) myprintf::w1#16 (word) myprintf::w1#14 (word) myprintf::w1#17 (word) myprintf::w1#27 (word) myprintf::w1#11 (word) myprintf::w1#22 (word) myprintf::w1#28 (word) myprintf::w1#48 (word) myprintf::w1#45 (word) myprintf::w1#21 (word) myprintf::w1#41 (word) myprintf::w1#37 (word) myprintf::w1#38 (word) myprintf::w1#25 (word) myprintf::w1#3 (word) myprintf::w1#2 (word) myprintf::w#1 (word) myprintf::w1#33 (word) myprintf::w1#23 (word) myprintf::w1#24 (word) myprintf::w1#26 
Alias (word) myprintf::w2#11 = (word) myprintf::w2#6 (word) myprintf::w2#7 (word) myprintf::w2#5 (word) myprintf::w2#16 (word) myprintf::w2#17 (word) myprintf::w2#15 (word) myprintf::w2#18 (word) myprintf::w2#28 (word) myprintf::w2#12 (word) myprintf::w2#23 (word) myprintf::w2#29 (word) myprintf::w2#48 (word) myprintf::w2#45 (word) myprintf::w2#22 (word) myprintf::w2#41 (word) myprintf::w2#37 (word) myprintf::w2#38 (word) myprintf::w2#26 (word) myprintf::w2#4 (word) myprintf::w2#24 (word) myprintf::w2#3 (word) myprintf::w2#2 (word) myprintf::w#2 (word) myprintf::w2#25 (word) myprintf::w2#27 
Alias (word) myprintf::w3#11 = (word) myprintf::w3#6 (word) myprintf::w3#7 (word) myprintf::w3#5 (word) myprintf::w3#16 (word) myprintf::w3#17 (word) myprintf::w3#15 (word) myprintf::w3#18 (word) myprintf::w3#28 (word) myprintf::w3#12 (word) myprintf::w3#23 (word) myprintf::w3#29 (word) myprintf::w3#48 (word) myprintf::w3#45 (word) myprintf::w3#22 (word) myprintf::w3#41 (word) myprintf::w3#37 (word) myprintf::w3#38 (word) myprintf::w3#26 (word) myprintf::w3#4 (word) myprintf::w3#24 (word) myprintf::w3#3 (word) myprintf::w3#25 (word) myprintf::w3#2 (word) myprintf::w#3 (word) myprintf::w3#27 
Alias (word) myprintf::w#10 = (word) myprintf::w#16 (word) myprintf::w#17 (word) myprintf::w#34 (word) myprintf::w#15 (word) myprintf::w#14 (word) myprintf::w#24 (word) myprintf::w#13 (word) myprintf::w#20 (word) myprintf::w#8 (word) myprintf::w#21 (word) myprintf::w#4 (word) myprintf::w#9 (word) myprintf::w#5 (word) myprintf::w#42 (word) myprintf::w#6 (word) myprintf::w#11 (word) myprintf::w#12 (word) myprintf::w#28 (word) myprintf::w#29 
Alias (byte) myprintf::bTrailing#11 = (byte) myprintf::bTrailing#22 (byte) myprintf::bTrailing#23 (byte) myprintf::bTrailing#42 (byte) myprintf::bTrailing#21 (byte) myprintf::bTrailing#20 (byte) myprintf::bTrailing#29 (byte) myprintf::bTrailing#18 (byte) myprintf::bTrailing#26 (byte) myprintf::bTrailing#15 (byte) myprintf::bTrailing#33 (byte) myprintf::bTrailing#13 (byte) myprintf::bTrailing#8 (byte) myprintf::bTrailing#32 (byte) myprintf::bTrailing#47 (byte) myprintf::bTrailing#45 (byte) myprintf::bTrailing#46 (byte) myprintf::bTrailing#37 (byte) myprintf::bTrailing#38 
Alias (byte) myprintf::bDigits#16 = (byte) myprintf::bDigits#26 (byte) myprintf::bDigits#27 (byte) myprintf::bDigits#44 (byte) myprintf::bDigits#25 (byte) myprintf::bDigits#24 (byte) myprintf::bDigits#33 (byte) myprintf::bDigits#23 (byte) myprintf::bDigits#22 (byte) myprintf::bDigits#30 (byte) myprintf::bDigits#36 (byte) myprintf::bDigits#21 (byte) myprintf::bDigits#20 (byte) myprintf::bDigits#35 (byte) myprintf::bDigits#49 (byte) myprintf::bDigits#47 (byte) myprintf::bDigits#48 (byte) myprintf::bDigits#40 (byte) myprintf::bDigits#41 
Alias (byte) myprintf::bLeadZero#11 = (byte) myprintf::bLeadZero#18 (byte) myprintf::bLeadZero#19 (byte) myprintf::bLeadZero#40 (byte) myprintf::bLeadZero#17 (byte) myprintf::bLeadZero#16 (byte) myprintf::bLeadZero#15 (byte) myprintf::bLeadZero#22 (byte) myprintf::bLeadZero#14 (byte) myprintf::bLeadZero#23 (byte) myprintf::bLeadZero#30 (byte) myprintf::bLeadZero#13 (byte) myprintf::bLeadZero#12 (byte) myprintf::bLeadZero#29 (byte) myprintf::bLeadZero#47 (byte) myprintf::bLeadZero#45 (byte) myprintf::bLeadZero#46 (byte) myprintf::bLeadZero#34 (byte) myprintf::bLeadZero#35 
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#35 (byte*) myprintf::str#29 
Alias (byte) myprintf::bArg#29 = (byte) myprintf::bArg#33 (byte) myprintf::bArg#30 
Alias (word) myprintf::w1#29 = (word) myprintf::w1#34 (word) myprintf::w1#30 
Alias (word) myprintf::w2#30 = (word) myprintf::w2#34 (word) myprintf::w2#31 
Alias (word) myprintf::w3#30 = (word) myprintf::w3#34 (word) myprintf::w3#31 
Alias (word) myprintf::w#30 = (word) myprintf::w#7 (word) myprintf::w#31 
Alias (byte) myprintf::bTrailing#39 = (byte) myprintf::bTrailing#44 (byte) myprintf::bTrailing#40 
Alias (byte) myprintf::bDigits#42 = (byte) myprintf::bDigits#46 (byte) myprintf::bDigits#43 
Alias (byte) myprintf::bLeadZero#36 = (byte) myprintf::bLeadZero#42 (byte) myprintf::bLeadZero#37 
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#46 (byte*) myprintf::dst#42 
Alias (byte) myprintf::bLen#43 = (byte) myprintf::bLen#51 (byte) myprintf::bLen#47 
Alias (byte*) myprintf::str#40 = (byte*) myprintf::str#45 (byte*) myprintf::str#43 
Alias (byte) myprintf::bArg#38 = (byte) myprintf::bArg#43 (byte) myprintf::bArg#41 
Alias (word) myprintf::w1#39 = (word) myprintf::w1#44 (word) myprintf::w1#42 
Alias (word) myprintf::w2#39 = (word) myprintf::w2#44 (word) myprintf::w2#42 
Alias (word) myprintf::w3#39 = (word) myprintf::w3#44 (word) myprintf::w3#42 
Alias (word) myprintf::w#37 = (word) myprintf::w#41 (word) myprintf::w#39 
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#26 (byte*) myprintf::dst#39 (byte*) myprintf::dst#17 
Alias (byte) myprintf::bLen#22 = (byte) myprintf::bLen#31 (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#41 = (byte*) myprintf::str#50 (byte*) myprintf::str#47 (byte*) myprintf::str#48 
Alias (byte) myprintf::bArg#39 = (byte) myprintf::bArg#48 (byte) myprintf::bArg#45 (byte) myprintf::bArg#46 
Alias (word) myprintf::w1#40 = (word) myprintf::w1#49 (word) myprintf::w1#46 (word) myprintf::w1#47 
Alias (word) myprintf::w2#40 = (word) myprintf::w2#49 (word) myprintf::w2#46 (word) myprintf::w2#47 
Alias (word) myprintf::w3#40 = (word) myprintf::w3#49 (word) myprintf::w3#46 (word) myprintf::w3#47 
Alias (word) myprintf::w#38 = (word) myprintf::w#45 (word) myprintf::w#43 (word) myprintf::w#44 
Alias (byte) myprintf::digit#3 = (byte) myprintf::digit#4 
Alias (byte*) myprintf::dst#18 = (byte*) myprintf::dst#7 (byte*) myprintf::dst#28 
Alias (byte) myprintf::bLen#13 = (byte) myprintf::bLen#24 (byte) myprintf::bLen#33 
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#17 = (byte*) myprintf::str#37 (byte*) myprintf::str#30 
Alias (byte) myprintf::bArg#21 = (byte) myprintf::bArg#35 (byte) myprintf::bArg#31 
Alias (word) myprintf::w1#19 = (word) myprintf::w1#36 (word) myprintf::w1#31 
Alias (word) myprintf::w2#20 = (word) myprintf::w2#36 (word) myprintf::w2#32 
Alias (word) myprintf::w3#20 = (word) myprintf::w3#36 (word) myprintf::w3#32 
Alias (word) myprintf::w#26 = (word) myprintf::w#36 (word) myprintf::w#32 
Alias (byte) myprintf::bLeadZero#27 = (byte) myprintf::bLeadZero#44 (byte) myprintf::bLeadZero#38 
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#18 = (byte*) myprintf::str#31 
Alias (byte) myprintf::bArg#22 = (byte) myprintf::bArg#32 
Alias (word) myprintf::w1#20 = (word) myprintf::w1#32 
Alias (word) myprintf::w2#21 = (word) myprintf::w2#33 
Alias (word) myprintf::w3#21 = (word) myprintf::w3#33 
Alias (word) myprintf::w#27 = (word) myprintf::w#33 
Alias (byte) myprintf::bTrailing#31 = (byte) myprintf::bTrailing#41 
Alias (byte) myprintf::bLeadZero#28 = (byte) myprintf::bLeadZero#39 
Alias (byte) myprintf::bFormat#14 = (byte) myprintf::bFormat#2 (byte) myprintf::bFormat#20 (byte) myprintf::bFormat#15 (byte) myprintf::bFormat#16 
Alias (byte) myprintf::bTrailing#2 = (byte) myprintf::bTrailing#34 (byte) myprintf::bTrailing#43 (byte) myprintf::bTrailing#35 (byte) myprintf::bTrailing#36 
Alias (byte) myprintf::bDigits#37 = (byte) myprintf::bDigits#4 (byte) myprintf::bDigits#45 (byte) myprintf::bDigits#38 (byte) myprintf::bDigits#39 
Alias (byte) myprintf::bLeadZero#2 = (byte) myprintf::bLeadZero#31 (byte) myprintf::bLeadZero#41 (byte) myprintf::bLeadZero#32 (byte) myprintf::bLeadZero#33 
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 = (word) myprintf::w1#29 (word) myprintf::w1#18 (word) myprintf::w1#12 (word) myprintf::w1#13 
Alias candidate removed (phi-usage) (word) myprintf::w2#11 = (word) myprintf::w2#30 (word) myprintf::w2#19 (word) myprintf::w2#13 (word) myprintf::w2#14 
Alias candidate removed (phi-usage) (word) myprintf::w3#11 = (word) myprintf::w3#30 (word) myprintf::w3#19 (word) myprintf::w3#13 (word) myprintf::w3#14 
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#34 (byte*) myprintf::dst#9 
Alias (byte) myprintf::bLen#10 = (byte) myprintf::bLen#16 (byte) myprintf::bLen#39 (byte) myprintf::bLen#15 
Alias (word) myprintf::w#10 = (word) myprintf::w#30 (word) myprintf::w#25 (word) myprintf::w#23 
Alias (byte*) myprintf::str#10 = (byte*) myprintf::str#28 (byte*) myprintf::str#12 (byte*) myprintf::str#16 (byte*) myprintf::str#11 
Alias (byte) myprintf::bArg#10 = (byte) myprintf::bArg#29 (byte) myprintf::bArg#20 (byte) myprintf::bArg#4 (byte) myprintf::bArg#15 
Alias (byte) myprintf::bTrailing#11 = (byte) myprintf::bTrailing#39 (byte) myprintf::bTrailing#30 (byte) myprintf::bTrailing#28 
Alias (byte) myprintf::bDigits#16 = (byte) myprintf::bDigits#42 (byte) myprintf::bDigits#34 (byte) myprintf::bDigits#32 
Alias (byte) myprintf::bLeadZero#11 = (byte) myprintf::bLeadZero#36 (byte) myprintf::bLeadZero#26 (byte) myprintf::bLeadZero#25 
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#41 = (byte*) myprintf::str#44 
Alias (byte) myprintf::bArg#39 = (byte) myprintf::bArg#42 
Alias (word) myprintf::w1#40 = (word) myprintf::w1#43 
Alias (word) myprintf::w2#40 = (word) myprintf::w2#43 
Alias (word) myprintf::w3#40 = (word) myprintf::w3#43 
Alias (word) myprintf::w#38 = (word) myprintf::w#40 
Alias (byte) myprintf::bFormat#14 = (byte) myprintf::bFormat#8 
Alias (byte) myprintf::bTrailing#2 = (byte) myprintf::bTrailing#27 
Alias (byte) myprintf::bDigits#31 = (byte) myprintf::bDigits#37 
Alias (byte) myprintf::bLeadZero#2 = (byte) myprintf::bLeadZero#24 
Alias (byte) myprintf::bFormat#10 = (byte) myprintf::bFormat#9 
Successful SSA optimization Pass2AliasElimination
Alias candidate removed (phi-usage) (word) myprintf::w1#10 = (word) myprintf::w1#29 (word) myprintf::w1#18 (word) myprintf::w1#12 (word) myprintf::w1#13 
Alias candidate removed (phi-usage) (word) myprintf::w2#11 = (word) myprintf::w2#30 (word) myprintf::w2#19 (word) myprintf::w2#13 (word) myprintf::w2#14 
Alias candidate removed (phi-usage) (word) myprintf::w3#11 = (word) myprintf::w3#30 (word) myprintf::w3#19 (word) myprintf::w3#13 (word) myprintf::w3#14 
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#29 (word) myprintf::w1#10
Identical Phi Values (word) myprintf::w2#30 (word) myprintf::w2#11
Identical Phi Values (word) myprintf::w3#30 (word) myprintf::w3#11
Identical Phi Values (word) myprintf::w1#18 (word) myprintf::w1#29
Identical Phi Values (word) myprintf::w2#19 (word) myprintf::w2#30
Identical Phi Values (word) myprintf::w3#19 (word) myprintf::w3#30
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#40 (byte*) myprintf::str#10
Identical Phi Values (byte) myprintf::bArg#38 (byte) myprintf::bArg#10
Identical Phi Values (word) myprintf::w1#39 (word) myprintf::w1#10
Identical Phi Values (word) myprintf::w2#39 (word) myprintf::w2#11
Identical Phi Values (word) myprintf::w3#39 (word) myprintf::w3#11
Identical Phi Values (word) myprintf::w#37 (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#41 (byte*) myprintf::str#40
Identical Phi Values (byte) myprintf::bArg#39 (byte) myprintf::bArg#38
Identical Phi Values (word) myprintf::w1#40 (word) myprintf::w1#39
Identical Phi Values (word) myprintf::w2#40 (word) myprintf::w2#39
Identical Phi Values (word) myprintf::w3#40 (word) myprintf::w3#39
Identical Phi Values (word) myprintf::w#38 (word) myprintf::w#37
Identical Phi Values (byte) myprintf::b#21 (byte) myprintf::b#32
Identical Phi Values (byte*) myprintf::dst#18 (byte*) myprintf::dst#27
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#17 (byte*) myprintf::str#36
Identical Phi Values (byte) myprintf::bArg#21 (byte) myprintf::bArg#34
Identical Phi Values (word) myprintf::w1#19 (word) myprintf::w1#35
Identical Phi Values (word) myprintf::w2#20 (word) myprintf::w2#35
Identical Phi Values (word) myprintf::w3#20 (word) myprintf::w3#35
Identical Phi Values (word) myprintf::w#26 (word) myprintf::w#35
Identical Phi Values (byte) myprintf::bLeadZero#27 (byte) myprintf::bLeadZero#43
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#18 (byte*) myprintf::str#17
Identical Phi Values (byte) myprintf::bArg#22 (byte) myprintf::bArg#21
Identical Phi Values (word) myprintf::w1#20 (word) myprintf::w1#19
Identical Phi Values (word) myprintf::w2#21 (word) myprintf::w2#20
Identical Phi Values (word) myprintf::w3#21 (word) myprintf::w3#20
Identical Phi Values (word) myprintf::w#27 (word) myprintf::w#26
Identical Phi Values (byte) myprintf::bTrailing#31 (byte) myprintf::bTrailing#10
Identical Phi Values (byte) myprintf::bLeadZero#28 (byte) myprintf::bLeadZero#27
Identical Phi Values (word) myprintf::w1#12 (word) myprintf::w1#10
Identical Phi Values (word) myprintf::w2#13 (word) myprintf::w2#11
Identical Phi Values (word) myprintf::w3#13 (word) myprintf::w3#11
Identical Phi Values (word) myprintf::w1#13 (word) myprintf::w1#10
Identical Phi Values (word) myprintf::w2#14 (word) myprintf::w2#11
Identical Phi Values (word) myprintf::w3#14 (word) myprintf::w3#11
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#27 (byte*) myprintf::dst#10
Identical Phi Values (byte) myprintf::bTrailing#9 (byte) myprintf::bTrailing#11
Identical Phi Values (byte*) myprintf::str#36 (byte*) myprintf::str#10
Identical Phi Values (byte) myprintf::bArg#34 (byte) myprintf::bArg#10
Identical Phi Values (word) myprintf::w1#35 (word) myprintf::w1#10
Identical Phi Values (word) myprintf::w2#35 (word) myprintf::w2#11
Identical Phi Values (word) myprintf::w3#35 (word) myprintf::w3#11
Identical Phi Values (word) myprintf::w#35 (word) myprintf::w#10
Identical Phi Values (byte) myprintf::bLeadZero#43 (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#31 (byte*) myprintf::dst#10
Identical Phi Values (byte) myprintf::bArg#12 (byte) myprintf::bArg#10
Identical Phi Values (word) myprintf::w1#9 (word) myprintf::w1#10
Identical Phi Values (word) myprintf::w2#10 (word) myprintf::w2#11
Identical Phi Values (word) myprintf::w3#10 (word) myprintf::w3#11
Identical Phi Values (word) myprintf::w#19 (word) myprintf::w#10
Identical Phi Values (byte) myprintf::bTrailing#25 (byte) myprintf::bTrailing#11
Identical Phi Values (byte) myprintf::bLeadZero#21 (byte) myprintf::bLeadZero#11
Successful SSA optimization Pass2IdenticalPhiElimination
Identical Phi Values (byte*) myprintf::str#5 (byte*) myprintf::str#10
Identical Phi Values (byte*) myprintf::dst#23 (byte*) myprintf::dst#10
Identical Phi Values (word) myprintf::w1#8 (word) myprintf::w1#10
Identical Phi Values (word) myprintf::w2#9 (word) myprintf::w2#11
Identical Phi Values (word) myprintf::w3#9 (word) myprintf::w3#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#11 (word) myprintf::w2#8
Identical Phi Values (word) myprintf::w3#11 (word) myprintf::w3#8
Successful SSA optimization Pass2IdenticalPhiElimination
Simple Condition (bool~) divr16u::$4 [8] if((byte~) divr16u::$2==(byte) 0) goto divr16u::@2
Simple Condition (bool~) divr16u::$9 [13] if((word) divr16u::rem#5<(word) divr16u::divisor#0) goto divr16u::@3
Simple Condition (bool~) divr16u::$11 [18] if((byte) divr16u::i#1!=rangelast(0,$f)) goto divr16u::@1
Simple Condition (bool~) append::$0 [34] if((word) append::value#5>=(word) append::sub#6) goto append::@2
Simple Condition (bool~) myprintf::$0 [114] if(*((byte*) myprintf::str#10)!=(byte) 0) goto myprintf::@2
Simple Condition (bool~) myprintf::$2 [117] if((byte) myprintf::bFormat#10==(byte) 0) goto myprintf::@4
Simple Condition (bool~) myprintf::$52 [120] if((byte) myprintf::b#1!=(byte) '%') goto myprintf::@67
Simple Condition (bool~) myprintf::$4 [122] if((byte) myprintf::b#1!=(byte) '0') goto myprintf::@5
Simple Condition (bool~) myprintf::$11 [132] if((byte) myprintf::b#1!=(byte) '-') goto myprintf::@7
Simple Condition (bool~) myprintf::$12 [135] if((byte) myprintf::b#1==(byte) 'c') goto myprintf::@8
Simple Condition (bool~) myprintf::$13 [141] if((byte) myprintf::b#1==(byte) 'd') goto myprintf::@9
Simple Condition (bool~) myprintf::$21 [155] if((byte) myprintf::b#15<(byte) $a) goto myprintf::@11
Simple Condition (bool~) myprintf::$28 [165] if((byte) myprintf::b#16<(byte) $a) goto myprintf::@14
Simple Condition (bool~) myprintf::$34 [174] if(*((const byte*) myprintf::buf6 + (byte) myprintf::b#17)!=(byte) 0) goto myprintf::@22
Simple Condition (bool~) myprintf::$39 [185] if((byte) myprintf::bDigits#12>(byte) myprintf::b#17) goto myprintf::@30
Simple Condition (bool~) myprintf::$40 [187] if((byte) myprintf::bLeadZero#11==(byte) 0) goto myprintf::@32
Simple Condition (bool~) myprintf::$44 [196] if((byte) myprintf::digit#3<(byte) myprintf::b#17) goto myprintf::@41
Simple Condition (bool~) myprintf::$49 [207] if((byte) myprintf::bDigits#10>(byte) myprintf::b#17) goto myprintf::@49
Simple Condition (bool~) myprintf::$53 [223] if((byte) myprintf::bArg#10==(byte) 0) goto myprintf::@68
Simple Condition (bool~) myprintf::$54 [225] if((byte) myprintf::bArg#10==(byte) 1) goto myprintf::@69
Simple Condition (bool~) main::$0 [253] if(*((const byte*) zp1)<(byte) $a) goto main::@2
Simple Condition (bool~) main::$1 [261] if(*((const byte*) zp2)<(byte) $c8) goto main::@5
Simple Condition (bool~) main::$9 [283] if(*((const byte*) zp1)<(byte) $a) goto main::@14
Simple Condition (bool~) main::$10 [290] if(*((const byte*) zp2)<(byte) $c8) goto main::@17
Successful SSA optimization Pass2ConditionalJumpSimplification
Rewriting ! if()-condition to reversed if() [43] (bool~) utoa::$3 ← ! (bool~) utoa::$2
Rewriting || if()-condition to two if()s [42] (bool~) utoa::$2 ← (bool~) utoa::$0 || (bool~) utoa::$1
Rewriting ! if()-condition to reversed if() [49] (bool~) utoa::$7 ← ! (bool~) utoa::$6
Rewriting || if()-condition to two if()s [48] (bool~) utoa::$6 ← (bool~) utoa::$4 || (bool~) utoa::$5
Rewriting ! if()-condition to reversed if() [63] (bool~) utoa::$11 ← ! (bool~) utoa::$10
Rewriting || if()-condition to two if()s [62] (bool~) utoa::$10 ← (bool~) utoa::$8 || (bool~) utoa::$9
Rewriting ! if()-condition to reversed if() [77] (bool~) utoa::$15 ← ! (bool~) utoa::$14
Rewriting || if()-condition to two if()s [76] (bool~) utoa::$14 ← (bool~) utoa::$12 || (bool~) utoa::$13
Rewriting ! if()-condition to reversed if() [126] (bool~) myprintf::$8 ← ! (bool~) myprintf::$7
Rewriting && if()-condition to two if()s [125] (bool~) myprintf::$7 ← (bool~) myprintf::$5 && (bool~) myprintf::$6
Rewriting ! if()-condition to reversed if() [149] (bool~) myprintf::$17 ← ! (bool~) myprintf::$16
Rewriting || if()-condition to two if()s [148] (bool~) myprintf::$16 ← (bool~) myprintf::$14 || (bool~) myprintf::$15
Rewriting ! if()-condition to reversed if() [179] (bool~) myprintf::$38 ← ! (bool~) myprintf::$37
Rewriting && if()-condition to two if()s [178] (bool~) myprintf::$37 ← (bool~) myprintf::$35 && (bool~) myprintf::$36
Rewriting ! if()-condition to reversed if() [203] (bool~) myprintf::$48 ← ! (bool~) myprintf::$47
Rewriting && if()-condition to two if()s [202] (bool~) myprintf::$47 ← (bool~) myprintf::$45 && (bool~) myprintf::$46
Rewriting ! if()-condition to reversed if() [216] (bool~) myprintf::$58 ← ! (bool~) myprintf::$57
Rewriting && if()-condition to two if()s [215] (bool~) myprintf::$57 ← (bool~) myprintf::$55 && (bool~) myprintf::$56
Successful SSA optimization Pass2ConditionalAndOrRewriting
Constant (const word) divr16u::quotient#0 = 0
Constant (const byte) divr16u::i#0 = 0
Constant (const word) divr16u::rem#3 = 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 word) myprintf::w#0 = 0
Constant (const byte) myprintf::bLeadZero#1 = 1
Constant (const byte) myprintf::bTrailing#1 = 1
Constant (const byte*) utoa::dst#5 = myprintf::buf6
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#14 = 1
Constant (const byte) myprintf::bLeadZero#2 = 0
Constant (const byte) myprintf::bDigits#31 = 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::dst#0 = strTemp
Constant (const byte*) myprintf::str#1 = main::str
Constant (const signed word) main::return#0 = 0
Constant (const byte*) myprintf::dst#1 = strTemp
Constant (const byte*) myprintf::str#2 = main::str1
Successful SSA optimization Pass2ConstantIdentification
Constant (const word) divr16u::divisor#0 = div16u::divisor#0
Constant (const byte*) append::dst#0 = utoa::dst#5
Constant (const signed word) main::return#2 = main::return#0
Successful SSA optimization Pass2ConstantIdentification
Resolved ranged next value [16] divr16u::i#1 ← ++ divr16u::i#2 to ++
Resolved ranged comparison value [18] if(divr16u::i#1!=rangelast(0,$f)) goto divr16u::@1 to (number) $10
Eliminating unused variable (byte) myprintf::return#2 and assignment [187] (byte) myprintf::return#2 ← (byte) myprintf::bLen#10
Eliminating unused variable (byte) myprintf::return#3 and assignment [210] (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::@88
Simple Condition (bool~) myprintf::$14 [97] if((byte) myprintf::b#1==(byte) 'x') goto myprintf::@61
Simple Condition (bool~) myprintf::$35 [118] if((byte) myprintf::bTrailing#11==(byte) 0) goto myprintf::@90
Simple Condition (bool~) myprintf::$45 [134] if((byte) myprintf::bTrailing#11!=(byte) 0) goto myprintf::@91
Simple Condition (bool~) myprintf::$55 [143] if((byte) myprintf::b#1>=(byte) $41) goto myprintf::@92
Simple Condition (bool~) utoa::$1 [214] if((word) utoa::value#4>=(word) $2710) goto utoa::@5
Simple Condition (bool~) utoa::$5 [215] if((word) utoa::value#6>=(word) $3e8) goto utoa::@6
Simple Condition (bool~) utoa::$9 [216] if((word) utoa::value#11>=(byte) $64) goto utoa::@7
Simple Condition (bool~) utoa::$13 [217] if((word) utoa::value#10>=(byte) $a) goto utoa::@8
Simple Condition (bool~) myprintf::$6 [218] if((byte) myprintf::b#1<=(byte) '9') goto myprintf::@55
Simple Condition (bool~) myprintf::$15 [219] if((byte) myprintf::b#1==(byte) 'X') goto myprintf::@61
Simple Condition (bool~) myprintf::$36 [220] if((byte) myprintf::bDigits#16>(byte) myprintf::b#17) goto myprintf::@29
Simple Condition (bool~) myprintf::$46 [221] if((byte) myprintf::bDigits#18>(byte) myprintf::b#17) goto myprintf::@48
Simple Condition (bool~) myprintf::$56 [222] if((byte) myprintf::b#1<=(byte) $5a) goto myprintf::@84
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 [118] if((byte) myprintf::bTrailing#11!=(byte) 0) goto myprintf::@28
Negating conditional jump and destination [134] if((byte) myprintf::bTrailing#11==(byte) 0) goto myprintf::@54
Negating conditional jump and destination [143] if((byte) myprintf::b#1<(byte) $41) goto myprintf::@74
Negating conditional jump and destination [220] if((byte) myprintf::bDigits#16<=(byte) myprintf::b#17) goto myprintf::@28
Negating conditional jump and destination [221] if((byte) myprintf::bDigits#18<=(byte) myprintf::b#17) goto myprintf::@54
Negating conditional jump and destination [222] if((byte) myprintf::b#1>(byte) $5a) goto myprintf::@74
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 [222] if((byte) myprintf::b#1>(byte) $5a) goto myprintf::@74
Adding number conversion cast (unumber) $5a+1 in if((byte) myprintf::b#1>=(byte) $5a+(number) 1) goto myprintf::@74
Adding number conversion cast (unumber) 1 in if((byte) myprintf::b#1>=(unumber)(byte) $5a+(number) 1) goto myprintf::@74
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#14
Inlining constant with var siblings (const byte) myprintf::bLeadZero#2
Inlining constant with var siblings (const byte) myprintf::bDigits#31
Inlining constant with var siblings (const byte) myprintf::bTrailing#2
Inlining constant with var siblings (const byte*) myprintf::dst#0
Inlining constant with var siblings (const byte*) myprintf::str#1
Inlining constant with var siblings (const byte*) myprintf::dst#1
Inlining constant with var siblings (const byte*) myprintf::str#2
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*) myprintf::buf6
Constant inlined utoa::bStarted#3 = (byte) 1
Constant inlined myprintf::$23 = (byte) '0'
Constant inlined append::dst#0 = (const byte*) myprintf::buf6
Constant inlined divr16u::i#0 = (byte) 0
Constant inlined myprintf::$29 = (byte) $57
Constant inlined utoa::dst#0 = ++(const byte*) myprintf::buf6
Constant inlined myprintf::str#1 = (const byte*) main::str
Constant inlined myprintf::bLeadZero#0 = (byte) 0
Constant inlined myprintf::str#2 = (const byte*) main::str1
Constant inlined myprintf::bLeadZero#1 = (byte) 1
Constant inlined myprintf::digit#1 = (byte) 0
Constant inlined myprintf::bDigits#31 = (byte) 1
Constant inlined myprintf::dst#1 = (const byte*) strTemp
Constant inlined divr16u::quotient#0 = (word) 0
Constant inlined myprintf::dst#0 = (const byte*) strTemp
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#14 = (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*) strTemp
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::@93(between myprintf::@23 and myprintf::@28)
Added new block during phi lifting myprintf::@94(between myprintf::@29 and myprintf::@28)
Added new block during phi lifting myprintf::@95(between myprintf::@90 and myprintf::@29)
Added new block during phi lifting myprintf::@96(between myprintf::@91 and myprintf::@48)
Added new block during phi lifting myprintf::@97(between myprintf::@42 and myprintf::@54)
Added new block during phi lifting myprintf::@98(between myprintf::@48 and myprintf::@54)
Added new block during phi lifting myprintf::@99(between myprintf::@89 and myprintf::@54)
Added new block during phi lifting myprintf::@100(between myprintf::@67 and myprintf::@74)
Adding NOP phi() at start of @begin
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::@87
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:2 
Calls in [main] to myprintf:30 Print:32 div10:38 myprintf:58 Print:60 div16u:66 
Calls in [div16u] to divr16u:72 
Calls in [myprintf] to utoa:175 
Calls in [utoa] to append:294 append:304 append:314 append:322 

Created 63 initial phi equivalence classes
Coalesced [10] main::v#19 ← main::v#12
Coalesced [18] main::v#21 ← main::v#10
Coalesced [27] myprintf::w1#50 ← myprintf::w1#1
Coalesced [28] myprintf::w2#50 ← myprintf::w2#1
Coalesced [29] myprintf::w3#50 ← myprintf::w3#1
Coalesced [35] main::u#22 ← main::u#4
Coalesced (already) [36] main::v#20 ← main::v#13
Coalesced [42] main::v#22 ← main::v#2
Coalesced [46] main::v#17 ← main::v#12
Coalesced [55] myprintf::w1#51 ← myprintf::w1#0
Coalesced [56] myprintf::w2#51 ← myprintf::w2#0
Coalesced [57] myprintf::w3#51 ← myprintf::w3#0
Coalesced [63] main::u#21 ← main::u#3
Coalesced (already) [64] main::v#16 ← main::v#11
Coalesced [70] main::v#18 ← main::v#1
Coalesced [76] divr16u::dividend#8 ← divr16u::dividend#1
Coalesced [83] divr16u::rem#12 ← divr16u::rem#1
Coalesced [90] divr16u::rem#14 ← divr16u::rem#2
Coalesced [91] divr16u::return#6 ← divr16u::quotient#2
Coalesced [97] divr16u::rem#10 ← divr16u::rem#9
Coalesced [98] divr16u::dividend#9 ← divr16u::dividend#0
Coalesced [99] divr16u::quotient#9 ← divr16u::return#0
Coalesced [100] divr16u::i#7 ← divr16u::i#1
Coalesced [101] divr16u::rem#13 ← divr16u::rem#5
Coalesced [102] divr16u::return#5 ← divr16u::quotient#1
Coalesced [103] divr16u::rem#11 ← divr16u::rem#0
Coalesced [107] myprintf::str#51 ← myprintf::str#6
Coalesced [115] myprintf::bFormat#25 ← myprintf::bFormat#10
Coalesced [116] myprintf::bLen#62 ← myprintf::bLen#10
Coalesced [117] myprintf::bArg#55 ← myprintf::bArg#10
Coalesced [118] myprintf::w#52 ← myprintf::w#10
Coalesced [119] myprintf::bTrailing#52 ← myprintf::bTrailing#11
Coalesced [120] myprintf::bDigits#55 ← myprintf::bDigits#16
Coalesced [123] myprintf::str#52 ← myprintf::str#0
Coalesced (already) [124] myprintf::bFormat#21 ← myprintf::bFormat#5
Coalesced (already) [125] myprintf::bLen#56 ← myprintf::bLen#28
Coalesced (already) [126] myprintf::bArg#49 ← myprintf::bArg#11
Coalesced (already) [127] myprintf::w#46 ← myprintf::w#18
Coalesced (already) [128] myprintf::bTrailing#48 ← myprintf::bTrailing#24
Coalesced (already) [129] myprintf::bDigits#50 ← myprintf::bDigits#28
Coalesced [130] myprintf::bLeadZero#48 ← myprintf::bLeadZero#20
Coalesced (already) [134] myprintf::bFormat#23 ← myprintf::bFormat#10
Coalesced (already) [135] myprintf::bLen#59 ← myprintf::bLen#10
Coalesced (already) [136] myprintf::bArg#52 ← myprintf::bArg#10
Coalesced (already) [137] myprintf::w#49 ← myprintf::w#10
Coalesced (already) [138] myprintf::bDigits#53 ← myprintf::bDigits#16
Coalesced (already) [139] myprintf::bLeadZero#51 ← myprintf::bLeadZero#11
Coalesced [144] myprintf::bLen#74 ← myprintf::bLen#10
Coalesced [145] myprintf::bDigits#65 ← myprintf::bDigits#16
Coalesced (already) [147] myprintf::bLen#57 ← myprintf::bLen#36
Coalesced (already) [148] myprintf::bArg#50 ← myprintf::bArg#10
Coalesced (already) [149] myprintf::w#47 ← myprintf::w#10
Coalesced (already) [150] myprintf::bTrailing#49 ← myprintf::bTrailing#11
Coalesced (already) [151] myprintf::bDigits#51 ← myprintf::bDigits#29
Coalesced (already) [152] myprintf::bLeadZero#49 ← myprintf::bLeadZero#11
Coalesced [170] myprintf::bLen#71 ← myprintf::bLen#3
Coalesced (already) [171] myprintf::bDigits#62 ← myprintf::bDigits#16
Coalesced [181] myprintf::bDigits#58 ← myprintf::bDigits#16
Coalesced [182] myprintf::bLen#65 ← myprintf::bLen#10
Coalesced [185] myprintf::bLen#64 ← myprintf::bLen#12
Coalesced [186] myprintf::bDigits#57 ← myprintf::bDigits#12
Coalesced [188] myprintf::bLen#67 ← myprintf::bLen#32
Coalesced [193] myprintf::bDigits#60 ← myprintf::bDigits#18
Coalesced [194] myprintf::bLen#69 ← myprintf::bLen#13
Coalesced (already) [197] myprintf::bLen#73 ← myprintf::bLen#14
Coalesced (already) [198] myprintf::bDigits#64 ← myprintf::bDigits#10
Coalesced [202] myprintf::bDigits#61 ← myprintf::bDigits#3
Coalesced [203] myprintf::bLen#70 ← myprintf::bLen#6
Coalesced (already) [204] myprintf::bLen#72 ← myprintf::bLen#13
Coalesced (already) [205] myprintf::bDigits#63 ← myprintf::bDigits#18
Coalesced [209] myprintf::digit#5 ← myprintf::digit#2
Coalesced [210] myprintf::bLen#68 ← myprintf::bLen#5
Coalesced [217] myprintf::bDigits#59 ← myprintf::bDigits#2
Coalesced [218] myprintf::bLen#66 ← myprintf::bLen#4
Coalesced (already) [220] myprintf::bLen#63 ← myprintf::bLen#10
Coalesced (already) [221] myprintf::bDigits#56 ← myprintf::bDigits#16
Coalesced [223] myprintf::b#38 ← myprintf::b#5
Coalesced [227] myprintf::bLen#75 ← myprintf::bLen#1
Coalesced (already) [228] myprintf::bDigits#66 ← myprintf::bDigits#16
Coalesced (already) [230] myprintf::bFormat#22 ← myprintf::bFormat#10
Coalesced (already) [231] myprintf::bLen#58 ← myprintf::bLen#10
Coalesced (already) [232] myprintf::bArg#51 ← myprintf::bArg#10
Coalesced (already) [233] myprintf::w#48 ← myprintf::w#10
Coalesced (already) [234] myprintf::bTrailing#50 ← myprintf::bTrailing#11
Coalesced [235] myprintf::bDigits#52 ← myprintf::bDigits#1
Coalesced (already) [236] myprintf::bLeadZero#50 ← myprintf::bLeadZero#11
Not coalescing [240] myprintf::w#55 ← myprintf::w3#8
Coalesced (already) [243] myprintf::bLen#60 ← myprintf::bLen#10
Coalesced [244] myprintf::bArg#53 ← myprintf::bArg#1
Coalesced [245] myprintf::w#50 ← myprintf::w#22
Not coalescing [246] myprintf::w#54 ← myprintf::w2#8
Not coalescing [247] myprintf::w#53 ← myprintf::w1#7
Coalesced [251] myprintf::b#40 ← myprintf::b#6
Coalesced (already) [255] myprintf::bFormat#24 ← myprintf::bFormat#10
Coalesced [256] myprintf::bLen#61 ← myprintf::bLen#7
Coalesced (already) [257] myprintf::bArg#54 ← myprintf::bArg#10
Coalesced (already) [258] myprintf::w#51 ← myprintf::w#10
Coalesced (already) [259] myprintf::bTrailing#51 ← myprintf::bTrailing#11
Coalesced (already) [260] myprintf::bDigits#54 ← myprintf::bDigits#16
Coalesced (already) [261] myprintf::bLeadZero#52 ← myprintf::bLeadZero#11
Coalesced [262] myprintf::b#39 ← myprintf::b#1
Coalesced [265] utoa::value#14 ← utoa::value#4
Coalesced [269] utoa::bStarted#8 ← utoa::bStarted#5
Coalesced [270] utoa::value#16 ← utoa::value#6
Coalesced [271] utoa::dst#19 ← utoa::dst#16
Coalesced [275] utoa::bStarted#9 ← utoa::bStarted#6
Coalesced [276] utoa::value#19 ← utoa::value#11
Coalesced [277] utoa::dst#22 ← utoa::dst#10
Coalesced [281] utoa::value#21 ← utoa::value#10
Coalesced [282] utoa::dst#24 ← utoa::dst#13
Coalesced [292] append::dst#9 ← append::dst#3
Coalesced [293] append::value#12 ← append::value#4
Coalesced [298] utoa::value#20 ← utoa::value#3
Coalesced [299] utoa::dst#23 ← utoa::dst#4
Coalesced [302] append::dst#8 ← append::dst#2
Coalesced [303] append::value#11 ← append::value#3
Coalesced [308] utoa::value#18 ← utoa::value#2
Coalesced [309] utoa::dst#21 ← utoa::dst#2
Coalesced [312] append::dst#7 ← append::dst#1
Coalesced [313] append::value#10 ← append::value#2
Coalesced [318] utoa::value#17 ← utoa::value#1
Coalesced [319] utoa::dst#20 ← utoa::dst#1
Coalesced [321] append::value#9 ← append::value#1
Coalesced [325] utoa::value#15 ← utoa::value#0
Coalesced [328] append::value#13 ← append::value#8
Coalesced [335] append::value#14 ← append::value#0
Coalesced down to 30 phi equivalence classes
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::@78
Culled Empty Block (label) myprintf::@57
Culled Empty Block (label) myprintf::@99
Culled Empty Block (label) myprintf::@12
Culled Empty Block (label) myprintf::@15
Culled Empty Block (label) myprintf::@87
Culled Empty Block (label) myprintf::@95
Culled Empty Block (label) myprintf::@94
Culled Empty Block (label) myprintf::@96
Culled Empty Block (label) myprintf::@98
Culled Empty Block (label) myprintf::@97
Culled Empty Block (label) myprintf::@33
Culled Empty Block (label) myprintf::@93
Culled Empty Block (label) myprintf::@100
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::@69 to myprintf::@35
Renumbering block myprintf::@71 to myprintf::@36
Renumbering block myprintf::@74 to myprintf::@37
Renumbering block myprintf::@77 to myprintf::@38
Renumbering block myprintf::@80 to myprintf::@39
Renumbering block myprintf::@81 to myprintf::@40
Renumbering block myprintf::@82 to myprintf::@41
Renumbering block myprintf::@84 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 myprintf::@92 to myprintf::@47
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()

(signed word()) main()
main: scope:[main]  from @1
  [4] *((const byte*) VICBANK) ← (byte) $17
  [5] *((const byte*) zp1) ← (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)<(byte) $a) goto main::@2
  to:main::@3
main::@3: scope:[main]  from main::@1
  [8] *((const byte*) zp1) ← (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)<(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) ← (byte) 0
  [13] *((const byte*) TIMELO) ← (byte) 0
  [14] *((const byte*) zp2) ← (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)<(byte) $c8) goto main::@10
  to:main::@11
main::@11: scope:[main]  from main::@9
  [17] (word~) main::$12 ← (word)*((const byte*) TIMEHI)
  [18] (word~) main::$13 ← (word~) main::$12 << (byte) 8
  [19] (word~) main::$14 ← (word)*((const byte*) TIMELO)
  [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) ← ++ *((const byte*) zp1)
  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) ← ++ *((const byte*) zp2)
  to:main::@9
main::@2: scope:[main]  from main::@1
  [33] *((const byte*) TIMEHI) ← (byte) 0
  [34] *((const byte*) TIMELO) ← (byte) 0
  [35] *((const byte*) zp2) ← (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)<(byte) $c8) goto main::@5
  to:main::@6
main::@6: scope:[main]  from main::@4
  [38] (word~) main::$3 ← (word)*((const byte*) TIMEHI)
  [39] (word~) main::$4 ← (word~) main::$3 << (byte) 8
  [40] (word~) main::$5 ← (word)*((const byte*) TIMELO)
  [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) ← ++ *((const byte*) zp1)
  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) ← ++ *((const byte*) zp2)
  to:main::@4

(word()) div16u((word) div16u::dividend , (word) div16u::divisor)
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

(word()) divr16u((word) divr16u::dividend , (word) divr16u::divisor , (word) divr16u::rem)
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/(word) 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

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

(byte()) myprintf((byte*) myprintf::dst , (byte*) myprintf::str , (word) myprintf::w1 , (word) myprintf::w2 , (word) myprintf::w3)
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 byte*) main::str1 main::@6/(const byte*) main::str )
  to:myprintf::@1
myprintf::@1: scope:[myprintf]  from myprintf myprintf::@32
  [79] (byte) myprintf::bLeadZero#11 ← phi( myprintf/(byte) 0 myprintf::@32/(byte) myprintf::bLeadZero#20 )
  [79] (byte) myprintf::bDigits#16 ← phi( myprintf/(byte) 0 myprintf::@32/(byte) myprintf::bDigits#28 )
  [79] (byte) myprintf::bTrailing#11 ← phi( myprintf/(byte) 0 myprintf::@32/(byte) myprintf::bTrailing#24 )
  [79] (word) myprintf::w#10 ← phi( myprintf/(word) 0 myprintf::@32/(word) myprintf::w#18 )
  [79] (byte) myprintf::bArg#10 ← phi( myprintf/(byte) 0 myprintf::@32/(byte) myprintf::bArg#11 )
  [79] (byte) myprintf::bLen#10 ← phi( myprintf/(byte) 0 myprintf::@32/(byte) myprintf::bLen#28 )
  [79] (byte) myprintf::bFormat#10 ← phi( myprintf/(byte) 0 myprintf::@32/(byte) myprintf::bFormat#5 )
  [79] (byte*) myprintf::str#10 ← phi( myprintf/(byte*) myprintf::str#6 myprintf::@32/(byte*) myprintf::str#0 )
  [80] if(*((byte*) myprintf::str#10)!=(byte) 0) goto myprintf::@2
  to:myprintf::@3
myprintf::@3: scope:[myprintf]  from myprintf::@1
  [81] *((const byte*) strTemp + (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::@38
myprintf::@38: scope:[myprintf]  from myprintf::@2
  [85] if((byte) myprintf::b#1!=(byte) '0') goto myprintf::@5
  to:myprintf::@32
myprintf::@32: scope:[myprintf]  from myprintf::@27 myprintf::@28 myprintf::@36 myprintf::@37 myprintf::@38 myprintf::@6
  [86] (byte) myprintf::bLeadZero#20 ← phi( myprintf::@27/(byte) myprintf::bLeadZero#11 myprintf::@28/(byte) myprintf::bLeadZero#11 myprintf::@6/(byte) myprintf::bLeadZero#11 myprintf::@36/(byte) 0 myprintf::@37/(byte) myprintf::bLeadZero#11 myprintf::@38/(byte) 1 )
  [86] (byte) myprintf::bDigits#28 ← phi( myprintf::@27/(byte) myprintf::bDigits#29 myprintf::@28/(byte) myprintf::bDigits#1 myprintf::@6/(byte) myprintf::bDigits#16 myprintf::@36/(byte) 1 myprintf::@37/(byte) myprintf::bDigits#16 myprintf::@38/(byte) myprintf::bDigits#16 )
  [86] (byte) myprintf::bTrailing#24 ← phi( myprintf::@27/(byte) myprintf::bTrailing#11 myprintf::@28/(byte) myprintf::bTrailing#11 myprintf::@6/(byte) 1 myprintf::@36/(byte) 0 myprintf::@37/(byte) myprintf::bTrailing#11 myprintf::@38/(byte) myprintf::bTrailing#11 )
  [86] (word) myprintf::w#18 ← phi( myprintf::@27/(word) myprintf::w#10 myprintf::@28/(word) myprintf::w#10 myprintf::@6/(word) myprintf::w#10 myprintf::@36/(word) myprintf::w#22 myprintf::@37/(word) myprintf::w#10 myprintf::@38/(word) myprintf::w#10 )
  [86] (byte) myprintf::bArg#11 ← phi( myprintf::@27/(byte) myprintf::bArg#10 myprintf::@28/(byte) myprintf::bArg#10 myprintf::@6/(byte) myprintf::bArg#10 myprintf::@36/(byte) myprintf::bArg#1 myprintf::@37/(byte) myprintf::bArg#10 myprintf::@38/(byte) myprintf::bArg#10 )
  [86] (byte) myprintf::bLen#28 ← phi( myprintf::@27/(byte) myprintf::bLen#36 myprintf::@28/(byte) myprintf::bLen#10 myprintf::@6/(byte) myprintf::bLen#10 myprintf::@36/(byte) myprintf::bLen#10 myprintf::@37/(byte) myprintf::bLen#7 myprintf::@38/(byte) myprintf::bLen#10 )
  [86] (byte) myprintf::bFormat#5 ← phi( myprintf::@27/(byte) 0 myprintf::@28/(byte) myprintf::bFormat#10 myprintf::@6/(byte) myprintf::bFormat#10 myprintf::@36/(byte) 1 myprintf::@37/(byte) myprintf::bFormat#10 myprintf::@38/(byte) myprintf::bFormat#10 )
  [87] (byte*) myprintf::str#0 ← ++ (byte*) myprintf::str#10
  to:myprintf::@1
myprintf::@5: scope:[myprintf]  from myprintf::@38
  [88] if((byte) myprintf::b#1<(byte) '1') goto myprintf::@6
  to:myprintf::@43
myprintf::@43: scope:[myprintf]  from myprintf::@5
  [89] if((byte) myprintf::b#1<=(byte) '9') goto myprintf::@28
  to:myprintf::@6
myprintf::@6: scope:[myprintf]  from myprintf::@43 myprintf::@5
  [90] if((byte) myprintf::b#1!=(byte) '-') goto myprintf::@7
  to:myprintf::@32
myprintf::@7: scope:[myprintf]  from myprintf::@6
  [91] if((byte) myprintf::b#1==(byte) 'c') goto myprintf::@8
  to:myprintf::@29
myprintf::@29: scope:[myprintf]  from myprintf::@7
  [92] if((byte) myprintf::b#1==(byte) 'd') goto myprintf::@9
  to:myprintf::@30
myprintf::@30: scope:[myprintf]  from myprintf::@29
  [93] if((byte) myprintf::b#1==(byte) 'x') goto myprintf::@31
  to:myprintf::@44
myprintf::@44: scope:[myprintf]  from myprintf::@30
  [94] 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::@44 myprintf::@46 myprintf::@8
  [95] (byte) myprintf::bDigits#29 ← phi( myprintf::@13/(byte) myprintf::bDigits#16 myprintf::@24/(byte) myprintf::bDigits#18 myprintf::@25/(byte) myprintf::bDigits#10 myprintf::@44/(byte) myprintf::bDigits#16 myprintf::@8/(byte) myprintf::bDigits#16 )
  [95] (byte) myprintf::bLen#36 ← phi( myprintf::@13/(byte) myprintf::bLen#3 myprintf::@24/(byte) myprintf::bLen#13 myprintf::@25/(byte) myprintf::bLen#14 myprintf::@44/(byte) myprintf::bLen#10 myprintf::@8/(byte) myprintf::bLen#1 )
  to:myprintf::@32
myprintf::@31: scope:[myprintf]  from myprintf::@30 myprintf::@44
  [96] (byte~) myprintf::$18 ← (byte)(word) myprintf::w#10
  [97] (byte~) myprintf::$19 ← (byte~) myprintf::$18 >> (byte) 4
  [98] (byte) myprintf::b#15 ← (byte~) myprintf::$19 & (byte) $f
  [99] if((byte) myprintf::b#15<(byte) $a) goto myprintf::@10
  to:myprintf::@11
myprintf::@10: scope:[myprintf]  from myprintf::@31
  [100] phi()
  to:myprintf::@11
myprintf::@11: scope:[myprintf]  from myprintf::@10 myprintf::@31
  [101] (byte~) myprintf::$24 ← phi( myprintf::@10/(byte) '0' myprintf::@31/(byte) $57 )
  [102] (byte~) myprintf::$25 ← (byte~) myprintf::$24 + (byte) myprintf::b#15
  [103] *((const byte*) strTemp + (byte) myprintf::bLen#10) ← (byte~) myprintf::$25
  [104] (byte) myprintf::bLen#11 ← ++ (byte) myprintf::bLen#10
  [105] (byte~) myprintf::$26 ← (byte)(word) myprintf::w#10
  [106] (byte) myprintf::b#16 ← (byte~) myprintf::$26 & (byte) $f
  [107] if((byte) myprintf::b#16<(byte) $a) goto myprintf::@12
  to:myprintf::@13
myprintf::@12: scope:[myprintf]  from myprintf::@11
  [108] phi()
  to:myprintf::@13
myprintf::@13: scope:[myprintf]  from myprintf::@11 myprintf::@12
  [109] (byte~) myprintf::$31 ← phi( myprintf::@12/(byte) '0' myprintf::@11/(byte) $57 )
  [110] (byte~) myprintf::$32 ← (byte~) myprintf::$31 + (byte) myprintf::b#16
  [111] *((const byte*) strTemp + (byte) myprintf::bLen#11) ← (byte~) myprintf::$32
  [112] (byte) myprintf::bLen#3 ← ++ (byte) myprintf::bLen#11
  to:myprintf::@27
myprintf::@9: scope:[myprintf]  from myprintf::@29
  [113] (word) utoa::value#4 ← (word) myprintf::w#10
  [114] call utoa 
  to:myprintf::@14
myprintf::@14: scope:[myprintf]  from myprintf::@15 myprintf::@9
  [115] (byte) myprintf::b#17 ← phi( myprintf::@15/(byte) myprintf::b#5 myprintf::@9/(byte) 1 )
  [116] if(*((const byte*) myprintf::buf6 + (byte) myprintf::b#17)!=(byte) 0) goto myprintf::@15
  to:myprintf::@16
myprintf::@16: scope:[myprintf]  from myprintf::@14
  [117] if((byte) myprintf::bTrailing#11!=(byte) 0) goto myprintf::@17
  to:myprintf::@45
myprintf::@45: scope:[myprintf]  from myprintf::@16
  [118] if((byte) myprintf::bDigits#16<=(byte) myprintf::b#17) goto myprintf::@17
  to:myprintf::@18
myprintf::@18: scope:[myprintf]  from myprintf::@21 myprintf::@45
  [119] (byte) myprintf::bLen#12 ← phi( myprintf::@45/(byte) myprintf::bLen#10 myprintf::@21/(byte) myprintf::bLen#4 )
  [119] (byte) myprintf::bDigits#12 ← phi( myprintf::@45/(byte) myprintf::bDigits#16 myprintf::@21/(byte) myprintf::bDigits#2 )
  [120] 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::@45
  [121] (byte) myprintf::bDigits#18 ← phi( myprintf::@16/(byte) myprintf::bDigits#16 myprintf::@18/(byte) myprintf::bDigits#12 )
  [121] (byte) myprintf::bLen#32 ← 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
  [122] (byte) myprintf::bLen#13 ← phi( myprintf::@17/(byte) myprintf::bLen#32 myprintf::@23/(byte) myprintf::bLen#5 )
  [122] (byte) myprintf::digit#3 ← phi( myprintf::@17/(byte) 0 myprintf::@23/(byte) myprintf::digit#2 )
  [123] if((byte) myprintf::digit#3<(byte) myprintf::b#17) goto myprintf::@23
  to:myprintf::@24
myprintf::@24: scope:[myprintf]  from myprintf::@22
  [124] if((byte) myprintf::bTrailing#11==(byte) 0) goto myprintf::@27
  to:myprintf::@46
myprintf::@46: scope:[myprintf]  from myprintf::@24
  [125] if((byte) myprintf::bDigits#18<=(byte) myprintf::b#17) goto myprintf::@27
  to:myprintf::@25
myprintf::@25: scope:[myprintf]  from myprintf::@26 myprintf::@46
  [126] (byte) myprintf::bLen#14 ← phi( myprintf::@46/(byte) myprintf::bLen#13 myprintf::@26/(byte) myprintf::bLen#6 )
  [126] (byte) myprintf::bDigits#10 ← phi( myprintf::@46/(byte) myprintf::bDigits#18 myprintf::@26/(byte) myprintf::bDigits#3 )
  [127] if((byte) myprintf::bDigits#10>(byte) myprintf::b#17) goto myprintf::@26
  to:myprintf::@27
myprintf::@26: scope:[myprintf]  from myprintf::@25
  [128] *((const byte*) strTemp + (byte) myprintf::bLen#14) ← (byte) ' '
  [129] (byte) myprintf::bLen#6 ← ++ (byte) myprintf::bLen#14
  [130] (byte) myprintf::bDigits#3 ← -- (byte) myprintf::bDigits#10
  to:myprintf::@25
myprintf::@23: scope:[myprintf]  from myprintf::@22
  [131] *((const byte*) strTemp + (byte) myprintf::bLen#13) ← *((const byte*) myprintf::buf6 + (byte) myprintf::digit#3)
  [132] (byte) myprintf::bLen#5 ← ++ (byte) myprintf::bLen#13
  [133] (byte) myprintf::digit#2 ← ++ (byte) myprintf::digit#3
  to:myprintf::@22
myprintf::@19: scope:[myprintf]  from myprintf::@18
  [134] if((byte) myprintf::bLeadZero#11==(byte) 0) goto myprintf::@20
  to:myprintf::@21
myprintf::@20: scope:[myprintf]  from myprintf::@19
  [135] phi()
  to:myprintf::@21
myprintf::@21: scope:[myprintf]  from myprintf::@19 myprintf::@20
  [136] (byte~) myprintf::$43 ← phi( myprintf::@20/(byte) ' ' myprintf::@19/(byte) '0' )
  [137] *((const byte*) strTemp + (byte) myprintf::bLen#12) ← (byte~) myprintf::$43
  [138] (byte) myprintf::bLen#4 ← ++ (byte) myprintf::bLen#12
  [139] (byte) myprintf::bDigits#2 ← -- (byte) myprintf::bDigits#12
  to:myprintf::@18
myprintf::@15: scope:[myprintf]  from myprintf::@14
  [140] (byte) myprintf::b#5 ← ++ (byte) myprintf::b#17
  to:myprintf::@14
myprintf::@8: scope:[myprintf]  from myprintf::@7
  [141] (byte~) myprintf::$50 ← (byte)(word) myprintf::w#10
  [142] *((const byte*) strTemp + (byte) myprintf::bLen#10) ← (byte~) myprintf::$50
  [143] (byte) myprintf::bLen#1 ← ++ (byte) myprintf::bLen#10
  to:myprintf::@27
myprintf::@28: scope:[myprintf]  from myprintf::@43
  [144] (byte) myprintf::bDigits#1 ← (byte) myprintf::b#1 - (byte) '0'
  to:myprintf::@32
myprintf::@4: scope:[myprintf]  from myprintf::@2
  [145] if((byte) myprintf::b#1!=(byte) '%') goto myprintf::@33
  to:myprintf::@39
myprintf::@39: scope:[myprintf]  from myprintf::@4
  [146] if((byte) myprintf::bArg#10==(byte) 0) goto myprintf::@34
  to:myprintf::@40
myprintf::@40: scope:[myprintf]  from myprintf::@39
  [147] if((byte) myprintf::bArg#10==(byte) 1) goto myprintf::@35
  to:myprintf::@41
myprintf::@41: scope:[myprintf]  from myprintf::@40
  [148] (word) myprintf::w#55 ← (word) myprintf::w3#8
  to:myprintf::@36
myprintf::@36: scope:[myprintf]  from myprintf::@34 myprintf::@35 myprintf::@41
  [149] (word) myprintf::w#22 ← phi( myprintf::@34/(word) myprintf::w#53 myprintf::@35/(word) myprintf::w#54 myprintf::@41/(word) myprintf::w#55 )
  [150] (byte) myprintf::bArg#1 ← ++ (byte) myprintf::bArg#10
  to:myprintf::@32
myprintf::@35: scope:[myprintf]  from myprintf::@40
  [151] (word) myprintf::w#54 ← (word) myprintf::w2#8
  to:myprintf::@36
myprintf::@34: scope:[myprintf]  from myprintf::@39
  [152] (word) myprintf::w#53 ← (word) myprintf::w1#7
  to:myprintf::@36
myprintf::@33: scope:[myprintf]  from myprintf::@4
  [153] if((byte) myprintf::b#1<(byte) $41) goto myprintf::@37
  to:myprintf::@47
myprintf::@47: scope:[myprintf]  from myprintf::@33
  [154] if((byte) myprintf::b#1>=(byte) $5a+(byte) 1) goto myprintf::@37
  to:myprintf::@42
myprintf::@42: scope:[myprintf]  from myprintf::@47
  [155] (byte) myprintf::b#6 ← (byte) myprintf::b#1 + (byte) $20
  to:myprintf::@37
myprintf::@37: scope:[myprintf]  from myprintf::@33 myprintf::@42 myprintf::@47
  [156] (byte) myprintf::b#25 ← phi( myprintf::@33/(byte) myprintf::b#1 myprintf::@42/(byte) myprintf::b#6 )
  [157] *((const byte*) strTemp + (byte) myprintf::bLen#10) ← (byte) myprintf::b#25
  [158] (byte) myprintf::bLen#7 ← ++ (byte) myprintf::bLen#10
  to:myprintf::@32

(void()) utoa((word) utoa::value , (byte*) utoa::dst)
utoa: scope:[utoa]  from myprintf::@9
  [159] phi()
  to:utoa::@13
utoa::@13: scope:[utoa]  from utoa
  [160] if((word) utoa::value#4>=(word) $2710) goto utoa::@5
  to:utoa::@1
utoa::@1: scope:[utoa]  from utoa::@13 utoa::@9
  [161] (byte*) utoa::dst#16 ← phi( utoa::@13/(const byte*) myprintf::buf6 utoa::@9/++(const byte*) myprintf::buf6 )
  [161] (word) utoa::value#6 ← phi( utoa::@13/(word) utoa::value#4 utoa::@9/(word) utoa::value#0 )
  [161] (byte) utoa::bStarted#5 ← phi( utoa::@13/(byte) 0 utoa::@9/(byte) 1 )
  [162] if((byte) utoa::bStarted#5==(byte) 1) goto utoa::@6
  to:utoa::@14
utoa::@14: scope:[utoa]  from utoa::@1
  [163] if((word) utoa::value#6>=(word) $3e8) goto utoa::@6
  to:utoa::@2
utoa::@2: scope:[utoa]  from utoa::@10 utoa::@14
  [164] (byte*) utoa::dst#10 ← phi( utoa::@14/(byte*) utoa::dst#16 utoa::@10/(byte*) utoa::dst#1 )
  [164] (word) utoa::value#11 ← phi( utoa::@14/(word) utoa::value#6 utoa::@10/(word) utoa::value#1 )
  [164] (byte) utoa::bStarted#6 ← phi( utoa::@14/(byte) utoa::bStarted#5 utoa::@10/(byte) 1 )
  [165] if((byte) utoa::bStarted#6==(byte) 1) goto utoa::@7
  to:utoa::@15
utoa::@15: scope:[utoa]  from utoa::@2
  [166] if((word) utoa::value#11>=(byte) $64) goto utoa::@7
  to:utoa::@3
utoa::@3: scope:[utoa]  from utoa::@11 utoa::@15
  [167] (byte*) utoa::dst#13 ← phi( utoa::@11/(byte*) utoa::dst#2 utoa::@15/(byte*) utoa::dst#10 )
  [167] (word) utoa::value#10 ← phi( utoa::@11/(word) utoa::value#2 utoa::@15/(word) utoa::value#11 )
  [167] (byte) utoa::bStarted#7 ← phi( utoa::@11/(byte) 1 utoa::@15/(byte) utoa::bStarted#6 )
  [168] if((byte) utoa::bStarted#7==(byte) 1) goto utoa::@8
  to:utoa::@16
utoa::@16: scope:[utoa]  from utoa::@3
  [169] if((word) utoa::value#10>=(byte) $a) goto utoa::@8
  to:utoa::@4
utoa::@4: scope:[utoa]  from utoa::@12 utoa::@16
  [170] (byte*) utoa::dst#12 ← phi( utoa::@12/(byte*) utoa::dst#4 utoa::@16/(byte*) utoa::dst#13 )
  [170] (word) utoa::value#12 ← phi( utoa::@12/(word) utoa::value#3 utoa::@16/(word) utoa::value#10 )
  [171] (byte~) utoa::$16 ← (byte)(word) utoa::value#12
  [172] (byte~) utoa::$17 ← (byte) '0' + (byte~) utoa::$16
  [173] *((byte*) utoa::dst#12) ← (byte~) utoa::$17
  [174] (byte*) utoa::dst#3 ← ++ (byte*) utoa::dst#12
  [175] *((byte*) utoa::dst#3) ← (byte) 0
  to:utoa::@return
utoa::@return: scope:[utoa]  from utoa::@4
  [176] return 
  to:@return
utoa::@8: scope:[utoa]  from utoa::@16 utoa::@3
  [177] (byte*) append::dst#3 ← (byte*) utoa::dst#13
  [178] (word) append::value#4 ← (word) utoa::value#10
  [179] call append 
  [180] (word) append::return#10 ← (word) append::value#5
  to:utoa::@12
utoa::@12: scope:[utoa]  from utoa::@8
  [181] (word) utoa::value#3 ← (word) append::return#10
  [182] (byte*) utoa::dst#4 ← ++ (byte*) utoa::dst#13
  to:utoa::@4
utoa::@7: scope:[utoa]  from utoa::@15 utoa::@2
  [183] (byte*) append::dst#2 ← (byte*) utoa::dst#10
  [184] (word) append::value#3 ← (word) utoa::value#11
  [185] call append 
  [186] (word) append::return#4 ← (word) append::value#5
  to:utoa::@11
utoa::@11: scope:[utoa]  from utoa::@7
  [187] (word) utoa::value#2 ← (word) append::return#4
  [188] (byte*) utoa::dst#2 ← ++ (byte*) utoa::dst#10
  to:utoa::@3
utoa::@6: scope:[utoa]  from utoa::@1 utoa::@14
  [189] (byte*) append::dst#1 ← (byte*) utoa::dst#16
  [190] (word) append::value#2 ← (word) utoa::value#6
  [191] call append 
  [192] (word) append::return#3 ← (word) append::value#5
  to:utoa::@10
utoa::@10: scope:[utoa]  from utoa::@6
  [193] (word) utoa::value#1 ← (word) append::return#3
  [194] (byte*) utoa::dst#1 ← ++ (byte*) utoa::dst#16
  to:utoa::@2
utoa::@5: scope:[utoa]  from utoa::@13
  [195] (word) append::value#1 ← (word) utoa::value#4
  [196] call append 
  [197] (word) append::return#2 ← (word) append::value#5
  to:utoa::@9
utoa::@9: scope:[utoa]  from utoa::@5
  [198] (word) utoa::value#0 ← (word) append::return#2
  to:utoa::@1

(word()) append((byte*) append::dst , (word) append::value , (word) append::sub)
append: scope:[append]  from utoa::@5 utoa::@6 utoa::@7 utoa::@8
  [199] (word) append::sub#6 ← phi( utoa::@5/(word) $2710 utoa::@6/(word) $3e8 utoa::@7/(byte) $64 utoa::@8/(byte) $a )
  [199] (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 )
  [199] (byte*) append::dst#4 ← phi( utoa::@5/(const byte*) myprintf::buf6 utoa::@6/(byte*) append::dst#1 utoa::@7/(byte*) append::dst#2 utoa::@8/(byte*) append::dst#3 )
  [200] *((byte*) append::dst#4) ← (byte) '0'
  to:append::@1
append::@1: scope:[append]  from append append::@2
  [201] (word) append::value#5 ← phi( append/(word) append::value#8 append::@2/(word) append::value#0 )
  [202] if((word) append::value#5>=(word) append::sub#6) goto append::@2
  to:append::@return
append::@return: scope:[append]  from append::@1
  [203] return 
  to:@return
append::@2: scope:[append]  from append::@1
  [204] *((byte*) append::dst#4) ← ++ *((byte*) append::dst#4)
  [205] (word) append::value#0 ← (word) append::value#5 - (word) append::sub#6
  to:append::@1

(word()) div10((word) div10::val)
div10: scope:[div10]  from main::@10
  [206] (word~) div10::$0 ← (word) div10::val#4 >> (byte) 1
  [207] (word) div10::val#0 ← (word~) div10::$0 + (byte) 1
  [208] (word~) div10::$2 ← (word) div10::val#0 << (byte) 1
  [209] (word) div10::val#1 ← (word) div10::val#0 + (word~) div10::$2
  [210] (word~) div10::$3 ← (word) div10::val#1 >> (byte) 4
  [211] (word) div10::val#2 ← (word) div10::val#1 + (word~) div10::$3
  [212] (word~) div10::$4 ← (word) div10::val#2 >> (byte) 8
  [213] (word) div10::val#3 ← (word) div10::val#2 + (word~) div10::$4
  [214] (word) div10::return#0 ← (word) div10::val#3 >> (byte) 4
  to:div10::@return
div10::@return: scope:[div10]  from div10
  [215] return 
  to:@return


VARIABLE REGISTER WEIGHTS
(void()) Print()
(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 12.120000000000001
(byte) myprintf::bArg#11 353.5
(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 21.956521739130434
(byte) myprintf::bDigits#18 175.625
(byte) myprintf::bDigits#2 2002.0
(byte) myprintf::bDigits#28 303.0
(byte) myprintf::bDigits#29 1506.0
(byte) myprintf::bDigits#3 2002.0
(byte) myprintf::bFormat
(byte) myprintf::bFormat#10 37.875
(byte) myprintf::bFormat#5 252.5
(byte) myprintf::bLeadZero
(byte) myprintf::bLeadZero#11 21.82608695652174
(byte) myprintf::bLeadZero#20 252.5
(byte) myprintf::bLen
(byte) myprintf::bLen#1 202.0
(byte) myprintf::bLen#10 32.93023255813953
(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 353.5
(byte) myprintf::bLen#3 202.0
(byte) myprintf::bLen#32 1203.0
(byte) myprintf::bLen#36 1506.0
(byte) myprintf::bLen#4 1001.0
(byte) myprintf::bLen#5 1001.0
(byte) myprintf::bLen#6 1001.0
(byte) myprintf::bLen#7 202.0
(byte) myprintf::bTrailing
(byte) myprintf::bTrailing#11 10.246376811594203
(byte) myprintf::bTrailing#24 252.5
(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 5.272727272727273
(byte*) myprintf::str#6 2.0
(word) myprintf::w
(word) myprintf::w#10 10.246376811594203
(word) myprintf::w#18 353.5
(word) myprintf::w#22 202.0
(word) myprintf::w#53 202.0
(word) myprintf::w#54 202.0
(word) myprintf::w#55 202.0
(word) myprintf::w1
(word) myprintf::w1#0 11.0
(word) myprintf::w1#1 11.0
(word) myprintf::w1#7 1.5569620253164556
(word) myprintf::w2
(word) myprintf::w2#0 22.0
(word) myprintf::w2#1 22.0
(word) myprintf::w2#8 1.5569620253164556
(word) myprintf::w3
(word) myprintf::w3#0 7.333333333333333
(word) myprintf::w3#1 7.333333333333333
(word) myprintf::w3#8 1.5569620253164556
(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

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::bFormat#5 ]
[ myprintf::bArg#10 myprintf::bArg#11 myprintf::bArg#1 ]
[ myprintf::w#10 myprintf::w#18 myprintf::w#22 myprintf::w#53 myprintf::w#54 myprintf::w#55 ]
[ myprintf::bTrailing#11 myprintf::bTrailing#24 ]
[ myprintf::bLeadZero#11 myprintf::bLeadZero#20 ]
[ myprintf::$24 ]
[ myprintf::$31 ]
[ myprintf::b#17 myprintf::b#5 ]
[ myprintf::bDigits#12 myprintf::bDigits#16 myprintf::bDigits#28 myprintf::bDigits#29 myprintf::bDigits#1 myprintf::bDigits#18 myprintf::bDigits#10 myprintf::bDigits#2 myprintf::bDigits#3 ]
[ myprintf::bLen#32 myprintf::bLen#12 myprintf::bLen#10 myprintf::bLen#28 myprintf::bLen#36 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 live range equivalence class [ main::$12 ]
Added variable main::$13 to live range equivalence class [ main::$13 ]
Added variable main::$14 to live range equivalence class [ main::$14 ]
Added variable div10::val#4 to live range equivalence class [ div10::val#4 ]
Added variable div10::return#2 to live range equivalence class [ div10::return#2 ]
Added variable main::$3 to live range equivalence class [ main::$3 ]
Added variable main::$4 to live range equivalence class [ main::$4 ]
Added variable main::$5 to live range equivalence class [ main::$5 ]
Added variable div16u::dividend#0 to live range equivalence class [ div16u::dividend#0 ]
Added variable div16u::return#2 to live range equivalence class [ div16u::return#2 ]
Added variable divr16u::return#2 to live range equivalence class [ divr16u::return#2 ]
Added variable div16u::return#0 to live range equivalence class [ div16u::return#0 ]
Added variable divr16u::$1 to live range equivalence class [ divr16u::$1 ]
Added variable divr16u::$2 to live range equivalence class [ divr16u::$2 ]
Added variable myprintf::$18 to live range equivalence class [ myprintf::$18 ]
Added variable myprintf::$19 to live range equivalence class [ myprintf::$19 ]
Added variable myprintf::b#15 to live range equivalence class [ myprintf::b#15 ]
Added variable myprintf::$25 to live range equivalence class [ myprintf::$25 ]
Added variable myprintf::bLen#11 to live range equivalence class [ myprintf::bLen#11 ]
Added variable myprintf::$26 to live range equivalence class [ myprintf::$26 ]
Added variable myprintf::b#16 to live range equivalence class [ myprintf::b#16 ]
Added variable myprintf::$32 to live range equivalence class [ myprintf::$32 ]
Added variable myprintf::$50 to live range equivalence class [ myprintf::$50 ]
Added variable utoa::$16 to live range equivalence class [ utoa::$16 ]
Added variable utoa::$17 to live range equivalence class [ utoa::$17 ]
Added variable utoa::dst#3 to live range equivalence class [ utoa::dst#3 ]
Added variable append::return#10 to live range equivalence class [ append::return#10 ]
Added variable append::return#4 to live range equivalence class [ append::return#4 ]
Added variable append::return#3 to live range equivalence class [ append::return#3 ]
Added variable append::return#2 to live range equivalence class [ append::return#2 ]
Added variable div10::$0 to live range equivalence class [ div10::$0 ]
Added variable div10::val#0 to live range equivalence class [ div10::val#0 ]
Added variable div10::$2 to live range equivalence class [ div10::$2 ]
Added variable div10::val#1 to live range equivalence class [ div10::val#1 ]
Added variable div10::$3 to live range equivalence class [ div10::$3 ]
Added variable div10::val#2 to live range equivalence class [ div10::val#2 ]
Added variable div10::$4 to live range equivalence class [ div10::$4 ]
Added variable div10::val#3 to live range equivalence class [ div10::val#3 ]
Added variable div10::return#0 to live range 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::bFormat#5 ]
[ myprintf::bArg#10 myprintf::bArg#11 myprintf::bArg#1 ]
[ myprintf::w#10 myprintf::w#18 myprintf::w#22 myprintf::w#53 myprintf::w#54 myprintf::w#55 ]
[ myprintf::bTrailing#11 myprintf::bTrailing#24 ]
[ myprintf::bLeadZero#11 myprintf::bLeadZero#20 ]
[ myprintf::$24 ]
[ myprintf::$31 ]
[ myprintf::b#17 myprintf::b#5 ]
[ myprintf::bDigits#12 myprintf::bDigits#16 myprintf::bDigits#28 myprintf::bDigits#29 myprintf::bDigits#1 myprintf::bDigits#18 myprintf::bDigits#10 myprintf::bDigits#2 myprintf::bDigits#3 ]
[ myprintf::bLen#32 myprintf::bLen#12 myprintf::bLen#10 myprintf::bLen#28 myprintf::bLen#36 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[2]:2 [ main::u#15 main::u#3 ]
Allocated zp[2]:4 [ main::u#17 main::u#4 ]
Allocated zp[2]:6 [ main::v#10 main::v#12 main::v#11 main::v#13 main::v#2 main::v#1 ]
Allocated zp[2]:8 [ divr16u::rem#4 divr16u::rem#9 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ]
Allocated zp[2]:10 [ divr16u::dividend#2 divr16u::dividend#1 divr16u::dividend#0 ]
Allocated zp[2]:12 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ]
Allocated zp[1]:14 [ divr16u::i#2 divr16u::i#1 ]
Allocated zp[2]:15 [ myprintf::w1#7 myprintf::w1#1 myprintf::w1#0 ]
Allocated zp[2]:17 [ myprintf::w2#8 myprintf::w2#1 myprintf::w2#0 ]
Allocated zp[2]:19 [ myprintf::w3#8 myprintf::w3#1 myprintf::w3#0 ]
Allocated zp[2]:21 [ myprintf::str#10 myprintf::str#6 myprintf::str#0 ]
Allocated zp[1]:23 [ myprintf::bFormat#10 myprintf::bFormat#5 ]
Allocated zp[1]:24 [ myprintf::bArg#10 myprintf::bArg#11 myprintf::bArg#1 ]
Allocated zp[2]:25 [ myprintf::w#10 myprintf::w#18 myprintf::w#22 myprintf::w#53 myprintf::w#54 myprintf::w#55 ]
Allocated zp[1]:27 [ myprintf::bTrailing#11 myprintf::bTrailing#24 ]
Allocated zp[1]:28 [ myprintf::bLeadZero#11 myprintf::bLeadZero#20 ]
Allocated zp[1]:29 [ myprintf::$24 ]
Allocated zp[1]:30 [ myprintf::$31 ]
Allocated zp[1]:31 [ myprintf::b#17 myprintf::b#5 ]
Allocated zp[1]:32 [ myprintf::bDigits#12 myprintf::bDigits#16 myprintf::bDigits#28 myprintf::bDigits#29 myprintf::bDigits#1 myprintf::bDigits#18 myprintf::bDigits#10 myprintf::bDigits#2 myprintf::bDigits#3 ]
Allocated zp[1]:33 [ myprintf::bLen#32 myprintf::bLen#12 myprintf::bLen#10 myprintf::bLen#28 myprintf::bLen#36 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[1]:34 [ myprintf::digit#3 myprintf::digit#2 ]
Allocated zp[1]:35 [ myprintf::$43 ]
Allocated zp[1]:36 [ myprintf::b#25 myprintf::b#1 myprintf::b#6 ]
Allocated zp[1]:37 [ utoa::bStarted#7 utoa::bStarted#6 utoa::bStarted#5 ]
Allocated zp[2]: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[2]:40 [ utoa::dst#12 utoa::dst#4 utoa::dst#13 utoa::dst#2 utoa::dst#10 utoa::dst#16 utoa::dst#1 ]
Allocated zp[2]:42 [ append::dst#4 append::dst#1 append::dst#2 append::dst#3 ]
Allocated zp[2]:44 [ append::sub#6 ]
Allocated zp[2]:46 [ append::value#5 append::value#8 append::value#1 append::value#2 append::value#3 append::value#4 append::value#0 ]
Allocated zp[2]:48 [ main::$12 ]
Allocated zp[2]:50 [ main::$13 ]
Allocated zp[2]:52 [ main::$14 ]
Allocated zp[2]:54 [ div10::val#4 ]
Allocated zp[2]:56 [ div10::return#2 ]
Allocated zp[2]:58 [ main::$3 ]
Allocated zp[2]:60 [ main::$4 ]
Allocated zp[2]:62 [ main::$5 ]
Allocated zp[2]:64 [ div16u::dividend#0 ]
Allocated zp[2]:66 [ div16u::return#2 ]
Allocated zp[2]:68 [ divr16u::return#2 ]
Allocated zp[2]:70 [ div16u::return#0 ]
Allocated zp[1]:72 [ divr16u::$1 ]
Allocated zp[1]:73 [ divr16u::$2 ]
Allocated zp[1]:74 [ myprintf::$18 ]
Allocated zp[1]:75 [ myprintf::$19 ]
Allocated zp[1]:76 [ myprintf::b#15 ]
Allocated zp[1]:77 [ myprintf::$25 ]
Allocated zp[1]:78 [ myprintf::bLen#11 ]
Allocated zp[1]:79 [ myprintf::$26 ]
Allocated zp[1]:80 [ myprintf::b#16 ]
Allocated zp[1]:81 [ myprintf::$32 ]
Allocated zp[1]:82 [ myprintf::$50 ]
Allocated zp[1]:83 [ utoa::$16 ]
Allocated zp[1]:84 [ utoa::$17 ]
Allocated zp[2]:85 [ utoa::dst#3 ]
Allocated zp[2]:87 [ append::return#10 ]
Allocated zp[2]:89 [ append::return#4 ]
Allocated zp[2]:91 [ append::return#3 ]
Allocated zp[2]:93 [ append::return#2 ]
Allocated zp[2]:95 [ div10::$0 ]
Allocated zp[2]:97 [ div10::val#0 ]
Allocated zp[2]:99 [ div10::$2 ]
Allocated zp[2]:101 [ div10::val#1 ]
Allocated zp[2]:103 [ div10::$3 ]
Allocated zp[2]:105 [ div10::val#2 ]
Allocated zp[2]:107 [ div10::$4 ]
Allocated zp[2]:109 [ div10::val#3 ]
Allocated zp[2]:111 [ div10::return#0 ]

INITIAL ASM
Target platform is c64basic / MOS6502X
  // 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
    // test performance of 'div16u(10)'
    // test performance of 'div10'
    .label u = 2
    // test performance of 'div16u(10)'
    // test performance of 'div10'
    .label u_1 = 4
    // [4] *((const byte*) VICBANK) ← (byte) $17 -- _deref_pbuc1=vbuc2 
    lda #$17
    sta VICBANK
    // [5] *((const byte*) zp1) ← (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)<(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) ← (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_1
    lda #>$6e85
    sta.z u_1+1
    jmp __b7
    // main::@7
  __b7:
    // [10] if(*((const byte*) zp1)<(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) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta TIMEHI
    // [13] *((const byte*) TIMELO) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta TIMELO
    // [14] *((const byte*) zp2) ← (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)<(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) -- 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) -- 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_1
    sta.z myprintf.w1
    lda.z u_1+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 byte*) 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_1
    sec
    sbc #<$4d2
    sta.z u_1
    lda.z u_1+1
    sbc #>$4d2
    sta.z u_1+1
    // [27] *((const byte*) zp1) ← ++ *((const byte*) zp1) -- _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_1
    sta.z div10.val_4
    lda.z u_1+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_1
    lda.z div10.return+1
    sta.z div10.return_1+1
    jmp __b15
    // main::@15
  __b15:
    // [31] (word) main::v#2 ← (word) div10::return#2 -- vwuz1=vwuz2 
    lda.z div10.return_1
    sta.z v
    lda.z div10.return_1+1
    sta.z v+1
    // [32] *((const byte*) zp2) ← ++ *((const byte*) zp2) -- _deref_pbuc1=_inc__deref_pbuc1 
    inc zp2
    jmp __b9_from___b15
    // main::@2
  __b2:
    // [33] *((const byte*) TIMEHI) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta TIMEHI
    // [34] *((const byte*) TIMELO) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta TIMELO
    // [35] *((const byte*) zp2) ← (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)<(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) -- 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) -- 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 byte*) 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) ← ++ *((const byte*) zp1) -- _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_1
    lda.z div16u.return+1
    sta.z div16u.return_1+1
    jmp __b12
    // main::@12
  __b12:
    // [52] (word) main::v#1 ← (word) div16u::return#2 -- vwuz1=vwuz2 
    lda.z div16u.return_1
    sta.z v
    lda.z div16u.return_1+1
    sta.z v+1
    // [53] *((const byte*) zp2) ← ++ *((const byte*) zp2) -- _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 zp($40) dividend)
div16u: {
    .label divisor = $a
    .label return = $46
    .label dividend = $40
    .label return_1 = $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_1
    lda.z divr16u.return+1
    sta.z divr16u.return_1+1
    jmp __b1
    // div16u::@1
  __b1:
    // [57] (word) div16u::return#0 ← (word) divr16u::return#2 -- vwuz1=vwuz2 
    lda.z divr16u.return_1
    sta.z return
    lda.z divr16u.return_1+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 zp($a) dividend, word zp(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_1 = $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 = (word) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vwuc1 
    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* zp($15) str, word zp($f) w1, word zp($11) w2, word zp($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
    // formats
    .label b = $24
    .label str = $15
    .label bDigits = $20
    .label bLen = $21
    // formats
    .label b_1 = $1f
    .label digit = $22
    .label bArg = $18
    .label w1 = $f
    .label w2 = $11
    .label w3 = $13
    // formats
    .label b_2 = $4c
    // formats
    .label b_3 = $50
    .label bLen_1 = $4e
    .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*) strTemp + (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 __b38
    // myprintf::@38
  __b38:
    // [85] if((byte) myprintf::b#1!=(byte) '0') goto myprintf::@5 -- vbuz1_neq_vbuc1_then_la1 
    lda #'0'
    cmp.z b
    bne __b5
    // [86] phi from myprintf::@38 to myprintf::@32 [phi:myprintf::@38->myprintf::@32]
  __b32_from___b38:
    // [86] phi (byte) myprintf::bLeadZero#20 = (byte) 1 [phi:myprintf::@38->myprintf::@32#0] -- vbuz1=vbuc1 
    lda #1
    sta.z bLeadZero
    // [86] phi (byte) myprintf::bDigits#28 = (byte) myprintf::bDigits#16 [phi:myprintf::@38->myprintf::@32#1] -- register_copy 
    // [86] phi (byte) myprintf::bTrailing#24 = (byte) myprintf::bTrailing#11 [phi:myprintf::@38->myprintf::@32#2] -- register_copy 
    // [86] phi (word) myprintf::w#18 = (word) myprintf::w#10 [phi:myprintf::@38->myprintf::@32#3] -- register_copy 
    // [86] phi (byte) myprintf::bArg#11 = (byte) myprintf::bArg#10 [phi:myprintf::@38->myprintf::@32#4] -- register_copy 
    // [86] phi (byte) myprintf::bLen#28 = (byte) myprintf::bLen#10 [phi:myprintf::@38->myprintf::@32#5] -- register_copy 
    // [86] phi (byte) myprintf::bFormat#5 = (byte) myprintf::bFormat#10 [phi:myprintf::@38->myprintf::@32#6] -- register_copy 
    jmp __b32
    // myprintf::@32
  __b32:
    // [87] (byte*) myprintf::str#0 ← ++ (byte*) myprintf::str#10 -- pbuz1=_inc_pbuz1 
    inc.z str
    bne !+
    inc.z str+1
  !:
    // [79] phi from myprintf::@32 to myprintf::@1 [phi:myprintf::@32->myprintf::@1]
  __b1_from___b32:
    // [79] phi (byte) myprintf::bLeadZero#11 = (byte) myprintf::bLeadZero#20 [phi:myprintf::@32->myprintf::@1#0] -- register_copy 
    // [79] phi (byte) myprintf::bDigits#16 = (byte) myprintf::bDigits#28 [phi:myprintf::@32->myprintf::@1#1] -- register_copy 
    // [79] phi (byte) myprintf::bTrailing#11 = (byte) myprintf::bTrailing#24 [phi:myprintf::@32->myprintf::@1#2] -- register_copy 
    // [79] phi (word) myprintf::w#10 = (word) myprintf::w#18 [phi:myprintf::@32->myprintf::@1#3] -- register_copy 
    // [79] phi (byte) myprintf::bArg#10 = (byte) myprintf::bArg#11 [phi:myprintf::@32->myprintf::@1#4] -- register_copy 
    // [79] phi (byte) myprintf::bLen#10 = (byte) myprintf::bLen#28 [phi:myprintf::@32->myprintf::@1#5] -- register_copy 
    // [79] phi (byte) myprintf::bFormat#10 = (byte) myprintf::bFormat#5 [phi:myprintf::@32->myprintf::@1#6] -- register_copy 
    // [79] phi (byte*) myprintf::str#10 = (byte*) myprintf::str#0 [phi:myprintf::@32->myprintf::@1#7] -- register_copy 
    jmp __b1
    // myprintf::@5
  __b5:
    // [88] if((byte) myprintf::b#1<(byte) '1') goto myprintf::@6 -- vbuz1_lt_vbuc1_then_la1 
    lda.z b
    cmp #'1'
    bcc __b6
    jmp __b43
    // myprintf::@43
  __b43:
    // [89] 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:
    // [90] if((byte) myprintf::b#1!=(byte) '-') goto myprintf::@7 -- vbuz1_neq_vbuc1_then_la1 
    lda #'-'
    cmp.z b
    bne __b7
    // [86] phi from myprintf::@6 to myprintf::@32 [phi:myprintf::@6->myprintf::@32]
  __b32_from___b6:
    // [86] phi (byte) myprintf::bLeadZero#20 = (byte) myprintf::bLeadZero#11 [phi:myprintf::@6->myprintf::@32#0] -- register_copy 
    // [86] phi (byte) myprintf::bDigits#28 = (byte) myprintf::bDigits#16 [phi:myprintf::@6->myprintf::@32#1] -- register_copy 
    // [86] phi (byte) myprintf::bTrailing#24 = (byte) 1 [phi:myprintf::@6->myprintf::@32#2] -- vbuz1=vbuc1 
    lda #1
    sta.z bTrailing
    // [86] phi (word) myprintf::w#18 = (word) myprintf::w#10 [phi:myprintf::@6->myprintf::@32#3] -- register_copy 
    // [86] phi (byte) myprintf::bArg#11 = (byte) myprintf::bArg#10 [phi:myprintf::@6->myprintf::@32#4] -- register_copy 
    // [86] phi (byte) myprintf::bLen#28 = (byte) myprintf::bLen#10 [phi:myprintf::@6->myprintf::@32#5] -- register_copy 
    // [86] phi (byte) myprintf::bFormat#5 = (byte) myprintf::bFormat#10 [phi:myprintf::@6->myprintf::@32#6] -- register_copy 
    jmp __b32
    // myprintf::@7
  __b7:
    // [91] 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:
    // [92] 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:
    // [93] if((byte) myprintf::b#1==(byte) 'x') goto myprintf::@31 -- vbuz1_eq_vbuc1_then_la1 
    lda #'x'
    cmp.z b
    beq __b31
    jmp __b44
    // myprintf::@44
  __b44:
    // [94] if((byte) myprintf::b#1==(byte) 'X') goto myprintf::@31 -- vbuz1_eq_vbuc1_then_la1 
    lda #'X'
    cmp.z b
    beq __b31
    // [95] phi from myprintf::@13 myprintf::@24 myprintf::@25 myprintf::@44 myprintf::@8 to myprintf::@27 [phi:myprintf::@13/myprintf::@24/myprintf::@25/myprintf::@44/myprintf::@8->myprintf::@27]
  __b27_from___b13:
  __b27_from___b24:
  __b27_from___b25:
  __b27_from___b44:
  __b27_from___b8:
    // [95] phi (byte) myprintf::bDigits#29 = (byte) myprintf::bDigits#16 [phi:myprintf::@13/myprintf::@24/myprintf::@25/myprintf::@44/myprintf::@8->myprintf::@27#0] -- register_copy 
    // [95] phi (byte) myprintf::bLen#36 = (byte) myprintf::bLen#3 [phi:myprintf::@13/myprintf::@24/myprintf::@25/myprintf::@44/myprintf::@8->myprintf::@27#1] -- register_copy 
    jmp __b27
    // [95] phi from myprintf::@46 to myprintf::@27 [phi:myprintf::@46->myprintf::@27]
  __b27_from___b46:
    jmp __b27
    // myprintf::@27
  __b27:
    // [86] phi from myprintf::@27 to myprintf::@32 [phi:myprintf::@27->myprintf::@32]
  __b32_from___b27:
    // [86] phi (byte) myprintf::bLeadZero#20 = (byte) myprintf::bLeadZero#11 [phi:myprintf::@27->myprintf::@32#0] -- register_copy 
    // [86] phi (byte) myprintf::bDigits#28 = (byte) myprintf::bDigits#29 [phi:myprintf::@27->myprintf::@32#1] -- register_copy 
    // [86] phi (byte) myprintf::bTrailing#24 = (byte) myprintf::bTrailing#11 [phi:myprintf::@27->myprintf::@32#2] -- register_copy 
    // [86] phi (word) myprintf::w#18 = (word) myprintf::w#10 [phi:myprintf::@27->myprintf::@32#3] -- register_copy 
    // [86] phi (byte) myprintf::bArg#11 = (byte) myprintf::bArg#10 [phi:myprintf::@27->myprintf::@32#4] -- register_copy 
    // [86] phi (byte) myprintf::bLen#28 = (byte) myprintf::bLen#36 [phi:myprintf::@27->myprintf::@32#5] -- register_copy 
    // [86] phi (byte) myprintf::bFormat#5 = (byte) 0 [phi:myprintf::@27->myprintf::@32#6] -- vbuz1=vbuc1 
    lda #0
    sta.z bFormat
    jmp __b32
    // myprintf::@31
  __b31:
    // [96] (byte~) myprintf::$18 ← (byte)(word) myprintf::w#10 -- vbuz1=_byte_vwuz2 
    lda.z w
    sta.z __18
    // [97] (byte~) myprintf::$19 ← (byte~) myprintf::$18 >> (byte) 4 -- vbuz1=vbuz2_ror_4 
    lda.z __18
    lsr
    lsr
    lsr
    lsr
    sta.z __19
    // [98] (byte) myprintf::b#15 ← (byte~) myprintf::$19 & (byte) $f -- vbuz1=vbuz2_band_vbuc1 
    lda #$f
    and.z __19
    sta.z b_2
    // [99] if((byte) myprintf::b#15<(byte) $a) goto myprintf::@10 -- vbuz1_lt_vbuc1_then_la1 
    lda.z b_2
    cmp #$a
    bcc __b10_from___b31
    // [101] phi from myprintf::@31 to myprintf::@11 [phi:myprintf::@31->myprintf::@11]
  __b11_from___b31:
    // [101] phi (byte~) myprintf::$24 = (byte) $57 [phi:myprintf::@31->myprintf::@11#0] -- vbuz1=vbuc1 
    lda #$57
    sta.z __24
    jmp __b11
    // [100] phi from myprintf::@31 to myprintf::@10 [phi:myprintf::@31->myprintf::@10]
  __b10_from___b31:
    jmp __b10
    // myprintf::@10
  __b10:
    // [101] phi from myprintf::@10 to myprintf::@11 [phi:myprintf::@10->myprintf::@11]
  __b11_from___b10:
    // [101] phi (byte~) myprintf::$24 = (byte) '0' [phi:myprintf::@10->myprintf::@11#0] -- vbuz1=vbuc1 
    lda #'0'
    sta.z __24
    jmp __b11
    // myprintf::@11
  __b11:
    // [102] (byte~) myprintf::$25 ← (byte~) myprintf::$24 + (byte) myprintf::b#15 -- vbuz1=vbuz2_plus_vbuz3 
    lda.z __24
    clc
    adc.z b_2
    sta.z __25
    // [103] *((const byte*) strTemp + (byte) myprintf::bLen#10) ← (byte~) myprintf::$25 -- pbuc1_derefidx_vbuz1=vbuz2 
    lda.z __25
    ldy.z bLen
    sta strTemp,y
    // [104] (byte) myprintf::bLen#11 ← ++ (byte) myprintf::bLen#10 -- vbuz1=_inc_vbuz2 
    ldy.z bLen
    iny
    sty.z bLen_1
    // [105] (byte~) myprintf::$26 ← (byte)(word) myprintf::w#10 -- vbuz1=_byte_vwuz2 
    lda.z w
    sta.z __26
    // [106] (byte) myprintf::b#16 ← (byte~) myprintf::$26 & (byte) $f -- vbuz1=vbuz2_band_vbuc1 
    lda #$f
    and.z __26
    sta.z b_3
    // [107] if((byte) myprintf::b#16<(byte) $a) goto myprintf::@12 -- vbuz1_lt_vbuc1_then_la1 
    lda.z b_3
    cmp #$a
    bcc __b12_from___b11
    // [109] phi from myprintf::@11 to myprintf::@13 [phi:myprintf::@11->myprintf::@13]
  __b13_from___b11:
    // [109] phi (byte~) myprintf::$31 = (byte) $57 [phi:myprintf::@11->myprintf::@13#0] -- vbuz1=vbuc1 
    lda #$57
    sta.z __31
    jmp __b13
    // [108] phi from myprintf::@11 to myprintf::@12 [phi:myprintf::@11->myprintf::@12]
  __b12_from___b11:
    jmp __b12
    // myprintf::@12
  __b12:
    // [109] phi from myprintf::@12 to myprintf::@13 [phi:myprintf::@12->myprintf::@13]
  __b13_from___b12:
    // [109] phi (byte~) myprintf::$31 = (byte) '0' [phi:myprintf::@12->myprintf::@13#0] -- vbuz1=vbuc1 
    lda #'0'
    sta.z __31
    jmp __b13
    // myprintf::@13
  __b13:
    // [110] (byte~) myprintf::$32 ← (byte~) myprintf::$31 + (byte) myprintf::b#16 -- vbuz1=vbuz2_plus_vbuz3 
    lda.z __31
    clc
    adc.z b_3
    sta.z __32
    // [111] *((const byte*) strTemp + (byte) myprintf::bLen#11) ← (byte~) myprintf::$32 -- pbuc1_derefidx_vbuz1=vbuz2 
    lda.z __32
    ldy.z bLen_1
    sta strTemp,y
    // [112] (byte) myprintf::bLen#3 ← ++ (byte) myprintf::bLen#11 -- vbuz1=_inc_vbuz2 
    ldy.z bLen_1
    iny
    sty.z bLen
    jmp __b27_from___b13
    // myprintf::@9
  __b9:
    // [113] (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
    // [114] call utoa 
    // [159] phi from myprintf::@9 to utoa [phi:myprintf::@9->utoa]
  utoa_from___b9:
    jsr utoa
    // [115] phi from myprintf::@9 to myprintf::@14 [phi:myprintf::@9->myprintf::@14]
  __b14_from___b9:
    // [115] phi (byte) myprintf::b#17 = (byte) 1 [phi:myprintf::@9->myprintf::@14#0] -- vbuz1=vbuc1 
    lda #1
    sta.z b_1
    jmp __b14
    // myprintf::@14
  __b14:
    // [116] if(*((const byte*) myprintf::buf6 + (byte) myprintf::b#17)!=(byte) 0) goto myprintf::@15 -- pbuc1_derefidx_vbuz1_neq_0_then_la1 
    ldy.z b_1
    lda buf6,y
    cmp #0
    bne __b15
    jmp __b16
    // myprintf::@16
  __b16:
    // [117] 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 __b45
    // myprintf::@45
  __b45:
    // [118] if((byte) myprintf::bDigits#16<=(byte) myprintf::b#17) goto myprintf::@17 -- vbuz1_le_vbuz2_then_la1 
    lda.z b_1
    cmp.z bDigits
    bcs __b17_from___b45
    // [119] phi from myprintf::@21 myprintf::@45 to myprintf::@18 [phi:myprintf::@21/myprintf::@45->myprintf::@18]
  __b18_from___b21:
  __b18_from___b45:
    // [119] phi (byte) myprintf::bLen#12 = (byte) myprintf::bLen#4 [phi:myprintf::@21/myprintf::@45->myprintf::@18#0] -- register_copy 
    // [119] phi (byte) myprintf::bDigits#12 = (byte) myprintf::bDigits#2 [phi:myprintf::@21/myprintf::@45->myprintf::@18#1] -- register_copy 
    jmp __b18
    // myprintf::@18
  __b18:
    // [120] if((byte) myprintf::bDigits#12>(byte) myprintf::b#17) goto myprintf::@19 -- vbuz1_gt_vbuz2_then_la1 
    lda.z b_1
    cmp.z bDigits
    bcc __b19
    // [121] phi from myprintf::@16 myprintf::@18 to myprintf::@17 [phi:myprintf::@16/myprintf::@18->myprintf::@17]
  __b17_from___b16:
  __b17_from___b18:
    // [121] phi (byte) myprintf::bDigits#18 = (byte) myprintf::bDigits#16 [phi:myprintf::@16/myprintf::@18->myprintf::@17#0] -- register_copy 
    // [121] phi (byte) myprintf::bLen#32 = (byte) myprintf::bLen#10 [phi:myprintf::@16/myprintf::@18->myprintf::@17#1] -- register_copy 
    jmp __b17
    // [121] phi from myprintf::@45 to myprintf::@17 [phi:myprintf::@45->myprintf::@17]
  __b17_from___b45:
    jmp __b17
    // myprintf::@17
  __b17:
    // [122] phi from myprintf::@17 to myprintf::@22 [phi:myprintf::@17->myprintf::@22]
  __b22_from___b17:
    // [122] phi (byte) myprintf::bLen#13 = (byte) myprintf::bLen#32 [phi:myprintf::@17->myprintf::@22#0] -- register_copy 
    // [122] 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:
    // [123] if((byte) myprintf::digit#3<(byte) myprintf::b#17) goto myprintf::@23 -- vbuz1_lt_vbuz2_then_la1 
    lda.z digit
    cmp.z b_1
    bcc __b23
    jmp __b24
    // myprintf::@24
  __b24:
    // [124] 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 __b46
    // myprintf::@46
  __b46:
    // [125] if((byte) myprintf::bDigits#18<=(byte) myprintf::b#17) goto myprintf::@27 -- vbuz1_le_vbuz2_then_la1 
    lda.z b_1
    cmp.z bDigits
    bcs __b27_from___b46
    // [126] phi from myprintf::@26 myprintf::@46 to myprintf::@25 [phi:myprintf::@26/myprintf::@46->myprintf::@25]
  __b25_from___b26:
  __b25_from___b46:
    // [126] phi (byte) myprintf::bLen#14 = (byte) myprintf::bLen#6 [phi:myprintf::@26/myprintf::@46->myprintf::@25#0] -- register_copy 
    // [126] phi (byte) myprintf::bDigits#10 = (byte) myprintf::bDigits#3 [phi:myprintf::@26/myprintf::@46->myprintf::@25#1] -- register_copy 
    jmp __b25
    // myprintf::@25
  __b25:
    // [127] if((byte) myprintf::bDigits#10>(byte) myprintf::b#17) goto myprintf::@26 -- vbuz1_gt_vbuz2_then_la1 
    lda.z b_1
    cmp.z bDigits
    bcc __b26
    jmp __b27_from___b25
    // myprintf::@26
  __b26:
    // [128] *((const byte*) strTemp + (byte) myprintf::bLen#14) ← (byte) ' ' -- pbuc1_derefidx_vbuz1=vbuc2 
    lda #' '
    ldy.z bLen
    sta strTemp,y
    // [129] (byte) myprintf::bLen#6 ← ++ (byte) myprintf::bLen#14 -- vbuz1=_inc_vbuz1 
    inc.z bLen
    // [130] (byte) myprintf::bDigits#3 ← -- (byte) myprintf::bDigits#10 -- vbuz1=_dec_vbuz1 
    dec.z bDigits
    jmp __b25_from___b26
    // myprintf::@23
  __b23:
    // [131] *((const byte*) strTemp + (byte) myprintf::bLen#13) ← *((const byte*) myprintf::buf6 + (byte) myprintf::digit#3) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz2 
    ldy.z digit
    lda buf6,y
    ldy.z bLen
    sta strTemp,y
    // [132] (byte) myprintf::bLen#5 ← ++ (byte) myprintf::bLen#13 -- vbuz1=_inc_vbuz1 
    inc.z bLen
    // [133] (byte) myprintf::digit#2 ← ++ (byte) myprintf::digit#3 -- vbuz1=_inc_vbuz1 
    inc.z digit
    // [122] phi from myprintf::@23 to myprintf::@22 [phi:myprintf::@23->myprintf::@22]
  __b22_from___b23:
    // [122] phi (byte) myprintf::bLen#13 = (byte) myprintf::bLen#5 [phi:myprintf::@23->myprintf::@22#0] -- register_copy 
    // [122] phi (byte) myprintf::digit#3 = (byte) myprintf::digit#2 [phi:myprintf::@23->myprintf::@22#1] -- register_copy 
    jmp __b22
    // myprintf::@19
  __b19:
    // [134] if((byte) myprintf::bLeadZero#11==(byte) 0) goto myprintf::@20 -- vbuz1_eq_0_then_la1 
    lda.z bLeadZero
    cmp #0
    beq __b20_from___b19
    // [136] phi from myprintf::@19 to myprintf::@21 [phi:myprintf::@19->myprintf::@21]
  __b21_from___b19:
    // [136] phi (byte~) myprintf::$43 = (byte) '0' [phi:myprintf::@19->myprintf::@21#0] -- vbuz1=vbuc1 
    lda #'0'
    sta.z __43
    jmp __b21
    // [135] phi from myprintf::@19 to myprintf::@20 [phi:myprintf::@19->myprintf::@20]
  __b20_from___b19:
    jmp __b20
    // myprintf::@20
  __b20:
    // [136] phi from myprintf::@20 to myprintf::@21 [phi:myprintf::@20->myprintf::@21]
  __b21_from___b20:
    // [136] phi (byte~) myprintf::$43 = (byte) ' ' [phi:myprintf::@20->myprintf::@21#0] -- vbuz1=vbuc1 
    lda #' '
    sta.z __43
    jmp __b21
    // myprintf::@21
  __b21:
    // [137] *((const byte*) strTemp + (byte) myprintf::bLen#12) ← (byte~) myprintf::$43 -- pbuc1_derefidx_vbuz1=vbuz2 
    lda.z __43
    ldy.z bLen
    sta strTemp,y
    // [138] (byte) myprintf::bLen#4 ← ++ (byte) myprintf::bLen#12 -- vbuz1=_inc_vbuz1 
    inc.z bLen
    // [139] (byte) myprintf::bDigits#2 ← -- (byte) myprintf::bDigits#12 -- vbuz1=_dec_vbuz1 
    dec.z bDigits
    jmp __b18_from___b21
    // myprintf::@15
  __b15:
    // [140] (byte) myprintf::b#5 ← ++ (byte) myprintf::b#17 -- vbuz1=_inc_vbuz1 
    inc.z b_1
    // [115] phi from myprintf::@15 to myprintf::@14 [phi:myprintf::@15->myprintf::@14]
  __b14_from___b15:
    // [115] phi (byte) myprintf::b#17 = (byte) myprintf::b#5 [phi:myprintf::@15->myprintf::@14#0] -- register_copy 
    jmp __b14
    // myprintf::@8
  __b8:
    // [141] (byte~) myprintf::$50 ← (byte)(word) myprintf::w#10 -- vbuz1=_byte_vwuz2 
    lda.z w
    sta.z __50
    // [142] *((const byte*) strTemp + (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
    // [143] (byte) myprintf::bLen#1 ← ++ (byte) myprintf::bLen#10 -- vbuz1=_inc_vbuz1 
    inc.z bLen
    jmp __b27_from___b8
    // myprintf::@28
  __b28:
    // [144] (byte) myprintf::bDigits#1 ← (byte) myprintf::b#1 - (byte) '0' -- vbuz1=vbuz2_minus_vbuc1 
    lax.z b
    axs #'0'
    stx.z bDigits
    // [86] phi from myprintf::@28 myprintf::@37 to myprintf::@32 [phi:myprintf::@28/myprintf::@37->myprintf::@32]
  __b32_from___b28:
  __b32_from___b37:
    // [86] phi (byte) myprintf::bLeadZero#20 = (byte) myprintf::bLeadZero#11 [phi:myprintf::@28/myprintf::@37->myprintf::@32#0] -- register_copy 
    // [86] phi (byte) myprintf::bDigits#28 = (byte) myprintf::bDigits#1 [phi:myprintf::@28/myprintf::@37->myprintf::@32#1] -- register_copy 
    // [86] phi (byte) myprintf::bTrailing#24 = (byte) myprintf::bTrailing#11 [phi:myprintf::@28/myprintf::@37->myprintf::@32#2] -- register_copy 
    // [86] phi (word) myprintf::w#18 = (word) myprintf::w#10 [phi:myprintf::@28/myprintf::@37->myprintf::@32#3] -- register_copy 
    // [86] phi (byte) myprintf::bArg#11 = (byte) myprintf::bArg#10 [phi:myprintf::@28/myprintf::@37->myprintf::@32#4] -- register_copy 
    // [86] phi (byte) myprintf::bLen#28 = (byte) myprintf::bLen#10 [phi:myprintf::@28/myprintf::@37->myprintf::@32#5] -- register_copy 
    // [86] phi (byte) myprintf::bFormat#5 = (byte) myprintf::bFormat#10 [phi:myprintf::@28/myprintf::@37->myprintf::@32#6] -- register_copy 
    jmp __b32
    // myprintf::@4
  __b4:
    // [145] if((byte) myprintf::b#1!=(byte) '%') goto myprintf::@33 -- vbuz1_neq_vbuc1_then_la1 
    lda #'%'
    cmp.z b
    bne __b33
    jmp __b39
    // myprintf::@39
  __b39:
    // [146] if((byte) myprintf::bArg#10==(byte) 0) goto myprintf::@34 -- 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 __b34
    jmp __b40
    // myprintf::@40
  __b40:
    // [147] if((byte) myprintf::bArg#10==(byte) 1) goto myprintf::@35 -- vbuz1_eq_vbuc1_then_la1 
    lda #1
    cmp.z bArg
    beq __b35
    jmp __b41
    // myprintf::@41
  __b41:
    // [148] (word) myprintf::w#55 ← (word) myprintf::w3#8 -- vwuz1=vwuz2 
    lda.z w3
    sta.z w
    lda.z w3+1
    sta.z w+1
    // [149] phi from myprintf::@34 myprintf::@35 myprintf::@41 to myprintf::@36 [phi:myprintf::@34/myprintf::@35/myprintf::@41->myprintf::@36]
  __b36_from___b34:
  __b36_from___b35:
  __b36_from___b41:
    // [149] phi (word) myprintf::w#22 = (word) myprintf::w#53 [phi:myprintf::@34/myprintf::@35/myprintf::@41->myprintf::@36#0] -- register_copy 
    jmp __b36
    // myprintf::@36
  __b36:
    // [150] (byte) myprintf::bArg#1 ← ++ (byte) myprintf::bArg#10 -- vbuz1=_inc_vbuz1 
    inc.z bArg
    // [86] phi from myprintf::@36 to myprintf::@32 [phi:myprintf::@36->myprintf::@32]
  __b32_from___b36:
    // [86] phi (byte) myprintf::bLeadZero#20 = (byte) 0 [phi:myprintf::@36->myprintf::@32#0] -- vbuz1=vbuc1 
    lda #0
    sta.z bLeadZero
    // [86] phi (byte) myprintf::bDigits#28 = (byte) 1 [phi:myprintf::@36->myprintf::@32#1] -- vbuz1=vbuc1 
    lda #1
    sta.z bDigits
    // [86] phi (byte) myprintf::bTrailing#24 = (byte) 0 [phi:myprintf::@36->myprintf::@32#2] -- vbuz1=vbuc1 
    lda #0
    sta.z bTrailing
    // [86] phi (word) myprintf::w#18 = (word) myprintf::w#22 [phi:myprintf::@36->myprintf::@32#3] -- register_copy 
    // [86] phi (byte) myprintf::bArg#11 = (byte) myprintf::bArg#1 [phi:myprintf::@36->myprintf::@32#4] -- register_copy 
    // [86] phi (byte) myprintf::bLen#28 = (byte) myprintf::bLen#10 [phi:myprintf::@36->myprintf::@32#5] -- register_copy 
    // [86] phi (byte) myprintf::bFormat#5 = (byte) 1 [phi:myprintf::@36->myprintf::@32#6] -- vbuz1=vbuc1 
    lda #1
    sta.z bFormat
    jmp __b32
    // myprintf::@35
  __b35:
    // [151] (word) myprintf::w#54 ← (word) myprintf::w2#8 -- vwuz1=vwuz2 
    lda.z w2
    sta.z w
    lda.z w2+1
    sta.z w+1
    jmp __b36_from___b35
    // myprintf::@34
  __b34:
    // [152] (word) myprintf::w#53 ← (word) myprintf::w1#7 -- vwuz1=vwuz2 
    lda.z w1
    sta.z w
    lda.z w1+1
    sta.z w+1
    jmp __b36_from___b34
    // myprintf::@33
  __b33:
    // [153] if((byte) myprintf::b#1<(byte) $41) goto myprintf::@37 -- vbuz1_lt_vbuc1_then_la1 
    lda.z b
    cmp #$41
    bcc __b37_from___b33
    jmp __b47
    // myprintf::@47
  __b47:
    // [154] if((byte) myprintf::b#1>=(byte) $5a+(byte) 1) goto myprintf::@37 -- vbuz1_ge_vbuc1_then_la1 
    lda.z b
    cmp #$5a+1
    bcs __b37_from___b47
    jmp __b42
    // myprintf::@42
  __b42:
    // [155] (byte) myprintf::b#6 ← (byte) myprintf::b#1 + (byte) $20 -- vbuz1=vbuz1_plus_vbuc1 
    lax.z b
    axs #-[$20]
    stx.z b
    // [156] phi from myprintf::@33 myprintf::@42 to myprintf::@37 [phi:myprintf::@33/myprintf::@42->myprintf::@37]
  __b37_from___b33:
  __b37_from___b42:
    // [156] phi (byte) myprintf::b#25 = (byte) myprintf::b#1 [phi:myprintf::@33/myprintf::@42->myprintf::@37#0] -- register_copy 
    jmp __b37
    // [156] phi from myprintf::@47 to myprintf::@37 [phi:myprintf::@47->myprintf::@37]
  __b37_from___b47:
    jmp __b37
    // myprintf::@37
  __b37:
    // [157] *((const byte*) strTemp + (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
    // [158] (byte) myprintf::bLen#7 ← ++ (byte) myprintf::bLen#10 -- vbuz1=_inc_vbuz1 
    inc.z bLen
    jmp __b32_from___b37
    buf6: .fill 6, 0
}
  // utoa
// utoa(word zp($26) value, byte* zp($28) dst)
utoa: {
    .label __16 = $53
    .label __17 = $54
    .label value = $26
    .label dst = $28
    .label dst_1 = $55
    .label bStarted = $25
    jmp __b13
    // utoa::@13
  __b13:
    // [160] 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
  !:
    // [161] phi from utoa::@13 to utoa::@1 [phi:utoa::@13->utoa::@1]
  __b1_from___b13:
    // [161] phi (byte*) utoa::dst#16 = (const byte*) myprintf::buf6 [phi:utoa::@13->utoa::@1#0] -- pbuz1=pbuc1 
    lda #<myprintf.buf6
    sta.z dst
    lda #>myprintf.buf6
    sta.z dst+1
    // [161] phi (word) utoa::value#6 = (word) utoa::value#4 [phi:utoa::@13->utoa::@1#1] -- register_copy 
    // [161] 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:
    // [162] 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:
    // [163] 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
  !:
    // [164] phi from utoa::@14 to utoa::@2 [phi:utoa::@14->utoa::@2]
  __b2_from___b14:
    // [164] phi (byte*) utoa::dst#10 = (byte*) utoa::dst#16 [phi:utoa::@14->utoa::@2#0] -- register_copy 
    // [164] phi (word) utoa::value#11 = (word) utoa::value#6 [phi:utoa::@14->utoa::@2#1] -- register_copy 
    // [164] phi (byte) utoa::bStarted#6 = (byte) utoa::bStarted#5 [phi:utoa::@14->utoa::@2#2] -- register_copy 
    jmp __b2
    // utoa::@2
  __b2:
    // [165] 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:
    // [166] if((word) utoa::value#11>=(byte) $64) goto utoa::@7 -- vwuz1_ge_vbuc1_then_la1 
    lda.z value+1
    bne __b7
    lda.z value
    cmp #$64
    bcs __b7
  !:
    // [167] phi from utoa::@15 to utoa::@3 [phi:utoa::@15->utoa::@3]
  __b3_from___b15:
    // [167] phi (byte*) utoa::dst#13 = (byte*) utoa::dst#10 [phi:utoa::@15->utoa::@3#0] -- register_copy 
    // [167] phi (word) utoa::value#10 = (word) utoa::value#11 [phi:utoa::@15->utoa::@3#1] -- register_copy 
    // [167] phi (byte) utoa::bStarted#7 = (byte) utoa::bStarted#6 [phi:utoa::@15->utoa::@3#2] -- register_copy 
    jmp __b3
    // utoa::@3
  __b3:
    // [168] 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:
    // [169] if((word) utoa::value#10>=(byte) $a) goto utoa::@8 -- vwuz1_ge_vbuc1_then_la1 
    lda.z value+1
    bne __b8
    lda.z value
    cmp #$a
    bcs __b8
  !:
    // [170] phi from utoa::@12 utoa::@16 to utoa::@4 [phi:utoa::@12/utoa::@16->utoa::@4]
  __b4_from___b12:
  __b4_from___b16:
    // [170] phi (byte*) utoa::dst#12 = (byte*) utoa::dst#4 [phi:utoa::@12/utoa::@16->utoa::@4#0] -- register_copy 
    // [170] phi (word) utoa::value#12 = (word) utoa::value#3 [phi:utoa::@12/utoa::@16->utoa::@4#1] -- register_copy 
    jmp __b4
    // utoa::@4
  __b4:
    // [171] (byte~) utoa::$16 ← (byte)(word) utoa::value#12 -- vbuz1=_byte_vwuz2 
    lda.z value
    sta.z __16
    // [172] (byte~) utoa::$17 ← (byte) '0' + (byte~) utoa::$16 -- vbuz1=vbuc1_plus_vbuz2 
    lax.z __16
    axs #-['0']
    stx.z __17
    // [173] *((byte*) utoa::dst#12) ← (byte~) utoa::$17 -- _deref_pbuz1=vbuz2 
    lda.z __17
    ldy #0
    sta (dst),y
    // [174] (byte*) utoa::dst#3 ← ++ (byte*) utoa::dst#12 -- pbuz1=_inc_pbuz2 
    lda.z dst
    clc
    adc #1
    sta.z dst_1
    lda.z dst+1
    adc #0
    sta.z dst_1+1
    // [175] *((byte*) utoa::dst#3) ← (byte) 0 -- _deref_pbuz1=vbuc1 
    lda #0
    ldy #0
    sta (dst_1),y
    jmp __breturn
    // utoa::@return
  __breturn:
    // [176] return 
    rts
    // utoa::@8
  __b8:
    // [177] (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
    // [178] (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
    // [179] call append 
    // [199] phi from utoa::@8 to append [phi:utoa::@8->append]
  append_from___b8:
    // [199] 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
    // [199] phi (word) append::value#8 = (word) append::value#4 [phi:utoa::@8->append#1] -- register_copy 
    // [199] phi (byte*) append::dst#4 = (byte*) append::dst#3 [phi:utoa::@8->append#2] -- register_copy 
    jsr append
    // [180] (word) append::return#10 ← (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 __b12
    // utoa::@12
  __b12:
    // [181] (word) utoa::value#3 ← (word) append::return#10 -- vwuz1=vwuz2 
    lda.z append.return_3
    sta.z value
    lda.z append.return_3+1
    sta.z value+1
    // [182] (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:
    // [183] (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
    // [184] (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
    // [185] call append 
    // [199] phi from utoa::@7 to append [phi:utoa::@7->append]
  append_from___b7:
    // [199] 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
    // [199] phi (word) append::value#8 = (word) append::value#3 [phi:utoa::@7->append#1] -- register_copy 
    // [199] phi (byte*) append::dst#4 = (byte*) append::dst#2 [phi:utoa::@7->append#2] -- register_copy 
    jsr append
    // [186] (word) append::return#4 ← (word) append::value#5 -- vwuz1=vwuz2 
    lda.z append.value
    sta.z append.return_2
    lda.z append.value+1
    sta.z append.return_2+1
    jmp __b11
    // utoa::@11
  __b11:
    // [187] (word) utoa::value#2 ← (word) append::return#4 -- vwuz1=vwuz2 
    lda.z append.return_2
    sta.z value
    lda.z append.return_2+1
    sta.z value+1
    // [188] (byte*) utoa::dst#2 ← ++ (byte*) utoa::dst#10 -- pbuz1=_inc_pbuz1 
    inc.z dst
    bne !+
    inc.z dst+1
  !:
    // [167] phi from utoa::@11 to utoa::@3 [phi:utoa::@11->utoa::@3]
  __b3_from___b11:
    // [167] phi (byte*) utoa::dst#13 = (byte*) utoa::dst#2 [phi:utoa::@11->utoa::@3#0] -- register_copy 
    // [167] phi (word) utoa::value#10 = (word) utoa::value#2 [phi:utoa::@11->utoa::@3#1] -- register_copy 
    // [167] 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:
    // [189] (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
    // [190] (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
    // [191] call append 
    // [199] phi from utoa::@6 to append [phi:utoa::@6->append]
  append_from___b6:
    // [199] 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
    // [199] phi (word) append::value#8 = (word) append::value#2 [phi:utoa::@6->append#1] -- register_copy 
    // [199] phi (byte*) append::dst#4 = (byte*) append::dst#1 [phi:utoa::@6->append#2] -- register_copy 
    jsr append
    // [192] (word) append::return#3 ← (word) append::value#5 -- vwuz1=vwuz2 
    lda.z append.value
    sta.z append.return_1
    lda.z append.value+1
    sta.z append.return_1+1
    jmp __b10
    // utoa::@10
  __b10:
    // [193] (word) utoa::value#1 ← (word) append::return#3 -- vwuz1=vwuz2 
    lda.z append.return_1
    sta.z value
    lda.z append.return_1+1
    sta.z value+1
    // [194] (byte*) utoa::dst#1 ← ++ (byte*) utoa::dst#16 -- pbuz1=_inc_pbuz1 
    inc.z dst
    bne !+
    inc.z dst+1
  !:
    // [164] phi from utoa::@10 to utoa::@2 [phi:utoa::@10->utoa::@2]
  __b2_from___b10:
    // [164] phi (byte*) utoa::dst#10 = (byte*) utoa::dst#1 [phi:utoa::@10->utoa::@2#0] -- register_copy 
    // [164] phi (word) utoa::value#11 = (word) utoa::value#1 [phi:utoa::@10->utoa::@2#1] -- register_copy 
    // [164] 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:
    // [195] (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
    // [196] call append 
    // [199] phi from utoa::@5 to append [phi:utoa::@5->append]
  append_from___b5:
    // [199] 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
    // [199] phi (word) append::value#8 = (word) append::value#1 [phi:utoa::@5->append#1] -- register_copy 
    // [199] phi (byte*) append::dst#4 = (const byte*) myprintf::buf6 [phi:utoa::@5->append#2] -- pbuz1=pbuc1 
    lda #<myprintf.buf6
    sta.z append.dst
    lda #>myprintf.buf6
    sta.z append.dst+1
    jsr append
    // [197] (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:
    // [198] (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
    // [161] phi from utoa::@9 to utoa::@1 [phi:utoa::@9->utoa::@1]
  __b1_from___b9:
    // [161] phi (byte*) utoa::dst#16 = ++(const byte*) myprintf::buf6 [phi:utoa::@9->utoa::@1#0] -- pbuz1=pbuc1 
    lda #<myprintf.buf6+1
    sta.z dst
    lda #>myprintf.buf6+1
    sta.z dst+1
    // [161] phi (word) utoa::value#6 = (word) utoa::value#0 [phi:utoa::@9->utoa::@1#1] -- register_copy 
    // [161] 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* zp($2a) dst, word zp($2e) value, word zp($2c) sub)
append: {
    .label value = $2e
    .label return = $5d
    .label dst = $2a
    .label return_1 = $5b
    .label return_2 = $59
    .label return_3 = $57
    .label sub = $2c
    // [200] *((byte*) append::dst#4) ← (byte) '0' -- _deref_pbuz1=vbuc1 
    lda #'0'
    ldy #0
    sta (dst),y
    // [201] phi from append append::@2 to append::@1 [phi:append/append::@2->append::@1]
  __b1_from_append:
  __b1_from___b2:
    // [201] phi (word) append::value#5 = (word) append::value#8 [phi:append/append::@2->append::@1#0] -- register_copy 
    jmp __b1
    // append::@1
  __b1:
    // [202] 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:
    // [203] return 
    rts
    // append::@2
  __b2:
    // [204] *((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
    // [205] (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 zp($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_1 = $38
    // [206] (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
    // [207] (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
    // [208] (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
    // [209] (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
    // [210] (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
    // [211] (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
    // [212] (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
    // [213] (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
    // [214] (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:
    // [215] 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) ← (byte) $17 [ ] ( main:2 [ ] ) always clobbers reg byte a 
Statement [5] *((const byte*) zp1) ← (byte) 0 [ ] ( main:2 [ ] ) always clobbers reg byte a 
Statement [7] if(*((const byte*) zp1)<(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) ← (byte) 0 [ main::v#12 ] ( main:2 [ main::v#12 ] ) always clobbers reg byte a 
Statement [10] if(*((const byte*) zp1)<(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) ← (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) ← (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) ← (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)<(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) [ 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) [ 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) ← (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) ← (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) ← (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)<(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) [ 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) [ 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[1]: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[1]:23 [ myprintf::bFormat#10 myprintf::bFormat#5 ]
Removing always clobbered register reg byte y as potential for zp[1]:23 [ myprintf::bFormat#10 myprintf::bFormat#5 ]
Removing always clobbered register reg byte a as potential for zp[1]:33 [ myprintf::bLen#32 myprintf::bLen#12 myprintf::bLen#10 myprintf::bLen#28 myprintf::bLen#36 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[1]:33 [ myprintf::bLen#32 myprintf::bLen#12 myprintf::bLen#10 myprintf::bLen#28 myprintf::bLen#36 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[1]:24 [ myprintf::bArg#10 myprintf::bArg#11 myprintf::bArg#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:24 [ myprintf::bArg#10 myprintf::bArg#11 myprintf::bArg#1 ]
Removing always clobbered register reg byte a as potential for zp[1]:27 [ myprintf::bTrailing#11 myprintf::bTrailing#24 ]
Removing always clobbered register reg byte y as potential for zp[1]:27 [ myprintf::bTrailing#11 myprintf::bTrailing#24 ]
Removing always clobbered register reg byte a as potential for zp[1]:32 [ myprintf::bDigits#12 myprintf::bDigits#16 myprintf::bDigits#28 myprintf::bDigits#29 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[1]:32 [ myprintf::bDigits#12 myprintf::bDigits#16 myprintf::bDigits#28 myprintf::bDigits#29 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[1]:28 [ myprintf::bLeadZero#11 myprintf::bLeadZero#20 ]
Removing always clobbered register reg byte y as potential for zp[1]:28 [ myprintf::bLeadZero#11 myprintf::bLeadZero#20 ]
Statement [81] *((const byte*) strTemp + (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 [96] (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 [97] (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 [102] (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 [105] (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[1]:78 [ myprintf::bLen#11 ]
Statement [110] (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 [113] (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 [116] if(*((const byte*) myprintf::buf6 + (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[1]:31 [ myprintf::b#17 myprintf::b#5 ]
Statement [128] *((const byte*) strTemp + (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 [131] *((const byte*) strTemp + (byte) myprintf::bLen#13) ← *((const byte*) myprintf::buf6 + (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[1]:34 [ myprintf::digit#3 myprintf::digit#2 ]
Statement [141] (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 [148] (word) myprintf::w#55 ← (word) myprintf::w3#8 [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#55 ] ( 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#55 ] 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#55 ] ) always clobbers reg byte a 
Statement [151] (word) myprintf::w#54 ← (word) myprintf::w2#8 [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#54 ] ( 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#54 ] 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#54 ] ) always clobbers reg byte a 
Statement [152] (word) myprintf::w#53 ← (word) myprintf::w1#7 [ 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 [155] (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 [160] if((word) utoa::value#4>=(word) $2710) goto utoa::@5 [ utoa::value#4 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [163] if((word) utoa::value#6>=(word) $3e8) goto utoa::@6 [ utoa::bStarted#5 utoa::value#6 utoa::dst#16 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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[1]:37 [ utoa::bStarted#7 utoa::bStarted#6 utoa::bStarted#5 ]
Statement [166] if((word) utoa::value#11>=(byte) $64) goto utoa::@7 [ utoa::bStarted#6 utoa::value#11 utoa::dst#10 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [169] if((word) utoa::value#10>=(byte) $a) goto utoa::@8 [ utoa::value#10 utoa::dst#13 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [171] (byte~) utoa::$16 ← (byte)(word) utoa::value#12 [ utoa::dst#12 utoa::$16 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [173] *((byte*) utoa::dst#12) ← (byte~) utoa::$17 [ utoa::dst#12 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [174] (byte*) utoa::dst#3 ← ++ (byte*) utoa::dst#12 [ utoa::dst#3 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [175] *((byte*) utoa::dst#3) ← (byte) 0 [ ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [177] (byte*) append::dst#3 ← (byte*) utoa::dst#13 [ utoa::value#10 utoa::dst#13 append::dst#3 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [178] (word) append::value#4 ← (word) utoa::value#10 [ utoa::dst#13 append::dst#3 append::value#4 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [180] (word) append::return#10 ← (word) append::value#5 [ utoa::dst#13 append::return#10 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [181] (word) utoa::value#3 ← (word) append::return#10 [ utoa::dst#13 utoa::value#3 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [183] (byte*) append::dst#2 ← (byte*) utoa::dst#10 [ utoa::value#11 utoa::dst#10 append::dst#2 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [184] (word) append::value#3 ← (word) utoa::value#11 [ utoa::dst#10 append::dst#2 append::value#3 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [186] (word) append::return#4 ← (word) append::value#5 [ utoa::dst#10 append::return#4 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [187] (word) utoa::value#2 ← (word) append::return#4 [ utoa::dst#10 utoa::value#2 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [189] (byte*) append::dst#1 ← (byte*) utoa::dst#16 [ utoa::value#6 utoa::dst#16 append::dst#1 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [190] (word) append::value#2 ← (word) utoa::value#6 [ utoa::dst#16 append::dst#1 append::value#2 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [192] (word) append::return#3 ← (word) append::value#5 [ utoa::dst#16 append::return#3 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [193] (word) utoa::value#1 ← (word) append::return#3 [ utoa::dst#16 utoa::value#1 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [195] (word) append::value#1 ← (word) utoa::value#4 [ append::value#1 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [197] (word) append::return#2 ← (word) append::value#5 [ append::return#2 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [198] (word) utoa::value#0 ← (word) append::return#2 [ utoa::value#0 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [200] *((byte*) append::dst#4) ← (byte) '0' [ append::dst#4 append::value#8 append::sub#6 ] ( main:2::myprintf:23::utoa:114::append:179 [ 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:114::append:179 [ 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:114::append:185 [ 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:114::append:185 [ 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:114::append:191 [ 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:114::append:191 [ 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:114::append:196 [ 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:114::append:196 [ 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 [202] 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:114::append:179 [ 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:114::append:179 [ 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:114::append:185 [ 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:114::append:185 [ 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:114::append:191 [ 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:114::append:191 [ 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:114::append:196 [ 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:114::append:196 [ 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 [204] *((byte*) append::dst#4) ← ++ *((byte*) append::dst#4) [ append::value#5 append::dst#4 append::sub#6 ] ( main:2::myprintf:23::utoa:114::append:179 [ 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:114::append:179 [ 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:114::append:185 [ 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:114::append:185 [ 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:114::append:191 [ 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:114::append:191 [ 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:114::append:196 [ 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:114::append:196 [ 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 [205] (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:114::append:179 [ 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:114::append:179 [ 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:114::append:185 [ 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:114::append:185 [ 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:114::append:191 [ 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:114::append:191 [ 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:114::append:196 [ 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:114::append:196 [ 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 [206] (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 [207] (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 [208] (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 [209] (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 [210] (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 [211] (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 [212] (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 [213] (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 [214] (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) ← (byte) $17 [ ] ( main:2 [ ] ) always clobbers reg byte a 
Statement [5] *((const byte*) zp1) ← (byte) 0 [ ] ( main:2 [ ] ) always clobbers reg byte a 
Statement [7] if(*((const byte*) zp1)<(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) ← (byte) 0 [ main::v#12 ] ( main:2 [ main::v#12 ] ) always clobbers reg byte a 
Statement [10] if(*((const byte*) zp1)<(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) ← (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) ← (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) ← (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)<(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) [ 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) [ 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) ← (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) ← (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) ← (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)<(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) [ 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) [ 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*) strTemp + (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 [96] (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 [97] (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 [102] (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 [105] (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 [110] (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 [113] (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 [116] if(*((const byte*) myprintf::buf6 + (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 [128] *((const byte*) strTemp + (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 [131] *((const byte*) strTemp + (byte) myprintf::bLen#13) ← *((const byte*) myprintf::buf6 + (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 [141] (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 [148] (word) myprintf::w#55 ← (word) myprintf::w3#8 [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#55 ] ( 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#55 ] 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#55 ] ) always clobbers reg byte a 
Statement [151] (word) myprintf::w#54 ← (word) myprintf::w2#8 [ myprintf::w1#7 myprintf::w2#8 myprintf::w3#8 myprintf::str#10 myprintf::bLen#10 myprintf::bArg#10 myprintf::w#54 ] ( 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#54 ] 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#54 ] ) always clobbers reg byte a 
Statement [152] (word) myprintf::w#53 ← (word) myprintf::w1#7 [ 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 [155] (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 [160] if((word) utoa::value#4>=(word) $2710) goto utoa::@5 [ utoa::value#4 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [163] if((word) utoa::value#6>=(word) $3e8) goto utoa::@6 [ utoa::bStarted#5 utoa::value#6 utoa::dst#16 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [166] if((word) utoa::value#11>=(byte) $64) goto utoa::@7 [ utoa::bStarted#6 utoa::value#11 utoa::dst#10 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [169] if((word) utoa::value#10>=(byte) $a) goto utoa::@8 [ utoa::value#10 utoa::dst#13 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [171] (byte~) utoa::$16 ← (byte)(word) utoa::value#12 [ utoa::dst#12 utoa::$16 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [173] *((byte*) utoa::dst#12) ← (byte~) utoa::$17 [ utoa::dst#12 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [174] (byte*) utoa::dst#3 ← ++ (byte*) utoa::dst#12 [ utoa::dst#3 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [175] *((byte*) utoa::dst#3) ← (byte) 0 [ ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [177] (byte*) append::dst#3 ← (byte*) utoa::dst#13 [ utoa::value#10 utoa::dst#13 append::dst#3 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [178] (word) append::value#4 ← (word) utoa::value#10 [ utoa::dst#13 append::dst#3 append::value#4 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [180] (word) append::return#10 ← (word) append::value#5 [ utoa::dst#13 append::return#10 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [181] (word) utoa::value#3 ← (word) append::return#10 [ utoa::dst#13 utoa::value#3 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [183] (byte*) append::dst#2 ← (byte*) utoa::dst#10 [ utoa::value#11 utoa::dst#10 append::dst#2 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [184] (word) append::value#3 ← (word) utoa::value#11 [ utoa::dst#10 append::dst#2 append::value#3 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [186] (word) append::return#4 ← (word) append::value#5 [ utoa::dst#10 append::return#4 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [187] (word) utoa::value#2 ← (word) append::return#4 [ utoa::dst#10 utoa::value#2 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [189] (byte*) append::dst#1 ← (byte*) utoa::dst#16 [ utoa::value#6 utoa::dst#16 append::dst#1 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [190] (word) append::value#2 ← (word) utoa::value#6 [ utoa::dst#16 append::dst#1 append::value#2 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [192] (word) append::return#3 ← (word) append::value#5 [ utoa::dst#16 append::return#3 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [193] (word) utoa::value#1 ← (word) append::return#3 [ utoa::dst#16 utoa::value#1 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [195] (word) append::value#1 ← (word) utoa::value#4 [ append::value#1 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [197] (word) append::return#2 ← (word) append::value#5 [ append::return#2 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [198] (word) utoa::value#0 ← (word) append::return#2 [ utoa::value#0 ] ( main:2::myprintf:23::utoa:114 [ 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:114 [ 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 [200] *((byte*) append::dst#4) ← (byte) '0' [ append::dst#4 append::value#8 append::sub#6 ] ( main:2::myprintf:23::utoa:114::append:179 [ 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:114::append:179 [ 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:114::append:185 [ 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:114::append:185 [ 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:114::append:191 [ 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:114::append:191 [ 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:114::append:196 [ 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:114::append:196 [ 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 [202] 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:114::append:179 [ 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:114::append:179 [ 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:114::append:185 [ 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:114::append:185 [ 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:114::append:191 [ 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:114::append:191 [ 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:114::append:196 [ 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:114::append:196 [ 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 [204] *((byte*) append::dst#4) ← ++ *((byte*) append::dst#4) [ append::value#5 append::dst#4 append::sub#6 ] ( main:2::myprintf:23::utoa:114::append:179 [ 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:114::append:179 [ 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:114::append:185 [ 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:114::append:185 [ 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:114::append:191 [ 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:114::append:191 [ 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:114::append:196 [ 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:114::append:196 [ 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 [205] (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:114::append:179 [ 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:114::append:179 [ 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:114::append:185 [ 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:114::append:185 [ 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:114::append:191 [ 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:114::append:191 [ 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:114::append:196 [ 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:114::append:196 [ 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 [206] (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 [207] (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 [208] (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 [209] (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 [210] (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 [211] (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 [212] (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 [213] (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 [214] (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[2]:2 [ main::u#15 main::u#3 ] : zp[2]:2 , 
Potential registers zp[2]:4 [ main::u#17 main::u#4 ] : zp[2]:4 , 
Potential registers zp[2]:6 [ main::v#10 main::v#12 main::v#11 main::v#13 main::v#2 main::v#1 ] : zp[2]:6 , 
Potential registers zp[2]:8 [ divr16u::rem#4 divr16u::rem#9 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] : zp[2]:8 , 
Potential registers zp[2]:10 [ divr16u::dividend#2 divr16u::dividend#1 divr16u::dividend#0 ] : zp[2]:10 , 
Potential registers zp[2]:12 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] : zp[2]:12 , 
Potential registers zp[1]:14 [ divr16u::i#2 divr16u::i#1 ] : zp[1]:14 , reg byte x , reg byte y , 
Potential registers zp[2]:15 [ myprintf::w1#7 myprintf::w1#1 myprintf::w1#0 ] : zp[2]:15 , 
Potential registers zp[2]:17 [ myprintf::w2#8 myprintf::w2#1 myprintf::w2#0 ] : zp[2]:17 , 
Potential registers zp[2]:19 [ myprintf::w3#8 myprintf::w3#1 myprintf::w3#0 ] : zp[2]:19 , 
Potential registers zp[2]:21 [ myprintf::str#10 myprintf::str#6 myprintf::str#0 ] : zp[2]:21 , 
Potential registers zp[1]:23 [ myprintf::bFormat#10 myprintf::bFormat#5 ] : zp[1]:23 , reg byte x , 
Potential registers zp[1]:24 [ myprintf::bArg#10 myprintf::bArg#11 myprintf::bArg#1 ] : zp[1]:24 , reg byte x , 
Potential registers zp[2]:25 [ myprintf::w#10 myprintf::w#18 myprintf::w#22 myprintf::w#53 myprintf::w#54 myprintf::w#55 ] : zp[2]:25 , 
Potential registers zp[1]:27 [ myprintf::bTrailing#11 myprintf::bTrailing#24 ] : zp[1]:27 , reg byte x , 
Potential registers zp[1]:28 [ myprintf::bLeadZero#11 myprintf::bLeadZero#20 ] : zp[1]:28 , reg byte x , 
Potential registers zp[1]:29 [ myprintf::$24 ] : zp[1]:29 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:30 [ myprintf::$31 ] : zp[1]:30 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:31 [ myprintf::b#17 myprintf::b#5 ] : zp[1]:31 , reg byte x , reg byte y , 
Potential registers zp[1]:32 [ myprintf::bDigits#12 myprintf::bDigits#16 myprintf::bDigits#28 myprintf::bDigits#29 myprintf::bDigits#1 myprintf::bDigits#18 myprintf::bDigits#10 myprintf::bDigits#2 myprintf::bDigits#3 ] : zp[1]:32 , reg byte x , 
Potential registers zp[1]:33 [ myprintf::bLen#32 myprintf::bLen#12 myprintf::bLen#10 myprintf::bLen#28 myprintf::bLen#36 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[1]:33 , reg byte x , 
Potential registers zp[1]:34 [ myprintf::digit#3 myprintf::digit#2 ] : zp[1]:34 , reg byte x , reg byte y , 
Potential registers zp[1]:35 [ myprintf::$43 ] : zp[1]:35 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:36 [ myprintf::b#25 myprintf::b#1 myprintf::b#6 ] : zp[1]:36 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:37 [ utoa::bStarted#7 utoa::bStarted#6 utoa::bStarted#5 ] : zp[1]:37 , reg byte x , reg byte y , 
Potential registers zp[2]: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[2]:38 , 
Potential registers zp[2]:40 [ utoa::dst#12 utoa::dst#4 utoa::dst#13 utoa::dst#2 utoa::dst#10 utoa::dst#16 utoa::dst#1 ] : zp[2]:40 , 
Potential registers zp[2]:42 [ append::dst#4 append::dst#1 append::dst#2 append::dst#3 ] : zp[2]:42 , 
Potential registers zp[2]:44 [ append::sub#6 ] : zp[2]:44 , 
Potential registers zp[2]:46 [ append::value#5 append::value#8 append::value#1 append::value#2 append::value#3 append::value#4 append::value#0 ] : zp[2]:46 , 
Potential registers zp[2]:48 [ main::$12 ] : zp[2]:48 , 
Potential registers zp[2]:50 [ main::$13 ] : zp[2]:50 , 
Potential registers zp[2]:52 [ main::$14 ] : zp[2]:52 , 
Potential registers zp[2]:54 [ div10::val#4 ] : zp[2]:54 , 
Potential registers zp[2]:56 [ div10::return#2 ] : zp[2]:56 , 
Potential registers zp[2]:58 [ main::$3 ] : zp[2]:58 , 
Potential registers zp[2]:60 [ main::$4 ] : zp[2]:60 , 
Potential registers zp[2]:62 [ main::$5 ] : zp[2]:62 , 
Potential registers zp[2]:64 [ div16u::dividend#0 ] : zp[2]:64 , 
Potential registers zp[2]:66 [ div16u::return#2 ] : zp[2]:66 , 
Potential registers zp[2]:68 [ divr16u::return#2 ] : zp[2]:68 , 
Potential registers zp[2]:70 [ div16u::return#0 ] : zp[2]:70 , 
Potential registers zp[1]:72 [ divr16u::$1 ] : zp[1]:72 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:73 [ divr16u::$2 ] : zp[1]:73 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:74 [ myprintf::$18 ] : zp[1]:74 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:75 [ myprintf::$19 ] : zp[1]:75 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:76 [ myprintf::b#15 ] : zp[1]:76 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:77 [ myprintf::$25 ] : zp[1]:77 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:78 [ myprintf::bLen#11 ] : zp[1]:78 , reg byte x , reg byte y , 
Potential registers zp[1]:79 [ myprintf::$26 ] : zp[1]:79 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:80 [ myprintf::b#16 ] : zp[1]:80 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:81 [ myprintf::$32 ] : zp[1]:81 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:82 [ myprintf::$50 ] : zp[1]:82 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:83 [ utoa::$16 ] : zp[1]:83 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:84 [ utoa::$17 ] : zp[1]:84 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[2]:85 [ utoa::dst#3 ] : zp[2]:85 , 
Potential registers zp[2]:87 [ append::return#10 ] : zp[2]:87 , 
Potential registers zp[2]:89 [ append::return#4 ] : zp[2]:89 , 
Potential registers zp[2]:91 [ append::return#3 ] : zp[2]:91 , 
Potential registers zp[2]:93 [ append::return#2 ] : zp[2]:93 , 
Potential registers zp[2]:95 [ div10::$0 ] : zp[2]:95 , 
Potential registers zp[2]:97 [ div10::val#0 ] : zp[2]:97 , 
Potential registers zp[2]:99 [ div10::$2 ] : zp[2]:99 , 
Potential registers zp[2]:101 [ div10::val#1 ] : zp[2]:101 , 
Potential registers zp[2]:103 [ div10::$3 ] : zp[2]:103 , 
Potential registers zp[2]:105 [ div10::val#2 ] : zp[2]:105 , 
Potential registers zp[2]:107 [ div10::$4 ] : zp[2]:107 , 
Potential registers zp[2]:109 [ div10::val#3 ] : zp[2]:109 , 
Potential registers zp[2]:111 [ div10::return#0 ] : zp[2]:111 , 

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

Uplifting [divr16u] best 470278 combination zp[2]:8 [ divr16u::rem#4 divr16u::rem#9 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp[2]: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[2]:10 [ divr16u::dividend#2 divr16u::dividend#1 divr16u::dividend#0 ] zp[2]:68 [ divr16u::return#2 ] 
Uplifting [append] best 470278 combination zp[2]:46 [ append::value#5 append::value#8 append::value#1 append::value#2 append::value#3 append::value#4 append::value#0 ] zp[2]:42 [ append::dst#4 append::dst#1 append::dst#2 append::dst#3 ] zp[2]:44 [ append::sub#6 ] zp[2]:87 [ append::return#10 ] zp[2]:89 [ append::return#4 ] zp[2]:91 [ append::return#3 ] zp[2]:93 [ append::return#2 ] 
Uplifting [main] best 470278 combination zp[2]:6 [ main::v#10 main::v#12 main::v#11 main::v#13 main::v#2 main::v#1 ] zp[2]:48 [ main::$12 ] zp[2]:52 [ main::$14 ] zp[2]:58 [ main::$3 ] zp[2]:62 [ main::$5 ] zp[2]:2 [ main::u#15 main::u#3 ] zp[2]:4 [ main::u#17 main::u#4 ] zp[2]:50 [ main::$13 ] zp[2]:60 [ main::$4 ] 
Uplifting [div10] best 470278 combination zp[2]:56 [ div10::return#2 ] zp[2]:54 [ div10::val#4 ] zp[2]:111 [ div10::return#0 ] zp[2]:95 [ div10::$0 ] zp[2]:99 [ div10::$2 ] zp[2]:103 [ div10::$3 ] zp[2]:107 [ div10::$4 ] zp[2]:109 [ div10::val#3 ] zp[2]:97 [ div10::val#0 ] zp[2]:101 [ div10::val#1 ] zp[2]:105 [ div10::val#2 ] 
Uplifting [div16u] best 470278 combination zp[2]:66 [ div16u::return#2 ] zp[2]:64 [ div16u::dividend#0 ] zp[2]:70 [ div16u::return#0 ] 
Uplifting [utoa] best 470247 combination zp[2]: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[2]: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[2]:85 [ utoa::dst#3 ] 
Uplifting [Print] best 470247 combination 
Uplifting [] best 470247 combination 
Attempting to uplift remaining variables inzp[1]:33 [ myprintf::bLen#32 myprintf::bLen#12 myprintf::bLen#10 myprintf::bLen#28 myprintf::bLen#36 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 470247 combination zp[1]:33 [ myprintf::bLen#32 myprintf::bLen#12 myprintf::bLen#10 myprintf::bLen#28 myprintf::bLen#36 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[1]:32 [ myprintf::bDigits#12 myprintf::bDigits#16 myprintf::bDigits#28 myprintf::bDigits#29 myprintf::bDigits#1 myprintf::bDigits#18 myprintf::bDigits#10 myprintf::bDigits#2 myprintf::bDigits#3 ]
Uplifting [myprintf] best 470247 combination zp[1]:32 [ myprintf::bDigits#12 myprintf::bDigits#16 myprintf::bDigits#28 myprintf::bDigits#29 myprintf::bDigits#1 myprintf::bDigits#18 myprintf::bDigits#10 myprintf::bDigits#2 myprintf::bDigits#3 ] 
Attempting to uplift remaining variables inzp[1]:34 [ myprintf::digit#3 myprintf::digit#2 ]
Uplifting [myprintf] best 458247 combination reg byte x [ myprintf::digit#3 myprintf::digit#2 ] 
Attempting to uplift remaining variables inzp[1]:31 [ myprintf::b#17 myprintf::b#5 ]
Uplifting [myprintf] best 458247 combination zp[1]:31 [ myprintf::b#17 myprintf::b#5 ] 
Attempting to uplift remaining variables inzp[1]:35 [ myprintf::$43 ]
Uplifting [myprintf] best 449247 combination reg byte a [ myprintf::$43 ] 
Attempting to uplift remaining variables inzp[1]:36 [ myprintf::b#25 myprintf::b#1 myprintf::b#6 ]
Uplifting [myprintf] best 445497 combination reg byte x [ myprintf::b#25 myprintf::b#1 myprintf::b#6 ] 
Attempting to uplift remaining variables inzp[1]:24 [ myprintf::bArg#10 myprintf::bArg#11 myprintf::bArg#1 ]
Uplifting [myprintf] best 445497 combination zp[1]:24 [ myprintf::bArg#10 myprintf::bArg#11 myprintf::bArg#1 ] 
Attempting to uplift remaining variables inzp[1]:23 [ myprintf::bFormat#10 myprintf::bFormat#5 ]
Uplifting [myprintf] best 445497 combination zp[1]:23 [ myprintf::bFormat#10 myprintf::bFormat#5 ] 
Attempting to uplift remaining variables inzp[1]:28 [ myprintf::bLeadZero#11 myprintf::bLeadZero#20 ]
Uplifting [myprintf] best 445497 combination zp[1]:28 [ myprintf::bLeadZero#11 myprintf::bLeadZero#20 ] 
Attempting to uplift remaining variables inzp[1]:27 [ myprintf::bTrailing#11 myprintf::bTrailing#24 ]
Uplifting [myprintf] best 445497 combination zp[1]:27 [ myprintf::bTrailing#11 myprintf::bTrailing#24 ] 
Attempting to uplift remaining variables inzp[1]:74 [ myprintf::$18 ]
Uplifting [myprintf] best 444897 combination reg byte a [ myprintf::$18 ] 
Attempting to uplift remaining variables inzp[1]:75 [ myprintf::$19 ]
Uplifting [myprintf] best 444297 combination reg byte a [ myprintf::$19 ] 
Attempting to uplift remaining variables inzp[1]:77 [ myprintf::$25 ]
Uplifting [myprintf] best 443697 combination reg byte a [ myprintf::$25 ] 
Attempting to uplift remaining variables inzp[1]:79 [ myprintf::$26 ]
Uplifting [myprintf] best 443097 combination reg byte a [ myprintf::$26 ] 
Attempting to uplift remaining variables inzp[1]:81 [ myprintf::$32 ]
Uplifting [myprintf] best 442497 combination reg byte a [ myprintf::$32 ] 
Attempting to uplift remaining variables inzp[1]:82 [ myprintf::$50 ]
Uplifting [myprintf] best 441897 combination reg byte a [ myprintf::$50 ] 
Attempting to uplift remaining variables inzp[1]:29 [ myprintf::$24 ]
Uplifting [myprintf] best 440997 combination reg byte a [ myprintf::$24 ] 
Attempting to uplift remaining variables inzp[1]:30 [ myprintf::$31 ]
Uplifting [myprintf] best 440097 combination reg byte a [ myprintf::$31 ] 
Attempting to uplift remaining variables inzp[1]:76 [ myprintf::b#15 ]
Uplifting [myprintf] best 439997 combination reg byte x [ myprintf::b#15 ] 
Attempting to uplift remaining variables inzp[1]:80 [ myprintf::b#16 ]
Uplifting [myprintf] best 439897 combination reg byte x [ myprintf::b#16 ] 
Attempting to uplift remaining variables inzp[1]:78 [ myprintf::bLen#11 ]
Uplifting [myprintf] best 438997 combination reg byte y [ myprintf::bLen#11 ] 
Coalescing zero page register [ zp[2]: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[2]: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[2]:40 [ utoa::dst#12 utoa::dst#4 utoa::dst#13 utoa::dst#2 utoa::dst#10 utoa::dst#16 utoa::dst#1 ] ] with [ zp[2]:42 [ append::dst#4 append::dst#1 append::dst#2 append::dst#3 ] ] - score: 3
Coalescing zero page register [ zp[2]:6 [ main::v#10 main::v#12 main::v#11 main::v#13 main::v#2 main::v#1 ] ] with [ zp[2]:17 [ myprintf::w2#8 myprintf::w2#1 myprintf::w2#0 ] ] - score: 2
Coalescing zero page register [ zp[2]:2 [ main::u#15 main::u#3 ] ] with [ zp[2]:15 [ myprintf::w1#7 myprintf::w1#1 myprintf::w1#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:2 [ main::u#15 main::u#3 myprintf::w1#7 myprintf::w1#1 myprintf::w1#0 ] ] with [ zp[2]:64 [ div16u::dividend#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:4 [ main::u#17 main::u#4 ] ] with [ zp[2]:54 [ div10::val#4 ] ] - score: 1
Coalescing zero page register [ zp[2]: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[2]:56 [ div10::return#2 ] ] - score: 1
Coalescing zero page register [ zp[2]: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[2]:66 [ div16u::return#2 ] ] - score: 1
Coalescing zero page register [ zp[2]:12 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] ] with [ zp[2]:68 [ divr16u::return#2 ] ] - score: 1
Coalescing zero page register [ zp[2]:19 [ myprintf::w3#8 myprintf::w3#1 myprintf::w3#0 ] ] with [ zp[2]:50 [ main::$13 ] ] - score: 1
Coalescing zero page register [ zp[2]:19 [ myprintf::w3#8 myprintf::w3#1 myprintf::w3#0 main::$13 ] ] with [ zp[2]:60 [ main::$4 ] ] - score: 1
Coalescing zero page register [ zp[2]: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[2]:87 [ append::return#10 ] ] - score: 1
Coalescing zero page register [ zp[2]: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[2]:89 [ append::return#4 ] ] - score: 1
Coalescing zero page register [ zp[2]: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[2]:91 [ append::return#3 ] ] - score: 1
Coalescing zero page register [ zp[2]: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[2]:93 [ append::return#2 ] ] - score: 1
Coalescing zero page register [ zp[2]: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[2]:85 [ utoa::dst#3 ] ] - score: 1
Coalescing zero page register [ zp[2]:95 [ div10::$0 ] ] with [ zp[2]:97 [ div10::val#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:99 [ div10::$2 ] ] with [ zp[2]:101 [ div10::val#1 ] ] - score: 1
Coalescing zero page register [ zp[2]:103 [ div10::$3 ] ] with [ zp[2]:105 [ div10::val#2 ] ] - score: 1
Coalescing zero page register [ zp[2]:107 [ div10::$4 ] ] with [ zp[2]:109 [ div10::val#3 ] ] - score: 1
Coalescing zero page register [ zp[2]:2 [ main::u#15 main::u#3 myprintf::w1#7 myprintf::w1#1 myprintf::w1#0 div16u::dividend#0 ] ] with [ zp[2]:4 [ main::u#17 main::u#4 div10::val#4 ] ] - score: 1
Coalescing zero page register [ zp[2]: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[2]:70 [ div16u::return#0 ] ] - score: 1
Coalescing zero page register [ zp[2]: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[2]:111 [ div10::return#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:19 [ myprintf::w3#8 myprintf::w3#1 myprintf::w3#0 main::$13 main::$4 ] ] with [ zp[2]:48 [ main::$12 ] ] - score: 1
Coalescing zero page register [ zp[2]:19 [ myprintf::w3#8 myprintf::w3#1 myprintf::w3#0 main::$13 main::$4 main::$12 ] ] with [ zp[2]:58 [ main::$3 ] ] - score: 1
Coalescing zero page register [ zp[2]: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[2]:12 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 ] ] - score: 1
Coalescing zero page register [ zp[2]: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[2]:107 [ div10::$4 div10::val#3 ] ] - score: 1
Coalescing zero page register [ zp[2]:19 [ myprintf::w3#8 myprintf::w3#1 myprintf::w3#0 main::$13 main::$4 main::$12 main::$3 ] ] with [ zp[2]:8 [ divr16u::rem#4 divr16u::rem#9 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] ]
Coalescing zero page register [ zp[2]:21 [ myprintf::str#10 myprintf::str#6 myprintf::str#0 ] ] with [ zp[2]:10 [ divr16u::dividend#2 divr16u::dividend#1 divr16u::dividend#0 ] ]
Coalescing zero page register [ zp[2]:52 [ main::$14 ] ] with [ zp[2]:25 [ myprintf::w#10 myprintf::w#18 myprintf::w#22 myprintf::w#53 myprintf::w#54 myprintf::w#55 ] ]
Coalescing zero page register [ zp[2]:62 [ main::$5 ] ] with [ zp[2]: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[2]:95 [ div10::$0 div10::val#0 ] ] with [ zp[2]: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[2]:99 [ div10::$2 div10::val#1 ] ] with [ zp[2]:44 [ append::sub#6 ] ]
Coalescing zero page register [ zp[2]:103 [ div10::$3 div10::val#2 ] ] with [ zp[2]: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[2]:6) zp[2]: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[2]:21) zp[2]:6 [ myprintf::str#10 myprintf::str#6 myprintf::str#0 divr16u::dividend#2 divr16u::dividend#1 divr16u::dividend#0 ]
Allocated (was zp[1]:23) zp[1]:8 [ myprintf::bFormat#10 myprintf::bFormat#5 ]
Allocated (was zp[1]:24) zp[1]:9 [ myprintf::bArg#10 myprintf::bArg#11 myprintf::bArg#1 ]
Allocated (was zp[1]:27) zp[1]:10 [ myprintf::bTrailing#11 myprintf::bTrailing#24 ]
Allocated (was zp[1]:28) zp[1]:11 [ myprintf::bLeadZero#11 myprintf::bLeadZero#20 ]
Allocated (was zp[1]:31) zp[1]:12 [ myprintf::b#17 myprintf::b#5 ]
Allocated (was zp[1]:32) zp[1]:13 [ myprintf::bDigits#12 myprintf::bDigits#16 myprintf::bDigits#28 myprintf::bDigits#29 myprintf::bDigits#1 myprintf::bDigits#18 myprintf::bDigits#10 myprintf::bDigits#2 myprintf::bDigits#3 ]
Allocated (was zp[1]:33) zp[1]:14 [ myprintf::bLen#32 myprintf::bLen#12 myprintf::bLen#10 myprintf::bLen#28 myprintf::bLen#36 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[2]:52) zp[2]:15 [ main::$14 myprintf::w#10 myprintf::w#18 myprintf::w#22 myprintf::w#53 myprintf::w#54 myprintf::w#55 ]
Allocated (was zp[2]:62) zp[2]: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[2]:95) zp[2]: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[2]:99) zp[2]:21 [ div10::$2 div10::val#1 append::sub#6 ]
Allocated (was zp[2]:103) zp[2]: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
    // test performance of 'div16u(10)'
    // test performance of 'div10'
    .label u = 2
    // [4] *((const byte*) VICBANK) ← (byte) $17 -- _deref_pbuc1=vbuc2 
    lda #$17
    sta VICBANK
    // [5] *((const byte*) zp1) ← (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)<(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) ← (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)<(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) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta TIMEHI
    // [13] *((const byte*) TIMELO) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta TIMELO
    // [14] *((const byte*) zp2) ← (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)<(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) -- 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) -- 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 byte*) 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) ← ++ *((const byte*) zp1) -- _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) ← ++ *((const byte*) zp2) -- _deref_pbuc1=_inc__deref_pbuc1 
    inc zp2
    jmp __b9_from___b15
    // main::@2
  __b2:
    // [33] *((const byte*) TIMEHI) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta TIMEHI
    // [34] *((const byte*) TIMELO) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta TIMELO
    // [35] *((const byte*) zp2) ← (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)<(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) -- 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) -- 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 byte*) 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) ← ++ *((const byte*) zp1) -- _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) ← ++ *((const byte*) zp2) -- _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 zp(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 zp(6) dividend, word zp($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 = (word) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vwuc1 
    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* zp(6) str, word zp(2) w1, word zp(4) w2, word zp($17) w3)
myprintf: {
    .label str = 6
    .label bDigits = $d
    .label bLen = $e
    // formats
    .label b = $c
    .label bArg = 9
    .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*) strTemp + (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 __b38
    // myprintf::@38
  __b38:
    // [85] if((byte) myprintf::b#1!=(byte) '0') goto myprintf::@5 -- vbuxx_neq_vbuc1_then_la1 
    cpx #'0'
    bne __b5
    // [86] phi from myprintf::@38 to myprintf::@32 [phi:myprintf::@38->myprintf::@32]
  __b32_from___b38:
    // [86] phi (byte) myprintf::bLeadZero#20 = (byte) 1 [phi:myprintf::@38->myprintf::@32#0] -- vbuz1=vbuc1 
    lda #1
    sta.z bLeadZero
    // [86] phi (byte) myprintf::bDigits#28 = (byte) myprintf::bDigits#16 [phi:myprintf::@38->myprintf::@32#1] -- register_copy 
    // [86] phi (byte) myprintf::bTrailing#24 = (byte) myprintf::bTrailing#11 [phi:myprintf::@38->myprintf::@32#2] -- register_copy 
    // [86] phi (word) myprintf::w#18 = (word) myprintf::w#10 [phi:myprintf::@38->myprintf::@32#3] -- register_copy 
    // [86] phi (byte) myprintf::bArg#11 = (byte) myprintf::bArg#10 [phi:myprintf::@38->myprintf::@32#4] -- register_copy 
    // [86] phi (byte) myprintf::bLen#28 = (byte) myprintf::bLen#10 [phi:myprintf::@38->myprintf::@32#5] -- register_copy 
    // [86] phi (byte) myprintf::bFormat#5 = (byte) myprintf::bFormat#10 [phi:myprintf::@38->myprintf::@32#6] -- register_copy 
    jmp __b32
    // myprintf::@32
  __b32:
    // [87] (byte*) myprintf::str#0 ← ++ (byte*) myprintf::str#10 -- pbuz1=_inc_pbuz1 
    inc.z str
    bne !+
    inc.z str+1
  !:
    // [79] phi from myprintf::@32 to myprintf::@1 [phi:myprintf::@32->myprintf::@1]
  __b1_from___b32:
    // [79] phi (byte) myprintf::bLeadZero#11 = (byte) myprintf::bLeadZero#20 [phi:myprintf::@32->myprintf::@1#0] -- register_copy 
    // [79] phi (byte) myprintf::bDigits#16 = (byte) myprintf::bDigits#28 [phi:myprintf::@32->myprintf::@1#1] -- register_copy 
    // [79] phi (byte) myprintf::bTrailing#11 = (byte) myprintf::bTrailing#24 [phi:myprintf::@32->myprintf::@1#2] -- register_copy 
    // [79] phi (word) myprintf::w#10 = (word) myprintf::w#18 [phi:myprintf::@32->myprintf::@1#3] -- register_copy 
    // [79] phi (byte) myprintf::bArg#10 = (byte) myprintf::bArg#11 [phi:myprintf::@32->myprintf::@1#4] -- register_copy 
    // [79] phi (byte) myprintf::bLen#10 = (byte) myprintf::bLen#28 [phi:myprintf::@32->myprintf::@1#5] -- register_copy 
    // [79] phi (byte) myprintf::bFormat#10 = (byte) myprintf::bFormat#5 [phi:myprintf::@32->myprintf::@1#6] -- register_copy 
    // [79] phi (byte*) myprintf::str#10 = (byte*) myprintf::str#0 [phi:myprintf::@32->myprintf::@1#7] -- register_copy 
    jmp __b1
    // myprintf::@5
  __b5:
    // [88] if((byte) myprintf::b#1<(byte) '1') goto myprintf::@6 -- vbuxx_lt_vbuc1_then_la1 
    cpx #'1'
    bcc __b6
    jmp __b43
    // myprintf::@43
  __b43:
    // [89] 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:
    // [90] if((byte) myprintf::b#1!=(byte) '-') goto myprintf::@7 -- vbuxx_neq_vbuc1_then_la1 
    cpx #'-'
    bne __b7
    // [86] phi from myprintf::@6 to myprintf::@32 [phi:myprintf::@6->myprintf::@32]
  __b32_from___b6:
    // [86] phi (byte) myprintf::bLeadZero#20 = (byte) myprintf::bLeadZero#11 [phi:myprintf::@6->myprintf::@32#0] -- register_copy 
    // [86] phi (byte) myprintf::bDigits#28 = (byte) myprintf::bDigits#16 [phi:myprintf::@6->myprintf::@32#1] -- register_copy 
    // [86] phi (byte) myprintf::bTrailing#24 = (byte) 1 [phi:myprintf::@6->myprintf::@32#2] -- vbuz1=vbuc1 
    lda #1
    sta.z bTrailing
    // [86] phi (word) myprintf::w#18 = (word) myprintf::w#10 [phi:myprintf::@6->myprintf::@32#3] -- register_copy 
    // [86] phi (byte) myprintf::bArg#11 = (byte) myprintf::bArg#10 [phi:myprintf::@6->myprintf::@32#4] -- register_copy 
    // [86] phi (byte) myprintf::bLen#28 = (byte) myprintf::bLen#10 [phi:myprintf::@6->myprintf::@32#5] -- register_copy 
    // [86] phi (byte) myprintf::bFormat#5 = (byte) myprintf::bFormat#10 [phi:myprintf::@6->myprintf::@32#6] -- register_copy 
    jmp __b32
    // myprintf::@7
  __b7:
    // [91] if((byte) myprintf::b#1==(byte) 'c') goto myprintf::@8 -- vbuxx_eq_vbuc1_then_la1 
    cpx #'c'
    beq __b8
    jmp __b29
    // myprintf::@29
  __b29:
    // [92] if((byte) myprintf::b#1==(byte) 'd') goto myprintf::@9 -- vbuxx_eq_vbuc1_then_la1 
    cpx #'d'
    beq __b9
    jmp __b30
    // myprintf::@30
  __b30:
    // [93] if((byte) myprintf::b#1==(byte) 'x') goto myprintf::@31 -- vbuxx_eq_vbuc1_then_la1 
    cpx #'x'
    beq __b31
    jmp __b44
    // myprintf::@44
  __b44:
    // [94] if((byte) myprintf::b#1==(byte) 'X') goto myprintf::@31 -- vbuxx_eq_vbuc1_then_la1 
    cpx #'X'
    beq __b31
    // [95] phi from myprintf::@13 myprintf::@24 myprintf::@25 myprintf::@44 myprintf::@8 to myprintf::@27 [phi:myprintf::@13/myprintf::@24/myprintf::@25/myprintf::@44/myprintf::@8->myprintf::@27]
  __b27_from___b13:
  __b27_from___b24:
  __b27_from___b25:
  __b27_from___b44:
  __b27_from___b8:
    // [95] phi (byte) myprintf::bDigits#29 = (byte) myprintf::bDigits#16 [phi:myprintf::@13/myprintf::@24/myprintf::@25/myprintf::@44/myprintf::@8->myprintf::@27#0] -- register_copy 
    // [95] phi (byte) myprintf::bLen#36 = (byte) myprintf::bLen#3 [phi:myprintf::@13/myprintf::@24/myprintf::@25/myprintf::@44/myprintf::@8->myprintf::@27#1] -- register_copy 
    jmp __b27
    // [95] phi from myprintf::@46 to myprintf::@27 [phi:myprintf::@46->myprintf::@27]
  __b27_from___b46:
    jmp __b27
    // myprintf::@27
  __b27:
    // [86] phi from myprintf::@27 to myprintf::@32 [phi:myprintf::@27->myprintf::@32]
  __b32_from___b27:
    // [86] phi (byte) myprintf::bLeadZero#20 = (byte) myprintf::bLeadZero#11 [phi:myprintf::@27->myprintf::@32#0] -- register_copy 
    // [86] phi (byte) myprintf::bDigits#28 = (byte) myprintf::bDigits#29 [phi:myprintf::@27->myprintf::@32#1] -- register_copy 
    // [86] phi (byte) myprintf::bTrailing#24 = (byte) myprintf::bTrailing#11 [phi:myprintf::@27->myprintf::@32#2] -- register_copy 
    // [86] phi (word) myprintf::w#18 = (word) myprintf::w#10 [phi:myprintf::@27->myprintf::@32#3] -- register_copy 
    // [86] phi (byte) myprintf::bArg#11 = (byte) myprintf::bArg#10 [phi:myprintf::@27->myprintf::@32#4] -- register_copy 
    // [86] phi (byte) myprintf::bLen#28 = (byte) myprintf::bLen#36 [phi:myprintf::@27->myprintf::@32#5] -- register_copy 
    // [86] phi (byte) myprintf::bFormat#5 = (byte) 0 [phi:myprintf::@27->myprintf::@32#6] -- vbuz1=vbuc1 
    lda #0
    sta.z bFormat
    jmp __b32
    // myprintf::@31
  __b31:
    // [96] (byte~) myprintf::$18 ← (byte)(word) myprintf::w#10 -- vbuaa=_byte_vwuz1 
    lda.z w
    // [97] (byte~) myprintf::$19 ← (byte~) myprintf::$18 >> (byte) 4 -- vbuaa=vbuaa_ror_4 
    lsr
    lsr
    lsr
    lsr
    // [98] (byte) myprintf::b#15 ← (byte~) myprintf::$19 & (byte) $f -- vbuxx=vbuaa_band_vbuc1 
    ldx #$f
    axs #0
    // [99] if((byte) myprintf::b#15<(byte) $a) goto myprintf::@10 -- vbuxx_lt_vbuc1_then_la1 
    cpx #$a
    bcc __b10_from___b31
    // [101] phi from myprintf::@31 to myprintf::@11 [phi:myprintf::@31->myprintf::@11]
  __b11_from___b31:
    // [101] phi (byte~) myprintf::$24 = (byte) $57 [phi:myprintf::@31->myprintf::@11#0] -- vbuaa=vbuc1 
    lda #$57
    jmp __b11
    // [100] phi from myprintf::@31 to myprintf::@10 [phi:myprintf::@31->myprintf::@10]
  __b10_from___b31:
    jmp __b10
    // myprintf::@10
  __b10:
    // [101] phi from myprintf::@10 to myprintf::@11 [phi:myprintf::@10->myprintf::@11]
  __b11_from___b10:
    // [101] phi (byte~) myprintf::$24 = (byte) '0' [phi:myprintf::@10->myprintf::@11#0] -- vbuaa=vbuc1 
    lda #'0'
    jmp __b11
    // myprintf::@11
  __b11:
    // [102] (byte~) myprintf::$25 ← (byte~) myprintf::$24 + (byte) myprintf::b#15 -- vbuaa=vbuaa_plus_vbuxx 
    stx.z $ff
    clc
    adc.z $ff
    // [103] *((const byte*) strTemp + (byte) myprintf::bLen#10) ← (byte~) myprintf::$25 -- pbuc1_derefidx_vbuz1=vbuaa 
    ldy.z bLen
    sta strTemp,y
    // [104] (byte) myprintf::bLen#11 ← ++ (byte) myprintf::bLen#10 -- vbuyy=_inc_vbuz1 
    ldy.z bLen
    iny
    // [105] (byte~) myprintf::$26 ← (byte)(word) myprintf::w#10 -- vbuaa=_byte_vwuz1 
    lda.z w
    // [106] (byte) myprintf::b#16 ← (byte~) myprintf::$26 & (byte) $f -- vbuxx=vbuaa_band_vbuc1 
    ldx #$f
    axs #0
    // [107] if((byte) myprintf::b#16<(byte) $a) goto myprintf::@12 -- vbuxx_lt_vbuc1_then_la1 
    cpx #$a
    bcc __b12_from___b11
    // [109] phi from myprintf::@11 to myprintf::@13 [phi:myprintf::@11->myprintf::@13]
  __b13_from___b11:
    // [109] phi (byte~) myprintf::$31 = (byte) $57 [phi:myprintf::@11->myprintf::@13#0] -- vbuaa=vbuc1 
    lda #$57
    jmp __b13
    // [108] phi from myprintf::@11 to myprintf::@12 [phi:myprintf::@11->myprintf::@12]
  __b12_from___b11:
    jmp __b12
    // myprintf::@12
  __b12:
    // [109] phi from myprintf::@12 to myprintf::@13 [phi:myprintf::@12->myprintf::@13]
  __b13_from___b12:
    // [109] phi (byte~) myprintf::$31 = (byte) '0' [phi:myprintf::@12->myprintf::@13#0] -- vbuaa=vbuc1 
    lda #'0'
    jmp __b13
    // myprintf::@13
  __b13:
    // [110] (byte~) myprintf::$32 ← (byte~) myprintf::$31 + (byte) myprintf::b#16 -- vbuaa=vbuaa_plus_vbuxx 
    stx.z $ff
    clc
    adc.z $ff
    // [111] *((const byte*) strTemp + (byte) myprintf::bLen#11) ← (byte~) myprintf::$32 -- pbuc1_derefidx_vbuyy=vbuaa 
    sta strTemp,y
    // [112] (byte) myprintf::bLen#3 ← ++ (byte) myprintf::bLen#11 -- vbuz1=_inc_vbuyy 
    iny
    sty.z bLen
    jmp __b27_from___b13
    // myprintf::@9
  __b9:
    // [113] (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
    // [114] call utoa 
    // [159] phi from myprintf::@9 to utoa [phi:myprintf::@9->utoa]
  utoa_from___b9:
    jsr utoa
    // [115] phi from myprintf::@9 to myprintf::@14 [phi:myprintf::@9->myprintf::@14]
  __b14_from___b9:
    // [115] 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:
    // [116] if(*((const byte*) myprintf::buf6 + (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:
    // [117] 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 __b45
    // myprintf::@45
  __b45:
    // [118] 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___b45
    // [119] phi from myprintf::@21 myprintf::@45 to myprintf::@18 [phi:myprintf::@21/myprintf::@45->myprintf::@18]
  __b18_from___b21:
  __b18_from___b45:
    // [119] phi (byte) myprintf::bLen#12 = (byte) myprintf::bLen#4 [phi:myprintf::@21/myprintf::@45->myprintf::@18#0] -- register_copy 
    // [119] phi (byte) myprintf::bDigits#12 = (byte) myprintf::bDigits#2 [phi:myprintf::@21/myprintf::@45->myprintf::@18#1] -- register_copy 
    jmp __b18
    // myprintf::@18
  __b18:
    // [120] 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
    // [121] phi from myprintf::@16 myprintf::@18 to myprintf::@17 [phi:myprintf::@16/myprintf::@18->myprintf::@17]
  __b17_from___b16:
  __b17_from___b18:
    // [121] phi (byte) myprintf::bDigits#18 = (byte) myprintf::bDigits#16 [phi:myprintf::@16/myprintf::@18->myprintf::@17#0] -- register_copy 
    // [121] phi (byte) myprintf::bLen#32 = (byte) myprintf::bLen#10 [phi:myprintf::@16/myprintf::@18->myprintf::@17#1] -- register_copy 
    jmp __b17
    // [121] phi from myprintf::@45 to myprintf::@17 [phi:myprintf::@45->myprintf::@17]
  __b17_from___b45:
    jmp __b17
    // myprintf::@17
  __b17:
    // [122] phi from myprintf::@17 to myprintf::@22 [phi:myprintf::@17->myprintf::@22]
  __b22_from___b17:
    // [122] phi (byte) myprintf::bLen#13 = (byte) myprintf::bLen#32 [phi:myprintf::@17->myprintf::@22#0] -- register_copy 
    // [122] phi (byte) myprintf::digit#3 = (byte) 0 [phi:myprintf::@17->myprintf::@22#1] -- vbuxx=vbuc1 
    ldx #0
    jmp __b22
    // myprintf::@22
  __b22:
    // [123] 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:
    // [124] 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 __b46
    // myprintf::@46
  __b46:
    // [125] 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___b46
    // [126] phi from myprintf::@26 myprintf::@46 to myprintf::@25 [phi:myprintf::@26/myprintf::@46->myprintf::@25]
  __b25_from___b26:
  __b25_from___b46:
    // [126] phi (byte) myprintf::bLen#14 = (byte) myprintf::bLen#6 [phi:myprintf::@26/myprintf::@46->myprintf::@25#0] -- register_copy 
    // [126] phi (byte) myprintf::bDigits#10 = (byte) myprintf::bDigits#3 [phi:myprintf::@26/myprintf::@46->myprintf::@25#1] -- register_copy 
    jmp __b25
    // myprintf::@25
  __b25:
    // [127] 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:
    // [128] *((const byte*) strTemp + (byte) myprintf::bLen#14) ← (byte) ' ' -- pbuc1_derefidx_vbuz1=vbuc2 
    lda #' '
    ldy.z bLen
    sta strTemp,y
    // [129] (byte) myprintf::bLen#6 ← ++ (byte) myprintf::bLen#14 -- vbuz1=_inc_vbuz1 
    inc.z bLen
    // [130] (byte) myprintf::bDigits#3 ← -- (byte) myprintf::bDigits#10 -- vbuz1=_dec_vbuz1 
    dec.z bDigits
    jmp __b25_from___b26
    // myprintf::@23
  __b23:
    // [131] *((const byte*) strTemp + (byte) myprintf::bLen#13) ← *((const byte*) myprintf::buf6 + (byte) myprintf::digit#3) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuxx 
    lda buf6,x
    ldy.z bLen
    sta strTemp,y
    // [132] (byte) myprintf::bLen#5 ← ++ (byte) myprintf::bLen#13 -- vbuz1=_inc_vbuz1 
    inc.z bLen
    // [133] (byte) myprintf::digit#2 ← ++ (byte) myprintf::digit#3 -- vbuxx=_inc_vbuxx 
    inx
    // [122] phi from myprintf::@23 to myprintf::@22 [phi:myprintf::@23->myprintf::@22]
  __b22_from___b23:
    // [122] phi (byte) myprintf::bLen#13 = (byte) myprintf::bLen#5 [phi:myprintf::@23->myprintf::@22#0] -- register_copy 
    // [122] phi (byte) myprintf::digit#3 = (byte) myprintf::digit#2 [phi:myprintf::@23->myprintf::@22#1] -- register_copy 
    jmp __b22
    // myprintf::@19
  __b19:
    // [134] if((byte) myprintf::bLeadZero#11==(byte) 0) goto myprintf::@20 -- vbuz1_eq_0_then_la1 
    lda.z bLeadZero
    cmp #0
    beq __b20_from___b19
    // [136] phi from myprintf::@19 to myprintf::@21 [phi:myprintf::@19->myprintf::@21]
  __b21_from___b19:
    // [136] phi (byte~) myprintf::$43 = (byte) '0' [phi:myprintf::@19->myprintf::@21#0] -- vbuaa=vbuc1 
    lda #'0'
    jmp __b21
    // [135] phi from myprintf::@19 to myprintf::@20 [phi:myprintf::@19->myprintf::@20]
  __b20_from___b19:
    jmp __b20
    // myprintf::@20
  __b20:
    // [136] phi from myprintf::@20 to myprintf::@21 [phi:myprintf::@20->myprintf::@21]
  __b21_from___b20:
    // [136] phi (byte~) myprintf::$43 = (byte) ' ' [phi:myprintf::@20->myprintf::@21#0] -- vbuaa=vbuc1 
    lda #' '
    jmp __b21
    // myprintf::@21
  __b21:
    // [137] *((const byte*) strTemp + (byte) myprintf::bLen#12) ← (byte~) myprintf::$43 -- pbuc1_derefidx_vbuz1=vbuaa 
    ldy.z bLen
    sta strTemp,y
    // [138] (byte) myprintf::bLen#4 ← ++ (byte) myprintf::bLen#12 -- vbuz1=_inc_vbuz1 
    inc.z bLen
    // [139] (byte) myprintf::bDigits#2 ← -- (byte) myprintf::bDigits#12 -- vbuz1=_dec_vbuz1 
    dec.z bDigits
    jmp __b18_from___b21
    // myprintf::@15
  __b15:
    // [140] (byte) myprintf::b#5 ← ++ (byte) myprintf::b#17 -- vbuz1=_inc_vbuz1 
    inc.z b
    // [115] phi from myprintf::@15 to myprintf::@14 [phi:myprintf::@15->myprintf::@14]
  __b14_from___b15:
    // [115] phi (byte) myprintf::b#17 = (byte) myprintf::b#5 [phi:myprintf::@15->myprintf::@14#0] -- register_copy 
    jmp __b14
    // myprintf::@8
  __b8:
    // [141] (byte~) myprintf::$50 ← (byte)(word) myprintf::w#10 -- vbuaa=_byte_vwuz1 
    lda.z w
    // [142] *((const byte*) strTemp + (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
    // [143] (byte) myprintf::bLen#1 ← ++ (byte) myprintf::bLen#10 -- vbuz1=_inc_vbuz1 
    inc.z bLen
    jmp __b27_from___b8
    // myprintf::@28
  __b28:
    // [144] (byte) myprintf::bDigits#1 ← (byte) myprintf::b#1 - (byte) '0' -- vbuz1=vbuxx_minus_vbuc1 
    txa
    axs #'0'
    stx.z bDigits
    // [86] phi from myprintf::@28 myprintf::@37 to myprintf::@32 [phi:myprintf::@28/myprintf::@37->myprintf::@32]
  __b32_from___b28:
  __b32_from___b37:
    // [86] phi (byte) myprintf::bLeadZero#20 = (byte) myprintf::bLeadZero#11 [phi:myprintf::@28/myprintf::@37->myprintf::@32#0] -- register_copy 
    // [86] phi (byte) myprintf::bDigits#28 = (byte) myprintf::bDigits#1 [phi:myprintf::@28/myprintf::@37->myprintf::@32#1] -- register_copy 
    // [86] phi (byte) myprintf::bTrailing#24 = (byte) myprintf::bTrailing#11 [phi:myprintf::@28/myprintf::@37->myprintf::@32#2] -- register_copy 
    // [86] phi (word) myprintf::w#18 = (word) myprintf::w#10 [phi:myprintf::@28/myprintf::@37->myprintf::@32#3] -- register_copy 
    // [86] phi (byte) myprintf::bArg#11 = (byte) myprintf::bArg#10 [phi:myprintf::@28/myprintf::@37->myprintf::@32#4] -- register_copy 
    // [86] phi (byte) myprintf::bLen#28 = (byte) myprintf::bLen#10 [phi:myprintf::@28/myprintf::@37->myprintf::@32#5] -- register_copy 
    // [86] phi (byte) myprintf::bFormat#5 = (byte) myprintf::bFormat#10 [phi:myprintf::@28/myprintf::@37->myprintf::@32#6] -- register_copy 
    jmp __b32
    // myprintf::@4
  __b4:
    // [145] if((byte) myprintf::b#1!=(byte) '%') goto myprintf::@33 -- vbuxx_neq_vbuc1_then_la1 
    cpx #'%'
    bne __b33
    jmp __b39
    // myprintf::@39
  __b39:
    // [146] if((byte) myprintf::bArg#10==(byte) 0) goto myprintf::@34 -- 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 __b34
    jmp __b40
    // myprintf::@40
  __b40:
    // [147] if((byte) myprintf::bArg#10==(byte) 1) goto myprintf::@35 -- vbuz1_eq_vbuc1_then_la1 
    lda #1
    cmp.z bArg
    beq __b35
    jmp __b41
    // myprintf::@41
  __b41:
    // [148] (word) myprintf::w#55 ← (word) myprintf::w3#8 -- vwuz1=vwuz2 
    lda.z w3
    sta.z w
    lda.z w3+1
    sta.z w+1
    // [149] phi from myprintf::@34 myprintf::@35 myprintf::@41 to myprintf::@36 [phi:myprintf::@34/myprintf::@35/myprintf::@41->myprintf::@36]
  __b36_from___b34:
  __b36_from___b35:
  __b36_from___b41:
    // [149] phi (word) myprintf::w#22 = (word) myprintf::w#53 [phi:myprintf::@34/myprintf::@35/myprintf::@41->myprintf::@36#0] -- register_copy 
    jmp __b36
    // myprintf::@36
  __b36:
    // [150] (byte) myprintf::bArg#1 ← ++ (byte) myprintf::bArg#10 -- vbuz1=_inc_vbuz1 
    inc.z bArg
    // [86] phi from myprintf::@36 to myprintf::@32 [phi:myprintf::@36->myprintf::@32]
  __b32_from___b36:
    // [86] phi (byte) myprintf::bLeadZero#20 = (byte) 0 [phi:myprintf::@36->myprintf::@32#0] -- vbuz1=vbuc1 
    lda #0
    sta.z bLeadZero
    // [86] phi (byte) myprintf::bDigits#28 = (byte) 1 [phi:myprintf::@36->myprintf::@32#1] -- vbuz1=vbuc1 
    lda #1
    sta.z bDigits
    // [86] phi (byte) myprintf::bTrailing#24 = (byte) 0 [phi:myprintf::@36->myprintf::@32#2] -- vbuz1=vbuc1 
    lda #0
    sta.z bTrailing
    // [86] phi (word) myprintf::w#18 = (word) myprintf::w#22 [phi:myprintf::@36->myprintf::@32#3] -- register_copy 
    // [86] phi (byte) myprintf::bArg#11 = (byte) myprintf::bArg#1 [phi:myprintf::@36->myprintf::@32#4] -- register_copy 
    // [86] phi (byte) myprintf::bLen#28 = (byte) myprintf::bLen#10 [phi:myprintf::@36->myprintf::@32#5] -- register_copy 
    // [86] phi (byte) myprintf::bFormat#5 = (byte) 1 [phi:myprintf::@36->myprintf::@32#6] -- vbuz1=vbuc1 
    lda #1
    sta.z bFormat
    jmp __b32
    // myprintf::@35
  __b35:
    // [151] (word) myprintf::w#54 ← (word) myprintf::w2#8 -- vwuz1=vwuz2 
    lda.z w2
    sta.z w
    lda.z w2+1
    sta.z w+1
    jmp __b36_from___b35
    // myprintf::@34
  __b34:
    // [152] (word) myprintf::w#53 ← (word) myprintf::w1#7 -- vwuz1=vwuz2 
    lda.z w1
    sta.z w
    lda.z w1+1
    sta.z w+1
    jmp __b36_from___b34
    // myprintf::@33
  __b33:
    // [153] if((byte) myprintf::b#1<(byte) $41) goto myprintf::@37 -- vbuxx_lt_vbuc1_then_la1 
    cpx #$41
    bcc __b37_from___b33
    jmp __b47
    // myprintf::@47
  __b47:
    // [154] if((byte) myprintf::b#1>=(byte) $5a+(byte) 1) goto myprintf::@37 -- vbuxx_ge_vbuc1_then_la1 
    cpx #$5a+1
    bcs __b37_from___b47
    jmp __b42
    // myprintf::@42
  __b42:
    // [155] (byte) myprintf::b#6 ← (byte) myprintf::b#1 + (byte) $20 -- vbuxx=vbuxx_plus_vbuc1 
    txa
    axs #-[$20]
    // [156] phi from myprintf::@33 myprintf::@42 to myprintf::@37 [phi:myprintf::@33/myprintf::@42->myprintf::@37]
  __b37_from___b33:
  __b37_from___b42:
    // [156] phi (byte) myprintf::b#25 = (byte) myprintf::b#1 [phi:myprintf::@33/myprintf::@42->myprintf::@37#0] -- register_copy 
    jmp __b37
    // [156] phi from myprintf::@47 to myprintf::@37 [phi:myprintf::@47->myprintf::@37]
  __b37_from___b47:
    jmp __b37
    // myprintf::@37
  __b37:
    // [157] *((const byte*) strTemp + (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
    // [158] (byte) myprintf::bLen#7 ← ++ (byte) myprintf::bLen#10 -- vbuz1=_inc_vbuz1 
    inc.z bLen
    jmp __b32_from___b37
    buf6: .fill 6, 0
}
  // utoa
// utoa(word zp($11) value, byte* zp($13) dst)
utoa: {
    .label value = $11
    .label dst = $13
    jmp __b13
    // utoa::@13
  __b13:
    // [160] 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
  !:
    // [161] phi from utoa::@13 to utoa::@1 [phi:utoa::@13->utoa::@1]
  __b1_from___b13:
    // [161] phi (byte*) utoa::dst#16 = (const byte*) myprintf::buf6 [phi:utoa::@13->utoa::@1#0] -- pbuz1=pbuc1 
    lda #<myprintf.buf6
    sta.z dst
    lda #>myprintf.buf6
    sta.z dst+1
    // [161] phi (word) utoa::value#6 = (word) utoa::value#4 [phi:utoa::@13->utoa::@1#1] -- register_copy 
    // [161] phi (byte) utoa::bStarted#5 = (byte) 0 [phi:utoa::@13->utoa::@1#2] -- vbuxx=vbuc1 
    ldx #0
    jmp __b1
    // utoa::@1
  __b1:
    // [162] if((byte) utoa::bStarted#5==(byte) 1) goto utoa::@6 -- vbuxx_eq_vbuc1_then_la1 
    cpx #1
    beq __b6
    jmp __b14
    // utoa::@14
  __b14:
    // [163] 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
  !:
    // [164] phi from utoa::@14 to utoa::@2 [phi:utoa::@14->utoa::@2]
  __b2_from___b14:
    // [164] phi (byte*) utoa::dst#10 = (byte*) utoa::dst#16 [phi:utoa::@14->utoa::@2#0] -- register_copy 
    // [164] phi (word) utoa::value#11 = (word) utoa::value#6 [phi:utoa::@14->utoa::@2#1] -- register_copy 
    // [164] phi (byte) utoa::bStarted#6 = (byte) utoa::bStarted#5 [phi:utoa::@14->utoa::@2#2] -- register_copy 
    jmp __b2
    // utoa::@2
  __b2:
    // [165] if((byte) utoa::bStarted#6==(byte) 1) goto utoa::@7 -- vbuxx_eq_vbuc1_then_la1 
    cpx #1
    beq __b7
    jmp __b15
    // utoa::@15
  __b15:
    // [166] if((word) utoa::value#11>=(byte) $64) goto utoa::@7 -- vwuz1_ge_vbuc1_then_la1 
    lda.z value+1
    bne __b7
    lda.z value
    cmp #$64
    bcs __b7
  !:
    // [167] phi from utoa::@15 to utoa::@3 [phi:utoa::@15->utoa::@3]
  __b3_from___b15:
    // [167] phi (byte*) utoa::dst#13 = (byte*) utoa::dst#10 [phi:utoa::@15->utoa::@3#0] -- register_copy 
    // [167] phi (word) utoa::value#10 = (word) utoa::value#11 [phi:utoa::@15->utoa::@3#1] -- register_copy 
    // [167] phi (byte) utoa::bStarted#7 = (byte) utoa::bStarted#6 [phi:utoa::@15->utoa::@3#2] -- register_copy 
    jmp __b3
    // utoa::@3
  __b3:
    // [168] if((byte) utoa::bStarted#7==(byte) 1) goto utoa::@8 -- vbuxx_eq_vbuc1_then_la1 
    cpx #1
    beq __b8
    jmp __b16
    // utoa::@16
  __b16:
    // [169] if((word) utoa::value#10>=(byte) $a) goto utoa::@8 -- vwuz1_ge_vbuc1_then_la1 
    lda.z value+1
    bne __b8
    lda.z value
    cmp #$a
    bcs __b8
  !:
    // [170] phi from utoa::@12 utoa::@16 to utoa::@4 [phi:utoa::@12/utoa::@16->utoa::@4]
  __b4_from___b12:
  __b4_from___b16:
    // [170] phi (byte*) utoa::dst#12 = (byte*) utoa::dst#4 [phi:utoa::@12/utoa::@16->utoa::@4#0] -- register_copy 
    // [170] phi (word) utoa::value#12 = (word) utoa::value#3 [phi:utoa::@12/utoa::@16->utoa::@4#1] -- register_copy 
    jmp __b4
    // utoa::@4
  __b4:
    // [171] (byte~) utoa::$16 ← (byte)(word) utoa::value#12 -- vbuaa=_byte_vwuz1 
    lda.z value
    // [172] (byte~) utoa::$17 ← (byte) '0' + (byte~) utoa::$16 -- vbuaa=vbuc1_plus_vbuaa 
    clc
    adc #'0'
    // [173] *((byte*) utoa::dst#12) ← (byte~) utoa::$17 -- _deref_pbuz1=vbuaa 
    ldy #0
    sta (dst),y
    // [174] (byte*) utoa::dst#3 ← ++ (byte*) utoa::dst#12 -- pbuz1=_inc_pbuz1 
    inc.z dst
    bne !+
    inc.z dst+1
  !:
    // [175] *((byte*) utoa::dst#3) ← (byte) 0 -- _deref_pbuz1=vbuc1 
    lda #0
    ldy #0
    sta (dst),y
    jmp __breturn
    // utoa::@return
  __breturn:
    // [176] return 
    rts
    // utoa::@8
  __b8:
    // [177] (byte*) append::dst#3 ← (byte*) utoa::dst#13
    // [178] (word) append::value#4 ← (word) utoa::value#10
    // [179] call append 
    // [199] phi from utoa::@8 to append [phi:utoa::@8->append]
  append_from___b8:
    // [199] 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
    // [199] phi (word) append::value#8 = (word) append::value#4 [phi:utoa::@8->append#1] -- register_copy 
    // [199] phi (byte*) append::dst#4 = (byte*) append::dst#3 [phi:utoa::@8->append#2] -- register_copy 
    jsr append
    // [180] (word) append::return#10 ← (word) append::value#5
    jmp __b12
    // utoa::@12
  __b12:
    // [181] (word) utoa::value#3 ← (word) append::return#10
    // [182] (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:
    // [183] (byte*) append::dst#2 ← (byte*) utoa::dst#10
    // [184] (word) append::value#3 ← (word) utoa::value#11
    // [185] call append 
    // [199] phi from utoa::@7 to append [phi:utoa::@7->append]
  append_from___b7:
    // [199] 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
    // [199] phi (word) append::value#8 = (word) append::value#3 [phi:utoa::@7->append#1] -- register_copy 
    // [199] phi (byte*) append::dst#4 = (byte*) append::dst#2 [phi:utoa::@7->append#2] -- register_copy 
    jsr append
    // [186] (word) append::return#4 ← (word) append::value#5
    jmp __b11
    // utoa::@11
  __b11:
    // [187] (word) utoa::value#2 ← (word) append::return#4
    // [188] (byte*) utoa::dst#2 ← ++ (byte*) utoa::dst#10 -- pbuz1=_inc_pbuz1 
    inc.z dst
    bne !+
    inc.z dst+1
  !:
    // [167] phi from utoa::@11 to utoa::@3 [phi:utoa::@11->utoa::@3]
  __b3_from___b11:
    // [167] phi (byte*) utoa::dst#13 = (byte*) utoa::dst#2 [phi:utoa::@11->utoa::@3#0] -- register_copy 
    // [167] phi (word) utoa::value#10 = (word) utoa::value#2 [phi:utoa::@11->utoa::@3#1] -- register_copy 
    // [167] phi (byte) utoa::bStarted#7 = (byte) 1 [phi:utoa::@11->utoa::@3#2] -- vbuxx=vbuc1 
    ldx #1
    jmp __b3
    // utoa::@6
  __b6:
    // [189] (byte*) append::dst#1 ← (byte*) utoa::dst#16
    // [190] (word) append::value#2 ← (word) utoa::value#6
    // [191] call append 
    // [199] phi from utoa::@6 to append [phi:utoa::@6->append]
  append_from___b6:
    // [199] 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
    // [199] phi (word) append::value#8 = (word) append::value#2 [phi:utoa::@6->append#1] -- register_copy 
    // [199] phi (byte*) append::dst#4 = (byte*) append::dst#1 [phi:utoa::@6->append#2] -- register_copy 
    jsr append
    // [192] (word) append::return#3 ← (word) append::value#5
    jmp __b10
    // utoa::@10
  __b10:
    // [193] (word) utoa::value#1 ← (word) append::return#3
    // [194] (byte*) utoa::dst#1 ← ++ (byte*) utoa::dst#16 -- pbuz1=_inc_pbuz1 
    inc.z dst
    bne !+
    inc.z dst+1
  !:
    // [164] phi from utoa::@10 to utoa::@2 [phi:utoa::@10->utoa::@2]
  __b2_from___b10:
    // [164] phi (byte*) utoa::dst#10 = (byte*) utoa::dst#1 [phi:utoa::@10->utoa::@2#0] -- register_copy 
    // [164] phi (word) utoa::value#11 = (word) utoa::value#1 [phi:utoa::@10->utoa::@2#1] -- register_copy 
    // [164] phi (byte) utoa::bStarted#6 = (byte) 1 [phi:utoa::@10->utoa::@2#2] -- vbuxx=vbuc1 
    ldx #1
    jmp __b2
    // utoa::@5
  __b5:
    // [195] (word) append::value#1 ← (word) utoa::value#4
    // [196] call append 
    // [199] phi from utoa::@5 to append [phi:utoa::@5->append]
  append_from___b5:
    // [199] 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
    // [199] phi (word) append::value#8 = (word) append::value#1 [phi:utoa::@5->append#1] -- register_copy 
    // [199] phi (byte*) append::dst#4 = (const byte*) myprintf::buf6 [phi:utoa::@5->append#2] -- pbuz1=pbuc1 
    lda #<myprintf.buf6
    sta.z append.dst
    lda #>myprintf.buf6
    sta.z append.dst+1
    jsr append
    // [197] (word) append::return#2 ← (word) append::value#5
    jmp __b9
    // utoa::@9
  __b9:
    // [198] (word) utoa::value#0 ← (word) append::return#2
    // [161] phi from utoa::@9 to utoa::@1 [phi:utoa::@9->utoa::@1]
  __b1_from___b9:
    // [161] phi (byte*) utoa::dst#16 = ++(const byte*) myprintf::buf6 [phi:utoa::@9->utoa::@1#0] -- pbuz1=pbuc1 
    lda #<myprintf.buf6+1
    sta.z dst
    lda #>myprintf.buf6+1
    sta.z dst+1
    // [161] phi (word) utoa::value#6 = (word) utoa::value#0 [phi:utoa::@9->utoa::@1#1] -- register_copy 
    // [161] 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* zp($13) dst, word zp($11) value, word zp($15) sub)
append: {
    .label value = $11
    .label return = $11
    .label dst = $13
    .label sub = $15
    // [200] *((byte*) append::dst#4) ← (byte) '0' -- _deref_pbuz1=vbuc1 
    lda #'0'
    ldy #0
    sta (dst),y
    // [201] phi from append append::@2 to append::@1 [phi:append/append::@2->append::@1]
  __b1_from_append:
  __b1_from___b2:
    // [201] phi (word) append::value#5 = (word) append::value#8 [phi:append/append::@2->append::@1#0] -- register_copy 
    jmp __b1
    // append::@1
  __b1:
    // [202] 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:
    // [203] return 
    rts
    // append::@2
  __b2:
    // [204] *((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
    // [205] (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 zp($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
    // [206] (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
    // [207] (word) div10::val#0 ← (word~) div10::$0 + (byte) 1 -- vwuz1=vwuz1_plus_1 
    inc.z val
    bne !+
    inc.z val+1
  !:
    // [208] (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
    // [209] (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
    // [210] (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
    // [211] (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
    // [212] (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
    // [213] (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
    // [214] (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:
    // [215] 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 __b38
Removing instruction jmp __b32
Removing instruction jmp __b43
Removing instruction jmp __b6
Removing instruction jmp __b29
Removing instruction jmp __b30
Removing instruction jmp __b44
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 __b45
Removing instruction jmp __b18
Removing instruction jmp __b17
Removing instruction jmp __b22
Removing instruction jmp __b24
Removing instruction jmp __b46
Removing instruction jmp __b25
Removing instruction jmp __b20
Removing instruction jmp __b21
Removing instruction jmp __b39
Removing instruction jmp __b40
Removing instruction jmp __b41
Removing instruction jmp __b36
Removing instruction jmp __b47
Removing instruction jmp __b42
Removing instruction jmp __b37
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 __bbegin with __b1
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___b45 with __b17
Replacing label __b27_from___b24 with __b27_from___b8
Replacing label __b27_from___b46 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 __b36_from___b35 with __b36
Replacing label __b36_from___b34 with __b36
Replacing label __b37_from___b33 with __b37_from___b42
Replacing label __b37_from___b47 with __b37
Replacing label __b4_from___b12 with __b4
Replacing label __b1_from___b2 with __b1
Removing instruction __bbegin:
Removing instruction __b1_from___bbegin:
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___b44:
Removing instruction __b27_from___b46:
Removing instruction __b32_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___b45:
Removing instruction __b17_from___b16:
Removing instruction __b17_from___b45:
Removing instruction __b22_from___b17:
Removing instruction __b25_from___b26:
Removing instruction __b25_from___b46:
Removing instruction __b20_from___b19:
Removing instruction __b21_from___b20:
Removing instruction __b32_from___b28:
Removing instruction __b36_from___b34:
Removing instruction __b36_from___b35:
Removing instruction __b36_from___b41:
Removing instruction __b37_from___b33:
Removing instruction __b37_from___b47:
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 __b38:
Removing instruction __b32_from___b38:
Removing instruction __b1_from___b32:
Removing instruction __b43:
Removing instruction __b32_from___b6:
Removing instruction __b29:
Removing instruction __b30:
Removing instruction __b44:
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 __b45:
Removing instruction __b24:
Removing instruction __b46:
Removing instruction __b22_from___b23:
Removing instruction __b21_from___b19:
Removing instruction __b14_from___b15:
Removing instruction __b39:
Removing instruction __b40:
Removing instruction __b41:
Removing instruction __b32_from___b36:
Removing instruction __b47:
Removing instruction __b42:
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 __b37 in bcc __b37_from___b42
Skipping double jump to __b32 in jmp __b32_from___b37
Succesful ASM optimization Pass5DoubleJumpElimination
Relabelling long label __b27_from___b8 to b1
Relabelling long label __b17_from___b18 to b2
Relabelling long label __b32_from___b37 to b3
Relabelling long label __b37_from___b42 to b4
Succesful ASM optimization Pass5RelabelLongLabels
Removing instruction jmp __b1
Removing instruction jmp __b27
Removing instruction jmp __b17
Removing instruction jmp __b37
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 b1
Replacing label __b17 with b2
Replacing label __b17 with b2
Replacing label __b27 with b1
Replacing label __b27 with b1
Replacing label __b27 with b1
Replacing label __b27 with b1
Replacing label __b37 with b4
Replacing label __b37 with b4
Removing instruction __b27:
Removing instruction __b17:
Removing instruction __b37:
Succesful ASM optimization Pass5RedundantLabelElimination
Removing instruction __b1:
Removing instruction b3:
Succesful ASM optimization Pass5UnusedLabelElimination
Fixing long branch [374] bcs b1 to bcc
Fixing long branch [267] beq __b4 to bne
Fixing long branch [284] bcc __b28 to bcs
Fixing long branch [287] beq __b28 to bne
Fixing long branch [298] beq __b8 to bne
Fixing long branch [494] bne __b5 to beq
Fixing long branch [499] bcs __b5 to bcc

FINAL SYMBOL TABLE
(label) @1
(label) @begin
(label) @end
(void()) Print()
(label) Print::@return
(const byte*) TIMEHI = (byte*) 161
(const byte*) TIMELO = (byte*) 162
(const byte*) 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[2]:19 2.0
(byte*) append::dst#2 dst zp[2]:19 2.0
(byte*) append::dst#3 dst zp[2]:19 2.0
(byte*) append::dst#4 dst zp[2]:19 335.0
(word) append::return
(word) append::return#10 return zp[2]:17 4.0
(word) append::return#2 return zp[2]:17 4.0
(word) append::return#3 return zp[2]:17 4.0
(word) append::return#4 return zp[2]:17 4.0
(word) append::sub
(word) append::sub#6 sub zp[2]:21 333.6666666666667
(word) append::value
(word) append::value#0 value zp[2]:17 2002.0
(word) append::value#1 value zp[2]:17 4.0
(word) append::value#2 value zp[2]:17 4.0
(word) append::value#3 value zp[2]:17 4.0
(word) append::value#4 value zp[2]:17 4.0
(word) append::value#5 value zp[2]:17 376.625
(word) append::value#8 value zp[2]:17 5.0
(word()) div10((word) div10::val)
(word~) div10::$0 zp[2]:19 4.0
(word~) div10::$2 zp[2]:21 4.0
(word~) div10::$3 zp[2]:23 4.0
(word~) div10::$4 zp[2]:4 4.0
(label) div10::@return
(word) div10::return
(word) div10::return#0 return zp[2]:4 34.33333333333333
(word) div10::return#2 return zp[2]:4 202.0
(word) div10::val
(word) div10::val#0 val zp[2]:19 3.0
(word) div10::val#1 val_1 zp[2]:21 3.0
(word) div10::val#2 val_2 zp[2]:23 3.0
(word) div10::val#3 val_3 zp[2]:4 4.0
(word) div10::val#4 val_4 zp[2]: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[2]:2 103.0
(word) div16u::divisor
(const word) div16u::divisor#0 divisor = (byte) $a
(word) div16u::return
(word) div16u::return#0 return zp[2]:4 34.33333333333333
(word) div16u::return#2 return zp[2]: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[2]:6 250.25
(word) divr16u::dividend#1 dividend zp[2]:6 2.0
(word) divr16u::dividend#2 dividend zp[2]: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[2]:4 1501.5
(word) divr16u::quotient#2 quotient zp[2]:4 1001.0
(word) divr16u::quotient#3 quotient zp[2]:4 250.25
(word) divr16u::rem
(word) divr16u::rem#0 rem zp[2]:23 750.75
(word) divr16u::rem#1 rem zp[2]:23 2002.0
(word) divr16u::rem#2 rem zp[2]:23 2002.0
(word) divr16u::rem#4 rem zp[2]:23 2002.0
(word) divr16u::rem#5 rem zp[2]:23 1001.0
(word) divr16u::rem#9 rem zp[2]:23 1001.0
(word) divr16u::return
(word) divr16u::return#0 return zp[2]:4 601.0
(word) divr16u::return#2 return zp[2]:4 4.0
(signed word()) main()
(word~) main::$12 zp[2]:23 22.0
(word~) main::$13 zp[2]:23 11.0
(word~) main::$14 zp[2]:15 22.0
(word~) main::$3 zp[2]:23 22.0
(word~) main::$4 zp[2]:23 11.0
(word~) main::$5 zp[2]: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 byte*) main::str[(byte) $24]  = (byte*) "200 DIV16U: %5d,%4d IN %04d FRAMESm"
(const byte*) main::str1[(byte) $24]  = (byte*) "200 DIV10 : %5d,%4d IN %04d FRAMESm"
(word) main::u
(word) main::u#15 u zp[2]:2 6.380952380952381
(word) main::u#17 u zp[2]:2 6.380952380952381
(word) main::u#3 u zp[2]:2 11.0
(word) main::u#4 u zp[2]:2 11.0
(word) main::v
(word) main::v#1 v zp[2]:4 101.0
(word) main::v#10 v zp[2]:4 4.800000000000001
(word) main::v#11 v zp[2]:4 10.307692307692308
(word) main::v#12 v zp[2]:4 4.0
(word) main::v#13 v zp[2]:4 10.307692307692308
(word) main::v#2 v zp[2]: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::@47
(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[1]:12 248.31999999999996
(byte) myprintf::b#25 reg byte x 303.0
(byte) myprintf::b#5 b zp[1]:12 2002.0
(byte) myprintf::b#6 reg byte x 202.0
(byte) myprintf::bArg
(byte) myprintf::bArg#1 bArg zp[1]:9 202.0
(byte) myprintf::bArg#10 bArg zp[1]:9 12.120000000000001
(byte) myprintf::bArg#11 bArg zp[1]:9 353.5
(byte) myprintf::bDigits
(byte) myprintf::bDigits#1 bDigits zp[1]:13 202.0
(byte) myprintf::bDigits#10 bDigits zp[1]:13 1026.25
(byte) myprintf::bDigits#12 bDigits zp[1]:13 586.4285714285714
(byte) myprintf::bDigits#16 bDigits zp[1]:13 21.956521739130434
(byte) myprintf::bDigits#18 bDigits zp[1]:13 175.625
(byte) myprintf::bDigits#2 bDigits zp[1]:13 2002.0
(byte) myprintf::bDigits#28 bDigits zp[1]:13 303.0
(byte) myprintf::bDigits#29 bDigits zp[1]:13 1506.0
(byte) myprintf::bDigits#3 bDigits zp[1]:13 2002.0
(byte) myprintf::bFormat
(byte) myprintf::bFormat#10 bFormat zp[1]:8 37.875
(byte) myprintf::bFormat#5 bFormat zp[1]:8 252.5
(byte) myprintf::bLeadZero
(byte) myprintf::bLeadZero#11 bLeadZero zp[1]:11 21.82608695652174
(byte) myprintf::bLeadZero#20 bLeadZero zp[1]:11 252.5
(byte) myprintf::bLen
(byte) myprintf::bLen#1 bLen zp[1]:14 202.0
(byte) myprintf::bLen#10 bLen zp[1]:14 32.93023255813953
(byte) myprintf::bLen#11 reg byte y 37.875
(byte) myprintf::bLen#12 bLen zp[1]:14 684.1666666666667
(byte) myprintf::bLen#13 bLen zp[1]:14 661.2
(byte) myprintf::bLen#14 bLen zp[1]:14 1368.3333333333335
(byte) myprintf::bLen#28 bLen zp[1]:14 353.5
(byte) myprintf::bLen#3 bLen zp[1]:14 202.0
(byte) myprintf::bLen#32 bLen zp[1]:14 1203.0
(byte) myprintf::bLen#36 bLen zp[1]:14 1506.0
(byte) myprintf::bLen#4 bLen zp[1]:14 1001.0
(byte) myprintf::bLen#5 bLen zp[1]:14 1001.0
(byte) myprintf::bLen#6 bLen zp[1]:14 1001.0
(byte) myprintf::bLen#7 bLen zp[1]:14 202.0
(byte) myprintf::bTrailing
(byte) myprintf::bTrailing#11 bTrailing zp[1]:10 10.246376811594203
(byte) myprintf::bTrailing#24 bTrailing zp[1]:10 252.5
(const byte*) myprintf::buf6[(number) 6]  = { 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[2]:6 202.0
(byte*) myprintf::str#10 str zp[2]:6 5.272727272727273
(byte*) myprintf::str#6 str zp[2]:6 2.0
(word) myprintf::w
(word) myprintf::w#10 w zp[2]:15 10.246376811594203
(word) myprintf::w#18 w zp[2]:15 353.5
(word) myprintf::w#22 w zp[2]:15 202.0
(word) myprintf::w#53 w zp[2]:15 202.0
(word) myprintf::w#54 w zp[2]:15 202.0
(word) myprintf::w#55 w zp[2]:15 202.0
(word) myprintf::w1
(word) myprintf::w1#0 w1 zp[2]:2 11.0
(word) myprintf::w1#1 w1 zp[2]:2 11.0
(word) myprintf::w1#7 w1 zp[2]:2 1.5569620253164556
(word) myprintf::w2
(word) myprintf::w2#0 w2 zp[2]:4 22.0
(word) myprintf::w2#1 w2 zp[2]:4 22.0
(word) myprintf::w2#8 w2 zp[2]:4 1.5569620253164556
(word) myprintf::w3
(word) myprintf::w3#0 w3 zp[2]:23 7.333333333333333
(word) myprintf::w3#1 w3 zp[2]:23 7.333333333333333
(word) myprintf::w3#8 w3 zp[2]:23 1.5569620253164556
(const byte*) strTemp[(number) $64]  = { 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[2]:19 4.0
(byte*) utoa::dst#10 dst zp[2]:19 1.25
(byte*) utoa::dst#12 dst zp[2]:19 2.0
(byte*) utoa::dst#13 dst zp[2]:19 1.25
(byte*) utoa::dst#16 dst zp[2]:19 0.75
(byte*) utoa::dst#2 dst zp[2]:19 4.0
(byte*) utoa::dst#3 dst zp[2]:19 4.0
(byte*) utoa::dst#4 dst zp[2]:19 4.0
(word) utoa::value
(word) utoa::value#0 value zp[2]:17 4.0
(word) utoa::value#1 value zp[2]:17 2.0
(word) utoa::value#10 value zp[2]:17 2.5
(word) utoa::value#11 value zp[2]:17 2.5
(word) utoa::value#12 value zp[2]:17 4.0
(word) utoa::value#2 value zp[2]:17 2.0
(word) utoa::value#3 value zp[2]:17 2.0
(word) utoa::value#4 value zp[2]:17 35.66666666666666
(word) utoa::value#6 value zp[2]:17 2.5
(const byte*) zp1 = (byte*) 97
(const byte*) zp2 = (byte*) 98

zp[2]: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[2]: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[2]:6 [ myprintf::str#10 myprintf::str#6 myprintf::str#0 divr16u::dividend#2 divr16u::dividend#1 divr16u::dividend#0 ]
zp[1]:8 [ myprintf::bFormat#10 myprintf::bFormat#5 ]
zp[1]:9 [ myprintf::bArg#10 myprintf::bArg#11 myprintf::bArg#1 ]
zp[1]:10 [ myprintf::bTrailing#11 myprintf::bTrailing#24 ]
zp[1]:11 [ myprintf::bLeadZero#11 myprintf::bLeadZero#20 ]
reg byte a [ myprintf::$24 ]
reg byte a [ myprintf::$31 ]
zp[1]:12 [ myprintf::b#17 myprintf::b#5 ]
zp[1]:13 [ myprintf::bDigits#12 myprintf::bDigits#16 myprintf::bDigits#28 myprintf::bDigits#29 myprintf::bDigits#1 myprintf::bDigits#18 myprintf::bDigits#10 myprintf::bDigits#2 myprintf::bDigits#3 ]
zp[1]:14 [ myprintf::bLen#32 myprintf::bLen#12 myprintf::bLen#10 myprintf::bLen#28 myprintf::bLen#36 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[2]:15 [ main::$14 myprintf::w#10 myprintf::w#18 myprintf::w#22 myprintf::w#53 myprintf::w#54 myprintf::w#55 ]
zp[2]: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[2]: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[2]:21 [ div10::$2 div10::val#1 append::sub#6 ]
zp[2]: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: 361442

  // 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
    // test performance of 'div16u(10)'
    // test performance of 'div10'
    .label u = 2
    // *VICBANK = 23
    // [4] *((const byte*) VICBANK) ← (byte) $17 -- _deref_pbuc1=vbuc2 
    lda #$17
    sta VICBANK
    // *zp1 = 0
    // [5] *((const byte*) zp1) ← (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)<(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) ← (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)<(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) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta TIMEHI
    // *TIMELO = 0
    // [13] *((const byte*) TIMELO) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    sta TIMELO
    // *zp2 = 0
    // [14] *((const byte*) zp2) ← (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)<(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) -- 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) -- 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 byte*) 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) ← ++ *((const byte*) zp1) -- _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) ← ++ *((const byte*) zp2) -- _deref_pbuc1=_inc__deref_pbuc1 
    inc zp2
    jmp __b9
    // main::@2
  __b2:
    // *TIMEHI = 0
    // [33] *((const byte*) TIMEHI) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta TIMEHI
    // *TIMELO = 0
    // [34] *((const byte*) TIMELO) ← (byte) 0 -- _deref_pbuc1=vbuc2 
    sta TIMELO
    // *zp2 = 0
    // [35] *((const byte*) zp2) ← (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)<(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) -- 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) -- 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 byte*) 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) ← ++ *((const byte*) zp1) -- _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) ← ++ *((const byte*) zp2) -- _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 zp(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 zp(6) dividend, word zp($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 = (word) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vwuc1 
    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* zp(6) str, word zp(2) w1, word zp(4) w2, word zp($17) w3)
myprintf: {
    .label str = 6
    .label bDigits = $d
    .label bLen = $e
    // formats
    .label b = $c
    .label bArg = 9
    .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*) strTemp + (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::@38
    // if (b == '0')
    // [85] if((byte) myprintf::b#1!=(byte) '0') goto myprintf::@5 -- vbuxx_neq_vbuc1_then_la1 
    cpx #'0'
    bne __b5
    // [86] phi from myprintf::@38 to myprintf::@32 [phi:myprintf::@38->myprintf::@32]
    // [86] phi (byte) myprintf::bLeadZero#20 = (byte) 1 [phi:myprintf::@38->myprintf::@32#0] -- vbuz1=vbuc1 
    lda #1
    sta.z bLeadZero
    // [86] phi (byte) myprintf::bDigits#28 = (byte) myprintf::bDigits#16 [phi:myprintf::@38->myprintf::@32#1] -- register_copy 
    // [86] phi (byte) myprintf::bTrailing#24 = (byte) myprintf::bTrailing#11 [phi:myprintf::@38->myprintf::@32#2] -- register_copy 
    // [86] phi (word) myprintf::w#18 = (word) myprintf::w#10 [phi:myprintf::@38->myprintf::@32#3] -- register_copy 
    // [86] phi (byte) myprintf::bArg#11 = (byte) myprintf::bArg#10 [phi:myprintf::@38->myprintf::@32#4] -- register_copy 
    // [86] phi (byte) myprintf::bLen#28 = (byte) myprintf::bLen#10 [phi:myprintf::@38->myprintf::@32#5] -- register_copy 
    // [86] phi (byte) myprintf::bFormat#5 = (byte) myprintf::bFormat#10 [phi:myprintf::@38->myprintf::@32#6] -- register_copy 
    // myprintf::@32
  __b32:
    // for (; *str != 0; ++str)
    // [87] (byte*) myprintf::str#0 ← ++ (byte*) myprintf::str#10 -- pbuz1=_inc_pbuz1 
    inc.z str
    bne !+
    inc.z str+1
  !:
    // [79] phi from myprintf::@32 to myprintf::@1 [phi:myprintf::@32->myprintf::@1]
    // [79] phi (byte) myprintf::bLeadZero#11 = (byte) myprintf::bLeadZero#20 [phi:myprintf::@32->myprintf::@1#0] -- register_copy 
    // [79] phi (byte) myprintf::bDigits#16 = (byte) myprintf::bDigits#28 [phi:myprintf::@32->myprintf::@1#1] -- register_copy 
    // [79] phi (byte) myprintf::bTrailing#11 = (byte) myprintf::bTrailing#24 [phi:myprintf::@32->myprintf::@1#2] -- register_copy 
    // [79] phi (word) myprintf::w#10 = (word) myprintf::w#18 [phi:myprintf::@32->myprintf::@1#3] -- register_copy 
    // [79] phi (byte) myprintf::bArg#10 = (byte) myprintf::bArg#11 [phi:myprintf::@32->myprintf::@1#4] -- register_copy 
    // [79] phi (byte) myprintf::bLen#10 = (byte) myprintf::bLen#28 [phi:myprintf::@32->myprintf::@1#5] -- register_copy 
    // [79] phi (byte) myprintf::bFormat#10 = (byte) myprintf::bFormat#5 [phi:myprintf::@32->myprintf::@1#6] -- register_copy 
    // [79] phi (byte*) myprintf::str#10 = (byte*) myprintf::str#0 [phi:myprintf::@32->myprintf::@1#7] -- register_copy 
    jmp __b1
    // myprintf::@5
  __b5:
    // if (b >= '1' && b <= '9')
    // [88] if((byte) myprintf::b#1<(byte) '1') goto myprintf::@6 -- vbuxx_lt_vbuc1_then_la1 
    cpx #'1'
    bcc __b6
    // myprintf::@43
    // [89] 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 == '-')
    // [90] if((byte) myprintf::b#1!=(byte) '-') goto myprintf::@7 -- vbuxx_neq_vbuc1_then_la1 
    cpx #'-'
    bne __b7
    // [86] phi from myprintf::@6 to myprintf::@32 [phi:myprintf::@6->myprintf::@32]
    // [86] phi (byte) myprintf::bLeadZero#20 = (byte) myprintf::bLeadZero#11 [phi:myprintf::@6->myprintf::@32#0] -- register_copy 
    // [86] phi (byte) myprintf::bDigits#28 = (byte) myprintf::bDigits#16 [phi:myprintf::@6->myprintf::@32#1] -- register_copy 
    // [86] phi (byte) myprintf::bTrailing#24 = (byte) 1 [phi:myprintf::@6->myprintf::@32#2] -- vbuz1=vbuc1 
    lda #1
    sta.z bTrailing
    // [86] phi (word) myprintf::w#18 = (word) myprintf::w#10 [phi:myprintf::@6->myprintf::@32#3] -- register_copy 
    // [86] phi (byte) myprintf::bArg#11 = (byte) myprintf::bArg#10 [phi:myprintf::@6->myprintf::@32#4] -- register_copy 
    // [86] phi (byte) myprintf::bLen#28 = (byte) myprintf::bLen#10 [phi:myprintf::@6->myprintf::@32#5] -- register_copy 
    // [86] phi (byte) myprintf::bFormat#5 = (byte) myprintf::bFormat#10 [phi:myprintf::@6->myprintf::@32#6] -- register_copy 
    jmp __b32
    // myprintf::@7
  __b7:
    // if (b == 'c')
    // [91] 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')
    // [92] 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')
    // [93] if((byte) myprintf::b#1==(byte) 'x') goto myprintf::@31 -- vbuxx_eq_vbuc1_then_la1 
    cpx #'x'
    beq __b31
    // myprintf::@44
    // [94] if((byte) myprintf::b#1==(byte) 'X') goto myprintf::@31 -- vbuxx_eq_vbuc1_then_la1 
    cpx #'X'
    beq __b31
    // [95] phi from myprintf::@13 myprintf::@24 myprintf::@25 myprintf::@44 myprintf::@8 to myprintf::@27 [phi:myprintf::@13/myprintf::@24/myprintf::@25/myprintf::@44/myprintf::@8->myprintf::@27]
  b1:
    // [95] phi (byte) myprintf::bDigits#29 = (byte) myprintf::bDigits#16 [phi:myprintf::@13/myprintf::@24/myprintf::@25/myprintf::@44/myprintf::@8->myprintf::@27#0] -- register_copy 
    // [95] phi (byte) myprintf::bLen#36 = (byte) myprintf::bLen#3 [phi:myprintf::@13/myprintf::@24/myprintf::@25/myprintf::@44/myprintf::@8->myprintf::@27#1] -- register_copy 
    // [95] phi from myprintf::@46 to myprintf::@27 [phi:myprintf::@46->myprintf::@27]
    // myprintf::@27
    // [86] phi from myprintf::@27 to myprintf::@32 [phi:myprintf::@27->myprintf::@32]
    // [86] phi (byte) myprintf::bLeadZero#20 = (byte) myprintf::bLeadZero#11 [phi:myprintf::@27->myprintf::@32#0] -- register_copy 
    // [86] phi (byte) myprintf::bDigits#28 = (byte) myprintf::bDigits#29 [phi:myprintf::@27->myprintf::@32#1] -- register_copy 
    // [86] phi (byte) myprintf::bTrailing#24 = (byte) myprintf::bTrailing#11 [phi:myprintf::@27->myprintf::@32#2] -- register_copy 
    // [86] phi (word) myprintf::w#18 = (word) myprintf::w#10 [phi:myprintf::@27->myprintf::@32#3] -- register_copy 
    // [86] phi (byte) myprintf::bArg#11 = (byte) myprintf::bArg#10 [phi:myprintf::@27->myprintf::@32#4] -- register_copy 
    // [86] phi (byte) myprintf::bLen#28 = (byte) myprintf::bLen#36 [phi:myprintf::@27->myprintf::@32#5] -- register_copy 
    // [86] phi (byte) myprintf::bFormat#5 = (byte) 0 [phi:myprintf::@27->myprintf::@32#6] -- vbuz1=vbuc1 
    lda #0
    sta.z bFormat
    jmp __b32
    // myprintf::@31
  __b31:
    // (byte)w
    // [96] (byte~) myprintf::$18 ← (byte)(word) myprintf::w#10 -- vbuaa=_byte_vwuz1 
    lda.z w
    // (byte)w >> 4
    // [97] (byte~) myprintf::$19 ← (byte~) myprintf::$18 >> (byte) 4 -- vbuaa=vbuaa_ror_4 
    lsr
    lsr
    lsr
    lsr
    // b = ((byte)w >> 4) & 0xF
    // [98] (byte) myprintf::b#15 ← (byte~) myprintf::$19 & (byte) $f -- vbuxx=vbuaa_band_vbuc1 
    ldx #$f
    axs #0
    // b < 10 ? '0' : 0x57
    // [99] if((byte) myprintf::b#15<(byte) $a) goto myprintf::@10 -- vbuxx_lt_vbuc1_then_la1 
    cpx #$a
    bcc __b10
    // [101] phi from myprintf::@31 to myprintf::@11 [phi:myprintf::@31->myprintf::@11]
    // [101] phi (byte~) myprintf::$24 = (byte) $57 [phi:myprintf::@31->myprintf::@11#0] -- vbuaa=vbuc1 
    lda #$57
    jmp __b11
    // [100] phi from myprintf::@31 to myprintf::@10 [phi:myprintf::@31->myprintf::@10]
    // myprintf::@10
  __b10:
    // [101] phi from myprintf::@10 to myprintf::@11 [phi:myprintf::@10->myprintf::@11]
    // [101] phi (byte~) myprintf::$24 = (byte) '0' [phi:myprintf::@10->myprintf::@11#0] -- vbuaa=vbuc1 
    lda #'0'
    // myprintf::@11
  __b11:
    // (b < 10 ? '0' : 0x57) + b
    // [102] (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
    // [103] *((const byte*) strTemp + (byte) myprintf::bLen#10) ← (byte~) myprintf::$25 -- pbuc1_derefidx_vbuz1=vbuaa 
    ldy.z bLen
    sta strTemp,y
    // dst[bLen++] = (b < 10 ? '0' : 0x57) + b;
    // [104] (byte) myprintf::bLen#11 ← ++ (byte) myprintf::bLen#10 -- vbuyy=_inc_vbuz1 
    iny
    // (byte)w
    // [105] (byte~) myprintf::$26 ← (byte)(word) myprintf::w#10 -- vbuaa=_byte_vwuz1 
    lda.z w
    // b = (byte)w & 0xF
    // [106] (byte) myprintf::b#16 ← (byte~) myprintf::$26 & (byte) $f -- vbuxx=vbuaa_band_vbuc1 
    ldx #$f
    axs #0
    // b < 10 ? '0' : 0x57
    // [107] if((byte) myprintf::b#16<(byte) $a) goto myprintf::@12 -- vbuxx_lt_vbuc1_then_la1 
    cpx #$a
    bcc __b12
    // [109] phi from myprintf::@11 to myprintf::@13 [phi:myprintf::@11->myprintf::@13]
    // [109] phi (byte~) myprintf::$31 = (byte) $57 [phi:myprintf::@11->myprintf::@13#0] -- vbuaa=vbuc1 
    lda #$57
    jmp __b13
    // [108] phi from myprintf::@11 to myprintf::@12 [phi:myprintf::@11->myprintf::@12]
    // myprintf::@12
  __b12:
    // [109] phi from myprintf::@12 to myprintf::@13 [phi:myprintf::@12->myprintf::@13]
    // [109] phi (byte~) myprintf::$31 = (byte) '0' [phi:myprintf::@12->myprintf::@13#0] -- vbuaa=vbuc1 
    lda #'0'
    // myprintf::@13
  __b13:
    // (b < 10 ? '0' : 0x57) + b
    // [110] (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
    // [111] *((const byte*) strTemp + (byte) myprintf::bLen#11) ← (byte~) myprintf::$32 -- pbuc1_derefidx_vbuyy=vbuaa 
    sta strTemp,y
    // dst[bLen++] = (b < 10 ? '0' : 0x57) + b;
    // [112] (byte) myprintf::bLen#3 ← ++ (byte) myprintf::bLen#11 -- vbuz1=_inc_vbuyy 
    iny
    sty.z bLen
    jmp b1
    // myprintf::@9
  __b9:
    // utoa(w, buf6)
    // [113] (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
    // [114] call utoa 
    // [159] phi from myprintf::@9 to utoa [phi:myprintf::@9->utoa]
    jsr utoa
    // [115] phi from myprintf::@9 to myprintf::@14 [phi:myprintf::@9->myprintf::@14]
    // [115] 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)
    // [116] if(*((const byte*) myprintf::buf6 + (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)
    // [117] if((byte) myprintf::bTrailing#11!=(byte) 0) goto myprintf::@17 -- vbuz1_neq_0_then_la1 
    lda.z bTrailing
    cmp #0
    bne b2
    // myprintf::@45
    // [118] if((byte) myprintf::bDigits#16<=(byte) myprintf::b#17) goto myprintf::@17 -- vbuz1_le_vbuz2_then_la1 
    tya
    cmp.z bDigits
    bcs b2
    // [119] phi from myprintf::@21 myprintf::@45 to myprintf::@18 [phi:myprintf::@21/myprintf::@45->myprintf::@18]
    // [119] phi (byte) myprintf::bLen#12 = (byte) myprintf::bLen#4 [phi:myprintf::@21/myprintf::@45->myprintf::@18#0] -- register_copy 
    // [119] phi (byte) myprintf::bDigits#12 = (byte) myprintf::bDigits#2 [phi:myprintf::@21/myprintf::@45->myprintf::@18#1] -- register_copy 
    // myprintf::@18
  __b18:
    // for (; bDigits > b; --bDigits)
    // [120] 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
    // [121] phi from myprintf::@16 myprintf::@18 to myprintf::@17 [phi:myprintf::@16/myprintf::@18->myprintf::@17]
  b2:
    // [121] phi (byte) myprintf::bDigits#18 = (byte) myprintf::bDigits#16 [phi:myprintf::@16/myprintf::@18->myprintf::@17#0] -- register_copy 
    // [121] phi (byte) myprintf::bLen#32 = (byte) myprintf::bLen#10 [phi:myprintf::@16/myprintf::@18->myprintf::@17#1] -- register_copy 
    // [121] phi from myprintf::@45 to myprintf::@17 [phi:myprintf::@45->myprintf::@17]
    // myprintf::@17
    // [122] phi from myprintf::@17 to myprintf::@22 [phi:myprintf::@17->myprintf::@22]
    // [122] phi (byte) myprintf::bLen#13 = (byte) myprintf::bLen#32 [phi:myprintf::@17->myprintf::@22#0] -- register_copy 
    // [122] 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)
    // [123] 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)
    // [124] if((byte) myprintf::bTrailing#11==(byte) 0) goto myprintf::@27 -- vbuz1_eq_0_then_la1 
    lda.z bTrailing
    cmp #0
    beq b1
    // myprintf::@46
    // [125] if((byte) myprintf::bDigits#18<=(byte) myprintf::b#17) goto myprintf::@27 -- vbuz1_le_vbuz2_then_la1 
    lda.z b
    cmp.z bDigits
    bcc !b1+
    jmp b1
  !b1:
    // [126] phi from myprintf::@26 myprintf::@46 to myprintf::@25 [phi:myprintf::@26/myprintf::@46->myprintf::@25]
    // [126] phi (byte) myprintf::bLen#14 = (byte) myprintf::bLen#6 [phi:myprintf::@26/myprintf::@46->myprintf::@25#0] -- register_copy 
    // [126] phi (byte) myprintf::bDigits#10 = (byte) myprintf::bDigits#3 [phi:myprintf::@26/myprintf::@46->myprintf::@25#1] -- register_copy 
    // myprintf::@25
  __b25:
    // for (; bDigits > b; --bDigits)
    // [127] 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 b1
    // myprintf::@26
  __b26:
    // dst[bLen++] = ' '
    // [128] *((const byte*) strTemp + (byte) myprintf::bLen#14) ← (byte) ' ' -- pbuc1_derefidx_vbuz1=vbuc2 
    lda #' '
    ldy.z bLen
    sta strTemp,y
    // dst[bLen++] = ' ';
    // [129] (byte) myprintf::bLen#6 ← ++ (byte) myprintf::bLen#14 -- vbuz1=_inc_vbuz1 
    inc.z bLen
    // for (; bDigits > b; --bDigits)
    // [130] (byte) myprintf::bDigits#3 ← -- (byte) myprintf::bDigits#10 -- vbuz1=_dec_vbuz1 
    dec.z bDigits
    jmp __b25
    // myprintf::@23
  __b23:
    // dst[bLen++] = buf6[digit]
    // [131] *((const byte*) strTemp + (byte) myprintf::bLen#13) ← *((const byte*) myprintf::buf6 + (byte) myprintf::digit#3) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuxx 
    lda buf6,x
    ldy.z bLen
    sta strTemp,y
    // dst[bLen++] = buf6[digit];
    // [132] (byte) myprintf::bLen#5 ← ++ (byte) myprintf::bLen#13 -- vbuz1=_inc_vbuz1 
    inc.z bLen
    // for (digit = 0; digit < b; ++digit)
    // [133] (byte) myprintf::digit#2 ← ++ (byte) myprintf::digit#3 -- vbuxx=_inc_vbuxx 
    inx
    // [122] phi from myprintf::@23 to myprintf::@22 [phi:myprintf::@23->myprintf::@22]
    // [122] phi (byte) myprintf::bLen#13 = (byte) myprintf::bLen#5 [phi:myprintf::@23->myprintf::@22#0] -- register_copy 
    // [122] 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'
    // [134] if((byte) myprintf::bLeadZero#11==(byte) 0) goto myprintf::@20 -- vbuz1_eq_0_then_la1 
    lda.z bLeadZero
    cmp #0
    beq __b20
    // [136] phi from myprintf::@19 to myprintf::@21 [phi:myprintf::@19->myprintf::@21]
    // [136] phi (byte~) myprintf::$43 = (byte) '0' [phi:myprintf::@19->myprintf::@21#0] -- vbuaa=vbuc1 
    lda #'0'
    jmp __b21
    // [135] phi from myprintf::@19 to myprintf::@20 [phi:myprintf::@19->myprintf::@20]
    // myprintf::@20
  __b20:
    // [136] phi from myprintf::@20 to myprintf::@21 [phi:myprintf::@20->myprintf::@21]
    // [136] phi (byte~) myprintf::$43 = (byte) ' ' [phi:myprintf::@20->myprintf::@21#0] -- vbuaa=vbuc1 
    lda #' '
    // myprintf::@21
  __b21:
    // dst[bLen++] = (bLeadZero == 0) ? ' ' : '0'
    // [137] *((const byte*) strTemp + (byte) myprintf::bLen#12) ← (byte~) myprintf::$43 -- pbuc1_derefidx_vbuz1=vbuaa 
    ldy.z bLen
    sta strTemp,y
    // dst[bLen++] = (bLeadZero == 0) ? ' ' : '0';
    // [138] (byte) myprintf::bLen#4 ← ++ (byte) myprintf::bLen#12 -- vbuz1=_inc_vbuz1 
    inc.z bLen
    // for (; bDigits > b; --bDigits)
    // [139] (byte) myprintf::bDigits#2 ← -- (byte) myprintf::bDigits#12 -- vbuz1=_dec_vbuz1 
    dec.z bDigits
    jmp __b18
    // myprintf::@15
  __b15:
    // ++b;
    // [140] (byte) myprintf::b#5 ← ++ (byte) myprintf::b#17 -- vbuz1=_inc_vbuz1 
    inc.z b
    // [115] phi from myprintf::@15 to myprintf::@14 [phi:myprintf::@15->myprintf::@14]
    // [115] phi (byte) myprintf::b#17 = (byte) myprintf::b#5 [phi:myprintf::@15->myprintf::@14#0] -- register_copy 
    jmp __b14
    // myprintf::@8
  __b8:
    // (byte)w
    // [141] (byte~) myprintf::$50 ← (byte)(word) myprintf::w#10 -- vbuaa=_byte_vwuz1 
    lda.z w
    // dst[bLen++] = (byte)w
    // [142] *((const byte*) strTemp + (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;
    // [143] (byte) myprintf::bLen#1 ← ++ (byte) myprintf::bLen#10 -- vbuz1=_inc_vbuz1 
    inc.z bLen
    jmp b1
    // myprintf::@28
  __b28:
    // bDigits = b - '0'
    // [144] (byte) myprintf::bDigits#1 ← (byte) myprintf::b#1 - (byte) '0' -- vbuz1=vbuxx_minus_vbuc1 
    txa
    axs #'0'
    stx.z bDigits
    // [86] phi from myprintf::@28 myprintf::@37 to myprintf::@32 [phi:myprintf::@28/myprintf::@37->myprintf::@32]
    // [86] phi (byte) myprintf::bLeadZero#20 = (byte) myprintf::bLeadZero#11 [phi:myprintf::@28/myprintf::@37->myprintf::@32#0] -- register_copy 
    // [86] phi (byte) myprintf::bDigits#28 = (byte) myprintf::bDigits#1 [phi:myprintf::@28/myprintf::@37->myprintf::@32#1] -- register_copy 
    // [86] phi (byte) myprintf::bTrailing#24 = (byte) myprintf::bTrailing#11 [phi:myprintf::@28/myprintf::@37->myprintf::@32#2] -- register_copy 
    // [86] phi (word) myprintf::w#18 = (word) myprintf::w#10 [phi:myprintf::@28/myprintf::@37->myprintf::@32#3] -- register_copy 
    // [86] phi (byte) myprintf::bArg#11 = (byte) myprintf::bArg#10 [phi:myprintf::@28/myprintf::@37->myprintf::@32#4] -- register_copy 
    // [86] phi (byte) myprintf::bLen#28 = (byte) myprintf::bLen#10 [phi:myprintf::@28/myprintf::@37->myprintf::@32#5] -- register_copy 
    // [86] phi (byte) myprintf::bFormat#5 = (byte) myprintf::bFormat#10 [phi:myprintf::@28/myprintf::@37->myprintf::@32#6] -- register_copy 
    jmp __b32
    // myprintf::@4
  __b4:
    // if (b == '%')
    // [145] if((byte) myprintf::b#1!=(byte) '%') goto myprintf::@33 -- vbuxx_neq_vbuc1_then_la1 
    cpx #'%'
    bne __b33
    // myprintf::@39
    // if (bArg == 0)
    // [146] if((byte) myprintf::bArg#10==(byte) 0) goto myprintf::@34 -- 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 __b34
    // myprintf::@40
    // if (bArg == 1)
    // [147] if((byte) myprintf::bArg#10==(byte) 1) goto myprintf::@35 -- vbuz1_eq_vbuc1_then_la1 
    lda #1
    cmp.z bArg
    beq __b35
    // myprintf::@41
    // [148] (word) myprintf::w#55 ← (word) myprintf::w3#8 -- vwuz1=vwuz2 
    lda.z w3
    sta.z w
    lda.z w3+1
    sta.z w+1
    // [149] phi from myprintf::@34 myprintf::@35 myprintf::@41 to myprintf::@36 [phi:myprintf::@34/myprintf::@35/myprintf::@41->myprintf::@36]
    // [149] phi (word) myprintf::w#22 = (word) myprintf::w#53 [phi:myprintf::@34/myprintf::@35/myprintf::@41->myprintf::@36#0] -- register_copy 
    // myprintf::@36
  __b36:
    // ++bArg;
    // [150] (byte) myprintf::bArg#1 ← ++ (byte) myprintf::bArg#10 -- vbuz1=_inc_vbuz1 
    inc.z bArg
    // [86] phi from myprintf::@36 to myprintf::@32 [phi:myprintf::@36->myprintf::@32]
    // [86] phi (byte) myprintf::bLeadZero#20 = (byte) 0 [phi:myprintf::@36->myprintf::@32#0] -- vbuz1=vbuc1 
    lda #0
    sta.z bLeadZero
    // [86] phi (byte) myprintf::bDigits#28 = (byte) 1 [phi:myprintf::@36->myprintf::@32#1] -- vbuz1=vbuc1 
    lda #1
    sta.z bDigits
    // [86] phi (byte) myprintf::bTrailing#24 = (byte) 0 [phi:myprintf::@36->myprintf::@32#2] -- vbuz1=vbuc1 
    lda #0
    sta.z bTrailing
    // [86] phi (word) myprintf::w#18 = (word) myprintf::w#22 [phi:myprintf::@36->myprintf::@32#3] -- register_copy 
    // [86] phi (byte) myprintf::bArg#11 = (byte) myprintf::bArg#1 [phi:myprintf::@36->myprintf::@32#4] -- register_copy 
    // [86] phi (byte) myprintf::bLen#28 = (byte) myprintf::bLen#10 [phi:myprintf::@36->myprintf::@32#5] -- register_copy 
    // [86] phi (byte) myprintf::bFormat#5 = (byte) 1 [phi:myprintf::@36->myprintf::@32#6] -- vbuz1=vbuc1 
    lda #1
    sta.z bFormat
    jmp __b32
    // myprintf::@35
  __b35:
    // [151] (word) myprintf::w#54 ← (word) myprintf::w2#8 -- vwuz1=vwuz2 
    lda.z w2
    sta.z w
    lda.z w2+1
    sta.z w+1
    jmp __b36
    // myprintf::@34
  __b34:
    // [152] (word) myprintf::w#53 ← (word) myprintf::w1#7 -- vwuz1=vwuz2 
    lda.z w1
    sta.z w
    lda.z w1+1
    sta.z w+1
    jmp __b36
    // myprintf::@33
  __b33:
    // if (b >= 0x41 && b <= 0x5A)
    // [153] if((byte) myprintf::b#1<(byte) $41) goto myprintf::@37 -- vbuxx_lt_vbuc1_then_la1 
    cpx #$41
    bcc b4
    // myprintf::@47
    // [154] if((byte) myprintf::b#1>=(byte) $5a+(byte) 1) goto myprintf::@37 -- vbuxx_ge_vbuc1_then_la1 
    cpx #$5a+1
    bcs b4
    // myprintf::@42
    // b += 0x20
    // [155] (byte) myprintf::b#6 ← (byte) myprintf::b#1 + (byte) $20 -- vbuxx=vbuxx_plus_vbuc1 
    txa
    axs #-[$20]
    // [156] phi from myprintf::@33 myprintf::@42 to myprintf::@37 [phi:myprintf::@33/myprintf::@42->myprintf::@37]
  b4:
    // [156] phi (byte) myprintf::b#25 = (byte) myprintf::b#1 [phi:myprintf::@33/myprintf::@42->myprintf::@37#0] -- register_copy 
    // [156] phi from myprintf::@47 to myprintf::@37 [phi:myprintf::@47->myprintf::@37]
    // myprintf::@37
    // dst[bLen++] = b
    // [157] *((const byte*) strTemp + (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;
    // [158] (byte) myprintf::bLen#7 ← ++ (byte) myprintf::bLen#10 -- vbuz1=_inc_vbuz1 
    inc.z bLen
    jmp __b32
    buf6: .fill 6, 0
}
  // utoa
// utoa(word zp($11) value, byte* zp($13) dst)
utoa: {
    .label value = $11
    .label dst = $13
    // utoa::@13
    // if (bStarted == 1 || value >= 10000)
    // [160] 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:
  !:
    // [161] phi from utoa::@13 to utoa::@1 [phi:utoa::@13->utoa::@1]
    // [161] phi (byte*) utoa::dst#16 = (const byte*) myprintf::buf6 [phi:utoa::@13->utoa::@1#0] -- pbuz1=pbuc1 
    lda #<myprintf.buf6
    sta.z dst
    lda #>myprintf.buf6
    sta.z dst+1
    // [161] phi (word) utoa::value#6 = (word) utoa::value#4 [phi:utoa::@13->utoa::@1#1] -- register_copy 
    // [161] 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)
    // [162] if((byte) utoa::bStarted#5==(byte) 1) goto utoa::@6 -- vbuxx_eq_vbuc1_then_la1 
    cpx #1
    beq __b6
    // utoa::@14
    // [163] 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
  !:
    // [164] phi from utoa::@14 to utoa::@2 [phi:utoa::@14->utoa::@2]
    // [164] phi (byte*) utoa::dst#10 = (byte*) utoa::dst#16 [phi:utoa::@14->utoa::@2#0] -- register_copy 
    // [164] phi (word) utoa::value#11 = (word) utoa::value#6 [phi:utoa::@14->utoa::@2#1] -- register_copy 
    // [164] 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)
    // [165] if((byte) utoa::bStarted#6==(byte) 1) goto utoa::@7 -- vbuxx_eq_vbuc1_then_la1 
    cpx #1
    beq __b7
    // utoa::@15
    // [166] if((word) utoa::value#11>=(byte) $64) goto utoa::@7 -- vwuz1_ge_vbuc1_then_la1 
    lda.z value+1
    bne __b7
    lda.z value
    cmp #$64
    bcs __b7
  !:
    // [167] phi from utoa::@15 to utoa::@3 [phi:utoa::@15->utoa::@3]
    // [167] phi (byte*) utoa::dst#13 = (byte*) utoa::dst#10 [phi:utoa::@15->utoa::@3#0] -- register_copy 
    // [167] phi (word) utoa::value#10 = (word) utoa::value#11 [phi:utoa::@15->utoa::@3#1] -- register_copy 
    // [167] 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)
    // [168] if((byte) utoa::bStarted#7==(byte) 1) goto utoa::@8 -- vbuxx_eq_vbuc1_then_la1 
    cpx #1
    beq __b8
    // utoa::@16
    // [169] if((word) utoa::value#10>=(byte) $a) goto utoa::@8 -- vwuz1_ge_vbuc1_then_la1 
    lda.z value+1
    bne __b8
    lda.z value
    cmp #$a
    bcs __b8
  !:
    // [170] phi from utoa::@12 utoa::@16 to utoa::@4 [phi:utoa::@12/utoa::@16->utoa::@4]
    // [170] phi (byte*) utoa::dst#12 = (byte*) utoa::dst#4 [phi:utoa::@12/utoa::@16->utoa::@4#0] -- register_copy 
    // [170] phi (word) utoa::value#12 = (word) utoa::value#3 [phi:utoa::@12/utoa::@16->utoa::@4#1] -- register_copy 
    // utoa::@4
  __b4:
    // (byte)value
    // [171] (byte~) utoa::$16 ← (byte)(word) utoa::value#12 -- vbuaa=_byte_vwuz1 
    lda.z value
    // '0' + (byte)value
    // [172] (byte~) utoa::$17 ← (byte) '0' + (byte~) utoa::$16 -- vbuaa=vbuc1_plus_vbuaa 
    clc
    adc #'0'
    // *dst++ = '0' + (byte)value
    // [173] *((byte*) utoa::dst#12) ← (byte~) utoa::$17 -- _deref_pbuz1=vbuaa 
    ldy #0
    sta (dst),y
    // *dst++ = '0' + (byte)value;
    // [174] (byte*) utoa::dst#3 ← ++ (byte*) utoa::dst#12 -- pbuz1=_inc_pbuz1 
    inc.z dst
    bne !+
    inc.z dst+1
  !:
    // *dst = 0
    // [175] *((byte*) utoa::dst#3) ← (byte) 0 -- _deref_pbuz1=vbuc1 
    lda #0
    tay
    sta (dst),y
    // utoa::@return
    // }
    // [176] return 
    rts
    // utoa::@8
  __b8:
    // append(dst++, value, 10)
    // [177] (byte*) append::dst#3 ← (byte*) utoa::dst#13
    // [178] (word) append::value#4 ← (word) utoa::value#10
    // [179] call append 
    // [199] phi from utoa::@8 to append [phi:utoa::@8->append]
    // [199] 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
    // [199] phi (word) append::value#8 = (word) append::value#4 [phi:utoa::@8->append#1] -- register_copy 
    // [199] phi (byte*) append::dst#4 = (byte*) append::dst#3 [phi:utoa::@8->append#2] -- register_copy 
    jsr append
    // append(dst++, value, 10)
    // [180] (word) append::return#10 ← (word) append::value#5
    // utoa::@12
    // value = append(dst++, value, 10)
    // [181] (word) utoa::value#3 ← (word) append::return#10
    // value = append(dst++, value, 10);
    // [182] (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)
    // [183] (byte*) append::dst#2 ← (byte*) utoa::dst#10
    // [184] (word) append::value#3 ← (word) utoa::value#11
    // [185] call append 
    // [199] phi from utoa::@7 to append [phi:utoa::@7->append]
    // [199] 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
    // [199] phi (word) append::value#8 = (word) append::value#3 [phi:utoa::@7->append#1] -- register_copy 
    // [199] phi (byte*) append::dst#4 = (byte*) append::dst#2 [phi:utoa::@7->append#2] -- register_copy 
    jsr append
    // append(dst++, value, 100)
    // [186] (word) append::return#4 ← (word) append::value#5
    // utoa::@11
    // value = append(dst++, value, 100)
    // [187] (word) utoa::value#2 ← (word) append::return#4
    // value = append(dst++, value, 100);
    // [188] (byte*) utoa::dst#2 ← ++ (byte*) utoa::dst#10 -- pbuz1=_inc_pbuz1 
    inc.z dst
    bne !+
    inc.z dst+1
  !:
    // [167] phi from utoa::@11 to utoa::@3 [phi:utoa::@11->utoa::@3]
    // [167] phi (byte*) utoa::dst#13 = (byte*) utoa::dst#2 [phi:utoa::@11->utoa::@3#0] -- register_copy 
    // [167] phi (word) utoa::value#10 = (word) utoa::value#2 [phi:utoa::@11->utoa::@3#1] -- register_copy 
    // [167] 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)
    // [189] (byte*) append::dst#1 ← (byte*) utoa::dst#16
    // [190] (word) append::value#2 ← (word) utoa::value#6
    // [191] call append 
    // [199] phi from utoa::@6 to append [phi:utoa::@6->append]
    // [199] 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
    // [199] phi (word) append::value#8 = (word) append::value#2 [phi:utoa::@6->append#1] -- register_copy 
    // [199] phi (byte*) append::dst#4 = (byte*) append::dst#1 [phi:utoa::@6->append#2] -- register_copy 
    jsr append
    // append(dst++, value, 1000)
    // [192] (word) append::return#3 ← (word) append::value#5
    // utoa::@10
    // value = append(dst++, value, 1000)
    // [193] (word) utoa::value#1 ← (word) append::return#3
    // value = append(dst++, value, 1000);
    // [194] (byte*) utoa::dst#1 ← ++ (byte*) utoa::dst#16 -- pbuz1=_inc_pbuz1 
    inc.z dst
    bne !+
    inc.z dst+1
  !:
    // [164] phi from utoa::@10 to utoa::@2 [phi:utoa::@10->utoa::@2]
    // [164] phi (byte*) utoa::dst#10 = (byte*) utoa::dst#1 [phi:utoa::@10->utoa::@2#0] -- register_copy 
    // [164] phi (word) utoa::value#11 = (word) utoa::value#1 [phi:utoa::@10->utoa::@2#1] -- register_copy 
    // [164] 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)
    // [195] (word) append::value#1 ← (word) utoa::value#4
    // [196] call append 
    // [199] phi from utoa::@5 to append [phi:utoa::@5->append]
    // [199] 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
    // [199] phi (word) append::value#8 = (word) append::value#1 [phi:utoa::@5->append#1] -- register_copy 
    // [199] phi (byte*) append::dst#4 = (const byte*) myprintf::buf6 [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)
    // [197] (word) append::return#2 ← (word) append::value#5
    // utoa::@9
    // value = append(dst++, value, 10000)
    // [198] (word) utoa::value#0 ← (word) append::return#2
    // [161] phi from utoa::@9 to utoa::@1 [phi:utoa::@9->utoa::@1]
    // [161] phi (byte*) utoa::dst#16 = ++(const byte*) myprintf::buf6 [phi:utoa::@9->utoa::@1#0] -- pbuz1=pbuc1 
    lda #<myprintf.buf6+1
    sta.z dst
    lda #>myprintf.buf6+1
    sta.z dst+1
    // [161] phi (word) utoa::value#6 = (word) utoa::value#0 [phi:utoa::@9->utoa::@1#1] -- register_copy 
    // [161] 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* zp($13) dst, word zp($11) value, word zp($15) sub)
append: {
    .label value = $11
    .label return = $11
    .label dst = $13
    .label sub = $15
    // *dst = '0'
    // [200] *((byte*) append::dst#4) ← (byte) '0' -- _deref_pbuz1=vbuc1 
    lda #'0'
    ldy #0
    sta (dst),y
    // [201] phi from append append::@2 to append::@1 [phi:append/append::@2->append::@1]
    // [201] phi (word) append::value#5 = (word) append::value#8 [phi:append/append::@2->append::@1#0] -- register_copy 
    // append::@1
  __b1:
    // while (value >= sub)
    // [202] 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
    // }
    // [203] return 
    rts
    // append::@2
  __b2:
    // ++*dst;
    // [204] *((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
    // [205] (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 zp($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
    // [206] (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
    // [207] (word) div10::val#0 ← (word~) div10::$0 + (byte) 1 -- vwuz1=vwuz1_plus_1 
    inc.z val
    bne !+
    inc.z val+1
  !:
    // val << 1
    // [208] (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
    // [209] (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
    // [210] (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
    // [211] (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
    // [212] (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
    // [213] (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
    // [214] (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
    // }
    // [215] return 
    rts
}
  // File Data
  // "char buf16[16]" is the normal way -- not supported -- https://gitlab.com/camelot/kickc/issues/162
  strTemp: .fill $64, 0

