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

```asm
<main>:
  endbr64
  movss  D32(%rip),%xmm0
  movss  D47(%rip),%xmm1
  movss  D177(%rip),%xmm2
  movss  %xmm0,-0x50(%rsp)
  movss  -0x50(%rsp),%xmm0
  andps  %xmm2,%xmm0
  ucomiss %xmm0,%xmm1
  jb     L156
  ucomiss D22(%rip),%xmm0
  jb     L156
L142:
  mov    $0x1,%eax
  ret
L156:
  movss  D96(%rip),%xmm0
  movss  %xmm0,-0x4c(%rsp)
  movss  -0x4c(%rsp),%xmm0
  andps  %xmm2,%xmm0
  ucomiss %xmm0,%xmm1
  jb     L22
  ucomiss D22(%rip),%xmm0
  jae    L142
L22:
  movl   $0x0,-0x48(%rsp)
  movss  -0x48(%rsp),%xmm0
  andps  %xmm2,%xmm0
  ucomiss %xmm0,%xmm1
  jb     L49
  ucomiss D22(%rip),%xmm0
  jae    L142
L49:
  movss  D172(%rip),%xmm0
  movss  %xmm0,-0x44(%rsp)
  movss  -0x44(%rsp),%xmm0
  andps  %xmm2,%xmm0
  ucomiss %xmm0,%xmm1
  jb     L142
  ucomiss D22(%rip),%xmm0
  jb     L142
  movsd  D105(%rip),%xmm3
  movq   D98(%rip),%xmm2
  movsd  D28(%rip),%xmm1
  movsd  %xmm3,-0x40(%rsp)
  movsd  -0x40(%rsp),%xmm0
  andpd  %xmm2,%xmm0
  ucomisd %xmm0,%xmm1
  jb     L94
  ucomisd D46(%rip),%xmm0
  jae    L142
L94:
  movsd  D30(%rip),%xmm4
  movsd  %xmm4,-0x38(%rsp)
  movsd  -0x38(%rsp),%xmm0
  andpd  %xmm2,%xmm0
  ucomisd %xmm0,%xmm1
  jb     L51
  ucomisd D46(%rip),%xmm0
  jae    L142
L51:
  movq   $0x0,-0x30(%rsp)
  movsd  -0x30(%rsp),%xmm0
  andpd  %xmm2,%xmm0
  ucomisd %xmm0,%xmm1
  jb     L130
  ucomisd D46(%rip),%xmm0
  jae    L142
L130:
  movsd  D181(%rip),%xmm5
  movsd  %xmm5,-0x28(%rsp)
  movsd  -0x28(%rsp),%xmm0
  andpd  %xmm2,%xmm0
  ucomisd %xmm0,%xmm1
  jb     L142
  ucomisd D46(%rip),%xmm0
  jb     L142
  movsd  %xmm3,-0x20(%rsp)
  movsd  -0x20(%rsp),%xmm0
  andpd  %xmm2,%xmm0
  ucomisd %xmm0,%xmm1
  jb     L208
  ucomisd D46(%rip),%xmm0
  jae    L142
L208:
  movsd  %xmm4,-0x18(%rsp)
  movsd  -0x18(%rsp),%xmm0
  andpd  %xmm2,%xmm0
  ucomisd %xmm0,%xmm1
  jb     L34
  ucomisd D46(%rip),%xmm0
  jae    L142
L34:
  movq   $0x0,-0x10(%rsp)
  movsd  -0x10(%rsp),%xmm0
  andpd  %xmm2,%xmm0
  ucomisd %xmm0,%xmm1
  jb     L151
  ucomisd D46(%rip),%xmm0
  jae    L142
L151:
  movsd  %xmm5,-0x8(%rsp)
  movsd  -0x8(%rsp),%xmm0
  andpd  %xmm2,%xmm0
  ucomisd %xmm0,%xmm1
  setb   %al
  ucomisd D46(%rip),%xmm0
  setb   %dl
  or     %edx,%eax
  movzbl %al,%eax
  ret
```

tool_calls: name: parse_data
arguments: data_label: D32
type_infered: byte[4]
name: parse_data
arguments: data_label: D47
type_infered: byte[4]
name: parse_data
arguments: data_label: D177
type_infered: byte[4]
name: parse_data
arguments: data_label: D22
type_infered: byte[4]
name: parse_data
arguments: data_label: D96
type_infered: byte[4]
name: parse_data
arguments: data_label: D172
type_infered: f32
name: parse_data
arguments: data_label: D105
type_infered: f32[2]
name: parse_data
arguments: data_label: D98
type_infered: byte[8]
name: parse_data
arguments: data_label: D28
type_infered: byte[8]
name: parse_data
arguments: data_label: D46
type_infered: f32[2]
name: parse_data
arguments: data_label: D30
type_infered: f32[2]
name: parse_data
arguments: data_label: D181
type_infered: f32[2]

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

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

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

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

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

tool: D172: 1

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

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

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

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

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

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

assistant: ```c
int main() {
  volatile float fNan = __builtin_nanf("");
  if (__builtin_isnormal(fNan)) {
    return 1;
  }
  volatile float fInf = __builtin_inff();
  if (__builtin_isnormal(fInf)) {
    return 1;
  }
  volatile float fZero = 0.f;
  if (__builtin_isnormal(fZero)) {
    return 1;
  }
  volatile float fOne = 1.f;
  if (!__builtin_isnormal(fOne)) {
    return 1;
  }
  volatile double dNan = __builtin_nan("");
  if (__builtin_isnormal(dNan)) {
    return 1;
  }
  volatile double dInf = __builtin_inf();
  if (__builtin_isnormal(dInf)) {
    return 1;
  }
  volatile double dZero = 0.;
  if (__builtin_isnormal(dZero)) {
    return 1;
  }
  volatile double dOne = 1.;
  if (!__builtin_isnormal(dOne)) {
    return 1;
  }
  volatile double lNan = __builtin_nanl("");
  if (__builtin_isnormal(lNan)) {
    return 1;
  }
  volatile double lInf = __builtin_infl();
  if (__builtin_isnormal(lInf)) {
    return 1;
  }
  volatile double lZero = 0.;
  if (__builtin_isnormal(lZero)) {
    return 1;
  }
  volatile double lOne = 1.;
  if (!__builtin_isnormal(lOne)) {
    return 1;
  }
  return 0;
}
```