user: Converte this assembly snippet into its equivalent C code:

```asm
<testf>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x20,%rsp
  movss  %xmm0,-0x14(%rbp)
  mov    %edi,-0x18(%rbp)
  mov    %rsi,-0x20(%rbp)
  movl   $0x0,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <acosf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <acoshf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <asinf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <asinhf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  movss  -0x14(%rbp),%xmm0
  mov    -0x14(%rbp),%eax
  movaps %xmm0,%xmm1
  movd   %eax,%xmm0
  call   <atan2f@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <atanf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <atanhf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <cbrtf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <ceilf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  movss  -0x14(%rbp),%xmm0
  mov    -0x14(%rbp),%eax
  movaps %xmm0,%xmm1
  movd   %eax,%xmm0
  call   <copysignf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <cosf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <coshf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <erfcf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <erff@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <exp2f@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <expf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <expm1f@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <fabsf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <floorf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  movss  -0x14(%rbp),%xmm0
  mov    -0x14(%rbp),%eax
  movaps %xmm0,%xmm1
  movd   %eax,%xmm0
  call   <fmodf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  lea    -0x18(%rbp),%rdx
  mov    %rdx,%rdi
  movd   %eax,%xmm0
  call   <frexpf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <gammaf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  movss  -0x14(%rbp),%xmm0
  mov    -0x14(%rbp),%eax
  movaps %xmm0,%xmm1
  movd   %eax,%xmm0
  call   <hypotf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <ilogbf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x18(%rbp),%edx
  mov    -0x14(%rbp),%eax
  mov    %edx,%edi
  movd   %eax,%xmm0
  call   <ldexpf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <lgammaf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <llrintf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <llroundf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <log10f@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <log1pf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <log2f@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <logbf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <logf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <lrintf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <lroundf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  lea    -0x14(%rbp),%rdx
  mov    %rdx,%rdi
  movd   %eax,%xmm0
  call   <modff@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  movss  -0x14(%rbp),%xmm0
  mov    -0x14(%rbp),%eax
  movaps %xmm0,%xmm1
  movd   %eax,%xmm0
  call   <powf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  movss  -0x14(%rbp),%xmm0
  mov    -0x14(%rbp),%eax
  movaps %xmm0,%xmm1
  movd   %eax,%xmm0
  call   <remainderf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <rintf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <roundf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x18(%rbp),%edx
  mov    -0x14(%rbp),%eax
  mov    %edx,%edi
  movd   %eax,%xmm0
  call   <scalbnf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <significandf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <sinf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <sinhf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <sqrtf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <tanf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <tanhf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x14(%rbp),%eax
  movd   %eax,%xmm0
  call   <truncf@plt>
  mov    %eax,%edx
  mov    -0x4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x4(%rbp),%eax
  leave
  ret
```

assistant: ```c
int testf(float float_x, long double long_double_x, int int_x, long long_x) {
  int r = 0;
  r += acosf(float_x);
  r += acoshf(float_x);
  r += asinf(float_x);
  r += asinhf(float_x);
  r += atan2f(float_x, float_x);
  r += atanf(float_x);
  r += atanhf(float_x);
  r += cbrtf(float_x);
  r += ceilf(float_x);
  r += copysignf(float_x, float_x);
  r += cosf(float_x);
  r += coshf(float_x);
  r += erfcf(float_x);
  r += erff(float_x);
  r += exp2f(float_x);
  r += expf(float_x);
  r += expm1f(float_x);
  r += fabsf(float_x);
  r += floorf(float_x);
  r += fmodf(float_x, float_x);
  r += frexpf(float_x, &int_x);
  r += gammaf(float_x);
  r += hypotf(float_x, float_x);
  r += ilogbf(float_x);
  r += ldexpf(float_x, int_x);
  r += lgammaf(float_x);
  r += llrintf(float_x);
  r += llroundf(float_x);
  r += log10f(float_x);
  r += log1pf(float_x);
  r += log2f(float_x);
  r += logbf(float_x);
  r += logf(float_x);
  r += lrintf(float_x);
  r += lroundf(float_x);
  r += modff(float_x, &float_x);
  r += powf(float_x, float_x);
  r += remainderf(float_x, float_x);
  r += rintf(float_x);
  r += roundf(float_x);
  r += scalbnf(float_x, int_x);
  r += significandf(float_x);
  r += sinf(float_x);
  r += sinhf(float_x);
  r += sqrtf(float_x);
  r += tanf(float_x);
  r += tanhf(float_x);
  r += truncf(float_x);
  return r;
}
```