// File: ehw-fit[P]py-paretoarchive/src/paretoarchive/core.cpp
// Function: _pyx_pw_13paretoarchive_4core_18PyBspTreeArchive12_17points(_object*, _object*, _object*)
static PyObject *__pyx_pw_13paretoarchive_4core_18PyBspTreeArchive12_17points(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  bool __pyx_v_returnIds;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("points (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_returnIds,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_returnIds);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "points") < 0)) __PYX_ERR(0, 962, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_returnIds = __Pyx_PyObject_IsTrue(values[0]); if (unlikely((__pyx_v_returnIds == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 962, __pyx_L3_error)
    } else {
      __pyx_v_returnIds = ((bool)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("points", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 962, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("paretoarchive.core.PyBspTreeArchive12.points", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_13paretoarchive_4core_18PyBspTreeArchive12_16points(((struct __pyx_obj_13paretoarchive_4core_PyBspTreeArchive12 *)__pyx_v_self), __pyx_v_returnIds);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %fs:0x28, %rax
movq %rax, -0x8(%rbp)
movq %rdi, -0x20(%rbp)
movq %rsi, -0x28(%rbp)
movq %rdx, -0x30(%rbp)
movl $0x0, -0x38(%rbp)
movq $0x0, -0x40(%rbp)
movl $0x0, -0x44(%rbp)
movq $0x0, -0x50(%rbp)
leaq -0x10(%rbp), %rdi
xorl %esi, %esi
movl $0x8, %edx
callq 0x29250
cmpq $0x0, -0x30(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x50577
jmp 0x50675
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0x70(%rbp)
testq %rax, %rax
je 0x505aa
jmp 0x50592
movq -0x70(%rbp), %rax
subq $0x1, %rax
jne 0x505ac
jmp 0x5059e
movq -0x28(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x10(%rbp)
jmp 0x505b1
jmp 0x50712
movq -0x30(%rbp), %rdi
callq 0x29650
movq %rax, -0x58(%rbp)
movq -0x60(%rbp), %rax
testq %rax, %rax
jne 0x5060e
jmp 0x505c9
cmpq $0x0, -0x58(%rbp)
jle 0x5060c
movq -0x30(%rbp), %rdi
movq 0x5c11d(%rip), %rsi     # 0xac6f8
movq 0x5c116(%rip), %rax     # 0xac6f8
movq 0x18(%rax), %rdx
callq 0x29490
movq %rax, -0x68(%rbp)
cmpq $0x0, -0x68(%rbp)
je 0x5060a
movq -0x68(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x58(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x58(%rbp)
jmp 0x5060c
jmp 0x5060e
cmpq $0x0, -0x58(%rbp)
setg %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x50620
jmp 0x50673
movq -0x30(%rbp), %rdi
leaq -0x10(%rbp), %rcx
movq -0x60(%rbp), %r8
leaq 0x5b3fd(%rip), %rsi     # 0xaba30
xorl %eax, %eax
movl %eax, %edx
leaq 0x3f462(%rip), %r9      # 0x8faa0
callq 0x2f320
cmpl $0x0, %eax
setl %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x50653
jmp 0x50671
movq 0x56e06(%rip), %rax     # 0xa7460
movq %rax, -0x40(%rbp)
movl $0x3c2, -0x38(%rbp)     # imm = 0x3C2
movl $0x42df, -0x44(%rbp)    # imm = 0x42DF
jmp 0x5074a
jmp 0x50673
jmp 0x506a6
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x78(%rbp)
testq %rax, %rax
je 0x506a0
jmp 0x50688
movq -0x78(%rbp), %rax
subq $0x1, %rax
jne 0x506a2
jmp 0x50694
movq -0x28(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x10(%rbp)
jmp 0x506a4
jmp 0x50712
jmp 0x506a6
cmpq $0x0, -0x10(%rbp)
je 0x5070c
movq -0x10(%rbp), %rdi
callq 0x2f230
cmpl $0x0, %eax
setne %al
andb $0x1, %al
movb %al, -0x31(%rbp)
movb -0x31(%rbp), %al
andb $0x1, %al
movzbl %al, %ecx
xorl %eax, %eax
cmpl $0x1, %ecx
movb %al, -0x79(%rbp)
jne 0x506e2
callq 0x295f0
cmpq $0x0, %rax
setne %al
movb %al, -0x79(%rbp)
movb -0x79(%rbp), %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x506ef
jmp 0x5070a
movq 0x56d6a(%rip), %rax     # 0xa7460
movq %rax, -0x40(%rbp)
movl $0x3c2, -0x38(%rbp)     # imm = 0x3C2
movl $0x42ea, -0x44(%rbp)    # imm = 0x42EA
jmp 0x5074a
jmp 0x50710
movb $0x0, -0x31(%rbp)
jmp 0x5076a
movq -0x28(%rbp), %rax
movq 0x10(%rax), %r8
leaq 0x3f37f(%rip), %rdi     # 0x8faa0
xorl %esi, %esi
xorl %eax, %eax
movl %eax, %edx
movl $0x1, %ecx
callq 0x2f6a0
movq 0x56d28(%rip), %rax     # 0xa7460
movq %rax, -0x40(%rbp)
movl $0x3c2, -0x38(%rbp)     # imm = 0x3C2
movl $0x42f1, -0x44(%rbp)    # imm = 0x42F1
movl -0x44(%rbp), %esi
movl -0x38(%rbp), %edx
movq -0x40(%rbp), %rcx
leaq 0x3f591(%rip), %rdi     # 0x8fcec
callq 0x2c5a0
movq $0x0, -0x18(%rbp)
jmp 0x50787
movq -0x20(%rbp), %rdi
movb -0x31(%rbp), %al
andb $0x1, %al
movzbl %al, %esi
callq 0x53500
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x88(%rbp)
movq %fs:0x28, %rax
movq -0x8(%rbp), %rcx
cmpq %rcx, %rax
jne 0x507b4
movq -0x88(%rbp), %rax
addq $0x90, %rsp
popq %rbp
retq
callq 0x29420
nopl (%rax)