// File: /workspace/github_c_makefile_star2_O0/felipelouza[P]egap/gap.c
// Function: usage
void usage(char *name, g_data *g){
  printf("\nUsage: %s [options] PATH\n\n",name);
  puts("Merges BWTs (and optionally LCPs) using the HM or Gap (default) algorithm");
  printf("each LCP value is represented using %zu byte(s).\n\n",sizeof(lcpInt));

  printf("The input bwt's and lcp's must be in PATH.bwt and PATH.%zu.lcp\n", sizeof(lcpInt));
  puts("and the bwt's lengths stored as 8 byte uint's in PATH."LEN_EXT"\n"); 

  puts("Available options:");
  puts("\t-h    this help message");
  puts("\t-o    basename for output files (def. input basename)");
  puts("\t-r    merge lcp values (overwrite input LCPs)");
  puts("\t-l    compute lcp values");
  puts("\t-d D  create document array using D bytes per entry, ext: ."DA_EXT);
  puts("\t-S S  create suffix array using S bytes per entry, ext: ."SA_EXT);
  puts("\t-q    (only for fastq) create QS permuted according to the BWT, ext: ."QS_EXT);
  puts("\t-x    compute lcp without external mergesort");
  puts("\t-a    assume alphabet is small");   
  printf("\t-g G  max # BWTs merged simultaneously (def %llu)\n", MAX_NUMBER_OF_BWTS);   
  puts("\t-A a  preferred gap algorithm to use (see doc or leave it alone)");   
  puts("\t-m    use H&M algorithm");
  printf("\t-s S  minimum solid block size (def %d)\n",g->solid_limit);
  puts("\t-p P  use P parallel threads for merging (def 0)");
  puts("\t-E    run in external memory");
  puts("\t-T    mmap input BWT arrays (overwrite input BWTs)");
  puts("\t-Z    mmap merge arrays");
  puts("\t-B    mmap B array");
  puts("\t-D k  compute order-k deBruijn graph info (def No)");
  puts("\t-v    verbose output (more v's for more verbose)\n");
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
movq 0x10(%rsp), %rsi
leaq 0x11c0e(%rip), %rdi     # 0x14118
movb $0x0, %al
callq 0x20f0
leaq 0x11c1c(%rip), %rdi     # 0x14134
callq 0x2080
leaq 0x11c5a(%rip), %rdi     # 0x1417e
movl $0x1, %esi
movb $0x0, %al
callq 0x20f0
leaq 0x11c7a(%rip), %rdi     # 0x141b1
movl $0x1, %esi
movb $0x0, %al
callq 0x20f0
leaq 0x11ca7(%rip), %rdi     # 0x141f1
callq 0x2080
leaq 0x11cd7(%rip), %rdi     # 0x1422d
callq 0x2080
leaq 0x11cde(%rip), %rdi     # 0x14240
callq 0x2080
leaq 0x11ceb(%rip), %rdi     # 0x14259
callq 0x2080
leaq 0x11d16(%rip), %rdi     # 0x14290
callq 0x2080
leaq 0x11d39(%rip), %rdi     # 0x142bf
callq 0x2080
leaq 0x11d47(%rip), %rdi     # 0x142d9
callq 0x2080
leaq 0x11d7a(%rip), %rdi     # 0x14318
callq 0x2080
leaq 0x11dab(%rip), %rdi     # 0x14355
callq 0x2080
leaq 0x11ded(%rip), %rdi     # 0x143a3
callq 0x2080
leaq 0x11e0f(%rip), %rdi     # 0x143d1
callq 0x2080
leaq 0x11e23(%rip), %rdi     # 0x143f1
movl $0x100, %esi            # imm = 0x100
movb $0x0, %al
callq 0x20f0
leaq 0x11e44(%rip), %rdi     # 0x14425
callq 0x2080
leaq 0x11e7a(%rip), %rdi     # 0x14467
callq 0x2080
movq 0x8(%rsp), %rax
movl 0x90(%rax), %esi
leaq 0x11e7c(%rip), %rdi     # 0x14480
movb $0x0, %al
callq 0x20f0
leaq 0x11e98(%rip), %rdi     # 0x144aa
callq 0x2080
leaq 0x11ebe(%rip), %rdi     # 0x144dc
callq 0x2080
leaq 0x11ed0(%rip), %rdi     # 0x144fa
callq 0x2080
leaq 0x11ef8(%rip), %rdi     # 0x1452e
callq 0x2080
leaq 0x11f05(%rip), %rdi     # 0x14547
callq 0x2080
leaq 0x11f0d(%rip), %rdi     # 0x1455b
callq 0x2080
leaq 0x11f35(%rip), %rdi     # 0x1458f
callq 0x2080
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)