// File: icemiliang[P]vot/src/vot/../../include/Eigen/src/SparseCore/SparseDenseProduct.h
// Function: Eigen::internal::sparse_time_dense_product_impl<Eigen::Ref<Eigen::SparseMatrix<double, 0, int> const, 0, Eigen::OuterStride<-1>>, Eigen::Block<Eigen::Matrix<double, -1, 1, 0, -1, 1>, -1, 1, true>, Eigen::Matrix<double, -1, 1, 0, -1, 1>, double, 0, true>::run(Eigen::Ref<Eigen::SparseMatrix<double, 0, int> const, 0, Eigen::OuterStride<-1>> const&, Eigen::Block<Eigen::Matrix<double, -1, 1, 0, -1, 1>, -1, 1, true> const&, Eigen::Matrix<double, -1, 1, 0, -1, 1>&, double const&)
static void run(const SparseLhsType& lhs, const DenseRhsType& rhs, DenseResType& res, const AlphaType& alpha)
  {
    evaluator<Lhs> lhsEval(lhs);
    for(Index c=0; c<rhs.cols(); ++c)
    {
      for(Index j=0; j<lhs.outerSize(); ++j)
      {
//        typename Res::Scalar rhs_j = alpha * rhs.coeff(j,c);
        typename ScalarBinaryOpTraits<AlphaType, typename Rhs::Scalar>::ReturnType rhs_j(alpha * rhs.coeff(j,c));
        for(LhsInnerIterator it(lhsEval,j); it ;++it)
          res.coeffRef(it.index(),c) += it.value() * rhs_j;
      }
    }
  }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x8(%rbp), %rsi
leaq -0x30(%rbp), %rdi
callq 0x392f0
movq $0x0, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x10(%rbp), %rdi
callq 0x381f0
movq %rax, %rcx
movq -0x88(%rbp), %rax
cmpq %rcx, %rax
jge 0x392c6
movq $0x0, -0x40(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0x8(%rbp), %rdi
callq 0x35520
movq %rax, %rcx
movq -0x90(%rbp), %rax
cmpq %rcx, %rax
jge 0x392b3
movq -0x20(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0xa0(%rbp)
movq -0x10(%rbp), %rdi
movq -0x40(%rbp), %rsi
movq -0x38(%rbp), %rdx
callq 0x39320
movq %rax, -0x98(%rbp)
jmp 0x391a0
movsd -0xa0(%rbp), %xmm0
movq -0x98(%rbp), %rax
movsd (%rax), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x48(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x393a0
movq %rax, -0xa8(%rbp)
jmp 0x391ce
movq -0xa8(%rbp), %rsi
movq -0x40(%rbp), %rdx
leaq -0x80(%rbp), %rdi
callq 0x393c0
jmp 0x391e4
jmp 0x391e6
leaq -0x80(%rbp), %rdi
callq 0x36150
testb $0x1, %al
jne 0x391f8
jmp 0x392a0
leaq -0x80(%rbp), %rdi
movq %rdi, -0xd0(%rbp)
callq 0x36320
movq -0xd0(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0xc8(%rbp)
movsd -0x48(%rbp), %xmm0
movsd %xmm0, -0xc0(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0xb8(%rbp)
callq 0x36170
movq -0xb8(%rbp), %rdi
movslq %eax, %rsi
movq -0x38(%rbp), %rdx
callq 0x39490
movq %rax, -0xb0(%rbp)
jmp 0x39254
movq -0xb0(%rbp), %rax
movsd -0xc0(%rbp), %xmm2
movsd -0xc8(%rbp), %xmm0
movsd (%rax), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, (%rax)
leaq -0x80(%rbp), %rdi
callq 0x36190
jmp 0x391e6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x39500
jmp 0x392d8
jmp 0x392a2
movq -0x40(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x40(%rbp)
jmp 0x3914f
jmp 0x392b5
movq -0x38(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x38(%rbp)
jmp 0x39120
leaq -0x30(%rbp), %rdi
callq 0x39500
addq $0xd0, %rsp
popq %rbp
retq
movq -0x50(%rbp), %rdi
callq 0xa950
nopw %cs:(%rax,%rax)
nopl (%rax,%rax)