user: What would the C source look like for the assembly code provided here:

```asm
<main>:
  endbr64
  push   %rbx
  sub    $0xa0,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0x98(%rsp)
  xor    %eax,%eax
  movl   $0x40800000,(%rsp)
  lea    D59(%rip),%rbx
  mov    %rbx,%rdi
  call   <__builtin_nan@plt>
  pxor   %xmm0,%xmm0
  cvtsi2ss %eax,%xmm0
  movss  %xmm0,0x4(%rsp)
  movl   $0xc0400000,0x8(%rsp)
  mov    $0x0,%eax
  call   <__builtin_inf@plt>
  pxor   %xmm0,%xmm0
  cvtsi2ss %eax,%xmm0
  movss  %xmm0,0xc(%rsp)
  movl   $0x3f800000,0x10(%rsp)
  movl   $0x40e00000,0x14(%rsp)
  mov    %rbx,%rdi
  call   <__builtin_nan@plt>
  pxor   %xmm0,%xmm0
  cvtsi2ss %eax,%xmm0
  movss  %xmm0,0x18(%rsp)
  movl   $0x0,0x1c(%rsp)
  mov    D86(%rip),%rax
  mov    %rax,0x30(%rsp)
  mov    %rbx,%rdi
  call   <__builtin_nan@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,0x38(%rsp)
  mov    D49(%rip),%rax
  mov    %rax,0x40(%rsp)
  mov    $0x0,%eax
  call   <__builtin_inf@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,0x48(%rsp)
  mov    D6(%rip),%rax
  mov    %rax,0x50(%rsp)
  mov    D21(%rip),%rax
  mov    %rax,0x58(%rsp)
  mov    %rbx,%rdi
  call   <__builtin_nan@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,0x60(%rsp)
  movq   $0x0,0x68(%rsp)
  lea    0x10(%rsp),%rdx
  mov    %rsp,%rsi
  lea    0x20(%rsp),%rdi
  call   <test_fmaxf@plt>
  movss  0x20(%rsp),%xmm0
  ucomiss D2(%rip),%xmm0
  jp     L95
  jne    L95
  pxor   %xmm0,%xmm0
  cvtss2sd 0x24(%rsp),%xmm0
  call   <__builtin_isnan@plt>
  test   %rax,%rax
  je     L203
L95:
  mov    $0x0,%eax
  call   <abort@plt>
L73:
  lea    0x10(%rsp),%rdx
  mov    %rsp,%rsi
  lea    0x20(%rsp),%rdi
  call   <test_fminf@plt>
  movss  D4(%rip),%xmm0
  ucomiss 0x20(%rsp),%xmm0
  jp     L182
  jne    L182
  pxor   %xmm0,%xmm0
  cvtss2sd 0x24(%rsp),%xmm0
  call   <__builtin_isnan@plt>
  test   %rax,%rax
  je     L21
L182:
  mov    $0x0,%eax
  call   <abort@plt>
L172:
  lea    0x50(%rsp),%rdx
  lea    0x30(%rsp),%rsi
  lea    0x70(%rsp),%rdi
  call   <test_fmax@plt>
  lea    0x60(%rsp),%rdx
  lea    0x40(%rsp),%rsi
  lea    0x80(%rsp),%rdi
  call   <test_fmax@plt>
  movsd  D86(%rip),%xmm0
  ucomisd 0x70(%rsp),%xmm0
  jp     L90
  jne    L90
  movsd  0x78(%rsp),%xmm0
  call   <__builtin_isnan@plt>
  test   %rax,%rax
  je     L3
L90:
  mov    $0x0,%eax
  call   <abort@plt>
L185:
  lea    0x50(%rsp),%rdx
  lea    0x30(%rsp),%rsi
  lea    0x70(%rsp),%rdi
  call   <test_fmin@plt>
  lea    0x60(%rsp),%rdx
  lea    0x40(%rsp),%rsi
  lea    0x80(%rsp),%rdi
  call   <test_fmin@plt>
  movsd  D6(%rip),%xmm0
  ucomisd 0x70(%rsp),%xmm0
  jp     L5
  jne    L5
  movsd  0x78(%rsp),%xmm0
  call   <__builtin_isnan@plt>
  test   %rax,%rax
  je     L232
L5:
  mov    $0x0,%eax
  call   <abort@plt>
L235:
  mov    0x98(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L67
  mov    $0x0,%eax
  add    $0xa0,%rsp
  pop    %rbx
  ret
L203:
  pxor   %xmm0,%xmm0
  cvtss2sd 0x28(%rsp),%xmm0
  call   <__builtin_isnan@plt>
  test   %rax,%rax
  jne    L95
  pxor   %xmm0,%xmm0
  cvtss2sd 0x2c(%rsp),%xmm0
  call   <__builtin_isinf@plt>
  test   %rax,%rax
  jne    L73
  jmp    L95
L21:
  pxor   %xmm0,%xmm0
  cvtss2sd 0x28(%rsp),%xmm0
  call   <__builtin_isnan@plt>
  test   %rax,%rax
  jne    L182
  pxor   %xmm0,%xmm0
  cvtss2sd 0x2c(%rsp),%xmm0
  call   <__builtin_isinf@plt>
  test   %rax,%rax
  je     L172
  jmp    L182
L3:
  movsd  0x80(%rsp),%xmm0
  call   <__builtin_isnan@plt>
  test   %rax,%rax
  jne    L90
  movsd  0x88(%rsp),%xmm0
  call   <__builtin_isinf@plt>
  test   %rax,%rax
  jne    L185
  jmp    L90
L232:
  movsd  0x80(%rsp),%xmm0
  call   <__builtin_isnan@plt>
  test   %rax,%rax
  jne    L5
  movsd  0x88(%rsp),%xmm0
  call   <__builtin_isinf@plt>
  test   %rax,%rax
  je     L235
  jmp    L5
L67:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: parse_data
arguments: label: D59
type: string
name: parse_data
arguments: label: D86
type: byte[8]
name: parse_data
arguments: label: D49
type: byte[8]
name: parse_data
arguments: label: D6
type: byte[8]
name: parse_data
arguments: label: D21
type: byte[8]
name: parse_data
arguments: label: D2
type: byte[4]
name: parse_data
arguments: label: D4
type: byte[4]

tool: 

tool: {"D86": [0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x40]}

tool: {"D49": [0x00,0x00,0x00,0x00,0x00,0x00,0x08,0xc0]}

tool: {"D6": [0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x3f]}

tool: {"D21": [0x00,0x00,0x00,0x00,0x00,0x00,0x1c,0x40]}

tool: {"D2": [0x00,0x00,0x80,0x40]}

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

assistant: ```c
int main() {
  float a_f[4] = {4, __builtin_nan(""), -3, __builtin_inf()};
  float b_f[4] = {1, 7, __builtin_nan(""), 0};
  float r_f[4];
  double a_d[4] = {4, __builtin_nan(""), -3, __builtin_inf()};
  double b_d[4] = {1, 7, __builtin_nan(""), 0};
  double r_d[4];
  test_fmaxf(r_f, a_f, b_f);
  if (r_f[0] != 4 || __builtin_isnan(r_f[1]) || __builtin_isnan(r_f[2]) || !__builtin_isinf(r_f[3]))
    abort();
  test_fminf(r_f, a_f, b_f);
  if (r_f[0] != 1 || __builtin_isnan(r_f[1]) || __builtin_isnan(r_f[2]) || __builtin_isinf(r_f[3]))
    abort();
  test_fmax(r_d, a_d, b_d);
  test_fmax(&r_d[2], &a_d[2], &b_d[2]);
  if (r_d[0] != 4 || __builtin_isnan(r_d[1]) || __builtin_isnan(r_d[2]) || !__builtin_isinf(r_d[3]))
    abort();
  test_fmin(r_d, a_d, b_d);
  test_fmin(&r_d[2], &a_d[2], &b_d[2]);
  if (r_d[0] != 1 || __builtin_isnan(r_d[1]) || __builtin_isnan(r_d[2]) || __builtin_isinf(r_d[3]))
    abort();
  return 0;
}
```