user: 下面的汇编指令对应的C源代码是什么：

```asm
<PackShape>:
  endbr64
  push   %rbx
  mov    %rdi,%rbx
  lea    D120(%rip),%rsi
  call   <strcmp@plt>
  movsd  D188(%rip),%xmm0
  test   %rax,%rax
  jne    L67
L57:
  pop    %rbx
  ret
L67:
  lea    D108(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  movsd  D247(%rip),%xmm0
  test   %rax,%rax
  je     L57
  lea    D269(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  movsd  D119(%rip),%xmm0
  test   %rax,%rax
  je     L57
  lea    D38(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  movsd  D14(%rip),%xmm0
  test   %rax,%rax
  je     L57
  lea    D83(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  movsd  D249(%rip),%xmm0
  test   %rax,%rax
  je     L57
  lea    D122(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  movsd  D261(%rip),%xmm0
  test   %rax,%rax
  je     L57
  lea    D107(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  movsd  D63(%rip),%xmm0
  test   %rax,%rax
  je     L57
  lea    D214(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  movsd  D78(%rip),%xmm0
  test   %rax,%rax
  je     L57
  lea    D93(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  movsd  D232(%rip),%xmm0
  test   %rax,%rax
  je     L57
  lea    D29(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  movsd  D54(%rip),%xmm0
  test   %rax,%rax
  je     L57
  lea    D231(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  movsd  D199(%rip),%xmm0
  test   %rax,%rax
  je     L57
  lea    D136(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  movsd  D143(%rip),%xmm0
  test   %rax,%rax
  je     L57
  lea    D189(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  movsd  D143(%rip),%xmm0
  test   %rax,%rax
  je     L57
  mov    %rbx,%rdi
  call   <atoi@plt>
  addsd  D44(%rip),%xmm0
  jmp    L57
```

tool_calls: name: extract_symbolic_data
arguments: data_label: D120
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D188
type_guessed: f64
name: extract_symbolic_data
arguments: data_label: D108
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D247
type_guessed: f64
name: extract_symbolic_data
arguments: data_label: D269
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D119
type_guessed: f64
name: extract_symbolic_data
arguments: data_label: D38
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D14
type_guessed: f64
name: extract_symbolic_data
arguments: data_label: D83
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D249
type_guessed: f64
name: extract_symbolic_data
arguments: data_label: D122
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D261
type_guessed: f64
name: extract_symbolic_data
arguments: data_label: D107
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D63
type_guessed: f64
name: extract_symbolic_data
arguments: data_label: D214
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D78
type_guessed: f64
name: extract_symbolic_data
arguments: data_label: D93
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D232
type_guessed: f64
name: extract_symbolic_data
arguments: data_label: D29
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D54
type_guessed: f64
name: extract_symbolic_data
arguments: data_label: D231
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D199
type_guessed: f64
name: extract_symbolic_data
arguments: data_label: D136
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D143
type_guessed: f64
name: extract_symbolic_data
arguments: data_label: D189
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D44
type_guessed: f64

tool: D120: box

tool: D188: 101

tool: D108: sphere

tool: D247: 102

tool: D269: cylinder

tool: D119: 103

tool: D38: cone

tool: D14: 104

tool: D83: pipe

tool: D249: 105

tool: D122: beam

tool: D261: 106

tool: D107: wirebox

tool: D63: 107

tool: D214: gearwheel

tool: D78: 108

tool: D93: vector

tool: D232: 109

tool: D29: pipecylinder

tool: D54: 110

tool: D231: spring

tool: D199: 111

tool: D136: tire

tool: D143: 112

tool: D189: tyre

tool: D44: 200

assistant: ```c
double PackShape(char *shapename) {
  if (strcmp(shapename, "box") == 0)
    return 101.0;
  else if (strcmp(shapename, "sphere") == 0)
    return 102.0;
  else if (strcmp(shapename, "cylinder") == 0)
    return 103.0;
  else if (strcmp(shapename, "cone") == 0)
    return 104.0;
  else if (strcmp(shapename, "pipe") == 0)
    return 105.0;
  else if (strcmp(shapename, "beam") == 0)
    return 106.0;
  else if (strcmp(shapename, "wirebox") == 0)
    return 107.0;
  else if (strcmp(shapename, "gearwheel") == 0)
    return 108.0;
  else if (strcmp(shapename, "vector") == 0)
    return 109.0;
  else if (strcmp(shapename, "pipecylinder") == 0)
    return 110.0;
  else if (strcmp(shapename, "spring") == 0)
    return 111.0;
  else if (strcmp(shapename, "tire") == 0 || strcmp(shapename, "tyre") == 0)
    return 112.0;
  else {
    return 200.0 + atoi(shapename);
  }
}
```