#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*/ exit(int);
int /*<<< orphan*/ printf(char *);
void wrong_input() {
  printf("Usage: dialign-t [OPTIONS] <conf-directory> <fasta-file> "
         "[<fasta-out-file>]\n");
  printf("\n  -d\tDebug-Mode  [DEFAULT 0]\n");
  printf("   \t\t 0 no debug statements\n");
  printf("   \t\t 1 debugs the current phase of the processing\n");
  printf("   \t\t 2 very loquacious debugging\n");
  printf("   \t\t 5 hardcore debugging\n");
  printf("  -s\tmaximum amount of input sequences [DEFAULT 5000]\n");
  printf("  -a\tmaximum number of characters per line in a FASTA file [DEFAULT "
         "100]\n");
  printf("  -c\tmaximum amount of characters per line when printing a "
         "sequence\n     \t[DEFAULT 80]\n");
  printf("  -l\tsensitivity mode, the higher the level the less likely\n");
  printf("    \tspurious random fragments are aligned in local alignments \n   "
         "  \t[DEFAULT 0]\n");
  printf("   \t\t 0 switched off \n");
  printf("   \t\t 1 level-1, reduced sensitivity\n");
  printf("   \t\t 2 level-2, strongly reduced sensitivity\n");
  printf("  -m\tscore matrix file name (in the configuration directory)\n     "
         "\t\t[DEFAULT PROTEIN: BLOSUM.scr]\n \t\t[DEFAULT DNA: "
         "dna_matrix.scr]\n");
  printf("  -w\tdefines the minimum weight when the weight formula is "
         "changed\n     \tto 1-pow(1-prob, factor) [DEFAULT 0.000000065]\n");
  printf("  -p\tprobability distribution file name (in the configuration\n     "
         "\tdirectory) \n \t\t[DEFAULT PROTEIN: "
         "BLOSUM.diag_prob_t10]\n\t\t[DEFAULT DNA: "
         "dna_diag_prob_100_exp_550000]\n");
  printf("  -v\tadd to each score (to prevent negative values) [DEFAULT 0]\n");
  printf("  -t\t\"even\" threshold for low score for sequences alignment \n "
         "\t\t[DEFAULT PROTEIN: 4]\n\t\t[DEFAULT DNA: 0]\n");
  printf("  -n\tmaximum number of consecutive positions for window "
         "containing\n     \tlow scoring positions \n \t\t[DEFAULT PROTEIN: "
         "4]\n\t\t[DEFAULT DNA: 4]\n");
  printf("  -g\tglobal minimum fragment length for stop criterion \n "
         "\t\t[DEFAULT PROTEIN: 40] \n\t\t[DEFAULT DNA: 40]\n");
  printf("  -m\tminimal allowed average score in frag window containing low \n "
         "    \tscoring positions \n \t\t[DEFAULT PROTEIN: 4.0]\n\t\t[DEFAULT "
         "DNA: 0.25]\n");
  printf("  -o\twether overlap weights are calculated or not [DEFAULT 0]\n");
  printf("  -f\tminimum fragment length [DEFAULT 1]\n");
  printf(
      "  -r\tthreshold weight to consider the fragment at all [DEFAULT 0.0]\n");
  printf("  -u\t[DEFAULT 0]\n");
  printf("    \t\t1: only use a sqrt(amount_of_seqs) stripe of neighbour\n     "
         "\t\t   sequences to calculate pairwise alignments (increase "
         "performance)\n");
  printf("    \t\t0: all pairwise alignments will be calculated\n");
  printf("  -A\toptional anchor file [DEFAULT none]\n");
  printf("  -D\tinput is DNA-sequence\n");
  printf("  -T\ttranslate DNA into aminoacids from begin to end (length will "
         "be cut to mod 3 = 0)\n\tWARNING: Do not use -D with this option "
         "\n\t(Default values for PROTEIN input will be loaded)\n");
  printf("  -L\tcompare only longest Open Reading Frame\n\tWARNING: Do not use "
         "-D with this option \n\t(Default values for PROTEIN input will be "
         "loaded)\n");
  printf("  -O\ttranslate DNA to aminoacids, reading frame for each sequence "
         "calculated due to its longest ORF\n\tWARNING: Do not use -D with "
         "this option \n\t(Default values for PROTEIN input will be loaded)\n");
  printf("  -P\toutput in aminoacids, no retranslation of DNA "
         "sequences\n\t[DEFAULT: input = output]\n");
  printf("  -F\tfast mode (implies -l0, since it already significantly reduces "
         "sensitivity)\n");
  printf("  -C\tgenerate probability table saved in <config_dir>/prob_table "
         "and exit\n");
  printf("  -H -h\tprint this message\n\n");
  exit(1);
}


x86 assembly (clang, -O0):
<wrong_input>:
push   %rbp
mov    %rsp,%rbp
lea    0xed5(%rip),%rdi
call   1030 <printf@plt>
lea    0xf16(%rip),%rdi
call   1030 <printf@plt>
lea    0xf29(%rip),%rdi
call   1030 <printf@plt>
lea    0xf3a(%rip),%rdi
call   1030 <printf@plt>
lea    0xf62(%rip),%rdi
call   1030 <printf@plt>
lea    0xf79(%rip),%rdi
call   1030 <printf@plt>
lea    0xf89(%rip),%rdi
call   1030 <printf@plt>
lea    0xfb4(%rip),%rdi
call   1030 <printf@plt>
lea    0xff2(%rip),%rdi
call   1030 <printf@plt>
lea    0x103e(%rip),%rdi
call   1030 <printf@plt>
lea    0x106f(%rip),%rdi
call   1030 <printf@plt>
lea    0x10b6(%rip),%rdi
call   1030 <printf@plt>
lea    0x10c1(%rip),%rdi
call   1030 <printf@plt>
lea    0x10db(%rip),%rdi
call   1030 <printf@plt>
lea    0x10fe(%rip),%rdi
call   1030 <printf@plt>
lea    0x1176(%rip),%rdi
call   1030 <printf@plt>
lea    0x11e3(%rip),%rdi
call   1030 <printf@plt>
lea    0x1281(%rip),%rdi
call   1030 <printf@plt>
lea    0x12b6(%rip),%rdi
call   1030 <printf@plt>
lea    0x1313(%rip),%rdi
call   1030 <printf@plt>
lea    0x1393(%rip),%rdi
call   1030 <printf@plt>
lea    0x13ee(%rip),%rdi
call   1030 <printf@plt>
lea    0x146e(%rip),%rdi
call   1030 <printf@plt>
lea    0x14a1(%rip),%rdi
call   1030 <printf@plt>
lea    0x14bf(%rip),%rdi
call   1030 <printf@plt>
lea    0x14f8(%rip),%rdi
call   1030 <printf@plt>
lea    0x14fe(%rip),%rdi
call   1030 <printf@plt>
lea    0x157c(%rip),%rdi
call   1030 <printf@plt>
lea    0x15a5(%rip),%rdi
call   1030 <printf@plt>
lea    0x15c3(%rip),%rdi
call   1030 <printf@plt>
lea    0x15d3(%rip),%rdi
call   1030 <printf@plt>
lea    0x167c(%rip),%rdi
call   1030 <printf@plt>
lea    0x16fb(%rip),%rdi
call   1030 <printf@plt>
lea    0x17b1(%rip),%rdi
call   1030 <printf@plt>
lea    0x17fe(%rip),%rdi
call   1030 <printf@plt>
lea    0x1844(%rip),%rdi
call   1030 <printf@plt>
lea    0x1883(%rip),%rdi
call   1030 <printf@plt>
mov    $0x1,%edi
call   1040 <exit@plt>

x86 assembly (clang, -O2):
<wrong_input>:
push   %rax
lea    0xed8(%rip),%rdi
call   1030 <puts@plt>
lea    0xf18(%rip),%rdi
call   1030 <puts@plt>
lea    0xf2a(%rip),%rdi
call   1030 <puts@plt>
lea    0xf3a(%rip),%rdi
call   1030 <puts@plt>
lea    0xf61(%rip),%rdi
call   1030 <puts@plt>
lea    0xf77(%rip),%rdi
call   1030 <puts@plt>
lea    0xf86(%rip),%rdi
call   1030 <puts@plt>
lea    0xfb0(%rip),%rdi
call   1030 <puts@plt>
lea    0xfed(%rip),%rdi
call   1030 <puts@plt>
lea    0x1038(%rip),%rdi
call   1030 <puts@plt>
lea    0x1068(%rip),%rdi
call   1030 <puts@plt>
lea    0x10ae(%rip),%rdi
call   1030 <puts@plt>
lea    0x10b8(%rip),%rdi
call   1030 <puts@plt>
lea    0x10d1(%rip),%rdi
call   1030 <puts@plt>
lea    0x10f3(%rip),%rdi
call   1030 <puts@plt>
lea    0x116a(%rip),%rdi
call   1030 <puts@plt>
lea    0x11d6(%rip),%rdi
call   1030 <puts@plt>
lea    0x1273(%rip),%rdi
call   1030 <puts@plt>
lea    0x12a7(%rip),%rdi
call   1030 <puts@plt>
lea    0x1303(%rip),%rdi
call   1030 <puts@plt>
lea    0x1382(%rip),%rdi
call   1030 <puts@plt>
lea    0x13dc(%rip),%rdi
call   1030 <puts@plt>
lea    0x145b(%rip),%rdi
call   1030 <puts@plt>
lea    0x148d(%rip),%rdi
call   1030 <puts@plt>
lea    0x14aa(%rip),%rdi
call   1030 <puts@plt>
lea    0x14e2(%rip),%rdi
call   1030 <puts@plt>
lea    0x14e7(%rip),%rdi
call   1030 <puts@plt>
lea    0x1564(%rip),%rdi
call   1030 <puts@plt>
lea    0x158c(%rip),%rdi
call   1030 <puts@plt>
lea    0x15a9(%rip),%rdi
call   1030 <puts@plt>
lea    0x15b8(%rip),%rdi
call   1030 <puts@plt>
lea    0x1660(%rip),%rdi
call   1030 <puts@plt>
lea    0x16de(%rip),%rdi
call   1030 <puts@plt>
lea    0x1793(%rip),%rdi
call   1030 <puts@plt>
lea    0x17df(%rip),%rdi
call   1030 <puts@plt>
lea    0x1824(%rip),%rdi
call   1030 <puts@plt>
lea    0x1862(%rip),%rdi
call   1030 <puts@plt>
mov    $0x1,%edi
call   1040 <exit@plt>

LLVM IR (-O0):
@.str = [77 x i8] c"Usage: dialign-t [OPTIONS] <conf-directory> <fasta-file> [<fasta-out-file>]\0A\00"
@.str.1 = [31 x i8] c"\0A -d\09Debug-Mode [DEFAULT 0]\0A\00"
@.str.2 = [29 x i8] c" \09\09 0 no debug statements\0A\00"
@.str.3 = [52 x i8] c" \09\09 1 debugs the current phase of the processing\0A\00"
@.str.4 = [35 x i8] c" \09\09 2 very loquacious debugging\0A\00"
@.str.5 = [28 x i8] c" \09\09 5 hardcore debugging\0A\00"
@.str.6 = [55 x i8] c" -s\09maximum amount of input sequences [DEFAULT 5000]\0A\00"
@.str.7 = [74 x i8] c" -a\09maximum number of characters per line in a FASTA file [DEFAULT 100]\0A\00"
@.str.8 = [88 x i8] c" -c\09maximum amount of characters per line when printing a sequence\0A \09[DEFAULT 80]\0A\00"
@.str.9 = [61 x i8] c" -l\09sensitivity mode, the higher the level the less likely\0A\00"
@.str.10 = [83 x i8] c" \09spurious random fragments are aligned in local alignments \0A \09[DEFAULT 0]\0A\00"
@.str.11 = [23 x i8] c" \09\09 0 switched off \0A\00"
@.str.12 = [38 x i8] c" \09\09 1 level-1, reduced sensitivity\0A\00"
@.str.13 = [47 x i8] c" \09\09 2 level-2, strongly reduced sensitivity\0A\00"
@.str.14 = [132 x i8] c" -m\09score matrix file name (in the configuration directory)\0A \09\09[DEFAULT PROTEIN: BLOSUM.scr]\0A \09\09[DEFAULT DNA: dna_matrix.scr]\0A\00"
@.str.15 = [121 x i8] c" -w\09defines the minimum weight when the weight formula is changed\0A \09to 1-pow(1-prob, factor) [DEFAULT 0.000000065]\0A\00"
@.str.16 = [170 x i8] c" -p\09probability distribution file name (in the configuration\0A \09directory) \0A \09\09[DEFAULT PROTEIN: BLOSUM.diag_prob_t10]\0A\09\09[DEFAULT DNA: dna_diag_prob_100_exp_550000]\0A\00"
@.str.17 = [65 x i8] c" -v\09add to each score (to prevent negative values) [DEFAULT 0]\0A\00"
@.str.18 = [105 x i8] c" -t\09\22even\22 threshold for low score for sequences alignment \0A \09\09[DEFAULT PROTEIN: 4]\0A\09\09[DEFAULT DNA: 0]\0A\00"
@.str.19 = [140 x i8] c" -n\09maximum number of consecutive positions for window containing\0A \09low scoring positions \0A \09\09[DEFAULT PROTEIN: 4]\0A\09\09[DEFAULT DNA: 4]\0A\00"
@.str.20 = [103 x i8] c" -g\09global minimum fragment length for stop criterion \0A \09\09[DEFAULT PROTEIN: 40] \0A\09\09[DEFAULT DNA: 40]\0A\00"
@.str.21 = [140 x i8] c" -m\09minimal allowed average score in frag window containing low \0A \09scoring positions \0A \09\09[DEFAULT PROTEIN: 4.0]\0A\09\09[DEFAULT DNA: 0.25]\0A\00"
@.str.22 = [63 x i8] c" -o\09wether overlap weights are calculated or not [DEFAULT 0]\0A\00"
@.str.23 = [42 x i8] c" -f\09minimum fragment length [DEFAULT 1]\0A\00"
@.str.24 = [69 x i8] c" -r\09threshold weight to consider the fragment at all [DEFAULT 0.0]\0A\00"
@.str.25 = [18 x i8] c" -u\09[DEFAULT 0]\0A\00"
@.str.26 = [138 x i8] c" \09\091: only use a sqrt(amount_of_seqs) stripe of neighbour\0A \09\09 sequences to calculate pairwise alignments (increase performance)\0A\00"
@.str.27 = [53 x i8] c" \09\090: all pairwise alignments will be calculated\0A\00"
@.str.28 = [42 x i8] c" -A\09optional anchor file [DEFAULT none]\0A\00"
@.str.29 = [28 x i8] c" -D\09input is DNA-sequence\0A\00"
@.str.30 = [181 x i8] c" -T\09translate DNA into aminoacids from begin to end (length will be cut to mod 3 = 0)\0A\09WARNING: Do not use -D with this option \0A\09(Default values for PROTEIN input will be loaded)\0A\00"
@.str.31 = [139 x i8] c" -L\09compare only longest Open Reading Frame\0A\09WARNING: Do not use -D with this option \0A\09(Default values for PROTEIN input will be loaded)\0A\00"
@.str.32 = [194 x i8] c" -O\09translate DNA to aminoacids, reading frame for each sequence calculated due to its longest ORF\0A\09WARNING: Do not use -D with this option \0A\09(Default values for PROTEIN input will be loaded)\0A\00"
@.str.33 = [89 x i8] c" -P\09output in aminoacids, no retranslation of DNA sequences\0A\09[DEFAULT: input = output]\0A\00"
@.str.34 = [82 x i8] c" -F\09fast mode (implies -l0, since it already significantly reduces sensitivity)\0A\00"
@.str.35 = [75 x i8] c" -C\09generate probability table saved in <config_dir>/prob_table and exit\0A\00"
@.str.36 = [29 x i8] c" -H -h\09print this message\0A\0A\00"
define void @wrong_input() {
%1 = call i32 @printf(i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str, i64 0, i64 0))
%2 = call i32 @printf(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.1, i64 0, i64 0))
%3 = call i32 @printf(i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.2, i64 0, i64 0))
%4 = call i32 @printf(i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.3, i64 0, i64 0))
%5 = call i32 @printf(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.4, i64 0, i64 0))
%6 = call i32 @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.5, i64 0, i64 0))
%7 = call i32 @printf(i8* getelementptr inbounds ([55 x i8], [55 x i8]* @.str.6, i64 0, i64 0))
%8 = call i32 @printf(i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.7, i64 0, i64 0))
%9 = call i32 @printf(i8* getelementptr inbounds ([88 x i8], [88 x i8]* @.str.8, i64 0, i64 0))
%10 = call i32 @printf(i8* getelementptr inbounds ([61 x i8], [61 x i8]* @.str.9, i64 0, i64 0))
%11 = call i32 @printf(i8* getelementptr inbounds ([83 x i8], [83 x i8]* @.str.10, i64 0, i64 0))
%12 = call i32 @printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.11, i64 0, i64 0))
%13 = call i32 @printf(i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.12, i64 0, i64 0))
%14 = call i32 @printf(i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.13, i64 0, i64 0))
%15 = call i32 @printf(i8* getelementptr inbounds ([132 x i8], [132 x i8]* @.str.14, i64 0, i64 0))
%16 = call i32 @printf(i8* getelementptr inbounds ([121 x i8], [121 x i8]* @.str.15, i64 0, i64 0))
%17 = call i32 @printf(i8* getelementptr inbounds ([170 x i8], [170 x i8]* @.str.16, i64 0, i64 0))
%18 = call i32 @printf(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.17, i64 0, i64 0))
%19 = call i32 @printf(i8* getelementptr inbounds ([105 x i8], [105 x i8]* @.str.18, i64 0, i64 0))
%20 = call i32 @printf(i8* getelementptr inbounds ([140 x i8], [140 x i8]* @.str.19, i64 0, i64 0))
%21 = call i32 @printf(i8* getelementptr inbounds ([103 x i8], [103 x i8]* @.str.20, i64 0, i64 0))
%22 = call i32 @printf(i8* getelementptr inbounds ([140 x i8], [140 x i8]* @.str.21, i64 0, i64 0))
%23 = call i32 @printf(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.22, i64 0, i64 0))
%24 = call i32 @printf(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.23, i64 0, i64 0))
%25 = call i32 @printf(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.24, i64 0, i64 0))
%26 = call i32 @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.25, i64 0, i64 0))
%27 = call i32 @printf(i8* getelementptr inbounds ([138 x i8], [138 x i8]* @.str.26, i64 0, i64 0))
%28 = call i32 @printf(i8* getelementptr inbounds ([53 x i8], [53 x i8]* @.str.27, i64 0, i64 0))
%29 = call i32 @printf(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.28, i64 0, i64 0))
%30 = call i32 @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.29, i64 0, i64 0))
%31 = call i32 @printf(i8* getelementptr inbounds ([181 x i8], [181 x i8]* @.str.30, i64 0, i64 0))
%32 = call i32 @printf(i8* getelementptr inbounds ([139 x i8], [139 x i8]* @.str.31, i64 0, i64 0))
%33 = call i32 @printf(i8* getelementptr inbounds ([194 x i8], [194 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 ([82 x i8], [82 x i8]* @.str.34, i64 0, i64 0))
%36 = call i32 @printf(i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.35, i64 0, i64 0))
%37 = call i32 @printf(i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.36, i64 0, i64 0))
%38 = call i32 @exit(i32 1)
unreachable
}

LLVM IR (-O2):
@str = [76 x i8] c"Usage: dialign-t [OPTIONS] <conf-directory> <fasta-file> [<fasta-out-file>]\00"
@str.37 = [30 x i8] c"\0A -d\09Debug-Mode [DEFAULT 0]\00"
@str.38 = [28 x i8] c" \09\09 0 no debug statements\00"
@str.39 = [51 x i8] c" \09\09 1 debugs the current phase of the processing\00"
@str.40 = [34 x i8] c" \09\09 2 very loquacious debugging\00"
@str.41 = [27 x i8] c" \09\09 5 hardcore debugging\00"
@str.42 = [54 x i8] c" -s\09maximum amount of input sequences [DEFAULT 5000]\00"
@str.43 = [73 x i8] c" -a\09maximum number of characters per line in a FASTA file [DEFAULT 100]\00"
@str.44 = [87 x i8] c" -c\09maximum amount of characters per line when printing a sequence\0A \09[DEFAULT 80]\00"
@str.45 = [60 x i8] c" -l\09sensitivity mode, the higher the level the less likely\00"
@str.46 = [82 x i8] c" \09spurious random fragments are aligned in local alignments \0A \09[DEFAULT 0]\00"
@str.47 = [22 x i8] c" \09\09 0 switched off \00"
@str.48 = [37 x i8] c" \09\09 1 level-1, reduced sensitivity\00"
@str.49 = [46 x i8] c" \09\09 2 level-2, strongly reduced sensitivity\00"
@str.50 = [131 x i8] c" -m\09score matrix file name (in the configuration directory)\0A \09\09[DEFAULT PROTEIN: BLOSUM.scr]\0A \09\09[DEFAULT DNA: dna_matrix.scr]\00"
@str.51 = [120 x i8] c" -w\09defines the minimum weight when the weight formula is changed\0A \09to 1-pow(1-prob, factor) [DEFAULT 0.000000065]\00"
@str.52 = [169 x i8] c" -p\09probability distribution file name (in the configuration\0A \09directory) \0A \09\09[DEFAULT PROTEIN: BLOSUM.diag_prob_t10]\0A\09\09[DEFAULT DNA: dna_diag_prob_100_exp_550000]\00"
@str.53 = [64 x i8] c" -v\09add to each score (to prevent negative values) [DEFAULT 0]\00"
@str.54 = [104 x i8] c" -t\09\22even\22 threshold for low score for sequences alignment \0A \09\09[DEFAULT PROTEIN: 4]\0A\09\09[DEFAULT DNA: 0]\00"
@str.55 = [139 x i8] c" -n\09maximum number of consecutive positions for window containing\0A \09low scoring positions \0A \09\09[DEFAULT PROTEIN: 4]\0A\09\09[DEFAULT DNA: 4]\00"
@str.56 = [102 x i8] c" -g\09global minimum fragment length for stop criterion \0A \09\09[DEFAULT PROTEIN: 40] \0A\09\09[DEFAULT DNA: 40]\00"
@str.57 = [139 x i8] c" -m\09minimal allowed average score in frag window containing low \0A \09scoring positions \0A \09\09[DEFAULT PROTEIN: 4.0]\0A\09\09[DEFAULT DNA: 0.25]\00"
@str.58 = [62 x i8] c" -o\09wether overlap weights are calculated or not [DEFAULT 0]\00"
@str.59 = [41 x i8] c" -f\09minimum fragment length [DEFAULT 1]\00"
@str.60 = [68 x i8] c" -r\09threshold weight to consider the fragment at all [DEFAULT 0.0]\00"
@str.61 = [17 x i8] c" -u\09[DEFAULT 0]\00"
@str.62 = [137 x i8] c" \09\091: only use a sqrt(amount_of_seqs) stripe of neighbour\0A \09\09 sequences to calculate pairwise alignments (increase performance)\00"
@str.63 = [52 x i8] c" \09\090: all pairwise alignments will be calculated\00"
@str.64 = [41 x i8] c" -A\09optional anchor file [DEFAULT none]\00"
@str.65 = [27 x i8] c" -D\09input is DNA-sequence\00"
@str.66 = [180 x i8] c" -T\09translate DNA into aminoacids from begin to end (length will be cut to mod 3 = 0)\0A\09WARNING: Do not use -D with this option \0A\09(Default values for PROTEIN input will be loaded)\00"
@str.67 = [138 x i8] c" -L\09compare only longest Open Reading Frame\0A\09WARNING: Do not use -D with this option \0A\09(Default values for PROTEIN input will be loaded)\00"
@str.68 = [193 x i8] c" -O\09translate DNA to aminoacids, reading frame for each sequence calculated due to its longest ORF\0A\09WARNING: Do not use -D with this option \0A\09(Default values for PROTEIN input will be loaded)\00"
@str.69 = [88 x i8] c" -P\09output in aminoacids, no retranslation of DNA sequences\0A\09[DEFAULT: input = output]\00"
@str.70 = [81 x i8] c" -F\09fast mode (implies -l0, since it already significantly reduces sensitivity)\00"
@str.71 = [74 x i8] c" -C\09generate probability table saved in <config_dir>/prob_table and exit\00"
@str.72 = [28 x i8] c" -H -h\09print this message\0A\00"
define void @wrong_input() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([76 x i8], [76 x i8]* @str, i64 0, i64 0))
%2 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([30 x i8], [30 x i8]* @str.37, i64 0, i64 0))
%3 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @str.38, i64 0, i64 0))
%4 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([51 x i8], [51 x i8]* @str.39, i64 0, i64 0))
%5 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([34 x i8], [34 x i8]* @str.40, i64 0, i64 0))
%6 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([27 x i8], [27 x i8]* @str.41, i64 0, i64 0))
%7 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([54 x i8], [54 x i8]* @str.42, i64 0, i64 0))
%8 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([73 x i8], [73 x i8]* @str.43, i64 0, i64 0))
%9 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([87 x i8], [87 x i8]* @str.44, i64 0, i64 0))
%10 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([60 x i8], [60 x i8]* @str.45, i64 0, i64 0))
%11 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([82 x i8], [82 x i8]* @str.46, i64 0, i64 0))
%12 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([22 x i8], [22 x i8]* @str.47, i64 0, i64 0))
%13 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([37 x i8], [37 x i8]* @str.48, i64 0, i64 0))
%14 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([46 x i8], [46 x i8]* @str.49, i64 0, i64 0))
%15 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([131 x i8], [131 x i8]* @str.50, i64 0, i64 0))
%16 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([120 x i8], [120 x i8]* @str.51, i64 0, i64 0))
%17 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([169 x i8], [169 x i8]* @str.52, i64 0, i64 0))
%18 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([64 x i8], [64 x i8]* @str.53, i64 0, i64 0))
%19 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([104 x i8], [104 x i8]* @str.54, i64 0, i64 0))
%20 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([139 x i8], [139 x i8]* @str.55, i64 0, i64 0))
%21 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([102 x i8], [102 x i8]* @str.56, i64 0, i64 0))
%22 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([139 x i8], [139 x i8]* @str.57, i64 0, i64 0))
%23 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([62 x i8], [62 x i8]* @str.58, i64 0, i64 0))
%24 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([41 x i8], [41 x i8]* @str.59, i64 0, i64 0))
%25 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([68 x i8], [68 x i8]* @str.60, i64 0, i64 0))
%26 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([17 x i8], [17 x i8]* @str.61, i64 0, i64 0))
%27 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([137 x i8], [137 x i8]* @str.62, i64 0, i64 0))
%28 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([52 x i8], [52 x i8]* @str.63, i64 0, i64 0))
%29 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([41 x i8], [41 x i8]* @str.64, i64 0, i64 0))
%30 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([27 x i8], [27 x i8]* @str.65, i64 0, i64 0))
%31 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([180 x i8], [180 x i8]* @str.66, i64 0, i64 0))
%32 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([138 x i8], [138 x i8]* @str.67, i64 0, i64 0))
%33 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([193 x i8], [193 x i8]* @str.68, i64 0, i64 0))
%34 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([88 x i8], [88 x i8]* @str.69, i64 0, i64 0))
%35 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([81 x i8], [81 x i8]* @str.70, i64 0, i64 0))
%36 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([74 x i8], [74 x i8]* @str.71, i64 0, i64 0))
%37 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @str.72, i64 0, i64 0))
%38 = tail call i32 @exit(i32 1)
unreachable
}