user: 请显示与下面列出的汇编代码相匹配的C语言实现:

```asm
<main>:
  endbr64
  sub    $0x18,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0x8(%rsp)
  xor    %eax,%eax
  lea    D90(%rip),%rdi
  call   <printf@plt>
  lea    D85(%rip),%rdi
  call   <printf@plt>
  lea    D107(%rip),%rdi
  call   <printf@plt>
  lea    D86(%rip),%rdi
  call   <printf@plt>
  lea    D103(%rip),%rdi
  call   <printf@plt>
  lea    D110(%rip),%rdi
  call   <printf@plt>
  lea    D36(%rip),%rdi
  call   <printf@plt>
  lea    D124(%rip),%rdi
  call   <printf@plt>
  lea    D126(%rip),%rdi
  call   <printf@plt>
  lea    D135(%rip),%rdi
  call   <printf@plt>
  lea    0x4(%rsp),%rsi
  lea    D24(%rip),%rdi
  call   <scanf@plt>
  lea    D33(%rip),%rdi
  call   <system@plt>
  cmpl   $0x7,0x4(%rsp)
  ja     L44
  mov    0x4(%rsp),%eax
  lea    D59(%rip),%rdx
  movslq (%rdx,%rax,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
  mov    $0x0,%eax
  call   <raices@plt>
L11:
  mov    0x8(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L51
  mov    $0x0,%eax
  add    $0x18,%rsp
  ret
  mov    $0x0,%eax
  call   <matrices@plt>
  jmp    L11
  mov    $0x0,%eax
  call   <gauss@plt>
  jmp    L11
  mov    $0x0,%eax
  call   <interpolacion@plt>
  jmp    L11
  mov    $0x0,%eax
  call   <minimos@plt>
  jmp    L11
  mov    $0x0,%eax
  call   <integracion@plt>
  jmp    L11
  mov    $0x0,%eax
  call   <euler@plt>
  jmp    L11
L44:
  lea    D33(%rip),%rdi
  call   <system@plt>
  lea    D117(%rip),%rdi
  call   <printf@plt>
  jmp    L11
L51:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: read_data
arguments: label: D90
data_type: string
name: read_data
arguments: label: D85
data_type: string
name: read_data
arguments: label: D107
data_type: string
name: read_data
arguments: label: D86
data_type: string
name: read_data
arguments: label: D103
data_type: string
name: read_data
arguments: label: D110
data_type: string
name: read_data
arguments: label: D36
data_type: string
name: read_data
arguments: label: D124
data_type: string
name: read_data
arguments: label: D126
data_type: string
name: read_data
arguments: label: D135
data_type: string
name: read_data
arguments: label: D24
data_type: string
name: read_data
arguments: label: D33
data_type: string
name: read_data
arguments: label: D117
data_type: string

tool: D90: ESIME Zacatenco


tool: D85: Alumno: Tovar Ochoa Kevin Ricardo


tool: D107: Profesor: Martinez Roldan Enrique


tool: D86: Materia: Analisis numerico


tool: D103: Grupo: 3AM1



tool: D110: 1.-Raices
2.-Matrices
3.-Sistemas de ecuacion


tool: D36: 4.-Interpolacion


tool: D124: 5.-Minimos Cuadrados


tool: D126: 6.-Integracions


tool: D135: 7.- EDO


tool: D24: %d

tool: D33: cls

tool: D117: Opcion Invalida

assistant: ```c
int main() {
  int menu;
  printf("ESIME Zacatenco\n");
  printf("Alumno: Tovar Ochoa Kevin Ricardo\n");
  printf("Profesor: Martinez Roldan Enrique\n");
  printf("Materia: Analisis numerico\n");
  printf("Grupo: 3AM1\n\n");
  printf("1.-Raices\n2.-Matrices\n3.-Sistemas de ecuacion\n");
  printf("4.-Interpolacion\n");
  printf("5.-Minimos Cuadrados\n");
  printf("6.-Integracions\n");
  printf("7.- EDO\n");
  scanf("%d", &menu);
  system("cls");
  switch (menu) {
  case 1:
    raices();
    break;
  case 2:
    matrices();
    break;
  case 3:
    gauss();
    break;
  case 4:
    interpolacion();
    break;
  case 5:
    minimos();
    break;
  case 6:
    integracion();
    break;
  case 7:
    euler();
    break;
  default:
    system("cls");
    printf("Opcion Invalida");
  }
  return 0;
}
```