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

```asm
<floating_looks_like>:
  endbr64
  push   %r13
  mov    %rdx,%r13
  push   %r12
  mov    %rsi,%r12
  lea    D309(%rip),%rsi
  push   %rbp
  mov    %rdi,%rbp
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L91
  lea    D336(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L161
L91:
  lea    D216(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L121
  lea    D81(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L228
L121:
  lea    D150(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L95
  lea    D192(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L30
L95:
  lea    D282(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L6
  lea    D49(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L133
L6:
  lea    D354(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L61
  lea    D198(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L306
L61:
  lea    D170(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L259
  lea    D118(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L276
L259:
  lea    D24(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L141
  lea    D38(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L94
L141:
  lea    D362(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L210
  lea    D162(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L283
L210:
  lea    D39(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L248
L83:
  lea    D148(%rip),%rax
L163:
  pop    %rbp
  pop    %r12
  pop    %r13
  ret
L248:
  lea    D226(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L83
  lea    D215(%rip),%rsi
  mov    %r13,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  lea    D151(%rip),%rax
  test   %r8,%r8
  je     L163
  jmp    L83
  nopl   0x0(%rax)
L161:
  lea    D108(%rip),%rsi
  mov    %r13,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  lea    D73(%rip),%rax
  test   %r8,%r8
  jne    L91
  jmp    L163
  nopl   0x0(%rax)
L228:
  lea    D179(%rip),%rsi
  mov    %r13,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  lea    D101(%rip),%rax
  test   %r8,%r8
  jne    L121
  jmp    L163
  nopw   0x0(%rax,%rax,1)
L30:
  lea    D71(%rip),%rsi
  mov    %r13,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  lea    D144(%rip),%rax
  test   %r8,%r8
  jne    L95
  jmp    L163
  nopw   0x0(%rax,%rax,1)
L133:
  lea    D139(%rip),%rsi
  mov    %r13,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  lea    D63(%rip),%rax
  test   %r8,%r8
  jne    L6
  jmp    L163
  nopw   0x0(%rax,%rax,1)
L306:
  lea    D344(%rip),%rsi
  mov    %r13,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  lea    D128(%rip),%rax
  test   %r8,%r8
  jne    L61
  jmp    L163
  nopw   0x0(%rax,%rax,1)
L276:
  lea    D356(%rip),%rsi
  mov    %r13,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  lea    D299(%rip),%rax
  test   %r8,%r8
  jne    L259
  jmp    L163
  nopw   0x0(%rax,%rax,1)
L94:
  lea    D237(%rip),%rsi
  mov    %r13,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  lea    D184(%rip),%rax
  test   %r8,%r8
  jne    L141
  jmp    L163
  nopw   0x0(%rax,%rax,1)
L283:
  lea    D287(%rip),%rsi
  mov    %r13,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  lea    D122(%rip),%rax
  test   %r8,%r8
  jne    L210
  jmp    L163
```

tool_calls: name: parse_data
arguments: label: D309
data_type: string
name: parse_data
arguments: label: D336
data_type: string
name: parse_data
arguments: label: D216
data_type: string
name: parse_data
arguments: label: D81
data_type: string
name: parse_data
arguments: label: D150
data_type: string
name: parse_data
arguments: label: D192
data_type: string
name: parse_data
arguments: label: D282
data_type: string
name: parse_data
arguments: label: D49
data_type: string
name: parse_data
arguments: label: D354
data_type: string
name: parse_data
arguments: label: D198
data_type: string
name: parse_data
arguments: label: D170
data_type: string
name: parse_data
arguments: label: D118
data_type: string
name: parse_data
arguments: label: D24
data_type: string
name: parse_data
arguments: label: D38
data_type: string
name: parse_data
arguments: label: D362
data_type: string
name: parse_data
arguments: label: D162
data_type: string
name: parse_data
arguments: label: D39
data_type: string
name: parse_data
arguments: label: D148
data_type: string
name: parse_data
arguments: label: D226
data_type: string
name: parse_data
arguments: label: D215
data_type: string
name: parse_data
arguments: label: D151
data_type: string
name: parse_data
arguments: label: D108
data_type: string
name: parse_data
arguments: label: D73
data_type: string
name: parse_data
arguments: label: D179
data_type: string
name: parse_data
arguments: label: D101
data_type: string
name: parse_data
arguments: label: D71
data_type: string
name: parse_data
arguments: label: D144
data_type: string
name: parse_data
arguments: label: D139
data_type: string
name: parse_data
arguments: label: D63
data_type: string
name: parse_data
arguments: label: D344
data_type: string
name: parse_data
arguments: label: D128
data_type: string
name: parse_data
arguments: label: D356
data_type: string
name: parse_data
arguments: label: D299
data_type: string
name: parse_data
arguments: label: D237
data_type: string
name: parse_data
arguments: label: D184
data_type: string
name: parse_data
arguments: label: D287
data_type: string
name: parse_data
arguments: label: D122
data_type: string

tool: D309: 3f800000

tool: D336: c1800000

tool: D216: 0000803f

tool: D81: 000080c1

tool: D150: 3ff0000000000000

tool: D192: c030000000000000

tool: D282: 000000000000f03f

tool: D49: 00000000000030c0

tool: D354: 3fff0000000000000000000000000000

tool: D198: c0030000000000000000000000000000

tool: D170: 3ff00000000000000000000000000000

tool: D118: c0300000000000008000000000000000

tool: D24: 0000000000000080ff3f0000

tool: D38: 000000000000008003c00000

tool: D362: 4001800000000000

tool: D162: c005800000000000

tool: D39: 40018000000000000000000000000000

tool: D148: Unrecognized floating-point format

tool: D226: c0058000000000000000000000000000

tool: D215: 4014f424000000000000000000000000

tool: D151: 128-bit Cray

tool: D108: 49742400

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

tool: D179: 00247449

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

tool: D71: 412e848000000000

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

tool: D139: 0000000080842e41

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

tool: D344: 4012e848000000000000000000000000

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

tool: D356: 412e8480000000000000000000000000

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

tool: D237: 00000000000024f412400000

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

tool: D287: 4014f42400000000

tool: D122: 64-bit Cray

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";
  }
}
```