// File: icemiliang[P]vot/src/vot/../../include/Eigen/src/SparseCore/SparseMatrix.h
// Function: Eigen::SparseMatrix<double, 0, int>::coeffRef(long, long)
inline Scalar& coeffRef(Index row, Index col)
    {
      eigen_assert(row>=0 && row<rows() && col>=0 && col<cols());
      
      const Index outer = IsRowMajor ? row : col;
      const Index inner = IsRowMajor ? col : row;

      Index start = m_outerIndex[outer];
      Index end = m_innerNonZeros ? m_outerIndex[outer] + m_innerNonZeros[outer] : m_outerIndex[outer+1];
      eigen_assert(end>=start && "you probably called coeffRef on a non finalized matrix");
      if(end<=start)
        return insert(row,col);
      const Index p = m_data.searchLowerIndex(start,end-1,StorageIndex(inner));
      if((p<end) && (m_data.index(p)==inner))
        return m_data.value(p);
      else
        return insert(row,col);
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x58(%rbp)
xorl %eax, %eax
cmpq $0x0, -0x18(%rbp)
movb %al, -0x49(%rbp)
jl 0x24147
movq -0x58(%rbp), %rdi
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
callq 0x25560
movq -0x60(%rbp), %rcx
movq %rax, %rdx
xorl %eax, %eax
cmpq %rdx, %rcx
movb %al, -0x49(%rbp)
jge 0x24147
xorl %eax, %eax
cmpq $0x0, -0x20(%rbp)
movb %al, -0x49(%rbp)
jl 0x24147
movq -0x58(%rbp), %rdi
movq -0x20(%rbp), %rax
movq %rax, -0x68(%rbp)
callq 0x25580
movq %rax, %rcx
movq -0x68(%rbp), %rax
cmpq %rcx, %rax
setl %al
movb %al, -0x49(%rbp)
movb -0x49(%rbp), %al
testb $0x1, %al
jne 0x24150
jmp 0x24152
jmp 0x24171
leaq 0x6b572(%rip), %rdi     # 0x8f6cb
leaq 0x69f14(%rip), %rsi     # 0x8e074
movl $0xd0, %edx
leaq 0x6b58c(%rip), %rcx     # 0x8f6f8
callq 0xa330
movq -0x58(%rbp), %rax
movq -0x20(%rbp), %rcx
movq %rcx, -0x28(%rbp)
movq -0x18(%rbp), %rcx
movq %rcx, -0x30(%rbp)
movq 0x18(%rax), %rcx
movq -0x28(%rbp), %rdx
movslq (%rcx,%rdx,4), %rcx
movq %rcx, -0x38(%rbp)
cmpq $0x0, 0x20(%rax)
je 0x241bb
movq -0x58(%rbp), %rcx
movq 0x18(%rcx), %rax
movq -0x28(%rbp), %rdx
movl (%rax,%rdx,4), %eax
movq 0x20(%rcx), %rcx
movq -0x28(%rbp), %rdx
addl (%rcx,%rdx,4), %eax
movl %eax, -0x6c(%rbp)
jmp 0x241ce
movq -0x58(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x28(%rbp), %rcx
movl 0x4(%rax,%rcx,4), %eax
movl %eax, -0x6c(%rbp)
movl -0x6c(%rbp), %eax
cltq
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rcx
xorl %eax, %eax
cmpq -0x38(%rbp), %rcx
movb %al, -0x6d(%rbp)
jl 0x241ed
movb $0x1, %al
movb %al, -0x6d(%rbp)
jmp 0x241ed
movb -0x6d(%rbp), %al
testb $0x1, %al
jne 0x241f6
jmp 0x241f8
jmp 0x24217
leaq 0x6b5a2(%rip), %rdi     # 0x8f7a1
leaq 0x69e6e(%rip), %rsi     # 0x8e074
movl $0xd7, %edx
leaq 0x6b4e6(%rip), %rcx     # 0x8f6f8
callq 0xa330
movq -0x40(%rbp), %rax
cmpq -0x38(%rbp), %rax
jg 0x24238
movq -0x58(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0x2b140
movq %rax, -0x8(%rbp)
jmp 0x242ac
movq -0x58(%rbp), %rdi
addq $0x28, %rdi
movq -0x38(%rbp), %rsi
movq -0x40(%rbp), %rdx
subq $0x1, %rdx
movq -0x30(%rbp), %rax
movslq %eax, %rcx
callq 0x2b8f0
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
cmpq -0x40(%rbp), %rax
jge 0x24297
movq -0x58(%rbp), %rdi
addq $0x28, %rdi
movq -0x48(%rbp), %rsi
callq 0x27e90
movslq (%rax), %rax
cmpq -0x30(%rbp), %rax
jne 0x24297
movq -0x58(%rbp), %rdi
addq $0x28, %rdi
movq -0x48(%rbp), %rsi
callq 0x27ec0
movq %rax, -0x8(%rbp)
jmp 0x242ac
movq -0x58(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0x2b140
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)