// File: GouMinghao[P]graspnms/grasp_nms.cpp
// Function: _Pyx_GetItemInt_Fast(_object*, long, int, int, int)
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list,
                                                     CYTHON_NCP_UNUSED int wraparound,
                                                     CYTHON_NCP_UNUSED int boundscheck) {
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS
    if (is_list || PyList_CheckExact(o)) {
        Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
        if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) {
            PyObject *r = PyList_GET_ITEM(o, n);
            Py_INCREF(r);
            return r;
        }
    }
    else if (PyTuple_CheckExact(o)) {
        Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
        if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) {
            PyObject *r = PyTuple_GET_ITEM(o, n);
            Py_INCREF(r);
            return r;
        }
    } else {
        PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
        if (likely(m && m->sq_item)) {
            if (wraparound && unlikely(i < 0) && likely(m->sq_length)) {
                Py_ssize_t l = m->sq_length(o);
                if (likely(l >= 0)) {
                    i += l;
                } else {
                    if (!PyErr_ExceptionMatches(PyExc_OverflowError))
                        return NULL;
                    PyErr_Clear();
                }
            }
            return m->sq_item(o, i);
        }
    }
#else
    if (is_list || PySequence_Check(o)) {
        return PySequence_GetItem(o, i);
    }
#endif
    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl %edx, -0x1c(%rbp)
movl %ecx, -0x20(%rbp)
movl %r8d, -0x24(%rbp)
cmpl $0x0, -0x1c(%rbp)
jne 0x135dc
movq -0x10(%rbp), %rdi
movq 0xf952(%rip), %rsi      # 0x22f20
callq 0x11be0
cmpl $0x0, %eax
je 0x13737
cmpl $0x0, -0x20(%rbp)
setne %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cmpq $0x0, -0x18(%rbp)
setge %cl
xorb $-0x1, %cl
xorb $-0x1, %cl
andb $0x1, %cl
movzbl %cl, %ecx
orq %rcx, %rax
cmpq $0x0, %rax
je 0x13611
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
jmp 0x13661
movq -0x18(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movl $0x2000000, %esi        # imm = 0x2000000
callq 0x11dc0
cmpl $0x0, %eax
je 0x13632
jmp 0x13651
leaq 0x926c(%rip), %rdi      # 0x1c8a5
leaq 0x8e1e(%rip), %rsi      # 0x1c45e
movl $0x1303, %edx           # imm = 0x1303
leaq 0x9269(%rip), %rcx      # 0x1c8b5
callq 0xb280
movq -0x68(%rbp), %rax
movq -0x10(%rbp), %rcx
addq 0x10(%rcx), %rax
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0x30(%rbp)
cmpl $0x0, -0x24(%rbp)
je 0x136d0
movq -0x30(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movl $0x2000000, %esi        # imm = 0x2000000
callq 0x11dc0
cmpl $0x0, %eax
je 0x13690
jmp 0x136af
leaq 0x920e(%rip), %rdi      # 0x1c8a5
leaq 0x8dc0(%rip), %rsi      # 0x1c45e
movl $0x1304, %edx           # imm = 0x1304
leaq 0x920b(%rip), %rcx      # 0x1c8b5
callq 0xb280
movq -0x70(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x13e30
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x136d0
jmp 0x13732
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movl $0x2000000, %esi        # imm = 0x2000000
callq 0x11dc0
cmpl $0x0, %eax
je 0x136e9
jmp 0x13708
leaq 0x91b5(%rip), %rdi      # 0x1c8a5
leaq 0x8d67(%rip), %rsi      # 0x1c45e
movl $0x1305, %edx           # imm = 0x1305
leaq 0x91b2(%rip), %rcx      # 0x1c8b5
callq 0xb280
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rdi
callq 0xdcc0
movq -0x38(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x139b8
jmp 0x13991
movq -0x10(%rbp), %rdi
movq 0xf7d6(%rip), %rsi      # 0x22f18
callq 0x11be0
cmpl $0x0, %eax
je 0x138ae
cmpl $0x0, -0x20(%rbp)
setne %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cmpq $0x0, -0x18(%rbp)
setge %cl
xorb $-0x1, %cl
xorb $-0x1, %cl
andb $0x1, %cl
movzbl %cl, %ecx
orq %rcx, %rax
cmpq $0x0, %rax
je 0x13785
movq -0x18(%rbp), %rax
movq %rax, -0x78(%rbp)
jmp 0x137d5
movq -0x18(%rbp), %rax
movq %rax, -0x80(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movl $0x4000000, %esi        # imm = 0x4000000
callq 0x11dc0
cmpl $0x0, %eax
je 0x137a6
jmp 0x137c5
leaq 0x914f(%rip), %rdi      # 0x1c8fc
leaq 0x8caa(%rip), %rsi      # 0x1c45e
movl $0x130b, %edx           # imm = 0x130B
leaq 0x90f5(%rip), %rcx      # 0x1c8b5
callq 0xb280
movq -0x80(%rbp), %rax
movq -0x10(%rbp), %rcx
addq 0x10(%rcx), %rax
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
movq %rax, -0x40(%rbp)
cmpl $0x0, -0x24(%rbp)
je 0x1384a
movq -0x40(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movl $0x4000000, %esi        # imm = 0x4000000
callq 0x11dc0
cmpl $0x0, %eax
je 0x13807
jmp 0x13826
leaq 0x90ee(%rip), %rdi      # 0x1c8fc
leaq 0x8c49(%rip), %rsi      # 0x1c45e
movl $0x130c, %edx           # imm = 0x130C
leaq 0x9094(%rip), %rcx      # 0x1c8b5
callq 0xb280
movq -0x88(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x13e30
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x1384a
jmp 0x138a9
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movl $0x4000000, %esi        # imm = 0x4000000
callq 0x11dc0
cmpl $0x0, %eax
je 0x13863
jmp 0x13882
leaq 0x9092(%rip), %rdi      # 0x1c8fc
leaq 0x8bed(%rip), %rsi      # 0x1c45e
movl $0x130d, %edx           # imm = 0x130D
leaq 0x9038(%rip), %rcx      # 0x1c8b5
callq 0xb280
movq -0x10(%rbp), %rax
movq -0x40(%rbp), %rcx
movq 0x18(%rax,%rcx,8), %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rdi
callq 0xdcc0
movq -0x48(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x139b8
jmp 0x1398f
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x68(%rax), %rax
movq %rax, -0x50(%rbp)
xorl %eax, %eax
cmpq $0x0, -0x50(%rbp)
movb %al, -0x89(%rbp)
je 0x138df
movq -0x50(%rbp), %rax
cmpq $0x0, 0x18(%rax)
setne %al
movb %al, -0x89(%rbp)
movb -0x89(%rbp), %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x138f2
jmp 0x1398d
cmpl $0x0, -0x20(%rbp)
je 0x13975
cmpq $0x0, -0x18(%rbp)
setl %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x1390a
jmp 0x13975
movq -0x50(%rbp), %rax
cmpq $0x0, (%rax)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x1391f
jmp 0x13975
movq -0x50(%rbp), %rax
movq (%rax), %rax
movq -0x10(%rbp), %rdi
callq *%rax
movq %rax, -0x58(%rbp)
cmpq $0x0, -0x58(%rbp)
setge %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x13942
jmp 0x13950
movq -0x58(%rbp), %rax
addq -0x18(%rbp), %rax
movq %rax, -0x18(%rbp)
jmp 0x13973
movq 0xf619(%rip), %rax      # 0x22f70
movq (%rax), %rdi
callq 0xb2f0
cmpl $0x0, %eax
jne 0x1396e
movq $0x0, -0x8(%rbp)
jmp 0x139b8
callq 0xb3a0
jmp 0x13975
movq -0x50(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq *%rax
movq %rax, -0x8(%rbp)
jmp 0x139b8
jmp 0x1398f
jmp 0x13991
movq -0x10(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x18(%rbp), %rdi
callq 0xb070
movq -0x98(%rbp), %rdi
movq %rax, %rsi
callq 0x13e50
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0xa0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)