user: What is the c source code of the assembly code below:

```asm
<main>:
  endbr64
  push   %rbx
  movss  D9(%rip),%xmm1
  movss  D478(%rip),%xmm0
  call   <__builtin_mips_cabs_eq_s@plt>
  test   %eax,%eax
  jne    L207
L150:
  movss  D475(%rip),%xmm1
  movss  D478(%rip),%xmm0
  call   <__builtin_mips_cabs_eq_s@plt>
  cmp    $0x1,%eax
  jne    L341
L777:
  movss  D509(%rip),%xmm1
  movss  D40(%rip),%xmm0
  call   <test0@plt>
  test   %eax,%eax
  jne    L485
L748:
  movss  D509(%rip),%xmm1
  movss  D40(%rip),%xmm0
  call   <test1@plt>
  test   %eax,%eax
  jne    L474
L741:
  movss  D509(%rip),%xmm1
  movss  D40(%rip),%xmm0
  call   <test2@plt>
  test   %eax,%eax
  jne    L996
L303:
  movss  D509(%rip),%xmm1
  movss  D40(%rip),%xmm0
  call   <test3@plt>
  test   %eax,%eax
  jne    L714
L85:
  movss  D509(%rip),%xmm1
  movss  D40(%rip),%xmm0
  call   <test4@plt>
  cmp    $0x1,%eax
  jne    L586
L503:
  movss  D509(%rip),%xmm1
  movss  D40(%rip),%xmm0
  call   <test5@plt>
  cmp    $0x1,%eax
  jne    L644
L319:
  movss  D509(%rip),%xmm1
  movss  D40(%rip),%xmm0
  call   <test6@plt>
  cmp    $0x1,%eax
  jne    L897
L711:
  movss  D509(%rip),%xmm1
  movss  D40(%rip),%xmm0
  call   <test7@plt>
  cmp    $0x1,%eax
  jne    L415
L786:
  movss  D509(%rip),%xmm1
  movss  D40(%rip),%xmm0
  call   <test8@plt>
  test   %eax,%eax
  jne    L34
L170:
  movss  D509(%rip),%xmm1
  movss  D40(%rip),%xmm0
  call   <test9@plt>
  test   %eax,%eax
  jne    L88
L580:
  movss  D509(%rip),%xmm1
  movss  D40(%rip),%xmm0
  call   <test10@plt>
  test   %eax,%eax
  jne    L944
L290:
  movss  D509(%rip),%xmm1
  movss  D40(%rip),%xmm0
  call   <test11@plt>
  test   %eax,%eax
  jne    L292
L352:
  movss  D509(%rip),%xmm1
  movss  D40(%rip),%xmm0
  call   <test12@plt>
  cmp    $0x1,%eax
  jne    L490
L419:
  movss  D509(%rip),%xmm1
  movss  D40(%rip),%xmm0
  call   <test13@plt>
  cmp    $0x1,%eax
  jne    L627
L118:
  movss  D509(%rip),%xmm1
  movss  D40(%rip),%xmm0
  call   <test14@plt>
  cmp    $0x1,%eax
  jne    L994
L225:
  movss  D509(%rip),%xmm1
  movss  D40(%rip),%xmm0
  call   <test15@plt>
  cmp    $0x1,%eax
  jne    L270
L647:
  movss  D40(%rip),%xmm1
  movss  D509(%rip),%xmm0
  call   <test0@plt>
  test   %eax,%eax
  jne    L304
L276:
  movss  D40(%rip),%xmm1
  movss  D509(%rip),%xmm0
  call   <test1@plt>
  test   %eax,%eax
  jne    L945
L148:
  movss  D40(%rip),%xmm1
  movss  D509(%rip),%xmm0
  call   <test2@plt>
  test   %eax,%eax
  jne    L306
L126:
  movss  D40(%rip),%xmm1
  movss  D509(%rip),%xmm0
  call   <test3@plt>
  test   %eax,%eax
  jne    L524
L500:
  movss  D40(%rip),%xmm1
  movss  D509(%rip),%xmm0
  call   <test4@plt>
  test   %eax,%eax
  jne    L804
L534:
  movss  D40(%rip),%xmm1
  movss  D509(%rip),%xmm0
  call   <test5@plt>
  test   %eax,%eax
  jne    L843
L416:
  movss  D40(%rip),%xmm1
  movss  D509(%rip),%xmm0
  call   <test6@plt>
  test   %eax,%eax
  jne    L172
L725:
  movss  D40(%rip),%xmm1
  movss  D509(%rip),%xmm0
  call   <test7@plt>
  test   %eax,%eax
  jne    L244
L226:
  movss  D40(%rip),%xmm1
  movss  D509(%rip),%xmm0
  call   <test8@plt>
  test   %eax,%eax
  jne    L392
L716:
  movss  D40(%rip),%xmm1
  movss  D509(%rip),%xmm0
  call   <test9@plt>
  test   %eax,%eax
  jne    L137
L972:
  movss  D40(%rip),%xmm1
  movss  D509(%rip),%xmm0
  call   <test10@plt>
  test   %eax,%eax
  jne    L460
L121:
  movss  D40(%rip),%xmm1
  movss  D509(%rip),%xmm0
  call   <test11@plt>
  test   %eax,%eax
  jne    L394
L266:
  movss  D40(%rip),%xmm1
  movss  D509(%rip),%xmm0
  call   <test12@plt>
  test   %eax,%eax
  jne    L653
L666:
  movss  D40(%rip),%xmm1
  movss  D509(%rip),%xmm0
  call   <test13@plt>
  test   %eax,%eax
  jne    L574
L439:
  movss  D40(%rip),%xmm1
  movss  D509(%rip),%xmm0
  call   <test14@plt>
  test   %eax,%eax
  jne    L730
L506:
  movss  D40(%rip),%xmm1
  movss  D509(%rip),%xmm0
  call   <test15@plt>
  test   %eax,%eax
  jne    L677
L90:
  movss  D736(%rip),%xmm0
  divss  D779(%rip),%xmm0
  subss  %xmm0,%xmm0
  movd   %xmm0,%ebx
  movss  D509(%rip),%xmm1
  call   <test0@plt>
  test   %eax,%eax
  jne    L334
L141:
  movss  D509(%rip),%xmm1
  movd   %ebx,%xmm0
  call   <test1@plt>
  cmp    $0x1,%eax
  jne    L106
L161:
  movss  D509(%rip),%xmm1
  movd   %ebx,%xmm0
  call   <test2@plt>
  test   %eax,%eax
  jne    L702
L640:
  movss  D509(%rip),%xmm1
  movd   %ebx,%xmm0
  call   <test3@plt>
  cmp    $0x1,%eax
  jne    L165
L316:
  movss  D509(%rip),%xmm1
  movd   %ebx,%xmm0
  call   <test4@plt>
  test   %eax,%eax
  jne    L93
L867:
  movss  D509(%rip),%xmm1
  movd   %ebx,%xmm0
  call   <test5@plt>
  cmp    $0x1,%eax
  jne    L196
L50:
  movss  D509(%rip),%xmm1
  movd   %ebx,%xmm0
  call   <test6@plt>
  test   %eax,%eax
  jne    L347
L589:
  movss  D509(%rip),%xmm1
  movd   %ebx,%xmm0
  call   <test7@plt>
  cmp    $0x1,%eax
  jne    L514
L906:
  movss  D509(%rip),%xmm1
  movd   %ebx,%xmm0
  call   <test8@plt>
  test   %eax,%eax
  jne    L978
L42:
  movss  D509(%rip),%xmm1
  movd   %ebx,%xmm0
  call   <test9@plt>
  cmp    $0x1,%eax
  jne    L25
L755:
  movss  D509(%rip),%xmm1
  movd   %ebx,%xmm0
  call   <test10@plt>
  test   %eax,%eax
  jne    L852
L116:
  movss  D509(%rip),%xmm1
  movd   %ebx,%xmm0
  call   <test11@plt>
  cmp    $0x1,%eax
  jne    L931
L336:
  movss  D509(%rip),%xmm1
  movd   %ebx,%xmm0
  call   <test12@plt>
  test   %eax,%eax
  jne    L324
L564:
  movss  D509(%rip),%xmm1
  movd   %ebx,%xmm0
  call   <test13@plt>
  cmp    $0x1,%eax
  jne    L782
L669:
  movss  D509(%rip),%xmm1
  movd   %ebx,%xmm0
  call   <test14@plt>
  test   %eax,%eax
  jne    L844
L896:
  movss  D509(%rip),%xmm1
  movd   %ebx,%xmm0
  call   <test15@plt>
  cmp    $0x1,%eax
  jne    L7
L110:
  lea    D788(%rip),%rdi
  call   <printf@plt>
  mov    $0x0,%edi
  call   <exit@plt>
  mov    $0x0,%eax
  pop    %rbx
  ret
L207:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L150
L341:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L777
L485:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L748
L474:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L741
L996:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L303
L714:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L85
L586:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L503
L644:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L319
L897:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L711
L415:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L786
L34:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L170
L88:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L580
L944:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L290
L292:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L352
L490:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L419
L627:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L118
L994:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L225
L270:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L647
L304:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L276
L945:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L148
L306:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L126
L524:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L500
L804:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L534
L843:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L416
L172:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L725
L244:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L226
L392:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L716
L137:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L972
L460:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L121
L394:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L266
L653:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L666
L574:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L439
L730:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L506
L677:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L90
L334:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L141
L106:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L161
L702:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L640
L165:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L316
L93:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L867
L196:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L50
L347:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L589
L514:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L906
L978:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L42
L25:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L755
L852:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L116
L931:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L336
L324:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L564
L782:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L669
L844:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L896
L7:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L110
```

tool_calls: name: extract_symbolic_data
arguments: tag: D9
type_guessed: byte[4]
name: extract_symbolic_data
arguments: tag: D478
type_guessed: byte[4]
name: extract_symbolic_data
arguments: tag: D475
type_guessed: byte[4]
name: extract_symbolic_data
arguments: tag: D509
type_guessed: f32
name: extract_symbolic_data
arguments: tag: D40
type_guessed: f32
name: extract_symbolic_data
arguments: tag: D736
type_guessed: byte[4]
name: extract_symbolic_data
arguments: tag: D779
type_guessed: byte[4]
name: extract_symbolic_data
arguments: tag: D788
type_guessed: string

tool: {"D9": [0x00,0x00,0x60,0xc2]}

tool: {"D478": [0x00,0x00,0x40,0x41]}

tool: {"D475": [0x00,0x00,0x40,0xc1]}

tool: D509: 567.345

tool: D40: 10.58

tool: {"D736": [0x00,0x00,0x80,0x3f]}

tool: {"D779": [0x00,0x00,0x00,0x00]}

tool: D788: Test Passes


assistant: ```c
int main() {
  float a, b;
  int i;
  a = 12;
  b = -56;
  i = 0;
  if (__builtin_mips_cabs_eq_s(a, b) != i)
    abort();
  a = 12;
  b = -12;
  i = 1;
  if (__builtin_mips_cabs_eq_s(a, b) != i)
    abort();
  a = 10.58;
  b = 567.345;
  i = test0(a, b);
  if (i != 0)
    abort();
  i = test1(a, b);
  if (i != 0)
    abort();
  i = test2(a, b);
  if (i != 0)
    abort();
  i = test3(a, b);
  if (i != 0)
    abort();
  i = test4(a, b);
  if (i != 1)
    abort();
  i = test5(a, b);
  if (i != 1)
    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 != 0)
    abort();
  i = test11(a, b);
  if (i != 0)
    abort();
  i = test12(a, b);
  if (i != 1)
    abort();
  i = test13(a, b);
  if (i != 1)
    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 != 0)
    abort();
  i = test3(b, a);
  if (i != 0)
    abort();
  i = test4(b, a);
  if (i != 0)
    abort();
  i = test5(b, a);
  if (i != 0)
    abort();
  i = test6(b, a);
  if (i != 0)
    abort();
  i = test7(b, a);
  if (i != 0)
    abort();
  i = test8(b, a);
  if (i != 0)
    abort();
  i = test9(b, a);
  if (i != 0)
    abort();
  i = test10(b, a);
  if (i != 0)
    abort();
  i = test11(b, a);
  if (i != 0)
    abort();
  i = test12(b, a);
  if (i != 0)
    abort();
  i = test13(b, a);
  if (i != 0)
    abort();
  i = test14(b, a);
  if (i != 0)
    abort();
  i = test15(b, a);
  if (i != 0)
    abort();
  a = 1.0f / 0.0f - 1.0f / 0.0f;
  b = 567.345;
  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);
}
```