// File: IsaacLaw12[P]RayTracer/./Eigen/Eigen/src/Core/PlainObjectBase.h
// Function: Eigen::internal::conservative_resize_like_impl<Eigen::Matrix<double, -1, -1, 0, -1, -1>, Eigen::Matrix<double, -1, -1, 0, -1, -1>, false>::run(Eigen::DenseBase<Eigen::Matrix<double, -1, -1, 0, -1, -1>>&, long, long)
static void run(DenseBase<Derived>& _this, Index rows, Index cols)
  {
    if (_this.rows() == rows && _this.cols() == cols) return;
    EIGEN_STATIC_ASSERT_DYNAMIC_SIZE(Derived)

    if ( ( Derived::IsRowMajor && _this.cols() == cols) || // row-major and we change only the number of rows
         (!Derived::IsRowMajor && _this.rows() == rows) )  // column-major and we change only the number of columns
    {
      internal::check_rows_cols_for_overflow<Derived::MaxSizeAtCompileTime>::run(rows, cols);
      _this.derived().m_storage.conservativeResize(rows*cols,rows,cols);
    }
    else
    {
      // The storage order does not allow us to use reallocation.
      typename Derived::PlainObject tmp(rows,cols);
      const Index common_rows = numext::mini(rows, _this.rows());
      const Index common_cols = numext::mini(cols, _this.cols());
      tmp.block(0,0,common_rows,common_cols) = _this.block(0,0,common_rows,common_cols);
      _this.derived().swap(tmp);
    }
  }

// Assembly:
subq $0x148, %rsp            # imm = 0x148
movq %rdi, 0x100(%rsp)
movq %rsi, 0xf8(%rsp)
movq %rdx, 0xf0(%rsp)
movq 0x100(%rsp), %rdi
callq 0x6b80
cmpq 0xf8(%rsp), %rax
jne 0x68c2
movq 0x100(%rsp), %rdi
callq 0x6ba0
cmpq 0xf0(%rsp), %rax
jne 0x68c2
jmp 0x6b60
movq 0x100(%rsp), %rdi
callq 0x6b80
cmpq 0xf8(%rsp), %rax
jne 0x69b5
movq 0xf8(%rsp), %rcx
movq 0xf0(%rsp), %rax
movq %rcx, 0x120(%rsp)
movq %rax, 0x118(%rsp)
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
movq %rax, 0x110(%rsp)
cmpq $0x0, 0x120(%rsp)
je 0x6925
cmpq $0x0, 0x118(%rsp)
jne 0x692d
xorl %eax, %eax
movb %al, 0x37(%rsp)
jmp 0x695e
movq 0x120(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x110(%rsp), %rax
cqto
idivq 0x118(%rsp)
movq %rax, %rcx
movq 0x28(%rsp), %rax
cmpq %rcx, %rax
setg %al
movb %al, 0x37(%rsp)
movb 0x37(%rsp), %al
andb $0x1, %al
movb %al, 0x10f(%rsp)
testb $0x1, 0x10f(%rsp)
je 0x697a
callq 0x6d70
movq 0x100(%rsp), %rdi
callq 0x6780
movq %rax, %rdi
movq 0xf8(%rsp), %rsi
imulq 0xf0(%rsp), %rsi
movq 0xf8(%rsp), %rdx
movq 0xf0(%rsp), %rcx
callq 0x6bc0
jmp 0x6b60
leaq 0xd8(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
leaq 0xf0(%rsp), %rdx
callq 0x6c20
movq 0x100(%rsp), %rdi
callq 0x6b80
movq %rax, 0x20(%rsp)
jmp 0x69e6
movq 0x20(%rsp), %rax
movq %rax, 0xc8(%rsp)
leaq 0xf8(%rsp), %rax
movq %rax, 0x140(%rsp)
leaq 0xc8(%rsp), %rax
movq %rax, 0x138(%rsp)
movq 0x140(%rsp), %rdi
movq 0x138(%rsp), %rsi
callq 0x6f40
movq (%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0xd0(%rsp)
movq 0x100(%rsp), %rdi
callq 0x6ba0
movq %rax, 0x10(%rsp)
jmp 0x6a51
movq 0x10(%rsp), %rax
movq %rax, 0xa8(%rsp)
leaq 0xf0(%rsp), %rax
movq %rax, 0x130(%rsp)
leaq 0xa8(%rsp), %rax
movq %rax, 0x128(%rsp)
movq 0x130(%rsp), %rdi
movq 0x128(%rsp), %rsi
callq 0x6f40
movq (%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0xb0(%rsp)
movq 0x100(%rsp), %rsi
movq 0xd0(%rsp), %r8
movq 0xb0(%rsp), %r9
xorl %eax, %eax
movl %eax, %ecx
leaq 0x70(%rsp), %rdi
movq %rcx, %rdx
callq 0x6c90
jmp 0x6ad3
movq 0xd0(%rsp), %r8
movq 0xb0(%rsp), %r9
xorl %eax, %eax
movl %eax, %ecx
leaq 0x38(%rsp), %rdi
leaq 0xd8(%rsp), %rsi
movq %rcx, %rdx
callq 0x6c90
jmp 0x6afe
leaq 0x38(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x6cf0
jmp 0x6b0f
movq 0x100(%rsp), %rdi
callq 0x6780
movq %rax, %rdi
leaq 0xd8(%rsp), %rsi
callq 0x6710
jmp 0x6b2e
leaq 0xd8(%rsp), %rdi
callq 0x60b0
jmp 0x6b60
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xc0(%rsp)
movl %eax, 0xbc(%rsp)
leaq 0xd8(%rsp), %rdi
callq 0x60b0
jmp 0x6b68
addq $0x148, %rsp            # imm = 0x148
retq
movq 0xc0(%rsp), %rdi
callq 0x45e0
nopw %cs:(%rax,%rax)
nop