user: 请显示与下面列出的汇编代码相匹配的C语言实现：

```asm
<main>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  movss  D179(%rip),%xmm0
  movss  %xmm0,-0x30(%rbp)
  movss  -0x30(%rbp),%xmm0
  movss  D48(%rip),%xmm1
  andps  %xmm1,%xmm0
  ucomiss %xmm0,%xmm0
  jp     L103
  ucomiss D180(%rip),%xmm0
  ja     L145
  comiss D50(%rip),%xmm0
  jb     L55
  mov    $0x1,%eax
  jmp    L435
L55:
  mov    $0x1,%eax
  jmp    L435
L145:
  mov    $0x1,%eax
  jmp    L435
L103:
  mov    $0x0,%eax
L435:
  test   %al,%al
  je     L559
  mov    $0x1,%eax
  jmp    L207
L559:
  movss  D260(%rip),%xmm0
  movss  %xmm0,-0x2c(%rbp)
  movss  -0x2c(%rbp),%xmm0
  movss  D48(%rip),%xmm1
  andps  %xmm1,%xmm0
  ucomiss %xmm0,%xmm0
  jp     L397
  ucomiss D180(%rip),%xmm0
  ja     L647
  comiss D50(%rip),%xmm0
  jb     L108
  mov    $0x1,%eax
  jmp    L76
L108:
  mov    $0x1,%eax
  jmp    L76
L647:
  mov    $0x0,%eax
  jmp    L76
L397:
  mov    $0x1,%eax
L76:
  test   %al,%al
  je     L384
  mov    $0x1,%eax
  jmp    L207
L384:
  movss  D278(%rip),%xmm0
  movss  %xmm0,-0x28(%rbp)
  movss  -0x28(%rbp),%xmm0
  movss  D48(%rip),%xmm1
  andps  %xmm1,%xmm0
  ucomiss %xmm0,%xmm0
  jp     L349
  ucomiss D180(%rip),%xmm0
  ja     L503
  comiss D50(%rip),%xmm0
  jb     L536
  mov    $0x0,%eax
  jmp    L487
L536:
  mov    $0x1,%eax
  jmp    L487
L503:
  mov    $0x1,%eax
  jmp    L487
L349:
  mov    $0x1,%eax
L487:
  test   %al,%al
  je     L290
  mov    $0x1,%eax
  jmp    L207
L290:
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x24(%rbp)
  movss  -0x24(%rbp),%xmm0
  movss  D48(%rip),%xmm1
  andps  %xmm1,%xmm0
  ucomiss %xmm0,%xmm0
  jp     L265
  ucomiss D180(%rip),%xmm0
  ja     L412
  comiss D50(%rip),%xmm0
  jae    L271
  pxor   %xmm1,%xmm1
  ucomiss %xmm1,%xmm0
  jp     L271
  pxor   %xmm1,%xmm1
  ucomiss %xmm1,%xmm0
  je     L401
L271:
  mov    $0x1,%eax
  jmp    L402
L401:
  mov    $0x0,%eax
L402:
  and    $0x1,%eax
  jmp    L488
L412:
  mov    $0x1,%eax
  jmp    L488
L265:
  mov    $0x1,%eax
L488:
  test   %al,%al
  je     L635
  mov    $0x1,%eax
  jmp    L207
L635:
  movsd  D46(%rip),%xmm0
  movsd  %xmm0,-0x20(%rbp)
  movsd  -0x20(%rbp),%xmm0
  movq   D32(%rip),%xmm1
  andpd  %xmm1,%xmm0
  ucomisd %xmm0,%xmm0
  jp     L174
  ucomisd D74(%rip),%xmm0
  ja     L563
  comisd D115(%rip),%xmm0
  jb     L203
  mov    $0x1,%eax
  jmp    L470
L203:
  mov    $0x1,%eax
  jmp    L470
L563:
  mov    $0x1,%eax
  jmp    L470
L174:
  mov    $0x0,%eax
L470:
  test   %al,%al
  je     L432
  mov    $0x1,%eax
  jmp    L207
L432:
  movsd  D265(%rip),%xmm0
  movsd  %xmm0,-0x18(%rbp)
  movsd  -0x18(%rbp),%xmm0
  movq   D32(%rip),%xmm1
  andpd  %xmm1,%xmm0
  ucomisd %xmm0,%xmm0
  jp     L583
  ucomisd D74(%rip),%xmm0
  ja     L490
  comisd D115(%rip),%xmm0
  jb     L669
  mov    $0x1,%eax
  jmp    L386
L669:
  mov    $0x1,%eax
  jmp    L386
L490:
  mov    $0x0,%eax
  jmp    L386
L583:
  mov    $0x1,%eax
L386:
  test   %al,%al
  je     L625
  mov    $0x1,%eax
  jmp    L207
L625:
  movsd  D45(%rip),%xmm0
  movsd  %xmm0,-0x10(%rbp)
  movsd  -0x10(%rbp),%xmm0
  movq   D32(%rip),%xmm1
  andpd  %xmm1,%xmm0
  ucomisd %xmm0,%xmm0
  jp     L340
  ucomisd D74(%rip),%xmm0
  ja     L351
  comisd D115(%rip),%xmm0
  jb     L374
  mov    $0x0,%eax
  jmp    L216
L374:
  mov    $0x1,%eax
  jmp    L216
L351:
  mov    $0x1,%eax
  jmp    L216
L340:
  mov    $0x1,%eax
L216:
  test   %al,%al
  je     L188
  mov    $0x1,%eax
  jmp    L207
L188:
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x8(%rbp)
  movsd  -0x8(%rbp),%xmm0
  movq   D32(%rip),%xmm1
  andpd  %xmm1,%xmm0
  ucomisd %xmm0,%xmm0
  jp     L282
  ucomisd D74(%rip),%xmm0
  ja     L39
  comisd D115(%rip),%xmm0
  jae    L64
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  jp     L64
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  je     L313
L64:
  mov    $0x1,%eax
  jmp    L466
L313:
  mov    $0x0,%eax
L466:
  and    $0x1,%eax
  jmp    L165
L39:
  mov    $0x1,%eax
  jmp    L165
L282:
  mov    $0x1,%eax
L165:
  test   %al,%al
  je     L221
  mov    $0x1,%eax
  jmp    L207
L221:
  mov    $0x0,%eax
L207:
  pop    %rbp
  ret
```

tool_calls: name: disassemble_data
arguments: data_tag: D179
type: byte[4]
name: disassemble_data
arguments: data_tag: D48
type: byte[4]
name: disassemble_data
arguments: data_tag: D180
type: byte[4]
name: disassemble_data
arguments: data_tag: D50
type: byte[4]
name: disassemble_data
arguments: data_tag: D260
type: byte[4]
name: disassemble_data
arguments: data_tag: D278
type: f32
name: disassemble_data
arguments: data_tag: D46
type: f32[2]
name: disassemble_data
arguments: data_tag: D32
type: byte[8]
name: disassemble_data
arguments: data_tag: D74
type: byte[8]
name: disassemble_data
arguments: data_tag: D115
type: f32[4]
name: disassemble_data
arguments: data_tag: D265
type: f32[2]
name: disassemble_data
arguments: data_tag: D45
type: f32[2]

tool: {"D179": [0x00,0x00,0xc0,0x7f]}

tool: {"D48": [0xff,0xff,0xff,0x7f]}

tool: {"D180": [0xff,0xff,0x7f,0x7f]}

tool: {"D50": [0x00,0x00,0x80,0x00]}

tool: {"D260": [0x00,0x00,0x80,0x7f]}

tool: D278: 1

tool: {"D46": [0.0,null]}

tool: {"D32": [0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f]}

tool: {"D74": [0xff,0xff,0xff,0xff,0xff,0xff,0xef,0x7f]}

tool: {"D115": [0.0,1.4693679385278594e-39,0.0,null]}

tool: {"D265": [0.0,null]}

tool: {"D45": [0.0,1.875]}

assistant: ```c
int main() {
  volatile float fNan = __builtin_nanf("");
  if (__builtin_fpclassify(11, 12, 13, 14, 15, fNan) != 11) {
    return 1;
  }
  volatile float fInf = __builtin_inff();
  if (__builtin_fpclassify(11, 12, 13, 14, 15, fInf) != 12) {
    return 1;
  }
  volatile float fOne = 1.f;
  if (__builtin_fpclassify(11, 12, 13, 14, 15, fOne) != 13) {
    return 1;
  }
  volatile float fZero = 0.f;
  if (__builtin_fpclassify(11, 12, 13, 14, 15, fZero) != 15) {
    return 1;
  }
  volatile double dNan = __builtin_nan("");
  if (__builtin_fpclassify(11, 12, 13, 14, 15, dNan) != 11) {
    return 1;
  }
  volatile double dInf = __builtin_inf();
  if (__builtin_fpclassify(11, 12, 13, 14, 15, dInf) != 12) {
    return 1;
  }
  volatile double dOne = 1.;
  if (__builtin_fpclassify(11, 12, 13, 14, 15, dOne) != 13) {
    return 1;
  }
  volatile double dZero = 0.;
  if (__builtin_fpclassify(11, 12, 13, 14, 15, dZero) != 15) {
    return 1;
  }
  return 0;
}
```