user: What would the C source look like for the assembly code provided here:

```asm
<main>:
  endbr64
  push   %r15
  mov    $0xb,%esi
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x278,%rsp
  movsd  D965(%rip),%xmm0
  mov    %fs:0x28,%rax
  mov    %rax,0x268(%rsp)
  xor    %eax,%eax
  mov    D572(%rip),%rax
  lea    0x110(%rsp),%rbp
  movsd  %xmm0,0x118(%rsp)
  mov    %rbp,%rdi
  mov    %rax,0x110(%rsp)
  mov    D194(%rip),%rax
  movsd  %xmm0,0x150(%rsp)
  mov    %rax,0x120(%rsp)
  mov    D1041(%rip),%rax
  mov    %rax,0x128(%rsp)
  mov    D846(%rip),%rax
  mov    %rax,0x130(%rsp)
  mov    D443(%rip),%rax
  mov    %rax,0x138(%rsp)
  mov    D894(%rip),%rax
  mov    %rax,0x140(%rsp)
  mov    D956(%rip),%rax
  mov    %rax,0x148(%rsp)
  mov    D28(%rip),%rax
  mov    %rax,0x158(%rsp)
  mov    D659(%rip),%rax
  mov    %rax,0x160(%rsp)
  xor    %eax,%eax
  call   <CSPL_Stats_skew@plt>
  pxor   %xmm0,%xmm0
  movsd  D288(%rip),%xmm1
  lea    D348(%rip),%rdi
  cvtsi2sd %eax,%xmm0
  mov    $0x2,%eax
  movsd  %xmm0,0x8(%rsp)
  call   <printf@plt>
  movsd  0x8(%rsp),%xmm0
  addsd  D169(%rip),%xmm0
  movq   D673(%rip),%xmm2
  movsd  D402(%rip),%xmm3
  andpd  %xmm2,%xmm0
  comisd %xmm0,%xmm3
  ja     L256
L51:
  mov    $0x1,%eax
L262:
  mov    0x268(%rsp),%rdx
  sub    %fs:0x28,%rdx
  jne    L39
  add    $0x278,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
L256:
  mov    $0xb,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  call   <CSPL_Stats_kurtosis@plt>
  pxor   %xmm0,%xmm0
  movsd  D914(%rip),%xmm1
  lea    D1002(%rip),%rdi
  cvtsi2sd %eax,%xmm0
  mov    $0x2,%eax
  movsd  %xmm0,0x8(%rsp)
  call   <printf@plt>
  movsd  0x8(%rsp),%xmm0
  addsd  D630(%rip),%xmm0
  movq   D673(%rip),%xmm2
  movsd  D402(%rip),%xmm4
  andpd  %xmm2,%xmm0
  comisd %xmm0,%xmm4
  jbe    L51
  mov    $0xb,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  call   <CSPL_Stats_mean@plt>
  pxor   %xmm0,%xmm0
  lea    D789(%rip),%rdi
  cvtsi2sd %eax,%xmm0
  mov    D290(%rip),%rax
  movq   %rax,%xmm1
  mov    $0x2,%eax
  movsd  %xmm0,0x8(%rsp)
  call   <printf@plt>
  movsd  0x8(%rsp),%xmm0
  subsd  D290(%rip),%xmm0
  movq   D673(%rip),%xmm2
  movsd  D402(%rip),%xmm5
  andpd  %xmm2,%xmm0
  comisd %xmm0,%xmm5
  jbe    L51
  mov    $0xb,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  call   <CSPL_Stats_median_sort@plt>
  pxor   %xmm0,%xmm0
  lea    D517(%rip),%rdi
  cvtsi2sd %eax,%xmm0
  mov    D443(%rip),%rax
  movq   %rax,%xmm1
  mov    $0x2,%eax
  movsd  %xmm0,0x8(%rsp)
  call   <printf@plt>
  movsd  0x8(%rsp),%xmm0
  subsd  D443(%rip),%xmm0
  movq   D673(%rip),%xmm2
  movsd  D402(%rip),%xmm6
  andpd  %xmm2,%xmm0
  comisd %xmm0,%xmm6
  jbe    L51
  mov    $0xb,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  call   <CSPL_Stats_median_quickselect@plt>
  pxor   %xmm0,%xmm0
  lea    D796(%rip),%rdi
  cvtsi2sd %eax,%xmm0
  mov    D443(%rip),%rax
  movq   %rax,%xmm1
  mov    $0x2,%eax
  movsd  %xmm0,0x8(%rsp)
  call   <printf@plt>
  movsd  0x8(%rsp),%xmm0
  subsd  D443(%rip),%xmm0
  movq   D673(%rip),%xmm2
  movsd  D402(%rip),%xmm7
  andpd  %xmm2,%xmm0
  comisd %xmm0,%xmm7
  jbe    L51
  mov    $0xb,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  call   <CSPL_Stats_median_sort@plt>
  mov    $0xb,%esi
  mov    %rbp,%rdi
  mov    %eax,%ebx
  xor    %eax,%eax
  call   <CSPL_Stats_median_quickselect@plt>
  pxor   %xmm0,%xmm0
  movq   D673(%rip),%xmm2
  movsd  D402(%rip),%xmm7
  sub    %eax,%ebx
  cvtsi2sd %ebx,%xmm0
  andpd  %xmm2,%xmm0
  comisd %xmm0,%xmm7
  jbe    L51
  mov    $0xb,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  call   <CSPL_Stats_std@plt>
  pxor   %xmm0,%xmm0
  lea    D163(%rip),%rdi
  cvtsi2sd %eax,%xmm0
  mov    D498(%rip),%rax
  movq   %rax,%xmm1
  mov    $0x2,%eax
  movsd  %xmm0,0x8(%rsp)
  call   <printf@plt>
  movsd  0x8(%rsp),%xmm0
  subsd  D498(%rip),%xmm0
  movq   D673(%rip),%xmm2
  movsd  D402(%rip),%xmm7
  andpd  %xmm2,%xmm0
  comisd %xmm0,%xmm7
  jbe    L51
  mov    $0xb,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  call   <CSPL_Stats_variance@plt>
  pxor   %xmm0,%xmm0
  lea    D592(%rip),%rdi
  cvtsi2sd %eax,%xmm0
  mov    D250(%rip),%rax
  movq   %rax,%xmm1
  mov    $0x2,%eax
  movsd  %xmm0,0x8(%rsp)
  call   <printf@plt>
  movsd  0x8(%rsp),%xmm0
  subsd  D250(%rip),%xmm0
  movq   D673(%rip),%xmm2
  movsd  D402(%rip),%xmm7
  andpd  %xmm2,%xmm0
  comisd %xmm0,%xmm7
  jbe    L51
  mov    $0xb,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  call   <CSPL_Stats_geometric_mean@plt>
  pxor   %xmm0,%xmm0
  lea    D1009(%rip),%rdi
  cvtsi2sd %eax,%xmm0
  mov    D766(%rip),%rax
  movq   %rax,%xmm1
  mov    $0x2,%eax
  movsd  %xmm0,0x8(%rsp)
  call   <printf@plt>
  movsd  0x8(%rsp),%xmm0
  subsd  D766(%rip),%xmm0
  movq   D673(%rip),%xmm2
  movsd  D402(%rip),%xmm7
  andpd  %xmm2,%xmm0
  comisd %xmm0,%xmm7
  jbe    L51
  mov    D43(%rip),%rax
  lea    0xc0(%rsp),%rbp
  lea    0x90(%rsp),%r12
  mov    $0x5,%edx
  mov    %rbp,%rsi
  mov    %r12,%rdi
  lea    0x170(%rsp),%rbx
  mov    %rax,0x90(%rsp)
  mov    D1054(%rip),%rax
  mov    %rax,0x98(%rsp)
  mov    D419(%rip),%rax
  mov    %rax,0xa0(%rsp)
  mov    D1068(%rip),%rax
  mov    %rax,0xa8(%rsp)
  mov    D245(%rip),%rax
  mov    %rax,0xb0(%rsp)
  mov    D303(%rip),%rax
  mov    %rax,0x170(%rsp)
  mov    D7(%rip),%rax
  mov    %rax,0x178(%rsp)
  mov    D975(%rip),%rax
  mov    %rax,0x180(%rsp)
  mov    D844(%rip),%rax
  mov    %rax,0x188(%rsp)
  mov    D28(%rip),%rax
  mov    %rax,0x190(%rsp)
  xor    %eax,%eax
  call   <CSPL_Stats_tCDF@plt>
  movsd  D769(%rip),%xmm1
  movq   D673(%rip),%xmm2
  xor    %eax,%eax
L267:
  movsd  0x0(%rbp,%rax,8),%xmm0
  subsd  (%rbx,%rax,8),%xmm0
  andpd  %xmm2,%xmm0
  comisd %xmm0,%xmm1
  jbe    L51
  add    $0x1,%rax
  cmp    $0x5,%rax
  jne    L267
  mov    D303(%rip),%rax
  movsd  D149(%rip),%xmm0
  lea    0x60(%rsp),%r13
  mov    %r12,%rdx
  mov    $0x5,%ecx
  mov    %r13,%rsi
  lea    0x30(%rsp),%rdi
  movq   $0x0,0xc0(%rsp)
  mov    %rax,0x30(%rsp)
  mov    D7(%rip),%rax
  movq   $0x0,0xc8(%rsp)
  mov    %rax,0x38(%rsp)
  mov    D975(%rip),%rax
  movq   $0x0,0xd0(%rsp)
  mov    %rax,0x40(%rsp)
  mov    D844(%rip),%rax
  mov    %rax,0x48(%rsp)
  mov    D28(%rip),%rax
  mov    %rax,0x50(%rsp)
  mov    D1146(%rip),%rax
  mov    %rax,0xd8(%rsp)
  mov    D110(%rip),%rax
  mov    %rax,0xe0(%rsp)
  mov    D1043(%rip),%rax
  mov    %rax,0x170(%rsp)
  mov    D28(%rip),%rax
  mov    %rax,0x178(%rsp)
  mov    %rax,0x180(%rsp)
  mov    %rax,0x188(%rsp)
  mov    %rax,0x190(%rsp)
  mov    $0x1,%eax
  call   <CSPL_Stats_tCDF_confidence_bands@plt>
  mov    D769(%rip),%rcx
  movq   D673(%rip),%xmm2
  xor    %eax,%eax
  movq   %rcx,%xmm1
L144:
  movsd  0x0(%r13,%rax,8),%xmm0
  subsd  0x0(%rbp,%rax,8),%xmm0
  andpd  %xmm2,%xmm0
  comisd %xmm0,%xmm1
  jbe    L51
  movsd  (%r12,%rax,8),%xmm0
  subsd  (%rbx,%rax,8),%xmm0
  andpd  %xmm2,%xmm0
  comisd %xmm0,%xmm1
  jbe    L51
  add    $0x1,%rax
  cmp    $0x5,%rax
  jne    L144
  mov    D303(%rip),%rax
  mov    $0x5,%edx
  mov    $0x14,%esi
  mov    %rbx,%rdi
  lea    D1143(%rip),%r13
  mov    %rax,0x170(%rsp)
  mov    D7(%rip),%rax
  mov    %rax,0x178(%rsp)
  mov    D975(%rip),%rax
  mov    %rax,0x180(%rsp)
  mov    D844(%rip),%rax
  mov    %rax,0x188(%rsp)
  mov    D28(%rip),%rax
  mov    %rax,0x190(%rsp)
  xor    %eax,%eax
  call   <CSPL_Stats_percentile@plt>
  mov    %r13,%rdi
  mov    %eax,%esi
  xor    %eax,%eax
  call   <printf@plt>
  xor    %eax,%eax
  mov    $0x5,%edx
  mov    %rbx,%rdi
  mov    $0x14,%esi
  call   <CSPL_Stats_percentile@plt>
  pxor   %xmm0,%xmm0
  movq   D673(%rip),%xmm2
  cvtsi2sd %eax,%xmm0
  subsd  D632(%rip),%xmm0
  mov    D769(%rip),%rax
  movq   %rax,%xmm1
  andpd  %xmm2,%xmm0
  comisd %xmm0,%xmm1
  jbe    L51
  mov    $0x5,%edx
  mov    $0x19,%esi
  mov    %rbx,%rdi
  xor    %eax,%eax
  call   <CSPL_Stats_percentile@plt>
  mov    %r13,%rdi
  mov    %eax,%esi
  xor    %eax,%eax
  call   <printf@plt>
  xor    %eax,%eax
  mov    $0x5,%edx
  mov    %rbx,%rdi
  mov    $0x19,%esi
  call   <CSPL_Stats_percentile@plt>
  pxor   %xmm0,%xmm0
  movq   D673(%rip),%xmm2
  cvtsi2sd %eax,%xmm0
  subsd  D387(%rip),%xmm0
  mov    D769(%rip),%rax
  movq   %rax,%xmm1
  andpd  %xmm2,%xmm0
  comisd %xmm0,%xmm1
  jbe    L51
  mov    $0x5,%edx
  mov    $0x28,%esi
  mov    %rbx,%rdi
  xor    %eax,%eax
  call   <CSPL_Stats_percentile@plt>
  mov    %r13,%rdi
  mov    %eax,%esi
  xor    %eax,%eax
  call   <printf@plt>
  xor    %eax,%eax
  mov    $0x5,%edx
  mov    %rbx,%rdi
  mov    $0x28,%esi
  call   <CSPL_Stats_percentile@plt>
  pxor   %xmm0,%xmm0
  movq   D673(%rip),%xmm2
  cvtsi2sd %eax,%xmm0
  subsd  D122(%rip),%xmm0
  mov    D769(%rip),%rax
  movq   %rax,%xmm1
  andpd  %xmm2,%xmm0
  comisd %xmm0,%xmm1
  jbe    L51
  mov    $0x5,%edx
  mov    $0x32,%esi
  mov    %rbx,%rdi
  xor    %eax,%eax
  call   <CSPL_Stats_percentile@plt>
  mov    %r13,%rdi
  mov    %eax,%esi
  xor    %eax,%eax
  call   <printf@plt>
  xor    %eax,%eax
  mov    $0x5,%edx
  mov    %rbx,%rdi
  mov    $0x32,%esi
  call   <CSPL_Stats_percentile@plt>
  pxor   %xmm0,%xmm0
  movq   D673(%rip),%xmm2
  cvtsi2sd %eax,%xmm0
  subsd  D975(%rip),%xmm0
  mov    D769(%rip),%rax
  movq   %rax,%xmm1
  andpd  %xmm2,%xmm0
  comisd %xmm0,%xmm1
  jbe    L51
  mov    $0x5,%edx
  mov    $0x3c,%esi
  mov    %rbx,%rdi
  xor    %eax,%eax
  call   <CSPL_Stats_percentile@plt>
  mov    %r13,%rdi
  mov    %eax,%esi
  xor    %eax,%eax
  call   <printf@plt>
  xor    %eax,%eax
  mov    $0x5,%edx
  mov    %rbx,%rdi
  mov    $0x3c,%esi
  call   <CSPL_Stats_percentile@plt>
  pxor   %xmm0,%xmm0
  movq   D673(%rip),%xmm2
  cvtsi2sd %eax,%xmm0
  subsd  D435(%rip),%xmm0
  mov    D769(%rip),%rax
  movq   %rax,%xmm1
  andpd  %xmm2,%xmm0
  comisd %xmm0,%xmm1
  jbe    L51
  mov    $0x5,%edx
  mov    $0x52,%esi
  mov    %rbx,%rdi
  xor    %eax,%eax
  call   <CSPL_Stats_percentile@plt>
  mov    %r13,%rdi
  mov    %eax,%esi
  xor    %eax,%eax
  call   <printf@plt>
  xor    %eax,%eax
  mov    $0x5,%edx
  mov    %rbx,%rdi
  mov    $0x52,%esi
  call   <CSPL_Stats_percentile@plt>
  pxor   %xmm0,%xmm0
  movq   D673(%rip),%xmm2
  cvtsi2sd %eax,%xmm0
  subsd  D1129(%rip),%xmm0
  mov    D769(%rip),%rax
  movq   %rax,%xmm1
  andpd  %xmm2,%xmm0
  comisd %xmm0,%xmm1
  jbe    L51
  mov    $0x5,%edx
  mov    $0x32,%esi
  mov    %rbx,%rdi
  xor    %eax,%eax
  call   <CSPL_Stats_percentile@plt>
  mov    $0x5,%esi
  mov    %rbx,%rdi
  mov    %eax,%r13d
  xor    %eax,%eax
  call   <CSPL_Stats_median_sort@plt>
  pxor   %xmm0,%xmm0
  movq   D673(%rip),%xmm2
  sub    %eax,%r13d
  mov    D769(%rip),%rax
  cvtsi2sd %r13d,%xmm0
  movq   %rax,%xmm1
  andpd  %xmm2,%xmm0
  comisd %xmm0,%xmm1
  jbe    L51
  mov    D243(%rip),%rax
  xor    %r13d,%r13d
  lea    D989(%rip),%r14
  mov    %rax,0x170(%rsp)
  mov    D438(%rip),%rax
  mov    %rax,0x178(%rsp)
  mov    D263(%rip),%rax
  mov    %rax,0x180(%rsp)
  mov    D290(%rip),%rax
  mov    %rax,0x188(%rsp)
  mov    D1076(%rip),%rax
  mov    %rax,0x190(%rsp)
  mov    D846(%rip),%rax
  mov    %rax,0x198(%rsp)
  mov    D620(%rip),%rax
  mov    %rax,0x1a0(%rsp)
  mov    D1136(%rip),%rax
  mov    %rax,0x1a8(%rsp)
  mov    D413(%rip),%rax
  mov    %rax,0x1b0(%rsp)
  mov    D252(%rip),%rax
  mov    %rax,0x1b8(%rsp)
  mov    D66(%rip),%rax
  mov    %rax,0x1c0(%rsp)
L94:
  mov    $0xb,%esi
  mov    %r13,%rdi
  xor    %eax,%eax
  call   <CSPL_Stats_percent_rank@plt>
  mov    $0xb,%edx
  mov    %r13,%rsi
  mov    %r14,%rdi
  mov    %eax,%ecx
  xor    %eax,%eax
  call   <printf@plt>
  xor    %eax,%eax
  mov    $0xb,%esi
  mov    %r13,%rdi
  call   <CSPL_Stats_percent_rank@plt>
  pxor   %xmm0,%xmm0
  movq   D673(%rip),%xmm2
  cvtsi2sd %eax,%xmm0
  subsd  (%rbx,%r13,8),%xmm0
  mov    D769(%rip),%rax
  movq   %rax,%xmm1
  andpd  %xmm2,%xmm0
  comisd %xmm0,%xmm1
  jbe    L51
  add    $0x1,%r13
  cmp    $0xb,%r13
  jne    L94
  lea    0x178(%rsp),%rdi
  xor    %eax,%eax
  xor    %r14d,%r14d
  xor    %r13d,%r13d
  mov    $0x3a,%ecx
  movq   $0x0,0x108(%rsp)
  lea    D440(%rip),%r15
  rep stos %eax,%es:(%rdi)
  movq   $0x2,0xc0(%rsp)
  movq   $0x1,0x170(%rsp)
  movq   $0x3,0x188(%rsp)
  movq   $0x1,0x190(%rsp)
  movq   $0x6,0x1a0(%rsp)
  movq   $0x4,0x1a8(%rsp)
  movq   $0x1,0x1b0(%rsp)
  movq   $0xa,0x1b8(%rsp)
  movq   $0xa,0x1c0(%rsp)
  movq   $0x5,0x1c8(%rsp)
  movq   $0xf,0x1d0(%rsp)
  movq   $0x14,0x1d8(%rsp)
  movq   $0xf,0x1e0(%rsp)
  movq   $0x15,0x1e8(%rsp)
  movq   $0x23,0x1f0(%rsp)
  movq   $0x23,0x1f8(%rsp)
  movq   $0x1c,0x200(%rsp)
  movq   $0x38,0x208(%rsp)
  movq   $0x46,0x210(%rsp)
  movq   $0x24,0x218(%rsp)
  movq   $0x54,0x220(%rsp)
  movq   $0x7e,0x228(%rsp)
  movq   $0x2d,0x230(%rsp)
  movq   $0x78,0x238(%rsp)
  movq   $0xd2,0x240(%rsp)
  movq   $0x3,0xc8(%rsp)
  movq   $0x4,0xd0(%rsp)
  movq   $0x5,0xd8(%rsp)
  movq   $0x6,0xe0(%rsp)
  movq   $0x7,0xe8(%rsp)
  movq   $0x8,0xf0(%rsp)
  movq   $0x9,0xf8(%rsp)
  movq   $0xa,0x100(%rsp)
  movq   $0x2,0x90(%rsp)
  movq   $0x3,0x98(%rsp)
  movq   $0x4,0xa0(%rsp)
L41:
  xor    %r9d,%r9d
L118:
  mov    (%r12,%r9,8),%rdx
  mov    0x0(%rbp,%r13,8),%r10
  xor    %eax,%eax
  mov    %r9,0x28(%rsp)
  mov    %rdx,%rsi
  mov    %r10,%rdi
  mov    %rdx,0x20(%rsp)
  mov    %r10,0x18(%rsp)
  call   <CSPL_Stats_combination@plt>
  mov    (%rbx,%r14,8),%r8
  mov    0x20(%rsp),%rdx
  mov    %r15,%rdi
  mov    0x18(%rsp),%rsi
  movslq %eax,%rcx
  xor    %eax,%eax
  mov    %r8,0x10(%rsp)
  mov    %rcx,0x8(%rsp)
  call   <printf@plt>
  mov    0x8(%rsp),%rcx
  mov    0x10(%rsp),%r8
  mov    0x28(%rsp),%r9
  cmp    %rcx,%r8
  jne    L51
  add    $0x1,%r9
  add    $0x1,%r14
  cmp    $0x3,%r9
  jne    L118
  add    $0x1,%r13
  cmp    $0xa,%r13
  jne    L41
  xor    %eax,%eax
  jmp    L262
L39:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: unpack_data
arguments: label: D965
datatype: f32[2]
name: unpack_data
arguments: label: D572
datatype: f32[2]
name: unpack_data
arguments: label: D194
datatype: f32[2]
name: unpack_data
arguments: label: D1041
datatype: f32[2]
name: unpack_data
arguments: label: D846
datatype: f64
name: unpack_data
arguments: label: D443
datatype: f64
name: unpack_data
arguments: label: D894
datatype: f32[2]
name: unpack_data
arguments: label: D956
datatype: f32[2]
name: unpack_data
arguments: label: D28
datatype: f64
name: unpack_data
arguments: label: D659
datatype: f32[2]
name: unpack_data
arguments: label: D288
datatype: byte[8]
name: unpack_data
arguments: label: D348
datatype: string
name: unpack_data
arguments: label: D169
datatype: f64
name: unpack_data
arguments: label: D673
datatype: qword
name: unpack_data
arguments: label: D402
datatype: byte[8]
name: unpack_data
arguments: label: D914
datatype: byte[8]
name: unpack_data
arguments: label: D1002
datatype: string
name: unpack_data
arguments: label: D630
datatype: f64
name: unpack_data
arguments: label: D789
datatype: string
name: unpack_data
arguments: label: D290
datatype: f64
name: unpack_data
arguments: label: D517
datatype: string
name: unpack_data
arguments: label: D796
datatype: string
name: unpack_data
arguments: label: D163
datatype: string
name: unpack_data
arguments: label: D498
datatype: f64
name: unpack_data
arguments: label: D592
datatype: string
name: unpack_data
arguments: label: D250
datatype: f64
name: unpack_data
arguments: label: D1009
datatype: string
name: unpack_data
arguments: label: D766
datatype: f64
name: unpack_data
arguments: label: D43
datatype: f32[2]
name: unpack_data
arguments: label: D1054
datatype: f64
name: unpack_data
arguments: label: D419
datatype: f64
name: unpack_data
arguments: label: D1068
datatype: f64
name: unpack_data
arguments: label: D245
datatype: f64
name: unpack_data
arguments: label: D303
datatype: f64
name: unpack_data
arguments: label: D7
datatype: f64
name: unpack_data
arguments: label: D975
datatype: f64
name: unpack_data
arguments: label: D844
datatype: f64
name: unpack_data
arguments: label: D769
datatype: byte[8]
name: unpack_data
arguments: label: D149
datatype: f64
name: unpack_data
arguments: label: D1146
datatype: f64
name: unpack_data
arguments: label: D110
datatype: f64
name: unpack_data
arguments: label: D1043
datatype: f64
name: unpack_data
arguments: label: D1143
datatype: string
name: unpack_data
arguments: label: D632
datatype: f64
name: unpack_data
arguments: label: D387
datatype: f64
name: unpack_data
arguments: label: D122
datatype: f64
name: unpack_data
arguments: label: D435
datatype: f64
name: unpack_data
arguments: label: D1129
datatype: f64
name: unpack_data
arguments: label: D243
datatype: f64
name: unpack_data
arguments: label: D989
datatype: string
name: unpack_data
arguments: label: D438
datatype: f64
name: unpack_data
arguments: label: D263
datatype: f64
name: unpack_data
arguments: label: D1076
datatype: f64
name: unpack_data
arguments: label: D620
datatype: f64
name: unpack_data
arguments: label: D1136
datatype: f64
name: unpack_data
arguments: label: D413
datatype: f64
name: unpack_data
arguments: label: D252
datatype: f64
name: unpack_data
arguments: label: D66
datatype: f64
name: unpack_data
arguments: label: D440
datatype: string

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

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

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

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

tool: D846: 50

tool: D443: 34

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

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

tool: D28: 1

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

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

tool: D348: CSPL_Stats_skew=%lf, %lf


tool: D169: 0.1317

tool: D673: 9223372036854775807

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

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

tool: D1002: CSPL_Stats_kurtosis=%lf, %lf


tool: D630: 0.576756

tool: D789: CSPL_Stats_mean=%lf, %lf


tool: D290: 31.818182

tool: D517: CSPL_Stats_median_sort=%lf, %lf


tool: D796: CSPL_Stats_median_quickselect=%lf, %lf


tool: D163: CSPL_Stats_std=%lf, %lf


tool: D498: 16.078321

tool: D592: CSPL_Stats_variance=%lf, %lf


tool: D250: 258.512397

tool: D1009: CSPL_Stats_geometric_mean=%lf, %lf


tool: D766: 23.44964

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

tool: D1054: 3.4

tool: D419: 5.6

tool: D1068: 4.5

tool: D245: 3.1

tool: D303: 0.2

tool: D7: 0.4

tool: D975: 0.6

tool: D844: 0.8

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

tool: D149: 0.01

tool: D1146: 0.072105

tool: D110: 0.272105

tool: D1043: 0.927895

tool: D1143: CSPL_Stats_percentile %lf


tool: D632: 0.3

tool: D387: 0.35

tool: D122: 0.5

tool: D435: 0.7

tool: D1129: 0.92

tool: D243: 4.545455

tool: D989: CSPL_Stats_percent_rank %ld, %ld, %lf


tool: D438: 13.636364

tool: D263: 22.727273

tool: D1076: 40.909091

tool: D620: 59.090909

tool: D1136: 68.181818

tool: D413: 77.272727

tool: D252: 86.363636

tool: D66: 95.454545

tool: D440: 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);
}
```