user: What is the c source code of the assembly code below?

```asm
<printswitch>:
  endbr64
  cmp    $0xc,%edi
  ja     L9
  lea    D70(%rip),%rdx
  mov    %edi,%eax
  movslq (%rdx,%rax,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
  lea    D83(%rip),%rdi
  xor    %eax,%eax
  jmp    1050 <printf@plt>
  xchg   %ax,%ax
  lea    D65(%rip),%rdi
  xor    %eax,%eax
  jmp    1050 <printf@plt>
  xchg   %ax,%ax
  lea    D0(%rip),%rdi
  xor    %eax,%eax
  jmp    1050 <printf@plt>
  xchg   %ax,%ax
  lea    D33(%rip),%rdi
  xor    %eax,%eax
  jmp    1050 <printf@plt>
  xchg   %ax,%ax
  lea    D25(%rip),%rdi
  xor    %eax,%eax
  jmp    1050 <printf@plt>
  xchg   %ax,%ax
  lea    D136(%rip),%rdi
  xor    %eax,%eax
  jmp    1050 <printf@plt>
  xchg   %ax,%ax
  lea    D79(%rip),%rdi
  xor    %eax,%eax
  jmp    1050 <printf@plt>
  xchg   %ax,%ax
  lea    D53(%rip),%rdi
  xor    %eax,%eax
  jmp    1050 <printf@plt>
  xchg   %ax,%ax
  lea    D22(%rip),%rdi
  xor    %eax,%eax
  jmp    1050 <printf@plt>
  xchg   %ax,%ax
  lea    D12(%rip),%rdi
  xor    %eax,%eax
  jmp    1050 <printf@plt>
  xchg   %ax,%ax
  lea    D38(%rip),%rdi
  xor    %eax,%eax
  jmp    1050 <printf@plt>
  xchg   %ax,%ax
  lea    D4(%rip),%rdi
  xor    %eax,%eax
  jmp    1050 <printf@plt>
L9:
  mov    %edi,%esi
  xor    %eax,%eax
  lea    D52(%rip),%rdi
  jmp    1050 <printf@plt>
```

tool_calls: name: unpack_data
arguments: data_label: D83
type_guessed: string
name: unpack_data
arguments: data_label: D65
type_guessed: string
name: unpack_data
arguments: data_label: D0
type_guessed: string
name: unpack_data
arguments: data_label: D33
type_guessed: string
name: unpack_data
arguments: data_label: D25
type_guessed: string
name: unpack_data
arguments: data_label: D136
type_guessed: string
name: unpack_data
arguments: data_label: D79
type_guessed: string
name: unpack_data
arguments: data_label: D53
type_guessed: string
name: unpack_data
arguments: data_label: D22
type_guessed: string
name: unpack_data
arguments: data_label: D12
type_guessed: string
name: unpack_data
arguments: data_label: D38
type_guessed: string
name: unpack_data
arguments: data_label: D4
type_guessed: string
name: unpack_data
arguments: data_label: D52
type_guessed: string

tool: D83: DODECAPLOID

tool: D65: HAPLOID

tool: D0: DIPLOID

tool: D33: TRIPLOID

tool: D25: TETRAPLOID

tool: D136: PENTAPLOID

tool: D79: HEXAPLOID

tool: D53: SEPTAPLOID

tool: D22: OCTAPLOID

tool: D12: NONAPLOID

tool: D38: DECAPLOID

tool: D4: HENDECAPLOID

tool: D52: %d-PLOID

assistant: ```c
void printswitch(int ploidy) {
  switch (ploidy) {
  case 1:
    printf("HAPLOID");
    break;
  case 2:
    printf("DIPLOID");
    break;
  case 3:
    printf("TRIPLOID");
    break;
  case 4:
    printf("TETRAPLOID");
    break;
  case 5:
    printf("PENTAPLOID");
    break;
  case 6:
    printf("HEXAPLOID");
    break;
  case 7:
    printf("SEPTAPLOID");
    break;
  case 8:
    printf("OCTAPLOID");
    break;
  case 9:
    printf("NONAPLOID");
    break;
  case 10:
    printf("DECAPLOID");
    break;
  case 11:
    printf("HENDECAPLOID");
    break;
  case 12:
    printf("DODECAPLOID");
    break;
  default:
    printf("%d-PLOID", ploidy);
    break;
  }
}
```