user: 请将这段汇编代码片段转换成等效的C代码：

```asm
<floating_looks_like>:
  endbr64
  push   %r12
  push   %rbp
  push   %rbx
  mov    %rdi,%rbx
  mov    %rsi,%rbp
  mov    %rdx,%r12
  lea    D115(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L279
  lea    D177(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L24
L279:
  lea    D66(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L229
  lea    D274(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L34
L229:
  lea    D69(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L9
  lea    D204(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L35
L9:
  lea    D16(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L294
  lea    D341(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L106
L294:
  lea    D334(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L96
  lea    D86(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L181
L96:
  lea    D324(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L128
  lea    D49(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L42
L128:
  lea    D237(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L222
  lea    D335(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L307
L222:
  lea    D270(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L45
  lea    D375(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L108
L45:
  lea    D261(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  mov    %rax,%rdx
  lea    D80(%rip),%rax
  test   %rdx,%rdx
  je     L101
L284:
  pop    %rbx
  pop    %rbp
  pop    %r12
  ret
L24:
  lea    D43(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  mov    %rax,%rdx
  lea    D102(%rip),%rax
  test   %rdx,%rdx
  jne    L279
  jmp    L284
L34:
  lea    D209(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  mov    %rax,%rdx
  lea    D190(%rip),%rax
  test   %rdx,%rdx
  jne    L229
  jmp    L284
L35:
  lea    D216(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  mov    %rax,%rdx
  lea    D292(%rip),%rax
  test   %rdx,%rdx
  jne    L9
  jmp    L284
L106:
  lea    D85(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  mov    %rax,%rdx
  lea    D280(%rip),%rax
  test   %rdx,%rdx
  jne    L294
  jmp    L284
L181:
  lea    D252(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  mov    %rax,%rdx
  lea    D72(%rip),%rax
  test   %rdx,%rdx
  jne    L96
  jmp    L284
L42:
  lea    D275(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  mov    %rax,%rdx
  lea    D110(%rip),%rax
  test   %rdx,%rdx
  jne    L128
  jmp    L284
L307:
  lea    D157(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  mov    %rax,%rdx
  lea    D281(%rip),%rax
  test   %rdx,%rdx
  jne    L222
  jmp    L284
L108:
  lea    D357(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  mov    %rax,%rdx
  lea    D315(%rip),%rax
  test   %rdx,%rdx
  jne    L45
  jmp    L284
L101:
  lea    D361(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%rdx
  lea    D80(%rip),%rax
  test   %rdx,%rdx
  jne    L284
  lea    D282(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  lea    D345(%rip),%rax
  lea    D80(%rip),%rdx
  cmovne %rdx,%rax
  jmp    L284
```

tool_calls: name: extract_symbolic_data
arguments: data_tag: D115
type: string
name: extract_symbolic_data
arguments: data_tag: D177
type: string
name: extract_symbolic_data
arguments: data_tag: D66
type: string
name: extract_symbolic_data
arguments: data_tag: D274
type: string
name: extract_symbolic_data
arguments: data_tag: D69
type: string
name: extract_symbolic_data
arguments: data_tag: D204
type: string
name: extract_symbolic_data
arguments: data_tag: D16
type: string
name: extract_symbolic_data
arguments: data_tag: D341
type: string
name: extract_symbolic_data
arguments: data_tag: D334
type: string
name: extract_symbolic_data
arguments: data_tag: D86
type: string
name: extract_symbolic_data
arguments: data_tag: D324
type: string
name: extract_symbolic_data
arguments: data_tag: D49
type: string
name: extract_symbolic_data
arguments: data_tag: D237
type: string
name: extract_symbolic_data
arguments: data_tag: D335
type: string
name: extract_symbolic_data
arguments: data_tag: D270
type: string
name: extract_symbolic_data
arguments: data_tag: D375
type: string
name: extract_symbolic_data
arguments: data_tag: D261
type: string
name: extract_symbolic_data
arguments: data_tag: D80
type: string
name: extract_symbolic_data
arguments: data_tag: D43
type: string
name: extract_symbolic_data
arguments: data_tag: D102
type: string
name: extract_symbolic_data
arguments: data_tag: D209
type: string
name: extract_symbolic_data
arguments: data_tag: D190
type: string
name: extract_symbolic_data
arguments: data_tag: D216
type: string
name: extract_symbolic_data
arguments: data_tag: D292
type: string
name: extract_symbolic_data
arguments: data_tag: D85
type: string
name: extract_symbolic_data
arguments: data_tag: D280
type: string
name: extract_symbolic_data
arguments: data_tag: D252
type: string
name: extract_symbolic_data
arguments: data_tag: D72
type: string
name: extract_symbolic_data
arguments: data_tag: D275
type: string
name: extract_symbolic_data
arguments: data_tag: D110
type: string
name: extract_symbolic_data
arguments: data_tag: D157
type: string
name: extract_symbolic_data
arguments: data_tag: D281
type: string
name: extract_symbolic_data
arguments: data_tag: D357
type: string
name: extract_symbolic_data
arguments: data_tag: D315
type: string
name: extract_symbolic_data
arguments: data_tag: D361
type: string
name: extract_symbolic_data
arguments: data_tag: D282
type: string
name: extract_symbolic_data
arguments: data_tag: D345
type: string

tool: D115: 3f800000

tool: D177: c1800000

tool: D66: 0000803f

tool: D274: 000080c1

tool: D69: 3ff0000000000000

tool: D204: c030000000000000

tool: D16: 000000000000f03f

tool: D341: 00000000000030c0

tool: D334: 3fff0000000000000000000000000000

tool: D86: c0030000000000000000000000000000

tool: D324: 3ff00000000000000000000000000000

tool: D49: c0300000000000008000000000000000

tool: D237: 0000000000000080ff3f0000

tool: D335: 000000000000008003c00000

tool: D270: 4001800000000000

tool: D375: c005800000000000

tool: D261: 40018000000000000000000000000000

tool: D80: Unrecognized floating-point format

tool: D43: 49742400

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

tool: D209: 00247449

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

tool: D216: 412e848000000000

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

tool: D85: 0000000080842e41

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

tool: D252: 4012e848000000000000000000000000

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

tool: D275: 412e8480000000000000000000000000

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

tool: D157: 00000000000024f412400000

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

tool: D357: 4014f42400000000

tool: D315: 64-bit Cray

tool: D361: c0058000000000000000000000000000

tool: D282: 4014f424000000000000000000000000

tool: D345: 128-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";
  }
}
```