user: 提供的汇编代码用C语言表示会是什么样子:

```asm
<main>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x220,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  movsd  D889(%rip),%xmm0
  movsd  %xmm0,-0x110(%rbp)
  movsd  D1241(%rip),%xmm0
  movsd  %xmm0,-0x108(%rbp)
  movsd  D1003(%rip),%xmm0
  movsd  %xmm0,-0x100(%rbp)
  movsd  D2165(%rip),%xmm0
  movsd  %xmm0,-0xf8(%rbp)
  movsd  D1354(%rip),%xmm0
  movsd  %xmm0,-0xf0(%rbp)
  movsd  D2165(%rip),%xmm0
  movsd  %xmm0,-0xe0(%rbp)
  movsd  D1893(%rip),%xmm0
  movsd  %xmm0,-0xd8(%rbp)
  movsd  D1241(%rip),%xmm0
  movsd  %xmm0,-0xd0(%rbp)
  movsd  D1107(%rip),%xmm0
  movsd  %xmm0,-0xc8(%rbp)
  movsd  D2165(%rip),%xmm0
  movsd  %xmm0,-0xc0(%rbp)
  movsd  D1826(%rip),%xmm0
  movsd  %xmm0,-0xb0(%rbp)
  movsd  D2118(%rip),%xmm0
  movsd  %xmm0,-0xa8(%rbp)
  movsd  D2101(%rip),%xmm0
  movsd  %xmm0,-0xa0(%rbp)
  movsd  D1471(%rip),%xmm0
  movsd  %xmm0,-0x98(%rbp)
  movsd  D542(%rip),%xmm0
  movsd  %xmm0,-0x90(%rbp)
  movq   $0x0,-0x210(%rbp)
  jmp    L553
L534:
  mov    -0x210(%rbp),%rax
  movsd  -0x110(%rbp,%rax,8),%xmm1
  mov    -0x210(%rbp),%rax
  movsd  -0xe0(%rbp,%rax,8),%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x210(%rbp),%rax
  movsd  %xmm0,-0x60(%rbp,%rax,8)
  addq   $0x1,-0x210(%rbp)
L553:
  cmpq   $0x4,-0x210(%rbp)
  jle    L534
  movq   $0x0,-0x218(%rbp)
  jmp    L810
L673:
  mov    -0x218(%rbp),%rax
  movsd  -0xb0(%rbp,%rax,8),%xmm0
  mov    -0x218(%rbp),%rax
  mov    -0x60(%rbp,%rax,8),%rdx
  mov    -0x218(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rdx,%xmm0
  mov    %rax,%rsi
  lea    D506(%rip),%rax
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  mov    -0x218(%rbp),%rax
  movsd  -0x60(%rbp,%rax,8),%xmm0
  mov    -0x218(%rbp),%rax
  movsd  -0xb0(%rbp,%rax,8),%xmm1
  subsd  %xmm1,%xmm0
  movq   D1234(%rip),%xmm1
  andpd  %xmm0,%xmm1
  movsd  D128(%rip),%xmm0
  comisd %xmm1,%xmm0
  seta   %al
  xor    $0x1,%eax
  test   %al,%al
  je     L692
  mov    $0x1,%eax
  jmp    L635
L692:
  addq   $0x1,-0x218(%rbp)
L810:
  cmpq   $0x4,-0x218(%rbp)
  jle    L673
  movsd  D889(%rip),%xmm0
  movsd  %xmm0,-0x110(%rbp)
  movsd  D1241(%rip),%xmm0
  movsd  %xmm0,-0x108(%rbp)
  movsd  D1003(%rip),%xmm0
  movsd  %xmm0,-0x100(%rbp)
  movsd  D2165(%rip),%xmm0
  movsd  %xmm0,-0xf8(%rbp)
  movsd  D1354(%rip),%xmm0
  movsd  %xmm0,-0xf0(%rbp)
  movsd  D2165(%rip),%xmm0
  movsd  %xmm0,-0xe0(%rbp)
  movsd  D1893(%rip),%xmm0
  movsd  %xmm0,-0xd8(%rbp)
  movsd  D1241(%rip),%xmm0
  movsd  %xmm0,-0xd0(%rbp)
  movsd  D1107(%rip),%xmm0
  movsd  %xmm0,-0xc8(%rbp)
  movsd  D2165(%rip),%xmm0
  movsd  %xmm0,-0xc0(%rbp)
  movsd  D876(%rip),%xmm0
  movsd  %xmm0,-0xb0(%rbp)
  movsd  D40(%rip),%xmm0
  movsd  %xmm0,-0xa8(%rbp)
  movsd  D152(%rip),%xmm0
  movsd  %xmm0,-0xa0(%rbp)
  movsd  D1019(%rip),%xmm0
  movsd  %xmm0,-0x98(%rbp)
  movsd  D970(%rip),%xmm0
  movsd  %xmm0,-0x90(%rbp)
  movq   $0x0,-0x200(%rbp)
  jmp    L29
L350:
  mov    -0x200(%rbp),%rax
  movsd  -0x110(%rbp,%rax,8),%xmm0
  mov    -0x200(%rbp),%rax
  movsd  -0xe0(%rbp,%rax,8),%xmm1
  subsd  %xmm1,%xmm0
  mov    -0x200(%rbp),%rax
  movsd  %xmm0,-0x60(%rbp,%rax,8)
  addq   $0x1,-0x200(%rbp)
L29:
  cmpq   $0x4,-0x200(%rbp)
  jle    L350
  movq   $0x0,-0x208(%rbp)
  jmp    L455
L714:
  mov    -0x208(%rbp),%rax
  movsd  -0xb0(%rbp,%rax,8),%xmm0
  mov    -0x208(%rbp),%rax
  mov    -0x60(%rbp,%rax,8),%rdx
  mov    -0x208(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rdx,%xmm0
  mov    %rax,%rsi
  lea    D1741(%rip),%rax
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  mov    -0x208(%rbp),%rax
  movsd  -0x60(%rbp,%rax,8),%xmm0
  mov    -0x208(%rbp),%rax
  movsd  -0xb0(%rbp,%rax,8),%xmm1
  subsd  %xmm1,%xmm0
  movq   D1234(%rip),%xmm1
  andpd  %xmm0,%xmm1
  movsd  D128(%rip),%xmm0
  comisd %xmm1,%xmm0
  seta   %al
  xor    $0x1,%eax
  test   %al,%al
  je     L594
  mov    $0x1,%eax
  jmp    L635
L594:
  addq   $0x1,-0x208(%rbp)
L455:
  cmpq   $0x4,-0x208(%rbp)
  jle    L714
  movsd  D889(%rip),%xmm0
  movsd  %xmm0,-0x110(%rbp)
  movsd  D1241(%rip),%xmm0
  movsd  %xmm0,-0x108(%rbp)
  movsd  D1003(%rip),%xmm0
  movsd  %xmm0,-0x100(%rbp)
  movsd  D2165(%rip),%xmm0
  movsd  %xmm0,-0xf8(%rbp)
  movsd  D1354(%rip),%xmm0
  movsd  %xmm0,-0xf0(%rbp)
  movsd  D2165(%rip),%xmm0
  movsd  %xmm0,-0xe0(%rbp)
  movsd  D1893(%rip),%xmm0
  movsd  %xmm0,-0xd8(%rbp)
  movsd  D1241(%rip),%xmm0
  movsd  %xmm0,-0xd0(%rbp)
  movsd  D1107(%rip),%xmm0
  movsd  %xmm0,-0xc8(%rbp)
  movsd  D2165(%rip),%xmm0
  movsd  %xmm0,-0xc0(%rbp)
  movsd  D2101(%rip),%xmm0
  movsd  %xmm0,-0xb0(%rbp)
  movsd  D508(%rip),%xmm0
  movsd  %xmm0,-0xa8(%rbp)
  movsd  D974(%rip),%xmm0
  movsd  %xmm0,-0xa0(%rbp)
  movsd  D2165(%rip),%xmm0
  movsd  %xmm0,-0x98(%rbp)
  movsd  D1323(%rip),%xmm0
  movsd  %xmm0,-0x90(%rbp)
  movq   $0x0,-0x1f0(%rbp)
  jmp    L607
L722:
  mov    -0x1f0(%rbp),%rax
  movsd  -0x110(%rbp,%rax,8),%xmm1
  mov    -0x1f0(%rbp),%rax
  movsd  -0xe0(%rbp,%rax,8),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x1f0(%rbp),%rax
  movsd  %xmm0,-0x60(%rbp,%rax,8)
  addq   $0x1,-0x1f0(%rbp)
L607:
  cmpq   $0x4,-0x1f0(%rbp)
  jle    L722
  movq   $0x0,-0x1f8(%rbp)
  jmp    L104
L797:
  mov    -0x1f8(%rbp),%rax
  movsd  -0xb0(%rbp,%rax,8),%xmm0
  mov    -0x1f8(%rbp),%rax
  mov    -0x60(%rbp,%rax,8),%rdx
  mov    -0x1f8(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rdx,%xmm0
  mov    %rax,%rsi
  lea    D1542(%rip),%rax
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  mov    -0x1f8(%rbp),%rax
  movsd  -0x60(%rbp,%rax,8),%xmm0
  mov    -0x1f8(%rbp),%rax
  movsd  -0xb0(%rbp,%rax,8),%xmm1
  subsd  %xmm1,%xmm0
  movq   D1234(%rip),%xmm1
  andpd  %xmm0,%xmm1
  movsd  D128(%rip),%xmm0
  comisd %xmm1,%xmm0
  seta   %al
  xor    $0x1,%eax
  test   %al,%al
  je     L326
  mov    $0x1,%eax
  jmp    L635
L326:
  addq   $0x1,-0x1f8(%rbp)
L104:
  cmpq   $0x4,-0x1f8(%rbp)
  jle    L797
  movsd  D889(%rip),%xmm0
  movsd  %xmm0,-0x110(%rbp)
  movsd  D1241(%rip),%xmm0
  movsd  %xmm0,-0x108(%rbp)
  movsd  D1003(%rip),%xmm0
  movsd  %xmm0,-0x100(%rbp)
  movsd  D2165(%rip),%xmm0
  movsd  %xmm0,-0xf8(%rbp)
  movsd  D1354(%rip),%xmm0
  movsd  %xmm0,-0xf0(%rbp)
  movsd  D2165(%rip),%xmm0
  movsd  %xmm0,-0xe0(%rbp)
  movsd  D1893(%rip),%xmm0
  movsd  %xmm0,-0xd8(%rbp)
  movsd  D1241(%rip),%xmm0
  movsd  %xmm0,-0xd0(%rbp)
  movsd  D1107(%rip),%xmm0
  movsd  %xmm0,-0xc8(%rbp)
  movsd  D2165(%rip),%xmm0
  movsd  %xmm0,-0xc0(%rbp)
  movsd  D1666(%rip),%xmm0
  movsd  %xmm0,-0xb0(%rbp)
  movsd  D1290(%rip),%xmm0
  movsd  %xmm0,-0xa8(%rbp)
  movsd  D729(%rip),%xmm0
  movsd  %xmm0,-0xa0(%rbp)
  movsd  D2165(%rip),%xmm0
  movsd  %xmm0,-0x98(%rbp)
  movsd  D545(%rip),%xmm0
  movsd  %xmm0,-0x90(%rbp)
  movq   $0x0,-0x1e0(%rbp)
  jmp    L15
L245:
  mov    -0x1e0(%rbp),%rax
  movsd  -0x110(%rbp,%rax,8),%xmm0
  mov    -0x1e0(%rbp),%rax
  movsd  -0xe0(%rbp,%rax,8),%xmm1
  divsd  %xmm1,%xmm0
  mov    -0x1e0(%rbp),%rax
  movsd  %xmm0,-0x60(%rbp,%rax,8)
  addq   $0x1,-0x1e0(%rbp)
L15:
  cmpq   $0x4,-0x1e0(%rbp)
  jle    L245
  movq   $0x0,-0x1e8(%rbp)
  jmp    L570
L748:
  mov    -0x1e8(%rbp),%rax
  movsd  -0xb0(%rbp,%rax,8),%xmm0
  mov    -0x1e8(%rbp),%rax
  mov    -0x60(%rbp,%rax,8),%rdx
  mov    -0x1e8(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rdx,%xmm0
  mov    %rax,%rsi
  lea    D498(%rip),%rax
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  mov    -0x1e8(%rbp),%rax
  movsd  -0x60(%rbp,%rax,8),%xmm0
  mov    -0x1e8(%rbp),%rax
  movsd  -0xb0(%rbp,%rax,8),%xmm1
  subsd  %xmm1,%xmm0
  movq   D1234(%rip),%xmm1
  andpd  %xmm0,%xmm1
  movsd  D128(%rip),%xmm0
  comisd %xmm1,%xmm0
  seta   %al
  xor    $0x1,%eax
  test   %al,%al
  je     L800
  mov    $0x1,%eax
  jmp    L635
L800:
  addq   $0x1,-0x1e8(%rbp)
L570:
  cmpq   $0x4,-0x1e8(%rbp)
  jle    L748
  movsd  D889(%rip),%xmm0
  movsd  %xmm0,-0x60(%rbp)
  movsd  D1241(%rip),%xmm0
  movsd  %xmm0,-0x58(%rbp)
  movsd  D1003(%rip),%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  D2165(%rip),%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  D1354(%rip),%xmm0
  movsd  %xmm0,-0x40(%rbp)
  movsd  D889(%rip),%xmm0
  movsd  %xmm0,-0x1a0(%rbp)
  lea    -0x60(%rbp),%rax
  mov    $0x5,%esi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <CSPL_Array_min@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x198(%rbp)
  movsd  -0x198(%rbp),%xmm0
  subsd  -0x1a0(%rbp),%xmm0
  movq   D1234(%rip),%xmm1
  andpd  %xmm0,%xmm1
  movsd  D128(%rip),%xmm0
  comisd %xmm1,%xmm0
  seta   %al
  xor    $0x1,%eax
  test   %al,%al
  je     L525
  mov    $0x1,%eax
  jmp    L635
L525:
  movsd  D889(%rip),%xmm0
  movsd  %xmm0,-0x60(%rbp)
  movsd  D1241(%rip),%xmm0
  movsd  %xmm0,-0x58(%rbp)
  movsd  D1003(%rip),%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  D2165(%rip),%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  D1354(%rip),%xmm0
  movsd  %xmm0,-0x40(%rbp)
  movsd  D1003(%rip),%xmm0
  movsd  %xmm0,-0x190(%rbp)
  lea    -0x60(%rbp),%rax
  mov    $0x5,%esi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <CSPL_Array_max@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x188(%rbp)
  movsd  -0x188(%rbp),%xmm0
  subsd  -0x190(%rbp),%xmm0
  movq   D1234(%rip),%xmm1
  andpd  %xmm0,%xmm1
  movsd  D128(%rip),%xmm0
  comisd %xmm1,%xmm0
  seta   %al
  xor    $0x1,%eax
  test   %al,%al
  je     L709
  mov    $0x1,%eax
  jmp    L635
L709:
  movsd  D889(%rip),%xmm0
  movsd  %xmm0,-0x60(%rbp)
  movsd  D1241(%rip),%xmm0
  movsd  %xmm0,-0x58(%rbp)
  movsd  D1003(%rip),%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  D2165(%rip),%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  D1354(%rip),%xmm0
  movsd  %xmm0,-0x40(%rbp)
  movsd  D763(%rip),%xmm0
  movsd  %xmm0,-0x180(%rbp)
  lea    -0x60(%rbp),%rax
  mov    $0x5,%esi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <CSPL_Array_range@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x178(%rbp)
  movsd  -0x180(%rbp),%xmm0
  mov    -0x178(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  lea    D1522(%rip),%rax
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  movsd  -0x178(%rbp),%xmm0
  subsd  -0x180(%rbp),%xmm0
  movq   D1234(%rip),%xmm1
  andpd  %xmm0,%xmm1
  movsd  D128(%rip),%xmm0
  comisd %xmm1,%xmm0
  seta   %al
  xor    $0x1,%eax
  test   %al,%al
  je     L66
  mov    $0x1,%eax
  jmp    L635
L66:
  movsd  D889(%rip),%xmm0
  movsd  %xmm0,-0x140(%rbp)
  movsd  D1241(%rip),%xmm0
  movsd  %xmm0,-0x138(%rbp)
  movsd  D1003(%rip),%xmm0
  movsd  %xmm0,-0x130(%rbp)
  movsd  D2165(%rip),%xmm0
  movsd  %xmm0,-0x128(%rbp)
  movsd  D1354(%rip),%xmm0
  movsd  %xmm0,-0x120(%rbp)
  movsd  D889(%rip),%xmm0
  movsd  %xmm0,-0x110(%rbp)
  movsd  D1241(%rip),%xmm0
  movsd  %xmm0,-0x108(%rbp)
  movsd  D1003(%rip),%xmm0
  movsd  %xmm0,-0x100(%rbp)
  movsd  D2165(%rip),%xmm0
  movsd  %xmm0,-0xf8(%rbp)
  movsd  D1354(%rip),%xmm0
  movsd  %xmm0,-0xf0(%rbp)
  movsd  D787(%rip),%xmm0
  movsd  %xmm0,-0xe0(%rbp)
  movsd  D1241(%rip),%xmm0
  movsd  %xmm0,-0xd8(%rbp)
  movsd  D1003(%rip),%xmm0
  movsd  %xmm0,-0xd0(%rbp)
  movsd  D2165(%rip),%xmm0
  movsd  %xmm0,-0xc8(%rbp)
  movsd  D1354(%rip),%xmm0
  movsd  %xmm0,-0xc0(%rbp)
  movsd  D787(%rip),%xmm0
  movsd  %xmm0,-0xb0(%rbp)
  movsd  D1241(%rip),%xmm0
  movsd  %xmm0,-0xa8(%rbp)
  movsd  D1471(%rip),%xmm0
  movsd  %xmm0,-0xa0(%rbp)
  movsd  D2165(%rip),%xmm0
  movsd  %xmm0,-0x98(%rbp)
  movsd  D1354(%rip),%xmm0
  movsd  %xmm0,-0x90(%rbp)
  movsd  D587(%rip),%xmm0
  movsd  %xmm0,-0x60(%rbp)
  movsd  D587(%rip),%xmm0
  movsd  %xmm0,-0x58(%rbp)
  movsd  D587(%rip),%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  D587(%rip),%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  D587(%rip),%xmm0
  movsd  %xmm0,-0x40(%rbp)
  lea    -0x140(%rbp),%rax
  mov    $0x5,%ecx
  mov    $0xa,%edx
  mov    $0x0,%esi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <CSPL_Array_clip@plt>
  movq   $0x0,-0x1d8(%rbp)
  jmp    L155
L593:
  mov    -0x1d8(%rbp),%rax
  movsd  -0x110(%rbp,%rax,8),%xmm0
  mov    -0x1d8(%rbp),%rax
  mov    -0x140(%rbp,%rax,8),%rdx
  mov    -0x1d8(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rdx,%xmm0
  mov    %rax,%rsi
  lea    D1948(%rip),%rax
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  mov    -0x1d8(%rbp),%rax
  movsd  -0x140(%rbp,%rax,8),%xmm0
  mov    -0x1d8(%rbp),%rax
  movsd  -0x110(%rbp,%rax,8),%xmm1
  subsd  %xmm1,%xmm0
  movq   D1234(%rip),%xmm1
  andpd  %xmm0,%xmm1
  movsd  D128(%rip),%xmm0
  comisd %xmm1,%xmm0
  seta   %al
  xor    $0x1,%eax
  test   %al,%al
  je     L562
  mov    $0x1,%eax
  jmp    L635
L562:
  addq   $0x1,-0x1d8(%rbp)
L155:
  cmpq   $0x4,-0x1d8(%rbp)
  jle    L593
  lea    -0x140(%rbp),%rax
  mov    $0x5,%ecx
  mov    $0xa,%edx
  mov    $0x3,%esi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <CSPL_Array_clip@plt>
  movq   $0x0,-0x1d8(%rbp)
  jmp    L693
L11:
  mov    -0x1d8(%rbp),%rax
  movsd  -0xe0(%rbp,%rax,8),%xmm0
  mov    -0x1d8(%rbp),%rax
  mov    -0x140(%rbp,%rax,8),%rdx
  mov    -0x1d8(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rdx,%xmm0
  mov    %rax,%rsi
  lea    D1948(%rip),%rax
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  mov    -0x1d8(%rbp),%rax
  movsd  -0x140(%rbp,%rax,8),%xmm0
  mov    -0x1d8(%rbp),%rax
  movsd  -0xe0(%rbp,%rax,8),%xmm1
  subsd  %xmm1,%xmm0
  movq   D1234(%rip),%xmm1
  andpd  %xmm0,%xmm1
  movsd  D128(%rip),%xmm0
  comisd %xmm1,%xmm0
  seta   %al
  xor    $0x1,%eax
  test   %al,%al
  je     L276
  mov    $0x1,%eax
  jmp    L635
L276:
  addq   $0x1,-0x1d8(%rbp)
L693:
  cmpq   $0x4,-0x1d8(%rbp)
  jle    L11
  mov    D1471(%rip),%rcx
  lea    -0x140(%rbp),%rax
  mov    $0x5,%edx
  movq   %rcx,%xmm0
  mov    $0x3,%esi
  mov    %rax,%rdi
  mov    $0x1,%eax
  call   <CSPL_Array_clip@plt>
  movq   $0x0,-0x1d8(%rbp)
  jmp    L809
L781:
  mov    -0x1d8(%rbp),%rax
  movsd  -0xb0(%rbp,%rax,8),%xmm0
  mov    -0x1d8(%rbp),%rax
  mov    -0x140(%rbp,%rax,8),%rdx
  mov    -0x1d8(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rdx,%xmm0
  mov    %rax,%rsi
  lea    D1948(%rip),%rax
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  mov    -0x1d8(%rbp),%rax
  movsd  -0x140(%rbp,%rax,8),%xmm0
  mov    -0x1d8(%rbp),%rax
  movsd  -0xb0(%rbp,%rax,8),%xmm1
  subsd  %xmm1,%xmm0
  movq   D1234(%rip),%xmm1
  andpd  %xmm0,%xmm1
  movsd  D128(%rip),%xmm0
  comisd %xmm1,%xmm0
  seta   %al
  xor    $0x1,%eax
  test   %al,%al
  je     L54
  mov    $0x1,%eax
  jmp    L635
L54:
  addq   $0x1,-0x1d8(%rbp)
L809:
  cmpq   $0x4,-0x1d8(%rbp)
  jle    L781
  lea    -0x140(%rbp),%rax
  mov    $0x5,%ecx
  mov    $0xfffffffc,%edx
  mov    $0xfffffff6,%esi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <CSPL_Array_clip@plt>
  movq   $0x0,-0x1d8(%rbp)
  jmp    L0
L431:
  mov    -0x1d8(%rbp),%rax
  movsd  -0x60(%rbp,%rax,8),%xmm0
  mov    -0x1d8(%rbp),%rax
  mov    -0x140(%rbp,%rax,8),%rdx
  mov    -0x1d8(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rdx,%xmm0
  mov    %rax,%rsi
  lea    D1948(%rip),%rax
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  mov    -0x1d8(%rbp),%rax
  movsd  -0x140(%rbp,%rax,8),%xmm0
  mov    -0x1d8(%rbp),%rax
  movsd  -0x60(%rbp,%rax,8),%xmm1
  subsd  %xmm1,%xmm0
  movq   D1234(%rip),%xmm1
  andpd  %xmm0,%xmm1
  movsd  D128(%rip),%xmm0
  comisd %xmm1,%xmm0
  seta   %al
  xor    $0x1,%eax
  test   %al,%al
  je     L464
  mov    $0x1,%eax
  jmp    L635
L464:
  addq   $0x1,-0x1d8(%rbp)
L0:
  cmpq   $0x4,-0x1d8(%rbp)
  jle    L431
  movsd  D1003(%rip),%xmm0
  movsd  %xmm0,-0xb0(%rbp)
  movsd  D1241(%rip),%xmm0
  movsd  %xmm0,-0xa8(%rbp)
  movsd  D889(%rip),%xmm0
  movsd  %xmm0,-0xa0(%rbp)
  movsd  D2165(%rip),%xmm0
  movsd  %xmm0,-0x98(%rbp)
  movsd  D1354(%rip),%xmm0
  movsd  %xmm0,-0x90(%rbp)
  movsd  D889(%rip),%xmm0
  movsd  %xmm0,-0x60(%rbp)
  movsd  D1354(%rip),%xmm0
  movsd  %xmm0,-0x58(%rbp)
  movsd  D1241(%rip),%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  D2165(%rip),%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  D1003(%rip),%xmm0
  movsd  %xmm0,-0x40(%rbp)
  movq   $0x0,-0x1d0(%rbp)
  jmp    L10
L53:
  lea    -0xb0(%rbp),%rsi
  mov    -0x1d0(%rbp),%rax
  mov    $0x4,%ecx
  mov    $0x0,%edx
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <CSPL_Array_quickselect@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x148(%rbp)
  mov    -0x148(%rbp),%rdx
  mov    -0x1d0(%rbp),%rax
  movq   %rdx,%xmm0
  mov    %rax,%rsi
  lea    D197(%rip),%rax
  mov    %rax,%rdi
  mov    $0x1,%eax
  call   <printf@plt>
  mov    -0x1d0(%rbp),%rax
  movsd  -0x60(%rbp,%rax,8),%xmm1
  movsd  -0x148(%rbp),%xmm0
  subsd  %xmm1,%xmm0
  movq   D1234(%rip),%xmm1
  andpd  %xmm0,%xmm1
  movsd  D128(%rip),%xmm0
  comisd %xmm1,%xmm0
  seta   %al
  xor    $0x1,%eax
  test   %al,%al
  je     L408
  mov    $0x1,%eax
  jmp    L635
L408:
  addq   $0x1,-0x1d0(%rbp)
L10:
  cmpq   $0x4,-0x1d0(%rbp)
  jbe    L53
  movsd  D1003(%rip),%xmm0
  movsd  %xmm0,-0xb0(%rbp)
  movsd  D1241(%rip),%xmm0
  movsd  %xmm0,-0xa8(%rbp)
  movsd  D889(%rip),%xmm0
  movsd  %xmm0,-0xa0(%rbp)
  movsd  D2165(%rip),%xmm0
  movsd  %xmm0,-0x98(%rbp)
  movsd  D1354(%rip),%xmm0
  movsd  %xmm0,-0x90(%rbp)
  movq   $0x0,-0x60(%rbp)
  movq   $0x0,-0x58(%rbp)
  movq   $0x0,-0x50(%rbp)
  movq   $0x0,-0x48(%rbp)
  movq   $0x0,-0x40(%rbp)
  movsd  D889(%rip),%xmm0
  movsd  %xmm0,-0x60(%rbp)
  movsd  D1241(%rip),%xmm0
  movsd  %xmm0,-0x58(%rbp)
  movsd  D2165(%rip),%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  D1003(%rip),%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movq   $0x0,-0x1c8(%rbp)
  jmp    L811
L218:
  lea    -0xb0(%rbp),%rsi
  mov    -0x1c8(%rbp),%rax
  mov    $0x3,%ecx
  mov    $0x0,%edx
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <CSPL_Array_quickselect@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x150(%rbp)
  mov    -0x150(%rbp),%rdx
  mov    -0x1c8(%rbp),%rax
  movq   %rdx,%xmm0
  mov    %rax,%rsi
  lea    D1637(%rip),%rax
  mov    %rax,%rdi
  mov    $0x1,%eax
  call   <printf@plt>
  mov    -0x1c8(%rbp),%rax
  movsd  -0x60(%rbp,%rax,8),%xmm1
  movsd  -0x150(%rbp),%xmm0
  subsd  %xmm1,%xmm0
  movq   D1234(%rip),%xmm1
  andpd  %xmm0,%xmm1
  movsd  D128(%rip),%xmm0
  comisd %xmm1,%xmm0
  seta   %al
  xor    $0x1,%eax
  test   %al,%al
  je     L72
  mov    $0x1,%eax
  jmp    L635
L72:
  addq   $0x1,-0x1c8(%rbp)
L811:
  cmpq   $0x3,-0x1c8(%rbp)
  jbe    L218
  movsd  D1107(%rip),%xmm0
  movsd  %xmm0,-0x60(%rbp)
  movsd  D889(%rip),%xmm0
  movsd  %xmm0,-0x58(%rbp)
  movsd  D1722(%rip),%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  D1753(%rip),%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  D1483(%rip),%xmm0
  movsd  %xmm0,-0x40(%rbp)
  movq   $0x0,-0x1c0(%rbp)
  jmp    L480
L768:
  mov    -0x1c0(%rbp),%rax
  mov    -0x60(%rbp,%rax,8),%rdx
  mov    -0x1c0(%rbp),%rax
  movq   %rdx,%xmm0
  mov    %rax,%rsi
  lea    D1654(%rip),%rax
  mov    %rax,%rdi
  mov    $0x1,%eax
  call   <printf@plt>
  addq   $0x1,-0x1c0(%rbp)
L480:
  cmpq   $0x4,-0x1c0(%rbp)
  jle    L768
  movsd  D797(%rip),%xmm0
  movsd  %xmm0,-0x170(%rbp)
  lea    -0x60(%rbp),%rdx
  mov    -0x170(%rbp),%rax
  mov    $0x5,%esi
  mov    %rdx,%rdi
  movq   %rax,%xmm0
  mov    $0x1,%eax
  call   <CSPL_Array_bisect@plt>
  cltq
  mov    %rax,-0x168(%rbp)
  mov    -0x168(%rbp),%rdx
  mov    -0x170(%rbp),%rax
  mov    %rdx,%rsi
  movq   %rax,%xmm0
  lea    D339(%rip),%rax
  mov    %rax,%rdi
  mov    $0x1,%eax
  call   <printf@plt>
  cmpq   $0x0,-0x168(%rbp)
  je     L153
  mov    $0x1,%eax
  jmp    L635
L153:
  movsd  D1668(%rip),%xmm0
  movsd  %xmm0,-0x170(%rbp)
  lea    -0x60(%rbp),%rdx
  mov    -0x170(%rbp),%rax
  mov    $0x5,%esi
  mov    %rdx,%rdi
  movq   %rax,%xmm0
  mov    $0x1,%eax
  call   <CSPL_Array_bisect@plt>
  cltq
  mov    %rax,-0x168(%rbp)
  mov    -0x168(%rbp),%rdx
  mov    -0x170(%rbp),%rax
  mov    %rdx,%rsi
  movq   %rax,%xmm0
  lea    D339(%rip),%rax
  mov    %rax,%rdi
  mov    $0x1,%eax
  call   <printf@plt>
  cmpq   $0x1,-0x168(%rbp)
  je     L694
  mov    $0x1,%eax
  jmp    L635
L694:
  movsd  D1722(%rip),%xmm0
  movsd  %xmm0,-0x170(%rbp)
  lea    -0x60(%rbp),%rdx
  mov    -0x170(%rbp),%rax
  mov    $0x5,%esi
  mov    %rdx,%rdi
  movq   %rax,%xmm0
  mov    $0x1,%eax
  call   <CSPL_Array_bisect@plt>
  cltq
  mov    %rax,-0x168(%rbp)
  mov    -0x168(%rbp),%rdx
  mov    -0x170(%rbp),%rax
  mov    %rdx,%rsi
  movq   %rax,%xmm0
  lea    D339(%rip),%rax
  mov    %rax,%rdi
  mov    $0x1,%eax
  call   <printf@plt>
  cmpq   $0x3,-0x168(%rbp)
  je     L217
  mov    $0x1,%eax
  jmp    L635
L217:
  movsd  D1471(%rip),%xmm0
  movsd  %xmm0,-0x170(%rbp)
  lea    -0x60(%rbp),%rdx
  mov    -0x170(%rbp),%rax
  mov    $0x5,%esi
  mov    %rdx,%rdi
  movq   %rax,%xmm0
  mov    $0x1,%eax
  call   <CSPL_Array_bisect@plt>
  cltq
  mov    %rax,-0x168(%rbp)
  mov    -0x168(%rbp),%rdx
  mov    -0x170(%rbp),%rax
  mov    %rdx,%rsi
  movq   %rax,%xmm0
  lea    D339(%rip),%rax
  mov    %rax,%rdi
  mov    $0x1,%eax
  call   <printf@plt>
  cmpq   $0x3,-0x168(%rbp)
  je     L287
  mov    $0x1,%eax
  jmp    L635
L287:
  movsd  D1751(%rip),%xmm0
  movsd  %xmm0,-0x170(%rbp)
  lea    -0x60(%rbp),%rdx
  mov    -0x170(%rbp),%rax
  mov    $0x5,%esi
  mov    %rdx,%rdi
  movq   %rax,%xmm0
  mov    $0x1,%eax
  call   <CSPL_Array_bisect@plt>
  cltq
  mov    %rax,-0x168(%rbp)
  mov    -0x168(%rbp),%rdx
  mov    -0x170(%rbp),%rax
  mov    %rdx,%rsi
  movq   %rax,%xmm0
  lea    D339(%rip),%rax
  mov    %rax,%rdi
  mov    $0x1,%eax
  call   <printf@plt>
  cmpq   $0x5,-0x168(%rbp)
  je     L97
  mov    $0x1,%eax
  jmp    L635
L97:
  movsd  D1107(%rip),%xmm0
  movsd  %xmm0,-0x60(%rbp)
  movsd  D1518(%rip),%xmm0
  movsd  %xmm0,-0x58(%rbp)
  movsd  D1753(%rip),%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  D1483(%rip),%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  D2101(%rip),%xmm0
  movsd  %xmm0,-0x40(%rbp)
  movq   $0x0,-0x1b8(%rbp)
  jmp    L312
L526:
  mov    -0x1b8(%rbp),%rax
  mov    -0x60(%rbp,%rax,8),%rdx
  mov    -0x1b8(%rbp),%rax
  movq   %rdx,%xmm0
  mov    %rax,%rsi
  lea    D1654(%rip),%rax
  mov    %rax,%rdi
  mov    $0x1,%eax
  call   <printf@plt>
  addq   $0x1,-0x1b8(%rbp)
L312:
  cmpq   $0x4,-0x1b8(%rbp)
  jle    L526
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x160(%rbp)
  lea    -0x60(%rbp),%rdx
  mov    -0x160(%rbp),%rax
  mov    $0x5,%esi
  mov    %rdx,%rdi
  movq   %rax,%xmm0
  mov    $0x1,%eax
  call   <CSPL_Array_bisect@plt>
  cltq
  mov    %rax,-0x158(%rbp)
  mov    -0x158(%rbp),%rdx
  mov    -0x160(%rbp),%rax
  mov    %rdx,%rsi
  movq   %rax,%xmm0
  lea    D339(%rip),%rax
  mov    %rax,%rdi
  mov    $0x1,%eax
  call   <printf@plt>
  cmpq   $0x0,-0x158(%rbp)
  je     L461
  mov    $0x1,%eax
  jmp    L635
L461:
  movsd  D787(%rip),%xmm0
  movsd  %xmm0,-0x160(%rbp)
  lea    -0x60(%rbp),%rdx
  mov    -0x160(%rbp),%rax
  mov    $0x5,%esi
  mov    %rdx,%rdi
  movq   %rax,%xmm0
  mov    $0x1,%eax
  call   <CSPL_Array_bisect@plt>
  cltq
  mov    %rax,-0x158(%rbp)
  mov    -0x158(%rbp),%rdx
  mov    -0x160(%rbp),%rax
  mov    %rdx,%rsi
  movq   %rax,%xmm0
  lea    D339(%rip),%rax
  mov    %rax,%rdi
  mov    $0x1,%eax
  call   <printf@plt>
  cmpq   $0x1,-0x158(%rbp)
  je     L161
  mov    $0x1,%eax
  jmp    L635
L161:
  movsd  D1518(%rip),%xmm0
  movsd  %xmm0,-0x160(%rbp)
  lea    -0x60(%rbp),%rdx
  mov    -0x160(%rbp),%rax
  mov    $0x5,%esi
  mov    %rdx,%rdi
  movq   %rax,%xmm0
  mov    $0x1,%eax
  call   <CSPL_Array_bisect@plt>
  cltq
  mov    %rax,-0x158(%rbp)
  mov    -0x158(%rbp),%rdx
  mov    -0x160(%rbp),%rax
  mov    %rdx,%rsi
  movq   %rax,%xmm0
  lea    D339(%rip),%rax
  mov    %rax,%rdi
  mov    $0x1,%eax
  call   <printf@plt>
  cmpq   $0x2,-0x158(%rbp)
  je     L761
  mov    $0x1,%eax
  jmp    L635
L761:
  movsd  D1837(%rip),%xmm0
  movsd  %xmm0,-0xb0(%rbp)
  movsd  D44(%rip),%xmm0
  movsd  %xmm0,-0xa8(%rbp)
  movsd  D456(%rip),%xmm0
  movsd  %xmm0,-0xa0(%rbp)
  movsd  D2020(%rip),%xmm0
  movsd  %xmm0,-0x98(%rbp)
  movsd  D2157(%rip),%xmm0
  movsd  %xmm0,-0x90(%rbp)
  movsd  D386(%rip),%xmm0
  movsd  %xmm0,-0x88(%rbp)
  movsd  D82(%rip),%xmm0
  movsd  %xmm0,-0x80(%rbp)
  movsd  D1309(%rip),%xmm0
  movsd  %xmm0,-0x78(%rbp)
  movsd  D1021(%rip),%xmm0
  movsd  %xmm0,-0x70(%rbp)
  movsd  D1961(%rip),%xmm0
  movsd  %xmm0,-0x68(%rbp)
  movsd  D1961(%rip),%xmm0
  mov    D1837(%rip),%rdx
  lea    -0x60(%rbp),%rax
  mov    $0xa,%esi
  movapd %xmm0,%xmm1
  movq   %rdx,%xmm0
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <CSPL_Array_linspace@plt>
  movq   $0x0,-0x1b0(%rbp)
  jmp    L477
L557:
  mov    -0x1b0(%rbp),%rax
  movsd  -0xb0(%rbp,%rax,8),%xmm0
  mov    -0x1b0(%rbp),%rax
  mov    -0x60(%rbp,%rax,8),%rdx
  mov    -0x1b0(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rdx,%xmm0
  mov    %rax,%rsi
  lea    D1569(%rip),%rax
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  mov    -0x1b0(%rbp),%rax
  movsd  -0x60(%rbp,%rax,8),%xmm0
  mov    -0x1b0(%rbp),%rax
  movsd  -0xb0(%rbp,%rax,8),%xmm1
  subsd  %xmm1,%xmm0
  movq   D1234(%rip),%xmm1
  andpd  %xmm0,%xmm1
  movsd  D128(%rip),%xmm0
  comisd %xmm1,%xmm0
  seta   %al
  xor    $0x1,%eax
  test   %al,%al
  je     L397
  mov    $0x1,%eax
  jmp    L635
L397:
  addq   $0x1,-0x1b0(%rbp)
L477:
  cmpq   $0x9,-0x1b0(%rbp)
  jle    L557
  movsd  D1837(%rip),%xmm0
  movsd  %xmm0,-0xb0(%rbp)
  movsd  D771(%rip),%xmm0
  movsd  %xmm0,-0xa8(%rbp)
  movsd  D241(%rip),%xmm0
  movsd  %xmm0,-0xa0(%rbp)
  movsd  D1746(%rip),%xmm0
  movsd  %xmm0,-0x98(%rbp)
  movsd  D1216(%rip),%xmm0
  movsd  %xmm0,-0x90(%rbp)
  movsd  D2110(%rip),%xmm0
  movsd  %xmm0,-0x88(%rbp)
  movsd  D1277(%rip),%xmm0
  movsd  %xmm0,-0x80(%rbp)
  movsd  D2001(%rip),%xmm0
  movsd  %xmm0,-0x78(%rbp)
  movsd  D424(%rip),%xmm0
  movsd  %xmm0,-0x70(%rbp)
  movsd  D1961(%rip),%xmm0
  movsd  %xmm0,-0x68(%rbp)
  movsd  D1961(%rip),%xmm0
  mov    D1837(%rip),%rdx
  lea    -0x60(%rbp),%rax
  mov    $0xa,%esi
  movapd %xmm0,%xmm1
  movq   %rdx,%xmm0
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <CSPL_Array_logspace@plt>
  movq   $0x0,-0x1a8(%rbp)
  jmp    L501
L33:
  mov    -0x1a8(%rbp),%rax
  movsd  -0xb0(%rbp,%rax,8),%xmm0
  mov    -0x1a8(%rbp),%rax
  mov    -0x60(%rbp,%rax,8),%rdx
  mov    -0x1a8(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rdx,%xmm0
  mov    %rax,%rsi
  lea    D1553(%rip),%rax
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  mov    -0x1a8(%rbp),%rax
  movsd  -0x60(%rbp,%rax,8),%xmm0
  mov    -0x1a8(%rbp),%rax
  movsd  -0xb0(%rbp,%rax,8),%xmm1
  subsd  %xmm1,%xmm0
  movq   D1234(%rip),%xmm1
  andpd  %xmm0,%xmm1
  movsd  D128(%rip),%xmm0
  comisd %xmm1,%xmm0
  seta   %al
  xor    $0x1,%eax
  test   %al,%al
  je     L497
  mov    $0x1,%eax
  jmp    L635
L497:
  addq   $0x1,-0x1a8(%rbp)
L501:
  cmpq   $0x9,-0x1a8(%rbp)
  jle    L33
  mov    $0x0,%eax
L635:
  mov    -0x8(%rbp),%rdx
  sub    %fs:0x28,%rdx
  je     L201
  call   <__stack_chk_fail@plt>
L201:
  leave
  ret
```

tool_calls: name: unpack_data
arguments: data_label: D889
data_type: f64
name: unpack_data
arguments: data_label: D1241
data_type: f64
name: unpack_data
arguments: data_label: D1003
data_type: f64
name: unpack_data
arguments: data_label: D2165
data_type: f64
name: unpack_data
arguments: data_label: D1354
data_type: f64
name: unpack_data
arguments: data_label: D1893
data_type: f64
name: unpack_data
arguments: data_label: D1107
data_type: f64
name: unpack_data
arguments: data_label: D1826
data_type: f64
name: unpack_data
arguments: data_label: D2118
data_type: f64
name: unpack_data
arguments: data_label: D2101
data_type: f64
name: unpack_data
arguments: data_label: D1471
data_type: f64
name: unpack_data
arguments: data_label: D542
data_type: f64
name: unpack_data
arguments: data_label: D506
data_type: string
name: unpack_data
arguments: data_label: D1234
data_type: qword
name: unpack_data
arguments: data_label: D128
data_type: byte[8]
name: unpack_data
arguments: data_label: D876
data_type: byte[8]
name: unpack_data
arguments: data_label: D40
data_type: f64
name: unpack_data
arguments: data_label: D152
data_type: f64
name: unpack_data
arguments: data_label: D1019
data_type: f64
name: unpack_data
arguments: data_label: D970
data_type: byte[8]
name: unpack_data
arguments: data_label: D1741
data_type: string
name: unpack_data
arguments: data_label: D508
data_type: f64
name: unpack_data
arguments: data_label: D974
data_type: f64
name: unpack_data
arguments: data_label: D1323
data_type: f64
name: unpack_data
arguments: data_label: D1542
data_type: string
name: unpack_data
arguments: data_label: D1666
data_type: f64
name: unpack_data
arguments: data_label: D1290
data_type: f64
name: unpack_data
arguments: data_label: D729
data_type: f64
name: unpack_data
arguments: data_label: D545
data_type: f64
name: unpack_data
arguments: data_label: D498
data_type: string
name: unpack_data
arguments: data_label: D763
data_type: f64
name: unpack_data
arguments: data_label: D1522
data_type: string
name: unpack_data
arguments: data_label: D787
data_type: byte[8]
name: unpack_data
arguments: data_label: D587
data_type: byte[8]
name: unpack_data
arguments: data_label: D1948
data_type: string
name: unpack_data
arguments: data_label: D197
data_type: string
name: unpack_data
arguments: data_label: D1637
data_type: string
name: unpack_data
arguments: data_label: D1722
data_type: f64
name: unpack_data
arguments: data_label: D1753
data_type: byte[8]
name: unpack_data
arguments: data_label: D1483
data_type: byte[8]
name: unpack_data
arguments: data_label: D1654
data_type: string
name: unpack_data
arguments: data_label: D797
data_type: byte[8]
name: unpack_data
arguments: data_label: D339
data_type: string
name: unpack_data
arguments: data_label: D1668
data_type: f64
name: unpack_data
arguments: data_label: D1751
data_type: f64
name: unpack_data
arguments: data_label: D1518
data_type: f64
name: unpack_data
arguments: data_label: D1837
data_type: f64
name: unpack_data
arguments: data_label: D44
data_type: f64
name: unpack_data
arguments: data_label: D456
data_type: f64
name: unpack_data
arguments: data_label: D2020
data_type: f64
name: unpack_data
arguments: data_label: D2157
data_type: f64
name: unpack_data
arguments: data_label: D386
data_type: f64
name: unpack_data
arguments: data_label: D82
data_type: f64
name: unpack_data
arguments: data_label: D1309
data_type: f64
name: unpack_data
arguments: data_label: D1021
data_type: f64
name: unpack_data
arguments: data_label: D1961
data_type: f64
name: unpack_data
arguments: data_label: D1569
data_type: string
name: unpack_data
arguments: data_label: D771
data_type: f64
name: unpack_data
arguments: data_label: D241
data_type: f64
name: unpack_data
arguments: data_label: D1746
data_type: f64
name: unpack_data
arguments: data_label: D1216
data_type: f64
name: unpack_data
arguments: data_label: D2110
data_type: f64
name: unpack_data
arguments: data_label: D1277
data_type: f64
name: unpack_data
arguments: data_label: D2001
data_type: f64
name: unpack_data
arguments: data_label: D424
data_type: f64
name: unpack_data
arguments: data_label: D1553
data_type: string

tool: D889: 2

tool: D1241: 3.4

tool: D1003: 5.6

tool: D2165: 4.5

tool: D1354: 3.1

tool: D1893: 2.3

tool: D1107: 1

tool: D1826: 6.5

tool: D2118: 5.7

tool: D2101: 9

tool: D1471: 5.5

tool: D542: 7.6

tool: D506: CSPL_Array_add[%ld]=%lf  %lf


tool: D1234: 9223372036854775807

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

tool: {"D876": [0x00,0x00,0x00,0x00,0x00,0x00,0x04,0xc0]}

tool: D40: 1.1

tool: D152: 2.2

tool: D1019: 3.5

tool: {"D970": [0x66,0x66,0x66,0x66,0x66,0x66,0xf6,0xbf]}

tool: D1741: CSPL_Array_subtract[%ld]=%lf  %lf


tool: D508: 7.82

tool: D974: 19.04

tool: D1323: 13.95

tool: D1542: CSPL_Array_multiply[%ld]=%lf  %lf


tool: D1666: 0.444444

tool: D1290: 1.478261

tool: D729: 1.647059

tool: D545: 0.688889

tool: D498: CSPL_Array_divide[%ld]=%lf  %lf


tool: D763: 3.6

tool: D1522: CSPL_Array_range: %lf, %lf


tool: {"D787": [0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x40]}

tool: {"D587": [0x00,0x00,0x00,0x00,0x00,0x00,0x10,0xc0]}

tool: D1948: CSPL_Array_clip[%ld]=%lf  %lf


tool: D197: CSPL_Array_quickselect(%ld, d1, 0, 4)=%lf


tool: D1637: CSPL_Array_quickselect(%ld, d1, 0, 3)=%lf


tool: D1722: 5

tool: {"D1753": [0x00,0x00,0x00,0x00,0x00,0x00,0x1c,0x40]}

tool: {"D1483": [0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x40]}

tool: D1654: dat1[%ld]=%lf


tool: {"D797": [0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0xbf]}

tool: D339: CSPL_Array_bisect(%lf, dat1, 5)=%ld


tool: D1668: 1.5

tool: D1751: 8.5

tool: D1518: 4

tool: D1837: 12.3

tool: D44: 14.73333333

tool: D456: 17.16666667

tool: D2020: 19.6

tool: D2157: 22.03333333

tool: D386: 24.46666667

tool: D82: 26.9

tool: D1309: 29.33333333

tool: D1021: 31.76666667

tool: D1961: 34.2

tool: D1569: CSPL_Array_linspace[%ld]=%lf  ->  %lf


tool: D771: 13.78008475

tool: D241: 15.4382712

tool: D1746: 17.2959907

tool: D1216: 19.37725347

tool: D2110: 21.70895895

tool: D1277: 24.32124343

tool: D2001: 27.24786957

tool: D424: 30.52666276

tool: D1553: CSPL_Array_logspace[%ld]=%lf  ->  %lf


assistant: ```c
int main(void) {
  {
    double d1[5] = {2, 3.4, 5.6, 4.5, 3.1};
    double d2[5] = {4.5, 2.3, 3.4, 1.0, 4.5};
    double answer[5] = {6.5, 5.7, 9.0, 5.5, 7.6};
    double out[5];
    long i;
    {
      long i;
      for (i = 0; i < 5; i++) {
        out[i] = d1[i] + d2[i];
      }
    };
    for (i = 0; i < 5; i++) {
      printf("CSPL_Array_add[%ld]=%lf  %lf\n", i, out[i], answer[i]);
      {
        if ((fabs((out[i]) - (answer[i])) < (1e-5)) == 0)
          return (1);
      };
    }
  }
  {
    double d1[5] = {2, 3.4, 5.6, 4.5, 3.1};
    double d2[5] = {4.5, 2.3, 3.4, 1.0, 4.5};
    double answer[5] = {-2.5, 1.1, 2.2, 3.5, -1.4};
    double out[5];
    long i;
    {
      long i;
      for (i = 0; i < 5; i++) {
        out[i] = d1[i] - d2[i];
      }
    };
    for (i = 0; i < 5; i++) {
      printf("CSPL_Array_subtract[%ld]=%lf  %lf\n", i, out[i], answer[i]);
      {
        if ((fabs((out[i]) - (answer[i])) < (1e-5)) == 0)
          return (1);
      };
    }
  }
  {
    double d1[5] = {2, 3.4, 5.6, 4.5, 3.1};
    double d2[5] = {4.5, 2.3, 3.4, 1.0, 4.5};
    double answer[5] = {9.0, 7.82, 19.04, 4.5, 13.95};
    double out[5];
    long i;
    {
      long i;
      for (i = 0; i < 5; i++) {
        out[i] = d1[i] * d2[i];
      }
    };
    for (i = 0; i < 5; i++) {
      printf("CSPL_Array_multiply[%ld]=%lf  %lf\n", i, out[i], answer[i]);
      {
        if ((fabs((out[i]) - (answer[i])) < (1e-5)) == 0)
          return (1);
      };
    }
  }
  {
    double d1[5] = {2, 3.4, 5.6, 4.5, 3.1};
    double d2[5] = {4.5, 2.3, 3.4, 1.0, 4.5};
    double answer[5] = {0.444444, 1.478261, 1.647059, 4.5, 0.688889};
    double out[5];
    long i;
    {
      long i;
      for (i = 0; i < 5; i++) {
        out[i] = d1[i] / d2[i];
      }
    };
    for (i = 0; i < 5; i++) {
      printf("CSPL_Array_divide[%ld]=%lf  %lf\n", i, out[i], answer[i]);
      {
        if ((fabs((out[i]) - (answer[i])) < (1e-5)) == 0)
          return (1);
      };
    }
  }
  {
    double d1[5] = {2, 3.4, 5.6, 4.5, 3.1};
    double answer = 2.0;
    double out;
    out = CSPL_Array_min(d1, 5);
    {
      if ((fabs((out) - (answer)) < (1e-5)) == 0)
        return (1);
    };
  }
  {
    double d1[5] = {2, 3.4, 5.6, 4.5, 3.1};
    double answer = 5.6;
    double out;
    out = CSPL_Array_max(d1, 5);
    {
      if ((fabs((out) - (answer)) < (1e-5)) == 0)
        return (1);
    };
  }
  {
    double d1[5] = {2, 3.4, 5.6, 4.5, 3.1};
    double answer = 3.6;
    double out;
    out = CSPL_Array_range(d1, 5);
    printf("CSPL_Array_range: %lf, %lf\n", out, answer);
    {
      if ((fabs((out) - (answer)) < (1e-5)) == 0)
        return (1);
    };
  }
  {
    double d1[5] = {2, 3.4, 5.6, 4.5, 3.1};
    double answer1[5] = {2, 3.4, 5.6, 4.5, 3.1};
    double answer2[5] = {3, 3.4, 5.6, 4.5, 3.1};
    double answer3[5] = {3, 3.4, 5.5, 4.5, 3.1};
    double answer4[5] = {-4, -4, -4, -4, -4};
    long i;
    CSPL_Array_clip(d1, 0, 10, 5);
    for (i = 0; i < 5; i++) {
      printf("CSPL_Array_clip[%ld]=%lf  %lf\n", i, d1[i], answer1[i]);
      {
        if ((fabs((d1[i]) - (answer1[i])) < (1e-5)) == 0)
          return (1);
      };
    }
    CSPL_Array_clip(d1, 3, 10, 5);
    for (i = 0; i < 5; i++) {
      printf("CSPL_Array_clip[%ld]=%lf  %lf\n", i, d1[i], answer2[i]);
      {
        if ((fabs((d1[i]) - (answer2[i])) < (1e-5)) == 0)
          return (1);
      };
    }
    CSPL_Array_clip(d1, 3, 5.5, 5);
    for (i = 0; i < 5; i++) {
      printf("CSPL_Array_clip[%ld]=%lf  %lf\n", i, d1[i], answer3[i]);
      {
        if ((fabs((d1[i]) - (answer3[i])) < (1e-5)) == 0)
          return (1);
      };
    }
    CSPL_Array_clip(d1, -10, -4, 5);
    for (i = 0; i < 5; i++) {
      printf("CSPL_Array_clip[%ld]=%lf  %lf\n", i, d1[i], answer4[i]);
      {
        if ((fabs((d1[i]) - (answer4[i])) < (1e-5)) == 0)
          return (1);
      };
    }
  }
  {
    double d1[5] = {5.6, 3.4, 2, 4.5, 3.1};
    double answer1[5] = {2, 3.1, 3.4, 4.5, 5.6};
    unsigned long i;
    double tst;
    for (i = 0; i < 5; i++) {
      tst = CSPL_Array_quickselect(i, d1, 0, 4);
      printf("CSPL_Array_quickselect(%ld, d1, 0, 4)=%lf\n", i, tst);
      {
        if ((fabs((tst) - (answer1[i])) < (1e-5)) == 0)
          return (1);
      };
    }
  }
  {
    double d1[5] = {5.6, 3.4, 2, 4.5, 3.1};
    double answer1[5] = {2, 3.4, 4.5, 5.6};
    unsigned long i;
    double tst;
    for (i = 0; i < 4; i++) {
      tst = CSPL_Array_quickselect(i, d1, 0, 3);
      printf("CSPL_Array_quickselect(%ld, d1, 0, 3)=%lf\n", i, tst);
      {
        if ((fabs((tst) - (answer1[i])) < (1e-5)) == 0)
          return (1);
      };
    }
  }
  {
    double dat1[5] = {1, 2, 5, 7, 8};
    long ans, i;
    double val;
    for (i = 0; i < 5; i++)
      printf("dat1[%ld]=%lf\n", i, dat1[i]);
    val = -1;
    ans = CSPL_Array_bisect(val, dat1, 5);
    printf("CSPL_Array_bisect(%lf, dat1, 5)=%ld\n", val, ans);
    {
      if (0 != ans)
        return (1);
    };
    val = 1.5;
    ans = CSPL_Array_bisect(val, dat1, 5);
    printf("CSPL_Array_bisect(%lf, dat1, 5)=%ld\n", val, ans);
    {
      if (1 != ans)
        return (1);
    };
    val = 5.0;
    ans = CSPL_Array_bisect(val, dat1, 5);
    printf("CSPL_Array_bisect(%lf, dat1, 5)=%ld\n", val, ans);
    {
      if (3 != ans)
        return (1);
    };
    val = 5.5;
    ans = CSPL_Array_bisect(val, dat1, 5);
    printf("CSPL_Array_bisect(%lf, dat1, 5)=%ld\n", val, ans);
    {
      if (3 != ans)
        return (1);
    };
    val = 8.5;
    ans = CSPL_Array_bisect(val, dat1, 5);
    printf("CSPL_Array_bisect(%lf, dat1, 5)=%ld\n", val, ans);
    {
      if (5 != ans)
        return (1);
    };
  }
  {
    double dat1[5] = {1, 4, 7, 8, 9};
    long ans, i;
    double val;
    for (i = 0; i < 5; i++)
      printf("dat1[%ld]=%lf\n", i, dat1[i]);
    val = 0;
    ans = CSPL_Array_bisect(val, dat1, 5);
    printf("CSPL_Array_bisect(%lf, dat1, 5)=%ld\n", val, ans);
    {
      if (0 != ans)
        return (1);
    };
    val = 3;
    ans = CSPL_Array_bisect(val, dat1, 5);
    printf("CSPL_Array_bisect(%lf, dat1, 5)=%ld\n", val, ans);
    {
      if (1 != ans)
        return (1);
    };
    val = 4.0;
    ans = CSPL_Array_bisect(val, dat1, 5);
    printf("CSPL_Array_bisect(%lf, dat1, 5)=%ld\n", val, ans);
    {
      if (2 != ans)
        return (1);
    };
  }
  {
    double ans[10] = {12.3, 14.73333333, 17.16666667, 19.6, 22.03333333, 24.46666667, 26.9, 29.33333333, 31.76666667, 34.2};
    long i;
    double outval[10];
    CSPL_Array_linspace(outval, 12.3, 34.2, 10);
    for (i = 0; i < 10; i++) {
      printf("CSPL_Array_linspace[%ld]=%lf  ->  %lf\n", i, outval[i], ans[i]);
      {
        if ((fabs((outval[i]) - (ans[i])) < (1e-5)) == 0)
          return (1);
      };
    }
  }
  {
    double ans[10] = {12.3, 13.78008475, 15.4382712, 17.2959907, 19.37725347, 21.70895895, 24.32124343, 27.24786957, 30.52666276, 34.2};
    long i;
    double outval[10];
    CSPL_Array_logspace(outval, 12.3, 34.2, 10);
    for (i = 0; i < 10; i++) {
      printf("CSPL_Array_logspace[%ld]=%lf  ->  %lf\n", i, outval[i], ans[i]);
      {
        if ((fabs((outval[i]) - (ans[i])) < (1e-5)) == 0)
          return (1);
      };
    }
  }
  return (0);
}
```