// File: /workspace/github_cpp_makefile_star2_O1/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 0xd09f
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 0x1c2a0
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 0x4a939
movq %r13, (%r14)
movl $0x5, %eax
movq %rax, 0x8(%r14)
movq %rbp, 0x10(%r14)
leaq 0x88(%rsp), %rsi
movq %r12, %rdi
callq 0x4a3a3
movq 0x20(%rbx), %rbx
movq 0x8(%r15), %r15
leaq 0x10(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x3ae14(%rip), %rsi     # 0xbcf50
leaq 0x3ae24(%rip), %rdx     # 0xbcf67
movq %rsp, %rdi
callq 0xd0b8
xorl %esi, %esi
cmpq %r15, %rbx
sete %sil
leaq 0x88(%rsp), %rdi
movq %rsp, %rdx
callq 0xbf0a
leaq 0x1f4e9(%rip), %rsi     # 0xa1654
leaq 0x88(%rsp), %rdi
callq 0x18a16
leaq 0x3ade9(%rip), %rsi     # 0xbcf68
movq %rax, %rdi
callq 0x18a86
leaq 0x2319c(%rip), %rsi     # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x821b3
movq 0x78(%rsp), %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x21b0
leaq 0x1f49a(%rip), %rsi     # 0xa1654
movq %rbx, %rdi
callq 0x18a16
leaq 0x3ad94(%rip), %rsi     # 0xbcf5d
movq %rax, %rdi
callq 0x18abe
leaq 0x23152(%rip), %rsi     # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x821fd
movq 0x48(%rsp), %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x21b0
leaq 0x36165(%rip), %rsi     # 0xb8369
movq %rbx, %rdi
callq 0x18a16
leaq 0x88(%rsp), %rdi
callq 0xbf62
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x8222f
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x21f0
movq 0x60(%rsp), %rbx
movq 0x28(%rsp), %r15
movq %rsp, %rdi
movq %r14, (%rdi)
leaq 0x3ad2c(%rip), %rsi     # 0xbcf72
leaq 0x3ad3d(%rip), %rdx     # 0xbcf8a
callq 0xd0b8
xorl %esi, %esi
cmpq %r15, %rbx
sete %sil
leaq 0x88(%rsp), %rdi
movq %rsp, %rdx
callq 0xbf0a
leaq 0x1f3e2(%rip), %rsi     # 0xa1654
leaq 0x88(%rsp), %rdi
callq 0x18a16
leaq 0x3ad05(%rip), %rsi     # 0xbcf8b
movq %rax, %rdi
callq 0x18abe
leaq 0x23095(%rip), %rsi     # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x822ba
movq 0x60(%rsp), %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x21b0
leaq 0x1f393(%rip), %rsi     # 0xa1654
movq %rbx, %rdi
callq 0x18a16
leaq 0x3acec(%rip), %rsi     # 0xbcfbc
movq %rax, %rdi
callq 0x18abe
leaq 0x2304b(%rip), %rsi     # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x82304
movq 0x28(%rsp), %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x21b0
leaq 0x3605e(%rip), %rsi     # 0xb8369
movq %rbx, %rdi
callq 0x18a16
leaq 0x88(%rsp), %rdi
callq 0xbf62
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x82336
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x21f0
movq 0x78(%rsp), %rbx
movq 0x48(%rsp), %r15
movq %rsp, %rdi
movq %r14, (%rdi)
leaq 0x3ac49(%rip), %rsi     # 0xbcf96
leaq 0x3ac58(%rip), %rdx     # 0xbcfac
callq 0xd0b8
xorl %esi, %esi
cmpq %r15, %rbx
sete %sil
leaq 0x88(%rsp), %rdi
movq %rsp, %rdx
callq 0xbf0a
leaq 0x1f2db(%rip), %rsi     # 0xa1654
leaq 0x88(%rsp), %rdi
callq 0x18a16
leaq 0x2bc89(%rip), %rsi     # 0xae016
movq %rax, %rdi
callq 0x19c24
leaq 0x22f8e(%rip), %rsi     # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x823c1
movq 0x78(%rsp), %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x21b0
leaq 0x1f28c(%rip), %rsi     # 0xa1654
movq %rbx, %rdi
callq 0x18a16
leaq 0x3ab86(%rip), %rsi     # 0xbcf5d
movq %rax, %rdi
callq 0x18abe
leaq 0x22f44(%rip), %rsi     # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x8240b
movq 0x48(%rsp), %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x21b0
leaq 0x35f57(%rip), %rsi     # 0xb8369
movq %rbx, %rdi
callq 0x18a16
leaq 0x88(%rsp), %rdi
callq 0xbf62
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x8243d
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x21f0
movq 0x60(%rsp), %rbx
movq 0x28(%rsp), %r15
movq %rsp, %rdi
movq %r14, (%rdi)
leaq 0x3ab59(%rip), %rsi     # 0xbcfad
leaq 0x3ab6b(%rip), %rdx     # 0xbcfc6
callq 0xd0b8
xorl %esi, %esi
cmpq %r15, %rbx
sete %sil
leaq 0x88(%rsp), %rdi
movq %rsp, %rdx
callq 0xbf0a
leaq 0x1f1d4(%rip), %rsi     # 0xa1654
leaq 0x88(%rsp), %rdi
callq 0x18a16
leaq 0x2bba8(%rip), %rsi     # 0xae03c
movq %rax, %rdi
callq 0x56a5c
leaq 0x22e87(%rip), %rsi     # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x824c8
movq 0x60(%rsp), %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x21b0
leaq 0x1f185(%rip), %rsi     # 0xa1654
movq %rbx, %rdi
callq 0x18a16
leaq 0x3aade(%rip), %rsi     # 0xbcfbc
movq %rax, %rdi
callq 0x18abe
leaq 0x22e3d(%rip), %rsi     # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x82512
movq 0x28(%rsp), %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x21b0
leaq 0x35e50(%rip), %rsi     # 0xb8369
movq %rbx, %rdi
callq 0x18a16
leaq 0x88(%rsp), %rdi
callq 0xbf62
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x82544
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 0x8255c
jmp 0x8255c
jmp 0x8255c
movq %rax, %rbx
jmp 0x825d8
jmp 0x8257c
jmp 0x8258e
jmp 0x825a0
jmp 0x825b2
jmp 0x8256f
jmp 0x8256f
jmp 0x8256f
movq %rax, %rbx
jmp 0x825c2
jmp 0x8257c
jmp 0x8258e
jmp 0x825a0
jmp 0x825b2
movq %rax, %rbx
leaq 0x88(%rsp), %rdi
callq 0xbf62
jmp 0x825c2
movq %rax, %rbx
leaq 0x88(%rsp), %rdi
callq 0xbf62
jmp 0x825c2
movq %rax, %rbx
leaq 0x88(%rsp), %rdi
callq 0xbf62
jmp 0x825c2
movq %rax, %rbx
leaq 0x88(%rsp), %rdi
callq 0xbf62
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x825d8
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x21f0
movq %rbx, %rdi
callq 0x2300
movq %rax, %rdi
callq 0xc036