user: What would the C source look like for the assembly code provided here?

```asm
<mus_header_data_format2string>:
  endbr64
  add    $0x1,%edi
  cmp    $0x16,%edi
  ja     L9
  lea    D188(%rip),%rdx
  movslq (%rdx,%rdi,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
  nopl   0x0(%rax)
  lea    D49(%rip),%rax
  ret
  lea    D108(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D109(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D45(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D67(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D184(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D235(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D195(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D137(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D25(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D164(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D36(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D100(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D172(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D210(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D230(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D152(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D238(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D217(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D167(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D119(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D236(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D153(%rip),%rax
  ret
L9:
  lea    D192(%rip),%rax
  ret
```

tool_calls: name: disassemble_data
arguments: data_tag: D49
type_guessed: string
name: disassemble_data
arguments: data_tag: D108
type_guessed: string
name: disassemble_data
arguments: data_tag: D109
type_guessed: string
name: disassemble_data
arguments: data_tag: D45
type_guessed: string
name: disassemble_data
arguments: data_tag: D67
type_guessed: string
name: disassemble_data
arguments: data_tag: D184
type_guessed: string
name: disassemble_data
arguments: data_tag: D235
type_guessed: string
name: disassemble_data
arguments: data_tag: D195
type_guessed: string
name: disassemble_data
arguments: data_tag: D137
type_guessed: string
name: disassemble_data
arguments: data_tag: D25
type_guessed: string
name: disassemble_data
arguments: data_tag: D164
type_guessed: string
name: disassemble_data
arguments: data_tag: D36
type_guessed: string
name: disassemble_data
arguments: data_tag: D100
type_guessed: string
name: disassemble_data
arguments: data_tag: D172
type_guessed: string
name: disassemble_data
arguments: data_tag: D210
type_guessed: string
name: disassemble_data
arguments: data_tag: D230
type_guessed: string
name: disassemble_data
arguments: data_tag: D152
type_guessed: string
name: disassemble_data
arguments: data_tag: D238
type_guessed: string
name: disassemble_data
arguments: data_tag: D217
type_guessed: string
name: disassemble_data
arguments: data_tag: D167
type_guessed: string
name: disassemble_data
arguments: data_tag: D119
type_guessed: string
name: disassemble_data
arguments: data_tag: D236
type_guessed: string
name: disassemble_data
arguments: data_tag: D153
type_guessed: string
name: disassemble_data
arguments: data_tag: D192
type_guessed: string

tool: D49: no_snd

tool: D108: unsupported

tool: D109: 16-bit big endian unsigned

tool: D45: 64-bit little endian double

tool: D67: 32-bit little endian float

tool: D184: 32-bit little endian

tool: D235: 16-bit little endian

tool: D195: 64-bit big endian double

tool: D137: 16-bit big endian

tool: D25: 8-bit

tool: D164: mulaw

tool: D36: 12-bit little endian unsigned

tool: D100: alaw

tool: D172: 32-bit big endian

tool: D210: 32-bit big endian float

tool: D230: 24-bit big endian

tool: D152: 8-bit unsigned

tool: D238: 12-bit big endian

tool: D217: vax float

tool: D167: 24-bit little endian

tool: D119: 16-bit little endian unsigned

tool: D236: 12-bit big endian unsigned

tool: D153: 12-bit little endian

tool: D192: unknown

assistant: ```c
char *mus_header_data_format2string(int format) {
  switch (format) {
  case -1:
    return ("unsupported");
    break;
  case 0:
    return ("no_snd");
    break;
  case 1:
    return ("16-bit big endian");
    break;
  case 2:
    return ("mulaw");
    break;
  case 3:
    return ("8-bit");
    break;
  case 4:
    return ("32-bit big endian float");
    break;
  case 5:
    return ("32-bit big endian");
    break;
  case 6:
    return ("alaw");
    break;
  case 7:
    return ("8-bit unsigned");
    break;
  case 8:
    return ("24-bit big endian");
    break;
  case 9:
    return ("64-bit big endian double");
    break;
  case 10:
    return ("16-bit little endian");
    break;
  case 11:
    return ("32-bit little endian");
    break;
  case 12:
    return ("32-bit little endian float");
    break;
  case 13:
    return ("64-bit little endian double");
    break;
  case 14:
    return ("16-bit big endian unsigned");
    break;
  case 15:
    return ("16-bit little endian unsigned");
    break;
  case 20:
    return ("12-bit big endian unsigned");
    break;
  case 21:
    return ("12-bit little endian unsigned");
    break;
  case 18:
    return ("12-bit big endian");
    break;
  case 19:
    return ("12-bit little endian");
    break;
  case 16:
    return ("24-bit little endian");
    break;
  case 17:
    return ("vax float");
    break;
  default:
    return ("unknown");
    break;
  }
}
```