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

```asm
<main>:
  endbr64
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x258,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0x248(%rsp)
  xor    %eax,%eax
  mov    D458(%rip),%rax
  mov    %rax,0xf0(%rsp)
  movsd  D232(%rip),%xmm0
  movsd  %xmm0,0xf8(%rsp)
  mov    D793(%rip),%rax
  mov    %rax,0x100(%rsp)
  mov    D709(%rip),%rax
  mov    %rax,0x108(%rsp)
  mov    D769(%rip),%rax
  mov    %rax,0x110(%rsp)
  mov    D1045(%rip),%rax
  mov    %rax,0x118(%rsp)
  mov    D587(%rip),%rax
  mov    %rax,0x120(%rsp)
  mov    D998(%rip),%rax
  mov    %rax,0x128(%rsp)
  movsd  %xmm0,0x130(%rsp)
  mov    D63(%rip),%rax
  mov    %rax,0x138(%rsp)
  mov    D347(%rip),%rax
  mov    %rax,0x140(%rsp)
  lea    0xf0(%rsp),%rdi
  mov    $0xb,%esi
  mov    $0x0,%eax
  call   <CSPL_Stats_skew@plt>
  pxor   %xmm5,%xmm5
  cvtsi2sd %eax,%xmm5
  movq   %xmm5,%rbx
  movsd  D36(%rip),%xmm1
  movapd %xmm5,%xmm0
  lea    D973(%rip),%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  movq   %rbx,%xmm0
  addsd  D146(%rip),%xmm0
  andpd  D1037(%rip),%xmm0
  movsd  D871(%rip),%xmm1
  mov    $0x1,%eax
  comisd %xmm0,%xmm1
  ja     L41
L147:
  mov    0x248(%rsp),%rdx
  sub    %fs:0x28,%rdx
  jne    L144
  add    $0x258,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
L41:
  lea    0xf0(%rsp),%rdi
  mov    $0xb,%esi
  mov    $0x0,%eax
  call   <CSPL_Stats_kurtosis@plt>
  pxor   %xmm6,%xmm6
  cvtsi2sd %eax,%xmm6
  movq   %xmm6,%rbx
  movsd  D686(%rip),%xmm1
  movapd %xmm6,%xmm0
  lea    D784(%rip),%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  movq   %rbx,%xmm0
  addsd  D531(%rip),%xmm0
  andpd  D1037(%rip),%xmm0
  movsd  D871(%rip),%xmm1
  mov    $0x1,%eax
  comisd %xmm0,%xmm1
  jbe    L147
  lea    0xf0(%rsp),%rdi
  mov    $0xb,%esi
  mov    $0x0,%eax
  call   <CSPL_Stats_mean@plt>
  pxor   %xmm7,%xmm7
  cvtsi2sd %eax,%xmm7
  movq   %xmm7,%rbx
  mov    D935(%rip),%rax
  movq   %rax,%xmm1
  movapd %xmm7,%xmm0
  lea    D913(%rip),%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  movq   %rbx,%xmm0
  subsd  D935(%rip),%xmm0
  andpd  D1037(%rip),%xmm0
  movsd  D871(%rip),%xmm1
  mov    $0x1,%eax
  comisd %xmm0,%xmm1
  jbe    L147
  lea    0xf0(%rsp),%rdi
  mov    $0xb,%esi
  mov    $0x0,%eax
  call   <CSPL_Stats_median_sort@plt>
  pxor   %xmm3,%xmm3
  cvtsi2sd %eax,%xmm3
  movq   %xmm3,%rbx
  mov    D1045(%rip),%rax
  movq   %rax,%xmm1
  movapd %xmm3,%xmm0
  lea    D579(%rip),%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  movq   %rbx,%xmm0
  subsd  D1045(%rip),%xmm0
  andpd  D1037(%rip),%xmm0
  movsd  D871(%rip),%xmm1
  mov    $0x1,%eax
  comisd %xmm0,%xmm1
  jbe    L147
  lea    0xf0(%rsp),%rdi
  mov    $0xb,%esi
  mov    $0x0,%eax
  call   <CSPL_Stats_median_quickselect@plt>
  pxor   %xmm4,%xmm4
  cvtsi2sd %eax,%xmm4
  movq   %xmm4,%rbx
  mov    D1045(%rip),%rax
  movq   %rax,%xmm1
  movapd %xmm4,%xmm0
  lea    D375(%rip),%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  movq   %rbx,%xmm0
  subsd  D1045(%rip),%xmm0
  andpd  D1037(%rip),%xmm0
  movsd  D871(%rip),%xmm1
  mov    $0x1,%eax
  comisd %xmm0,%xmm1
  jbe    L147
  lea    0xf0(%rsp),%rbp
  mov    $0xb,%esi
  mov    %rbp,%rdi
  mov    $0x0,%eax
  call   <CSPL_Stats_median_sort@plt>
  mov    %eax,%ebx
  mov    $0xb,%esi
  mov    %rbp,%rdi
  mov    $0x0,%eax
  call   <CSPL_Stats_median_quickselect@plt>
  sub    %eax,%ebx
  pxor   %xmm0,%xmm0
  cvtsi2sd %ebx,%xmm0
  andpd  D1037(%rip),%xmm0
  movsd  D871(%rip),%xmm1
  mov    $0x1,%eax
  comisd %xmm0,%xmm1
  jbe    L147
  mov    %rbp,%rdi
  mov    $0xb,%esi
  mov    $0x0,%eax
  call   <CSPL_Stats_std@plt>
  pxor   %xmm2,%xmm2
  cvtsi2sd %eax,%xmm2
  movq   %xmm2,%rbx
  mov    D785(%rip),%rax
  movq   %rax,%xmm1
  movapd %xmm2,%xmm0
  lea    D1139(%rip),%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  movq   %rbx,%xmm0
  subsd  D785(%rip),%xmm0
  andpd  D1037(%rip),%xmm0
  movsd  D871(%rip),%xmm1
  mov    $0x1,%eax
  comisd %xmm0,%xmm1
  jbe    L147
  mov    %rbp,%rdi
  mov    $0xb,%esi
  mov    $0x0,%eax
  call   <CSPL_Stats_variance@plt>
  pxor   %xmm2,%xmm2
  cvtsi2sd %eax,%xmm2
  movq   %xmm2,%rbx
  mov    D1165(%rip),%rax
  movq   %rax,%xmm1
  movapd %xmm2,%xmm0
  lea    D427(%rip),%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  movq   %rbx,%xmm0
  subsd  D1165(%rip),%xmm0
  andpd  D1037(%rip),%xmm0
  movsd  D871(%rip),%xmm1
  mov    $0x1,%eax
  comisd %xmm0,%xmm1
  jbe    L147
  mov    %rbp,%rdi
  mov    $0xb,%esi
  mov    $0x0,%eax
  call   <CSPL_Stats_geometric_mean@plt>
  pxor   %xmm2,%xmm2
  cvtsi2sd %eax,%xmm2
  movq   %xmm2,%rbx
  mov    D195(%rip),%rax
  movq   %rax,%xmm1
  movapd %xmm2,%xmm0
  lea    D1024(%rip),%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  movq   %rbx,%xmm0
  subsd  D195(%rip),%xmm0
  andpd  D1037(%rip),%xmm0
  movsd  D871(%rip),%xmm1
  mov    $0x1,%eax
  comisd %xmm0,%xmm1
  jbe    L147
  mov    D89(%rip),%rax
  mov    %rax,0x70(%rsp)
  mov    D176(%rip),%rax
  mov    %rax,0x78(%rsp)
  mov    D100(%rip),%rax
  mov    %rax,0x80(%rsp)
  mov    D280(%rip),%rax
  mov    %rax,0x88(%rsp)
  mov    D1003(%rip),%rax
  mov    %rax,0x90(%rsp)
  mov    D350(%rip),%rax
  mov    %rax,0x150(%rsp)
  mov    D440(%rip),%rax
  mov    %rax,0x158(%rsp)
  mov    D239(%rip),%rax
  mov    %rax,0x160(%rsp)
  mov    D1196(%rip),%rax
  mov    %rax,0x168(%rsp)
  mov    D63(%rip),%rax
  mov    %rax,0x170(%rsp)
  lea    0xa0(%rsp),%rsi
  lea    0x70(%rsp),%rdi
  mov    $0x5,%edx
  mov    $0x0,%eax
  call   <CSPL_Stats_tCDF@plt>
  mov    $0x0,%eax
  lea    0x150(%rsp),%rdx
  movq   D1037(%rip),%xmm2
  movsd  D1043(%rip),%xmm1
L84:
  movsd  0xa0(%rsp,%rax,8),%xmm0
  subsd  (%rdx,%rax,8),%xmm0
  andpd  %xmm2,%xmm0
  comisd %xmm0,%xmm1
  jbe    L228
  add    $0x1,%rax
  cmp    $0x5,%rax
  jne    L84
  mov    D350(%rip),%rax
  mov    %rax,0x10(%rsp)
  mov    D440(%rip),%rax
  mov    %rax,0x18(%rsp)
  mov    D239(%rip),%rax
  mov    %rax,0x20(%rsp)
  mov    D1196(%rip),%rax
  mov    %rax,0x28(%rsp)
  movsd  D63(%rip),%xmm0
  movsd  %xmm0,0x30(%rsp)
  movq   $0x0,0xa0(%rsp)
  movq   $0x0,0xa8(%rsp)
  movq   $0x0,0xb0(%rsp)
  mov    D714(%rip),%rax
  mov    %rax,0xb8(%rsp)
  mov    D412(%rip),%rax
  mov    %rax,0xc0(%rsp)
  mov    D152(%rip),%rax
  mov    %rax,0x150(%rsp)
  movsd  %xmm0,0x158(%rsp)
  movsd  %xmm0,0x160(%rsp)
  movsd  %xmm0,0x168(%rsp)
  movsd  %xmm0,0x170(%rsp)
  lea    0x70(%rsp),%rdx
  lea    0x40(%rsp),%rsi
  lea    0x10(%rsp),%rdi
  mov    $0x5,%ecx
  movsd  D268(%rip),%xmm0
  mov    $0x1,%eax
  call   <CSPL_Stats_tCDF_confidence_bands@plt>
  mov    $0x0,%eax
  lea    0xa0(%rsp),%rcx
  movq   D1037(%rip),%xmm4
  movsd  D1043(%rip),%xmm3
  lea    0x150(%rsp),%rdx
  movapd %xmm4,%xmm2
  movapd %xmm3,%xmm1
L210:
  movsd  0x40(%rsp,%rax,8),%xmm0
  subsd  (%rcx,%rax,8),%xmm0
  andpd  %xmm4,%xmm0
  comisd %xmm0,%xmm3
  jbe    L51
  movsd  0x70(%rsp,%rax,8),%xmm0
  subsd  (%rdx,%rax,8),%xmm0
  andpd  %xmm2,%xmm0
  comisd %xmm0,%xmm1
  jbe    L51
  add    $0x1,%rax
  cmp    $0x5,%rax
  jne    L210
  mov    D350(%rip),%rax
  mov    %rax,0x150(%rsp)
  mov    D440(%rip),%rax
  mov    %rax,0x158(%rsp)
  mov    D239(%rip),%rax
  mov    %rax,0x160(%rsp)
  mov    D1196(%rip),%rax
  mov    %rax,0x168(%rsp)
  mov    D63(%rip),%rax
  mov    %rax,0x170(%rsp)
  lea    0x150(%rsp),%rbx
  mov    $0x5,%edx
  mov    $0x14,%esi
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <CSPL_Stats_percentile@plt>
  mov    %eax,%esi
  lea    D126(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x5,%edx
  mov    $0x14,%esi
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <CSPL_Stats_percentile@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  subsd  D300(%rip),%xmm0
  andpd  D1037(%rip),%xmm0
  movsd  D1043(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L304
L297:
  mov    $0x1,%eax
  jmp    L147
L228:
  mov    $0x1,%eax
  jmp    L147
L51:
  mov    $0x1,%eax
  jmp    L147
L304:
  lea    0x150(%rsp),%rbx
  mov    $0x5,%edx
  mov    $0x19,%esi
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <CSPL_Stats_percentile@plt>
  mov    %eax,%esi
  lea    D126(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x5,%edx
  mov    $0x19,%esi
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <CSPL_Stats_percentile@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  subsd  D766(%rip),%xmm0
  andpd  D1037(%rip),%xmm0
  movsd  D1043(%rip),%xmm1
  comisd %xmm0,%xmm1
  jbe    L297
  mov    $0x5,%edx
  mov    $0x28,%esi
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <CSPL_Stats_percentile@plt>
  mov    %eax,%esi
  lea    D126(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x5,%edx
  mov    $0x28,%esi
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <CSPL_Stats_percentile@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  subsd  D698(%rip),%xmm0
  andpd  D1037(%rip),%xmm0
  movsd  D1043(%rip),%xmm1
  comisd %xmm0,%xmm1
  jbe    L297
  mov    $0x5,%edx
  mov    $0x32,%esi
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <CSPL_Stats_percentile@plt>
  mov    %eax,%esi
  lea    D126(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x5,%edx
  mov    $0x32,%esi
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <CSPL_Stats_percentile@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  subsd  D239(%rip),%xmm0
  andpd  D1037(%rip),%xmm0
  movsd  D1043(%rip),%xmm1
  comisd %xmm0,%xmm1
  jbe    L297
  mov    $0x5,%edx
  mov    $0x3c,%esi
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <CSPL_Stats_percentile@plt>
  mov    %eax,%esi
  lea    D126(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x5,%edx
  mov    $0x3c,%esi
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <CSPL_Stats_percentile@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  subsd  D683(%rip),%xmm0
  andpd  D1037(%rip),%xmm0
  movsd  D1043(%rip),%xmm1
  comisd %xmm0,%xmm1
  jbe    L297
  mov    $0x5,%edx
  mov    $0x52,%esi
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <CSPL_Stats_percentile@plt>
  mov    %eax,%esi
  lea    D126(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x5,%edx
  mov    $0x52,%esi
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <CSPL_Stats_percentile@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  subsd  D951(%rip),%xmm0
  andpd  D1037(%rip),%xmm0
  movsd  D1043(%rip),%xmm1
  comisd %xmm0,%xmm1
  jbe    L297
  mov    %rbx,%rbp
  mov    $0x5,%edx
  mov    $0x32,%esi
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <CSPL_Stats_percentile@plt>
  mov    %eax,%ebx
  mov    $0x5,%esi
  mov    %rbp,%rdi
  mov    $0x0,%eax
  call   <CSPL_Stats_median_sort@plt>
  sub    %eax,%ebx
  pxor   %xmm0,%xmm0
  cvtsi2sd %ebx,%xmm0
  andpd  D1037(%rip),%xmm0
  movsd  D1043(%rip),%xmm1
  comisd %xmm0,%xmm1
  jbe    L297
  mov    D1133(%rip),%rax
  mov    %rax,0x150(%rsp)
  mov    D687(%rip),%rax
  mov    %rax,0x158(%rsp)
  mov    D1156(%rip),%rax
  mov    %rax,0x160(%rsp)
  mov    D935(%rip),%rax
  mov    %rax,0x168(%rsp)
  mov    D1109(%rip),%rax
  mov    %rax,0x170(%rsp)
  mov    D769(%rip),%rax
  mov    %rax,0x178(%rsp)
  mov    D676(%rip),%rax
  mov    %rax,0x180(%rsp)
  mov    D142(%rip),%rax
  mov    %rax,0x188(%rsp)
  mov    D653(%rip),%rax
  mov    %rax,0x190(%rsp)
  mov    D1194(%rip),%rax
  mov    %rax,0x198(%rsp)
  mov    D20(%rip),%rax
  mov    %rax,0x1a0(%rsp)
  mov    $0x0,%ebx
  lea    D1176(%rip),%r12
L165:
  mov    $0xb,%esi
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <CSPL_Stats_percent_rank@plt>
  mov    %eax,%ecx
  mov    $0xb,%edx
  mov    %rbx,%rsi
  mov    %r12,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0xb,%esi
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <CSPL_Stats_percent_rank@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  subsd  0x0(%rbp,%rbx,8),%xmm0
  andpd  D1037(%rip),%xmm0
  movsd  D1043(%rip),%xmm2
  comisd %xmm0,%xmm2
  jbe    L295
  add    $0x1,%rbx
  cmp    $0xb,%rbx
  jne    L165
  lea    0x158(%rsp),%rdi
  mov    $0x3a,%ecx
  mov    $0x0,%eax
  rep stos %eax,%es:(%rdi)
  movq   $0x1,0x150(%rsp)
  movq   $0x3,0x168(%rsp)
  movq   $0x1,0x170(%rsp)
  movq   $0x6,0x180(%rsp)
  movq   $0x4,0x188(%rsp)
  movq   $0x1,0x190(%rsp)
  movq   $0xa,0x198(%rsp)
  movq   $0xa,0x1a0(%rsp)
  movq   $0x5,0x1a8(%rsp)
  movq   $0xf,0x1b0(%rsp)
  movq   $0x14,0x1b8(%rsp)
  movq   $0xf,0x1c0(%rsp)
  movq   $0x15,0x1c8(%rsp)
  movq   $0x23,0x1d0(%rsp)
  movq   $0x23,0x1d8(%rsp)
  movq   $0x1c,0x1e0(%rsp)
  movq   $0x38,0x1e8(%rsp)
  movq   $0x46,0x1f0(%rsp)
  movq   $0x24,0x1f8(%rsp)
  movq   $0x54,0x200(%rsp)
  movq   $0x7e,0x208(%rsp)
  movq   $0x2d,0x210(%rsp)
  movq   $0x78,0x218(%rsp)
  movq   $0xd2,0x220(%rsp)
  movq   $0x0,0xe8(%rsp)
  movq   $0x2,0xa0(%rsp)
  movq   $0x3,0xa8(%rsp)
  movq   $0x4,0xb0(%rsp)
  movq   $0x5,0xb8(%rsp)
  movq   $0x6,0xc0(%rsp)
  movq   $0x7,0xc8(%rsp)
  movq   $0x8,0xd0(%rsp)
  movq   $0x9,0xd8(%rsp)
  movq   $0xa,0xe0(%rsp)
  movq   $0x2,0x70(%rsp)
  movq   $0x3,0x78(%rsp)
  movq   $0x4,0x80(%rsp)
  mov    $0x0,%ebx
  mov    $0x0,%r13d
L195:
  mov    $0x0,%ebp
L196:
  mov    0x70(%rsp,%rbp,8),%r15
  mov    0xa0(%rsp,%rbx,8),%rax
  mov    %r15,%rsi
  mov    %rax,0x8(%rsp)
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <CSPL_Stats_combination@plt>
  movslq %eax,%r12
  mov    0x150(%rsp,%r13,8),%r14
  mov    %r14,%r8
  mov    %r12,%rcx
  mov    %r15,%rdx
  mov    0x8(%rsp),%rsi
  lea    D717(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  cmp    %r12,%r14
  jne    L52
  add    $0x1,%r13
  add    $0x1,%rbp
  cmp    $0x3,%rbp
  jne    L196
  add    $0x1,%rbx
  cmp    $0xa,%rbx
  jne    L195
  mov    $0x0,%eax
  jmp    L147
L295:
  mov    $0x1,%eax
  jmp    L147
L52:
  mov    $0x1,%eax
  jmp    L147
L144:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: disassemble_data
arguments: tag: D458
type: f32[2]
name: disassemble_data
arguments: tag: D232
type: f32[2]
name: disassemble_data
arguments: tag: D793
type: f32[2]
name: disassemble_data
arguments: tag: D709
type: f32[2]
name: disassemble_data
arguments: tag: D769
type: f64
name: disassemble_data
arguments: tag: D1045
type: f64
name: disassemble_data
arguments: tag: D587
type: f32[2]
name: disassemble_data
arguments: tag: D998
type: f32[2]
name: disassemble_data
arguments: tag: D63
type: f64
name: disassemble_data
arguments: tag: D347
type: f32[2]
name: disassemble_data
arguments: tag: D36
type: byte[8]
name: disassemble_data
arguments: tag: D973
type: string
name: disassemble_data
arguments: tag: D146
type: f64
name: disassemble_data
arguments: tag: D1037
type: qword[2]
name: disassemble_data
arguments: tag: D871
type: byte[8]
name: disassemble_data
arguments: tag: D686
type: byte[8]
name: disassemble_data
arguments: tag: D784
type: string
name: disassemble_data
arguments: tag: D531
type: f64
name: disassemble_data
arguments: tag: D935
type: f64
name: disassemble_data
arguments: tag: D913
type: string
name: disassemble_data
arguments: tag: D579
type: string
name: disassemble_data
arguments: tag: D375
type: string
name: disassemble_data
arguments: tag: D785
type: f64
name: disassemble_data
arguments: tag: D1139
type: string
name: disassemble_data
arguments: tag: D1165
type: f64
name: disassemble_data
arguments: tag: D427
type: string
name: disassemble_data
arguments: tag: D195
type: f64
name: disassemble_data
arguments: tag: D1024
type: string
name: disassemble_data
arguments: tag: D89
type: f32[2]
name: disassemble_data
arguments: tag: D176
type: f64
name: disassemble_data
arguments: tag: D100
type: f64
name: disassemble_data
arguments: tag: D280
type: f64
name: disassemble_data
arguments: tag: D1003
type: f64
name: disassemble_data
arguments: tag: D350
type: f64
name: disassemble_data
arguments: tag: D440
type: f64
name: disassemble_data
arguments: tag: D239
type: f64
name: disassemble_data
arguments: tag: D1196
type: f64
name: disassemble_data
arguments: tag: D1043
type: byte[8]
name: disassemble_data
arguments: tag: D714
type: f64
name: disassemble_data
arguments: tag: D412
type: f64
name: disassemble_data
arguments: tag: D152
type: f64
name: disassemble_data
arguments: tag: D268
type: f64
name: disassemble_data
arguments: tag: D126
type: string
name: disassemble_data
arguments: tag: D300
type: f64
name: disassemble_data
arguments: tag: D766
type: f64
name: disassemble_data
arguments: tag: D698
type: f64
name: disassemble_data
arguments: tag: D683
type: f64
name: disassemble_data
arguments: tag: D951
type: f64
name: disassemble_data
arguments: tag: D1133
type: f64
name: disassemble_data
arguments: tag: D687
type: f64
name: disassemble_data
arguments: tag: D1156
type: f64
name: disassemble_data
arguments: tag: D1109
type: f64
name: disassemble_data
arguments: tag: D676
type: f64
name: disassemble_data
arguments: tag: D142
type: f64
name: disassemble_data
arguments: tag: D653
type: f64
name: disassemble_data
arguments: tag: D1194
type: f64
name: disassemble_data
arguments: tag: D20
type: f64
name: disassemble_data
arguments: tag: D1176
type: string
name: disassemble_data
arguments: tag: D717
type: string

tool: {"D458": [0.0,2.71875]}

tool: {"D232": [0.0,2.8125]}

tool: {"D793": [0.0,3.0234375]}

tool: {"D709": [0.0,3.0625]}

tool: D769: 50

tool: D1045: 34

tool: {"D587": [0.0,3.0]}

tool: {"D998": [0.0,3.0859375]}

tool: D63: 1

tool: {"D347": [0.0,3.21875]}

tool: {"D36": [0xb3,0x0c,0x71,0xac,0x8b,0xdb,0xc0,0xbf]}

tool: D973: CSPL_Stats_skew=%lf, %lf


tool: D146: 0.1317

tool: {"D1037": [0x7fffffffffffffff,0x0000000000000000]}

tool: {"D871": [0x2d,0x43,0x1c,0xeb,0xe2,0x36,0x1a,0x3f]}

tool: {"D686": [0x64,0xb2,0xb8,0xff,0xc8,0x74,0xe2,0xbf]}

tool: D784: CSPL_Stats_kurtosis=%lf, %lf


tool: D531: 0.576756

tool: D935: 31.818182

tool: D913: CSPL_Stats_mean=%lf, %lf


tool: D579: CSPL_Stats_median_sort=%lf, %lf


tool: D375: CSPL_Stats_median_quickselect=%lf, %lf


tool: D785: 16.078321

tool: D1139: CSPL_Stats_std=%lf, %lf


tool: D1165: 258.512397

tool: D427: CSPL_Stats_variance=%lf, %lf


tool: D195: 23.44964

tool: D1024: CSPL_Stats_geometric_mean=%lf, %lf


tool: {"D89": [0.0,2.0]}

tool: D176: 3.4

tool: D100: 5.6

tool: D280: 4.5

tool: D1003: 3.1

tool: D350: 0.2

tool: D440: 0.4

tool: D239: 0.6

tool: D1196: 0.8

tool: {"D1043": [0xf1,0x68,0xe3,0x88,0xb5,0xf8,0xe4,0x3e]}

tool: D714: 0.072105

tool: D412: 0.272105

tool: D152: 0.927895

tool: D268: 0.01

tool: D126: CSPL_Stats_percentile %lf


tool: D300: 0.3

tool: D766: 0.35

tool: D698: 0.5

tool: D683: 0.7

tool: D951: 0.92

tool: D1133: 4.545455

tool: D687: 13.636364

tool: D1156: 22.727273

tool: D1109: 40.909091

tool: D676: 59.090909

tool: D142: 68.181818

tool: D653: 77.272727

tool: D1194: 86.363636

tool: D20: 95.454545

tool: D1176: CSPL_Stats_percent_rank %ld, %ld, %lf


tool: D717: CSPL_Stats_combination(%ld, %ld)=%ld -> %ld


assistant: ```c
int main(void) {
  double ans;
  double data1[11] = {15, 20, 35, 40, 50, 34, 32, 43, 20, 1, 60};
  double skew_ans = -0.131700;
  double kurt_ans = -0.576756;
  double mean_ans = 31.818182;
  double median_ans = 34.000000;
  double std_ans = 16.078321;
  double variance_ans = 258.512397;
  double geo_ans = 23.449640;
  ans = CSPL_Stats_skew(data1, 11);
  printf("CSPL_Stats_skew=%lf, %lf\n", ans, skew_ans);
  {
    if ((fabs((ans) - (skew_ans)) < (1e-4)) == 0)
      return (1);
  };
  ans = CSPL_Stats_kurtosis(data1, 11);
  printf("CSPL_Stats_kurtosis=%lf, %lf\n", ans, kurt_ans);
  {
    if ((fabs((ans) - (kurt_ans)) < (1e-4)) == 0)
      return (1);
  };
  ans = CSPL_Stats_mean(data1, 11);
  printf("CSPL_Stats_mean=%lf, %lf\n", ans, mean_ans);
  {
    if ((fabs((ans) - (mean_ans)) < (1e-4)) == 0)
      return (1);
  };
  ans = CSPL_Stats_median_sort(data1, 11);
  printf("CSPL_Stats_median_sort=%lf, %lf\n", ans, median_ans);
  {
    if ((fabs((ans) - (median_ans)) < (1e-4)) == 0)
      return (1);
  };
  ans = CSPL_Stats_median_quickselect(data1, 11);
  printf("CSPL_Stats_median_quickselect=%lf, %lf\n", ans, median_ans);
  {
    if ((fabs((ans) - (median_ans)) < (1e-4)) == 0)
      return (1);
  };
  {
    if ((fabs((CSPL_Stats_median_sort(data1, 11)) - (CSPL_Stats_median_quickselect(data1, 11))) < (1e-4)) == 0)
      return (1);
  };
  ans = CSPL_Stats_std(data1, 11);
  printf("CSPL_Stats_std=%lf, %lf\n", ans, std_ans);
  {
    if ((fabs((ans) - (std_ans)) < (1e-4)) == 0)
      return (1);
  };
  ans = CSPL_Stats_variance(data1, 11);
  printf("CSPL_Stats_variance=%lf, %lf\n", ans, variance_ans);
  {
    if ((fabs((ans) - (variance_ans)) < (1e-4)) == 0)
      return (1);
  };
  ans = CSPL_Stats_geometric_mean(data1, 11);
  printf("CSPL_Stats_geometric_mean=%lf, %lf\n", ans, geo_ans);
  {
    if ((fabs((ans) - (geo_ans)) < (1e-4)) == 0)
      return (1);
  };
  {
    double data[5] = {2, 3.4, 5.6, 4.5, 3.1};
    double outval[5];
    double answer[5] = {0.2, 0.4, 0.6, 0.8, 1.0};
    long i;
    CSPL_Stats_tCDF(data, outval, 5);
    for (i = 0; i < 5; i++) {
      {
        if ((fabs((outval[i]) - (answer[i])) < (1e-5)) == 0)
          return (1);
      };
    }
  }
  {
    double data[5] = {0.2, 0.4, 0.6, 0.8, 1.0};
    double outval1[5];
    double outval2[5];
    double answer1[5] = {0.0, 0.0, 0.0, 0.072105, 0.272105};
    double answer2[5] = {0.927895, 1.0, 1.0, 1.0, 1.0};
    long i;
    CSPL_Stats_tCDF_confidence_bands(data, outval1, outval2, 0.01, 5);
    for (i = 0; i < 5; i++) {
      {
        if ((fabs((outval1[i]) - (answer1[i])) < (1e-5)) == 0)
          return (1);
      };
      {
        if ((fabs((outval2[i]) - (answer2[i])) < (1e-5)) == 0)
          return (1);
      };
    }
  }
  {
    double data[5] = {0.2, 0.4, 0.6, 0.8, 1.0};
    printf("CSPL_Stats_percentile %lf\n", CSPL_Stats_percentile(data, 20, 5));
    {
      if ((fabs((CSPL_Stats_percentile(data, 20, 5)) - (0.300000)) < (1e-5)) == 0)
        return (1);
    };
    printf("CSPL_Stats_percentile %lf\n", CSPL_Stats_percentile(data, 25, 5));
    {
      if ((fabs((CSPL_Stats_percentile(data, 25, 5)) - (0.350000)) < (1e-5)) == 0)
        return (1);
    };
    printf("CSPL_Stats_percentile %lf\n", CSPL_Stats_percentile(data, 40, 5));
    {
      if ((fabs((CSPL_Stats_percentile(data, 40, 5)) - (0.500000)) < (1e-5)) == 0)
        return (1);
    };
    printf("CSPL_Stats_percentile %lf\n", CSPL_Stats_percentile(data, 50, 5));
    {
      if ((fabs((CSPL_Stats_percentile(data, 50, 5)) - (0.600000)) < (1e-5)) == 0)
        return (1);
    };
    printf("CSPL_Stats_percentile %lf\n", CSPL_Stats_percentile(data, 60, 5));
    {
      if ((fabs((CSPL_Stats_percentile(data, 60, 5)) - (0.700000)) < (1e-5)) == 0)
        return (1);
    };
    printf("CSPL_Stats_percentile %lf\n", CSPL_Stats_percentile(data, 82, 5));
    {
      if ((fabs((CSPL_Stats_percentile(data, 82, 5)) - (0.920000)) < (1e-5)) == 0)
        return (1);
    };
    {
      if ((fabs((CSPL_Stats_percentile(data, 50, 5)) - (CSPL_Stats_median_sort(data, 5))) < (1e-5)) == 0)
        return (1);
    };
  }
  {
    long N = 11;
    long n;
    double answer[11] = {4.545455, 13.636364, 22.727273, 31.818182, 40.909091, 50.000000, 59.090909, 68.181818, 77.272727, 86.363636, 95.454545};
    for (n = 0; n < N; n++) {
      printf("CSPL_Stats_percent_rank %ld, %ld, %lf\n", n, N, CSPL_Stats_percent_rank(n, N));
      {
        if ((fabs((CSPL_Stats_percent_rank(n, N)) - (answer[n])) < (1e-5)) == 0)
          return (1);
      };
    }
  }
  {
    unsigned long ans[30] = {1, 0, 0, 3, 1, 0, 6, 4, 1, 10, 10, 5, 15, 20, 15, 21, 35, 35, 28, 56, 70, 36, 84, 126, 45, 120, 210};
    unsigned long N[10] = {2, 3, 4, 5, 6, 7, 8, 9, 10};
    unsigned long k[3] = {2, 3, 4};
    unsigned long NN, kk, val, tmp = 0;
    for (NN = 0; NN < 10; NN++) {
      for (kk = 0; kk < 3; kk++) {
        val = CSPL_Stats_combination(N[NN], k[kk]);
        printf("CSPL_Stats_combination(%ld, %ld)=%ld -> %ld\n", N[NN], k[kk], val, ans[tmp]);
        {
          if (val != ans[tmp])
            return (1);
        };
        tmp++;
      }
    }
  }
  return (0);
}
```