// File: /workspace/github_cpp_makefile_star2_O3/dsharlet[P]array/test/shuffle.cpp
// Function: nda::internal::test_shuffle_3_of_3_body()
TEST(shuffle_3_of_3) {
  auto t = std::make_tuple(0, 1, 2);
  auto shuffled012 = shuffle<0, 1, 2>(t);
  auto shuffled021 = shuffle<0, 2, 1>(t);
  auto shuffled102 = shuffle<1, 0, 2>(t);
  auto shuffled120 = shuffle<1, 2, 0>(t);
  auto shuffled201 = shuffle<2, 0, 1>(t);
  auto shuffled210 = shuffle<2, 1, 0>(t);
  ASSERT_EQ(shuffled012, std::make_tuple(0, 1, 2));
  ASSERT_EQ(shuffled021, std::make_tuple(0, 2, 1));
  ASSERT_EQ(shuffled102, std::make_tuple(1, 0, 2));
  ASSERT_EQ(shuffled120, std::make_tuple(1, 2, 0));
  ASSERT_EQ(shuffled201, std::make_tuple(2, 0, 1));
  ASSERT_EQ(shuffled210, std::make_tuple(2, 1, 0));

  auto t0 = unshuffle<0, 1, 2>(shuffled012);
  auto t1 = unshuffle<0, 2, 1>(shuffled021);
  auto t2 = unshuffle<1, 0, 2>(shuffled102);
  auto t3 = unshuffle<1, 2, 0>(shuffled120);
  auto t4 = unshuffle<2, 0, 1>(shuffled201);
  auto t5 = unshuffle<2, 1, 0>(shuffled210);
  ASSERT_EQ(t0, t);
  ASSERT_EQ(t1, t);
  ASSERT_EQ(t2, t);
  ASSERT_EQ(t3, t);
  ASSERT_EQ(t4, t);
  ASSERT_EQ(t5, t);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x268, %rsp            # imm = 0x268
movabsq $0x100000002, %rbp      # imm = 0x100000002
movq %rbp, 0x28(%rsp)
xorl %eax, %eax
movl %eax, 0x30(%rsp)
movq %rbp, 0x84(%rsp)
movl %eax, 0x8c(%rsp)
movabsq $0x200000001, %r13      # imm = 0x200000001
movq %r13, 0x60(%rsp)
movl %eax, 0x68(%rsp)
movq $0x2, 0x78(%rsp)
movl $0x1, %eax
movl %eax, 0x80(%rsp)
movabsq $0x200000000, %r12      # imm = 0x200000000
movq %r12, 0x6c(%rsp)
movl %eax, 0x74(%rsp)
movq $0x1, 0x50(%rsp)
movl $0x2, %eax
movl %eax, 0x58(%rsp)
movabsq $0x100000000, %r15      # imm = 0x100000000
movq %r15, 0x44(%rsp)
movl %eax, 0x4c(%rsp)
leaq 0x18(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x248cb(%rip), %rsi     # 0xc0539
leaq 0x248eb(%rip), %rdx     # 0xc0560
leaq 0x8(%rsp), %rdi
callq 0xd14c
leaq 0xd8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
movl $0x1, %esi
callq 0xbf80
leaq 0x79e7(%rip), %rsi      # 0xa3684
leaq 0xd8(%rsp), %rdi
callq 0x18fba
leaq 0x248b0(%rip), %rsi     # 0xc0561
movq %rax, %rdi
callq 0x57bb2
leaq 0xb596(%rip), %rsi      # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x9bce8
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x84(%rsp), %rsi
callq 0x9ccfe
leaq 0x7995(%rip), %rsi      # 0xa3684
movq %rbx, %rdi
callq 0x18fba
leaq 0x2484a(%rip), %rsi     # 0xc0548
movq %rax, %rdi
callq 0x42c5e
leaq 0xb549(%rip), %rsi      # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
movq %rbp, 0x38(%rsp)
movl $0x0, 0x40(%rsp)
cmpb $0x1, 0x188(%rax)
jne 0x9bd3f
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x38(%rsp), %rsi
callq 0x9ccfe
leaq 0x1e553(%rip), %rsi     # 0xba299
movq %rbx, %rdi
callq 0x18fba
leaq 0xd8(%rsp), %rdi
callq 0xbfd8
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x9bd72
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21f0
cmpl $0x0, 0x68(%rsp)
je 0x9bd7d
xorl %ebx, %ebx
jmp 0x9bd90
movl 0x60(%rsp), %eax
movl 0x64(%rsp), %ecx
xorl $0x2, %ecx
xorl $0x1, %eax
orl %ecx, %eax
sete %bl
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x247ce(%rip), %rsi     # 0xc056d
leaq 0x247ee(%rip), %rdx     # 0xc0594
callq 0xd14c
movzbl %bl, %esi
leaq 0xd8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0xbf80
leaq 0x78bd(%rip), %rsi      # 0xa3684
leaq 0xd8(%rsp), %rdi
callq 0x18fba
leaq 0x247ba(%rip), %rsi     # 0xc0595
movq %rax, %rdi
callq 0x57bb2
leaq 0xb46c(%rip), %rsi      # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x9be0f
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x60(%rsp), %rsi
callq 0x9ccfe
leaq 0x786e(%rip), %rsi      # 0xa3684
movq %rbx, %rdi
callq 0x18fba
leaq 0x24757(%rip), %rsi     # 0xc057c
movq %rax, %rdi
callq 0x42c5e
leaq 0xb422(%rip), %rsi      # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
movq %r13, 0x38(%rsp)
movl $0x0, 0x40(%rsp)
cmpb $0x1, 0x188(%rax)
jne 0x9be66
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x38(%rsp), %rsi
callq 0x9ccfe
leaq 0x1e42c(%rip), %rsi     # 0xba299
movq %rbx, %rdi
callq 0x18fba
leaq 0xd8(%rsp), %rdi
callq 0xbfd8
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x9be99
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21f0
cmpl $0x1, 0x80(%rsp)
jne 0x9beb3
movl 0x78(%rsp), %eax
xorl $0x2, %eax
orl 0x7c(%rsp), %eax
sete %bl
jmp 0x9beb5
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x246dd(%rip), %rsi     # 0xc05a1
leaq 0x246fd(%rip), %rdx     # 0xc05c8
callq 0xd14c
movzbl %bl, %esi
leaq 0xd8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0xbf80
leaq 0x7798(%rip), %rsi      # 0xa3684
leaq 0xd8(%rsp), %rdi
callq 0x18fba
leaq 0x246c9(%rip), %rsi     # 0xc05c9
movq %rax, %rdi
callq 0x57bb2
leaq 0xb347(%rip), %rsi      # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x9bf34
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x78(%rsp), %rsi
callq 0x9ccfe
leaq 0x7749(%rip), %rsi      # 0xa3684
movq %rbx, %rdi
callq 0x18fba
leaq 0x24666(%rip), %rsi     # 0xc05b0
movq %rax, %rdi
callq 0x42c5e
leaq 0xb2fd(%rip), %rsi      # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
movq $0x2, 0x38(%rsp)
movl $0x1, 0x40(%rsp)
cmpb $0x1, 0x188(%rax)
jne 0x9bf8f
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x38(%rsp), %rsi
callq 0x9ccfe
leaq 0x1e303(%rip), %rsi     # 0xba299
movq %rbx, %rdi
callq 0x18fba
leaq 0xd8(%rsp), %rdi
callq 0xbfd8
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x9bfc2
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21f0
cmpl $0x1, 0x74(%rsp)
jne 0x9bfd9
movl 0x70(%rsp), %eax
xorl $0x2, %eax
orl 0x6c(%rsp), %eax
sete %bl
jmp 0x9bfdb
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x245eb(%rip), %rsi     # 0xc05d5
leaq 0x2460b(%rip), %rdx     # 0xc05fc
callq 0xd14c
movzbl %bl, %esi
leaq 0xd8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0xbf80
leaq 0x7672(%rip), %rsi      # 0xa3684
leaq 0xd8(%rsp), %rdi
callq 0x18fba
leaq 0x245d7(%rip), %rsi     # 0xc05fd
movq %rax, %rdi
callq 0x57bb2
leaq 0xb221(%rip), %rsi      # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x9c05a
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x6c(%rsp), %rsi
callq 0x9ccfe
leaq 0x7623(%rip), %rsi      # 0xa3684
movq %rbx, %rdi
callq 0x18fba
leaq 0x24574(%rip), %rsi     # 0xc05e4
movq %rax, %rdi
callq 0x42c5e
leaq 0xb1d7(%rip), %rsi      # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
movq %r12, 0x38(%rsp)
movl $0x1, 0x40(%rsp)
cmpb $0x1, 0x188(%rax)
jne 0x9c0b1
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x38(%rsp), %rsi
callq 0x9ccfe
leaq 0x1e1e1(%rip), %rsi     # 0xba299
movq %rbx, %rdi
callq 0x18fba
leaq 0xd8(%rsp), %rdi
callq 0xbfd8
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x9c0e4
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21f0
cmpl $0x2, 0x58(%rsp)
jne 0x9c0fb
movl 0x50(%rsp), %eax
xorl $0x1, %eax
orl 0x54(%rsp), %eax
sete %bl
jmp 0x9c0fd
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x244fd(%rip), %rsi     # 0xc0609
leaq 0x2451d(%rip), %rdx     # 0xc0630
callq 0xd14c
movzbl %bl, %esi
leaq 0xd8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0xbf80
leaq 0x7550(%rip), %rsi      # 0xa3684
leaq 0xd8(%rsp), %rdi
callq 0x18fba
leaq 0x244e9(%rip), %rsi     # 0xc0631
movq %rax, %rdi
callq 0x57bb2
leaq 0xb0ff(%rip), %rsi      # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x9c17c
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x50(%rsp), %rsi
callq 0x9ccfe
leaq 0x7501(%rip), %rsi      # 0xa3684
movq %rbx, %rdi
callq 0x18fba
leaq 0x24486(%rip), %rsi     # 0xc0618
movq %rax, %rdi
callq 0x42c5e
leaq 0xb0b5(%rip), %rsi      # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
movq $0x1, 0x38(%rsp)
movl $0x2, 0x40(%rsp)
cmpb $0x1, 0x188(%rax)
jne 0x9c1d7
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x38(%rsp), %rsi
callq 0x9ccfe
leaq 0x1e0bb(%rip), %rsi     # 0xba299
movq %rbx, %rdi
callq 0x18fba
leaq 0xd8(%rsp), %rdi
callq 0xbfd8
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x9c20a
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21f0
cmpl $0x2, 0x4c(%rsp)
jne 0x9c221
movl 0x48(%rsp), %eax
xorl $0x1, %eax
orl 0x44(%rsp), %eax
sete %bl
jmp 0x9c223
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x2440b(%rip), %rsi     # 0xc063d
leaq 0x2442b(%rip), %rdx     # 0xc0664
callq 0xd14c
movzbl %bl, %esi
leaq 0xd8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0xbf80
leaq 0x742a(%rip), %rsi      # 0xa3684
leaq 0xd8(%rsp), %rdi
callq 0x18fba
leaq 0x243f7(%rip), %rsi     # 0xc0665
movq %rax, %rdi
callq 0x57bb2
leaq 0xafd9(%rip), %rsi      # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x9c2a2
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x44(%rsp), %rsi
callq 0x9ccfe
leaq 0x73db(%rip), %rsi      # 0xa3684
movq %rbx, %rdi
callq 0x18fba
leaq 0x24394(%rip), %rsi     # 0xc064c
movq %rax, %rdi
callq 0x42c5e
leaq 0xaf8f(%rip), %rsi      # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
movq %r15, 0x38(%rsp)
movl $0x2, 0x40(%rsp)
cmpb $0x1, 0x188(%rax)
jne 0x9c2f9
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x38(%rsp), %rsi
callq 0x9ccfe
leaq 0x1df99(%rip), %rsi     # 0xba299
movq %rbx, %rdi
callq 0x18fba
leaq 0xd8(%rsp), %rdi
callq 0xbfd8
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x9c32c
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21f0
movl 0x8c(%rsp), %edx
movl 0x84(%rsp), %eax
movl 0x88(%rsp), %ecx
movl %eax, 0x38(%rsp)
movl %ecx, 0x3c(%rsp)
movl %edx, 0x40(%rsp)
movl 0x68(%rsp), %esi
movq 0x60(%rsp), %xmm0
pshufd $0xe1, %xmm0, %xmm0     # xmm0 = xmm0[1,0,2,3]
movq %xmm0, 0xc0(%rsp)
movl %esi, 0xc8(%rsp)
movl 0x78(%rsp), %esi
movl %esi, 0xb0(%rsp)
movq 0x7c(%rsp), %xmm0
pshufd $0xe1, %xmm0, %xmm0     # xmm0 = xmm0[1,0,2,3]
movq %xmm0, 0xb4(%rsp)
movl 0x6c(%rsp), %esi
movq 0x70(%rsp), %rdi
movq %rdi, 0xa0(%rsp)
movl %esi, 0xa8(%rsp)
movl 0x58(%rsp), %esi
movl %esi, 0x90(%rsp)
movq 0x50(%rsp), %rsi
movq %rsi, 0x94(%rsp)
movl 0x44(%rsp), %r12d
movl 0x48(%rsp), %ebp
movl 0x4c(%rsp), %r15d
movl %r15d, 0xcc(%rsp)
movl %ebp, 0xd0(%rsp)
movl %r12d, 0xd4(%rsp)
cmpl 0x30(%rsp), %edx
jne 0x9c3f5
xorl 0x2c(%rsp), %ecx
xorl 0x28(%rsp), %eax
orl %ecx, %eax
sete %bl
jmp 0x9c3f7
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x2426b(%rip), %rsi     # 0xc0671
leaq 0x2426b(%rip), %rdx     # 0xc0678
callq 0xd14c
movzbl %bl, %esi
leaq 0xd8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0xbf80
leaq 0x7256(%rip), %rsi      # 0xa3684
leaq 0xd8(%rsp), %rdi
callq 0x18fba
leaq 0x23ee5(%rip), %rsi     # 0xc0327
movq %rax, %rdi
callq 0x1917a
leaq 0xae05(%rip), %rsi      # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x9c476
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x38(%rsp), %rsi
callq 0x9ccfe
leaq 0x7207(%rip), %rsi      # 0xa3684
movq %rbx, %rdi
callq 0x18fba
leaq 0x241eb(%rip), %rsi     # 0xc0677
movq %rax, %rdi
callq 0x18fba
leaq 0xadbb(%rip), %rsi      # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x9c4c0
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x28(%rsp), %rsi
callq 0x9ccfe
leaq 0x1ddd2(%rip), %rsi     # 0xba299
movq %rbx, %rdi
callq 0x18fba
leaq 0xd8(%rsp), %rdi
callq 0xbfd8
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x9c4f3
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21f0
movl 0xc8(%rsp), %eax
cmpl 0x30(%rsp), %eax
jne 0x9c524
movq 0xc0(%rsp), %xmm0
movq 0x28(%rsp), %xmm1
pcmpeqd %xmm0, %xmm1
pshufd $0x50, %xmm1, %xmm0     # xmm0 = xmm1[0,0,1,1]
movmskpd %xmm0, %eax
cmpl $0x3, %eax
sete %bl
jmp 0x9c526
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x24144(%rip), %rsi     # 0xc0679
leaq 0x24144(%rip), %rdx     # 0xc0680
callq 0xd14c
movzbl %bl, %esi
leaq 0xd8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0xbf80
leaq 0x7127(%rip), %rsi      # 0xa3684
leaq 0xd8(%rsp), %rdi
callq 0x18fba
leaq 0x23dc9(%rip), %rsi     # 0xc033a
movq %rax, %rdi
callq 0x1917a
leaq 0xacd6(%rip), %rsi      # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x9c5a8
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0xc0(%rsp), %rsi
callq 0x9ccfe
leaq 0x70d5(%rip), %rsi      # 0xa3684
movq %rbx, %rdi
callq 0x18fba
leaq 0x240b9(%rip), %rsi     # 0xc0677
movq %rax, %rdi
callq 0x18fba
leaq 0xac89(%rip), %rsi      # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x9c5f2
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x28(%rsp), %rsi
callq 0x9ccfe
leaq 0x1dca0(%rip), %rsi     # 0xba299
movq %rbx, %rdi
callq 0x18fba
leaq 0xd8(%rsp), %rdi
callq 0xbfd8
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x9c625
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21f0
movl 0xb8(%rsp), %eax
cmpl 0x30(%rsp), %eax
jne 0x9c656
movq 0xb0(%rsp), %xmm0
movq 0x28(%rsp), %xmm1
pcmpeqd %xmm0, %xmm1
pshufd $0x50, %xmm1, %xmm0     # xmm0 = xmm1[0,0,1,1]
movmskpd %xmm0, %eax
cmpl $0x3, %eax
sete %bl
jmp 0x9c658
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x2401a(%rip), %rsi     # 0xc0681
leaq 0x2401a(%rip), %rdx     # 0xc0688
callq 0xd14c
movzbl %bl, %esi
leaq 0xd8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0xbf80
leaq 0x6ff5(%rip), %rsi      # 0xa3684
leaq 0xd8(%rsp), %rdi
callq 0x18fba
leaq 0x23caa(%rip), %rsi     # 0xc034d
movq %rax, %rdi
callq 0x1917a
leaq 0xaba4(%rip), %rsi      # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x9c6da
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0xb0(%rsp), %rsi
callq 0x9ccfe
leaq 0x6fa3(%rip), %rsi      # 0xa3684
movq %rbx, %rdi
callq 0x18fba
leaq 0x23f87(%rip), %rsi     # 0xc0677
movq %rax, %rdi
callq 0x18fba
leaq 0xab57(%rip), %rsi      # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x9c724
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x28(%rsp), %rsi
callq 0x9ccfe
leaq 0x1db6e(%rip), %rsi     # 0xba299
movq %rbx, %rdi
callq 0x18fba
leaq 0xd8(%rsp), %rdi
callq 0xbfd8
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x9c757
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21f0
movl 0xa8(%rsp), %eax
cmpl 0x30(%rsp), %eax
jne 0x9c788
movq 0xa0(%rsp), %xmm0
movq 0x28(%rsp), %xmm1
pcmpeqd %xmm0, %xmm1
pshufd $0x50, %xmm1, %xmm0     # xmm0 = xmm1[0,0,1,1]
movmskpd %xmm0, %eax
cmpl $0x3, %eax
sete %bl
jmp 0x9c78a
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x23ef0(%rip), %rsi     # 0xc0689
leaq 0x23ef0(%rip), %rdx     # 0xc0690
callq 0xd14c
movzbl %bl, %esi
leaq 0xd8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0xbf80
leaq 0x6ec3(%rip), %rsi      # 0xa3684
leaq 0xd8(%rsp), %rdi
callq 0x18fba
leaq 0x23d14(%rip), %rsi     # 0xc04e9
movq %rax, %rdi
callq 0x1917a
leaq 0xaa72(%rip), %rsi      # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x9c80c
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0xa0(%rsp), %rsi
callq 0x9ccfe
leaq 0x6e71(%rip), %rsi      # 0xa3684
movq %rbx, %rdi
callq 0x18fba
leaq 0x23e55(%rip), %rsi     # 0xc0677
movq %rax, %rdi
callq 0x18fba
leaq 0xaa25(%rip), %rsi      # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x9c856
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x28(%rsp), %rsi
callq 0x9ccfe
leaq 0x1da3c(%rip), %rsi     # 0xba299
movq %rbx, %rdi
callq 0x18fba
leaq 0xd8(%rsp), %rdi
callq 0xbfd8
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x9c889
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21f0
movl 0x98(%rsp), %eax
cmpl 0x30(%rsp), %eax
jne 0x9c8ba
movq 0x90(%rsp), %xmm0
movq 0x28(%rsp), %xmm1
pcmpeqd %xmm0, %xmm1
pshufd $0x50, %xmm1, %xmm0     # xmm0 = xmm1[0,0,1,1]
movmskpd %xmm0, %eax
cmpl $0x3, %eax
sete %bl
jmp 0x9c8bc
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x23dc6(%rip), %rsi     # 0xc0691
leaq 0x23dc6(%rip), %rdx     # 0xc0698
callq 0xd14c
movzbl %bl, %esi
leaq 0xd8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0xbf80
leaq 0x6d91(%rip), %rsi      # 0xa3684
leaq 0xd8(%rsp), %rdi
callq 0x18fba
leaq 0x23c01(%rip), %rsi     # 0xc0508
movq %rax, %rdi
callq 0x1917a
leaq 0xa940(%rip), %rsi      # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x9c93e
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x90(%rsp), %rsi
callq 0x9ccfe
leaq 0x6d3f(%rip), %rsi      # 0xa3684
movq %rbx, %rdi
callq 0x18fba
leaq 0x23d23(%rip), %rsi     # 0xc0677
movq %rax, %rdi
callq 0x18fba
leaq 0xa8f3(%rip), %rsi      # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x9c988
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x28(%rsp), %rsi
callq 0x9ccfe
leaq 0x1d90a(%rip), %rsi     # 0xba299
movq %rbx, %rdi
callq 0x18fba
leaq 0xd8(%rsp), %rdi
callq 0xbfd8
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x9c9bb
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21f0
cmpl 0x30(%rsp), %r12d
jne 0x9c9d3
xorl 0x2c(%rsp), %ebp
xorl 0x28(%rsp), %r15d
orl %ebp, %r15d
sete %bl
jmp 0x9c9d5
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x23cb5(%rip), %rsi     # 0xc0699
leaq 0x23cb5(%rip), %rdx     # 0xc06a0
callq 0xd14c
movzbl %bl, %esi
leaq 0xd8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0xbf80
leaq 0x6c78(%rip), %rsi      # 0xa3684
leaq 0xd8(%rsp), %rdi
callq 0x18fba
leaq 0x23b07(%rip), %rsi     # 0xc0527
movq %rax, %rdi
callq 0x1917a
leaq 0xa827(%rip), %rsi      # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x9ca57
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0xcc(%rsp), %rsi
callq 0x9ccfe
leaq 0x6c26(%rip), %rsi      # 0xa3684
movq %rbx, %rdi
callq 0x18fba
leaq 0x23c0a(%rip), %rsi     # 0xc0677
movq %rax, %rdi
callq 0x18fba
leaq 0xa7da(%rip), %rsi      # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x9caa1
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x28(%rsp), %rsi
callq 0x9ccfe
leaq 0x1d7f1(%rip), %rsi     # 0xba299
movq %rbx, %rdi
callq 0x18fba
leaq 0xd8(%rsp), %rdi
callq 0xbfd8
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x9cad4
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21f0
addq $0x268, %rsp            # imm = 0x268
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x9cafc
jmp 0x9cafc
jmp 0x9cafc
jmp 0x9cafc
jmp 0x9cafc
jmp 0x9cafc
jmp 0x9cafc
jmp 0x9cafc
jmp 0x9cafc
jmp 0x9cafc
jmp 0x9cafc
movq %rax, %rbx
jmp 0x9cb43
jmp 0x9cb4b
jmp 0x9cb5d
jmp 0x9cb6f
jmp 0x9cb81
jmp 0x9cb93
jmp 0x9cba5
jmp 0x9cb29
jmp 0x9cb29
jmp 0x9cb29
jmp 0x9cb29
jmp 0x9cb29
jmp 0x9cb29
jmp 0x9cb29
jmp 0x9cb29
jmp 0x9cb29
jmp 0x9cb29
jmp 0x9cb29
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x9cb43
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21f0
movq %rbx, %rdi
callq 0x2300
movq %rax, %rbx
leaq 0xd8(%rsp), %rdi
callq 0xbfd8
jmp 0x9cb2c
movq %rax, %rbx
leaq 0xd8(%rsp), %rdi
callq 0xbfd8
jmp 0x9cb2c
movq %rax, %rbx
leaq 0xd8(%rsp), %rdi
callq 0xbfd8
jmp 0x9cb2c
movq %rax, %rbx
leaq 0xd8(%rsp), %rdi
callq 0xbfd8
jmp 0x9cb2c
movq %rax, %rbx
leaq 0xd8(%rsp), %rdi
callq 0xbfd8
jmp 0x9cb2c
movq %rax, %rbx
leaq 0xd8(%rsp), %rdi
callq 0xbfd8
jmp 0x9cb2c
movq %rax, %rbx
leaq 0xd8(%rsp), %rdi
callq 0xbfd8
jmp 0x9cb2c
movq %rax, %rbx
leaq 0xd8(%rsp), %rdi
callq 0xbfd8
jmp 0x9cb2c
movq %rax, %rbx
leaq 0xd8(%rsp), %rdi
callq 0xbfd8
jmp 0x9cb2c
movq %rax, %rbx
leaq 0xd8(%rsp), %rdi
callq 0xbfd8
jmp 0x9cb2c
movq %rax, %rbx
leaq 0xd8(%rsp), %rdi
callq 0xbfd8
jmp 0x9cb2c
movq %rax, %rbx
leaq 0xd8(%rsp), %rdi
callq 0xbfd8
jmp 0x9cb2c
movq %rax, %rdi
callq 0xc0a9