// File: /workspace/github_cpp_makefile_star2_O3/chuckwolber[P]Cube/order/cli.cpp
// Function: usage(char*)
void usage(char* progName) {
    std::cerr << "usage: " << progName << " "
              << "[--algstart | -a] "
              << "[--algmath-add | -p] "
              << "[--algbench | -g] "
              << "[--algbenchlite | -e] "
              << "[--count | -c] "
              << "[--heartbeat | -b] "
              << "[--keep-dupes | -k] "
              << "[--skip-nth | -s] "
              << "[--threads | -t] "
              << "[--find-orders | -f] "
              << "[--find-order | -o] "
              << "[--find-all | -i] "
              << "[--help | -h] "
              << std::endl;
    std::cerr << std::endl;
    std::cerr << " [--algstart | -a]     - The algorithm to start with. Default is "
              << "\"F\". Base-12 counting" << std::endl;
    std::cerr << "                         order is F F' U U' R R' D D' L L' B B'"
              << std::endl;
    std::cerr << " [--algmath-add | -p ] - Add arg value to --algstart to get alg end."
              << std::endl;
    std::cerr << " [--algmath-lt | -p ]  - Returns true if --algstart is less than "
              << "arg value, false otherwise." << std::endl;
    std::cerr << " [--algbench | -g]     - Benchmark algorithm calculation." << std::endl;
    std::cerr << " [--algbenchlite | -e] - Lightweight algorithm calculation benchmark." << std::endl;
    std::cerr << " [--count | -c]        - The number of algorithms to calculate. "
              << "Input is interpreted" << std::endl
              << "                         as an unsigned integer. Default is "
              << "1,000,000." << std::endl;
    std::cerr << " [--heartbeat | -b]    - Display a heartbeat during --find-orders,"
              << " equivalent to every" << std::endl;
    std::cerr << "                         arg attempts." << std::endl;
    std::cerr << " [--keep-dupes | -k]   - Keep algorithms that contain duplication."
              << std::endl;
    std::cerr << " [--skip-nth | -s]     - Skip nth algorithm." << std::endl;
    std::cerr << " [--threads | -t]      - The number of threads to deploy. Default "
              << "is one per CPU." << std::endl;
    std::cerr << " [--find-orders | -f]  - Only find orders that are in this list. "
              << "Empty list \"\" to"
              << std::endl;
    std::cerr << "                         find all orders."
              << std::endl;
    std::cerr << " [--find-order]        - Find all algorithms matching the optarg order."
              << std::endl;
    std::cerr << " [--find-all | -i]     - Finds all mathematically possible orders."
              << std::endl;
    std::cerr << " [--help | -h]         - Display this messages."
              << std::endl;
    std::cerr << std::endl;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %r14
movq 0xa25e(%rip), %rbx      # 0x11ff0
leaq 0x4664(%rip), %rsi      # 0xc3fd
movl $0x7, %edx
movq %rbx, %rdi
callq 0x4340
testq %r14, %r14
je 0x7dc7
movq %r14, %rdi
callq 0x4110
movq 0xa236(%rip), %rdi      # 0x11ff0
movq %r14, %rsi
movq %rax, %rdx
callq 0x4340
jmp 0x7dde
movq (%rbx), %rax
movq -0x18(%rax), %rax
leaq (%rbx,%rax), %rdi
movl 0x20(%rbx,%rax), %esi
orl $0x1, %esi
callq 0x44b0
leaq 0x4ccb(%rip), %rsi      # 0xcab0
movl $0x1, %edx
movq %rbx, %rdi
callq 0x4340
leaq 0x460c(%rip), %rsi      # 0xc405
movl $0x12, %edx
movq %rbx, %rdi
callq 0x4340
leaq 0x460b(%rip), %rsi      # 0xc418
movl $0x15, %edx
movq %rbx, %rdi
callq 0x4340
leaq 0x460d(%rip), %rsi      # 0xc42e
movl $0x12, %edx
movq %rbx, %rdi
callq 0x4340
leaq 0x460c(%rip), %rsi      # 0xc441
movl $0x16, %edx
movq %rbx, %rdi
callq 0x4340
leaq 0x460f(%rip), %rsi      # 0xc458
movl $0xf, %edx
movq %rbx, %rdi
callq 0x4340
leaq 0x460b(%rip), %rsi      # 0xc468
movl $0x13, %edx
movq %rbx, %rdi
callq 0x4340
leaq 0x460b(%rip), %rsi      # 0xc47c
movl $0x14, %edx
movq %rbx, %rdi
callq 0x4340
leaq 0x460c(%rip), %rsi      # 0xc491
movl $0x12, %edx
movq %rbx, %rdi
callq 0x4340
leaq 0x460b(%rip), %rsi      # 0xc4a4
movl $0x11, %edx
movq %rbx, %rdi
callq 0x4340
leaq 0x4609(%rip), %rsi      # 0xc4b6
movl $0x15, %edx
movq %rbx, %rdi
callq 0x4340
leaq 0x460b(%rip), %rsi      # 0xc4cc
movl $0x14, %edx
movq %rbx, %rdi
callq 0x4340
leaq 0x460c(%rip), %rsi      # 0xc4e1
movl $0x12, %edx
movq %rbx, %rdi
callq 0x4340
leaq 0x460b(%rip), %rsi      # 0xc4f4
movl $0xe, %edx
movq %rbx, %rdi
callq 0x4340
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x45b8(%rip), %rsi      # 0xc503
movl $0x41, %edx
movq %rbx, %rdi
callq 0x4340
leaq 0x45e6(%rip), %rsi      # 0xc545
movl $0x15, %edx
movq %rbx, %rdi
callq 0x4340
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x45c1(%rip), %rsi      # 0xc55b
movl $0x3f, %edx
movq %rbx, %rdi
callq 0x4340
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x45c6(%rip), %rsi      # 0xc59b
movl $0x44, %edx
movq %rbx, %rdi
callq 0x4340
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x45d0(%rip), %rsi      # 0xc5e0
movl $0x41, %edx
movq %rbx, %rdi
callq 0x4340
leaq 0x45fe(%rip), %rsi      # 0xc622
movl $0x1b, %edx
movq %rbx, %rdi
callq 0x4340
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x45df(%rip), %rsi      # 0xc63e
movl $0x39, %edx
movq %rbx, %rdi
callq 0x4340
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x45de(%rip), %rsi      # 0xc678
movl $0x45, %edx
movq %rbx, %rdi
callq 0x4340
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x45e9(%rip), %rsi      # 0xc6be
movl $0x40, %edx
movq %rbx, %rdi
callq 0x4340
leaq 0x4616(%rip), %rsi      # 0xc6ff
movl $0x14, %edx
movq %rbx, %rdi
callq 0x4340
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq %rax, %r14
leaq 0x45ed(%rip), %rsi      # 0xc714
movl $0x3c, %edx
movq %rax, %rdi
callq 0x4340
leaq 0x4616(%rip), %rsi      # 0xc751
movl $0xa, %edx
movq %r14, %rdi
callq 0x4340
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r14, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x45e6(%rip), %rsi      # 0xc75c
movl $0x42, %edx
movq %rbx, %rdi
callq 0x4340
leaq 0x4615(%rip), %rsi      # 0xc79f
movl $0x14, %edx
movq %rbx, %rdi
callq 0x4340
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x45ef(%rip), %rsi      # 0xc7b4
movl $0x26, %edx
movq %rbx, %rdi
callq 0x4340
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x45db(%rip), %rsi      # 0xc7db
movl $0x42, %edx
movq %rbx, %rdi
callq 0x4340
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x45e3(%rip), %rsi      # 0xc81e
movl $0x2c, %edx
movq %rbx, %rdi
callq 0x4340
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x45d5(%rip), %rsi      # 0xc84b
movl $0x42, %edx
movq %rbx, %rdi
callq 0x4340
leaq 0x4604(%rip), %rsi      # 0xc88e
movl $0xf, %edx
movq %rbx, %rdi
callq 0x4340
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x45d9(%rip), %rsi      # 0xc89e
movl $0x41, %edx
movq %rbx, %rdi
callq 0x4340
leaq 0x4607(%rip), %rsi      # 0xc8e0
movl $0x10, %edx
movq %rbx, %rdi
callq 0x4340
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x45dd(%rip), %rsi      # 0xc8f1
movl $0x29, %edx
movq %rbx, %rdi
callq 0x4340
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x45cc(%rip), %rsi      # 0xc91b
movl $0x47, %edx
movq %rbx, %rdi
callq 0x4340
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x45d9(%rip), %rsi      # 0xc963
movl $0x42, %edx
movq %rbx, %rdi
callq 0x4340
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
leaq 0x45e1(%rip), %rsi      # 0xc9a6
movl $0x2f, %edx
movq %rbx, %rdi
callq 0x4340
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x41f0