user: Please show me the C implementation that matches the assembly code listed below:

```asm
<btesh2_print_NameForFRegID>:
  endbr64
  cmp    $0xf,%edi
  ja     L2
  lea    D93(%rip),%rdx
  mov    %edi,%edi
  movslq (%rdx,%rdi,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
  lea    D97(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D22(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D52(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D46(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D101(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D113(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D33(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D43(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D7(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D95(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D106(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D109(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D3(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D92(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D90(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D78(%rip),%rax
  ret
L2:
  lea    D156(%rip),%rax
  ret
```

tool_calls: name: retrieve_data
arguments: tag: D97
data_type: string
name: retrieve_data
arguments: tag: D22
data_type: string
name: retrieve_data
arguments: tag: D52
data_type: string
name: retrieve_data
arguments: tag: D46
data_type: string
name: retrieve_data
arguments: tag: D101
data_type: string
name: retrieve_data
arguments: tag: D113
data_type: string
name: retrieve_data
arguments: tag: D33
data_type: string
name: retrieve_data
arguments: tag: D43
data_type: string
name: retrieve_data
arguments: tag: D7
data_type: string
name: retrieve_data
arguments: tag: D95
data_type: string
name: retrieve_data
arguments: tag: D106
data_type: string
name: retrieve_data
arguments: tag: D109
data_type: string
name: retrieve_data
arguments: tag: D3
data_type: string
name: retrieve_data
arguments: tag: D92
data_type: string
name: retrieve_data
arguments: tag: D90
data_type: string
name: retrieve_data
arguments: tag: D78
data_type: string
name: retrieve_data
arguments: tag: D156
data_type: string

tool: D97: FR0

tool: D22: FR1

tool: D52: FR14

tool: D46: FR12

tool: D101: FR15

tool: D113: FR8

tool: D33: FR11

tool: D43: FR10

tool: D7: FR13

tool: D95: FR3

tool: D106: FR2

tool: D109: FR5

tool: D3: FR4

tool: D92: FR7

tool: D90: FR6

tool: D78: FR9

tool: D156: ?

assistant: ```c
char *btesh2_print_NameForFRegID(int id) {
  char *s;
  switch (id) {
  case 0:
    s = "FR1";
    break;
  case 1:
    s = "FR0";
    break;
  case 2:
    s = "FR3";
    break;
  case 3:
    s = "FR2";
    break;
  case 4:
    s = "FR5";
    break;
  case 5:
    s = "FR4";
    break;
  case 6:
    s = "FR7";
    break;
  case 7:
    s = "FR6";
    break;
  case 8:
    s = "FR9";
    break;
  case 9:
    s = "FR8";
    break;
  case 10:
    s = "FR11";
    break;
  case 11:
    s = "FR10";
    break;
  case 12:
    s = "FR13";
    break;
  case 13:
    s = "FR12";
    break;
  case 14:
    s = "FR15";
    break;
  case 15:
    s = "FR14";
    break;
  default:
    s = "?";
    break;
  }
  return (s);
}
```