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

```asm
<main>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x20,%rsp
  movsd  D88(%rip),%xmm0
  movsd  %xmm0,-0x10(%rbp)
  movsd  D37(%rip),%xmm0
  movsd  %xmm0,-0x8(%rbp)
  movl   $0x0,-0x14(%rbp)
  movsd  -0x8(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <__builtin_mips_cabs_eq_d@plt>
  cmp    %eax,-0x14(%rbp)
  je     L5
  mov    $0x0,%eax
  call   <abort@plt>
L5:
  movsd  D88(%rip),%xmm0
  movsd  %xmm0,-0x10(%rbp)
  movsd  D2(%rip),%xmm0
  movsd  %xmm0,-0x8(%rbp)
  movl   $0x1,-0x14(%rbp)
  movsd  -0x8(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <__builtin_mips_cabs_eq_d@plt>
  cmp    %eax,-0x14(%rbp)
  je     L104
  mov    $0x0,%eax
  call   <abort@plt>
L104:
  movsd  D44(%rip),%xmm0
  movsd  %xmm0,-0x10(%rbp)
  movsd  D44(%rip),%xmm0
  movsd  %xmm0,-0x8(%rbp)
  movsd  -0x8(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test0@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x0,-0x14(%rbp)
  je     L301
  mov    $0x0,%eax
  call   <abort@plt>
L301:
  movsd  -0x8(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test1@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x0,-0x14(%rbp)
  je     L326
  mov    $0x0,%eax
  call   <abort@plt>
L326:
  movsd  -0x8(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test2@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x1,-0x14(%rbp)
  je     L38
  mov    $0x0,%eax
  call   <abort@plt>
L38:
  movsd  -0x8(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test3@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x1,-0x14(%rbp)
  je     L149
  mov    $0x0,%eax
  call   <abort@plt>
L149:
  movsd  -0x8(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test4@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x0,-0x14(%rbp)
  je     L421
  mov    $0x0,%eax
  call   <abort@plt>
L421:
  movsd  -0x8(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test5@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x0,-0x14(%rbp)
  je     L435
  mov    $0x0,%eax
  call   <abort@plt>
L435:
  movsd  -0x8(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test6@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x1,-0x14(%rbp)
  je     L119
  mov    $0x0,%eax
  call   <abort@plt>
L119:
  movsd  -0x8(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test7@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x1,-0x14(%rbp)
  je     L179
  mov    $0x0,%eax
  call   <abort@plt>
L179:
  movsd  -0x8(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test8@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x0,-0x14(%rbp)
  je     L490
  mov    $0x0,%eax
  call   <abort@plt>
L490:
  movsd  -0x8(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test9@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x0,-0x14(%rbp)
  je     L189
  mov    $0x0,%eax
  call   <abort@plt>
L189:
  movsd  -0x8(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test10@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x1,-0x14(%rbp)
  je     L15
  mov    $0x0,%eax
  call   <abort@plt>
L15:
  movsd  -0x8(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test11@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x1,-0x14(%rbp)
  je     L302
  mov    $0x0,%eax
  call   <abort@plt>
L302:
  movsd  -0x8(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test12@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x0,-0x14(%rbp)
  je     L42
  mov    $0x0,%eax
  call   <abort@plt>
L42:
  movsd  -0x8(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test13@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x0,-0x14(%rbp)
  je     L181
  mov    $0x0,%eax
  call   <abort@plt>
L181:
  movsd  -0x8(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test14@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x1,-0x14(%rbp)
  je     L214
  mov    $0x0,%eax
  call   <abort@plt>
L214:
  movsd  -0x8(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test15@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x1,-0x14(%rbp)
  je     L19
  mov    $0x0,%eax
  call   <abort@plt>
L19:
  movsd  -0x10(%rbp),%xmm0
  mov    -0x8(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test0@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x0,-0x14(%rbp)
  je     L449
  mov    $0x0,%eax
  call   <abort@plt>
L449:
  movsd  -0x10(%rbp),%xmm0
  mov    -0x8(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test1@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x0,-0x14(%rbp)
  je     L299
  mov    $0x0,%eax
  call   <abort@plt>
L299:
  movsd  -0x10(%rbp),%xmm0
  mov    -0x8(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test2@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x1,-0x14(%rbp)
  je     L397
  mov    $0x0,%eax
  call   <abort@plt>
L397:
  movsd  -0x10(%rbp),%xmm0
  mov    -0x8(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test3@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x1,-0x14(%rbp)
  je     L482
  mov    $0x0,%eax
  call   <abort@plt>
L482:
  movsd  -0x10(%rbp),%xmm0
  mov    -0x8(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test4@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x0,-0x14(%rbp)
  je     L313
  mov    $0x0,%eax
  call   <abort@plt>
L313:
  movsd  -0x10(%rbp),%xmm0
  mov    -0x8(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test5@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x0,-0x14(%rbp)
  je     L262
  mov    $0x0,%eax
  call   <abort@plt>
L262:
  movsd  -0x10(%rbp),%xmm0
  mov    -0x8(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test6@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x1,-0x14(%rbp)
  je     L289
  mov    $0x0,%eax
  call   <abort@plt>
L289:
  movsd  -0x10(%rbp),%xmm0
  mov    -0x8(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test7@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x1,-0x14(%rbp)
  je     L147
  mov    $0x0,%eax
  call   <abort@plt>
L147:
  movsd  -0x10(%rbp),%xmm0
  mov    -0x8(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test8@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x0,-0x14(%rbp)
  je     L362
  mov    $0x0,%eax
  call   <abort@plt>
L362:
  movsd  -0x10(%rbp),%xmm0
  mov    -0x8(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test9@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x0,-0x14(%rbp)
  je     L259
  mov    $0x0,%eax
  call   <abort@plt>
L259:
  movsd  -0x10(%rbp),%xmm0
  mov    -0x8(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test10@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x1,-0x14(%rbp)
  je     L135
  mov    $0x0,%eax
  call   <abort@plt>
L135:
  movsd  -0x10(%rbp),%xmm0
  mov    -0x8(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test11@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x1,-0x14(%rbp)
  je     L374
  mov    $0x0,%eax
  call   <abort@plt>
L374:
  movsd  -0x10(%rbp),%xmm0
  mov    -0x8(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test12@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x0,-0x14(%rbp)
  je     L287
  mov    $0x0,%eax
  call   <abort@plt>
L287:
  movsd  -0x10(%rbp),%xmm0
  mov    -0x8(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test13@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x0,-0x14(%rbp)
  je     L64
  mov    $0x0,%eax
  call   <abort@plt>
L64:
  movsd  -0x10(%rbp),%xmm0
  mov    -0x8(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test14@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x1,-0x14(%rbp)
  je     L436
  mov    $0x0,%eax
  call   <abort@plt>
L436:
  movsd  -0x10(%rbp),%xmm0
  mov    -0x8(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test15@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x1,-0x14(%rbp)
  je     L216
  mov    $0x0,%eax
  call   <abort@plt>
L216:
  movsd  D67(%rip),%xmm0
  pxor   %xmm1,%xmm1
  divsd  %xmm1,%xmm0
  movsd  D67(%rip),%xmm1
  pxor   %xmm2,%xmm2
  divsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x10(%rbp)
  movsd  D67(%rip),%xmm0
  pxor   %xmm1,%xmm1
  divsd  %xmm1,%xmm0
  movsd  D67(%rip),%xmm1
  pxor   %xmm2,%xmm2
  divsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
  movsd  -0x8(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test0@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x0,-0x14(%rbp)
  je     L343
  mov    $0x0,%eax
  call   <abort@plt>
L343:
  movsd  -0x8(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test1@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x1,-0x14(%rbp)
  je     L346
  mov    $0x0,%eax
  call   <abort@plt>
L346:
  movsd  -0x8(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test2@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x0,-0x14(%rbp)
  je     L294
  mov    $0x0,%eax
  call   <abort@plt>
L294:
  movsd  -0x8(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test3@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x1,-0x14(%rbp)
  je     L479
  mov    $0x0,%eax
  call   <abort@plt>
L479:
  movsd  -0x8(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test4@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x0,-0x14(%rbp)
  je     L229
  mov    $0x0,%eax
  call   <abort@plt>
L229:
  movsd  -0x8(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test5@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x1,-0x14(%rbp)
  je     L100
  mov    $0x0,%eax
  call   <abort@plt>
L100:
  movsd  -0x8(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test6@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x0,-0x14(%rbp)
  je     L252
  mov    $0x0,%eax
  call   <abort@plt>
L252:
  movsd  -0x8(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test7@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x1,-0x14(%rbp)
  je     L156
  mov    $0x0,%eax
  call   <abort@plt>
L156:
  movsd  -0x8(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test8@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x0,-0x14(%rbp)
  je     L39
  mov    $0x0,%eax
  call   <abort@plt>
L39:
  movsd  -0x8(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test9@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x1,-0x14(%rbp)
  je     L328
  mov    $0x0,%eax
  call   <abort@plt>
L328:
  movsd  -0x8(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test10@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x0,-0x14(%rbp)
  je     L125
  mov    $0x0,%eax
  call   <abort@plt>
L125:
  movsd  -0x8(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test11@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x1,-0x14(%rbp)
  je     L217
  mov    $0x0,%eax
  call   <abort@plt>
L217:
  movsd  -0x8(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test12@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x0,-0x14(%rbp)
  je     L114
  mov    $0x0,%eax
  call   <abort@plt>
L114:
  movsd  -0x8(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test13@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x1,-0x14(%rbp)
  je     L184
  mov    $0x0,%eax
  call   <abort@plt>
L184:
  movsd  -0x8(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test14@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x0,-0x14(%rbp)
  je     L187
  mov    $0x0,%eax
  call   <abort@plt>
L187:
  movsd  -0x8(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <test15@plt>
  mov    %eax,-0x14(%rbp)
  cmpl   $0x1,-0x14(%rbp)
  je     L75
  mov    $0x0,%eax
  call   <abort@plt>
L75:
  lea    D5(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  mov    $0x0,%edi
  call   <exit@plt>
  mov    $0x0,%eax
  leave
  ret
```

tool_calls: name: extract_symbolic_data
arguments: data_tag: D88
data_type: f32[2]
name: extract_symbolic_data
arguments: data_tag: D37
data_type: f32[2]
name: extract_symbolic_data
arguments: data_tag: D2
data_type: f32[2]
name: extract_symbolic_data
arguments: data_tag: D44
data_type: f64
name: extract_symbolic_data
arguments: data_tag: D67
data_type: f64
name: extract_symbolic_data
arguments: data_tag: D5
data_type: string

tool: {"D88": [0.0,2.625]}

tool: {"D37": [0.0,-3.1875]}

tool: {"D2": [0.0,-2.625]}

tool: D44: 1984

tool: D67: 1

tool: D5: Test Passes


assistant: ```c
int main() {
  double a, b;
  int i;
  a = 12;
  b = -56;
  i = 0;
  if (__builtin_mips_cabs_eq_d(a, b) != i)
    abort();
  a = 12;
  b = -12;
  i = 1;
  if (__builtin_mips_cabs_eq_d(a, b) != i)
    abort();
  a = 1984.0;
  b = 1984.0;
  i = test0(a, b);
  if (i != 0)
    abort();
  i = test1(a, b);
  if (i != 0)
    abort();
  i = test2(a, b);
  if (i != 1)
    abort();
  i = test3(a, b);
  if (i != 1)
    abort();
  i = test4(a, b);
  if (i != 0)
    abort();
  i = test5(a, b);
  if (i != 0)
    abort();
  i = test6(a, b);
  if (i != 1)
    abort();
  i = test7(a, b);
  if (i != 1)
    abort();
  i = test8(a, b);
  if (i != 0)
    abort();
  i = test9(a, b);
  if (i != 0)
    abort();
  i = test10(a, b);
  if (i != 1)
    abort();
  i = test11(a, b);
  if (i != 1)
    abort();
  i = test12(a, b);
  if (i != 0)
    abort();
  i = test13(a, b);
  if (i != 0)
    abort();
  i = test14(a, b);
  if (i != 1)
    abort();
  i = test15(a, b);
  if (i != 1)
    abort();
  i = test0(b, a);
  if (i != 0)
    abort();
  i = test1(b, a);
  if (i != 0)
    abort();
  i = test2(b, a);
  if (i != 1)
    abort();
  i = test3(b, a);
  if (i != 1)
    abort();
  i = test4(b, a);
  if (i != 0)
    abort();
  i = test5(b, a);
  if (i != 0)
    abort();
  i = test6(b, a);
  if (i != 1)
    abort();
  i = test7(b, a);
  if (i != 1)
    abort();
  i = test8(b, a);
  if (i != 0)
    abort();
  i = test9(b, a);
  if (i != 0)
    abort();
  i = test10(b, a);
  if (i != 1)
    abort();
  i = test11(b, a);
  if (i != 1)
    abort();
  i = test12(b, a);
  if (i != 0)
    abort();
  i = test13(b, a);
  if (i != 0)
    abort();
  i = test14(b, a);
  if (i != 1)
    abort();
  i = test15(b, a);
  if (i != 1)
    abort();
  a = 1.0 / 0.0 - 1.0 / 0.0;
  b = 1.0 / 0.0 - 1.0 / 0.0;
  i = test0(a, b);
  if (i != 0)
    abort();
  i = test1(a, b);
  if (i != 1)
    abort();
  i = test2(a, b);
  if (i != 0)
    abort();
  i = test3(a, b);
  if (i != 1)
    abort();
  i = test4(a, b);
  if (i != 0)
    abort();
  i = test5(a, b);
  if (i != 1)
    abort();
  i = test6(a, b);
  if (i != 0)
    abort();
  i = test7(a, b);
  if (i != 1)
    abort();
  i = test8(a, b);
  if (i != 0)
    abort();
  i = test9(a, b);
  if (i != 1)
    abort();
  i = test10(a, b);
  if (i != 0)
    abort();
  i = test11(a, b);
  if (i != 1)
    abort();
  i = test12(a, b);
  if (i != 0)
    abort();
  i = test13(a, b);
  if (i != 1)
    abort();
  i = test14(a, b);
  if (i != 0)
    abort();
  i = test15(a, b);
  if (i != 1)
    abort();
  printf("Test Passes\n");
  exit(0);
}
```