user: Converte this assembly snippet into its equivalent C code:

```asm
<float_format>:
  endbr64
  sub    $0x28,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0x18(%rsp)
  xor    %eax,%eax
  movss  %xmm0,0x4(%rsp)
  call   <fabs@plt>
  movss  %xmm0,0x8(%rsp)
  lea    0x14(%rsp),%rdi
  movss  0x4(%rsp),%xmm0
  call   <modff@plt>
  call   <fabs@plt>
  movss  %xmm0,0xc(%rsp)
  movss  0x4(%rsp),%xmm0
  call   <isnanf@plt>
  mov    %rax,%rdx
  lea    D101(%rip),%rax
  test   %rdx,%rdx
  je     L79
L67:
  mov    0x18(%rsp),%rdx
  sub    %fs:0x28,%rdx
  jne    L15
  add    $0x28,%rsp
  ret
L79:
  movss  0x4(%rsp),%xmm0
  call   <isinff@plt>
  mov    %rax,%rdx
  lea    D170(%rip),%rax
  test   %rdx,%rdx
  jne    L67
  lea    D3(%rip),%rax
  movss  0x8(%rsp),%xmm2
  comiss D103(%rip),%xmm2
  ja     L67
  pxor   %xmm0,%xmm0
  cvtss2sd 0xc(%rsp),%xmm0
  lea    D208(%rip),%rax
  movsd  D204(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L67
  lea    D180(%rip),%rax
  comiss D4(%rip),%xmm2
  jae    L67
  lea    D140(%rip),%rax
  comiss D200(%rip),%xmm2
  jae    L67
  lea    D151(%rip),%rax
  comiss D118(%rip),%xmm2
  jae    L67
  lea    D158(%rip),%rax
  comiss D93(%rip),%xmm2
  jae    L67
  lea    D197(%rip),%rax
  comiss D8(%rip),%xmm2
  jae    L67
  pxor   %xmm0,%xmm0
  cvtss2sd %xmm2,%xmm0
  lea    D94(%rip),%rax
  comisd D111(%rip),%xmm0
  jae    L67
  movsd  D168(%rip),%xmm1
  comisd %xmm0,%xmm1
  lea    D12(%rip),%rax
  lea    D139(%rip),%rdx
  cmovbe %rdx,%rax
  jmp    L67
L15:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: retrieve_data
arguments: data_tag: D101
type_guessed: string
name: retrieve_data
arguments: data_tag: D170
type_guessed: string
name: retrieve_data
arguments: data_tag: D3
type_guessed: string
name: retrieve_data
arguments: data_tag: D103
type_guessed: byte[4]
name: retrieve_data
arguments: data_tag: D208
type_guessed: string
name: retrieve_data
arguments: data_tag: D204
type_guessed: f64
name: retrieve_data
arguments: data_tag: D180
type_guessed: string
name: retrieve_data
arguments: data_tag: D4
type_guessed: byte[4]
name: retrieve_data
arguments: data_tag: D140
type_guessed: string
name: retrieve_data
arguments: data_tag: D200
type_guessed: byte[4]
name: retrieve_data
arguments: data_tag: D151
type_guessed: string
name: retrieve_data
arguments: data_tag: D118
type_guessed: byte[4]
name: retrieve_data
arguments: data_tag: D158
type_guessed: string
name: retrieve_data
arguments: data_tag: D93
type_guessed: byte[4]
name: retrieve_data
arguments: data_tag: D197
type_guessed: string
name: retrieve_data
arguments: data_tag: D8
type_guessed: byte[4]
name: retrieve_data
arguments: data_tag: D94
type_guessed: string
name: retrieve_data
arguments: data_tag: D111
type_guessed: f64[2]
name: retrieve_data
arguments: data_tag: D168
type_guessed: byte[8]
name: retrieve_data
arguments: data_tag: D12
type_guessed: string
name: retrieve_data
arguments: data_tag: D139
type_guessed: string

tool: D101:     NAN

tool: D170:     INF

tool: D3: %1.4e

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

tool: D208: %7.0f

tool: D204: 1e-05

tool: D180: %.0f

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

tool: D140: %.1f

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

tool: D151: %.2f

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

tool: D158: %.3f

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

tool: D197: %.4f

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

tool: D94: %.5f

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

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

tool: D12: %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";
  }
}
```