user: 这段汇编代码用C语言表示是什么样的?

```asm
<stress_cpu_hyperbolic>:
  endbr64
  push   %rbx
  sub    $0x50,%rsp
  fldz
  fstpt  0x30(%rsp)
  mov    $0x0,%ebx
  jmp    L9
L18:
  fstp   %st(0)
L9:
  mov    %ebx,(%rsp)
  fildl  (%rsp)
  fldt   0xe43(%rip)        # 2000 <_fini+0xca4>
  fmulp  %st,%st(1)
  fdivs  0xe4b(%rip)        # 2010 <_fini+0xcb4>
  fstl   (%rsp)
  movsd  (%rsp),%xmm1
  fld    %st(0)
  fstpt  0x20(%rsp)
  fstps  0x18(%rsp)
  movapd %xmm1,%xmm0
  call   <cosh@plt>
  mov    %rax,0x40(%rsp)
  movsd  (%rsp),%xmm0
  call   <sinh@plt>
  fildll 0x40(%rsp)
  mov    %rax,0x40(%rsp)
  fildll 0x40(%rsp)
  fmulp  %st,%st(1)
  fldt   0x30(%rsp)
  faddp  %st,%st(1)
  fstpt  0x40(%rsp)
  movsd  (%rsp),%xmm0
  call   <cosh@plt>
  mov    %rax,0x30(%rsp)
  movsd  (%rsp),%xmm0
  call   <sinh@plt>
  fildll 0x30(%rsp)
  mov    %rax,0x30(%rsp)
  fildll 0x30(%rsp)
  fmulp  %st,%st(1)
  fldt   0x40(%rsp)
  faddp  %st,%st(1)
  fstpt  0x40(%rsp)
  movss  0x18(%rsp),%xmm0
  call   <coshf@plt>
  mov    %rax,0x30(%rsp)
  movss  0x18(%rsp),%xmm0
  call   <sinhf@plt>
  fildll 0x30(%rsp)
  mov    %rax,0x30(%rsp)
  fildll 0x30(%rsp)
  fmulp  %st,%st(1)
  fldt   0x40(%rsp)
  faddp  %st,%st(1)
  fstpt  0x30(%rsp)
  fldt   0x20(%rsp)
  fld    %st(0)
  faddp  %st,%st(1)
  fstpl  0x40(%rsp)
  movsd  0x40(%rsp),%xmm0
  call   <cosh@plt>
  mov    %rax,0x40(%rsp)
  fildll 0x40(%rsp)
  fldt   0x30(%rsp)
  faddp  %st,%st(1)
  fstpt  0x30(%rsp)
  movsd  (%rsp),%xmm0
  call   <cosh@plt>
  mov    %rax,0x40(%rsp)
  fildll 0x40(%rsp)
  fldt   0x30(%rsp)
  faddp  %st,%st(1)
  fstpt  0x30(%rsp)
  movss  0x18(%rsp),%xmm0
  call   <coshf@plt>
  mov    %rax,0x40(%rsp)
  fildll 0x40(%rsp)
  fldt   0x30(%rsp)
  faddp  %st,%st(1)
  fstpt  0x30(%rsp)
  fldt   0x20(%rsp)
  fmuls  0xd37(%rip)        # 2014 <_fini+0xcb8>
  fstpl  0x20(%rsp)
  movsd  0x20(%rsp),%xmm0
  call   <sinh@plt>
  mov    %rax,0x20(%rsp)
  fildll 0x20(%rsp)
  fldt   0x30(%rsp)
  faddp  %st,%st(1)
  fstpt  0x20(%rsp)
  movsd  (%rsp),%xmm0
  call   <sinh@plt>
  mov    %rax,(%rsp)
  fildll (%rsp)
  fldt   0x20(%rsp)
  faddp  %st,%st(1)
  fstpt  (%rsp)
  movss  0x18(%rsp),%xmm0
  call   <sinhf@plt>
  mov    %rax,0x18(%rsp)
  fildll 0x18(%rsp)
  fldt   (%rsp)
  faddp  %st,%st(1)
  fld    %st(0)
  fstpt  0x30(%rsp)
  add    $0x1,%ebx
  cmp    $0x5dc,%ebx
  jne    L18
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <stress_long_double_put@plt>
  add    $0x60,%rsp
  pop    %rbx
  ret
```

assistant: ```c
void __attribute__((hot)) stress_cpu_hyperbolic(const char *name) {
  int i;
  long double d_sum = 0.0L;
  (void)name;
  for (i = 0; i < 1500; i++) {
    long double theta = (2.0L * (3.14159265358979323846264338327950288419716939937511L) * (long double)i) / 1500.0L;
    {
      double thetad = (double)theta;
      float thetaf = (float)theta;
      d_sum += (((long double)cosh((double)(theta))) * ((long double)sinh((double)(theta))));
      d_sum += ((long double)cosh(thetad) * (long double)sinh(thetad));
      d_sum += ((long double)coshf(thetaf) * (long double)sinhf(thetaf));
    }
    {
      long double thetal = theta * 2.0L;
      double thetad = (double)theta;
      float thetaf = (float)theta;
      d_sum += ((long double)cosh((double)(thetal)));
      d_sum += (long double)cosh(thetad);
      d_sum += (long double)coshf(thetaf);
    }
    {
      long double thetal = theta * 3.0L;
      double thetad = (double)theta;
      float thetaf = (float)theta;
      d_sum += ((long double)sinh((double)(thetal)));
      d_sum += (long double)sinh(thetad);
      d_sum += (long double)sinhf(thetaf);
    }
  }
  stress_long_double_put(d_sum);
}
```