// File: /workspace/github_cpp_makefile_star2_O1/canzarlab[P]Trajan/./Eigen/src/LU/FullPivLU.h
// Function: void Eigen::FullPivLU<Eigen::Matrix<double, -1, -1, 0, -1, -1>>::_solve_impl<Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<double>, Eigen::Matrix<double, -1, -1, 0, -1, -1>>, Eigen::Matrix<double, -1, -1, 0, -1, -1>>(Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<double>, Eigen::Matrix<double, -1, -1, 0, -1, -1>> const&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&) const
inline Index rank() const
    {
      using std::abs;
      eigen_assert(m_isInitialized && "LU is not initialized.");
      RealScalar premultiplied_threshold = abs(m_maxpivot) * threshold();
      Index result = 0;
      for(Index i = 0; i < m_nonzero_pivots; ++i)
        result += (abs(m_lu.coeff(i,i)) > premultiplied_threshold);
      return result;
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x148, %rsp            # imm = 0x148
cmpb $0x0, 0x79(%rdi)
je 0x21470
movq %rdx, %rbx
movq %rsi, %r15
movq %rdi, %r14
movq 0x8(%rdi), %r12
movq 0x10(%rdi), %r13
movsd 0x68(%rdi), %xmm0
movapd %xmm0, 0xd0(%rsp)
callq 0x215e8
movq 0x58(%r14), %rax
testq %rax, %rax
jle 0x20d21
movapd 0xd0(%rsp), %xmm2
andpd 0x3b70b(%rip), %xmm2    # 0x5c3f0
mulsd %xmm0, %xmm2
movq (%r14), %rcx
movq 0x8(%r14), %rdx
leaq 0x8(,%rdx,8), %rdx
xorl %ebp, %ebp
movapd 0x3b6ee(%rip), %xmm0    # 0x5c3f0
movsd (%rcx), %xmm1
andpd %xmm0, %xmm1
xorl %esi, %esi
ucomisd %xmm2, %xmm1
seta %sil
addq %rsi, %rbp
addq %rdx, %rcx
decq %rax
jne 0x20d02
jmp 0x20d23
xorl %ebp, %ebp
movq (%r15), %r8
cmpq %r12, %r8
jne 0x2148f
cmpq %r12, %r13
movq %r13, %rax
movq %r12, %r13
movq %rax, 0xd0(%rsp)
cmovlq %rax, %r13
testq %rbp, %rbp
je 0x21345
movq 0x8(%r15), %rcx
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
movq %rcx, %rax
orq %r8, %rax
js 0x214ae
testq %r8, %r8
sete %al
testq %rcx, %rcx
sete %dl
orb %al, %dl
jne 0x20d97
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
xorl %edx, %edx
idivq %rcx
cmpq %r8, %rax
jl 0x2153c
movq %rcx, %rsi
imulq %r8, %rsi
movq %rsp, %rdi
movq %r8, %rdx
callq 0x2d684
cmpb $0x0, 0x79(%r14)
je 0x214cd
leaq 0x18(%r14), %rax
movq %rax, 0x60(%rsp)
movupd (%r15), %xmm0
movupd %xmm0, 0x68(%rsp)
movq 0x20(%r14), %r8
cmpq (%r15), %r8
jne 0x214ec
movq 0x70(%rsp), %rcx
cmpq %r8, 0x8(%rsp)
jne 0x20de8
cmpq %rcx, 0x10(%rsp)
je 0x20e2e
movq %rcx, %rax
orq %r8, %rax
js 0x214ae
testq %r8, %r8
sete %al
testq %rcx, %rcx
sete %dl
orb %al, %dl
jne 0x20e1c
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
xorl %edx, %edx
idivq %rcx
cmpq %r8, %rax
jl 0x21589
movq %rcx, %rsi
imulq %r8, %rsi
movq %rsp, %rdi
movq %r8, %rdx
callq 0x2d684
leaq 0x68(%rsp), %rdx
movq -0x8(%rdx), %rsi
movq %rsp, %rdi
callq 0x2163e
movq (%r14), %rax
testq %rax, %rax
sete %cl
testq %r13, %r13
setns %dl
orb %cl, %dl
je 0x21437
testq %r13, %r13
js 0x21451
movq 0x8(%r14), %rcx
cmpq %r13, %rcx
jl 0x21451
cmpq %r13, 0x10(%r14)
jl 0x21451
movq %rax, 0x60(%rsp)
movq %r13, 0x68(%rsp)
movq %r13, 0x70(%rsp)
movq %r14, 0x78(%rsp)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x80(%rsp)
movq %rcx, 0x90(%rsp)
movq 0x10(%rsp), %rcx
movq (%rsp), %rdx
movq 0x8(%rsp), %rax
movq %rdx, 0x28(%rsp)
movq %r13, 0x30(%rsp)
movq %rcx, 0x38(%rsp)
testq %rdx, %rdx
sete %dl
movq %rcx, %rsi
orq %r13, %rsi
setns %sil
orb %dl, %sil
je 0x21420
movq %rsp, %rdx
movq %rdx, 0x40(%rsp)
movupd %xmm0, 0x48(%rsp)
movq %rax, 0x58(%rsp)
testq %rcx, %rcx
js 0x21409
cmpq %r13, %rax
jl 0x21409
leaq 0x60(%rsp), %rdi
leaq 0x28(%rsp), %r15
movq %r15, %rsi
callq 0x21720
movq 0xd0(%rsp), %r11
subq %r11, %r12
jle 0x210fa
movq (%r14), %rsi
movq 0x10(%r14), %rcx
testq %rsi, %rsi
sete %dl
movq %rcx, %rax
orq %r12, %rax
setns %dil
orb %dl, %dil
je 0x21437
movq 0x8(%r14), %r8
movq %r8, %r9
subq %r12, %r9
orq %r9, %rax
js 0x21451
movq 0x10(%rsp), %rax
movq (%rsp), %rdx
testq %rdx, %rdx
sete %dil
movq %rax, %r10
orq %r11, %r10
setns %r10b
orb %dil, %r10b
je 0x21420
testq %r11, %r11
js 0x21409
testq %rax, %rax
js 0x21409
movq 0x8(%rsp), %rdi
cmpq %r11, %rdi
jl 0x21409
leaq (%rsi,%r9,8), %rsi
movq %rsi, 0x60(%rsp)
movq %r12, 0x68(%rsp)
movq %rcx, 0x70(%rsp)
movq %r14, 0x78(%rsp)
movq %r9, 0x80(%rsp)
movq $0x0, 0x88(%rsp)
movq %r8, 0x90(%rsp)
movq %rdx, 0x98(%rsp)
movq %r11, 0xa0(%rsp)
movq %rax, 0xa8(%rsp)
movq %rsp, %rsi
movq %rsi, 0xb0(%rsp)
xorpd %xmm0, %xmm0
movupd %xmm0, 0xb8(%rsp)
movq %rdi, 0xc8(%rsp)
cmpq %r11, %rcx
jne 0x2156a
testq %rdx, %rdx
sete %sil
movq %rdi, %rcx
subq %r12, %rcx
leaq (%rdx,%rcx,8), %rdx
movq %rdx, 0x28(%rsp)
movq %r12, 0x30(%rsp)
movq %rax, 0x38(%rsp)
orq %r12, %rax
setns %dl
orb %sil, %dl
je 0x21420
movq %rsp, %rdx
movq %rdx, 0x40(%rsp)
movq %rcx, 0x48(%rsp)
movq $0x0, 0x50(%rsp)
movq %rdi, 0x58(%rsp)
orq %rcx, %rax
js 0x21409
leaq 0xe8(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0x22618
movq 0xe8(%rsp), %rax
movq 0xf0(%rsp), %rcx
movq %rax, 0x100(%rsp)
movq %rcx, 0x108(%rsp)
cmpq %rcx, 0x30(%rsp)
jne 0x21503
movq 0x38(%rsp), %rax
cmpq 0xf8(%rsp), %rax
jne 0x21503
movq 0x28(%rsp), %rax
movq 0x58(%rsp), %rcx
leaq 0x110(%rsp), %rdx
movq %rax, (%rdx)
movq %rcx, 0x10(%rdx)
leaq 0x128(%rsp), %rdi
movq %rdx, (%rdi)
leaq 0x100(%rsp), %rax
movq %rax, 0x8(%rdi)
leaq 0x27(%rsp), %rax
movq %rax, 0x10(%rdi)
movq %r15, 0x18(%rdi)
callq 0x22ec4
movq 0xe8(%rsp), %rdi
callq 0x93c0
movq (%r14), %rax
testq %rax, %rax
sete %cl
testq %rbp, %rbp
setns %dl
orb %cl, %dl
je 0x21437
testq %rbp, %rbp
js 0x21451
movq 0x8(%r14), %rcx
cmpq %rbp, %rcx
jl 0x21451
cmpq %rbp, 0x10(%r14)
jl 0x21451
movq %rax, 0x60(%rsp)
movq %rbp, 0x68(%rsp)
movq %rbp, 0x70(%rsp)
movq %r14, 0x78(%rsp)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x80(%rsp)
movq %rcx, 0x90(%rsp)
movq 0x10(%rsp), %rcx
movq (%rsp), %rdx
movq 0x8(%rsp), %rax
movq %rdx, 0x28(%rsp)
movq %rbp, 0x30(%rsp)
movq %rcx, 0x38(%rsp)
testq %rdx, %rdx
sete %dl
movq %rcx, %rsi
orq %rbp, %rsi
setns %sil
orb %dl, %sil
je 0x21420
movq %rsp, %rdx
movq %rdx, 0x40(%rsp)
movupd %xmm0, 0x48(%rsp)
movq %rax, 0x58(%rsp)
testq %rcx, %rcx
js 0x21409
cmpq %rbp, %rax
jl 0x21409
leaq 0x60(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x23058
testq %rbp, %rbp
jle 0x212bd
xorl %r15d, %r15d
leaq 0x60(%rsp), %r13
xorl %r12d, %r12d
movq (%rsp), %rax
movq 0x10(%rsp), %rcx
leaq (%rax,%r15), %rdx
movq %rdx, 0x60(%rsp)
movq %rcx, 0x70(%rsp)
testq %rax, %rax
sete %al
testq %rcx, %rcx
setns %cl
orb %al, %cl
je 0x213ac
movq %rsp, %rax
movq %rax, 0x78(%rsp)
movq %r12, 0x80(%rsp)
movq $0x0, 0x88(%rsp)
movq $0x1, 0x90(%rsp)
cmpq %r12, 0x8(%rsp)
jle 0x2138d
cmpb $0x0, 0x79(%r14)
je 0x213cb
movq 0x28(%r14), %rax
movslq (%rax,%r12,4), %rax
movq (%rbx), %rcx
movq 0x10(%rbx), %rdx
leaq (%rcx,%rax,8), %rsi
movq %rsi, 0x28(%rsp)
movq %rdx, 0x38(%rsp)
testq %rcx, %rcx
sete %cl
testq %rdx, %rdx
setns %dl
orb %cl, %dl
je 0x213ac
movq %rbx, 0x40(%rsp)
movq %rax, 0x48(%rsp)
movq $0x0, 0x50(%rsp)
movq $0x1, 0x58(%rsp)
testl %eax, %eax
js 0x2138d
cmpq %rax, 0x8(%rbx)
jle 0x2138d
leaq 0x28(%rsp), %rdi
movq %r13, %rsi
callq 0x23ad2
incq %r12
addq $0x8, %r15
cmpq %r12, %rbp
jne 0x211d8
movq 0x10(%r14), %rax
cmpq %rax, %rbp
jge 0x2133a
cmpb $0x1, 0x79(%r14)
jne 0x213cb
movq (%rbx), %rcx
movq 0x10(%rbx), %rdx
testq %rdx, %rdx
sets %sil
testq %rcx, %rcx
setne %dil
testb %sil, %dil
jne 0x213ac
movq 0x28(%r14), %rsi
movslq (%rsi,%rbp,4), %r8
testq %r8, %r8
js 0x2138d
movq 0x8(%rbx), %rdi
cmpq %r8, %rdi
jle 0x2138d
testq %rdx, %rdx
js 0x213ea
je 0x21332
leaq (%rcx,%r8,8), %r8
shlq $0x3, %rdi
movq %rdx, %r9
movq $0x0, (%r8)
addq %rdi, %r8
decq %r9
jne 0x21323
incq %rbp
cmpq %rax, %rbp
jne 0x212f3
movq (%rsp), %rdi
callq 0x93c0
jmp 0x2137b
movq 0x8(%rbx), %rax
movq 0x10(%rbx), %rcx
movq %rax, 0x60(%rsp)
movq %rcx, 0x68(%rsp)
movq $0x0, 0x70(%rsp)
orq %rax, %rcx
js 0x21522
leaq 0x60(%rsp), %rsi
leaq 0x28(%rsp), %rdx
movq %rbx, %rdi
callq 0x2a3f0
addq $0x148, %rsp            # imm = 0x148
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x3d2d4(%rip), %rdi     # 0x5e668
leaq 0x3b35b(%rip), %rsi     # 0x5c6f6
leaq 0x3d7d4(%rip), %rcx     # 0x5eb76
movl $0x7a, %edx
callq 0x9200
leaq 0x3b4a7(%rip), %rdi     # 0x5c85a
leaq 0x3b54a(%rip), %rsi     # 0x5c904
leaq 0x3d85a(%rip), %rcx     # 0x5ec1b
movl $0xaf, %edx
callq 0x9200
leaq 0x412b4(%rip), %rdi     # 0x62686
leaq 0x40214(%rip), %rsi     # 0x615ed
leaq 0x42d72(%rip), %rcx     # 0x64152
movl $0xab, %edx
callq 0x9200
leaq 0x3b14b(%rip), %rdi     # 0x5c53c
leaq 0x3b1d9(%rip), %rsi     # 0x5c5d1
leaq 0x42dde(%rip), %rcx     # 0x641dd
movl $0x4a, %edx
callq 0x9200
leaq 0x3b3bb(%rip), %rdi     # 0x5c7cb
leaq 0x3b2df(%rip), %rsi     # 0x5c6f6
leaq 0x3cf79(%rip), %rcx     # 0x5e397
jmp 0x21466
leaq 0x3b433(%rip), %rdi     # 0x5c85a
leaq 0x3b4d6(%rip), %rsi     # 0x5c904
leaq 0x3d01a(%rip), %rcx     # 0x5e44f
jmp 0x213c1
leaq 0x3b41c(%rip), %rdi     # 0x5c85a
leaq 0x3b4bf(%rip), %rsi     # 0x5c904
leaq 0x4195b(%rip), %rcx     # 0x62da7
jmp 0x213c1
leaq 0x3b373(%rip), %rdi     # 0x5c7cb
leaq 0x3b297(%rip), %rsi     # 0x5c6f6
leaq 0x4187d(%rip), %rcx     # 0x62ce3
movl $0x93, %edx
callq 0x9200
leaq 0x4120f(%rip), %rdi     # 0x62686
leaq 0x4016f(%rip), %rsi     # 0x615ed
leaq 0x41561(%rip), %rcx     # 0x629e6
movl $0x14f, %edx            # imm = 0x14F
callq 0x9200
leaq 0x41416(%rip), %rdi     # 0x628ac
leaq 0x40150(%rip), %rsi     # 0x615ed
leaq 0x4141b(%rip), %rcx     # 0x628bf
movl $0x2f8, %edx            # imm = 0x2F8
callq 0x9200
leaq 0x3b9a3(%rip), %rdi     # 0x5ce58
leaq 0x3b7fb(%rip), %rsi     # 0x5ccb7
leaq 0x4da09(%rip), %rcx     # 0x6eecc
movl $0x11d, %edx            # imm = 0x11D
callq 0x9200
leaq 0x411b2(%rip), %rdi     # 0x62686
leaq 0x40112(%rip), %rsi     # 0x615ed
leaq 0x41776(%rip), %rcx     # 0x62c58
movl $0xa1, %edx
callq 0x9200
leaq 0x3d435(%rip), %rdi     # 0x5e928
leaq 0x3d4ba(%rip), %rsi     # 0x5e9b4
leaq 0x415fd(%rip), %rcx     # 0x62afe
jmp 0x2157f
leaq 0x4080d(%rip), %rdi     # 0x61d17
leaq 0x3b008(%rip), %rsi     # 0x5c519
leaq 0x429ea(%rip), %rcx     # 0x63f02
movl $0x2c6, %edx            # imm = 0x2C6
callq 0x9200
leaq 0x3b013(%rip), %rdi     # 0x5c53c
leaq 0x3b0a1(%rip), %rsi     # 0x5c5d1
leaq 0x3fa3a(%rip), %rcx     # 0x60f71
jmp 0x213ff
movl $0x8, %edi
callq 0x9180
movq 0x66a63(%rip), %rcx     # 0x87fb0
addq $0x10, %rcx
movq %rcx, (%rax)
movq 0x66a6d(%rip), %rsi     # 0x87fc8
movq 0x66a2e(%rip), %rdx     # 0x87f90
movq %rax, %rdi
callq 0x9630
leaq 0x3d3b7(%rip), %rdi     # 0x5e928
leaq 0x3d43c(%rip), %rsi     # 0x5e9b4
leaq 0x41c47(%rip), %rcx     # 0x631c6
movl $0x61, %edx
callq 0x9200
movl $0x8, %edi
callq 0x9180
movq 0x66a16(%rip), %rcx     # 0x87fb0
addq $0x10, %rcx
movq %rcx, (%rax)
movq 0x66a20(%rip), %rsi     # 0x87fc8
movq 0x669e1(%rip), %rdx     # 0x87f90
movq %rax, %rdi
callq 0x9630
movq %rax, %rbx
movq 0xe8(%rsp), %rdi
callq 0x93c0
jmp 0x215d6
jmp 0x215d3
jmp 0x215d3
jmp 0x215d3
jmp 0x215d3
jmp 0x215d3
movq %rax, %rbx
movq (%rsp), %rdi
callq 0x93c0
movq %rbx, %rdi
callq 0x9670
nop