|
|
|
@ -5576,13 +5576,11 @@ utoa: {
|
|
|
|
|
jmp b15
|
|
|
|
|
// utoa::@15
|
|
|
|
|
b15:
|
|
|
|
|
// [165] if((word) utoa::value#11>=(byte) $64) goto utoa::@7 -- vwuz1_ge_vwuc1_then_la1
|
|
|
|
|
// [165] if((word) utoa::value#11>=(byte) $64) goto utoa::@7 -- vwuz1_ge_vbuc1_then_la1
|
|
|
|
|
lda.z value+1
|
|
|
|
|
cmp #>$64
|
|
|
|
|
bcc !+
|
|
|
|
|
bne b7
|
|
|
|
|
lda.z value
|
|
|
|
|
cmp #<$64
|
|
|
|
|
cmp #$64
|
|
|
|
|
bcs b7
|
|
|
|
|
!:
|
|
|
|
|
// [166] phi from utoa::@15 to utoa::@3 [phi:utoa::@15->utoa::@3]
|
|
|
|
@ -5600,13 +5598,11 @@ utoa: {
|
|
|
|
|
jmp b16
|
|
|
|
|
// utoa::@16
|
|
|
|
|
b16:
|
|
|
|
|
// [168] if((word) utoa::value#10>=(byte) $a) goto utoa::@8 -- vwuz1_ge_vwuc1_then_la1
|
|
|
|
|
// [168] if((word) utoa::value#10>=(byte) $a) goto utoa::@8 -- vwuz1_ge_vbuc1_then_la1
|
|
|
|
|
lda.z value+1
|
|
|
|
|
cmp #>$a
|
|
|
|
|
bcc !+
|
|
|
|
|
bne b8
|
|
|
|
|
lda.z value
|
|
|
|
|
cmp #<$a
|
|
|
|
|
cmp #$a
|
|
|
|
|
bcs b8
|
|
|
|
|
!:
|
|
|
|
|
// [169] phi from utoa::@12 utoa::@16 to utoa::@4 [phi:utoa::@12/utoa::@16->utoa::@4]
|
|
|
|
@ -6276,56 +6272,56 @@ Uplift Scope [utoa] 57.17: zp ZP_WORD:38 [ utoa::value#12 utoa::value#3 utoa::va
|
|
|
|
|
Uplift Scope [Print]
|
|
|
|
|
Uplift Scope []
|
|
|
|
|
|
|
|
|
|
Uplifting [divr16u] best 469986 combination zp ZP_WORD:8 [ divr16u::rem#4 divr16u::rem#9 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp ZP_WORD:12 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp ZP_WORD:10 [ divr16u::dividend#2 divr16u::dividend#1 divr16u::dividend#0 ] zp ZP_WORD:68 [ divr16u::return#2 ]
|
|
|
|
|
Uplifting [append] best 469986 combination zp ZP_WORD:46 [ append::value#5 append::value#8 append::value#1 append::value#2 append::value#3 append::value#4 append::value#0 ] zp ZP_WORD:42 [ append::dst#4 append::dst#1 append::dst#2 append::dst#3 ] zp ZP_WORD:44 [ append::sub#6 ] zp ZP_WORD:87 [ append::return#10 ] zp ZP_WORD:89 [ append::return#4 ] zp ZP_WORD:91 [ append::return#3 ] zp ZP_WORD:93 [ append::return#2 ]
|
|
|
|
|
Uplifting [main] best 469986 combination zp ZP_WORD:6 [ main::v#10 main::v#12 main::v#11 main::v#13 main::v#2 main::v#1 ] zp ZP_WORD:48 [ main::$12 ] zp ZP_WORD:52 [ main::$14 ] zp ZP_WORD:58 [ main::$3 ] zp ZP_WORD:62 [ main::$5 ] zp ZP_WORD:2 [ main::u#15 main::u#3 ] zp ZP_WORD:4 [ main::u#17 main::u#4 ] zp ZP_WORD:50 [ main::$13 ] zp ZP_WORD:60 [ main::$4 ]
|
|
|
|
|
Uplifting [div10] best 469986 combination zp ZP_WORD:56 [ div10::return#2 ] zp ZP_WORD:54 [ div10::val#4 ] zp ZP_WORD:111 [ div10::return#0 ] zp ZP_WORD:95 [ div10::$0 ] zp ZP_WORD:99 [ div10::$2 ] zp ZP_WORD:103 [ div10::$3 ] zp ZP_WORD:107 [ div10::$4 ] zp ZP_WORD:109 [ div10::val#3 ] zp ZP_WORD:97 [ div10::val#0 ] zp ZP_WORD:101 [ div10::val#1 ] zp ZP_WORD:105 [ div10::val#2 ]
|
|
|
|
|
Uplifting [div16u] best 469986 combination zp ZP_WORD:66 [ div16u::return#2 ] zp ZP_WORD:64 [ div16u::dividend#0 ] zp ZP_WORD:70 [ div16u::return#0 ]
|
|
|
|
|
Uplifting [utoa] best 469955 combination zp ZP_WORD:38 [ utoa::value#12 utoa::value#3 utoa::value#10 utoa::value#2 utoa::value#11 utoa::value#6 utoa::value#4 utoa::value#0 utoa::value#1 ] zp ZP_WORD:40 [ utoa::dst#12 utoa::dst#4 utoa::dst#13 utoa::dst#2 utoa::dst#10 utoa::dst#16 utoa::dst#1 ] reg byte x [ utoa::bStarted#7 utoa::bStarted#6 utoa::bStarted#5 ] reg byte a [ utoa::$16 ] reg byte a [ utoa::$17 ] zp ZP_WORD:85 [ utoa::dst#3 ]
|
|
|
|
|
Uplifting [Print] best 469955 combination
|
|
|
|
|
Uplifting [] best 469955 combination
|
|
|
|
|
Uplifting [divr16u] best 469978 combination zp ZP_WORD:8 [ divr16u::rem#4 divr16u::rem#9 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp ZP_WORD:12 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp ZP_WORD:10 [ divr16u::dividend#2 divr16u::dividend#1 divr16u::dividend#0 ] zp ZP_WORD:68 [ divr16u::return#2 ]
|
|
|
|
|
Uplifting [append] best 469978 combination zp ZP_WORD:46 [ append::value#5 append::value#8 append::value#1 append::value#2 append::value#3 append::value#4 append::value#0 ] zp ZP_WORD:42 [ append::dst#4 append::dst#1 append::dst#2 append::dst#3 ] zp ZP_WORD:44 [ append::sub#6 ] zp ZP_WORD:87 [ append::return#10 ] zp ZP_WORD:89 [ append::return#4 ] zp ZP_WORD:91 [ append::return#3 ] zp ZP_WORD:93 [ append::return#2 ]
|
|
|
|
|
Uplifting [main] best 469978 combination zp ZP_WORD:6 [ main::v#10 main::v#12 main::v#11 main::v#13 main::v#2 main::v#1 ] zp ZP_WORD:48 [ main::$12 ] zp ZP_WORD:52 [ main::$14 ] zp ZP_WORD:58 [ main::$3 ] zp ZP_WORD:62 [ main::$5 ] zp ZP_WORD:2 [ main::u#15 main::u#3 ] zp ZP_WORD:4 [ main::u#17 main::u#4 ] zp ZP_WORD:50 [ main::$13 ] zp ZP_WORD:60 [ main::$4 ]
|
|
|
|
|
Uplifting [div10] best 469978 combination zp ZP_WORD:56 [ div10::return#2 ] zp ZP_WORD:54 [ div10::val#4 ] zp ZP_WORD:111 [ div10::return#0 ] zp ZP_WORD:95 [ div10::$0 ] zp ZP_WORD:99 [ div10::$2 ] zp ZP_WORD:103 [ div10::$3 ] zp ZP_WORD:107 [ div10::$4 ] zp ZP_WORD:109 [ div10::val#3 ] zp ZP_WORD:97 [ div10::val#0 ] zp ZP_WORD:101 [ div10::val#1 ] zp ZP_WORD:105 [ div10::val#2 ]
|
|
|
|
|
Uplifting [div16u] best 469978 combination zp ZP_WORD:66 [ div16u::return#2 ] zp ZP_WORD:64 [ div16u::dividend#0 ] zp ZP_WORD:70 [ div16u::return#0 ]
|
|
|
|
|
Uplifting [utoa] best 469947 combination zp ZP_WORD:38 [ utoa::value#12 utoa::value#3 utoa::value#10 utoa::value#2 utoa::value#11 utoa::value#6 utoa::value#4 utoa::value#0 utoa::value#1 ] zp ZP_WORD:40 [ utoa::dst#12 utoa::dst#4 utoa::dst#13 utoa::dst#2 utoa::dst#10 utoa::dst#16 utoa::dst#1 ] reg byte x [ utoa::bStarted#7 utoa::bStarted#6 utoa::bStarted#5 ] reg byte a [ utoa::$16 ] reg byte a [ utoa::$17 ] zp ZP_WORD:85 [ utoa::dst#3 ]
|
|
|
|
|
Uplifting [Print] best 469947 combination
|
|
|
|
|
Uplifting [] best 469947 combination
|
|
|
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:33 [ myprintf::bLen#36 myprintf::bLen#12 myprintf::bLen#10 myprintf::bLen#28 myprintf::bLen#7 myprintf::bLen#3 myprintf::bLen#13 myprintf::bLen#14 myprintf::bLen#1 myprintf::bLen#4 myprintf::bLen#5 myprintf::bLen#6 ]
|
|
|
|
|
Uplifting [myprintf] best 469955 combination zp ZP_BYTE:33 [ myprintf::bLen#36 myprintf::bLen#12 myprintf::bLen#10 myprintf::bLen#28 myprintf::bLen#7 myprintf::bLen#3 myprintf::bLen#13 myprintf::bLen#14 myprintf::bLen#1 myprintf::bLen#4 myprintf::bLen#5 myprintf::bLen#6 ]
|
|
|
|
|
Uplifting [myprintf] best 469947 combination zp ZP_BYTE:33 [ myprintf::bLen#36 myprintf::bLen#12 myprintf::bLen#10 myprintf::bLen#28 myprintf::bLen#7 myprintf::bLen#3 myprintf::bLen#13 myprintf::bLen#14 myprintf::bLen#1 myprintf::bLen#4 myprintf::bLen#5 myprintf::bLen#6 ]
|
|
|
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:32 [ myprintf::bDigits#12 myprintf::bDigits#16 myprintf::bDigits#28 myprintf::bDigits#1 myprintf::bDigits#18 myprintf::bDigits#10 myprintf::bDigits#2 myprintf::bDigits#3 ]
|
|
|
|
|
Uplifting [myprintf] best 469955 combination zp ZP_BYTE:32 [ myprintf::bDigits#12 myprintf::bDigits#16 myprintf::bDigits#28 myprintf::bDigits#1 myprintf::bDigits#18 myprintf::bDigits#10 myprintf::bDigits#2 myprintf::bDigits#3 ]
|
|
|
|
|
Uplifting [myprintf] best 469947 combination zp ZP_BYTE:32 [ myprintf::bDigits#12 myprintf::bDigits#16 myprintf::bDigits#28 myprintf::bDigits#1 myprintf::bDigits#18 myprintf::bDigits#10 myprintf::bDigits#2 myprintf::bDigits#3 ]
|
|
|
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:34 [ myprintf::digit#3 myprintf::digit#2 ]
|
|
|
|
|
Uplifting [myprintf] best 457955 combination reg byte x [ myprintf::digit#3 myprintf::digit#2 ]
|
|
|
|
|
Uplifting [myprintf] best 457947 combination reg byte x [ myprintf::digit#3 myprintf::digit#2 ]
|
|
|
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:31 [ myprintf::b#17 myprintf::b#5 ]
|
|
|
|
|
Uplifting [myprintf] best 457955 combination zp ZP_BYTE:31 [ myprintf::b#17 myprintf::b#5 ]
|
|
|
|
|
Uplifting [myprintf] best 457947 combination zp ZP_BYTE:31 [ myprintf::b#17 myprintf::b#5 ]
|
|
|
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:35 [ myprintf::$43 ]
|
|
|
|
|
Uplifting [myprintf] best 448955 combination reg byte a [ myprintf::$43 ]
|
|
|
|
|
Uplifting [myprintf] best 448947 combination reg byte a [ myprintf::$43 ]
|
|
|
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:36 [ myprintf::b#25 myprintf::b#1 myprintf::b#6 ]
|
|
|
|
|
Uplifting [myprintf] best 445205 combination reg byte x [ myprintf::b#25 myprintf::b#1 myprintf::b#6 ]
|
|
|
|
|
Uplifting [myprintf] best 445197 combination reg byte x [ myprintf::b#25 myprintf::b#1 myprintf::b#6 ]
|
|
|
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:24 [ myprintf::bArg#10 myprintf::bArg#1 ]
|
|
|
|
|
Uplifting [myprintf] best 445205 combination zp ZP_BYTE:24 [ myprintf::bArg#10 myprintf::bArg#1 ]
|
|
|
|
|
Uplifting [myprintf] best 445197 combination zp ZP_BYTE:24 [ myprintf::bArg#10 myprintf::bArg#1 ]
|
|
|
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:74 [ myprintf::$18 ]
|
|
|
|
|
Uplifting [myprintf] best 444605 combination reg byte a [ myprintf::$18 ]
|
|
|
|
|
Uplifting [myprintf] best 444597 combination reg byte a [ myprintf::$18 ]
|
|
|
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:75 [ myprintf::$19 ]
|
|
|
|
|
Uplifting [myprintf] best 444005 combination reg byte a [ myprintf::$19 ]
|
|
|
|
|
Uplifting [myprintf] best 443997 combination reg byte a [ myprintf::$19 ]
|
|
|
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:77 [ myprintf::$25 ]
|
|
|
|
|
Uplifting [myprintf] best 443405 combination reg byte a [ myprintf::$25 ]
|
|
|
|
|
Uplifting [myprintf] best 443397 combination reg byte a [ myprintf::$25 ]
|
|
|
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:79 [ myprintf::$26 ]
|
|
|
|
|
Uplifting [myprintf] best 442805 combination reg byte a [ myprintf::$26 ]
|
|
|
|
|
Uplifting [myprintf] best 442797 combination reg byte a [ myprintf::$26 ]
|
|
|
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:81 [ myprintf::$32 ]
|
|
|
|
|
Uplifting [myprintf] best 442205 combination reg byte a [ myprintf::$32 ]
|
|
|
|
|
Uplifting [myprintf] best 442197 combination reg byte a [ myprintf::$32 ]
|
|
|
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:82 [ myprintf::$50 ]
|
|
|
|
|
Uplifting [myprintf] best 441605 combination reg byte a [ myprintf::$50 ]
|
|
|
|
|
Uplifting [myprintf] best 441597 combination reg byte a [ myprintf::$50 ]
|
|
|
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:29 [ myprintf::$24 ]
|
|
|
|
|
Uplifting [myprintf] best 440705 combination reg byte a [ myprintf::$24 ]
|
|
|
|
|
Uplifting [myprintf] best 440697 combination reg byte a [ myprintf::$24 ]
|
|
|
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:30 [ myprintf::$31 ]
|
|
|
|
|
Uplifting [myprintf] best 439805 combination reg byte a [ myprintf::$31 ]
|
|
|
|
|
Uplifting [myprintf] best 439797 combination reg byte a [ myprintf::$31 ]
|
|
|
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:76 [ myprintf::b#15 ]
|
|
|
|
|
Uplifting [myprintf] best 439705 combination reg byte x [ myprintf::b#15 ]
|
|
|
|
|
Uplifting [myprintf] best 439697 combination reg byte x [ myprintf::b#15 ]
|
|
|
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:80 [ myprintf::b#16 ]
|
|
|
|
|
Uplifting [myprintf] best 439605 combination reg byte x [ myprintf::b#16 ]
|
|
|
|
|
Uplifting [myprintf] best 439597 combination reg byte x [ myprintf::b#16 ]
|
|
|
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:23 [ myprintf::bFormat#10 ]
|
|
|
|
|
Uplifting [myprintf] best 439605 combination zp ZP_BYTE:23 [ myprintf::bFormat#10 ]
|
|
|
|
|
Uplifting [myprintf] best 439597 combination zp ZP_BYTE:23 [ myprintf::bFormat#10 ]
|
|
|
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:78 [ myprintf::bLen#11 ]
|
|
|
|
|
Uplifting [myprintf] best 438705 combination reg byte y [ myprintf::bLen#11 ]
|
|
|
|
|
Uplifting [myprintf] best 438697 combination reg byte y [ myprintf::bLen#11 ]
|
|
|
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:28 [ myprintf::bLeadZero#11 ]
|
|
|
|
|
Uplifting [myprintf] best 438705 combination zp ZP_BYTE:28 [ myprintf::bLeadZero#11 ]
|
|
|
|
|
Uplifting [myprintf] best 438697 combination zp ZP_BYTE:28 [ myprintf::bLeadZero#11 ]
|
|
|
|
|
Attempting to uplift remaining variables inzp ZP_BYTE:27 [ myprintf::bTrailing#11 ]
|
|
|
|
|
Uplifting [myprintf] best 438705 combination zp ZP_BYTE:27 [ myprintf::bTrailing#11 ]
|
|
|
|
|
Uplifting [myprintf] best 438697 combination zp ZP_BYTE:27 [ myprintf::bTrailing#11 ]
|
|
|
|
|
Coalescing zero page register [ zp ZP_WORD:38 [ utoa::value#12 utoa::value#3 utoa::value#10 utoa::value#2 utoa::value#11 utoa::value#6 utoa::value#4 utoa::value#0 utoa::value#1 ] ] with [ zp ZP_WORD:46 [ append::value#5 append::value#8 append::value#1 append::value#2 append::value#3 append::value#4 append::value#0 ] ] - score: 4
|
|
|
|
|
Coalescing zero page register [ zp ZP_WORD:40 [ utoa::dst#12 utoa::dst#4 utoa::dst#13 utoa::dst#2 utoa::dst#10 utoa::dst#16 utoa::dst#1 ] ] with [ zp ZP_WORD:42 [ append::dst#4 append::dst#1 append::dst#2 append::dst#3 ] ] - score: 3
|
|
|
|
|
Coalescing zero page register [ zp ZP_WORD:6 [ main::v#10 main::v#12 main::v#11 main::v#13 main::v#2 main::v#1 ] ] with [ zp ZP_WORD:17 [ myprintf::w2#8 myprintf::w2#1 myprintf::w2#0 ] ] - score: 2
|
|
|
|
@ -7442,13 +7438,11 @@ utoa: {
|
|
|
|
|
jmp b15
|
|
|
|
|
// utoa::@15
|
|
|
|
|
b15:
|
|
|
|
|
// [165] if((word) utoa::value#11>=(byte) $64) goto utoa::@7 -- vwuz1_ge_vwuc1_then_la1
|
|
|
|
|
// [165] if((word) utoa::value#11>=(byte) $64) goto utoa::@7 -- vwuz1_ge_vbuc1_then_la1
|
|
|
|
|
lda.z value+1
|
|
|
|
|
cmp #>$64
|
|
|
|
|
bcc !+
|
|
|
|
|
bne b7
|
|
|
|
|
lda.z value
|
|
|
|
|
cmp #<$64
|
|
|
|
|
cmp #$64
|
|
|
|
|
bcs b7
|
|
|
|
|
!:
|
|
|
|
|
// [166] phi from utoa::@15 to utoa::@3 [phi:utoa::@15->utoa::@3]
|
|
|
|
@ -7465,13 +7459,11 @@ utoa: {
|
|
|
|
|
jmp b16
|
|
|
|
|
// utoa::@16
|
|
|
|
|
b16:
|
|
|
|
|
// [168] if((word) utoa::value#10>=(byte) $a) goto utoa::@8 -- vwuz1_ge_vwuc1_then_la1
|
|
|
|
|
// [168] if((word) utoa::value#10>=(byte) $a) goto utoa::@8 -- vwuz1_ge_vbuc1_then_la1
|
|
|
|
|
lda.z value+1
|
|
|
|
|
cmp #>$a
|
|
|
|
|
bcc !+
|
|
|
|
|
bne b8
|
|
|
|
|
lda.z value
|
|
|
|
|
cmp #<$a
|
|
|
|
|
cmp #$a
|
|
|
|
|
bcs b8
|
|
|
|
|
!:
|
|
|
|
|
// [169] phi from utoa::@12 utoa::@16 to utoa::@4 [phi:utoa::@12/utoa::@16->utoa::@4]
|
|
|
|
@ -8403,7 +8395,7 @@ zp ZP_WORD:23 [ div10::$3 div10::val#2 myprintf::w3#8 myprintf::w3#1 myprintf::w
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FINAL ASSEMBLER
|
|
|
|
|
Score: 361450
|
|
|
|
|
Score: 361442
|
|
|
|
|
|
|
|
|
|
// File Comments
|
|
|
|
|
// Upstart
|
|
|
|
@ -9409,13 +9401,11 @@ utoa: {
|
|
|
|
|
cpx #1
|
|
|
|
|
beq b7
|
|
|
|
|
// utoa::@15
|
|
|
|
|
// [165] if((word) utoa::value#11>=(byte) $64) goto utoa::@7 -- vwuz1_ge_vwuc1_then_la1
|
|
|
|
|
// [165] if((word) utoa::value#11>=(byte) $64) goto utoa::@7 -- vwuz1_ge_vbuc1_then_la1
|
|
|
|
|
lda.z value+1
|
|
|
|
|
cmp #>$64
|
|
|
|
|
bcc !+
|
|
|
|
|
bne b7
|
|
|
|
|
lda.z value
|
|
|
|
|
cmp #<$64
|
|
|
|
|
cmp #$64
|
|
|
|
|
bcs b7
|
|
|
|
|
!:
|
|
|
|
|
// [166] phi from utoa::@15 to utoa::@3 [phi:utoa::@15->utoa::@3]
|
|
|
|
@ -9429,13 +9419,11 @@ utoa: {
|
|
|
|
|
cpx #1
|
|
|
|
|
beq b8
|
|
|
|
|
// utoa::@16
|
|
|
|
|
// [168] if((word) utoa::value#10>=(byte) $a) goto utoa::@8 -- vwuz1_ge_vwuc1_then_la1
|
|
|
|
|
// [168] if((word) utoa::value#10>=(byte) $a) goto utoa::@8 -- vwuz1_ge_vbuc1_then_la1
|
|
|
|
|
lda.z value+1
|
|
|
|
|
cmp #>$a
|
|
|
|
|
bcc !+
|
|
|
|
|
bne b8
|
|
|
|
|
lda.z value
|
|
|
|
|
cmp #<$a
|
|
|
|
|
cmp #$a
|
|
|
|
|
bcs b8
|
|
|
|
|
!:
|
|
|
|
|
// [169] phi from utoa::@12 utoa::@16 to utoa::@4 [phi:utoa::@12/utoa::@16->utoa::@4]
|
|
|
|
|