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

```asm
<SizeViolin>:
  endbr64
  comisd D80(%rip),%xmm0
  jb     L57
  movsd  D1(%rip),%xmm1
  xor    %eax,%eax
  comisd %xmm0,%xmm1
  seta   %al
L11:
  comisd %xmm1,%xmm0
  movsd  D121(%rip),%xmm1
  jb     L20
  ucomisd %xmm0,%xmm1
  mov    $0x2,%edx
  cmova  %edx,%eax
L20:
  comisd %xmm1,%xmm0
  movsd  D85(%rip),%xmm1
  jb     L108
  ucomisd %xmm0,%xmm1
  mov    $0x3,%edx
  cmova  %edx,%eax
L108:
  comisd %xmm1,%xmm0
  movsd  D75(%rip),%xmm1
  jb     L97
  comisd %xmm0,%xmm1
  jbe    L97
  lea    D52(%rip),%rdi
  jmp    1050 <printf@plt>
  nopw   0x0(%rax,%rax,1)
L97:
  comisd %xmm1,%xmm0
  jb     L26
  movsd  D99(%rip),%xmm1
  comisd %xmm0,%xmm1
  jae    L46
L26:
  cmp    $0x2,%eax
  je     L80
  cmp    $0x3,%eax
  jne    L54
  lea    D88(%rip),%rdi
  jmp    1050 <printf@plt>
  nopw   0x0(%rax,%rax,1)
L54:
  cmp    $0x1,%eax
  jne    L99
  lea    D28(%rip),%rdi
  jmp    1050 <printf@plt>
  nopl   0x0(%rax)
L57:
  movsd  D1(%rip),%xmm1
  xor    %eax,%eax
  jmp    L11
  nopw   0x0(%rax,%rax,1)
L99:
  lea    D35(%rip),%rdi
  jmp    1050 <printf@plt>
  nopl   0x0(%rax)
L80:
  lea    D109(%rip),%rdi
  jmp    1050 <printf@plt>
  nopl   0x0(%rax)
L46:
  lea    D104(%rip),%rdi
  jmp    1050 <printf@plt>
```

tool_calls: name: extract_symbolic_data
arguments: label: D80
datatype: byte[16]
name: extract_symbolic_data
arguments: label: D1
datatype: byte[8]
name: extract_symbolic_data
arguments: label: D121
datatype: byte[8]
name: extract_symbolic_data
arguments: label: D85
datatype: byte[8]
name: extract_symbolic_data
arguments: label: D75
datatype: byte[8]
name: extract_symbolic_data
arguments: label: D52
datatype: string
name: extract_symbolic_data
arguments: label: D99
datatype: byte[8]
name: extract_symbolic_data
arguments: label: D88
datatype: string
name: extract_symbolic_data
arguments: label: D28
datatype: string
name: extract_symbolic_data
arguments: label: D35
datatype: string
name: extract_symbolic_data
arguments: label: D109
datatype: string
name: extract_symbolic_data
arguments: label: D104
datatype: string

tool: {"D80": [0x00,0x00,0x00,0x00,0x00,0x80,0x71,0x40,0x00,0x00,0x00,0x00,0x00,0xc0,0x72,0x40]}

tool: {"D1": [0x00,0x00,0x00,0x00,0x00,0xc0,0x72,0x40]}

tool: {"D121": [0x00,0x00,0x00,0x00,0x00,0x00,0x74,0x40]}

tool: {"D85": [0x00,0x00,0x00,0x00,0x00,0x40,0x75,0x40]}

tool: {"D75": [0x00,0x00,0x00,0x00,0x00,0xe0,0x75,0x40]}

tool: D52: 7/8



tool: {"D99": [0x00,0x00,0x00,0x00,0x00,0x80,0x76,0x40]}

tool: D88: 3/4



tool: D28: 1/4



tool: D35: Niewymiarowe skrzypce



tool: D109: 1/2



tool: D104: 4/4



assistant: ```c
void SizeViolin(double boardLength) {
  int indicator = 0;
  if (boardLength >= 280 && boardLength < 300) {
    indicator = 1;
  }
  if (boardLength >= 300 && boardLength < 320) {
    indicator = 2;
  }
  if (boardLength >= 320 && boardLength < 340) {
    indicator = 3;
  }
  if (boardLength >= 340 && boardLength < 350) {
    indicator = 4;
  }
  if (boardLength >= 350 && boardLength <= 360) {
    indicator = 5;
  }
  switch (indicator) {
  case 1:
    printf("1/4\n\n");
    break;
  case 2:
    printf("1/2\n\n");
    break;
  case 3:
    printf("3/4\n\n");
    break;
  case 4:
    printf("7/8\n\n");
    break;
  case 5:
    printf("4/4\n\n");
    break;
  default:
    printf("Niewymiarowe skrzypce\n\n");
    break;
  }
}
```