#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ printf(char *);
void CorrectErrorsHelp() {
  printf("-Run \"karect -correct [options_list]\" for the error correction "
         "tool.\n");
  printf("-Available options: (i=integer, d=decimal, f=file, s=directory)\n");
  printf("-Essential options:\n");
  printf("  \"-inputfile=f\":      Specify an input fasta/fastq file. This "
         "option can be repeated for multiple files\n");
  printf("  \"-celltype=[haploid|diploid]\": Specify the cell type. Use "
         "\"haploid\" for bacteria and viruses.\n");
  printf("  \"-matchtype=[edit|hamming|insdel]\": Specify the matching type. "
         "\"hamming\" allows substitution errors only.\n"
         "                         \"edit\" allows insertions, deletion, and "
         "substitutions with equal costs.\n"
         "                         \"insdel\" is the same as \"edit\", but the "
         "cost of substitutions is doubled.\n"
         "                         Use \"hamming\" for Illumina datasets, and "
         "\"edit\" for 454 datasets.\n");
  printf("-Basic options:\n");
  printf("  \"-inputdir=s\":       Specify the input directory. Ignored if "
         "input file paths are complete [Default=.].\n");
  printf("  \"-resultdir=s\":      Specify a directory to save result file(s) "
         "[Default=.].\n");
  printf("  \"-resultprefix=s\":   Specify a prefix string to the result "
         "file(s) [Default=karect_].\n");
  printf("  \"-tempdir=s\":        Specify a directory to save temporary "
         "output files [Default=.].\n");
  printf(
      "  \"-threads=i\":        Specify the number of threads [Default=16].\n");
  printf("  \"-memory=d\":         Specify an upper bound on the memory that "
         "can be used in gigabytes [Default=10240.0].\n");
  printf("-Advanced options:\n");
  printf("  \"-aggressive=d\":     Specify the aggressiveness towards error "
         "correction [Default=0.42].\n");
  printf("  \"-numstages=i\":      Specify the number of stages (1 or 2) "
         "[Default=1].\n");
  printf("  \"-minoverlap=i\":     Specify the minimum overlap size "
         "[Default=35].\n");
  printf("  \"-minoverlapper=d\":  Specify the minimum overlap percentage "
         "[Default=0.20].\n");
  printf("  \"-minreadweigth=d\":  Specify the minimum read weight "
         "[Default=0].\n");
  printf("  \"-errorrate=d\":      Specify the first stage maximum allowed "
         "error rate [Default=0.25].\n");
  printf("  \"-errorratesec=d\":   Specify the second stage maximum allowed "
         "error rate [Default=0.25].\n");
  printf("  \"-reserveval=d\":     Specify the minimum reservation value "
         "[Default=100.0].\n");
  printf("  \"-estcov=[yes|no]\":  Estimate coverage and use it to adjust the "
         "minimum reservation value [Default=yes].\n");
  printf("  \"-usequal=[yes|no]\": Use quality values of candidate reads "
         "[Default=yes].\n");
  printf("  \"-higherror\":        Work in high error rate mode (error rate = "
         "0.50).\n");
  printf(
      "  \"-trimfact=d\":       Specify the trimming factor [Default=2.5].\n");
  printf("  \"-reserveper=d\":     Specify the minimum reservation percentage "
         "[Default=1.0].\n");
  printf("  \"-kmer=i\":           Specify the minimum kmer size (will "
         "increase according to \'-kmerfactor\') [Default=9].\n");
  printf("  \"-trim=[yes|no]\":    Allow/Disallow trimming. Do not allow "
         "trimming if evaluating results afterwards, or\n"
         "                         if you will pass results to an assembler "
         "which expects fixed read sizes [Default=no].\n");
  printf("-More advanced options:\n");
  printf("  \"-maxlenmatches=i\":  Specify the maximum number of expected "
         "alignment computations (millions) [Default=2000].\n");
  printf("  \"-maxkmerslots=i\":   Specify the maximum number kmer slots to be "
         "used [Default=100,000].\n");
  printf("  \"-kmerfactor=i\":     Specify the factor f such that 4^kmersize > "
         "total_num_kmers/f [Default=1000].\n");
  printf("  \"-maxkmerres=i\":     Specify the maximum number kmer results to "
         "be used [Default=30].\n");
  printf("  \"-kmererrors=i\":     Specify the maximum allowed kmer errors "
         "(0,1,2) [Default=2].\n");
  printf("  \"-readsperstep=i\":   Specify the maximum number of processed "
         "reads per step [Default=1000].\n");
  printf("  \"-fbs=i\":            Specify file block size in megabytes "
         "[Default=10].\n");
  printf("  \"-cbs=i\":            Specify cache block size in megabytes "
         "[Default=128].\n");
  printf("-Example:\n"
         "        ./karect -correct -inputdir=/sra_data "
         "-inputfile=SRR001666_1.fasta -inputfile=SRR001666_2.fasta\n"
         "              -resultprefix=karect_r1_ -celltype=haploid "
         "-matchtype=hamming -errorrate=0.25 -threads=12\n");
}


x86 assembly (clang, -O0):
<CorrectErrorsHelp>:
push   %rbp
mov    %rsp,%rbp
lea    0xee5(%rip),%rdi
call   1030 <printf@plt>
lea    0xf1f(%rip),%rdi
call   1030 <printf@plt>
lea    0xf54(%rip),%rdi
call   1030 <printf@plt>
lea    0xf5d(%rip),%rdi
call   1030 <printf@plt>
lea    0xfbb(%rip),%rdi
call   1030 <printf@plt>
lea    0x1010(%rip),%rdi
call   1030 <printf@plt>
lea    0x1190(%rip),%rdi
call   1030 <printf@plt>
lea    0x1195(%rip),%rdi
call   1030 <printf@plt>
lea    0x11f4(%rip),%rdi
call   1030 <printf@plt>
lea    0x1238(%rip),%rdi
call   1030 <printf@plt>
lea    0x1285(%rip),%rdi
call   1030 <printf@plt>
lea    0x12d1(%rip),%rdi
call   1030 <printf@plt>
lea    0x1309(%rip),%rdi
call   1030 <printf@plt>
lea    0x136b(%rip),%rdi
call   1030 <printf@plt>
lea    0x1373(%rip),%rdi
call   1030 <printf@plt>
lea    0x13c3(%rip),%rdi
call   1030 <printf@plt>
lea    0x1402(%rip),%rdi
call   1030 <printf@plt>
lea    0x143d(%rip),%rdi
call   1030 <printf@plt>
lea    0x1480(%rip),%rdi
call   1030 <printf@plt>
lea    0x14b9(%rip),%rdi
call   1030 <printf@plt>
lea    0x1508(%rip),%rdi
call   1030 <printf@plt>
lea    0x1558(%rip),%rdi
call   1030 <printf@plt>
lea    0x159b(%rip),%rdi
call   1030 <printf@plt>
lea    0x15fb(%rip),%rdi
call   1030 <printf@plt>
lea    0x163c(%rip),%rdi
call   1030 <printf@plt>
lea    0x167a(%rip),%rdi
call   1030 <printf@plt>
lea    0x16b1(%rip),%rdi
call   1030 <printf@plt>
lea    0x16f7(%rip),%rdi
call   1030 <printf@plt>
lea    0x1759(%rip),%rdi
call   1030 <printf@plt>
lea    0x1828(%rip),%rdi
call   1030 <printf@plt>
lea    0x1835(%rip),%rdi
call   1030 <printf@plt>
lea    0x189a(%rip),%rdi
call   1030 <printf@plt>
lea    0x18ea(%rip),%rdi
call   1030 <printf@plt>
lea    0x1944(%rip),%rdi
call   1030 <printf@plt>
lea    0x1991(%rip),%rdi
call   1030 <printf@plt>
lea    0x19da(%rip),%rdi
call   1030 <printf@plt>
lea    0x1a2d(%rip),%rdi
call   1030 <printf@plt>
lea    0x1a6c(%rip),%rdi
call   1030 <printf@plt>
lea    0x1aad(%rip),%rdi
call   1030 <printf@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<CorrectErrorsHelp>:
push   %rax
lea    0xee8(%rip),%rdi
call   1030 <puts@plt>
lea    0xf21(%rip),%rdi
call   1030 <puts@plt>
lea    0xf55(%rip),%rdi
call   1030 <puts@plt>
lea    0xf5d(%rip),%rdi
call   1030 <puts@plt>
lea    0xfba(%rip),%rdi
call   1030 <puts@plt>
lea    0x100e(%rip),%rdi
call   1030 <puts@plt>
lea    0x118d(%rip),%rdi
call   1030 <puts@plt>
lea    0x1191(%rip),%rdi
call   1030 <puts@plt>
lea    0x11ef(%rip),%rdi
call   1030 <puts@plt>
lea    0x1232(%rip),%rdi
call   1030 <puts@plt>
lea    0x127e(%rip),%rdi
call   1030 <puts@plt>
lea    0x12c9(%rip),%rdi
call   1030 <puts@plt>
lea    0x1300(%rip),%rdi
call   1030 <puts@plt>
lea    0x1361(%rip),%rdi
call   1030 <puts@plt>
lea    0x1368(%rip),%rdi
call   1030 <puts@plt>
lea    0x13b7(%rip),%rdi
call   1030 <puts@plt>
lea    0x13f5(%rip),%rdi
call   1030 <puts@plt>
lea    0x142f(%rip),%rdi
call   1030 <puts@plt>
lea    0x1471(%rip),%rdi
call   1030 <puts@plt>
lea    0x14a9(%rip),%rdi
call   1030 <puts@plt>
lea    0x14f7(%rip),%rdi
call   1030 <puts@plt>
lea    0x1546(%rip),%rdi
call   1030 <puts@plt>
lea    0x1588(%rip),%rdi
call   1030 <puts@plt>
lea    0x15e7(%rip),%rdi
call   1030 <puts@plt>
lea    0x1627(%rip),%rdi
call   1030 <puts@plt>
lea    0x1664(%rip),%rdi
call   1030 <puts@plt>
lea    0x169a(%rip),%rdi
call   1030 <puts@plt>
lea    0x16df(%rip),%rdi
call   1030 <puts@plt>
lea    0x1740(%rip),%rdi
call   1030 <puts@plt>
lea    0x180e(%rip),%rdi
call   1030 <puts@plt>
lea    0x181a(%rip),%rdi
call   1030 <puts@plt>
lea    0x187e(%rip),%rdi
call   1030 <puts@plt>
lea    0x18cd(%rip),%rdi
call   1030 <puts@plt>
lea    0x1926(%rip),%rdi
call   1030 <puts@plt>
lea    0x1972(%rip),%rdi
call   1030 <puts@plt>
lea    0x19ba(%rip),%rdi
call   1030 <puts@plt>
lea    0x1a0c(%rip),%rdi
call   1030 <puts@plt>
lea    0x1a4a(%rip),%rdi
call   1030 <puts@plt>
lea    0x1a8a(%rip),%rdi
pop    %rax
jmp    1030 <puts@plt>

LLVM IR (-O0):
@.str = [70 x i8] c"-Run \22karect -correct [options_list]\22 for the error correction tool.\0A\00"
@.str.1 = [65 x i8] c"-Available options: (i=integer, d=decimal, f=file, s=directory)\0A\00"
@.str.2 = [21 x i8] c"-Essential options:\0A\00"
@.str.3 = [106 x i8] c" \22-inputfile=f\22: Specify an input fasta/fastq file. This option can be repeated for multiple files\0A\00"
@.str.4 = [97 x i8] c" \22-celltype=[haploid|diploid]\22: Specify the cell type. Use \22haploid\22 for bacteria and viruses.\0A\00"
@.str.5 = [396 x i8] c" \22-matchtype=[edit|hamming|insdel]\22: Specify the matching type. \22hamming\22 allows substitution errors only.\0A \22edit\22 allows insertions, deletion, and substitutions with equal costs.\0A \22insdel\22 is the same as \22edit\22, but the cost of substitutions is doubled.\0A Use \22hamming\22 for Illumina datasets, and \22edit\22 for 454 datasets.\0A\00"
@.str.6 = [17 x i8] c"-Basic options:\0A\00"
@.str.7 = [107 x i8] c" \22-inputdir=s\22: Specify the input directory. Ignored if input file paths are complete [Default=.].\0A\00"
@.str.8 = [80 x i8] c" \22-resultdir=s\22: Specify a directory to save result file(s) [Default=.].\0A\00"
@.str.9 = [89 x i8] c" \22-resultprefix=s\22: Specify a prefix string to the result file(s) [Default=karect_].\0A\00"
@.str.10 = [88 x i8] c" \22-tempdir=s\22: Specify a directory to save temporary output files [Default=.].\0A\00"
@.str.11 = [68 x i8] c" \22-threads=i\22: Specify the number of threads [Default=16].\0A\00"
@.str.12 = [110 x i8] c" \22-memory=d\22: Specify an upper bound on the memory that can be used in gigabytes [Default=10240.0].\0A\00"
@.str.13 = [20 x i8] c"-Advanced options:\0A\00"
@.str.14 = [92 x i8] c" \22-aggressive=d\22: Specify the aggressiveness towards error correction [Default=0.42].\0A\00"
@.str.15 = [75 x i8] c" \22-numstages=i\22: Specify the number of stages (1 or 2) [Default=1].\0A\00"
@.str.16 = [71 x i8] c" \22-minoverlap=i\22: Specify the minimum overlap size [Default=35].\0A\00"
@.str.17 = [79 x i8] c" \22-minoverlapper=d\22: Specify the minimum overlap percentage [Default=0.20].\0A\00"
@.str.18 = [69 x i8] c" \22-minreadweigth=d\22: Specify the minimum read weight [Default=0].\0A\00"
@.str.19 = [91 x i8] c" \22-errorrate=d\22: Specify the first stage maximum allowed error rate [Default=0.25].\0A\00"
@.str.20 = [92 x i8] c" \22-errorratesec=d\22: Specify the second stage maximum allowed error rate [Default=0.25].\0A\00"
@.str.21 = [79 x i8] c" \22-reserveval=d\22: Specify the minimum reservation value [Default=100.0].\0A\00"
@.str.22 = [108 x i8] c" \22-estcov=[yes|no]\22: Estimate coverage and use it to adjust the minimum reservation value [Default=yes].\0A\00"
@.str.23 = [77 x i8] c" \22-usequal=[yes|no]\22: Use quality values of candidate reads [Default=yes].\0A\00"
@.str.24 = [74 x i8] c" \22-higherror\22: Work in high error rate mode (error rate = 0.50).\0A\00"
@.str.25 = [67 x i8] c" \22-trimfact=d\22: Specify the trimming factor [Default=2.5].\0A\00"
@.str.26 = [82 x i8] c" \22-reserveper=d\22: Specify the minimum reservation percentage [Default=1.0].\0A\00"
@.str.27 = [110 x i8] c" \22-kmer=i\22: Specify the minimum kmer size (will increase according to '-kmerfactor') [Default=9].\0A\00"
@.str.28 = [219 x i8] c" \22-trim=[yes|no]\22: Allow/Disallow trimming. Do not allow trimming if evaluating results afterwards, or\0A if you will pass results to an assembler which expects fixed read sizes [Default=no].\0A\00"
@.str.29 = [25 x i8] c"-More advanced options:\0A\00"
@.str.30 = [113 x i8] c" \22-maxlenmatches=i\22: Specify the maximum number of expected alignment computations (millions) [Default=2000].\0A\00"
@.str.31 = [92 x i8] c" \22-maxkmerslots=i\22: Specify the maximum number kmer slots to be used [Default=100,000].\0A\00"
@.str.32 = [102 x i8] c" \22-kmerfactor=i\22: Specify the factor f such that 4^kmersize > total_num_kmers/f [Default=1000].\0A\00"
@.str.33 = [89 x i8] c" \22-maxkmerres=i\22: Specify the maximum number kmer results to be used [Default=30].\0A\00"
@.str.34 = [85 x i8] c" \22-kmererrors=i\22: Specify the maximum allowed kmer errors (0,1,2) [Default=2].\0A\00"
@.str.35 = [95 x i8] c" \22-readsperstep=i\22: Specify the maximum number of processed reads per step [Default=1000].\0A\00"
@.str.36 = [75 x i8] c" \22-fbs=i\22: Specify file block size in megabytes [Default=10].\0A\00"
@.str.37 = [77 x i8] c" \22-cbs=i\22: Specify cache block size in megabytes [Default=128].\0A\00"
@.str.38 = [219 x i8] c"-Example:\0A ./karect -correct -inputdir=/sra_data -inputfile=SRR001666_1.fasta -inputfile=SRR001666_2.fasta\0A -resultprefix=karect_r1_ -celltype=haploid -matchtype=hamming -errorrate=0.25 -threads=12\0A\00"
define void @CorrectErrorsHelp() {
%1 = call i32 @printf(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str, i64 0, i64 0))
%2 = call i32 @printf(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.1, i64 0, i64 0))
%3 = call i32 @printf(i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.2, i64 0, i64 0))
%4 = call i32 @printf(i8* getelementptr inbounds ([106 x i8], [106 x i8]* @.str.3, i64 0, i64 0))
%5 = call i32 @printf(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.4, i64 0, i64 0))
%6 = call i32 @printf(i8* getelementptr inbounds ([396 x i8], [396 x i8]* @.str.5, i64 0, i64 0))
%7 = call i32 @printf(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.6, i64 0, i64 0))
%8 = call i32 @printf(i8* getelementptr inbounds ([107 x i8], [107 x i8]* @.str.7, i64 0, i64 0))
%9 = call i32 @printf(i8* getelementptr inbounds ([80 x i8], [80 x i8]* @.str.8, i64 0, i64 0))
%10 = call i32 @printf(i8* getelementptr inbounds ([89 x i8], [89 x i8]* @.str.9, i64 0, i64 0))
%11 = call i32 @printf(i8* getelementptr inbounds ([88 x i8], [88 x i8]* @.str.10, i64 0, i64 0))
%12 = call i32 @printf(i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.11, i64 0, i64 0))
%13 = call i32 @printf(i8* getelementptr inbounds ([110 x i8], [110 x i8]* @.str.12, i64 0, i64 0))
%14 = call i32 @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.13, i64 0, i64 0))
%15 = call i32 @printf(i8* getelementptr inbounds ([92 x i8], [92 x i8]* @.str.14, i64 0, i64 0))
%16 = call i32 @printf(i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.15, i64 0, i64 0))
%17 = call i32 @printf(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.16, i64 0, i64 0))
%18 = call i32 @printf(i8* getelementptr inbounds ([79 x i8], [79 x i8]* @.str.17, i64 0, i64 0))
%19 = call i32 @printf(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.18, i64 0, i64 0))
%20 = call i32 @printf(i8* getelementptr inbounds ([91 x i8], [91 x i8]* @.str.19, i64 0, i64 0))
%21 = call i32 @printf(i8* getelementptr inbounds ([92 x i8], [92 x i8]* @.str.20, i64 0, i64 0))
%22 = call i32 @printf(i8* getelementptr inbounds ([79 x i8], [79 x i8]* @.str.21, i64 0, i64 0))
%23 = call i32 @printf(i8* getelementptr inbounds ([108 x i8], [108 x i8]* @.str.22, i64 0, i64 0))
%24 = call i32 @printf(i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.23, i64 0, i64 0))
%25 = call i32 @printf(i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.24, i64 0, i64 0))
%26 = call i32 @printf(i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.25, i64 0, i64 0))
%27 = call i32 @printf(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.26, i64 0, i64 0))
%28 = call i32 @printf(i8* getelementptr inbounds ([110 x i8], [110 x i8]* @.str.27, i64 0, i64 0))
%29 = call i32 @printf(i8* getelementptr inbounds ([219 x i8], [219 x i8]* @.str.28, i64 0, i64 0))
%30 = call i32 @printf(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.29, i64 0, i64 0))
%31 = call i32 @printf(i8* getelementptr inbounds ([113 x i8], [113 x i8]* @.str.30, i64 0, i64 0))
%32 = call i32 @printf(i8* getelementptr inbounds ([92 x i8], [92 x i8]* @.str.31, i64 0, i64 0))
%33 = call i32 @printf(i8* getelementptr inbounds ([102 x i8], [102 x i8]* @.str.32, i64 0, i64 0))
%34 = call i32 @printf(i8* getelementptr inbounds ([89 x i8], [89 x i8]* @.str.33, i64 0, i64 0))
%35 = call i32 @printf(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.34, i64 0, i64 0))
%36 = call i32 @printf(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.35, i64 0, i64 0))
%37 = call i32 @printf(i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.36, i64 0, i64 0))
%38 = call i32 @printf(i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.37, i64 0, i64 0))
%39 = call i32 @printf(i8* getelementptr inbounds ([219 x i8], [219 x i8]* @.str.38, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@str = [69 x i8] c"-Run \22karect -correct [options_list]\22 for the error correction tool.\00"
@str.39 = [64 x i8] c"-Available options: (i=integer, d=decimal, f=file, s=directory)\00"
@str.40 = [20 x i8] c"-Essential options:\00"
@str.41 = [105 x i8] c" \22-inputfile=f\22: Specify an input fasta/fastq file. This option can be repeated for multiple files\00"
@str.42 = [96 x i8] c" \22-celltype=[haploid|diploid]\22: Specify the cell type. Use \22haploid\22 for bacteria and viruses.\00"
@str.43 = [395 x i8] c" \22-matchtype=[edit|hamming|insdel]\22: Specify the matching type. \22hamming\22 allows substitution errors only.\0A \22edit\22 allows insertions, deletion, and substitutions with equal costs.\0A \22insdel\22 is the same as \22edit\22, but the cost of substitutions is doubled.\0A Use \22hamming\22 for Illumina datasets, and \22edit\22 for 454 datasets.\00"
@str.44 = [16 x i8] c"-Basic options:\00"
@str.45 = [106 x i8] c" \22-inputdir=s\22: Specify the input directory. Ignored if input file paths are complete [Default=.].\00"
@str.46 = [79 x i8] c" \22-resultdir=s\22: Specify a directory to save result file(s) [Default=.].\00"
@str.47 = [88 x i8] c" \22-resultprefix=s\22: Specify a prefix string to the result file(s) [Default=karect_].\00"
@str.48 = [87 x i8] c" \22-tempdir=s\22: Specify a directory to save temporary output files [Default=.].\00"
@str.49 = [67 x i8] c" \22-threads=i\22: Specify the number of threads [Default=16].\00"
@str.50 = [109 x i8] c" \22-memory=d\22: Specify an upper bound on the memory that can be used in gigabytes [Default=10240.0].\00"
@str.51 = [19 x i8] c"-Advanced options:\00"
@str.52 = [91 x i8] c" \22-aggressive=d\22: Specify the aggressiveness towards error correction [Default=0.42].\00"
@str.53 = [74 x i8] c" \22-numstages=i\22: Specify the number of stages (1 or 2) [Default=1].\00"
@str.54 = [70 x i8] c" \22-minoverlap=i\22: Specify the minimum overlap size [Default=35].\00"
@str.55 = [78 x i8] c" \22-minoverlapper=d\22: Specify the minimum overlap percentage [Default=0.20].\00"
@str.56 = [68 x i8] c" \22-minreadweigth=d\22: Specify the minimum read weight [Default=0].\00"
@str.57 = [90 x i8] c" \22-errorrate=d\22: Specify the first stage maximum allowed error rate [Default=0.25].\00"
@str.58 = [91 x i8] c" \22-errorratesec=d\22: Specify the second stage maximum allowed error rate [Default=0.25].\00"
@str.59 = [78 x i8] c" \22-reserveval=d\22: Specify the minimum reservation value [Default=100.0].\00"
@str.60 = [107 x i8] c" \22-estcov=[yes|no]\22: Estimate coverage and use it to adjust the minimum reservation value [Default=yes].\00"
@str.61 = [76 x i8] c" \22-usequal=[yes|no]\22: Use quality values of candidate reads [Default=yes].\00"
@str.62 = [73 x i8] c" \22-higherror\22: Work in high error rate mode (error rate = 0.50).\00"
@str.63 = [66 x i8] c" \22-trimfact=d\22: Specify the trimming factor [Default=2.5].\00"
@str.64 = [81 x i8] c" \22-reserveper=d\22: Specify the minimum reservation percentage [Default=1.0].\00"
@str.65 = [109 x i8] c" \22-kmer=i\22: Specify the minimum kmer size (will increase according to '-kmerfactor') [Default=9].\00"
@str.66 = [218 x i8] c" \22-trim=[yes|no]\22: Allow/Disallow trimming. Do not allow trimming if evaluating results afterwards, or\0A if you will pass results to an assembler which expects fixed read sizes [Default=no].\00"
@str.67 = [24 x i8] c"-More advanced options:\00"
@str.68 = [112 x i8] c" \22-maxlenmatches=i\22: Specify the maximum number of expected alignment computations (millions) [Default=2000].\00"
@str.69 = [91 x i8] c" \22-maxkmerslots=i\22: Specify the maximum number kmer slots to be used [Default=100,000].\00"
@str.70 = [101 x i8] c" \22-kmerfactor=i\22: Specify the factor f such that 4^kmersize > total_num_kmers/f [Default=1000].\00"
@str.71 = [88 x i8] c" \22-maxkmerres=i\22: Specify the maximum number kmer results to be used [Default=30].\00"
@str.72 = [84 x i8] c" \22-kmererrors=i\22: Specify the maximum allowed kmer errors (0,1,2) [Default=2].\00"
@str.73 = [94 x i8] c" \22-readsperstep=i\22: Specify the maximum number of processed reads per step [Default=1000].\00"
@str.74 = [74 x i8] c" \22-fbs=i\22: Specify file block size in megabytes [Default=10].\00"
@str.75 = [76 x i8] c" \22-cbs=i\22: Specify cache block size in megabytes [Default=128].\00"
@str.76 = [218 x i8] c"-Example:\0A ./karect -correct -inputdir=/sra_data -inputfile=SRR001666_1.fasta -inputfile=SRR001666_2.fasta\0A -resultprefix=karect_r1_ -celltype=haploid -matchtype=hamming -errorrate=0.25 -threads=12\00"
define void @CorrectErrorsHelp() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @str, i64 0, i64 0))
%2 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([64 x i8], [64 x i8]* @str.39, i64 0, i64 0))
%3 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([20 x i8], [20 x i8]* @str.40, i64 0, i64 0))
%4 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([105 x i8], [105 x i8]* @str.41, i64 0, i64 0))
%5 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([96 x i8], [96 x i8]* @str.42, i64 0, i64 0))
%6 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([395 x i8], [395 x i8]* @str.43, i64 0, i64 0))
%7 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([16 x i8], [16 x i8]* @str.44, i64 0, i64 0))
%8 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([106 x i8], [106 x i8]* @str.45, i64 0, i64 0))
%9 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([79 x i8], [79 x i8]* @str.46, i64 0, i64 0))
%10 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([88 x i8], [88 x i8]* @str.47, i64 0, i64 0))
%11 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([87 x i8], [87 x i8]* @str.48, i64 0, i64 0))
%12 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([67 x i8], [67 x i8]* @str.49, i64 0, i64 0))
%13 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([109 x i8], [109 x i8]* @str.50, i64 0, i64 0))
%14 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @str.51, i64 0, i64 0))
%15 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([91 x i8], [91 x i8]* @str.52, i64 0, i64 0))
%16 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([74 x i8], [74 x i8]* @str.53, i64 0, i64 0))
%17 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([70 x i8], [70 x i8]* @str.54, i64 0, i64 0))
%18 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([78 x i8], [78 x i8]* @str.55, i64 0, i64 0))
%19 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([68 x i8], [68 x i8]* @str.56, i64 0, i64 0))
%20 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([90 x i8], [90 x i8]* @str.57, i64 0, i64 0))
%21 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([91 x i8], [91 x i8]* @str.58, i64 0, i64 0))
%22 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([78 x i8], [78 x i8]* @str.59, i64 0, i64 0))
%23 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([107 x i8], [107 x i8]* @str.60, i64 0, i64 0))
%24 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([76 x i8], [76 x i8]* @str.61, i64 0, i64 0))
%25 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([73 x i8], [73 x i8]* @str.62, i64 0, i64 0))
%26 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([66 x i8], [66 x i8]* @str.63, i64 0, i64 0))
%27 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([81 x i8], [81 x i8]* @str.64, i64 0, i64 0))
%28 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([109 x i8], [109 x i8]* @str.65, i64 0, i64 0))
%29 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([218 x i8], [218 x i8]* @str.66, i64 0, i64 0))
%30 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @str.67, i64 0, i64 0))
%31 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([112 x i8], [112 x i8]* @str.68, i64 0, i64 0))
%32 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([91 x i8], [91 x i8]* @str.69, i64 0, i64 0))
%33 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([101 x i8], [101 x i8]* @str.70, i64 0, i64 0))
%34 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([88 x i8], [88 x i8]* @str.71, i64 0, i64 0))
%35 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([84 x i8], [84 x i8]* @str.72, i64 0, i64 0))
%36 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([94 x i8], [94 x i8]* @str.73, i64 0, i64 0))
%37 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([74 x i8], [74 x i8]* @str.74, i64 0, i64 0))
%38 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([76 x i8], [76 x i8]* @str.75, i64 0, i64 0))
%39 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([218 x i8], [218 x i8]* @str.76, i64 0, i64 0))
ret void
}