user: 提供的汇编代码用C语言表示会是什么样子：

```asm
<simdsearchd1>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x20,%rsp
  mov    %rdi,-0x8(%rbp)
  mov    %rsi,-0x10(%rbp)
  mov    %edx,-0x14(%rbp)
  mov    %ecx,-0x18(%rbp)
  mov    %r8,-0x20(%rbp)
  cmpl   $0x20,-0x14(%rbp)
  ja     L261
  mov    -0x14(%rbp),%eax
  lea    0x0(,%rax,4),%rdx
  lea    D16(%rip),%rax
  mov    (%rdx,%rax,1),%eax
  cltq
  lea    D16(%rip),%rdx
  add    %rdx,%rax
  notrack jmp *%rax
  mov    -0x20(%rbp),%rcx
  mov    -0x18(%rbp),%edx
  mov    -0x10(%rbp),%rsi
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <iunpacksearch0@plt>
  jmp    L39
  mov    -0x20(%rbp),%rcx
  mov    -0x18(%rbp),%edx
  mov    -0x10(%rbp),%rsi
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <iunpacksearch1@plt>
  jmp    L39
  mov    -0x20(%rbp),%rcx
  mov    -0x18(%rbp),%edx
  mov    -0x10(%rbp),%rsi
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <iunpacksearch2@plt>
  jmp    L39
  mov    -0x20(%rbp),%rcx
  mov    -0x18(%rbp),%edx
  mov    -0x10(%rbp),%rsi
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <iunpacksearch3@plt>
  jmp    L39
  mov    -0x20(%rbp),%rcx
  mov    -0x18(%rbp),%edx
  mov    -0x10(%rbp),%rsi
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <iunpacksearch4@plt>
  jmp    L39
  mov    -0x20(%rbp),%rcx
  mov    -0x18(%rbp),%edx
  mov    -0x10(%rbp),%rsi
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <iunpacksearch5@plt>
  jmp    L39
  mov    -0x20(%rbp),%rcx
  mov    -0x18(%rbp),%edx
  mov    -0x10(%rbp),%rsi
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <iunpacksearch6@plt>
  jmp    L39
  mov    -0x20(%rbp),%rcx
  mov    -0x18(%rbp),%edx
  mov    -0x10(%rbp),%rsi
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <iunpacksearch7@plt>
  jmp    L39
  mov    -0x20(%rbp),%rcx
  mov    -0x18(%rbp),%edx
  mov    -0x10(%rbp),%rsi
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <iunpacksearch8@plt>
  jmp    L39
  mov    -0x20(%rbp),%rcx
  mov    -0x18(%rbp),%edx
  mov    -0x10(%rbp),%rsi
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <iunpacksearch9@plt>
  jmp    L39
  mov    -0x20(%rbp),%rcx
  mov    -0x18(%rbp),%edx
  mov    -0x10(%rbp),%rsi
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <iunpacksearch10@plt>
  jmp    L39
  mov    -0x20(%rbp),%rcx
  mov    -0x18(%rbp),%edx
  mov    -0x10(%rbp),%rsi
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <iunpacksearch11@plt>
  jmp    L39
  mov    -0x20(%rbp),%rcx
  mov    -0x18(%rbp),%edx
  mov    -0x10(%rbp),%rsi
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <iunpacksearch12@plt>
  jmp    L39
  mov    -0x20(%rbp),%rcx
  mov    -0x18(%rbp),%edx
  mov    -0x10(%rbp),%rsi
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <iunpacksearch13@plt>
  jmp    L39
  mov    -0x20(%rbp),%rcx
  mov    -0x18(%rbp),%edx
  mov    -0x10(%rbp),%rsi
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <iunpacksearch14@plt>
  jmp    L39
  mov    -0x20(%rbp),%rcx
  mov    -0x18(%rbp),%edx
  mov    -0x10(%rbp),%rsi
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <iunpacksearch15@plt>
  jmp    L39
  mov    -0x20(%rbp),%rcx
  mov    -0x18(%rbp),%edx
  mov    -0x10(%rbp),%rsi
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <iunpacksearch16@plt>
  jmp    L39
  mov    -0x20(%rbp),%rcx
  mov    -0x18(%rbp),%edx
  mov    -0x10(%rbp),%rsi
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <iunpacksearch17@plt>
  jmp    L39
  mov    -0x20(%rbp),%rcx
  mov    -0x18(%rbp),%edx
  mov    -0x10(%rbp),%rsi
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <iunpacksearch18@plt>
  jmp    L39
  mov    -0x20(%rbp),%rcx
  mov    -0x18(%rbp),%edx
  mov    -0x10(%rbp),%rsi
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <iunpacksearch19@plt>
  jmp    L39
  mov    -0x20(%rbp),%rcx
  mov    -0x18(%rbp),%edx
  mov    -0x10(%rbp),%rsi
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <iunpacksearch20@plt>
  jmp    L39
  mov    -0x20(%rbp),%rcx
  mov    -0x18(%rbp),%edx
  mov    -0x10(%rbp),%rsi
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <iunpacksearch21@plt>
  jmp    L39
  mov    -0x20(%rbp),%rcx
  mov    -0x18(%rbp),%edx
  mov    -0x10(%rbp),%rsi
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <iunpacksearch22@plt>
  jmp    L39
  mov    -0x20(%rbp),%rcx
  mov    -0x18(%rbp),%edx
  mov    -0x10(%rbp),%rsi
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <iunpacksearch23@plt>
  jmp    L39
  mov    -0x20(%rbp),%rcx
  mov    -0x18(%rbp),%edx
  mov    -0x10(%rbp),%rsi
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <iunpacksearch24@plt>
  jmp    L39
  mov    -0x20(%rbp),%rcx
  mov    -0x18(%rbp),%edx
  mov    -0x10(%rbp),%rsi
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <iunpacksearch25@plt>
  jmp    L39
  mov    -0x20(%rbp),%rcx
  mov    -0x18(%rbp),%edx
  mov    -0x10(%rbp),%rsi
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <iunpacksearch26@plt>
  jmp    L39
  mov    -0x20(%rbp),%rcx
  mov    -0x18(%rbp),%edx
  mov    -0x10(%rbp),%rsi
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <iunpacksearch27@plt>
  jmp    L39
  mov    -0x20(%rbp),%rcx
  mov    -0x18(%rbp),%edx
  mov    -0x10(%rbp),%rsi
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <iunpacksearch28@plt>
  jmp    L39
  mov    -0x20(%rbp),%rcx
  mov    -0x18(%rbp),%edx
  mov    -0x10(%rbp),%rsi
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <iunpacksearch29@plt>
  jmp    L39
  mov    -0x20(%rbp),%rcx
  mov    -0x18(%rbp),%edx
  mov    -0x10(%rbp),%rsi
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <iunpacksearch30@plt>
  jmp    L39
  mov    -0x20(%rbp),%rcx
  mov    -0x18(%rbp),%edx
  mov    -0x10(%rbp),%rsi
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <iunpacksearch31@plt>
  jmp    L39
  mov    -0x20(%rbp),%rcx
  mov    -0x18(%rbp),%edx
  mov    -0x10(%rbp),%rsi
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <iunpacksearch32@plt>
  jmp    L39
L261:
  nop
  mov    $0xffffffff,%eax
L39:
  leave
  ret
```

assistant: ```c
int simdsearchd1(__m128i *initOffset, const __m128i *in, uint32_t bit, uint32_t key, uint32_t *presult) {
  switch (bit) {
  case 0:
    return iunpacksearch0(initOffset, in, key, presult);
  case 1:
    return iunpacksearch1(initOffset, in, key, presult);
  case 2:
    return iunpacksearch2(initOffset, in, key, presult);
  case 3:
    return iunpacksearch3(initOffset, in, key, presult);
  case 4:
    return iunpacksearch4(initOffset, in, key, presult);
  case 5:
    return iunpacksearch5(initOffset, in, key, presult);
  case 6:
    return iunpacksearch6(initOffset, in, key, presult);
  case 7:
    return iunpacksearch7(initOffset, in, key, presult);
  case 8:
    return iunpacksearch8(initOffset, in, key, presult);
  case 9:
    return iunpacksearch9(initOffset, in, key, presult);
  case 10:
    return iunpacksearch10(initOffset, in, key, presult);
  case 11:
    return iunpacksearch11(initOffset, in, key, presult);
  case 12:
    return iunpacksearch12(initOffset, in, key, presult);
  case 13:
    return iunpacksearch13(initOffset, in, key, presult);
  case 14:
    return iunpacksearch14(initOffset, in, key, presult);
  case 15:
    return iunpacksearch15(initOffset, in, key, presult);
  case 16:
    return iunpacksearch16(initOffset, in, key, presult);
  case 17:
    return iunpacksearch17(initOffset, in, key, presult);
  case 18:
    return iunpacksearch18(initOffset, in, key, presult);
  case 19:
    return iunpacksearch19(initOffset, in, key, presult);
  case 20:
    return iunpacksearch20(initOffset, in, key, presult);
  case 21:
    return iunpacksearch21(initOffset, in, key, presult);
  case 22:
    return iunpacksearch22(initOffset, in, key, presult);
  case 23:
    return iunpacksearch23(initOffset, in, key, presult);
  case 24:
    return iunpacksearch24(initOffset, in, key, presult);
  case 25:
    return iunpacksearch25(initOffset, in, key, presult);
  case 26:
    return iunpacksearch26(initOffset, in, key, presult);
  case 27:
    return iunpacksearch27(initOffset, in, key, presult);
  case 28:
    return iunpacksearch28(initOffset, in, key, presult);
  case 29:
    return iunpacksearch29(initOffset, in, key, presult);
  case 30:
    return iunpacksearch30(initOffset, in, key, presult);
  case 31:
    return iunpacksearch31(initOffset, in, key, presult);
  case 32:
    return iunpacksearch32(initOffset, in, key, presult);
  default:
    break;
  }
  return (-1);
}
```