#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*/ fprintf(int /*<<< orphan*/, char *);
int /*<<< orphan*/ stderr;
void PrintExamples(void) {
  fprintf(stderr, "                                                            "
                  "           \n"
                  "GeCo running examples:                                      "
                  "           \n"
                  "                                                            "
                  "           \n"
                  "Considerations: the decompression is symmetric, therefore "
                  "the same     \n"
                  "resources, namely time and memory will be used as in the "
                  "compression.  \n"
                  "The memory used, after creating the models, will be "
                  "constant, even in  \n"
                  "deeper context models (cache-hash context model).           "
                  "           \n"
                  "                                                            "
                  "           \n"
                  "[A]=> Compressing sequences C(X) or C(X,Y):                 "
                  "           \n"
                  "                                                            "
                  "           \n"
                  "1) Compression of a human genome (using 5.8 GB RAM memory): "
                  "           \n"
                  "   ./GeCo -tm 6:1:0:0/0 -tm 13:20:1:0/0 -tm 19:50:1:2/10 -c "
                  "35 -g 0.8 HS\n"
                  "                                                            "
                  "           \n"
                  "2) Compression of a human genome (using 3.8 GB of RAM "
                  "memory):         \n"
                  "   ./GeCo -tm 6:1:0:0/0 -tm 13:10:1:0/0 -tm 18:50:1:3/10 -c "
                  "20 -g 0.8 HS\n"
                  "                                                            "
                  "           \n"
                  "3) Compression of a human genome (using 0.5 GB of RAM "
                  "memory):         \n"
                  "   ./GeCo -tm 6:1:0:0/0 -tm 13:10:1:0/0 -g 0.8 HS           "
                  "           \n"
                  "                                                            "
                  "           \n"
                  "   Decompression for A1, A2 and A3: ./GeDe HS.co            "
                  "           \n"
                  "   The decompressed file will be HS.de                      "
                  "           \n"
                  "                                                            "
                  "           \n"
                  "4) Compression of a human chromosome Y (repetitive nature): "
                  "           \n"
                  "   ./GeCo -tm 1:1:0:0/0 -tm 4:1:0:0/0 -tm 6:1:1:0/0 -tm "
                  "8:1:0:0/0      \n"
                  "   -tm 11:10:1:0/0 -tm 14:10:0:1/10 -tm 14:50:1:0/0 -tm "
                  "18:30:1:6/10   \n"
                  "   -c 10 -g 0.88 CY.fasta                                   "
                  "           \n"
                  "   Decompression for A4: ./GeDe CY.fasta.co                 "
                  "           \n"
                  "   The decompressed file will be CY.fasta.de                "
                  "           \n"
                  "                                                            "
                  "           \n"
                  "5) Highly-redundant genomic sequence (full ACGT from fastq) "
                  "           \n"
                  "   ./GeCo -tm 4:1:0:0/0 -tm 11:1:0:0/0 -tm 14:20:0:0/0 -tm "
                  "20:100:0:1/10\n"
                  "   -c 40 -g 0.8 SRR957627.fastq                             "
                  "           \n"
                  "   Decompression for A5: ./GeDe SRR957627.fastq.co          "
                  "           \n"
                  "   The decompressed file will be SRR957627.fastq.de         "
                  "           \n"
                  "                                                            "
                  "           \n"
                  "                                                            "
                  "           \n"
                  "[B]=> Conditional (referential) exclusive compression "
                  "C(X||Y):         \n"
                  "                                                            "
                  "           \n"
                  "1) Compression of the gorilla (GG8) chromosome 8 given "
                  "exclusively     \n"
                  "   information from chimpanzee (PT8):                       "
                  "           \n"
                  "   ./GeCo -rm 4:1:0:0/0 -rm 20:1000:1:1/100 -c 20 -r PT8 "
                  "GG8           \n"
                  "   Decompression for B1: ./GeDe -r PT8 GG8.co               "
                  "           \n"
                  "   The decompressed file will be GG8.de                     "
                  "           \n"
                  "                                                            "
                  "           \n"
                  "2) Compression of the same file (for identity studies):     "
                  "           \n"
                  "   ./GeCo -rm 20:1000:0:0/0 -c 30 -r File1.txt File1.txt    "
                  "           \n"
                  "   Decompression for B2: ./GeDe -r File1.txt File1.txt.co   "
                  "           \n"
                  "   The decompressed file will be File1.txt.de               "
                  "           \n"
                  "                                                            "
                  "           \n"
                  "3) Compression of a human (HS5), chimpanzee (PT5) and "
                  "orangutan (PA5)  \n"
                  "   chromsomes 5 given exclusively the gorilla (GG17) "
                  "chromosome 17 as  \n"
                  "   reference:                                               "
                  "           \n"
                  "   ./GeCo -rm 20:1000:1:1/100 -c 20 -r GG17 HS5:PT5:PA5     "
                  "           \n"
                  "   Decompression for B3: ./GeDe -r GG17 "
                  "HS5.co:PT5.co:PA5.co           \n"
                  "   The decompressed files will be HS5.de, PT5.de and PA5.de "
                  "           \n"
                  "                                                            "
                  "           \n"
                  "                                                            "
                  "           \n"
                  "[C]=> Conditional compression C(X|Y) [use reference and "
                  "target]:       \n"
                  "                                                            "
                  "           \n"
                  "1) Compression of a human (HS5), chimpanzee (PT5) and "
                  "orangutan (PA5)  \n"
                  "   chromsomes 5 given the gorilla (GG17) chromosome 17 as "
                  "reference:   \n"
                  "   -rm 12:100:1:0/0 -rm 20:1000:1:1/100 -tm 4:1:0:0/0 -tm "
                  "14:20:1:1/10 \n"
                  "   -c 20 -g 0.85 -r GG17 HS5:PT5:PA5                        "
                  "           \n"
                  "   Decompression for B3: ./GeDe -r GG17 "
                  "HS5.co:PT5.co:PA5.co           \n"
                  "   The decompressed files will be HS5.de, PT5.de and PA5.de "
                  "           \n"
                  "                                                            "
                  "         \n");
}


x86 assembly (clang, -O0):
<PrintExamples>:
push   %rbp
mov    %rsp,%rbp
mov    0x3ec5(%rip),%rax
mov    (%rax),%edi
lea    0xedc(%rip),%rsi
call   1030 <fprintf@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<PrintExamples>:
mov    0x3ec9(%rip),%rax
mov    (%rax),%edi
lea    0xee0(%rip),%rsi
jmp    1030 <fprintf@plt>

LLVM IR (-O0):
@stderr = global i32 0
@.str = [4754 x i8] c" \0AGeCo running examples: \0A \0AConsiderations: the decompression is symmetric, therefore the same \0Aresources, namely time and memory will be used as in the compression. \0AThe memory used, after creating the models, will be constant, even in \0Adeeper context models (cache-hash context model). \0A \0A[A]=> Compressing sequences C(X) or C(X,Y): \0A \0A1) Compression of a human genome (using 5.8 GB RAM memory): \0A ./GeCo -tm 6:1:0:0/0 -tm 13:20:1:0/0 -tm 19:50:1:2/10 -c 35 -g 0.8 HS\0A \0A2) Compression of a human genome (using 3.8 GB of RAM memory): \0A ./GeCo -tm 6:1:0:0/0 -tm 13:10:1:0/0 -tm 18:50:1:3/10 -c 20 -g 0.8 HS\0A \0A3) Compression of a human genome (using 0.5 GB of RAM memory): \0A ./GeCo -tm 6:1:0:0/0 -tm 13:10:1:0/0 -g 0.8 HS \0A \0A Decompression for A1, A2 and A3: ./GeDe HS.co \0A The decompressed file will be HS.de \0A \0A4) Compression of a human chromosome Y (repetitive nature): \0A ./GeCo -tm 1:1:0:0/0 -tm 4:1:0:0/0 -tm 6:1:1:0/0 -tm 8:1:0:0/0 \0A -tm 11:10:1:0/0 -tm 14:10:0:1/10 -tm 14:50:1:0/0 -tm 18:30:1:6/10 \0A -c 10 -g 0.88 CY.fasta \0A Decompression for A4: ./GeDe CY.fasta.co \0A The decompressed file will be CY.fasta.de \0A \0A5) Highly-redundant genomic sequence (full ACGT from fastq) \0A ./GeCo -tm 4:1:0:0/0 -tm 11:1:0:0/0 -tm 14:20:0:0/0 -tm 20:100:0:1/10\0A -c 40 -g 0.8 SRR957627.fastq \0A Decompression for A5: ./GeDe SRR957627.fastq.co \0A The decompressed file will be SRR957627.fastq.de \0A \0A \0A[B]=> Conditional (referential) exclusive compression C(X||Y): \0A \0A1) Compression of the gorilla (GG8) chromosome 8 given exclusively \0A information from chimpanzee (PT8): \0A ./GeCo -rm 4:1:0:0/0 -rm 20:1000:1:1/100 -c 20 -r PT8 GG8 \0A Decompression for B1: ./GeDe -r PT8 GG8.co \0A The decompressed file will be GG8.de \0A \0A2) Compression of the same file (for identity studies): \0A ./GeCo -rm 20:1000:0:0/0 -c 30 -r File1.txt File1.txt \0A Decompression for B2: ./GeDe -r File1.txt File1.txt.co \0A The decompressed file will be File1.txt.de \0A \0A3) Compression of a human (HS5), chimpanzee (PT5) and orangutan (PA5) \0A chromsomes 5 given exclusively the gorilla (GG17) chromosome 17 as \0A reference: \0A ./GeCo -rm 20:1000:1:1/100 -c 20 -r GG17 HS5:PT5:PA5 \0A Decompression for B3: ./GeDe -r GG17 HS5.co:PT5.co:PA5.co \0A The decompressed files will be HS5.de, PT5.de and PA5.de \0A \0A \0A[C]=> Conditional compression C(X|Y) [use reference and target]: \0A \0A1) Compression of a human (HS5), chimpanzee (PT5) and orangutan (PA5) \0A chromsomes 5 given the gorilla (GG17) chromosome 17 as reference: \0A -rm 12:100:1:0/0 -rm 20:1000:1:1/100 -tm 4:1:0:0/0 -tm 14:20:1:1/10 \0A -c 20 -g 0.85 -r GG17 HS5:PT5:PA5 \0A Decompression for B3: ./GeDe -r GG17 HS5.co:PT5.co:PA5.co \0A The decompressed files will be HS5.de, PT5.de and PA5.de \0A \0A\00"
define void @PrintExamples() {
%1 = load i32, i32* @stderr
%2 = call i32 @fprintf(i32 %1, i8* getelementptr inbounds ([4754 x i8], [4754 x i8]* @.str, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@stderr = global i32 0
@.str = [4754 x i8] c" \0AGeCo running examples: \0A \0AConsiderations: the decompression is symmetric, therefore the same \0Aresources, namely time and memory will be used as in the compression. \0AThe memory used, after creating the models, will be constant, even in \0Adeeper context models (cache-hash context model). \0A \0A[A]=> Compressing sequences C(X) or C(X,Y): \0A \0A1) Compression of a human genome (using 5.8 GB RAM memory): \0A ./GeCo -tm 6:1:0:0/0 -tm 13:20:1:0/0 -tm 19:50:1:2/10 -c 35 -g 0.8 HS\0A \0A2) Compression of a human genome (using 3.8 GB of RAM memory): \0A ./GeCo -tm 6:1:0:0/0 -tm 13:10:1:0/0 -tm 18:50:1:3/10 -c 20 -g 0.8 HS\0A \0A3) Compression of a human genome (using 0.5 GB of RAM memory): \0A ./GeCo -tm 6:1:0:0/0 -tm 13:10:1:0/0 -g 0.8 HS \0A \0A Decompression for A1, A2 and A3: ./GeDe HS.co \0A The decompressed file will be HS.de \0A \0A4) Compression of a human chromosome Y (repetitive nature): \0A ./GeCo -tm 1:1:0:0/0 -tm 4:1:0:0/0 -tm 6:1:1:0/0 -tm 8:1:0:0/0 \0A -tm 11:10:1:0/0 -tm 14:10:0:1/10 -tm 14:50:1:0/0 -tm 18:30:1:6/10 \0A -c 10 -g 0.88 CY.fasta \0A Decompression for A4: ./GeDe CY.fasta.co \0A The decompressed file will be CY.fasta.de \0A \0A5) Highly-redundant genomic sequence (full ACGT from fastq) \0A ./GeCo -tm 4:1:0:0/0 -tm 11:1:0:0/0 -tm 14:20:0:0/0 -tm 20:100:0:1/10\0A -c 40 -g 0.8 SRR957627.fastq \0A Decompression for A5: ./GeDe SRR957627.fastq.co \0A The decompressed file will be SRR957627.fastq.de \0A \0A \0A[B]=> Conditional (referential) exclusive compression C(X||Y): \0A \0A1) Compression of the gorilla (GG8) chromosome 8 given exclusively \0A information from chimpanzee (PT8): \0A ./GeCo -rm 4:1:0:0/0 -rm 20:1000:1:1/100 -c 20 -r PT8 GG8 \0A Decompression for B1: ./GeDe -r PT8 GG8.co \0A The decompressed file will be GG8.de \0A \0A2) Compression of the same file (for identity studies): \0A ./GeCo -rm 20:1000:0:0/0 -c 30 -r File1.txt File1.txt \0A Decompression for B2: ./GeDe -r File1.txt File1.txt.co \0A The decompressed file will be File1.txt.de \0A \0A3) Compression of a human (HS5), chimpanzee (PT5) and orangutan (PA5) \0A chromsomes 5 given exclusively the gorilla (GG17) chromosome 17 as \0A reference: \0A ./GeCo -rm 20:1000:1:1/100 -c 20 -r GG17 HS5:PT5:PA5 \0A Decompression for B3: ./GeDe -r GG17 HS5.co:PT5.co:PA5.co \0A The decompressed files will be HS5.de, PT5.de and PA5.de \0A \0A \0A[C]=> Conditional compression C(X|Y) [use reference and target]: \0A \0A1) Compression of a human (HS5), chimpanzee (PT5) and orangutan (PA5) \0A chromsomes 5 given the gorilla (GG17) chromosome 17 as reference: \0A -rm 12:100:1:0/0 -rm 20:1000:1:1/100 -tm 4:1:0:0/0 -tm 14:20:1:1/10 \0A -c 20 -g 0.85 -r GG17 HS5:PT5:PA5 \0A Decompression for B3: ./GeDe -r GG17 HS5.co:PT5.co:PA5.co \0A The decompressed files will be HS5.de, PT5.de and PA5.de \0A \0A\00"
define void @PrintExamples() {
%1 = load i32, i32* @stderr
%2 = tail call i32 @fprintf(i32 %1, i8* getelementptr inbounds ([4754 x i8], [4754 x i8]* @.str, i64 0, i64 0))
ret void
}