user: 这段汇编代码用C语言表示是什么样的:

```asm
<main>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x30,%rsp
  mov    %edi,-0x24(%rbp)
  mov    %rsi,-0x30(%rbp)
  cmpl   $0x4,-0x24(%rbp)
  je     L197
  mov    $0x1,%edi
  call   <usage@plt>
L197:
  mov    -0x30(%rbp),%rax
  add    $0x8,%rax
  mov    (%rax),%rax
  lea    D285(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L52
  movl   $0x20,-0x14(%rbp)
  jmp    L185
L52:
  mov    -0x30(%rbp),%rax
  add    $0x8,%rax
  mov    (%rax),%rax
  lea    D716(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L193
  movl   $0x40,-0x14(%rbp)
  jmp    L185
L193:
  mov    $0x2,%edi
  call   <usage@plt>
L185:
  mov    -0x30(%rbp),%rax
  add    $0x10,%rax
  mov    (%rax),%rax
  lea    D614(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L140
  movl   $0x0,-0x10(%rbp)
  jmp    L155
L140:
  mov    -0x30(%rbp),%rax
  add    $0x10,%rax
  mov    (%rax),%rax
  lea    D47(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L195
  cmpl   $0x20,-0x14(%rbp)
  jne    L195
  movl   $0x1f,-0x10(%rbp)
  jmp    L155
L195:
  mov    -0x30(%rbp),%rax
  add    $0x10,%rax
  mov    (%rax),%rax
  lea    D497(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L74
  cmpl   $0x40,-0x14(%rbp)
  jne    L74
  movl   $0x3f,-0x10(%rbp)
  jmp    L155
L74:
  mov    $0x3,%edi
  call   <usage@plt>
L155:
  cmpl   $0x0,-0x10(%rbp)
  jne    L63
  lea    D90(%rip),%rax
  mov    %rax,-0x8(%rbp)
  jmp    L128
L63:
  lea    D592(%rip),%rax
  mov    %rax,-0x8(%rbp)
L128:
  mov    -0x30(%rbp),%rax
  add    $0x18,%rax
  mov    (%rax),%rax
  lea    D134(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L7
  movl   $0x1,-0xc(%rbp)
  jmp    L22
L7:
  mov    -0x30(%rbp),%rax
  add    $0x18,%rax
  mov    (%rax),%rax
  lea    D200(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L192
  movl   $0x0,-0xc(%rbp)
  jmp    L22
L192:
  mov    $0x4,%edi
  call   <usage@plt>
L22:
  mov    -0x14(%rbp),%eax
  mov    %eax,%esi
  lea    D343(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    -0x10(%rbp),%eax
  mov    %eax,%esi
  lea    D472(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x20,%esi
  lea    D358(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  cmpl   $0x0,-0xc(%rbp)
  je     L150
  lea    D581(%rip),%rax
  jmp    L104
L150:
  lea    D656(%rip),%rax
L104:
  mov    %rax,%rsi
  lea    D217(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D774(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D626(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D344(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  mov    $0x0,%eax
  call   <gen_struct@plt>
  lea    D569(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  mov    -0x10(%rbp),%eax
  mov    $0x4,%ecx
  lea    D196(%rip),%rdx
  mov    %eax,%esi
  mov    $0x4,%edi
  call   <gen_bit@plt>
  mov    -0x10(%rbp),%eax
  mov    $0x5,%ecx
  lea    D637(%rip),%rdx
  mov    %eax,%esi
  mov    $0x5,%edi
  call   <gen_bit@plt>
  mov    -0x10(%rbp),%eax
  mov    $0x8,%ecx
  lea    D414(%rip),%rdx
  mov    %eax,%esi
  mov    $0x8,%edi
  call   <gen_bit@plt>
  mov    -0x10(%rbp),%eax
  mov    $0xa,%ecx
  lea    D182(%rip),%rdx
  mov    %eax,%esi
  mov    $0xa,%edi
  call   <gen_bit@plt>
  mov    -0x10(%rbp),%eax
  mov    $0x10,%ecx
  lea    D591(%rip),%rdx
  mov    %eax,%esi
  mov    $0x10,%edi
  call   <gen_bit@plt>
  mov    -0x10(%rbp),%eax
  mov    $0x20,%ecx
  lea    D751(%rip),%rdx
  mov    %eax,%esi
  mov    $0x20,%edi
  call   <gen_bit@plt>
  mov    -0x10(%rbp),%eax
  mov    $0x40,%ecx
  lea    D631(%rip),%rdx
  mov    %eax,%esi
  mov    $0x40,%edi
  call   <gen_bit@plt>
  mov    -0x10(%rbp),%esi
  mov    -0x14(%rbp),%eax
  mov    $0x40,%ecx
  lea    D81(%rip),%rdx
  mov    %eax,%edi
  call   <gen_bit@plt>
  mov    $0x8,%ecx
  lea    D342(%rip),%rax
  mov    %rax,%rdx
  mov    $0x7,%esi
  mov    $0x8,%edi
  call   <gen_bit@plt>
  mov    $0x10,%ecx
  lea    D657(%rip),%rax
  mov    %rax,%rdx
  mov    $0xf,%esi
  mov    $0x10,%edi
  call   <gen_bit@plt>
  mov    $0x20,%ecx
  lea    D101(%rip),%rax
  mov    %rax,%rdx
  mov    $0x1f,%esi
  mov    $0x20,%edi
  call   <gen_bit@plt>
  mov    $0x40,%ecx
  lea    D537(%rip),%rax
  mov    %rax,%rdx
  mov    $0x3f,%esi
  mov    $0x40,%edi
  call   <gen_bit@plt>
  mov    -0x14(%rbp),%eax
  lea    -0x1(%rax),%esi
  mov    -0x14(%rbp),%eax
  mov    $0x40,%ecx
  lea    D654(%rip),%rdx
  mov    %eax,%edi
  call   <gen_bit@plt>
  mov    $0x8,%ecx
  lea    D604(%rip),%rax
  mov    %rax,%rdx
  mov    $0x0,%esi
  mov    $0x8,%edi
  call   <gen_bit@plt>
  mov    $0x10,%ecx
  lea    D552(%rip),%rax
  mov    %rax,%rdx
  mov    $0x0,%esi
  mov    $0x10,%edi
  call   <gen_bit@plt>
  mov    $0x20,%ecx
  lea    D765(%rip),%rax
  mov    %rax,%rdx
  mov    $0x0,%esi
  mov    $0x20,%edi
  call   <gen_bit@plt>
  mov    $0x40,%ecx
  lea    D376(%rip),%rax
  mov    %rax,%rdx
  mov    $0x0,%esi
  mov    $0x40,%edi
  call   <gen_bit@plt>
  mov    -0x14(%rbp),%eax
  mov    $0x40,%ecx
  lea    D464(%rip),%rdx
  mov    $0x0,%esi
  mov    %eax,%edi
  call   <gen_bit@plt>
  lea    D197(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D314(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D630(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D578(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D496(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D395(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D545(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D522(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D297(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D576(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D693(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D385(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D717(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D669(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D483(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D620(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D49(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D563(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D611(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D425(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D279(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  mov    $0x40,%esi
  lea    D81(%rip),%rax
  mov    %rax,%rdi
  call   <gen_enum@plt>
  mov    $0x40,%esi
  lea    D654(%rip),%rax
  mov    %rax,%rdi
  call   <gen_enum@plt>
  mov    $0x40,%esi
  lea    D464(%rip),%rax
  mov    %rax,%rdi
  call   <gen_enum@plt>
  mov    $0x20,%esi
  lea    D751(%rip),%rax
  mov    %rax,%rdi
  call   <gen_enum@plt>
  mov    $0x20,%esi
  lea    D101(%rip),%rax
  mov    %rax,%rdi
  call   <gen_enum@plt>
  mov    $0x20,%esi
  lea    D765(%rip),%rax
  mov    %rax,%rdi
  call   <gen_enum@plt>
  lea    D761(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  mov    -0x8(%rbp),%rax
  mov    $0x8,%ecx
  lea    D729(%rip),%rdx
  mov    %rax,%rsi
  mov    $0x8,%edi
  call   <gen_mask@plt>
  mov    -0x8(%rbp),%rax
  mov    $0x10,%ecx
  lea    D682(%rip),%rdx
  mov    %rax,%rsi
  mov    $0x10,%edi
  call   <gen_mask@plt>
  mov    -0x8(%rbp),%rax
  mov    $0x20,%ecx
  lea    D175(%rip),%rdx
  mov    %rax,%rsi
  mov    $0x20,%edi
  call   <gen_mask@plt>
  mov    -0x8(%rbp),%rax
  mov    $0x40,%ecx
  lea    D256(%rip),%rdx
  mov    %rax,%rsi
  mov    $0x40,%edi
  call   <gen_mask@plt>
  mov    -0x8(%rbp),%rsi
  mov    -0x14(%rbp),%eax
  mov    $0x40,%ecx
  lea    D557(%rip),%rdx
  mov    %eax,%edi
  call   <gen_mask@plt>
  lea    D28(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D341(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D738(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D307(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D648(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D167(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D425(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D279(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  mov    $0x0,%eax
  leave
  ret
```

tool_calls: name: parse_data
arguments: tag: D285
type_guessed: string
name: parse_data
arguments: tag: D716
type_guessed: string
name: parse_data
arguments: tag: D614
type_guessed: string
name: parse_data
arguments: tag: D47
type_guessed: string
name: parse_data
arguments: tag: D497
type_guessed: string
name: parse_data
arguments: tag: D90
type_guessed: string
name: parse_data
arguments: tag: D592
type_guessed: string
name: parse_data
arguments: tag: D134
type_guessed: string
name: parse_data
arguments: tag: D200
type_guessed: string
name: parse_data
arguments: tag: D343
type_guessed: string
name: parse_data
arguments: tag: D472
type_guessed: string
name: parse_data
arguments: tag: D358
type_guessed: string
name: parse_data
arguments: tag: D581
type_guessed: string
name: parse_data
arguments: tag: D656
type_guessed: string
name: parse_data
arguments: tag: D217
type_guessed: string
name: parse_data
arguments: tag: D774
type_guessed: string
name: parse_data
arguments: tag: D626
type_guessed: string
name: parse_data
arguments: tag: D344
type_guessed: string
name: parse_data
arguments: tag: D569
type_guessed: string
name: parse_data
arguments: tag: D196
type_guessed: string
name: parse_data
arguments: tag: D637
type_guessed: string
name: parse_data
arguments: tag: D414
type_guessed: string
name: parse_data
arguments: tag: D182
type_guessed: string
name: parse_data
arguments: tag: D591
type_guessed: string
name: parse_data
arguments: tag: D751
type_guessed: string
name: parse_data
arguments: tag: D631
type_guessed: string
name: parse_data
arguments: tag: D81
type_guessed: string
name: parse_data
arguments: tag: D342
type_guessed: string
name: parse_data
arguments: tag: D657
type_guessed: string
name: parse_data
arguments: tag: D101
type_guessed: string
name: parse_data
arguments: tag: D537
type_guessed: string
name: parse_data
arguments: tag: D654
type_guessed: string
name: parse_data
arguments: tag: D604
type_guessed: string
name: parse_data
arguments: tag: D552
type_guessed: string
name: parse_data
arguments: tag: D765
type_guessed: string
name: parse_data
arguments: tag: D376
type_guessed: string
name: parse_data
arguments: tag: D464
type_guessed: string
name: parse_data
arguments: tag: D197
type_guessed: string
name: parse_data
arguments: tag: D314
type_guessed: string
name: parse_data
arguments: tag: D630
type_guessed: string
name: parse_data
arguments: tag: D578
type_guessed: string
name: parse_data
arguments: tag: D496
type_guessed: string
name: parse_data
arguments: tag: D395
type_guessed: string
name: parse_data
arguments: tag: D545
type_guessed: string
name: parse_data
arguments: tag: D522
type_guessed: string
name: parse_data
arguments: tag: D297
type_guessed: string
name: parse_data
arguments: tag: D576
type_guessed: string
name: parse_data
arguments: tag: D693
type_guessed: string
name: parse_data
arguments: tag: D385
type_guessed: string
name: parse_data
arguments: tag: D717
type_guessed: string
name: parse_data
arguments: tag: D669
type_guessed: string
name: parse_data
arguments: tag: D483
type_guessed: string
name: parse_data
arguments: tag: D620
type_guessed: string
name: parse_data
arguments: tag: D49
type_guessed: string
name: parse_data
arguments: tag: D563
type_guessed: string
name: parse_data
arguments: tag: D611
type_guessed: string
name: parse_data
arguments: tag: D425
type_guessed: string
name: parse_data
arguments: tag: D279
type_guessed: string
name: parse_data
arguments: tag: D761
type_guessed: string
name: parse_data
arguments: tag: D729
type_guessed: string
name: parse_data
arguments: tag: D682
type_guessed: string
name: parse_data
arguments: tag: D175
type_guessed: string
name: parse_data
arguments: tag: D256
type_guessed: string
name: parse_data
arguments: tag: D557
type_guessed: string
name: parse_data
arguments: tag: D28
type_guessed: string
name: parse_data
arguments: tag: D341
type_guessed: string
name: parse_data
arguments: tag: D738
type_guessed: string
name: parse_data
arguments: tag: D307
type_guessed: string
name: parse_data
arguments: tag: D648
type_guessed: string
name: parse_data
arguments: tag: D167
type_guessed: string

tool: D285: 32

tool: D716: 64

tool: D614: 0

tool: D47: 31

tool: D497: 63

tool: D90: MS

tool: D592: LS

tool: D134: big

tool: D200: little

tool: D343: #define WITH_TARGET_WORD_BITSIZE %d


tool: D472: #define WITH_TARGET_WORD_MSB %d


tool: D358: #define WITH_HOST_WORD_BITSIZE %d


tool: D581: BIG_ENDIAN

tool: D656: LITTLE_ENDIAN

tool: D217: #define WITH_TARGET_BYTE_ORDER %s


tool: D774: #define SIM_BITS_INLINE (ALL_H_INLINE)

tool: D626: #define ASSERT(X) do { if (!(X)) abort(); } while (0)

tool: D344: #include "sim-basics.h"

tool: D569: #define DO_BIT_TESTS

tool: D196: BIT4

tool: D637: BIT5

tool: D414: BIT8

tool: D182: BIT10

tool: D591: BIT16

tool: D751: BIT32

tool: D631: BIT64

tool: D81: BIT

tool: D342: LSBIT8

tool: D657: LSBIT16

tool: D101: LSBIT32

tool: D537: LSBIT64

tool: D654: LSBIT

tool: D604: MSBIT8

tool: D552: MSBIT16

tool: D765: MSBIT32

tool: D376: MSBIT64

tool: D464: MSBIT

tool: D197: test_spec *(bit_tests[]) = {

tool: D314:   &BIT4_test,

tool: D630:   &BIT5_test,

tool: D578:   &BIT8_test,

tool: D496:   &BIT10_test,

tool: D395:   &BIT16_test,

tool: D545:   &BIT32_test,

tool: D522:   &BIT64_test,

tool: D297:   &BIT_test,

tool: D576:   &LSBIT8_test,

tool: D693:   &LSBIT16_test,

tool: D385:   &LSBIT32_test,

tool: D717:   &LSBIT64_test,

tool: D669:   &LSBIT_test,

tool: D483:   &MSBIT8_test,

tool: D620:   &MSBIT16_test,

tool: D49:   &MSBIT32_test,

tool: D563:   &MSBIT64_test,

tool: D611:   &MSBIT_test,

tool: D425:   0,

tool: D279: };


tool: D761: #define DO_MASK_TESTS

tool: D729: MASK8

tool: D682: MASK16

tool: D175: MASK32

tool: D256: MASK64

tool: D557: MASK

tool: D28: test_spec *(mask_tests[]) = {

tool: D341:   &MASK8_test,

tool: D738:   &MASK16_test,

tool: D307:   &MASK32_test,

tool: D648:   &MASK64_test,

tool: D167:   &MASK_test,

assistant: ```c
int main(int argc, char *argv[]) {
  int bitsize;
  int msb;
  char *ms;
  int big_endian;
  if (argc != 4)
    usage(1);
  if (strcmp(argv[1], "32") == 0)
    bitsize = 32;
  else if (strcmp(argv[1], "64") == 0)
    bitsize = 64;
  else
    usage(2);
  if (strcmp(argv[2], "0") == 0)
    msb = 0;
  else if (strcmp(argv[2], "31") == 0 && bitsize == 32)
    msb = 31;
  else if (strcmp(argv[2], "63") == 0 && bitsize == 64)
    msb = 63;
  else
    usage(3);
  if (msb == 0)
    ms = "MS";
  else
    ms = "LS";
  if (strcmp(argv[3], "big") == 0)
    big_endian = 1;
  else if (strcmp(argv[3], "little") == 0)
    big_endian = 0;
  else
    usage(4);
  printf("#define WITH_TARGET_WORD_BITSIZE %d\n", bitsize);
  printf("#define WITH_TARGET_WORD_MSB %d\n", msb);
  printf("#define WITH_HOST_WORD_BITSIZE %d\n", sizeof(int) * 8);
  printf("#define WITH_TARGET_BYTE_ORDER %s\n", big_endian ? "BIG_ENDIAN" : "LITTLE_ENDIAN");
  printf("\n");
  printf("#define SIM_BITS_INLINE (ALL_H_INLINE)\n");
  printf("\n");
  printf("#define ASSERT(X) do { if (!(X)) abort(); } while (0)\n");
  printf("\n");
  printf("#include \"sim-basics.h\"\n");
  gen_struct();
  printf("#define DO_BIT_TESTS\n");
  gen_bit(4, msb, "BIT4", 4);
  gen_bit(5, msb, "BIT5", 5);
  gen_bit(8, msb, "BIT8", 8);
  gen_bit(10, msb, "BIT10", 10);
  gen_bit(16, msb, "BIT16", 16);
  gen_bit(32, msb, "BIT32", 32);
  gen_bit(64, msb, "BIT64", 64);
  gen_bit(bitsize, msb, "BIT", 64);
  gen_bit(8, 8 - 1, "LSBIT8", 8);
  gen_bit(16, 16 - 1, "LSBIT16", 16);
  gen_bit(32, 32 - 1, "LSBIT32", 32);
  gen_bit(64, 64 - 1, "LSBIT64", 64);
  gen_bit(bitsize, bitsize - 1, "LSBIT", 64);
  gen_bit(8, 0, "MSBIT8", 8);
  gen_bit(16, 0, "MSBIT16", 16);
  gen_bit(32, 0, "MSBIT32", 32);
  gen_bit(64, 0, "MSBIT64", 64);
  gen_bit(bitsize, 0, "MSBIT", 64);
  printf("test_spec *(bit_tests[]) = {\n");
  printf("  &BIT4_test,\n");
  printf("  &BIT5_test,\n");
  printf("  &BIT8_test,\n");
  printf("  &BIT10_test,\n");
  printf("  &BIT16_test,\n");
  printf("  &BIT32_test,\n");
  printf("  &BIT64_test,\n");
  printf("  &BIT_test,\n");
  printf("  &LSBIT8_test,\n");
  printf("  &LSBIT16_test,\n");
  printf("  &LSBIT32_test,\n");
  printf("  &LSBIT64_test,\n");
  printf("  &LSBIT_test,\n");
  printf("  &MSBIT8_test,\n");
  printf("  &MSBIT16_test,\n");
  printf("  &MSBIT32_test,\n");
  printf("  &MSBIT64_test,\n");
  printf("  &MSBIT_test,\n");
  printf("  0,\n");
  printf("};\n\n");
  gen_enum("BIT", 64);
  gen_enum("LSBIT", 64);
  gen_enum("MSBIT", 64);
  gen_enum("BIT32", 32);
  gen_enum("LSBIT32", 32);
  gen_enum("MSBIT32", 32);
  printf("#define DO_MASK_TESTS\n");
  gen_mask(8, ms, "MASK8", 8);
  gen_mask(16, ms, "MASK16", 16);
  gen_mask(32, ms, "MASK32", 32);
  gen_mask(64, ms, "MASK64", 64);
  gen_mask(bitsize, ms, "MASK", 64);
  printf("test_spec *(mask_tests[]) = {\n");
  printf("  &MASK8_test,\n");
  printf("  &MASK16_test,\n");
  printf("  &MASK32_test,\n");
  printf("  &MASK64_test,\n");
  printf("  &MASK_test,\n");
  printf("  0,\n");
  printf("};\n\n");
  return 0;
}
```