user: 请将以下的汇编代码转换成C语言代码:

```asm
<fht_float>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x10,%rsp
  mov    %rdi,-0x8(%rbp)
  mov    %esi,-0xc(%rbp)
  cmpl   $0x0,-0xc(%rbp)
  jne    L346
  mov    $0x0,%eax
  jmp    L179
L346:
  cmpl   $0x1,-0xc(%rbp)
  jne    L335
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <helper_float_1@plt>
  mov    $0x0,%eax
  jmp    L179
L335:
  cmpl   $0x2,-0xc(%rbp)
  jne    L533
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <helper_float_2@plt>
  mov    $0x0,%eax
  jmp    L179
L533:
  cmpl   $0x3,-0xc(%rbp)
  jne    L308
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <helper_float_3@plt>
  mov    $0x0,%eax
  jmp    L179
L308:
  cmpl   $0x4,-0xc(%rbp)
  jne    L53
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <helper_float_4@plt>
  mov    $0x0,%eax
  jmp    L179
L53:
  cmpl   $0x5,-0xc(%rbp)
  jne    L110
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <helper_float_5@plt>
  mov    $0x0,%eax
  jmp    L179
L110:
  cmpl   $0x6,-0xc(%rbp)
  jne    L9
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <helper_float_6@plt>
  mov    $0x0,%eax
  jmp    L179
L9:
  cmpl   $0x7,-0xc(%rbp)
  jne    L191
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <helper_float_7@plt>
  mov    $0x0,%eax
  jmp    L179
L191:
  cmpl   $0x8,-0xc(%rbp)
  jne    L605
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <helper_float_8@plt>
  mov    $0x0,%eax
  jmp    L179
L605:
  cmpl   $0x9,-0xc(%rbp)
  jne    L469
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <helper_float_9@plt>
  mov    $0x0,%eax
  jmp    L179
L469:
  cmpl   $0xa,-0xc(%rbp)
  jne    L213
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <helper_float_10@plt>
  mov    $0x0,%eax
  jmp    L179
L213:
  cmpl   $0xb,-0xc(%rbp)
  jne    L125
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <helper_float_11@plt>
  mov    $0x0,%eax
  jmp    L179
L125:
  cmpl   $0xc,-0xc(%rbp)
  jne    L562
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <helper_float_12@plt>
  mov    $0x0,%eax
  jmp    L179
L562:
  cmpl   $0xd,-0xc(%rbp)
  jne    L257
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <helper_float_13@plt>
  mov    $0x0,%eax
  jmp    L179
L257:
  cmpl   $0xe,-0xc(%rbp)
  jne    L258
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <helper_float_14@plt>
  mov    $0x0,%eax
  jmp    L179
L258:
  cmpl   $0xf,-0xc(%rbp)
  jne    L528
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <helper_float_15@plt>
  mov    $0x0,%eax
  jmp    L179
L528:
  cmpl   $0x10,-0xc(%rbp)
  jne    L580
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <helper_float_16@plt>
  mov    $0x0,%eax
  jmp    L179
L580:
  cmpl   $0x11,-0xc(%rbp)
  jne    L395
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <helper_float_17@plt>
  mov    $0x0,%eax
  jmp    L179
L395:
  cmpl   $0x12,-0xc(%rbp)
  jne    L108
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <helper_float_18@plt>
  mov    $0x0,%eax
  jmp    L179
L108:
  cmpl   $0x13,-0xc(%rbp)
  jne    L428
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <helper_float_19@plt>
  mov    $0x0,%eax
  jmp    L179
L428:
  cmpl   $0x14,-0xc(%rbp)
  jne    L4
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <helper_float_20@plt>
  mov    $0x0,%eax
  jmp    L179
L4:
  cmpl   $0x15,-0xc(%rbp)
  jne    L84
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <helper_float_21@plt>
  mov    $0x0,%eax
  jmp    L179
L84:
  cmpl   $0x16,-0xc(%rbp)
  jne    L223
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <helper_float_22@plt>
  mov    $0x0,%eax
  jmp    L179
L223:
  cmpl   $0x17,-0xc(%rbp)
  jne    L139
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <helper_float_23@plt>
  mov    $0x0,%eax
  jmp    L179
L139:
  cmpl   $0x18,-0xc(%rbp)
  jne    L64
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <helper_float_24@plt>
  mov    $0x0,%eax
  jmp    L179
L64:
  cmpl   $0x19,-0xc(%rbp)
  jne    L211
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <helper_float_25@plt>
  mov    $0x0,%eax
  jmp    L179
L211:
  cmpl   $0x1a,-0xc(%rbp)
  jne    L371
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <helper_float_26@plt>
  mov    $0x0,%eax
  jmp    L179
L371:
  cmpl   $0x1b,-0xc(%rbp)
  jne    L334
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <helper_float_27@plt>
  mov    $0x0,%eax
  jmp    L179
L334:
  cmpl   $0x1c,-0xc(%rbp)
  jne    L415
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <helper_float_28@plt>
  mov    $0x0,%eax
  jmp    L179
L415:
  cmpl   $0x1d,-0xc(%rbp)
  jne    L126
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <helper_float_29@plt>
  mov    $0x0,%eax
  jmp    L179
L126:
  cmpl   $0x1e,-0xc(%rbp)
  jne    L429
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <helper_float_30@plt>
  mov    $0x0,%eax
  jmp    L179
L429:
  mov    $0x1,%eax
L179:
  leave
  ret
```

assistant: ```c
int fht_float(float *buf, int log_n) {
  if (log_n == 0) {
    return 0;
  }
  if (log_n == 1) {
    helper_float_1(buf);
    return 0;
  }
  if (log_n == 2) {
    helper_float_2(buf);
    return 0;
  }
  if (log_n == 3) {
    helper_float_3(buf);
    return 0;
  }
  if (log_n == 4) {
    helper_float_4(buf);
    return 0;
  }
  if (log_n == 5) {
    helper_float_5(buf);
    return 0;
  }
  if (log_n == 6) {
    helper_float_6(buf);
    return 0;
  }
  if (log_n == 7) {
    helper_float_7(buf);
    return 0;
  }
  if (log_n == 8) {
    helper_float_8(buf);
    return 0;
  }
  if (log_n == 9) {
    helper_float_9(buf);
    return 0;
  }
  if (log_n == 10) {
    helper_float_10(buf);
    return 0;
  }
  if (log_n == 11) {
    helper_float_11(buf);
    return 0;
  }
  if (log_n == 12) {
    helper_float_12(buf);
    return 0;
  }
  if (log_n == 13) {
    helper_float_13(buf);
    return 0;
  }
  if (log_n == 14) {
    helper_float_14(buf);
    return 0;
  }
  if (log_n == 15) {
    helper_float_15(buf);
    return 0;
  }
  if (log_n == 16) {
    helper_float_16(buf);
    return 0;
  }
  if (log_n == 17) {
    helper_float_17(buf);
    return 0;
  }
  if (log_n == 18) {
    helper_float_18(buf);
    return 0;
  }
  if (log_n == 19) {
    helper_float_19(buf);
    return 0;
  }
  if (log_n == 20) {
    helper_float_20(buf);
    return 0;
  }
  if (log_n == 21) {
    helper_float_21(buf);
    return 0;
  }
  if (log_n == 22) {
    helper_float_22(buf);
    return 0;
  }
  if (log_n == 23) {
    helper_float_23(buf);
    return 0;
  }
  if (log_n == 24) {
    helper_float_24(buf);
    return 0;
  }
  if (log_n == 25) {
    helper_float_25(buf);
    return 0;
  }
  if (log_n == 26) {
    helper_float_26(buf);
    return 0;
  }
  if (log_n == 27) {
    helper_float_27(buf);
    return 0;
  }
  if (log_n == 28) {
    helper_float_28(buf);
    return 0;
  }
  if (log_n == 29) {
    helper_float_29(buf);
    return 0;
  }
  if (log_n == 30) {
    helper_float_30(buf);
    return 0;
  }
  return 1;
}
```