user: What is the c source code of the assembly code below:

```asm
<floating_looks_like>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x20,%rsp
  mov    %rdi,-0x8(%rbp)
  mov    %rsi,-0x10(%rbp)
  mov    %rdx,-0x18(%rbp)
  mov    -0x8(%rbp),%rax
  lea    D204(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L146
  mov    -0x10(%rbp),%rax
  lea    D278(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L146
  mov    -0x18(%rbp),%rax
  lea    D349(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L146
  lea    D346(%rip),%rax
  jmp    L57
L146:
  mov    -0x8(%rbp),%rax
  lea    D235(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L186
  mov    -0x10(%rbp),%rax
  lea    D364(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L186
  mov    -0x18(%rbp),%rax
  lea    D321(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L186
  lea    D206(%rip),%rax
  jmp    L57
L186:
  mov    -0x8(%rbp),%rax
  lea    D244(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L237
  mov    -0x10(%rbp),%rax
  lea    D183(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L237
  mov    -0x18(%rbp),%rax
  lea    D78(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L237
  lea    D3(%rip),%rax
  jmp    L57
L237:
  mov    -0x8(%rbp),%rax
  lea    D184(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L50
  mov    -0x10(%rbp),%rax
  lea    D237(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L50
  mov    -0x18(%rbp),%rax
  lea    D55(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L50
  lea    D303(%rip),%rax
  jmp    L57
L50:
  mov    -0x8(%rbp),%rax
  lea    D225(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L167
  mov    -0x10(%rbp),%rax
  lea    D138(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L167
  mov    -0x18(%rbp),%rax
  lea    D339(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L167
  lea    D118(%rip),%rax
  jmp    L57
L167:
  mov    -0x8(%rbp),%rax
  lea    D325(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L181
  mov    -0x10(%rbp),%rax
  lea    D189(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L181
  mov    -0x18(%rbp),%rax
  lea    D203(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L181
  lea    D314(%rip),%rax
  jmp    L57
L181:
  mov    -0x8(%rbp),%rax
  lea    D271(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L54
  mov    -0x10(%rbp),%rax
  lea    D67(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L54
  mov    -0x18(%rbp),%rax
  lea    D210(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L54
  lea    D82(%rip),%rax
  jmp    L57
L54:
  mov    -0x8(%rbp),%rax
  lea    D193(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L222
  mov    -0x10(%rbp),%rax
  lea    D350(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L222
  mov    -0x18(%rbp),%rax
  lea    D352(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L222
  lea    D149(%rip),%rax
  jmp    L57
L222:
  mov    -0x8(%rbp),%rax
  lea    D119(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L213
  mov    -0x10(%rbp),%rax
  lea    D336(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L213
  mov    -0x18(%rbp),%rax
  lea    D366(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L213
  lea    D194(%rip),%rax
  jmp    L57
L213:
  lea    D202(%rip),%rax
L57:
  leave
  ret
```

tool_calls: name: parse_data
arguments: data_label: D204
data_type: string
name: parse_data
arguments: data_label: D278
data_type: string
name: parse_data
arguments: data_label: D349
data_type: string
name: parse_data
arguments: data_label: D346
data_type: string
name: parse_data
arguments: data_label: D235
data_type: string
name: parse_data
arguments: data_label: D364
data_type: string
name: parse_data
arguments: data_label: D321
data_type: string
name: parse_data
arguments: data_label: D206
data_type: string
name: parse_data
arguments: data_label: D244
data_type: string
name: parse_data
arguments: data_label: D183
data_type: string
name: parse_data
arguments: data_label: D78
data_type: string
name: parse_data
arguments: data_label: D3
data_type: string
name: parse_data
arguments: data_label: D184
data_type: string
name: parse_data
arguments: data_label: D237
data_type: string
name: parse_data
arguments: data_label: D55
data_type: string
name: parse_data
arguments: data_label: D303
data_type: string
name: parse_data
arguments: data_label: D225
data_type: string
name: parse_data
arguments: data_label: D138
data_type: string
name: parse_data
arguments: data_label: D339
data_type: string
name: parse_data
arguments: data_label: D118
data_type: string
name: parse_data
arguments: data_label: D325
data_type: string
name: parse_data
arguments: data_label: D189
data_type: string
name: parse_data
arguments: data_label: D203
data_type: string
name: parse_data
arguments: data_label: D314
data_type: string
name: parse_data
arguments: data_label: D271
data_type: string
name: parse_data
arguments: data_label: D67
data_type: string
name: parse_data
arguments: data_label: D210
data_type: string
name: parse_data
arguments: data_label: D82
data_type: string
name: parse_data
arguments: data_label: D193
data_type: string
name: parse_data
arguments: data_label: D350
data_type: string
name: parse_data
arguments: data_label: D352
data_type: string
name: parse_data
arguments: data_label: D149
data_type: string
name: parse_data
arguments: data_label: D119
data_type: string
name: parse_data
arguments: data_label: D336
data_type: string
name: parse_data
arguments: data_label: D366
data_type: string
name: parse_data
arguments: data_label: D194
data_type: string
name: parse_data
arguments: data_label: D202
data_type: string

tool: D204: 3f800000

tool: D278: c1800000

tool: D349: 49742400

tool: D346: 32-bit IEEE, big-endian

tool: D235: 0000803f

tool: D364: 000080c1

tool: D321: 00247449

tool: D206: 32-bit IEEE, little-endian

tool: D244: 3ff0000000000000

tool: D183: c030000000000000

tool: D78: 412e848000000000

tool: D3: 64-bit IEEE, big-endian

tool: D184: 000000000000f03f

tool: D237: 00000000000030c0

tool: D55: 0000000080842e41

tool: D303: 64-bit IEEE, little-endian

tool: D225: 3fff0000000000000000000000000000

tool: D138: c0030000000000000000000000000000

tool: D339: 4012e848000000000000000000000000

tool: D118: SPARC/HPPA-style 128-bit IEEE, big-endian

tool: D325: 3ff00000000000000000000000000000

tool: D189: c0300000000000008000000000000000

tool: D203: 412e8480000000000000000000000000

tool: D314: SGI-style 128-bit IEEE, big-endian

tool: D271: 0000000000000080ff3f0000

tool: D67: 000000000000008003c00000

tool: D210: 00000000000024f412400000

tool: D82: 96-bit IEEE, little-endian

tool: D193: 4001800000000000

tool: D350: c005800000000000

tool: D352: 4014f42400000000

tool: D149: 64-bit Cray

tool: D119: 40018000000000000000000000000000

tool: D336: c0058000000000000000000000000000

tool: D366: 4014f424000000000000000000000000

tool: D194: 128-bit Cray

tool: D202: Unrecognized floating-point format

assistant: ```c
char *floating_looks_like(const char *one, const char *minus_sixteen, const char *one_million) {
  if (strcmp(one, "3f800000") == 0 && strcmp(minus_sixteen, "c1800000") == 0 && strcmp(one_million, "49742400") == 0) {
    return "32-bit IEEE, big-endian";
  } else if (strcmp(one, "0000803f") == 0 && strcmp(minus_sixteen, "000080c1") == 0 && strcmp(one_million, "00247449") == 0) {
    return "32-bit IEEE, little-endian";
  } else if (strcmp(one, "3ff0000000000000") == 0 && strcmp(minus_sixteen, "c030000000000000") == 0 && strcmp(one_million, "412e848000000000") == 0) {
    return "64-bit IEEE, big-endian";
  } else if (strcmp(one, "000000000000f03f") == 0 && strcmp(minus_sixteen, "00000000000030c0") == 0 && strcmp(one_million, "0000000080842e41") == 0) {
    return "64-bit IEEE, little-endian";
  } else if (strcmp(one, "3fff0000000000000000000000000000") == 0 && strcmp(minus_sixteen, "c0030000000000000000000000000000") == 0 && strcmp(one_million, "4012e848000000000000000000000000") == 0) {
    return "SPARC/HPPA-style 128-bit IEEE, big-endian";
  } else if (strcmp(one, "3ff00000000000000000000000000000") == 0 && strcmp(minus_sixteen, "c0300000000000008000000000000000") == 0 && strcmp(one_million, "412e8480000000000000000000000000") == 0) {
    return "SGI-style 128-bit IEEE, big-endian";
  } else if (strcmp(one, "0000000000000080ff3f0000") == 0 && strcmp(minus_sixteen, "000000000000008003c00000") == 0 && strcmp(one_million, "00000000000024f412400000") == 0) {
    return "96-bit IEEE, little-endian";
  } else if (strcmp(one, "4001800000000000") == 0 && strcmp(minus_sixteen, "c005800000000000") == 0 && strcmp(one_million, "4014f42400000000") == 0) {
    return "64-bit Cray";
  } else if (strcmp(one, "40018000000000000000000000000000") == 0 && strcmp(minus_sixteen, "c0058000000000000000000000000000") == 0 && strcmp(one_million, "4014f424000000000000000000000000") == 0) {
    return "128-bit Cray";
  } else {
    return "Unrecognized floating-point format";
  }
}
```