user: What would the C source look like for the assembly code provided here?

```asm
<test_sprintf>:
  endbr64
  push   %r15
  lea    D638(%rip),%rdi
  lea    D422(%rip),%r15
  push   %r14
  lea    D82(%rip),%r14
  push   %r13
  lea    D438(%rip),%r13
  push   %r12
  lea    D683(%rip),%r12
  push   %rbp
  lea    D713(%rip),%rbp
  push   %rbx
  lea    D129(%rip),%rbx
  sub    $0x8,%rsp
  call   <pr@plt>
  mov    %r13,%rcx
  mov    %rbp,%rsi
  mov    $0x3039,%edx
  lea    D612(%rip),%rdi
  call   <spfn_test@plt>
  mov    %r14,%rcx
  mov    %rbp,%rsi
  mov    $0xffffcfc7,%edx
  lea    D888(%rip),%rdi
  call   <spfn_test@plt>
  mov    %r12,%rsi
  lea    D755(%rip),%rcx
  mov    $0x3039,%edx
  lea    D1247(%rip),%rdi
  call   <spfn_test@plt>
  mov    %r14,%rcx
  mov    %r12,%rsi
  mov    $0xffffcfc7,%edx
  lea    D1048(%rip),%r14
  lea    D614(%rip),%rdi
  call   <spfn_test@plt>
  mov    %r15,%rcx
  mov    %r14,%rsi
  mov    $0x3039,%edx
  lea    D52(%rip),%r12
  lea    D817(%rip),%rdi
  call   <spfn_test@plt>
  mov    %r12,%rcx
  mov    %r14,%rsi
  mov    $0xffffcfc7,%edx
  lea    D1107(%rip),%r14
  lea    D647(%rip),%rdi
  call   <spfn_test@plt>
  mov    %r14,%rsi
  lea    D327(%rip),%rcx
  mov    $0x3039,%edx
  lea    D368(%rip),%rdi
  call   <spfn_test@plt>
  mov    %r12,%rcx
  mov    %r14,%rsi
  mov    $0xffffcfc7,%edx
  lea    D1123(%rip),%rdi
  lea    D259(%rip),%r14
  call   <spfn_test@plt>
  mov    %rbx,%rsi
  lea    D343(%rip),%rcx
  mov    $0x3039,%edx
  lea    D1233(%rip),%rdi
  call   <spfn_test@plt>
  mov    %r14,%rcx
  mov    %rbx,%rsi
  mov    $0xffffcfc7,%edx
  lea    D759(%rip),%rbx
  lea    D147(%rip),%rdi
  call   <spfn_test@plt>
  mov    %rbx,%rcx
  mov    $0x3039,%edx
  lea    D1113(%rip),%rsi
  lea    D1002(%rip),%rdi
  call   <spfn_test@plt>
  mov    %r14,%rcx
  mov    $0xffffcfc7,%edx
  lea    D1113(%rip),%rsi
  lea    D37(%rip),%rdi
  call   <spfn_test@plt>
  mov    %rbx,%rcx
  lea    D103(%rip),%rbx
  mov    $0x3039,%edx
  mov    %rbx,%rsi
  lea    D456(%rip),%rdi
  call   <spfn_test@plt>
  mov    %r14,%rcx
  mov    %rbx,%rsi
  mov    $0xffffcfc7,%edx
  lea    D241(%rip),%r14
  lea    D248(%rip),%rdi
  call   <spfn_test@plt>
  mov    %r15,%rcx
  mov    %r14,%rsi
  mov    $0x3039,%edx
  lea    D675(%rip),%rdi
  lea    D818(%rip),%r15
  call   <spfn_test@plt>
  mov    %r12,%rcx
  mov    %r14,%rsi
  mov    $0xffffcfc7,%edx
  lea    D138(%rip),%r12
  lea    D1237(%rip),%rdi
  call   <spfn_test@plt>
  mov    %r12,%rsi
  lea    D718(%rip),%rcx
  mov    $0x3039,%edx
  lea    D1249(%rip),%rdi
  lea    D271(%rip),%r14
  call   <spfn_test@plt>
  mov    %r12,%rsi
  lea    D940(%rip),%rcx
  mov    $0xffffcfc7,%edx
  lea    D70(%rip),%rdi
  lea    D867(%rip),%r12
  call   <spfn_test@plt>
  mov    %r14,%rsi
  lea    D826(%rip),%rcx
  mov    $0x2def,%edx
  lea    D1253(%rip),%rdi
  call   <spfn_test@plt>
  lea    D1160(%rip),%rcx
  mov    $0x2def,%edx
  lea    D232(%rip),%rsi
  lea    D841(%rip),%rdi
  call   <spfn_test@plt>
  lea    D217(%rip),%rcx
  mov    $0x2def,%edx
  lea    D994(%rip),%rsi
  lea    D1245(%rip),%rdi
  call   <spfn_test@plt>
  mov    %r12,%rcx
  mov    $0x2def,%edx
  lea    D525(%rip),%rsi
  lea    D708(%rip),%rdi
  call   <spfn_test@plt>
  mov    %r12,%rcx
  mov    $0x2def,%edx
  lea    D418(%rip),%rsi
  lea    D598(%rip),%rdi
  call   <spfn_test@plt>
  mov    %r12,%rcx
  mov    %r15,%rsi
  mov    $0x2def,%edx
  lea    D938(%rip),%rdi
  call   <spfn_test@plt>
  mov    %r12,%rcx
  mov    %r15,%rsi
  mov    $0x2def,%edx
  lea    D758(%rip),%rdi
  lea    D514(%rip),%r15
  call   <spfn_test@plt>
  lea    D135(%rip),%rcx
  mov    $0x2def,%edx
  lea    D69(%rip),%rsi
  lea    D810(%rip),%rdi
  lea    D98(%rip),%r12
  call   <spfn_test@plt>
  lea    D85(%rip),%rcx
  mov    $0x2def,%edx
  lea    D1081(%rip),%rsi
  lea    D1130(%rip),%rdi
  call   <spfn_test@plt>
  lea    D1068(%rip),%rcx
  mov    $0x2def,%edx
  lea    D773(%rip),%rsi
  lea    D662(%rip),%rdi
  call   <spfn_test@plt>
  lea    D381(%rip),%rcx
  mov    $0x2def,%edx
  lea    D7(%rip),%rsi
  lea    D197(%rip),%rdi
  call   <spfn_test@plt>
  lea    D1039(%rip),%rcx
  mov    $0x2def,%edx
  lea    D382(%rip),%rsi
  lea    D1221(%rip),%rdi
  call   <spfn_test@plt>
  lea    D1094(%rip),%rcx
  mov    $0x2def,%edx
  lea    D126(%rip),%rsi
  lea    D850(%rip),%rdi
  call   <spfn_test@plt>
  mov    %r15,%rsi
  lea    D847(%rip),%rcx
  mov    $0x10f,%edx
  lea    D856(%rip),%rdi
  call   <spfn_test@plt>
  mov    %r12,%rcx
  mov    $0x10f,%edx
  lea    D1061(%rip),%rsi
  lea    D646(%rip),%rdi
  call   <spfn_test@plt>
  mov    %r12,%rcx
  mov    $0x10f,%edx
  lea    D452(%rip),%rsi
  lea    D555(%rip),%rdi
  call   <spfn_test@plt>
  mov    %r12,%rcx
  mov    $0x10f,%edx
  lea    D848(%rip),%rsi
  lea    D358(%rip),%rdi
  lea    D115(%rip),%r12
  call   <spfn_test@plt>
  lea    D792(%rip),%rcx
  mov    $0x10f,%edx
  lea    D1165(%rip),%rsi
  lea    D165(%rip),%rdi
  call   <spfn_test@plt>
  lea    D714(%rip),%rcx
  mov    $0x10f,%edx
  lea    D247(%rip),%rsi
  lea    D687(%rip),%rdi
  call   <spfn_test@plt>
  lea    D600(%rip),%rcx
  mov    $0x10f,%edx
  lea    D566(%rip),%rsi
  lea    D450(%rip),%rdi
  call   <spfn_test@plt>
  mov    %r12,%rcx
  mov    %rbp,%rsi
  xor    %edx,%edx
  lea    D401(%rip),%rdi
  lea    D1057(%rip),%rbp
  call   <spfn_test@plt>
  mov    %r12,%rcx
  mov    %r15,%rsi
  xor    %edx,%edx
  lea    D481(%rip),%rdi
  call   <spfn_test@plt>
  mov    %r12,%rcx
  mov    %r14,%rsi
  xor    %edx,%edx
  lea    D1000(%rip),%rdi
  lea    D1217(%rip),%r12
  call   <spfn_test@plt>
  lea    D911(%rip),%rcx
  mov    $0x61,%edx
  lea    D1204(%rip),%rsi
  lea    D1242(%rip),%rdi
  call   <spfn_test@plt>
  lea    D666(%rip),%rcx
  mov    $0x61,%edx
  lea    D1015(%rip),%rsi
  lea    D1045(%rip),%rdi
  call   <spfn_test@plt>
  lea    D680(%rip),%rcx
  mov    $0x61,%edx
  lea    D373(%rip),%rsi
  lea    D305(%rip),%rdi
  call   <spfn_test@plt>
  mov    %r12,%rcx
  mov    %r12,%rdx
  lea    D316(%rip),%rsi
  lea    D114(%rip),%rdi
  call   <spfs_test@plt>
  mov    %r12,%rdx
  lea    D627(%rip),%rcx
  lea    D104(%rip),%rsi
  lea    D1228(%rip),%rdi
  call   <spfs_test@plt>
  mov    %r12,%rdx
  lea    D665(%rip),%rcx
  lea    D1135(%rip),%rsi
  lea    D408(%rip),%rdi
  call   <spfs_test@plt>
  mov    %r13,%rcx
  mov    %rbp,%rdi
  mov    $0x3039,%edx
  lea    D857(%rip),%rsi
  call   <spfn_test@plt>
  mov    %r13,%rcx
  mov    $0x3039,%edx
  lea    D1254(%rip),%rsi
  lea    D801(%rip),%rdi
  call   <spfn_test@plt>
  mov    %rbp,%rdi
  lea    D750(%rip),%rcx
  mov    $0xabc,%edx
  lea    D977(%rip),%rsi
  call   <spfn_test@plt>
  mov    %r12,%rcx
  mov    %r12,%rdx
  lea    D303(%rip),%rsi
  lea    D427(%rip),%rdi
  call   <spfs_test@plt>
  add    $0x8,%rsp
  mov    %r12,%rcx
  mov    %r12,%rdx
  pop    %rbx
  lea    D578(%rip),%rsi
  lea    D1174(%rip),%rdi
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  jmp    1080 <spfs_test@plt>
```

tool_calls: name: unpack_data
arguments: data_label: D638
type_guessed: string
name: unpack_data
arguments: data_label: D422
type_guessed: string
name: unpack_data
arguments: data_label: D82
type_guessed: string
name: unpack_data
arguments: data_label: D438
type_guessed: string
name: unpack_data
arguments: data_label: D683
type_guessed: string
name: unpack_data
arguments: data_label: D713
type_guessed: string
name: unpack_data
arguments: data_label: D129
type_guessed: string
name: unpack_data
arguments: data_label: D612
type_guessed: string
name: unpack_data
arguments: data_label: D888
type_guessed: string
name: unpack_data
arguments: data_label: D755
type_guessed: string
name: unpack_data
arguments: data_label: D1247
type_guessed: string
name: unpack_data
arguments: data_label: D1048
type_guessed: string
name: unpack_data
arguments: data_label: D614
type_guessed: string
name: unpack_data
arguments: data_label: D52
type_guessed: string
name: unpack_data
arguments: data_label: D817
type_guessed: string
name: unpack_data
arguments: data_label: D1107
type_guessed: string
name: unpack_data
arguments: data_label: D647
type_guessed: string
name: unpack_data
arguments: data_label: D327
type_guessed: string
name: unpack_data
arguments: data_label: D368
type_guessed: string
name: unpack_data
arguments: data_label: D1123
type_guessed: string
name: unpack_data
arguments: data_label: D259
type_guessed: string
name: unpack_data
arguments: data_label: D343
type_guessed: string
name: unpack_data
arguments: data_label: D1233
type_guessed: string
name: unpack_data
arguments: data_label: D759
type_guessed: string
name: unpack_data
arguments: data_label: D147
type_guessed: string
name: unpack_data
arguments: data_label: D1113
type_guessed: string
name: unpack_data
arguments: data_label: D1002
type_guessed: string
name: unpack_data
arguments: data_label: D37
type_guessed: string
name: unpack_data
arguments: data_label: D103
type_guessed: string
name: unpack_data
arguments: data_label: D456
type_guessed: string
name: unpack_data
arguments: data_label: D241
type_guessed: string
name: unpack_data
arguments: data_label: D248
type_guessed: string
name: unpack_data
arguments: data_label: D675
type_guessed: string
name: unpack_data
arguments: data_label: D818
type_guessed: string
name: unpack_data
arguments: data_label: D138
type_guessed: string
name: unpack_data
arguments: data_label: D1237
type_guessed: string
name: unpack_data
arguments: data_label: D718
type_guessed: string
name: unpack_data
arguments: data_label: D1249
type_guessed: string
name: unpack_data
arguments: data_label: D271
type_guessed: string
name: unpack_data
arguments: data_label: D940
type_guessed: string
name: unpack_data
arguments: data_label: D70
type_guessed: string
name: unpack_data
arguments: data_label: D867
type_guessed: string
name: unpack_data
arguments: data_label: D826
type_guessed: string
name: unpack_data
arguments: data_label: D1253
type_guessed: string
name: unpack_data
arguments: data_label: D1160
type_guessed: string
name: unpack_data
arguments: data_label: D232
type_guessed: string
name: unpack_data
arguments: data_label: D841
type_guessed: string
name: unpack_data
arguments: data_label: D217
type_guessed: string
name: unpack_data
arguments: data_label: D994
type_guessed: string
name: unpack_data
arguments: data_label: D1245
type_guessed: string
name: unpack_data
arguments: data_label: D525
type_guessed: string
name: unpack_data
arguments: data_label: D708
type_guessed: string
name: unpack_data
arguments: data_label: D418
type_guessed: string
name: unpack_data
arguments: data_label: D598
type_guessed: string
name: unpack_data
arguments: data_label: D938
type_guessed: string
name: unpack_data
arguments: data_label: D758
type_guessed: string
name: unpack_data
arguments: data_label: D514
type_guessed: string
name: unpack_data
arguments: data_label: D135
type_guessed: string
name: unpack_data
arguments: data_label: D69
type_guessed: string
name: unpack_data
arguments: data_label: D810
type_guessed: string
name: unpack_data
arguments: data_label: D98
type_guessed: string
name: unpack_data
arguments: data_label: D85
type_guessed: string
name: unpack_data
arguments: data_label: D1081
type_guessed: string
name: unpack_data
arguments: data_label: D1130
type_guessed: string
name: unpack_data
arguments: data_label: D1068
type_guessed: string
name: unpack_data
arguments: data_label: D773
type_guessed: string
name: unpack_data
arguments: data_label: D662
type_guessed: string
name: unpack_data
arguments: data_label: D381
type_guessed: string
name: unpack_data
arguments: data_label: D7
type_guessed: string
name: unpack_data
arguments: data_label: D197
type_guessed: string
name: unpack_data
arguments: data_label: D1039
type_guessed: string
name: unpack_data
arguments: data_label: D382
type_guessed: string
name: unpack_data
arguments: data_label: D1221
type_guessed: string
name: unpack_data
arguments: data_label: D1094
type_guessed: string
name: unpack_data
arguments: data_label: D126
type_guessed: string
name: unpack_data
arguments: data_label: D850
type_guessed: string
name: unpack_data
arguments: data_label: D847
type_guessed: string
name: unpack_data
arguments: data_label: D856
type_guessed: string
name: unpack_data
arguments: data_label: D1061
type_guessed: string
name: unpack_data
arguments: data_label: D646
type_guessed: string
name: unpack_data
arguments: data_label: D452
type_guessed: string
name: unpack_data
arguments: data_label: D555
type_guessed: string
name: unpack_data
arguments: data_label: D848
type_guessed: string
name: unpack_data
arguments: data_label: D358
type_guessed: string
name: unpack_data
arguments: data_label: D115
type_guessed: string
name: unpack_data
arguments: data_label: D792
type_guessed: string
name: unpack_data
arguments: data_label: D1165
type_guessed: string
name: unpack_data
arguments: data_label: D165
type_guessed: string
name: unpack_data
arguments: data_label: D714
type_guessed: string
name: unpack_data
arguments: data_label: D247
type_guessed: string
name: unpack_data
arguments: data_label: D687
type_guessed: string
name: unpack_data
arguments: data_label: D600
type_guessed: string
name: unpack_data
arguments: data_label: D566
type_guessed: string
name: unpack_data
arguments: data_label: D450
type_guessed: string
name: unpack_data
arguments: data_label: D401
type_guessed: string
name: unpack_data
arguments: data_label: D1057
type_guessed: string
name: unpack_data
arguments: data_label: D481
type_guessed: string
name: unpack_data
arguments: data_label: D1000
type_guessed: string
name: unpack_data
arguments: data_label: D1217
type_guessed: string
name: unpack_data
arguments: data_label: D911
type_guessed: string
name: unpack_data
arguments: data_label: D1204
type_guessed: string
name: unpack_data
arguments: data_label: D1242
type_guessed: string
name: unpack_data
arguments: data_label: D666
type_guessed: string
name: unpack_data
arguments: data_label: D1015
type_guessed: string
name: unpack_data
arguments: data_label: D1045
type_guessed: string
name: unpack_data
arguments: data_label: D680
type_guessed: string
name: unpack_data
arguments: data_label: D373
type_guessed: string
name: unpack_data
arguments: data_label: D305
type_guessed: string
name: unpack_data
arguments: data_label: D316
type_guessed: string
name: unpack_data
arguments: data_label: D114
type_guessed: string
name: unpack_data
arguments: data_label: D627
type_guessed: string
name: unpack_data
arguments: data_label: D104
type_guessed: string
name: unpack_data
arguments: data_label: D1228
type_guessed: string
name: unpack_data
arguments: data_label: D665
type_guessed: string
name: unpack_data
arguments: data_label: D1135
type_guessed: string
name: unpack_data
arguments: data_label: D408
type_guessed: string
name: unpack_data
arguments: data_label: D857
type_guessed: string
name: unpack_data
arguments: data_label: D1254
type_guessed: string
name: unpack_data
arguments: data_label: D801
type_guessed: string
name: unpack_data
arguments: data_label: D750
type_guessed: string
name: unpack_data
arguments: data_label: D977
type_guessed: string
name: unpack_data
arguments: data_label: D303
type_guessed: string
name: unpack_data
arguments: data_label: D427
type_guessed: string
name: unpack_data
arguments: data_label: D578
type_guessed: string
name: unpack_data
arguments: data_label: D1174
type_guessed: string

tool: D638: sprintf

tool: D422:      12345

tool: D82: -12345

tool: D438: 12345

tool: D683: %+d

tool: D713: %d

tool: D129: %-10d

tool: D612: 1

tool: D888: 2

tool: D755: +12345

tool: D1247: 3

tool: D1048: %10d

tool: D614: 4

tool: D52:     -12345

tool: D817: 5

tool: D1107: %+10d

tool: D647: 6

tool: D327:     +12345

tool: D368: 7

tool: D1123: 8

tool: D259: -12345    

tool: D343: 12345     

tool: D1233: 9

tool: D759: +12345    

tool: D147: 10

tool: D1113: %-+10d

tool: D1002: 11

tool: D37: 12

tool: D103: %+-10d

tool: D456: 13

tool: D241: % 10d

tool: D248: 14

tool: D675: 15

tool: D818: %#+X

tool: D138: %010d

tool: D1237: 16

tool: D718: 0000012345

tool: D1249: 17

tool: D271: %x

tool: D940: -000012345

tool: D70: 18

tool: D867: 0X2DEF

tool: D826: 2def

tool: D1253: 19

tool: D1160: 2DEF

tool: D232: %X

tool: D841: 20

tool: D217: 0x2def

tool: D994: %#x

tool: D1245: 21

tool: D525: %#X

tool: D708: 22

tool: D418: %+#X

tool: D598: 25

tool: D938: 26

tool: D758: 27

tool: D514: %o

tool: D135:       2DEF

tool: D69: %10X

tool: D810: 28

tool: D98: 0417

tool: D85: 0000002DEF

tool: D1081: %010X

tool: D1130: 29

tool: D1068: 2DEF      

tool: D773: %-10X

tool: D662: 30

tool: D381:     0X2DEF

tool: D7: %#10X

tool: D197: 31

tool: D1039: 0X00002DEF

tool: D382: %#010X

tool: D1221: 32

tool: D1094: 0X2DEF    

tool: D126: %#-10X

tool: D850: 33

tool: D847: 417

tool: D856: 40

tool: D1061: %#o

tool: D646: 42

tool: D452: %#+o

tool: D555: 44

tool: D848: %+#o

tool: D358: 45

tool: D115: 0

tool: D792:       0417

tool: D1165: %#10o

tool: D165: 46

tool: D714: 0417      

tool: D247: %#-10o

tool: D687: 47

tool: D600: 0000000417

tool: D566: %#010o

tool: D450: 48

tool: D401: 52

tool: D1057: 61

tool: D481: 53

tool: D1000: 54

tool: D1217: foo

tool: D911: a

tool: D1204: %c

tool: D1242: 55

tool: D666:          a

tool: D1015: %10c

tool: D1045: 56

tool: D680: a         

tool: D373: %-10c

tool: D305: 57

tool: D316: %s

tool: D114: 58

tool: D627:        foo

tool: D104: %10s

tool: D1228: 59

tool: D665: foo       

tool: D1135: %-10s

tool: D408: 60

tool: D857: %1d

tool: D1254: %-1d

tool: D801: 62

tool: D750: 0xabc

tool: D977: %#1x

tool: D303: %1s

tool: D427: 63

tool: D578: %-1s

tool: D1174: 64

assistant: ```c
void test_sprintf(void) {
  pr("sprintf");
  spfn_test("1", "%d", 12345, "12345");
  spfn_test("2", "%d", -12345, "-12345");
  spfn_test("3", "%+d", 12345, "+12345");
  spfn_test("4", "%+d", -12345, "-12345");
  spfn_test("5", "%10d", 12345, "     12345");
  spfn_test("6", "%10d", -12345, "    -12345");
  spfn_test("7", "%+10d", 12345, "    +12345");
  spfn_test("8", "%+10d", -12345, "    -12345");
  spfn_test("9", "%-10d", 12345, "12345     ");
  spfn_test("10", "%-10d", -12345, "-12345    ");
  spfn_test("11", "%-+10d", 12345, "+12345    ");
  spfn_test("12", "%-+10d", -12345, "-12345    ");
  spfn_test("13", "%+-10d", 12345, "+12345    ");
  spfn_test("14", "%+-10d", -12345, "-12345    ");
  spfn_test("15", "% 10d", 12345, "     12345");
  spfn_test("16", "% 10d", -12345, "    -12345");
  spfn_test("17", "%010d", 12345, "0000012345");
  spfn_test("18", "%010d", -12345, "-000012345");
  spfn_test("19", "%x", 0x2def, "2def");
  spfn_test("20", "%X", 0x2def, "2DEF");
  spfn_test("21", "%#x", 0x2def, "0x2def");
  spfn_test("22", "%#X", 0x2def, "0X2DEF");
  spfn_test("25", "%+#X", 0x2def, "0X2DEF");
  spfn_test("26", "%#+X", 0x2def, "0X2DEF");
  spfn_test("27", "%#+X", 0x2def, "0X2DEF");
  spfn_test("28", "%10X", 0x2def, "      2DEF");
  spfn_test("29", "%010X", 0x2def, "0000002DEF");
  spfn_test("30", "%-10X", 0x2def, "2DEF      ");
  spfn_test("31", "%#10X", 0x2def, "    0X2DEF");
  spfn_test("32", "%#010X", 0x2def, "0X00002DEF");
  spfn_test("33", "%#-10X", 0x2def, "0X2DEF    ");
  spfn_test("40", "%o", 0417, "417");
  spfn_test("42", "%#o", 0417, "0417");
  spfn_test("44", "%#+o", 0417, "0417");
  spfn_test("45", "%+#o", 0417, "0417");
  spfn_test("46", "%#10o", 0417, "      0417");
  spfn_test("47", "%#-10o", 0417, "0417      ");
  spfn_test("48", "%#010o", 0417, "0000000417");
  spfn_test("52", "%d", 0, "0");
  spfn_test("53", "%o", 0, "0");
  spfn_test("54", "%x", 0, "0");
  spfn_test("55", "%c", 'a', "a");
  spfn_test("56", "%10c", 'a', "         a");
  spfn_test("57", "%-10c", 'a', "a         ");
  spfs_test("58", "%s", "foo", "foo");
  spfs_test("59", "%10s", "foo", "       foo");
  spfs_test("60", "%-10s", "foo", "foo       ");
  spfn_test("61", "%1d", 12345, "12345");
  spfn_test("62", "%-1d", 12345, "12345");
  spfn_test("61", "%#1x", 0xabc, "0xabc");
  spfs_test("63", "%1s", "foo", "foo");
  spfs_test("64", "%-1s", "foo", "foo");
}
```