user: 请从给定的汇编指令推导出C源代码:

```asm
<main>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x20,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  mov    $0x0,%eax
  call   <random@plt>
  mov    %eax,-0x20(%rbp)
  mov    $0x0,%esi
  lea    D129(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    $0x14,%esi
  lea    D285(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    $0x1,%esi
  lea    D67(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    -0x20(%rbp),%eax
  cmp    $0xc,%eax
  sete   %al
  movzbl %al,%eax
  mov    %rax,%rsi
  lea    D23(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  lea    -0x20(%rbp),%rax
  prefetcht0 (%rax)
  mov    $0x0,%esi
  lea    D174(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  lea    -0x20(%rbp),%rax
  prefetcht0 (%rax)
  mov    $0x0,%esi
  lea    D127(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  lea    -0x20(%rbp),%rax
  prefetchnta (%rax)
  mov    $0x0,%esi
  lea    D714(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    D142(%rip),%rax
  movq   %rax,%xmm0
  lea    D125(%rip),%rax
  mov    %rax,%rdi
  mov    $0x1,%eax
  call   <q@plt>
  mov    D142(%rip),%rax
  movq   %rax,%xmm0
  lea    D480(%rip),%rax
  mov    %rax,%rdi
  mov    $0x1,%eax
  call   <q@plt>
  fldt   0x10cb(%rip)        # 24c0 <_fini+0x654>
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    D357(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <q@plt>
  add    $0x10,%rsp
  mov    D142(%rip),%rax
  movq   %rax,%xmm0
  lea    D776(%rip),%rax
  mov    %rax,%rdi
  mov    $0x1,%eax
  call   <q@plt>
  mov    D142(%rip),%rax
  movq   %rax,%xmm0
  lea    D325(%rip),%rax
  mov    %rax,%rdi
  mov    $0x1,%eax
  call   <q@plt>
  fldt   0x1065(%rip)        # 24c0 <_fini+0x654>
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    D330(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <q@plt>
  add    $0x10,%rsp
  mov    $0x2,%esi
  lea    D721(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    $0x2,%esi
  lea    D609(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    $0x2,%esi
  lea    D845(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    D805(%rip),%rax
  movq   %rax,%xmm0
  lea    D758(%rip),%rax
  mov    %rax,%rdi
  mov    $0x1,%eax
  call   <q@plt>
  mov    D805(%rip),%rax
  movq   %rax,%xmm0
  lea    D192(%rip),%rax
  mov    %rax,%rdi
  mov    $0x1,%eax
  call   <q@plt>
  fldt   0xfd4(%rip)        # 24e0 <_fini+0x674>
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    D0(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <q@plt>
  add    $0x10,%rsp
  mov    D39(%rip),%rax
  movq   %rax,%xmm0
  lea    D567(%rip),%rax
  mov    %rax,%rdi
  mov    $0x1,%eax
  call   <q@plt>
  mov    D586(%rip),%rax
  movq   %rax,%xmm0
  lea    D607(%rip),%rax
  mov    %rax,%rdi
  mov    $0x1,%eax
  call   <q@plt>
  mov    D772(%rip),%rax
  movq   %rax,%xmm0
  lea    D359(%rip),%rax
  mov    %rax,%rdi
  mov    $0x1,%eax
  call   <q@plt>
  fldt   0xf7e(%rip)        # 2510 <_fini+0x6a4>
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    D528(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <q@plt>
  add    $0x10,%rsp
  mov    D264(%rip),%rax
  movq   %rax,%xmm0
  lea    D736(%rip),%rax
  mov    %rax,%rdi
  mov    $0x1,%eax
  call   <q@plt>
  mov    $0x0,%esi
  lea    D625(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    $0x0,%esi
  lea    D402(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    $0x1,%esi
  lea    D416(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    $0x1,%esi
  lea    D692(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    $0x1,%esi
  lea    D173(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    $0x0,%esi
  lea    D443(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    $0x0,%esi
  lea    D554(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    $0x0,%esi
  lea    D430(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    $0x0,%esi
  lea    D106(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    -0x20(%rbp),%eax
  mov    %eax,%edx
  neg    %edx
  cmovns %edx,%eax
  mov    %eax,%esi
  lea    D42(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    -0x20(%rbp),%eax
  bsr    %eax,%eax
  xor    $0x1f,%eax
  mov    %eax,%esi
  lea    D425(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    -0x20(%rbp),%eax
  cltq
  bsr    %rax,%rax
  xor    $0x3f,%rax
  mov    %eax,%esi
  lea    D744(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    -0x20(%rbp),%eax
  cltq
  bsr    %rax,%rax
  xor    $0x3f,%rax
  mov    %eax,%esi
  lea    D494(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    -0x20(%rbp),%eax
  tzcnt  %eax,%eax
  mov    %eax,%esi
  lea    D532(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    -0x20(%rbp),%eax
  cltq
  tzcnt  %rax,%rax
  mov    %eax,%esi
  lea    D146(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    -0x20(%rbp),%eax
  cltq
  tzcnt  %rax,%rax
  mov    %eax,%esi
  lea    D363(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    -0x20(%rbp),%eax
  mov    $0xffffffff,%edx
  bsf    %eax,%eax
  cmove  %edx,%eax
  add    $0x1,%eax
  mov    %eax,%esi
  lea    D7(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    -0x20(%rbp),%eax
  cltq
  mov    $0xffffffffffffffff,%rdx
  bsf    %rax,%rax
  cmove  %rdx,%rax
  add    $0x1,%rax
  mov    %eax,%esi
  lea    D454(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    -0x20(%rbp),%eax
  cltq
  mov    $0xffffffffffffffff,%rdx
  bsf    %rax,%rax
  cmove  %rdx,%rax
  add    $0x1,%rax
  mov    %eax,%esi
  lea    D576(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    -0x20(%rbp),%eax
  mov    %eax,%edx
  shr    $0x10,%edx
  xor    %edx,%eax
  xor    %ah,%al
  setnp  %al
  movzbl %al,%eax
  mov    %eax,%esi
  lea    D286(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    -0x20(%rbp),%eax
  cltq
  mov    %rax,%rdx
  shr    $0x20,%rdx
  xor    %edx,%eax
  mov    %eax,%edx
  shr    $0x10,%edx
  xor    %edx,%eax
  xor    %ah,%al
  setnp  %al
  movzbl %al,%eax
  mov    %eax,%esi
  lea    D204(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    -0x20(%rbp),%eax
  cltq
  mov    %rax,%rdx
  shr    $0x20,%rdx
  xor    %edx,%eax
  mov    %eax,%edx
  shr    $0x10,%edx
  xor    %edx,%eax
  xor    %ah,%al
  setnp  %al
  movzbl %al,%eax
  mov    %eax,%esi
  lea    D380(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    -0x20(%rbp),%eax
  mov    %eax,%eax
  mov    %rax,%rdi
  call   <__popcountdi2>
  mov    %eax,%esi
  lea    D434(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    -0x20(%rbp),%eax
  cltq
  mov    %rax,%rdi
  call   <__popcountdi2>
  mov    %eax,%esi
  lea    D727(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    -0x20(%rbp),%eax
  cltq
  mov    %rax,%rdi
  call   <__popcountdi2>
  mov    %eax,%esi
  lea    D499(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    -0x20(%rbp),%eax
  mov    %eax,%edi
  mov    D65(%rip),%rax
  movq   %rax,%xmm0
  call   <__powidf2>
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  lea    D587(%rip),%rax
  mov    %rax,%rdi
  mov    $0x1,%eax
  call   <q@plt>
  mov    -0x20(%rbp),%eax
  mov    %eax,%edi
  mov    D524(%rip),%eax
  movd   %eax,%xmm0
  call   <__powisf2>
  pxor   %xmm1,%xmm1
  cvtss2sd %xmm0,%xmm1
  movq   %xmm1,%rax
  movq   %rax,%xmm0
  lea    D385(%rip),%rax
  mov    %rax,%rdi
  mov    $0x1,%eax
  call   <q@plt>
  mov    -0x20(%rbp),%eax
  fldt   0xbba(%rip)        # 2540 <_fini+0x6d4>
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  mov    %eax,%edi
  call   <__powixf2>
  add    $0x10,%rsp
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    D353(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <q@plt>
  add    $0x10,%rsp
  mov    $0x0,%eax
  call   <random@plt>
  mov    %eax,-0x1c(%rbp)
  movl   $0x6c6c6548,-0x18(%rbp)
  movw   $0x6f,-0x14(%rbp)
  lea    -0x18(%rbp),%rdx
  lea    -0x12(%rbp),%rax
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcat@plt>
  mov    $0x0,%esi
  lea    D440(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    $0x0,%esi
  lea    D324(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    -0x1c(%rbp),%eax
  movslq %eax,%rdx
  lea    -0x18(%rbp),%rcx
  lea    -0x12(%rbp),%rax
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncat@plt>
  mov    $0x0,%esi
  lea    D390(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    $0x0,%esi
  lea    D453(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    $0x0,%esi
  lea    D476(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  lea    -0x18(%rbp),%rdx
  lea    -0x12(%rbp),%rax
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcpy@plt>
  mov    $0x0,%esi
  lea    D485(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    -0x1c(%rbp),%eax
  movslq %eax,%rdx
  lea    -0x18(%rbp),%rcx
  lea    -0x12(%rbp),%rax
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncpy@plt>
  mov    $0x0,%esi
  lea    D791(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    -0x1c(%rbp),%eax
  movslq %eax,%rdx
  lea    -0x12(%rbp),%rax
  mov    %rdx,%rcx
  mov    $0xa,%edx
  mov    $0x0,%esi
  mov    %rax,%rdi
  call   <__memset_chk@plt>
  mov    $0x0,%esi
  lea    D411(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    -0x1c(%rbp),%eax
  movslq %eax,%rdx
  lea    -0x18(%rbp),%rsi
  lea    -0x12(%rbp),%rax
  mov    %rdx,%rcx
  mov    $0xa,%edx
  mov    %rax,%rdi
  call   <__memcpy_chk@plt>
  mov    $0x0,%esi
  lea    D273(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    -0x1c(%rbp),%eax
  movslq %eax,%rdx
  lea    -0x18(%rbp),%rsi
  lea    -0x12(%rbp),%rax
  mov    %rdx,%rcx
  mov    $0xa,%edx
  mov    %rax,%rdi
  call   <__memmove_chk@plt>
  mov    $0x0,%esi
  lea    D723(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    -0x1c(%rbp),%eax
  movslq %eax,%rdx
  lea    -0x18(%rbp),%rsi
  lea    -0x12(%rbp),%rax
  mov    %rdx,%rcx
  mov    $0xa,%edx
  mov    %rax,%rdi
  call   <__mempcpy_chk@plt>
  mov    $0x0,%esi
  lea    D602(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    -0x1c(%rbp),%eax
  movslq %eax,%rdx
  lea    -0x18(%rbp),%rsi
  lea    -0x12(%rbp),%rax
  mov    %rdx,%rcx
  mov    $0xa,%edx
  mov    %rax,%rdi
  call   <__strncpy_chk@plt>
  mov    $0x0,%esi
  lea    D188(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    -0x1c(%rbp),%eax
  movslq %eax,%rdx
  lea    -0x18(%rbp),%rcx
  lea    -0x12(%rbp),%rax
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <__strcpy_chk@plt>
  mov    $0x0,%esi
  lea    D111(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  movb   $0x0,-0x12(%rbp)
  mov    -0x1c(%rbp),%eax
  movslq %eax,%rdx
  lea    -0x18(%rbp),%rcx
  lea    -0x12(%rbp),%rax
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <__strcat_chk@plt>
  mov    $0x0,%esi
  lea    D601(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    $0xa,%esi
  lea    D623(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    $0xa,%esi
  lea    D756(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    $0xa,%esi
  lea    D9(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    $0xa,%esi
  lea    D553(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    -0x20(%rbp),%eax
  movzwl %ax,%eax
  rol    $0x8,%ax
  movzwl %ax,%eax
  mov    %eax,%esi
  lea    D378(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    -0x20(%rbp),%eax
  bswap  %eax
  mov    %eax,%esi
  lea    D61(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  mov    -0x20(%rbp),%eax
  cltq
  bswap  %rax
  mov    %rax,%rsi
  lea    D834(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <p@plt>
  ud2
```

tool_calls: name: parse_data
arguments: data_tag: D129
type_guessed: string
name: parse_data
arguments: data_tag: D285
type_guessed: string
name: parse_data
arguments: data_tag: D67
type_guessed: string
name: parse_data
arguments: data_tag: D23
type_guessed: string
name: parse_data
arguments: data_tag: D174
type_guessed: string
name: parse_data
arguments: data_tag: D127
type_guessed: string
name: parse_data
arguments: data_tag: D714
type_guessed: string
name: parse_data
arguments: data_tag: D142
type_guessed: byte[8]
name: parse_data
arguments: data_tag: D125
type_guessed: string
name: parse_data
arguments: data_tag: D480
type_guessed: string
name: parse_data
arguments: data_tag: D357
type_guessed: string
name: parse_data
arguments: data_tag: D776
type_guessed: string
name: parse_data
arguments: data_tag: D325
type_guessed: string
name: parse_data
arguments: data_tag: D330
type_guessed: string
name: parse_data
arguments: data_tag: D721
type_guessed: string
name: parse_data
arguments: data_tag: D609
type_guessed: string
name: parse_data
arguments: data_tag: D845
type_guessed: string
name: parse_data
arguments: data_tag: D805
type_guessed: byte[8]
name: parse_data
arguments: data_tag: D758
type_guessed: string
name: parse_data
arguments: data_tag: D192
type_guessed: string
name: parse_data
arguments: data_tag: D0
type_guessed: string
name: parse_data
arguments: data_tag: D39
type_guessed: byte[8]
name: parse_data
arguments: data_tag: D567
type_guessed: string
name: parse_data
arguments: data_tag: D586
type_guessed: byte[8]
name: parse_data
arguments: data_tag: D607
type_guessed: string
name: parse_data
arguments: data_tag: D772
type_guessed: f32[2]
name: parse_data
arguments: data_tag: D359
type_guessed: string
name: parse_data
arguments: data_tag: D528
type_guessed: string
name: parse_data
arguments: data_tag: D264
type_guessed: byte[8]
name: parse_data
arguments: data_tag: D736
type_guessed: string
name: parse_data
arguments: data_tag: D625
type_guessed: string
name: parse_data
arguments: data_tag: D402
type_guessed: string
name: parse_data
arguments: data_tag: D416
type_guessed: string
name: parse_data
arguments: data_tag: D692
type_guessed: string
name: parse_data
arguments: data_tag: D173
type_guessed: string
name: parse_data
arguments: data_tag: D443
type_guessed: string
name: parse_data
arguments: data_tag: D554
type_guessed: string
name: parse_data
arguments: data_tag: D430
type_guessed: string
name: parse_data
arguments: data_tag: D106
type_guessed: string
name: parse_data
arguments: data_tag: D42
type_guessed: string
name: parse_data
arguments: data_tag: D425
type_guessed: string
name: parse_data
arguments: data_tag: D744
type_guessed: string
name: parse_data
arguments: data_tag: D494
type_guessed: string
name: parse_data
arguments: data_tag: D532
type_guessed: string
name: parse_data
arguments: data_tag: D146
type_guessed: string
name: parse_data
arguments: data_tag: D363
type_guessed: string
name: parse_data
arguments: data_tag: D7
type_guessed: string
name: parse_data
arguments: data_tag: D454
type_guessed: string
name: parse_data
arguments: data_tag: D576
type_guessed: string
name: parse_data
arguments: data_tag: D286
type_guessed: string
name: parse_data
arguments: data_tag: D204
type_guessed: string
name: parse_data
arguments: data_tag: D380
type_guessed: string
name: parse_data
arguments: data_tag: D434
type_guessed: string
name: parse_data
arguments: data_tag: D727
type_guessed: string
name: parse_data
arguments: data_tag: D499
type_guessed: string
name: parse_data
arguments: data_tag: D65
type_guessed: f32[2]
name: parse_data
arguments: data_tag: D587
type_guessed: string
name: parse_data
arguments: data_tag: D524
type_guessed: byte[4]
name: parse_data
arguments: data_tag: D385
type_guessed: string
name: parse_data
arguments: data_tag: D353
type_guessed: string
name: parse_data
arguments: data_tag: D440
type_guessed: string
name: parse_data
arguments: data_tag: D324
type_guessed: string
name: parse_data
arguments: data_tag: D390
type_guessed: string
name: parse_data
arguments: data_tag: D453
type_guessed: string
name: parse_data
arguments: data_tag: D476
type_guessed: string
name: parse_data
arguments: data_tag: D485
type_guessed: string
name: parse_data
arguments: data_tag: D791
type_guessed: string
name: parse_data
arguments: data_tag: D411
type_guessed: string
name: parse_data
arguments: data_tag: D273
type_guessed: string
name: parse_data
arguments: data_tag: D723
type_guessed: string
name: parse_data
arguments: data_tag: D602
type_guessed: string
name: parse_data
arguments: data_tag: D188
type_guessed: string
name: parse_data
arguments: data_tag: D111
type_guessed: string
name: parse_data
arguments: data_tag: D601
type_guessed: string
name: parse_data
arguments: data_tag: D623
type_guessed: string
name: parse_data
arguments: data_tag: D756
type_guessed: string
name: parse_data
arguments: data_tag: D9
type_guessed: string
name: parse_data
arguments: data_tag: D553
type_guessed: string
name: parse_data
arguments: data_tag: D378
type_guessed: string
name: parse_data
arguments: data_tag: D61
type_guessed: string
name: parse_data
arguments: data_tag: D834
type_guessed: string

tool: D129: types_compatible_p(int, float)

tool: D285: choose_expr(0, 10, 20)

tool: D67: constant_p(sizeof(10))

tool: D23: expect(N == 12, 0)

tool: D174: prefetch(&N)

tool: D127: prefetch(&N, 1)

tool: D714: prefetch(&N, 1, 0)

tool: {"D142": [0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x7f]}

tool: D125: huge_val()

tool: D480: huge_valf()

tool: D357: huge_vall()

tool: D776: inf()

tool: D325: inff()

tool: D330: infl()

tool: D721: fpclassify(0, 1, 2, 3, 4, 1.0)

tool: D609: fpclassify(0, 1, 2, 3, 4, 1.0f)

tool: D845: fpclassify(0, 1, 2, 3, 4, 1.0l)

tool: {"D805": [0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x7f]}

tool: D758: nan("")

tool: D192: nanf("")

tool: D0: nanl("")

tool: {"D39": [0x00,0x00,0x00,0x00,0x00,0x00,0xf4,0x7f]}

tool: D567: nans("")

tool: {"D586": [0x0a,0x00,0x00,0x00,0x00,0x00,0xf8,0x7f]}

tool: D607: nan("10")

tool: {"D772": [2.0,null]}

tool: D359: nanf("10")

tool: D528: nanl("10")

tool: {"D264": [0x0a,0x00,0x00,0x00,0x00,0x00,0xf0,0x7f]}

tool: D736: nans("10")

tool: D625: isgreater(1., 2.)

tool: D402: isgreaterequal(1., 2.)

tool: D416: isless(1., 2.)

tool: D692: islessequal(1., 2.)

tool: D173: islessgreater(1., 2.)

tool: D443: isunordered(1., 2.)

tool: D554: isinf(1.)

tool: D430: isinf_sign(1.)

tool: D106: isnan(1.)

tool: D42: abs(N)

tool: D425: clz(N)

tool: D744: clzl(N)

tool: D494: clzll(N)

tool: D532: ctz(N)

tool: D146: ctzl(N)

tool: D363: ctzll(N)

tool: D7: ffs(N)

tool: D454: ffsl(N)

tool: D576: ffsll(N)

tool: D286: parity(N)

tool: D204: parityl(N)

tool: D380: parityll(N)

tool: D434: popcount(N)

tool: D727: popcountl(N)

tool: D499: popcountll(N)

tool: {"D65": [2.0,1.899999976158142]}

tool: D587: powi(1.2f, N)

tool: {"D524": [0x9a,0x99,0x99,0x3f]}

tool: D385: powif(1.2f, N)

tool: D353: powil(1.2f, N)

tool: D440: strcat(s0, s1)

tool: D324: strcmp(s0, s1)

tool: D390: strncat(s0, s1, n)

tool: D453: strchr(s0, s1[0])

tool: D476: strrchr(s0, s1[0])

tool: D485: strcpy(s0, s1)

tool: D791: strncpy(s0, s1, n)

tool: D411: __memset_chk(s0, 0, sizeof s0, n)

tool: D273: __memcpy_chk(s0, s1, sizeof s0, n)

tool: D723: __memmove_chk(s0, s1, sizeof s0, n)

tool: D602: __mempcpy_chk(s0, s1, sizeof s0, n)

tool: D188: __strncpy_chk(s0, s1, sizeof s0, n)

tool: D111: __strcpy_chk(s0, s1, n)

tool: D601: __strcat_chk(s0, s1, n)

tool: D623: object_size(s0, 0)

tool: D756: object_size(s0, 1)

tool: D9: object_size(s0, 2)

tool: D553: object_size(s0, 3)

tool: D378: bswap16(N)

tool: D61: bswap32(N)

tool: D834: bswap64(N)

assistant: ```c
int main() {
  int N = random();
  p("types_compatible_p"
    "(int, float)",
    __builtin_types_compatible_p(int, float));
  p("choose_expr"
    "(0, 10, 20)",
    __builtin_choose_expr(0, 10, 20));
  p("constant_p"
    "(sizeof(10))",
    __builtin_constant_p(sizeof(10)));
  p("expect"
    "(N == 12, 0)",
    __builtin_expect(N == 12, 0));
  p("prefetch"
    "(&N)",
    (__builtin_prefetch(&N), 0));
  p("prefetch"
    "(&N, 1)",
    (__builtin_prefetch(&N, 1), 0));
  p("prefetch"
    "(&N, 1, 0)",
    (__builtin_prefetch(&N, 1, 0), 0));
  q("huge_val"
    "()",
    __builtin_huge_val());
  q("huge_valf"
    "()",
    __builtin_huge_valf());
  q("huge_vall"
    "()",
    __builtin_huge_vall());
  q("inf"
    "()",
    __builtin_inf());
  q("inff"
    "()",
    __builtin_inff());
  q("infl"
    "()",
    __builtin_infl());
  p("fpclassify"
    "(0, 1, 2, 3, 4, 1.0)",
    __builtin_fpclassify(0, 1, 2, 3, 4, 1.0));
  p("fpclassify"
    "(0, 1, 2, 3, 4, 1.0f)",
    __builtin_fpclassify(0, 1, 2, 3, 4, 1.0f));
  p("fpclassify"
    "(0, 1, 2, 3, 4, 1.0l)",
    __builtin_fpclassify(0, 1, 2, 3, 4, 1.0l));
  q("nan"
    "(\"\")",
    __builtin_nan(""));
  q("nanf"
    "(\"\")",
    __builtin_nanf(""));
  q("nanl"
    "(\"\")",
    __builtin_nanl(""));
  q("nans"
    "(\"\")",
    __builtin_nans(""));
  q("nan"
    "(\"10\")",
    __builtin_nan("10"));
  q("nanf"
    "(\"10\")",
    __builtin_nanf("10"));
  q("nanl"
    "(\"10\")",
    __builtin_nanl("10"));
  q("nans"
    "(\"10\")",
    __builtin_nans("10"));
  p("isgreater"
    "(1., 2.)",
    __builtin_isgreater(1., 2.));
  p("isgreaterequal"
    "(1., 2.)",
    __builtin_isgreaterequal(1., 2.));
  p("isless"
    "(1., 2.)",
    __builtin_isless(1., 2.));
  p("islessequal"
    "(1., 2.)",
    __builtin_islessequal(1., 2.));
  p("islessgreater"
    "(1., 2.)",
    __builtin_islessgreater(1., 2.));
  p("isunordered"
    "(1., 2.)",
    __builtin_isunordered(1., 2.));
  p("isinf"
    "(1.)",
    __builtin_isinf(1.));
  p("isinf_sign"
    "(1.)",
    __builtin_isinf_sign(1.));
  p("isnan"
    "(1.)",
    __builtin_isnan(1.));
  p("abs"
    "(N)",
    __builtin_abs(N));
  p("clz"
    "(N)",
    __builtin_clz(N));
  p("clzl"
    "(N)",
    __builtin_clzl(N));
  p("clzll"
    "(N)",
    __builtin_clzll(N));
  p("ctz"
    "(N)",
    __builtin_ctz(N));
  p("ctzl"
    "(N)",
    __builtin_ctzl(N));
  p("ctzll"
    "(N)",
    __builtin_ctzll(N));
  p("ffs"
    "(N)",
    __builtin_ffs(N));
  p("ffsl"
    "(N)",
    __builtin_ffsl(N));
  p("ffsll"
    "(N)",
    __builtin_ffsll(N));
  p("parity"
    "(N)",
    __builtin_parity(N));
  p("parityl"
    "(N)",
    __builtin_parityl(N));
  p("parityll"
    "(N)",
    __builtin_parityll(N));
  p("popcount"
    "(N)",
    __builtin_popcount(N));
  p("popcountl"
    "(N)",
    __builtin_popcountl(N));
  p("popcountll"
    "(N)",
    __builtin_popcountll(N));
  q("powi"
    "(1.2f, N)",
    __builtin_powi(1.2f, N));
  q("powif"
    "(1.2f, N)",
    __builtin_powif(1.2f, N));
  q("powil"
    "(1.2f, N)",
    __builtin_powil(1.2f, N));
  int a, b, n = random();
  char s0[10], s1[] = "Hello";
  p("strcat"
    "(s0, s1)",
    (__builtin_strcat(s0, s1), 0));
  p("strcmp"
    "(s0, s1)",
    (__builtin_strcmp(s0, s1), 0));
  p("strncat"
    "(s0, s1, n)",
    (__builtin_strncat(s0, s1, n), 0));
  p("strchr"
    "(s0, s1[0])",
    (__builtin_strchr(s0, s1[0]), 0));
  p("strrchr"
    "(s0, s1[0])",
    (__builtin_strrchr(s0, s1[0]), 0));
  p("strcpy"
    "(s0, s1)",
    (__builtin_strcpy(s0, s1), 0));
  p("strncpy"
    "(s0, s1, n)",
    (__builtin_strncpy(s0, s1, n), 0));
  p("__memset_chk"
    "(s0, 0, sizeof s0, n)",
    (__builtin___memset_chk(s0, 0, sizeof s0, n), 0));
  p("__memcpy_chk"
    "(s0, s1, sizeof s0, n)",
    (__builtin___memcpy_chk(s0, s1, sizeof s0, n), 0));
  p("__memmove_chk"
    "(s0, s1, sizeof s0, n)",
    (__builtin___memmove_chk(s0, s1, sizeof s0, n), 0));
  p("__mempcpy_chk"
    "(s0, s1, sizeof s0, n)",
    (__builtin___mempcpy_chk(s0, s1, sizeof s0, n), 0));
  p("__strncpy_chk"
    "(s0, s1, sizeof s0, n)",
    (__builtin___strncpy_chk(s0, s1, sizeof s0, n), 0));
  p("__strcpy_chk"
    "(s0, s1, n)",
    (__builtin___strcpy_chk(s0, s1, n), 0));
  s0[0] = 0;
  p("__strcat_chk"
    "(s0, s1, n)",
    (__builtin___strcat_chk(s0, s1, n), 0));
  p("object_size"
    "(s0, 0)",
    __builtin_object_size(s0, 0));
  p("object_size"
    "(s0, 1)",
    __builtin_object_size(s0, 1));
  p("object_size"
    "(s0, 2)",
    __builtin_object_size(s0, 2));
  p("object_size"
    "(s0, 3)",
    __builtin_object_size(s0, 3));
  p("bswap16"
    "(N)",
    __builtin_bswap16(N));
  p("bswap32"
    "(N)",
    __builtin_bswap32(N));
  p("bswap64"
    "(N)",
    __builtin_bswap64(N));
  p("trap"
    "()",
    (__builtin_trap(), 0));
  r("extract_return_addr"
    "(&N)",
    __builtin_extract_return_addr(&N));
  p("signbit"
    "(1.0)",
    __builtin_signbit(1.0));
  return 0;
}
```