// File: dsharlet[P]array/test/shape.cpp
// Function: nda::test_shape_scalar_body()
TEST(shape_scalar) {
  shape<> s;
  ASSERT_EQ(s.flat_extent(), 1);
  ASSERT_EQ(s.size(), 1);
  ASSERT_EQ(s(), 0);
  ASSERT_EQ(s.bounds().rank(), 0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x8b0, %rsp            # imm = 0x8B0
leaq -0x1(%rbp), %rdi
movq %rdi, -0x758(%rbp)
callq 0x1d390
movq -0x758(%rbp), %rdi
callq 0x1d580
subq $0x1, %rax
sete %al
movb %al, -0x749(%rbp)
leaq -0x1b9(%rbp), %rdi
movq %rdi, -0x748(%rbp)
callq 0x33b0
movq -0x748(%rbp), %rdx
leaq 0x82504(%rip), %rsi     # 0x1fb239
leaq -0x1b8(%rbp), %rdi
callq 0x10a90
jmp 0x178d43
movb -0x749(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0x198(%rbp), %rdi
leaq -0x1b8(%rbp), %rdx
callq 0x10f80
jmp 0x178d64
leaq 0x63a7a(%rip), %rsi     # 0x1dc7e5
leaq -0x198(%rbp), %rdi
callq 0x34320
movq %rax, -0x760(%rbp)
jmp 0x178d80
movq -0x760(%rbp), %rdi
leaq 0x824c0(%rip), %rsi     # 0x1fb24e
callq 0x969a0
movq %rax, -0x768(%rbp)
jmp 0x178d9c
movq -0x768(%rbp), %rdi
leaq 0x67a02(%rip), %rsi     # 0x1e07ac
callq 0x34320
movq %rax, -0x770(%rbp)
jmp 0x178db8
leaq -0x1(%rbp), %rdi
callq 0x1d580
movq %rax, -0x778(%rbp)
jmp 0x178dca
movq -0x770(%rbp), %rdi
movq -0x778(%rbp), %rax
movq %rax, -0x1d8(%rbp)
leaq -0x1d8(%rbp), %rsi
callq 0x355c0
movq %rax, -0x780(%rbp)
jmp 0x178df4
movq -0x780(%rbp), %rdi
leaq 0x639e3(%rip), %rsi     # 0x1dc7e5
callq 0x34320
movq %rax, -0x788(%rbp)
jmp 0x178e10
movq -0x788(%rbp), %rdi
leaq 0x6b24f(%rip), %rsi     # 0x1e406d
callq 0x34320
movq %rax, -0x790(%rbp)
jmp 0x178e2c
movq -0x790(%rbp), %rdi
leaq 0x67972(%rip), %rsi     # 0x1e07ac
callq 0x34320
movq %rax, -0x798(%rbp)
jmp 0x178e48
movq -0x798(%rbp), %rdi
movl $0x1, -0x1dc(%rbp)
leaq -0x1dc(%rbp), %rsi
callq 0x343a0
movq %rax, -0x7a0(%rbp)
jmp 0x178e6e
movq -0x7a0(%rbp), %rdi
leaq 0x7d5ff(%rip), %rsi     # 0x1f647b
callq 0x34320
jmp 0x178e83
leaq -0x198(%rbp), %rdi
callq 0x10ff0
jmp 0x178e91
leaq -0x1b8(%rbp), %rdi
callq 0x3100
leaq -0x1b9(%rbp), %rdi
callq 0x3290
leaq -0x1(%rbp), %rdi
callq 0x1d6d0
subq $0x1, %rax
sete %al
movb %al, -0x7a9(%rbp)
leaq -0x391(%rbp), %rdi
movq %rdi, -0x7a8(%rbp)
callq 0x33b0
movq -0x7a8(%rbp), %rdx
leaq 0x8237e(%rip), %rsi     # 0x1fb25e
leaq -0x390(%rbp), %rdi
callq 0x10a90
jmp 0x178eee
movb -0x7a9(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0x370(%rbp), %rdi
leaq -0x390(%rbp), %rdx
callq 0x10f80
jmp 0x178f0f
leaq 0x638cf(%rip), %rsi     # 0x1dc7e5
leaq -0x370(%rbp), %rdi
callq 0x34320
movq %rax, -0x7b8(%rbp)
jmp 0x178f2b
movq -0x7b8(%rbp), %rdi
leaq 0x82333(%rip), %rsi     # 0x1fb26c
callq 0x36600
movq %rax, -0x7c0(%rbp)
jmp 0x178f47
movq -0x7c0(%rbp), %rdi
leaq 0x67857(%rip), %rsi     # 0x1e07ac
callq 0x34320
movq %rax, -0x7c8(%rbp)
jmp 0x178f63
leaq -0x1(%rbp), %rdi
callq 0x1d6d0
movq %rax, -0x7d0(%rbp)
jmp 0x178f75
movq -0x7c8(%rbp), %rdi
movq -0x7d0(%rbp), %rax
movq %rax, -0x3a0(%rbp)
leaq -0x3a0(%rbp), %rsi
callq 0x355c0
movq %rax, -0x7d8(%rbp)
jmp 0x178f9f
movq -0x7d8(%rbp), %rdi
leaq 0x63838(%rip), %rsi     # 0x1dc7e5
callq 0x34320
movq %rax, -0x7e0(%rbp)
jmp 0x178fbb
movq -0x7e0(%rbp), %rdi
leaq 0x6b0a4(%rip), %rsi     # 0x1e406d
callq 0x34320
movq %rax, -0x7e8(%rbp)
jmp 0x178fd7
movq -0x7e8(%rbp), %rdi
leaq 0x677c7(%rip), %rsi     # 0x1e07ac
callq 0x34320
movq %rax, -0x7f0(%rbp)
jmp 0x178ff3
movq -0x7f0(%rbp), %rdi
movl $0x1, -0x3a4(%rbp)
leaq -0x3a4(%rbp), %rsi
callq 0x343a0
movq %rax, -0x7f8(%rbp)
jmp 0x179019
movq -0x7f8(%rbp), %rdi
leaq 0x7d454(%rip), %rsi     # 0x1f647b
callq 0x34320
jmp 0x17902e
leaq -0x370(%rbp), %rdi
callq 0x10ff0
jmp 0x17903c
leaq -0x390(%rbp), %rdi
callq 0x3100
leaq -0x391(%rbp), %rdi
callq 0x3290
leaq -0x1(%rbp), %rdi
callq 0x1f3b0
testq %rax, %rax
sete %al
movb %al, -0x801(%rbp)
leaq -0x559(%rbp), %rdi
movq %rdi, -0x800(%rbp)
callq 0x33b0
movq -0x800(%rbp), %rdx
leaq 0x6e126(%rip), %rsi     # 0x1e71b0
leaq -0x558(%rbp), %rdi
callq 0x10a90
jmp 0x179098
movb -0x801(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0x538(%rbp), %rdi
leaq -0x558(%rbp), %rdx
callq 0x10f80
jmp 0x1790b9
leaq 0x63725(%rip), %rsi     # 0x1dc7e5
leaq -0x538(%rbp), %rdi
callq 0x34320
movq %rax, -0x810(%rbp)
jmp 0x1790d5
movq -0x810(%rbp), %rdi
leaq 0x6e0ed(%rip), %rsi     # 0x1e71d0
callq 0x356d0
movq %rax, -0x818(%rbp)
jmp 0x1790f1
movq -0x818(%rbp), %rdi
leaq 0x676ad(%rip), %rsi     # 0x1e07ac
callq 0x34320
movq %rax, -0x820(%rbp)
jmp 0x17910d
leaq -0x1(%rbp), %rdi
callq 0x1f3b0
movq %rax, -0x828(%rbp)
jmp 0x17911f
movq -0x820(%rbp), %rdi
movq -0x828(%rbp), %rax
movq %rax, -0x568(%rbp)
leaq -0x568(%rbp), %rsi
callq 0x34510
movq %rax, -0x830(%rbp)
jmp 0x179149
movq -0x830(%rbp), %rdi
leaq 0x6368e(%rip), %rsi     # 0x1dc7e5
callq 0x34320
movq %rax, -0x838(%rbp)
jmp 0x179165
movq -0x838(%rbp), %rdi
leaq 0x652c1(%rip), %rsi     # 0x1de434
callq 0x34320
movq %rax, -0x840(%rbp)
jmp 0x179181
movq -0x840(%rbp), %rdi
leaq 0x6761d(%rip), %rsi     # 0x1e07ac
callq 0x34320
movq %rax, -0x848(%rbp)
jmp 0x17919d
movq -0x848(%rbp), %rdi
movl $0x0, -0x56c(%rbp)
leaq -0x56c(%rbp), %rsi
callq 0x343a0
movq %rax, -0x850(%rbp)
jmp 0x1791c3
movq -0x850(%rbp), %rdi
leaq 0x7d2aa(%rip), %rsi     # 0x1f647b
callq 0x34320
jmp 0x1791d8
leaq -0x538(%rbp), %rdi
callq 0x10ff0
jmp 0x1791e6
leaq -0x558(%rbp), %rdi
callq 0x3100
leaq -0x559(%rbp), %rdi
callq 0x3290
leaq -0x1(%rbp), %rdi
callq 0x18a0f0
callq 0x18a120
testq %rax, %rax
sete %al
movb %al, -0x859(%rbp)
leaq -0x729(%rbp), %rdi
movq %rdi, -0x858(%rbp)
callq 0x33b0
movq -0x858(%rbp), %rdx
leaq 0x8203c(%rip), %rsi     # 0x1fb275
leaq -0x728(%rbp), %rdi
callq 0x10a90
jmp 0x179247
movb -0x859(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0x700(%rbp), %rdi
leaq -0x728(%rbp), %rdx
callq 0x10f80
jmp 0x179268
leaq 0x63576(%rip), %rsi     # 0x1dc7e5
leaq -0x700(%rbp), %rdi
callq 0x34320
movq %rax, -0x868(%rbp)
jmp 0x179284
movq -0x868(%rbp), %rdi
leaq 0x81ffa(%rip), %rsi     # 0x1fb28c
callq 0x36780
movq %rax, -0x870(%rbp)
jmp 0x1792a0
movq -0x870(%rbp), %rdi
leaq 0x674fe(%rip), %rsi     # 0x1e07ac
callq 0x34320
movq %rax, -0x878(%rbp)
jmp 0x1792bc
leaq -0x1(%rbp), %rdi
callq 0x18a0f0
jmp 0x1792c7
callq 0x18a120
movq %rax, -0x880(%rbp)
jmp 0x1792d5
movq -0x878(%rbp), %rdi
movq -0x880(%rbp), %rax
movq %rax, -0x738(%rbp)
leaq -0x738(%rbp), %rsi
callq 0x355c0
movq %rax, -0x888(%rbp)
jmp 0x1792ff
movq -0x888(%rbp), %rdi
leaq 0x634d8(%rip), %rsi     # 0x1dc7e5
callq 0x34320
movq %rax, -0x890(%rbp)
jmp 0x17931b
movq -0x890(%rbp), %rdi
leaq 0x6510b(%rip), %rsi     # 0x1de434
callq 0x34320
movq %rax, -0x898(%rbp)
jmp 0x179337
movq -0x898(%rbp), %rdi
leaq 0x67467(%rip), %rsi     # 0x1e07ac
callq 0x34320
movq %rax, -0x8a0(%rbp)
jmp 0x179353
movq -0x8a0(%rbp), %rdi
movl $0x0, -0x740(%rbp)
leaq -0x740(%rbp), %rsi
callq 0x343a0
movq %rax, -0x8a8(%rbp)
jmp 0x179379
movq -0x8a8(%rbp), %rdi
leaq 0x7d0f4(%rip), %rsi     # 0x1f647b
callq 0x34320
jmp 0x17938e
leaq -0x700(%rbp), %rdi
callq 0x10ff0
jmp 0x17939c
leaq -0x728(%rbp), %rdi
callq 0x3100
leaq -0x729(%rbp), %rdi
callq 0x3290
addq $0x8b0, %rsp            # imm = 0x8B0
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
jmp 0x179413
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
jmp 0x179407
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
leaq -0x198(%rbp), %rdi
callq 0x10ff0
jmp 0x179405
jmp 0x179407
leaq -0x1b8(%rbp), %rdi
callq 0x3100
leaq -0x1b9(%rbp), %rdi
callq 0x3290
jmp 0x179551
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
jmp 0x17947a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
jmp 0x17946e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
leaq -0x370(%rbp), %rdi
callq 0x10ff0
jmp 0x17946c
jmp 0x17946e
leaq -0x390(%rbp), %rdi
callq 0x3100
leaq -0x391(%rbp), %rdi
callq 0x3290
jmp 0x179551
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
jmp 0x1794e1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
jmp 0x1794d5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
leaq -0x538(%rbp), %rdi
callq 0x10ff0
jmp 0x1794d3
jmp 0x1794d5
leaq -0x558(%rbp), %rdi
callq 0x3100
leaq -0x559(%rbp), %rdi
callq 0x3290
jmp 0x179551
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
jmp 0x179545
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
jmp 0x179539
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
leaq -0x700(%rbp), %rdi
callq 0x10ff0
jmp 0x179537
jmp 0x179539
leaq -0x728(%rbp), %rdi
callq 0x3100
leaq -0x729(%rbp), %rdi
callq 0x3290
movq -0x1c8(%rbp), %rdi
callq 0x33a0
movq %rax, %rdi
callq 0x116d0
nopw %cs:(%rax,%rax)