user: Demonstrate the C code that generates the assembly output below:

```asm
<is_a_fast_interface_type>:
  endbr64
  push   %rbx
  mov    %rdi,%rbx
  call   <make_lower_temp@plt>
  mov    %eax,%edi
  lea    D11(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0x1,%eax
  test   %edx,%edx
  jne    L33
L23:
  pop    %rbx
  ret
L33:
  mov    %rbx,%rdi
  call   <make_lower_temp@plt>
  mov    %eax,%edi
  lea    D29(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0x1,%eax
  test   %edx,%edx
  je     L23
  mov    %rbx,%rdi
  call   <make_lower_temp@plt>
  mov    %eax,%edi
  lea    D134(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0x1,%eax
  test   %edx,%edx
  je     L23
  mov    %rbx,%rdi
  call   <make_lower_temp@plt>
  mov    %eax,%edi
  lea    D6(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0x1,%eax
  test   %edx,%edx
  je     L23
  mov    %rbx,%rdi
  call   <make_lower_temp@plt>
  mov    %eax,%edi
  lea    D64(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0x1,%eax
  test   %edx,%edx
  je     L23
  mov    %rbx,%rdi
  call   <make_lower_temp@plt>
  mov    %eax,%edi
  lea    D98(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0x1,%eax
  test   %edx,%edx
  je     L23
  mov    %rbx,%rdi
  call   <make_lower_temp@plt>
  mov    %eax,%edi
  lea    D110(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0x1,%eax
  test   %edx,%edx
  je     L23
  mov    %rbx,%rdi
  call   <make_lower_temp@plt>
  mov    %eax,%edi
  lea    D25(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0x1,%eax
  test   %edx,%edx
  je     L23
  mov    %rbx,%rdi
  call   <make_lower_temp@plt>
  mov    %eax,%edi
  lea    D20(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0x1,%eax
  test   %edx,%edx
  je     L23
  mov    %rbx,%rdi
  call   <make_lower_temp@plt>
  mov    %eax,%edi
  lea    D63(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0x1,%eax
  test   %edx,%edx
  je     L23
  mov    %rbx,%rdi
  call   <make_lower_temp@plt>
  mov    %eax,%edi
  lea    D50(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0x1,%eax
  test   %edx,%edx
  je     L23
  mov    %rbx,%rdi
  call   <make_lower_temp@plt>
  mov    %eax,%edi
  lea    D33(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0x1,%eax
  test   %edx,%edx
  je     L23
  mov    %rbx,%rdi
  call   <make_lower_temp@plt>
  mov    %eax,%edi
  lea    D65(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0x1,%eax
  test   %edx,%edx
  je     L23
  mov    %rbx,%rdi
  call   <make_lower_temp@plt>
  mov    %eax,%edi
  lea    D18(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  sete   %al
  movzbl %al,%eax
  jmp    L23
```

tool_calls: name: retrieve_data
arguments: label: D11
type_guessed: string
name: retrieve_data
arguments: label: D29
type_guessed: string
name: retrieve_data
arguments: label: D134
type_guessed: string
name: retrieve_data
arguments: label: D6
type_guessed: string
name: retrieve_data
arguments: label: D64
type_guessed: string
name: retrieve_data
arguments: label: D98
type_guessed: string
name: retrieve_data
arguments: label: D110
type_guessed: string
name: retrieve_data
arguments: label: D25
type_guessed: string
name: retrieve_data
arguments: label: D20
type_guessed: string
name: retrieve_data
arguments: label: D63
type_guessed: string
name: retrieve_data
arguments: label: D50
type_guessed: string
name: retrieve_data
arguments: label: D33
type_guessed: string
name: retrieve_data
arguments: label: D65
type_guessed: string
name: retrieve_data
arguments: label: D18
type_guessed: string

tool: D11: initinputtype

tool: D29: initoutputtype

tool: D134: inputtype

tool: D6: outputtype

tool: D64: continuousstatetype

tool: D98: discretestatetype

tool: D110: constraintstatetype

tool: D25: otherstatetype

tool: D20: parametertype

tool: D63: miscvartype

tool: D50: partialoutputpinputtype

tool: D33: partialcontstatepinputtype

tool: D65: partialdiscstatepinputtype

tool: D18: partialconstrstatepinputtype

assistant: ```c
int is_a_fast_interface_type(char *str) {
  int retval;
  retval = (!strcmp(make_lower_temp(str), "initinputtype") || !strcmp(make_lower_temp(str), "initoutputtype") || !strcmp(make_lower_temp(str), "inputtype") || !strcmp(make_lower_temp(str), "outputtype") || !strcmp(make_lower_temp(str), "continuousstatetype") || !strcmp(make_lower_temp(str), "discretestatetype") || !strcmp(make_lower_temp(str), "constraintstatetype") || !strcmp(make_lower_temp(str), "otherstatetype") || !strcmp(make_lower_temp(str), "parametertype") || !strcmp(make_lower_temp(str), "miscvartype") || !strcmp(make_lower_temp(str), "partialoutputpinputtype") || !strcmp(make_lower_temp(str), "partialcontstatepinputtype") || !strcmp(make_lower_temp(str), "partialdiscstatepinputtype") || !strcmp(make_lower_temp(str), "partialconstrstatepinputtype") || 0);
  return (retval);
}
```