// File: /workspace/github_cpp_makefile_star2_O1/dsharlet[P]array/test/main.cpp
// Function: main
int main(int argc, const char** argv) {
  // By default, the filter matches all tests.
  const char* filter = "*";
  if (argc > 1) {
    filter = argv[1];
    std::cout << "Running tests matching '" << filter << "'..." << std::endl;
  }

  size_t passed = 0;
  size_t total = 0;
  for (auto& i : tests()) {
    if (!wildcard_match(filter, i.first.c_str())) continue;

    std::cout << i.first << " ";
    std::flush(std::cout);
    try {
      i.second();
      std::cout << "passed" << std::endl;
      passed++;
    } catch (const std::exception& e) { std::cout << "failed: " << e.what() << std::endl; }
    total++;
  }
  std::cout << passed << " of " << total << " tests passed, " << tests().size() - total
            << " skipped" << std::endl;
  return passed < total ? -1 : 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
cmpl $0x2, %edi
jl 0x77447
movq 0x8(%rsi), %r15
movq 0x6dbb6(%rip), %rbx     # 0xe4fc8
leaq 0x40f0f(%rip), %rsi     # 0xb8328
movl $0x18, %edx
movq %rbx, %rdi
callq 0x2210
testq %r15, %r15
je 0x77450
movq %r15, %rdi
callq 0x2090
movq 0x6db8e(%rip), %rdi     # 0xe4fc8
movq %r15, %rsi
movq %rax, %rdx
callq 0x2210
jmp 0x77467
leaq 0x40ed8(%rip), %r15     # 0xb8326
jmp 0x774a2
movq (%rbx), %rax
movq -0x18(%rax), %rax
leaq (%rbx,%rax), %rdi
movl 0x20(%rbx,%rax), %esi
orl $0x1, %esi
callq 0x22d0
leaq 0x40ed3(%rip), %rsi     # 0xb8341
movl $0x4, %edx
movq %rbx, %rdi
callq 0x2210
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2120
callq 0x773e1
movq 0x6de4a(%rip), %rbx     # 0xe52f8
movq 0x6de4b(%rip), %r14     # 0xe5300
cmpq %r14, %rbx
je 0x775c5
movq %r15, (%rsp)
xorl %r12d, %r12d
movq 0x6dafc(%rip), %r13     # 0xe4fc8
xorl %r15d, %r15d
movq (%rbx), %rbp
movq (%rsp), %rdi
movq %rbp, %rsi
callq 0x776a4
testb %al, %al
je 0x7755d
movq 0x8(%rbx), %rdx
movq %r13, %rdi
movq %rbp, %rsi
callq 0x2210
movl $0x1, %edx
movq %rax, %rdi
leaq 0x40e69(%rip), %rsi     # 0xb8369
callq 0x2210
movq %r13, %rdi
callq 0x2120
cmpq $0x0, 0x30(%rbx)
je 0x7756c
leaq 0x20(%rbx), %rdi
callq *0x38(%rbx)
movl $0x6, %edx
movq %r13, %rdi
leaq 0x40e1c(%rip), %rsi     # 0xb8346
callq 0x2210
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r13, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2120
incq %r12
incq %r15
addq $0x40, %rbx
cmpq %r14, %rbx
jne 0x774cf
jmp 0x775cb
callq 0x2070
jmp 0x7768c
movq %rax, %rbp
cmpl $0x1, %edx
jne 0x77694
movq %rbp, %rdi
callq 0x2080
movq %rax, %rbp
movl $0x8, %edx
movq %r13, %rdi
leaq 0x40db1(%rip), %rsi     # 0xb834d
callq 0x2210
movq (%rbp), %rax
movq %rbp, %rdi
callq *0x10(%rax)
movq %r13, %rdi
movq %rax, %rsi
callq 0x21d0
movq %rax, %rdi
callq 0x20b0
callq 0x22b0
jmp 0x7755a
xorl %r15d, %r15d
xorl %r12d, %r12d
movq 0x6d9f6(%rip), %rdi     # 0xe4fc8
movq %r12, %rsi
callq 0x2110
movq %rax, %rbx
leaq 0x40d72(%rip), %rsi     # 0xb8356
movl $0x4, %edx
movq %rax, %rdi
callq 0x2210
movq %rbx, %rdi
movq %r15, %rsi
callq 0x2110
movq %rax, %rbx
leaq 0x40d55(%rip), %rsi     # 0xb835b
movl $0xf, %edx
movq %rax, %rdi
callq 0x2210
callq 0x773e1
movq 0x6dce1(%rip), %rsi     # 0xe5300
subq 0x6dcd2(%rip), %rsi     # 0xe52f8
sarq $0x6, %rsi
subq %r15, %rsi
movq %rbx, %rdi
callq 0x2110
movq %rax, %rbx
leaq 0x40d2c(%rip), %rsi     # 0xb836b
movl $0x8, %edx
movq %rax, %rdi
callq 0x2210
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2120
cmpq %r15, %r12
movl $0x0, %eax
sbbl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbp
callq 0x22b0
movq %rbp, %rdi
callq 0x2300
movq %rax, %rdi
callq 0xc036