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

```asm
<main>:
  endbr64
  push   %rbx
  movss  D599(%rip),%xmm0
  movss  D257(%rip),%xmm1
  call   <__builtin_mips_cabs_eq_s@plt>
  movss  D599(%rip),%xmm0
  test   %eax,%eax
  jne    L559
L136:
  movss  D206(%rip),%xmm1
  call   <__builtin_mips_cabs_eq_s@plt>
  cmp    $0x1,%eax
  je     L461
  xor    %eax,%eax
  call   <abort@plt>
L461:
  movss  D354(%rip),%xmm1
  movss  D865(%rip),%xmm0
  call   <test0@plt>
  test   %eax,%eax
  jne    L68
L396:
  movss  D354(%rip),%xmm1
  movss  D865(%rip),%xmm0
  call   <test1@plt>
  test   %eax,%eax
  jne    L555
L493:
  movss  D354(%rip),%xmm1
  movss  D865(%rip),%xmm0
  call   <test2@plt>
  test   %eax,%eax
  jne    L767
L480:
  movss  D354(%rip),%xmm1
  movss  D865(%rip),%xmm0
  call   <test3@plt>
  test   %eax,%eax
  jne    L632
L549:
  movss  D354(%rip),%xmm1
  movss  D865(%rip),%xmm0
  call   <test4@plt>
  cmp    $0x1,%eax
  je     L457
  xor    %eax,%eax
  call   <abort@plt>
L457:
  movss  D354(%rip),%xmm1
  movss  D865(%rip),%xmm0
  call   <test5@plt>
  cmp    $0x1,%eax
  je     L13
  xor    %eax,%eax
  call   <abort@plt>
L13:
  movss  D354(%rip),%xmm1
  movss  D865(%rip),%xmm0
  call   <test6@plt>
  cmp    $0x1,%eax
  je     L61
  xor    %eax,%eax
  call   <abort@plt>
L61:
  movss  D354(%rip),%xmm1
  movss  D865(%rip),%xmm0
  call   <test7@plt>
  cmp    $0x1,%eax
  je     L573
  xor    %eax,%eax
  call   <abort@plt>
L573:
  movss  D354(%rip),%xmm1
  movss  D865(%rip),%xmm0
  call   <test8@plt>
  test   %eax,%eax
  jne    L813
L800:
  movss  D354(%rip),%xmm1
  movss  D865(%rip),%xmm0
  call   <test9@plt>
  test   %eax,%eax
  jne    L156
L262:
  movss  D354(%rip),%xmm1
  movss  D865(%rip),%xmm0
  call   <test10@plt>
  test   %eax,%eax
  jne    L213
L407:
  movss  D354(%rip),%xmm1
  movss  D865(%rip),%xmm0
  call   <test11@plt>
  test   %eax,%eax
  jne    L352
L171:
  movss  D354(%rip),%xmm1
  movss  D865(%rip),%xmm0
  call   <test12@plt>
  cmp    $0x1,%eax
  je     L192
  xor    %eax,%eax
  call   <abort@plt>
L192:
  movss  D354(%rip),%xmm1
  movss  D865(%rip),%xmm0
  call   <test13@plt>
  cmp    $0x1,%eax
  je     L282
  xor    %eax,%eax
  call   <abort@plt>
L282:
  movss  D354(%rip),%xmm1
  movss  D865(%rip),%xmm0
  call   <test14@plt>
  cmp    $0x1,%eax
  je     L745
  xor    %eax,%eax
  call   <abort@plt>
L745:
  movss  D354(%rip),%xmm1
  movss  D865(%rip),%xmm0
  call   <test15@plt>
  cmp    $0x1,%eax
  je     L489
  xor    %eax,%eax
  call   <abort@plt>
L489:
  movss  D865(%rip),%xmm1
  movss  D354(%rip),%xmm0
  call   <test0@plt>
  test   %eax,%eax
  jne    L658
L255:
  movss  D865(%rip),%xmm1
  movss  D354(%rip),%xmm0
  call   <test1@plt>
  test   %eax,%eax
  jne    L817
L281:
  movss  D865(%rip),%xmm1
  movss  D354(%rip),%xmm0
  call   <test2@plt>
  test   %eax,%eax
  jne    L129
L269:
  movss  D865(%rip),%xmm1
  movss  D354(%rip),%xmm0
  call   <test3@plt>
  test   %eax,%eax
  jne    L500
L552:
  movss  D865(%rip),%xmm1
  movss  D354(%rip),%xmm0
  call   <test4@plt>
  test   %eax,%eax
  jne    L815
L487:
  movss  D865(%rip),%xmm1
  movss  D354(%rip),%xmm0
  call   <test5@plt>
  test   %eax,%eax
  jne    L291
L117:
  movss  D865(%rip),%xmm1
  movss  D354(%rip),%xmm0
  call   <test6@plt>
  test   %eax,%eax
  jne    L364
L11:
  movss  D865(%rip),%xmm1
  movss  D354(%rip),%xmm0
  call   <test7@plt>
  test   %eax,%eax
  jne    L215
L533:
  movss  D865(%rip),%xmm1
  movss  D354(%rip),%xmm0
  call   <test8@plt>
  test   %eax,%eax
  jne    L358
L207:
  movss  D865(%rip),%xmm1
  movss  D354(%rip),%xmm0
  call   <test9@plt>
  test   %eax,%eax
  jne    L536
L511:
  movss  D865(%rip),%xmm1
  movss  D354(%rip),%xmm0
  call   <test10@plt>
  test   %eax,%eax
  jne    L801
L739:
  movss  D865(%rip),%xmm1
  movss  D354(%rip),%xmm0
  call   <test11@plt>
  test   %eax,%eax
  jne    L280
L408:
  movss  D865(%rip),%xmm1
  movss  D354(%rip),%xmm0
  call   <test12@plt>
  test   %eax,%eax
  jne    L449
L115:
  movss  D865(%rip),%xmm1
  movss  D354(%rip),%xmm0
  call   <test13@plt>
  test   %eax,%eax
  jne    L484
L585:
  movss  D865(%rip),%xmm1
  movss  D354(%rip),%xmm0
  call   <test14@plt>
  test   %eax,%eax
  jne    L372
L277:
  movss  D865(%rip),%xmm1
  movss  D354(%rip),%xmm0
  call   <test15@plt>
  test   %eax,%eax
  jne    L593
L419:
  movss  D71(%rip),%xmm0
  divss  D348(%rip),%xmm0
  subss  %xmm0,%xmm0
  movss  D354(%rip),%xmm1
  movd   %xmm0,%ebx
  call   <test0@plt>
  test   %eax,%eax
  jne    L49
L256:
  movss  D354(%rip),%xmm1
  movd   %ebx,%xmm0
  call   <test1@plt>
  cmp    $0x1,%eax
  je     L715
  xor    %eax,%eax
  call   <abort@plt>
L715:
  movss  D354(%rip),%xmm1
  movd   %ebx,%xmm0
  call   <test2@plt>
  test   %eax,%eax
  jne    L26
L134:
  movss  D354(%rip),%xmm1
  movd   %ebx,%xmm0
  call   <test3@plt>
  cmp    $0x1,%eax
  je     L45
  xor    %eax,%eax
  call   <abort@plt>
L45:
  movss  D354(%rip),%xmm1
  movd   %ebx,%xmm0
  call   <test4@plt>
  test   %eax,%eax
  jne    L6
L98:
  movss  D354(%rip),%xmm1
  movd   %ebx,%xmm0
  call   <test5@plt>
  cmp    $0x1,%eax
  je     L34
  xor    %eax,%eax
  call   <abort@plt>
L34:
  movss  D354(%rip),%xmm1
  movd   %ebx,%xmm0
  call   <test6@plt>
  test   %eax,%eax
  jne    L718
L668:
  movss  D354(%rip),%xmm1
  movd   %ebx,%xmm0
  call   <test7@plt>
  cmp    $0x1,%eax
  je     L538
  xor    %eax,%eax
  call   <abort@plt>
L538:
  movss  D354(%rip),%xmm1
  movd   %ebx,%xmm0
  call   <test8@plt>
  test   %eax,%eax
  jne    L304
L413:
  movss  D354(%rip),%xmm1
  movd   %ebx,%xmm0
  call   <test9@plt>
  cmp    $0x1,%eax
  je     L169
  xor    %eax,%eax
  call   <abort@plt>
L169:
  movss  D354(%rip),%xmm1
  movd   %ebx,%xmm0
  call   <test10@plt>
  test   %eax,%eax
  jne    L707
L186:
  movss  D354(%rip),%xmm1
  movd   %ebx,%xmm0
  call   <test11@plt>
  cmp    $0x1,%eax
  je     L455
  xor    %eax,%eax
  call   <abort@plt>
L455:
  movss  D354(%rip),%xmm1
  movd   %ebx,%xmm0
  call   <test12@plt>
  test   %eax,%eax
  jne    L375
L684:
  movss  D354(%rip),%xmm1
  movd   %ebx,%xmm0
  call   <test13@plt>
  cmp    $0x1,%eax
  je     L261
  xor    %eax,%eax
  call   <abort@plt>
L261:
  movss  D354(%rip),%xmm1
  movd   %ebx,%xmm0
  call   <test14@plt>
  test   %eax,%eax
  jne    L177
L376:
  movss  D354(%rip),%xmm1
  movd   %ebx,%xmm0
  call   <test15@plt>
  cmp    $0x1,%eax
  je     L652
  xor    %eax,%eax
  call   <abort@plt>
L652:
  lea    D133(%rip),%rdi
  call   <printf@plt>
  xor    %edi,%edi
  call   <exit@plt>
  xor    %eax,%eax
  pop    %rbx
  ret
L177:
  xor    %eax,%eax
  call   <abort@plt>
  jmp    L376
L375:
  xor    %eax,%eax
  call   <abort@plt>
  jmp    L684
L707:
  xor    %eax,%eax
  call   <abort@plt>
  jmp    L186
L304:
  xor    %eax,%eax
  call   <abort@plt>
  jmp    L413
L718:
  xor    %eax,%eax
  call   <abort@plt>
  jmp    L668
L6:
  xor    %eax,%eax
  call   <abort@plt>
  jmp    L98
L26:
  xor    %eax,%eax
  call   <abort@plt>
  jmp    L134
L49:
  xor    %eax,%eax
  call   <abort@plt>
  jmp    L256
L593:
  xor    %eax,%eax
  call   <abort@plt>
  jmp    L419
L372:
  xor    %eax,%eax
  call   <abort@plt>
  jmp    L277
L484:
  xor    %eax,%eax
  call   <abort@plt>
  jmp    L585
L449:
  xor    %eax,%eax
  call   <abort@plt>
  jmp    L115
L280:
  xor    %eax,%eax
  call   <abort@plt>
  jmp    L408
L801:
  xor    %eax,%eax
  call   <abort@plt>
  jmp    L739
L536:
  xor    %eax,%eax
  call   <abort@plt>
  jmp    L511
L358:
  xor    %eax,%eax
  call   <abort@plt>
  jmp    L207
L215:
  xor    %eax,%eax
  call   <abort@plt>
  jmp    L533
L364:
  xor    %eax,%eax
  call   <abort@plt>
  jmp    L11
L291:
  xor    %eax,%eax
  call   <abort@plt>
  jmp    L117
L815:
  xor    %eax,%eax
  call   <abort@plt>
  jmp    L487
L500:
  xor    %eax,%eax
  call   <abort@plt>
  jmp    L552
L129:
  xor    %eax,%eax
  call   <abort@plt>
  jmp    L269
L817:
  xor    %eax,%eax
  call   <abort@plt>
  jmp    L281
L658:
  xor    %eax,%eax
  call   <abort@plt>
  jmp    L255
L352:
  xor    %eax,%eax
  call   <abort@plt>
  jmp    L171
L213:
  xor    %eax,%eax
  call   <abort@plt>
  jmp    L407
L156:
  xor    %eax,%eax
  call   <abort@plt>
  jmp    L262
L813:
  xor    %eax,%eax
  call   <abort@plt>
  jmp    L800
L632:
  xor    %eax,%eax
  call   <abort@plt>
  jmp    L549
L767:
  xor    %eax,%eax
  call   <abort@plt>
  jmp    L480
L555:
  xor    %eax,%eax
  call   <abort@plt>
  jmp    L493
L68:
  xor    %eax,%eax
  call   <abort@plt>
  jmp    L396
L559:
  xor    %eax,%eax
  call   <abort@plt>
  movss  D599(%rip),%xmm0
  jmp    L136
```

tool_calls: name: disassemble_data
arguments: data_label: D599
datatype: byte[4]
name: disassemble_data
arguments: data_label: D257
datatype: byte[4]
name: disassemble_data
arguments: data_label: D206
datatype: byte[4]
name: disassemble_data
arguments: data_label: D354
datatype: f32
name: disassemble_data
arguments: data_label: D865
datatype: f32
name: disassemble_data
arguments: data_label: D71
datatype: byte[4]
name: disassemble_data
arguments: data_label: D348
datatype: byte[4]
name: disassemble_data
arguments: data_label: D133
datatype: string

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

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

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

tool: D354: 567.345

tool: D865: 10.58

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

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

tool: D133: 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);
}
```