// File: Luthaf[P]zeopp/./Eigen/src/QR/ColPivHouseholderQR.h
// Function: void Eigen::internal::solve_retval<Eigen::ColPivHouseholderQR<Eigen::Matrix<double, 3, 3, 0, 3, 3>>, Eigen::Matrix<double, 3, 1, 0, 3, 1>>::evalTo<Eigen::Matrix<double, 3, 1, 0, 3, 1>>(Eigen::Matrix<double, 3, 1, 0, 3, 1>&) const
void evalTo(Dest& dst) const
  {
    eigen_assert(rhs().rows() == dec().rows());

    const Index cols = dec().cols(),
				nonzero_pivots = dec().nonzeroPivots();

    if(nonzero_pivots == 0)
    {
      dst.setZero();
      return;
    }

    typename Rhs::PlainObject c(rhs());

    // Note that the matrix Q = H_0^* H_1^*... so its inverse is Q^* = (H_0 H_1 ...)^T
    c.applyOnTheLeft(householderSequence(dec().matrixQR(), dec().hCoeffs())
                     .setLength(dec().nonzeroPivots())
		     .transpose()
      );

    dec().matrixR()
       .topLeftCorner(nonzero_pivots, nonzero_pivots)
       .template triangularView<Upper>()
       .solveInPlace(c.topRows(nonzero_pivots));

    for(Index i = 0; i < nonzero_pivots; ++i) dst.row(dec().colsPermutation().indices().coeff(i)) = c.row(i);
    for(Index i = nonzero_pivots; i < cols; ++i) dst.row(dec().colsPermutation().indices().coeff(i)).setZero();
  }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1a0, %rsp            # imm = 0x1A0
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x180(%rbp)
callq 0x1849f0
movq %rax, %rdi
callq 0x1759b0
movq -0x180(%rbp), %rdi
movq %rax, -0x178(%rbp)
callq 0x184a10
movq %rax, %rdi
callq 0x184a30
movq %rax, %rcx
movq -0x178(%rbp), %rax
cmpq %rcx, %rax
jne 0x184757
jmp 0x184776
leaq 0x80552(%rip), %rdi     # 0x204cb0
leaq 0x7b743(%rip), %rsi     # 0x1ffea8
movl $0x20d, %edx            # imm = 0x20D
leaq 0x8055c(%rip), %rcx     # 0x204ccd
callq 0x5320
movq -0x180(%rbp), %rdi
callq 0x184a10
movq %rax, %rdi
callq 0x184620
movq -0x180(%rbp), %rdi
movq %rax, -0x18(%rbp)
callq 0x184a10
movq %rax, %rdi
callq 0x184a50
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x1847bb
movq -0x10(%rbp), %rdi
callq 0x184ac0
jmp 0x1849e6
movq -0x180(%rbp), %rdi
callq 0x1849f0
movq %rax, %rsi
leaq -0x38(%rbp), %rdi
callq 0x184af0
movq -0x180(%rbp), %rdi
callq 0x184a10
movq %rax, %rdi
callq 0x184bf0
movq -0x180(%rbp), %rdi
movq %rax, -0x188(%rbp)
callq 0x184a10
movq %rax, %rdi
callq 0x184c50
movq -0x188(%rbp), %rsi
movq %rax, %rdx
leaq -0x88(%rbp), %rdi
callq 0x184bb0
movq -0x180(%rbp), %rdi
callq 0x184a10
movq %rax, %rdi
callq 0x184a50
movq %rax, %rsi
leaq -0x88(%rbp), %rdi
callq 0x184c70
movq %rax, %rsi
leaq -0x60(%rbp), %rdi
callq 0x184c90
leaq -0x38(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x184b70
movq -0x180(%rbp), %rdi
callq 0x184a10
movq %rax, %rdi
callq 0x184cf0
movq %rax, %rsi
movq -0x20(%rbp), %rdx
movq -0x20(%rbp), %rcx
leaq -0xd8(%rbp), %rdi
callq 0x184d50
leaq -0xb0(%rbp), %rdi
leaq -0xd8(%rbp), %rsi
callq 0x184da0
movq -0x20(%rbp), %rdx
leaq -0x100(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x184e10
leaq -0xb0(%rbp), %rdi
leaq -0x100(%rbp), %rsi
callq 0x184de0
movq $0x0, -0x108(%rbp)
movq -0x108(%rbp), %rax
cmpq -0x20(%rbp), %rax
jge 0x184962
movq -0x108(%rbp), %rdx
leaq -0x128(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x184e80
movq -0x180(%rbp), %rdi
movq -0x10(%rbp), %rax
movq %rax, -0x190(%rbp)
callq 0x184a10
movq %rax, %rdi
callq 0x184ed0
movq %rax, %rdi
callq 0x1842a0
movq %rax, %rdi
movq -0x108(%rbp), %rsi
callq 0x184f40
movq -0x190(%rbp), %rsi
movslq (%rax), %rdx
leaq -0x148(%rbp), %rdi
callq 0x184e80
leaq -0x148(%rbp), %rdi
leaq -0x128(%rbp), %rsi
callq 0x184f70
movq -0x108(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x108(%rbp)
jmp 0x1848c4
movq -0x20(%rbp), %rax
movq %rax, -0x150(%rbp)
movq -0x150(%rbp), %rax
cmpq -0x18(%rbp), %rax
jge 0x1849e6
movq -0x180(%rbp), %rdi
movq -0x10(%rbp), %rax
movq %rax, -0x198(%rbp)
callq 0x184a10
movq %rax, %rdi
callq 0x184ed0
movq %rax, %rdi
callq 0x1842a0
movq %rax, %rdi
movq -0x150(%rbp), %rsi
callq 0x184f40
movq -0x198(%rbp), %rsi
movslq (%rax), %rdx
leaq -0x170(%rbp), %rdi
callq 0x184e80
leaq -0x170(%rbp), %rdi
callq 0x184fa0
movq -0x150(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x150(%rbp)
jmp 0x18496d
addq $0x1a0, %rsp            # imm = 0x1A0
popq %rbp
retq
nop