// File: ehw-fit[P]py-paretoarchive/src/paretoarchive/core.cpp
// Function: _pyx_pf_13paretoarchive_4core_17PyBspTreeArchive2___reduce__(__pyx_obj_13paretoarchive_4core_PyBspTreeArchive2*)
static PyObject *__pyx_pf_13paretoarchive_4core_17PyBspTreeArchive2___reduce__(struct __pyx_obj_13paretoarchive_4core_PyBspTreeArchive2 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce__", 0);

  /* "paretoarchive/core.pyx":117
 * 
 *   def __reduce__(self):
 *     return (PyBspTreeArchive2, (self._id, self._sign))             # <<<<<<<<<<<<<<
 * 
 *   def __cinit__(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_id); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_carray_to_py_int(__pyx_v_self->_sign, 2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(((PyObject *)__pyx_ptype_13paretoarchive_4core_PyBspTreeArchive2));
  __Pyx_GIVEREF(((PyObject *)__pyx_ptype_13paretoarchive_4core_PyBspTreeArchive2));
  PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_ptype_13paretoarchive_4core_PyBspTreeArchive2));
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "paretoarchive/core.pyx":116
 *   cdef int _id
 * 
 *   def __reduce__(self):             # <<<<<<<<<<<<<<
 *     return (PyBspTreeArchive2, (self._id, self._sign))
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("paretoarchive.core.PyBspTreeArchive2.__reduce__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq $0x0, -0x10(%rbp)
movq $0x0, -0x18(%rbp)
movq $0x0, -0x20(%rbp)
movq $0x0, -0x28(%rbp)
movl $0x0, -0x2c(%rbp)
movq $0x0, -0x38(%rbp)
movl $0x0, -0x3c(%rbp)
movq -0x10(%rbp), %rdi
callq 0x2a8d0
movq -0x8(%rbp), %rax
movl 0x20(%rax), %edi
callq 0x2ec60
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x317bf
jmp 0x317dd
movq 0x75c9a(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x75, -0x2c(%rbp)
movl $0xcae, -0x3c(%rbp)     # imm = 0xCAE
jmp 0x3190b
movq -0x8(%rbp), %rdi
addq $0x18, %rdi
movl $0x2, %esi
callq 0x2ec90
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x31807
jmp 0x31825
movq 0x75c52(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x75, -0x2c(%rbp)
movl $0xcb0, -0x3c(%rbp)     # imm = 0xCB0
jmp 0x3190b
movl $0x2, %edi
callq 0x29200
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x31847
jmp 0x31865
movq 0x75c12(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x75, -0x2c(%rbp)
movl $0xcb2, -0x3c(%rbp)     # imm = 0xCB2
jmp 0x3190b
movq -0x18(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x20(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x20(%rax)
movq $0x0, -0x18(%rbp)
movq $0x0, -0x20(%rbp)
movl $0x2, %edi
callq 0x29200
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x318af
jmp 0x318ca
movq 0x75baa(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x75, -0x2c(%rbp)
movl $0xcba, -0x3c(%rbp)     # imm = 0xCBA
jmp 0x3190b
movq 0x7ab3f(%rip), %rdi     # 0xac410
callq 0x2a7c0
movq 0x7ab33(%rip), %rcx     # 0xac410
movq -0x20(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x20(%rax)
movq $0x0, -0x28(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x10(%rbp)
movq $0x0, -0x20(%rbp)
jmp 0x31944
movq -0x18(%rbp), %rdi
callq 0x2a8d0
movq -0x20(%rbp), %rdi
callq 0x2a8d0
movq -0x28(%rbp), %rdi
callq 0x2a8d0
movl -0x3c(%rbp), %esi
movl -0x2c(%rbp), %edx
movq -0x38(%rbp), %rcx
leaq 0x5d6cc(%rip), %rdi     # 0x8f003
callq 0x2c5a0
movq $0x0, -0x10(%rbp)
movq -0x10(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nop