user: 请显示与下面列出的汇编代码相匹配的C语言实现:

```asm
<omnibus_moments>:
  endbr64
  pxor   %xmm3,%xmm3
  sub    $0x38,%rsp
  cvtsi2sd %esi,%xmm3
  test   %esi,%esi
  jle    L101
  mov    %rdi,%rax
  mov    %esi,%ecx
  cmp    $0x1,%esi
  je     L118
  shr    %esi
  mov    %rdi,%rdx
  pxor   %xmm7,%xmm7
  sub    $0x1,%esi
  lea    0x10(%rdi),%rdi
  movapd %xmm7,%xmm0
  shl    $0x4,%rsi
  add    %rdi,%rsi
  nopl   0x0(%rax)
L39:
  movsd  (%rdx),%xmm1
  add    $0x10,%rdx
  addsd  %xmm1,%xmm0
  movsd  -0x8(%rdx),%xmm1
  addsd  %xmm1,%xmm0
  cmp    %rsi,%rdx
  jne    L39
  mov    %ecx,%edx
  and    $0xfffffffe,%edx
  cmp    %edx,%ecx
  je     L102
L88:
  movslq %edx,%rdx
  addsd  (%rax,%rdx,8),%xmm0
  movapd %xmm0,%xmm2
  divsd  %xmm3,%xmm2
  cmp    $0x1,%ecx
  je     L50
  lea    0x10(%rax),%rdi
L62:
  mov    %ecx,%esi
  movapd %xmm2,%xmm8
  pxor   %xmm5,%xmm5
  mov    %rax,%rdx
  shr    %esi
  unpcklpd %xmm8,%xmm8
  movapd %xmm7,%xmm4
  sub    $0x1,%esi
  shl    $0x4,%rsi
  add    %rdi,%rsi
  nop
L0:
  movupd (%rdx),%xmm1
  add    $0x10,%rdx
  subpd  %xmm8,%xmm1
  movapd %xmm1,%xmm0
  mulpd  %xmm1,%xmm0
  movapd %xmm0,%xmm6
  addsd  %xmm4,%xmm6
  movapd %xmm0,%xmm4
  mulpd  %xmm1,%xmm0
  unpckhpd %xmm4,%xmm4
  addsd  %xmm6,%xmm4
  mulpd  %xmm0,%xmm1
  movapd %xmm0,%xmm6
  unpcklpd %xmm1,%xmm6
  unpckhpd %xmm1,%xmm0
  addpd  %xmm6,%xmm5
  addpd  %xmm0,%xmm5
  cmp    %rsi,%rdx
  jne    L0
  mov    %ecx,%edx
  and    $0xfffffffe,%edx
  and    $0x1,%ecx
  je     L66
L109:
  movslq %edx,%rdx
  movsd  (%rax,%rdx,8),%xmm0
  subsd  %xmm2,%xmm0
  movapd %xmm0,%xmm1
  movapd %xmm0,%xmm2
  mulsd  %xmm0,%xmm1
  unpcklpd %xmm2,%xmm2
  unpcklpd %xmm1,%xmm0
  addsd  %xmm1,%xmm4
  mulpd  %xmm2,%xmm0
  mulpd  %xmm2,%xmm0
  addpd  %xmm0,%xmm5
L66:
  ucomisd %xmm3,%xmm7
  ja     L59
  movapd %xmm3,%xmm2
  sqrtsd %xmm2,%xmm2
L76:
  movsd  D14(%rip),%xmm1
  movapd %xmm4,%xmm0
  movaps %xmm5,0x10(%rsp)
  movsd  %xmm3,0x28(%rsp)
  movsd  %xmm2,0x20(%rsp)
  movsd  %xmm4,0x8(%rsp)
  call   <pow@plt>
  movsd  0x20(%rsp),%xmm2
  movsd  0x28(%rsp),%xmm3
  lea    D20(%rip),%rax
  movsd  0x8(%rsp),%xmm4
  movapd 0x10(%rsp),%xmm5
  movapd %xmm2,%xmm1
  mulsd  %xmm4,%xmm4
  unpcklpd %xmm3,%xmm1
  mulpd  %xmm5,%xmm1
  unpcklpd %xmm4,%xmm0
  divpd  %xmm0,%xmm1
  movaps %xmm1,D25(%rip)
  add    $0x38,%rsp
  ret
  nopl   0x0(%rax)
L50:
  pxor   %xmm5,%xmm5
  xor    %edx,%edx
  movapd %xmm7,%xmm4
  jmp    L109
  nopw   0x0(%rax,%rax,1)
L102:
  movapd %xmm0,%xmm2
  divsd  %xmm3,%xmm2
  jmp    L62
  nopl   (%rax)
L101:
  pxor   %xmm7,%xmm7
  pxor   %xmm5,%xmm5
  movapd %xmm7,%xmm4
  jmp    L66
L118:
  pxor   %xmm7,%xmm7
  xor    %edx,%edx
  movapd %xmm7,%xmm0
  jmp    L88
L59:
  movapd %xmm3,%xmm0
  movsd  %xmm4,0x20(%rsp)
  movaps %xmm5,0x10(%rsp)
  movsd  %xmm3,0x8(%rsp)
  call   <sqrt@plt>
  movsd  0x20(%rsp),%xmm4
  movapd 0x10(%rsp),%xmm5
  movsd  0x8(%rsp),%xmm3
  movapd %xmm0,%xmm2
  jmp    L76
```

tool_calls: name: parse_data
arguments: data_label: D14
data_type: f64

tool: D14: 1.5

assistant: ```c
double *omnibus_moments(double *x, int n) {
  double diff, mean = 0., fssm, tssm, sum_cube = 0., sum_four = 0., sum_sq = 0.;
  static double y[2];
  int i;
  for (i = 0; i < n; ++i)
    mean += x[i];
  mean /= n;
  for (i = 0; i < n; ++i) {
    diff = x[i] - mean;
    sum_sq += diff * diff;
    sum_cube += diff * diff * diff;
    sum_four += diff * diff * diff * diff;
  }
  tssm = sqrt((double)n) * sum_cube / pow(sum_sq, 1.5);
  fssm = n * sum_four / (sum_sq * sum_sq);
  y[0] = tssm;
  y[1] = fssm;
  return y;
}
```