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

```asm
<float_format>:
  endbr64
  push   %r14
  push   %rbx
  sub    $0x28,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0x18(%rsp)
  xor    %eax,%eax
  movss  %xmm0,0xc(%rsp)
  call   <fabs@plt>
  movss  0xc(%rsp),%xmm1
  lea    0x14(%rsp),%rdi
  movd   %xmm0,%ebx
  movaps %xmm1,%xmm0
  call   <modff@plt>
  call   <fabs@plt>
  movss  0xc(%rsp),%xmm1
  movd   %xmm0,%r14d
  movaps %xmm1,%xmm0
  call   <isnanf@plt>
  mov    %rax,%r8
  lea    D51(%rip),%rax
  test   %r8,%r8
  je     L42
L30:
  mov    0x18(%rsp),%rdx
  sub    %fs:0x28,%rdx
  jne    L49
  add    $0x28,%rsp
  pop    %rbx
  pop    %r14
  ret
L42:
  movss  0xc(%rsp),%xmm1
  movaps %xmm1,%xmm0
  call   <isinff@plt>
  mov    %rax,%r8
  lea    D162(%rip),%rax
  test   %r8,%r8
  jne    L30
  movd   %ebx,%xmm2
  comiss D11(%rip),%xmm2
  lea    D74(%rip),%rax
  ja     L30
  movd   %r14d,%xmm3
  movsd  D169(%rip),%xmm1
  pxor   %xmm0,%xmm0
  lea    D50(%rip),%rax
  cvtss2sd %xmm3,%xmm0
  comisd %xmm0,%xmm1
  ja     L30
  comiss D161(%rip),%xmm2
  lea    D52(%rip),%rax
  jae    L30
  comiss D124(%rip),%xmm2
  lea    D200(%rip),%rax
  jae    L30
  comiss D208(%rip),%xmm2
  lea    D70(%rip),%rax
  jae    L30
  comiss D79(%rip),%xmm2
  lea    D178(%rip),%rax
  jae    L30
  comiss D189(%rip),%xmm2
  lea    D53(%rip),%rax
  jae    L30
  pxor   %xmm0,%xmm0
  lea    D68(%rip),%rax
  cvtss2sd %xmm2,%xmm0
  comisd D86(%rip),%xmm0
  jae    L30
  movsd  D89(%rip),%xmm1
  lea    D184(%rip),%rax
  lea    D139(%rip),%rdx
  comisd %xmm0,%xmm1
  cmovbe %rdx,%rax
  jmp    L30
L49:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: extract_symbolic_data
arguments: label: D51
type_guessed: string
name: extract_symbolic_data
arguments: label: D162
type_guessed: string
name: extract_symbolic_data
arguments: label: D11
type_guessed: byte[4]
name: extract_symbolic_data
arguments: label: D74
type_guessed: string
name: extract_symbolic_data
arguments: label: D169
type_guessed: f64
name: extract_symbolic_data
arguments: label: D50
type_guessed: string
name: extract_symbolic_data
arguments: label: D161
type_guessed: byte[4]
name: extract_symbolic_data
arguments: label: D52
type_guessed: string
name: extract_symbolic_data
arguments: label: D124
type_guessed: byte[4]
name: extract_symbolic_data
arguments: label: D200
type_guessed: string
name: extract_symbolic_data
arguments: label: D208
type_guessed: byte[4]
name: extract_symbolic_data
arguments: label: D70
type_guessed: string
name: extract_symbolic_data
arguments: label: D79
type_guessed: byte[4]
name: extract_symbolic_data
arguments: label: D178
type_guessed: string
name: extract_symbolic_data
arguments: label: D189
type_guessed: byte[4]
name: extract_symbolic_data
arguments: label: D53
type_guessed: string
name: extract_symbolic_data
arguments: label: D68
type_guessed: string
name: extract_symbolic_data
arguments: label: D86
type_guessed: f64[2]
name: extract_symbolic_data
arguments: label: D89
type_guessed: byte[8]
name: extract_symbolic_data
arguments: label: D184
type_guessed: string
name: extract_symbolic_data
arguments: label: D139
type_guessed: string

tool: D51:     NAN

tool: D162:     INF

tool: {"D11": [0x80,0x96,0x18,0x4b]}

tool: D74: %1.4e

tool: D169: 1e-05

tool: D50: %7.0f

tool: {"D161": [0x00,0x50,0xc3,0x47]}

tool: D52: %.0f

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

tool: D200: %.1f

tool: {"D208": [0x00,0x00,0x7a,0x44]}

tool: D70: %.2f

tool: {"D79": [0x00,0x00,0xc8,0x42]}

tool: D178: %.3f

tool: {"D189": [0x00,0x00,0x20,0x41]}

tool: D53: %.4f

tool: D68: %.5f

tool: {"D86": [0.001,1e-10]}

tool: {"D89": [0xbb,0xbd,0xd7,0xd9,0xdf,0x7c,0xdb,0x3d]}

tool: D184: %5.1f

tool: D139: %8.8f

assistant: ```c
char *float_format(float aFloat) {
  float fInt;
  float fAbsFloat = fabs(aFloat);
  float fFrac = modff(aFloat, &fInt);
  float fAbsFrac = fabs(fFrac);
  if (isnanf(aFloat)) {
    return "    NAN";
  } else if (isinff(aFloat)) {
    return "    INF";
  } else if (fAbsFloat > 10000000) {
    return "%1.4e";
  } else if (fAbsFrac < 0.00001) {
    return "%7.0f";
  } else if (fAbsFloat >= 100000) {
    return "%.0f";
  } else if (fAbsFloat >= 10000) {
    return "%.1f";
  } else if (fAbsFloat >= 1000) {
    return "%.2f";
  } else if (fAbsFloat >= 100) {
    return "%.3f";
  } else if (fAbsFloat >= 10) {
    return "%.4f";
  } else if (fAbsFloat >= 0.001) {
    return "%.5f";
  } else if (fAbsFloat < 1.0e-10) {
    return "%5.1f";
  } else {
    return "%8.8f";
  }
}
```