user: Please show me the C implementation that matches the assembly code listed below:

```asm
<test_integer_to_float>:
  endbr64
  sub    $0x18,%rsp
  xor    %edi,%edi
  call   <u2f@plt>
  pxor   %xmm2,%xmm2
  ucomiss %xmm2,%xmm0
  jp     L273
  jne    L273
L258:
  mov    $0xffffffff,%edi
  call   <u2f@plt>
  movss  D56(%rip),%xmm1
  call   <fnear@plt>
  test   %eax,%eax
  je     L39
L297:
  mov    $0x7fffffff,%edi
  call   <u2f@plt>
  movss  D93(%rip),%xmm1
  call   <fnear@plt>
  test   %eax,%eax
  je     L383
L568:
  mov    $0x80000000,%edi
  call   <u2f@plt>
  ucomiss D93(%rip),%xmm0
  jp     L201
  jne    L201
L92:
  xor    %edi,%edi
  call   <u2d@plt>
  pxor   %xmm3,%xmm3
  ucomisd %xmm3,%xmm0
  jp     L474
  jne    L474
L582:
  mov    $0xffffffff,%edi
  call   <u2d@plt>
  movsd  D90(%rip),%xmm1
  call   <dnear@plt>
  test   %eax,%eax
  je     L227
L445:
  mov    $0x7fffffff,%edi
  call   <u2d@plt>
  mov    D35(%rip),%rax
  movq   %rax,%xmm1
  call   <dnear@plt>
  test   %eax,%eax
  je     L344
L519:
  mov    $0x80000000,%edi
  call   <u2d@plt>
  ucomisd D79(%rip),%xmm0
  jp     L529
  jne    L529
L356:
  xor    %edi,%edi
  call   <u2ld@plt>
  fldz
  fxch   %st(1)
  fucomip %st(1),%st
  fstp   %st(0)
  jp     L56
  jne    L56
L312:
  mov    $0xffffffff,%edi
  call   <u2ld@plt>
  fldl   0xcad(%rip)        # 2010 <_fini+0x920>
  fstpt  (%rsp)
  mov    (%rsp),%rax
  mov    0x8(%rsp),%edx
  push   %rdx
  push   %rax
  sub    $0x10,%rsp
  fstpt  (%rsp)
  call   <ldnear@plt>
  add    $0x20,%rsp
  test   %eax,%eax
  je     L10
L290:
  mov    $0x7fffffff,%edi
  call   <u2ld@plt>
  fldl   0xc80(%rip)        # 2018 <_fini+0x928>
  fstpt  (%rsp)
  mov    (%rsp),%rax
  mov    0x8(%rsp),%edx
  push   %rdx
  push   %rax
  sub    $0x10,%rsp
  fstpt  (%rsp)
  call   <ldnear@plt>
  add    $0x20,%rsp
  test   %eax,%eax
  je     L248
L26:
  mov    $0x80000000,%edi
  call   <u2ld@plt>
  flds   0xc37(%rip)        # 2004 <_fini+0x914>
  fxch   %st(1)
  fucomip %st(1),%st
  fstp   %st(0)
  jp     L377
  jne    L377
L110:
  xor    %edi,%edi
  call   <s2f@plt>
  pxor   %xmm4,%xmm4
  ucomiss %xmm4,%xmm0
  jp     L139
  jne    L139
L442:
  mov    $0xffffffff,%edi
  call   <s2f@plt>
  movss  D32(%rip),%xmm1
  call   <fnear@plt>
  test   %eax,%eax
  je     L109
L428:
  mov    $0x7fffffff,%edi
  call   <s2f@plt>
  movss  D93(%rip),%xmm1
  call   <fnear@plt>
  test   %eax,%eax
  je     L444
L210:
  mov    $0x80000000,%edi
  call   <s2f@plt>
  ucomiss D116(%rip),%xmm0
  jp     L575
  jne    L575
L157:
  xor    %edi,%edi
  call   <s2d@plt>
  pxor   %xmm5,%xmm5
  ucomisd %xmm5,%xmm0
  jp     L216
  jne    L216
L308:
  mov    $0xffffffff,%edi
  call   <s2d@plt>
  movsd  D37(%rip),%xmm1
  call   <dnear@plt>
  test   %eax,%eax
  je     L175
L495:
  mov    $0x7fffffff,%edi
  call   <s2d@plt>
  mov    D35(%rip),%rax
  movq   %rax,%xmm1
  call   <dnear@plt>
  test   %eax,%eax
  je     L424
L543:
  mov    $0x80000000,%edi
  call   <s2d@plt>
  ucomisd D110(%rip),%xmm0
  jp     L392
  jne    L392
L116:
  xor    %edi,%edi
  call   <s2ld@plt>
  fldz
  fxch   %st(1)
  fucomip %st(1),%st
  fstp   %st(0)
  jp     L453
  jne    L453
L136:
  mov    $0xffffffff,%edi
  call   <s2ld@plt>
  push   $0xbfff
  movabs $0x8000000000000000,%rax
  push   %rax
  sub    $0x10,%rsp
  fstpt  (%rsp)
  call   <ldnear@plt>
  add    $0x20,%rsp
  test   %eax,%eax
  je     L93
L396:
  mov    $0x7fffffff,%edi
  call   <s2ld@plt>
  fldl   0xaec(%rip)        # 2018 <_fini+0x928>
  fstpt  (%rsp)
  mov    (%rsp),%rax
  mov    0x8(%rsp),%edx
  push   %rdx
  push   %rax
  sub    $0x10,%rsp
  fstpt  (%rsp)
  call   <ldnear@plt>
  add    $0x20,%rsp
  test   %eax,%eax
  je     L586
L544:
  mov    $0x80000000,%edi
  call   <s2ld@plt>
  flds   0xaaf(%rip)        # 200c <_fini+0x91c>
  fxch   %st(1)
  fucomip %st(1),%st
  fstp   %st(0)
  jp     L486
  jne    L486
  add    $0x18,%rsp
  ret
  nopl   0x0(%rax)
L273:
  mov    $0xffffffff,%edi
  call   <_exit@plt>
  jmp    L258
  nop
L486:
  mov    $0xffffffe8,%edi
  add    $0x18,%rsp
  jmp    1100 <_exit@plt>
  xchg   %ax,%ax
L586:
  mov    $0xffffffe9,%edi
  call   <_exit@plt>
  jmp    L544
  nopl   0x0(%rax)
L93:
  mov    $0xffffffea,%edi
  call   <_exit@plt>
  jmp    L396
  nop
L453:
  mov    $0xffffffeb,%edi
  call   <_exit@plt>
  jmp    L136
  nop
L392:
  mov    $0xffffffec,%edi
  call   <_exit@plt>
  jmp    L116
  nop
L424:
  mov    $0xffffffed,%edi
  call   <_exit@plt>
  jmp    L543
  nop
L175:
  mov    $0xffffffee,%edi
  call   <_exit@plt>
  jmp    L495
  nop
L216:
  mov    $0xffffffef,%edi
  call   <_exit@plt>
  jmp    L308
  nop
L575:
  mov    $0xfffffff0,%edi
  call   <_exit@plt>
  jmp    L157
  nop
L444:
  mov    $0xfffffff1,%edi
  call   <_exit@plt>
  jmp    L210
  nop
L109:
  mov    $0xfffffff2,%edi
  call   <_exit@plt>
  jmp    L428
  nop
L139:
  mov    $0xfffffff3,%edi
  call   <_exit@plt>
  jmp    L442
  nop
L377:
  mov    $0xfffffff4,%edi
  call   <_exit@plt>
  jmp    L110
  nop
L248:
  mov    $0xfffffff5,%edi
  call   <_exit@plt>
  jmp    L26
  nop
L10:
  mov    $0xfffffff6,%edi
  call   <_exit@plt>
  jmp    L290
  nop
L56:
  mov    $0xfffffff7,%edi
  call   <_exit@plt>
  jmp    L312
  nop
L529:
  mov    $0xfffffff8,%edi
  call   <_exit@plt>
  jmp    L356
  nop
L344:
  mov    $0xfffffff9,%edi
  call   <_exit@plt>
  jmp    L519
  nop
L227:
  mov    $0xfffffffa,%edi
  call   <_exit@plt>
  jmp    L445
  nop
L474:
  mov    $0xfffffffb,%edi
  call   <_exit@plt>
  jmp    L582
  nop
L201:
  mov    $0xfffffffc,%edi
  call   <_exit@plt>
  jmp    L92
  nop
L383:
  mov    $0xfffffffd,%edi
  call   <_exit@plt>
  jmp    L568
  nop
L39:
  mov    $0xfffffffe,%edi
  call   <_exit@plt>
  jmp    L297
```

tool_calls: name: parse_data
arguments: data_tag: D56
datatype: byte[4]
name: parse_data
arguments: data_tag: D93
datatype: byte[4]
name: parse_data
arguments: data_tag: D90
datatype: byte[8]
name: parse_data
arguments: data_tag: D35
datatype: byte[8]
name: parse_data
arguments: data_tag: D79
datatype: byte[8]
name: parse_data
arguments: data_tag: D32
datatype: byte[4]
name: parse_data
arguments: data_tag: D116
datatype: byte[4]
name: parse_data
arguments: data_tag: D37
datatype: byte[8]
name: parse_data
arguments: data_tag: D110
datatype: byte[8]

tool: {"D56": [0x00,0x00,0x80,0x4f]}

tool: {"D93": [0x00,0x00,0x00,0x4f]}

tool: {"D90": [0x00,0x00,0xe0,0xff,0xff,0xff,0xef,0x41]}

tool: {"D35": [0x00,0x00,0xc0,0xff,0xff,0xff,0xdf,0x41]}

tool: {"D79": [0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x41]}

tool: {"D32": [0x00,0x00,0x80,0xbf]}

tool: {"D116": [0x00,0x00,0x00,0xcf]}

tool: {"D37": [0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0xbf]}

tool: {"D110": [0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xc1]}

assistant: ```c
test_integer_to_float() {
  if (u2f(0U) != (float)0U)
    _exit(-1);
  if (!fnear(u2f(~0U), (float)~0U))
    _exit(-2);
  if (!fnear(u2f((~0U) >> 1), (float)((~0U) >> 1)))
    _exit(-3);
  if (u2f(~((~0U) >> 1)) != (float)~((~0U) >> 1))
    _exit(-4);
  if (u2d(0U) != (double)0U)
    _exit(-5);
  if (!dnear(u2d(~0U), (double)~0U))
    _exit(-6);
  if (!dnear(u2d((~0U) >> 1), (double)((~0U) >> 1)))
    _exit(-7);
  if (u2d(~((~0U) >> 1)) != (double)~((~0U) >> 1))
    _exit(-8);
  if (u2ld(0U) != (long double)0U)
    _exit(-9);
  if (!ldnear(u2ld(~0U), (long double)~0U))
    _exit(-10);
  if (!ldnear(u2ld((~0U) >> 1), (long double)((~0U) >> 1)))
    _exit(-11);
  if (u2ld(~((~0U) >> 1)) != (long double)~((~0U) >> 1))
    _exit(-12);
  if (s2f(0) != (float)0)
    _exit(-13);
  if (!fnear(s2f(~0), (float)~0))
    _exit(-14);
  if (!fnear(s2f((int)((~0U) >> 1)), (float)(int)((~0U) >> 1)))
    _exit(-15);
  if (s2f((int)(~((~0U) >> 1))) != (float)(int)~((~0U) >> 1))
    _exit(-16);
  if (s2d(0) != (double)0)
    _exit(-17);
  if (!dnear(s2d(~0), (double)~0))
    _exit(-18);
  if (!dnear(s2d((int)((~0U) >> 1)), (double)(int)((~0U) >> 1)))
    _exit(-19);
  if (s2d((int)~((~0U) >> 1)) != (double)(int)~((~0U) >> 1))
    _exit(-20);
  if (s2ld(0) != (long double)0)
    _exit(-21);
  if (!ldnear(s2ld(~0), (long double)~0))
    _exit(-22);
  if (!ldnear(s2ld((int)((~0U) >> 1)), (long double)(int)((~0U) >> 1)))
    _exit(-23);
  if (s2ld((int)~((~0U) >> 1)) != (long double)(int)~((~0U) >> 1))
    _exit(-24);
}
```