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

```asm
<GetConstraintTypeFromTypeName>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x10,%rsp
  mov    %rdi,-0x8(%rbp)
  mov    -0x8(%rbp),%rax
  lea    D93(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L83
  mov    $0x2,%eax
  jmp    L157
L83:
  mov    -0x8(%rbp),%rax
  lea    D11(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L72
  mov    $0x3,%eax
  jmp    L157
L72:
  mov    -0x8(%rbp),%rax
  lea    D68(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L198
  mov    $0xb5,%eax
  jmp    L157
L198:
  mov    -0x8(%rbp),%rax
  lea    D48(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L3
  mov    $0x1,%eax
  jmp    L157
L3:
  mov    -0x8(%rbp),%rax
  lea    D1(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L31
  mov    $0x0,%eax
  jmp    L157
L31:
  mov    -0x8(%rbp),%rax
  lea    D58(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L42
  mov    $0xb4,%eax
  jmp    L157
L42:
  mov    -0x8(%rbp),%rax
  lea    D99(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L67
  mov    $0x8,%eax
  jmp    L157
L67:
  mov    -0x8(%rbp),%rax
  lea    D49(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L117
  mov    $0x7,%eax
  jmp    L157
L117:
  mov    -0x8(%rbp),%rax
  lea    D37(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L2
  mov    $0xb6,%eax
  jmp    L157
L2:
  mov    -0x8(%rbp),%rax
  lea    D15(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L175
  mov    $0x5,%eax
  jmp    L157
L175:
  mov    -0x8(%rbp),%rax
  lea    D6(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L34
  mov    $0x6,%eax
  jmp    L157
L34:
  mov    $0xffffffff,%eax
L157:
  leave
  ret
```

tool_calls: name: unpack_data
arguments: tag: D93
type_guessed: string
name: unpack_data
arguments: tag: D11
type_guessed: string
name: unpack_data
arguments: tag: D68
type_guessed: string
name: unpack_data
arguments: tag: D48
type_guessed: string
name: unpack_data
arguments: tag: D1
type_guessed: string
name: unpack_data
arguments: tag: D58
type_guessed: string
name: unpack_data
arguments: tag: D99
type_guessed: string
name: unpack_data
arguments: tag: D49
type_guessed: string
name: unpack_data
arguments: tag: D37
type_guessed: string
name: unpack_data
arguments: tag: D15
type_guessed: string
name: unpack_data
arguments: tag: D6
type_guessed: string

tool: D93: SYMBOL

tool: D11: STRING

tool: D68: LEXEME

tool: D48: INTEGER

tool: D1: FLOAT

tool: D58: NUMBER

tool: D99: INSTANCE-NAME

tool: D49: INSTANCE-ADDRESS

tool: D37: INSTANCE

tool: D15: EXTERNAL-ADDRESS

tool: D6: FACT-ADDRESS

assistant: ```c
int GetConstraintTypeFromTypeName(const char *constraintName) {
  if (strcmp(constraintName, "SYMBOL") == 0)
    return (2);
  else if (strcmp(constraintName, "STRING") == 0)
    return (3);
  else if (strcmp(constraintName, "LEXEME") == 0)
    return (181);
  else if (strcmp(constraintName, "INTEGER") == 0)
    return (1);
  else if (strcmp(constraintName, "FLOAT") == 0)
    return (0);
  else if (strcmp(constraintName, "NUMBER") == 0)
    return (180);
  else if (strcmp(constraintName, "INSTANCE-NAME") == 0)
    return (8);
  else if (strcmp(constraintName, "INSTANCE-ADDRESS") == 0)
    return (7);
  else if (strcmp(constraintName, "INSTANCE") == 0)
    return (182);
  else if (strcmp(constraintName, "EXTERNAL-ADDRESS") == 0)
    return (5);
  else if (strcmp(constraintName, "FACT-ADDRESS") == 0)
    return (6);
  return (-1);
}
```