// File: GouMinghao[P]graspnms/grasp_nms.cpp
// Function: _Pyx_PyInt_EqObjC(_object*, _object*, long, long)
static CYTHON_INLINE PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, CYTHON_UNUSED long inplace) {
    if (op1 == op2) {
        Py_RETURN_TRUE;
    }
    #if PY_MAJOR_VERSION < 3
    if (likely(PyInt_CheckExact(op1))) {
        const long b = intval;
        long a = PyInt_AS_LONG(op1);
        if (a == b) Py_RETURN_TRUE; else Py_RETURN_FALSE;
    }
    #endif
    #if CYTHON_USE_PYLONG_INTERNALS
    if (likely(PyLong_CheckExact(op1))) {
        int unequal;
        unsigned long uintval;
        Py_ssize_t size = Py_SIZE(op1);
        const digit* digits = ((PyLongObject*)op1)->ob_digit;
        if (intval == 0) {
            if (size == 0) Py_RETURN_TRUE; else Py_RETURN_FALSE;
        } else if (intval < 0) {
            if (size >= 0)
                Py_RETURN_FALSE;
            intval = -intval;
            size = -size;
        } else {
            if (size <= 0)
                Py_RETURN_FALSE;
        }
        uintval = (unsigned long) intval;
#if PyLong_SHIFT * 4 < SIZEOF_LONG*8
        if (uintval >> (PyLong_SHIFT * 4)) {
            unequal = (size != 5) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
                 | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[4] != ((uintval >> (4 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
        } else
#endif
#if PyLong_SHIFT * 3 < SIZEOF_LONG*8
        if (uintval >> (PyLong_SHIFT * 3)) {
            unequal = (size != 4) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
                 | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
        } else
#endif
#if PyLong_SHIFT * 2 < SIZEOF_LONG*8
        if (uintval >> (PyLong_SHIFT * 2)) {
            unequal = (size != 3) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
                 | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
        } else
#endif
#if PyLong_SHIFT * 1 < SIZEOF_LONG*8
        if (uintval >> (PyLong_SHIFT * 1)) {
            unequal = (size != 2) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
                 | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
        } else
#endif
            unequal = (size != 1) || (((unsigned long) digits[0]) != (uintval & (unsigned long) PyLong_MASK));
        if (unequal == 0) Py_RETURN_TRUE; else Py_RETURN_FALSE;
    }
    #endif
    if (PyFloat_CheckExact(op1)) {
        const long b = intval;
        double a = PyFloat_AS_DOUBLE(op1);
        if ((double)a == (double)b) Py_RETURN_TRUE; else Py_RETURN_FALSE;
    }
    return (
        PyObject_RichCompare(op1, op2, Py_EQ));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq -0x10(%rbp), %rax
cmpq -0x18(%rbp), %rax
jne 0x13257
movq 0xfcbf(%rip), %rdi      # 0x22f08
callq 0x13e10
movq %rax, -0x8(%rbp)
jmp 0x1350e
movq -0x10(%rbp), %rdi
movq 0xfd56(%rip), %rsi      # 0x22fb8
callq 0x11be0
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x1327a
jmp 0x13496
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rax
addq $0x18, %rax
movq %rax, -0x48(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x132ca
cmpq $0x0, -0x40(%rbp)
jne 0x132b5
movq 0xfc61(%rip), %rdi      # 0x22f08
callq 0x13e10
movq %rax, -0x8(%rbp)
jmp 0x1350e
movq 0xfcf4(%rip), %rdi      # 0x22fb0
callq 0x13e10
movq %rax, -0x8(%rbp)
jmp 0x1350e
cmpq $0x0, -0x20(%rbp)
jge 0x13303
cmpq $0x0, -0x40(%rbp)
jl 0x132ed
movq 0xfcd1(%rip), %rdi      # 0x22fb0
callq 0x13e10
movq %rax, -0x8(%rbp)
jmp 0x1350e
xorl %eax, %eax
subq -0x20(%rbp), %rax
movq %rax, -0x20(%rbp)
xorl %eax, %eax
subq -0x40(%rbp), %rax
movq %rax, -0x40(%rbp)
jmp 0x13321
cmpq $0x0, -0x40(%rbp)
jg 0x1331f
movq 0xfc9f(%rip), %rdi      # 0x22fb0
callq 0x13e10
movq %rax, -0x8(%rbp)
jmp 0x1350e
jmp 0x13321
jmp 0x13323
movq -0x20(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
shrq $0x3c, %rax
cmpq $0x0, %rax
je 0x133c6
movb $0x1, %al
cmpq $0x3, -0x40(%rbp)
movb %al, -0x59(%rbp)
jne 0x133b6
movq -0x48(%rbp), %rax
movl (%rax), %eax
movq -0x38(%rbp), %rcx
andq $0x3fffffff, %rcx       # imm = 0x3FFFFFFF
cmpq %rcx, %rax
setne %al
andb $0x1, %al
movzbl %al, %eax
movq -0x48(%rbp), %rcx
movl 0x4(%rcx), %ecx
movq -0x38(%rbp), %rdx
shrq $0x1e, %rdx
andq $0x3fffffff, %rdx       # imm = 0x3FFFFFFF
cmpq %rdx, %rcx
setne %cl
andb $0x1, %cl
movzbl %cl, %ecx
orl %ecx, %eax
movq -0x48(%rbp), %rcx
movl 0x8(%rcx), %ecx
movq -0x38(%rbp), %rdx
shrq $0x3c, %rdx
andq $0x3fffffff, %rdx       # imm = 0x3FFFFFFF
cmpq %rdx, %rcx
setne %cl
andb $0x1, %cl
movzbl %cl, %ecx
orl %ecx, %eax
cmpl $0x0, %eax
setne %al
movb %al, -0x59(%rbp)
movb -0x59(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x2c(%rbp)
jmp 0x13469
movq -0x38(%rbp), %rax
shrq $0x1e, %rax
cmpq $0x0, %rax
je 0x13436
movb $0x1, %al
cmpq $0x2, -0x40(%rbp)
movb %al, -0x5a(%rbp)
jne 0x13429
movq -0x48(%rbp), %rax
movl (%rax), %eax
movq -0x38(%rbp), %rcx
andq $0x3fffffff, %rcx       # imm = 0x3FFFFFFF
cmpq %rcx, %rax
setne %al
andb $0x1, %al
movzbl %al, %eax
movq -0x48(%rbp), %rcx
movl 0x4(%rcx), %ecx
movq -0x38(%rbp), %rdx
shrq $0x1e, %rdx
andq $0x3fffffff, %rdx       # imm = 0x3FFFFFFF
cmpq %rdx, %rcx
setne %cl
andb $0x1, %cl
movzbl %cl, %ecx
orl %ecx, %eax
cmpl $0x0, %eax
setne %al
movb %al, -0x5a(%rbp)
movb -0x5a(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x2c(%rbp)
jmp 0x13467
movb $0x1, %al
cmpq $0x1, -0x40(%rbp)
movb %al, -0x5b(%rbp)
jne 0x1345c
movq -0x48(%rbp), %rax
movl (%rax), %eax
movq -0x38(%rbp), %rcx
andq $0x3fffffff, %rcx       # imm = 0x3FFFFFFF
cmpq %rcx, %rax
setne %al
movb %al, -0x5b(%rbp)
movb -0x5b(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x2c(%rbp)
jmp 0x13469
cmpl $0x0, -0x2c(%rbp)
jne 0x13484
movq 0xfa92(%rip), %rdi      # 0x22f08
callq 0x13e10
movq %rax, -0x8(%rbp)
jmp 0x1350e
movq 0xfb25(%rip), %rdi      # 0x22fb0
callq 0x13e10
movq %rax, -0x8(%rbp)
jmp 0x1350e
movq -0x10(%rbp), %rdi
movq 0xfb1f(%rip), %rsi      # 0x22fc0
callq 0x11be0
cmpl $0x0, %eax
je 0x134f8
movq -0x20(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x10(%rbp), %rax
movsd 0x10(%rax), %xmm0
movsd %xmm0, -0x58(%rbp)
movsd -0x58(%rbp), %xmm0
cvtsi2sdq -0x50(%rbp), %xmm1
ucomisd %xmm1, %xmm0
jne 0x134e6
jp 0x134e6
movq 0xfa2d(%rip), %rdi      # 0x22f08
callq 0x13e10
movq %rax, -0x8(%rbp)
jmp 0x1350e
movq 0xfac3(%rip), %rdi      # 0x22fb0
callq 0x13e10
movq %rax, -0x8(%rbp)
jmp 0x1350e
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movl $0x2, %edx
callq 0xb5f0
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopl (%rax,%rax)