// File: /workspace/github_c_makefile_star2_O0/nh13[P]ksw/src/main.c
// Function: usage
void usage(main_opt_t *opt)
{
	int i;
	fprintf(stderr, "\n");
	fprintf(stderr, "Program: ksw (klib smith-waterman)\n");
	fprintf(stderr, "Version: %s\n", GIT_HASH);
	fprintf(stderr, "Usage: ksw [options]\n\n");
	fprintf(stderr, "Algorithm options:\n\n");
	fprintf(stderr, "       -M INT      The alignment mode:");
	for (i = AlignmentModeStart; i <= AlignmentModeEnd; ++i) {
		fprintf(stderr, " %d - %s", i, alignment_mode_to_str(i));
		if (i < AlignmentModeEnd) fputc(',', stderr);
	}
	fprintf(stderr, " [%d - %s]\n", opt->alignment_mode, alignment_mode_to_str(opt->alignment_mode));
	fprintf(stderr, "       -a INT      The match score (>0) [%d]\n", opt->match_score);
	fprintf(stderr, "       -b INT      The mismatch penalty (>0) [%d]\n", opt->mismatch_score);
	fprintf(stderr, "       -q INT      The gap open penalty (>=0) [%d]\n", opt->gap_open);
	fprintf(stderr, "       -r INT      The gap extend penalty (>0) [%d]\n", opt->gap_extend);
	fprintf(stderr, "       -w INT      The band width (ksw only) [%d]\n", opt->band_width);
	fprintf(stderr, "       -m FILE     Path to the scoring matrix (4x4 or 5x5) [%s]\n", opt->matrix_fn == NULL ? "None" : opt->matrix_fn);
	fprintf(stderr, "       -c          Append the cigar to the output [%s]\n", opt->add_cigar == 0 ? "false" : "true");
	fprintf(stderr, "       -s          Append the query and target to the output [%s]\n", opt->add_seq == 0 ? "false" : "true");
	fprintf(stderr, "       -H          Add a header line to the output [%s]\n", opt->add_header == 0 ? "false" : "true");
	fprintf(stderr, "       -R          Right-align gaps (ksw only)[%s]\n", opt->right_align_gaps == 0 ? "false" : "true");
	fprintf(stderr, "       -O          Output offset-and-length, otherwise start-and-end (all zero-based)[%s]\n", opt->offset_and_length == 0 ? "false" : "true");
	fprintf(stderr, "       -l INT      The library type:");
	for (i = LibraryStart; i <= LibraryEnd; ++i) {
		fprintf(stderr, " %d - %s", i, library_to_str(i));
		if (i < LibraryEnd) fputc(',', stderr);
	}
	fprintf(stderr, " [%d - %s]\n", opt->library, library_to_str(opt->library));
	fprintf(stderr,"\nNote: when any of the algorithms open a gap, the gap open plus the gap extension penalty is applied.\n");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
movq 0xc6e0b5(%rip), %rax    # 0xe26fd8
movq (%rax), %rdi
leaq 0xad49cf(%rip), %rsi    # 0xc8d8fc
movb $0x0, %al
callq 0x19e180
movq 0xc6e09d(%rip), %rax    # 0xe26fd8
movq (%rax), %rdi
leaq 0xad4956(%rip), %rsi    # 0xc8d89b
movb $0x0, %al
callq 0x19e180
movq 0xc6e085(%rip), %rax    # 0xe26fd8
movq (%rax), %rdi
leaq 0xad4962(%rip), %rsi    # 0xc8d8bf
leaq 0xad4968(%rip), %rdx    # 0xc8d8cc
movb $0x0, %al
callq 0x19e180
movq 0xc6e066(%rip), %rax    # 0xe26fd8
movq (%rax), %rdi
leaq 0xad4956(%rip), %rsi    # 0xc8d8d2
movb $0x0, %al
callq 0x19e180
movq 0xc6e04e(%rip), %rax    # 0xe26fd8
movq (%rax), %rdi
leaq 0xad4955(%rip), %rsi    # 0xc8d8e9
movb $0x0, %al
callq 0x19e180
movq 0xc6e036(%rip), %rax    # 0xe26fd8
movq (%rax), %rdi
leaq 0xad4952(%rip), %rsi    # 0xc8d8fe
movb $0x0, %al
callq 0x19e180
movl $0x0, -0xc(%rbp)
cmpl $0x3, -0xc(%rbp)
jg 0x1b901b
movq 0xc6e011(%rip), %rax    # 0xe26fd8
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movl -0xc(%rbp), %eax
movl %eax, -0x10(%rbp)
movl -0xc(%rbp), %edi
callq 0x1b7940
movq -0x18(%rbp), %rdi
movl -0x10(%rbp), %edx
movq %rax, %rcx
leaq 0xad4938(%rip), %rsi    # 0xc8d925
movb $0x0, %al
callq 0x19e180
cmpl $0x3, -0xc(%rbp)
jge 0x1b900e
movq 0xc6dfd7(%rip), %rax    # 0xe26fd8
movq (%rax), %rsi
movl $0x2c, %edi
callq 0x19e140
jmp 0x1b9010
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x1b8fba
movq 0xc6dfb6(%rip), %rax    # 0xe26fd8
movq (%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x8(%rbp), %rax
movl 0x20(%rax), %eax
movl %eax, -0x24(%rbp)
movq -0x8(%rbp), %rax
movl 0x20(%rax), %edi
callq 0x1b7940
movq -0x30(%rbp), %rdi
movl -0x24(%rbp), %edx
movq %rax, %rcx
leaq 0xad48de(%rip), %rsi    # 0xc8d92e
movb $0x0, %al
callq 0x19e180
movq 0xc6df7a(%rip), %rax    # 0xe26fd8
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movl (%rax), %edx
leaq 0xad48cc(%rip), %rsi    # 0xc8d93a
movb $0x0, %al
callq 0x19e180
movq 0xc6df5c(%rip), %rax    # 0xe26fd8
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movl 0x4(%rax), %edx
leaq 0xad48db(%rip), %rsi    # 0xc8d968
movb $0x0, %al
callq 0x19e180
movq 0xc6df3d(%rip), %rax    # 0xe26fd8
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movl 0x8(%rax), %edx
leaq 0xad48ef(%rip), %rsi    # 0xc8d99b
movb $0x0, %al
callq 0x19e180
movq 0xc6df1e(%rip), %rax    # 0xe26fd8
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movl 0xc(%rax), %edx
leaq 0xad4904(%rip), %rsi    # 0xc8d9cf
movb $0x0, %al
callq 0x19e180
movq 0xc6deff(%rip), %rax    # 0xe26fd8
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movl 0x10(%rax), %edx
leaq 0xad491a(%rip), %rsi    # 0xc8da04
movb $0x0, %al
callq 0x19e180
movq 0xc6dee0(%rip), %rax    # 0xe26fd8
movq (%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x18(%rax)
jne 0x1b9117
leaq 0xad4967(%rip), %rax    # 0xc8da78
movq %rax, -0x38(%rbp)
jmp 0x1b9123
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x20(%rbp), %rdi
movq -0x38(%rbp), %rdx
leaq 0xad4905(%rip), %rsi    # 0xc8da37
movb $0x0, %al
callq 0x19e180
movq 0xc6de98(%rip), %rax    # 0xe26fd8
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movl 0x24(%rax), %ecx
leaq 0xad496a(%rip), %rdx    # 0xc8dabb
leaq 0xad495d(%rip), %rax    # 0xc8dab5
cmpl $0x0, %ecx
cmoveq %rax, %rdx
leaq 0xad4917(%rip), %rsi    # 0xc8da7d
movb $0x0, %al
callq 0x19e180
movq 0xc6de64(%rip), %rax    # 0xe26fd8
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movl 0x28(%rax), %ecx
leaq 0xad4936(%rip), %rdx    # 0xc8dabb
leaq 0xad4929(%rip), %rax    # 0xc8dab5
cmpl $0x0, %ecx
cmoveq %rax, %rdx
leaq 0xad4926(%rip), %rsi    # 0xc8dac0
movb $0x0, %al
callq 0x19e180
movq 0xc6de30(%rip), %rax    # 0xe26fd8
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movl 0x2c(%rax), %ecx
leaq 0xad4902(%rip), %rdx    # 0xc8dabb
leaq 0xad48f5(%rip), %rax    # 0xc8dab5
cmpl $0x0, %ecx
cmoveq %rax, %rdx
leaq 0xad4935(%rip), %rsi    # 0xc8db03
movb $0x0, %al
callq 0x19e180
movq 0xc6ddfc(%rip), %rax    # 0xe26fd8
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movl 0x30(%rax), %ecx
leaq 0xad48ce(%rip), %rdx    # 0xc8dabb
leaq 0xad48c1(%rip), %rax    # 0xc8dab5
cmpl $0x0, %ecx
cmoveq %rax, %rdx
leaq 0xad493a(%rip), %rsi    # 0xc8db3c
movb $0x0, %al
callq 0x19e180
movq 0xc6ddc8(%rip), %rax    # 0xe26fd8
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movl 0x34(%rax), %ecx
leaq 0xad489a(%rip), %rdx    # 0xc8dabb
leaq 0xad488d(%rip), %rax    # 0xc8dab5
cmpl $0x0, %ecx
cmoveq %rax, %rdx
leaq 0xad493a(%rip), %rsi    # 0xc8db70
movb $0x0, %al
callq 0x19e180
movq 0xc6dd94(%rip), %rax    # 0xe26fd8
movq (%rax), %rdi
leaq 0xad497d(%rip), %rsi    # 0xc8dbcb
movb $0x0, %al
callq 0x19e180
movl $0x0, -0xc(%rbp)
cmpl $0x2, -0xc(%rbp)
jg 0x1b92bd
movq 0xc6dd6f(%rip), %rax    # 0xe26fd8
movq (%rax), %rax
movq %rax, -0x48(%rbp)
movl -0xc(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl -0xc(%rbp), %edi
callq 0x1b79b0
movq -0x48(%rbp), %rdi
movl -0x3c(%rbp), %edx
movq %rax, %rcx
leaq 0xad4696(%rip), %rsi    # 0xc8d925
movb $0x0, %al
callq 0x19e180
cmpl $0x2, -0xc(%rbp)
jge 0x1b92b0
movq 0xc6dd35(%rip), %rax    # 0xe26fd8
movq (%rax), %rsi
movl $0x2c, %edi
callq 0x19e140
jmp 0x1b92b2
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x1b925c
movq 0xc6dd14(%rip), %rax    # 0xe26fd8
movq (%rax), %rax
movq %rax, -0x58(%rbp)
movq -0x8(%rbp), %rax
movl 0x38(%rax), %eax
movl %eax, -0x4c(%rbp)
movq -0x8(%rbp), %rax
movl 0x38(%rax), %edi
callq 0x1b79b0
movq -0x58(%rbp), %rdi
movl -0x4c(%rbp), %edx
movq %rax, %rcx
leaq 0xad463c(%rip), %rsi    # 0xc8d92e
movb $0x0, %al
callq 0x19e180
movq 0xc6dcd8(%rip), %rax    # 0xe26fd8
movq (%rax), %rdi
leaq 0xad48e6(%rip), %rsi    # 0xc8dbf0
movb $0x0, %al
callq 0x19e180
addq $0x60, %rsp
popq %rbp
retq
nopw (%rax,%rax)