// File: /workspace/github_cpp_makefile_star2_O3/dsharlet[P]array/test/shape.cpp
// Function: nda::test_make_dense_shape_2d_body()
TEST(make_dense_shape_2d) {
  dense_shape<2> s(10, 5);
  s.resolve();
  auto x = s.x();
  auto y = s.y();
  assert_dim_eq(x, dense_dim<>(0, 10));
  assert_dim_eq(y, dim<>(0, 5, 10));

  ASSERT_EQ(s.width(), x.extent());
  ASSERT_EQ(s.height(), y.extent());
  ASSERT_EQ(s.rows(), x.extent());
  ASSERT_EQ(s.columns(), y.extent());
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x218, %rsp            # imm = 0x218
xorl %r13d, %r13d
leaq 0x88(%rsp), %r14
movq %r13, (%r14)
movl $0xa, %ebp
movq %rbp, 0x8(%r14)
movabsq $-0x8000000000000000, %r15 # imm = 0x8000000000000000
movq %r15, 0x10(%r14)
xorl %edi, %edi
movq %r14, %rsi
callq 0xd133
leaq 0x58(%rsp), %rbx
movq %r13, (%rbx)
movl $0x5, %eax
movq %rax, 0x8(%rbx)
movq %r15, 0x10(%rbx)
movq %r13, 0x18(%rbx)
movq %rbp, 0x20(%rbx)
movl $0x5, %edi
movq %rbx, %rsi
callq 0x1c7de
movq %rax, 0x10(%rbx)
movq 0x28(%rbx), %rcx
leaq 0x40(%rsp), %r15
movq %rcx, 0x10(%r15)
movups (%rbx), %xmm0
movups 0x18(%rbx), %xmm1
movaps %xmm1, (%r15)
leaq 0x20(%rsp), %r12
movq %rax, 0x10(%r12)
movaps %xmm0, (%r12)
movq %r13, (%r14)
movq %rbp, 0x8(%r14)
leaq 0x88(%rsp), %r14
movq %r15, %rdi
movq %r14, %rsi
callq 0x4b40b
movq %r13, (%r14)
movl $0x5, %eax
movq %rax, 0x8(%r14)
movq %rbp, 0x10(%r14)
leaq 0x88(%rsp), %rsi
movq %r12, %rdi
callq 0x4ae75
movq 0x20(%rbx), %rbx
movq 0x8(%r15), %r15
leaq 0x10(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x3a968(%rip), %rsi     # 0xbeab0
leaq 0x3a978(%rip), %rdx     # 0xbeac7
movq %rsp, %rdi
callq 0xd14c
xorl %esi, %esi
cmpq %r15, %rbx
sete %sil
leaq 0x88(%rsp), %rdi
movq %rsp, %rdx
callq 0xbf80
leaq 0x1f50d(%rip), %rsi     # 0xa3684
leaq 0x88(%rsp), %rdi
callq 0x18fba
leaq 0x3a93d(%rip), %rsi     # 0xbeac8
movq %rax, %rdi
callq 0x1902a
leaq 0x230bc(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x841bf
movq 0x78(%rsp), %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x21b0
leaq 0x1f4be(%rip), %rsi     # 0xa3684
movq %rbx, %rdi
callq 0x18fba
leaq 0x3a8e8(%rip), %rsi     # 0xbeabd
movq %rax, %rdi
callq 0x19062
leaq 0x23072(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x84209
movq 0x48(%rsp), %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x21b0
leaq 0x36089(%rip), %rsi     # 0xba299
movq %rbx, %rdi
callq 0x18fba
leaq 0x88(%rsp), %rdi
callq 0xbfd8
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x8423b
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x21f0
movq 0x60(%rsp), %rbx
movq 0x28(%rsp), %r15
movq %rsp, %rdi
movq %r14, (%rdi)
leaq 0x3a880(%rip), %rsi     # 0xbead2
leaq 0x3a891(%rip), %rdx     # 0xbeaea
callq 0xd14c
xorl %esi, %esi
cmpq %r15, %rbx
sete %sil
leaq 0x88(%rsp), %rdi
movq %rsp, %rdx
callq 0xbf80
leaq 0x1f406(%rip), %rsi     # 0xa3684
leaq 0x88(%rsp), %rdi
callq 0x18fba
leaq 0x3a859(%rip), %rsi     # 0xbeaeb
movq %rax, %rdi
callq 0x19062
leaq 0x22fb5(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x842c6
movq 0x60(%rsp), %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x21b0
leaq 0x1f3b7(%rip), %rsi     # 0xa3684
movq %rbx, %rdi
callq 0x18fba
leaq 0x3a840(%rip), %rsi     # 0xbeb1c
movq %rax, %rdi
callq 0x19062
leaq 0x22f6b(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x84310
movq 0x28(%rsp), %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x21b0
leaq 0x35f82(%rip), %rsi     # 0xba299
movq %rbx, %rdi
callq 0x18fba
leaq 0x88(%rsp), %rdi
callq 0xbfd8
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x84342
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x21f0
movq 0x78(%rsp), %rbx
movq 0x48(%rsp), %r15
movq %rsp, %rdi
movq %r14, (%rdi)
leaq 0x3a79d(%rip), %rsi     # 0xbeaf6
leaq 0x3a7ac(%rip), %rdx     # 0xbeb0c
callq 0xd14c
xorl %esi, %esi
cmpq %r15, %rbx
sete %sil
leaq 0x88(%rsp), %rdi
movq %rsp, %rdx
callq 0xbf80
leaq 0x1f2ff(%rip), %rsi     # 0xa3684
leaq 0x88(%rsp), %rdi
callq 0x18fba
leaq 0x2bbad(%rip), %rsi     # 0xaff46
movq %rax, %rdi
callq 0x1a146
leaq 0x22eae(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x843cd
movq 0x78(%rsp), %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x21b0
leaq 0x1f2b0(%rip), %rsi     # 0xa3684
movq %rbx, %rdi
callq 0x18fba
leaq 0x3a6da(%rip), %rsi     # 0xbeabd
movq %rax, %rdi
callq 0x19062
leaq 0x22e64(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x84417
movq 0x48(%rsp), %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x21b0
leaq 0x35e7b(%rip), %rsi     # 0xba299
movq %rbx, %rdi
callq 0x18fba
leaq 0x88(%rsp), %rdi
callq 0xbfd8
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x84449
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x21f0
movq 0x60(%rsp), %rbx
movq 0x28(%rsp), %r15
movq %rsp, %rdi
movq %r14, (%rdi)
leaq 0x3a6ad(%rip), %rsi     # 0xbeb0d
leaq 0x3a6bf(%rip), %rdx     # 0xbeb26
callq 0xd14c
xorl %esi, %esi
cmpq %r15, %rbx
sete %sil
leaq 0x88(%rsp), %rdi
movq %rsp, %rdx
callq 0xbf80
leaq 0x1f1f8(%rip), %rsi     # 0xa3684
leaq 0x88(%rsp), %rdi
callq 0x18fba
leaq 0x2bacc(%rip), %rsi     # 0xaff6c
movq %rax, %rdi
callq 0x57bb2
leaq 0x22da7(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x844d4
movq 0x60(%rsp), %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x21b0
leaq 0x1f1a9(%rip), %rsi     # 0xa3684
movq %rbx, %rdi
callq 0x18fba
leaq 0x3a632(%rip), %rsi     # 0xbeb1c
movq %rax, %rdi
callq 0x19062
leaq 0x22d5d(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x8451e
movq 0x28(%rsp), %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x21b0
leaq 0x35d74(%rip), %rsi     # 0xba299
movq %rbx, %rdi
callq 0x18fba
leaq 0x88(%rsp), %rdi
callq 0xbfd8
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x84550
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x21f0
addq $0x218, %rsp            # imm = 0x218
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x84568
jmp 0x84568
jmp 0x84568
movq %rax, %rbx
jmp 0x845e4
jmp 0x84588
jmp 0x8459a
jmp 0x845ac
jmp 0x845be
jmp 0x8457b
jmp 0x8457b
jmp 0x8457b
movq %rax, %rbx
jmp 0x845ce
jmp 0x84588
jmp 0x8459a
jmp 0x845ac
jmp 0x845be
movq %rax, %rbx
leaq 0x88(%rsp), %rdi
callq 0xbfd8
jmp 0x845ce
movq %rax, %rbx
leaq 0x88(%rsp), %rdi
callq 0xbfd8
jmp 0x845ce
movq %rax, %rbx
leaq 0x88(%rsp), %rdi
callq 0xbfd8
jmp 0x845ce
movq %rax, %rbx
leaq 0x88(%rsp), %rdi
callq 0xbfd8
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x845e4
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x21f0
movq %rbx, %rdi
callq 0x2300
movq %rax, %rdi
callq 0xc0a9