// File: /workspace/github_cpp_makefile_star2_O1/BenLangmead[P]bowtie/ebwt_build.cpp
// Function: printUsage(std::ostream&)
static void printUsage(ostream& out) {
#ifdef BOWTIE_64BIT_INDEX
	string tool_name = "bowtie2-build-l";
#else
	string tool_name = "bowtie2-build-s";
#endif
	if(wrapper == "basic-0") {
		tool_name = "bowtie-build";
	}

	out << "Usage: "<< tool_name <<" [options]* <reference_in> <ebwt_outfile_base>" << endl
	    << "    reference_in            comma-separated list of files with ref sequences" << endl
	    << "    ebwt_outfile_base       write Ebwt data to files with this dir/basename" << endl
	    << "Options:" << endl
	    << "    -f                      reference files are Fasta (default)" << endl
	    << "    -c                      reference sequences given on cmd line (as <seq_in>)" << endl;
	if(wrapper == "basic-0") {
		out << "    --large-index           force generated index to be 'large', even if ref" << endl
		    << "                            has fewer than 4 billion nucleotides" << endl;
	}
	out << "    -a/--noauto             disable automatic -p/--bmax/--dcv memory-fitting" << endl
	    << "    -p/--packed             use packed strings internally; slower, uses less mem" << endl
	    << "    --bmax <int>            max bucket sz for blockwise suffix-array builder" << endl
	    //<< "    --bmaxmultsqrt <int>    max bucket sz as multiple of sqrt(ref len)" << endl
	    << "    --bmaxdivn <int>        max bucket sz as divisor of ref len (default: 4)" << endl
	    << "    --dcv <int>             diff-cover period for blockwise (default: 1024)" << endl
	    << "    --nodc                  disable diff-cover (algorithm becomes quadratic)" << endl
	    << "    -r/--noref              don't build .3/.4.ebwt (packed reference) portion" << endl
	    << "    -3/--justref            just build .3/.4.ebwt (packed reference) portion" << endl
	    << "    -o/--offrate <int>      SA is sampled every 2^offRate BWT chars (default: 5)" << endl
	    << "    -t/--ftabchars <int>    # of chars consumed in initial lookup (default: 10)" << endl
	    << "    --threads <int>         # of threads" << endl
	    << "    --ntoa                  convert Ns in reference to As" << endl
	    //<< "    --big --little          endianness (default: little, this host: "
	    //<< (currentlyBigEndian()? "big":"little") << ")" << endl
	    << "    --seed <int>            seed for random number generator" << endl
	    //<< "    --new-reverse           concatenate then reverse stretches, not vice versa" << endl
	    << "    -q/--quiet              verbose output (for debugging)" << endl
	    << "    -h/--help               print detailed description of tool and its options" << endl
	    << "    --usage                 print this usage message" << endl
	    << "    --version               print version information and quit" << endl;
	if(wrapper.empty()) {
		cerr << endl
		     << "*** Warning ***" << endl
		     << "'" << tool_name << "' was run directly.  It is recommended "
		     << "that you run the wrapper script 'bowtie-build' instead."
		     << endl << endl;
	}
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x20, %rsp
movq %rdi, %rbx
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x247f9(%rip), %rsi     # 0x2f25f
leaq 0x24801(%rip), %rdx     # 0x2f26e
movq %rsp, %rdi
callq 0x104c0
leaq 0x332c4(%rip), %rdi     # 0x3dd40
leaq 0x247ec(%rip), %rsi     # 0x2f26f
callq 0x5100
testl %eax, %eax
jne 0xaaa7
movq %rsp, %rdi
movq 0x8(%rdi), %rdx
leaq 0x247dd(%rip), %rcx     # 0x2f277
movl $0xc, %r8d
xorl %esi, %esi
callq 0x5580
leaq 0x247d6(%rip), %rsi     # 0x2f284
movl $0x7, %edx
movq %rbx, %rdi
callq 0x5400
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq %rbx, %rdi
callq 0x5400
movq %rax, %r14
leaq 0x247b6(%rip), %rsi     # 0x2f28c
movl $0x2e, %edx
movq %rax, %rdi
callq 0x5400
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %r14, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x51f0
movq %rax, %r14
leaq 0x247a7(%rip), %rsi     # 0x2f2bb
movl $0x4c, %edx
movq %rax, %rdi
callq 0x5400
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %r14, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x51f0
movq %rax, %r14
leaq 0x247b6(%rip), %rsi     # 0x2f308
movl $0x4b, %edx
movq %rax, %rdi
callq 0x5400
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %r14, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x51f0
movq %rax, %r14
leaq 0x247c4(%rip), %rsi     # 0x2f354
movl $0x8, %edx
movq %rax, %rdi
callq 0x5400
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %r14, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x51f0
movq %rax, %r14
leaq 0x2478f(%rip), %rsi     # 0x2f35d
movl $0x3f, %edx
movq %rax, %rdi
callq 0x5400
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %r14, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x51f0
movq %rax, %r14
leaq 0x24791(%rip), %rsi     # 0x2f39d
movl $0x4f, %edx
movq %rax, %rdi
callq 0x5400
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %r14, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x51f0
leaq 0x330f9(%rip), %rdi     # 0x3dd40
leaq 0x24621(%rip), %rsi     # 0x2f26f
callq 0x5100
testl %eax, %eax
jne 0xacd0
leaq 0x2478f(%rip), %rsi     # 0x2f3ed
movl $0x4c, %edx
movq %rbx, %rdi
callq 0x5400
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x51f0
movq %rax, %r14
leaq 0x2479e(%rip), %rsi     # 0x2f43a
movl $0x40, %edx
movq %rax, %rdi
callq 0x5400
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %r14, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x51f0
leaq 0x247a4(%rip), %rsi     # 0x2f47b
movl $0x4c, %edx
movq %rbx, %rdi
callq 0x5400
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x51f0
movq %rax, %rbx
leaq 0x247b3(%rip), %rsi     # 0x2f4c8
movl $0x50, %edx
movq %rax, %rdi
callq 0x5400
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x51f0
movq %rax, %rbx
leaq 0x247c6(%rip), %rsi     # 0x2f519
movl $0x4c, %edx
movq %rax, %rdi
callq 0x5400
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x51f0
movq %rax, %rbx
leaq 0x247d5(%rip), %rsi     # 0x2f566
movl $0x4c, %edx
movq %rax, %rdi
callq 0x5400
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x51f0
movq %rax, %rbx
leaq 0x247e4(%rip), %rsi     # 0x2f5b3
movl $0x4b, %edx
movq %rax, %rdi
callq 0x5400
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x51f0
movq %rax, %rbx
leaq 0x247f2(%rip), %rsi     # 0x2f5ff
movl $0x4c, %edx
movq %rax, %rdi
callq 0x5400
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x51f0
movq %rax, %rbx
leaq 0x24801(%rip), %rsi     # 0x2f64c
movl $0x4d, %edx
movq %rax, %rdi
callq 0x5400
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x51f0
movq %rax, %rbx
leaq 0x24811(%rip), %rsi     # 0x2f69a
movl $0x4c, %edx
movq %rax, %rdi
callq 0x5400
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x51f0
movq %rax, %rbx
leaq 0x24820(%rip), %rsi     # 0x2f6e7
movl $0x50, %edx
movq %rax, %rdi
callq 0x5400
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x51f0
movq %rax, %rbx
leaq 0x24833(%rip), %rsi     # 0x2f738
movl $0x4f, %edx
movq %rax, %rdi
callq 0x5400
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x51f0
movq %rax, %rbx
leaq 0x24845(%rip), %rsi     # 0x2f788
movl $0x28, %edx
movq %rax, %rdi
callq 0x5400
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x51f0
movq %rax, %rbx
leaq 0x24830(%rip), %rsi     # 0x2f7b1
movl $0x39, %edx
movq %rax, %rdi
callq 0x5400
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x51f0
movq %rax, %rbx
leaq 0x2482c(%rip), %rsi     # 0x2f7eb
movl $0x3c, %edx
movq %rax, %rdi
callq 0x5400
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x51f0
movq %rax, %rbx
leaq 0x2482b(%rip), %rsi     # 0x2f828
movl $0x3a, %edx
movq %rax, %rdi
callq 0x5400
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x51f0
movq %rax, %rbx
leaq 0x24828(%rip), %rsi     # 0x2f863
movl $0x4e, %edx
movq %rax, %rdi
callq 0x5400
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x51f0
movq %rax, %rbx
leaq 0x24839(%rip), %rsi     # 0x2f8b2
movl $0x34, %edx
movq %rax, %rdi
callq 0x5400
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x51f0
movq %rax, %rbx
leaq 0x24830(%rip), %rsi     # 0x2f8e7
movl $0x3e, %edx
movq %rax, %rdi
callq 0x5400
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x51f0
cmpq $0x0, 0x32c55(%rip)     # 0x3dd48
jne 0xb20a
movq 0x2fef0(%rip), %rdi     # 0x3aff0
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq 0x2fed5(%rip), %rdi     # 0x3aff0
callq 0x5040
movq %rax, %rdi
callq 0x51f0
movq %rax, %rbx
leaq 0x247f4(%rip), %rsi     # 0x2f926
movl $0xf, %edx
movq %rax, %rdi
callq 0x5400
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x51f0
movq %rax, %rbx
leaq 0x247c6(%rip), %rsi     # 0x2f936
movl $0x1, %edx
movq %rax, %rdi
callq 0x5400
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq %rbx, %rdi
callq 0x5400
movq %rax, %rbx
leaq 0x247a0(%rip), %rsi     # 0x2f938
movl $0x27, %edx
movq %rax, %rdi
callq 0x5400
leaq 0x247b4(%rip), %rsi     # 0x2f960
movl $0x37, %edx
movq %rbx, %rdi
callq 0x5400
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x51f0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x51f0
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0xb220
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x5380
addq $0x20, %rsp
popq %rbx
popq %r14
popq %r15
retq
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0xb243
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x5380
movq %rbx, %rdi
callq 0x56a0