user: Demonstrate the C code that generates the assembly output below:

```asm
<getTLA>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x10,%rsp
  mov    %rdi,-0x8(%rbp)
  mov    -0x8(%rbp),%rax
  lea    D2(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L80
  lea    D87(%rip),%rax
  jmp    L21
L80:
  mov    -0x8(%rbp),%rax
  lea    D86(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L10
  lea    D133(%rip),%rax
  jmp    L21
L10:
  mov    -0x8(%rbp),%rax
  lea    D119(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L71
  lea    D66(%rip),%rax
  jmp    L21
L71:
  mov    -0x8(%rbp),%rax
  lea    D132(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L142
  lea    D20(%rip),%rax
  jmp    L21
L142:
  mov    -0x8(%rbp),%rax
  lea    D71(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L14
  lea    D112(%rip),%rax
  jmp    L21
L14:
  mov    -0x8(%rbp),%rax
  lea    D162(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L108
  lea    D137(%rip),%rax
  jmp    L21
L108:
  mov    -0x8(%rbp),%rax
  lea    D163(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L4
  lea    D79(%rip),%rax
  jmp    L21
L4:
  mov    -0x8(%rbp),%rax
  lea    D13(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L156
  lea    D145(%rip),%rax
  jmp    L21
L156:
  lea    D65(%rip),%rax
L21:
  leave
  ret
```

tool_calls: name: read_data
arguments: tag: D2
type_guessed: string
name: read_data
arguments: tag: D87
type_guessed: string
name: read_data
arguments: tag: D86
type_guessed: string
name: read_data
arguments: tag: D133
type_guessed: string
name: read_data
arguments: tag: D119
type_guessed: string
name: read_data
arguments: tag: D66
type_guessed: string
name: read_data
arguments: tag: D132
type_guessed: string
name: read_data
arguments: tag: D20
type_guessed: string
name: read_data
arguments: tag: D71
type_guessed: string
name: read_data
arguments: tag: D112
type_guessed: string
name: read_data
arguments: tag: D162
type_guessed: string
name: read_data
arguments: tag: D137
type_guessed: string
name: read_data
arguments: tag: D163
type_guessed: string
name: read_data
arguments: tag: D79
type_guessed: string
name: read_data
arguments: tag: D13
type_guessed: string
name: read_data
arguments: tag: D145
type_guessed: string
name: read_data
arguments: tag: D65
type_guessed: string

tool: D2: DEL

tool: D87: delete

tool: D86: VDE

tool: D133: delete[]

tool: D119: NEW

tool: D66: new

tool: D132: VEC

tool: D20: new[]

tool: D71: MAL

tool: D112: malloc

tool: D162: CAL

tool: D137: calloc

tool: D163: RAL

tool: D79: realloc

tool: D13: FRE

tool: D145: free

tool: D65: WTF

assistant: ```c
const char *getTLA(char *TLA) {
  if (strcmp(TLA, "DEL") == 0) {
    return "delete";
  } else if (strcmp(TLA, "VDE") == 0) {
    return "delete[]";
  } else if (strcmp(TLA, "NEW") == 0) {
    return "new";
  } else if (strcmp(TLA, "VEC") == 0) {
    return "new[]";
  } else if (strcmp(TLA, "MAL") == 0) {
    return "malloc";
  } else if (strcmp(TLA, "CAL") == 0) {
    return "calloc";
  } else if (strcmp(TLA, "RAL") == 0) {
    return "realloc";
  } else if (strcmp(TLA, "FRE") == 0) {
    return "free";
  }
  return "WTF";
}
```