#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*/ panic(char *, char *);
void usage() {
  panic(
      "%s",
      "deepbind [--echo] [--no-head] [--dump-info] [--all-scores] "
      "[--class-prob] <id> [<id>...] [<sequence_file>]\n"
      "  Each <id> can be an actual ID (e.g. D00054.002), or it can be a file\n"
      "  name with extension .ids or .txt containing a single ID on each "
      "line.\n"
      "  \n"
      "  deepbind reads DNA/RNA sequences either from the <sequence_file>\n"
      "  or from stdin. If the first input character is '>', then FASTA input\n"
      "  format is assumed. Otherwise, the input is assumed to contain just "
      "raw\n"
      "  sequences, with one sequence on each line.\n"
      "  Each output line contains tab-separated scores, with\n"
      "  one score for each ID specified, in the order specified.\n"
      "  \n"
      "  If --echo is specified, each output line begins by echoing the\n"
      "  corresponding sequence; ideal for pasting into a spreadsheet.\n"
      "  \n"
      "  If --no-head is specified, the first line of output will be "
      "suppressed.\n"
      "  Normally the first output is a tab-separated list of all the IDs that "
      "will\n"
      "  be used for predictions.\n"
      "  \n"
      "  If --dump-info is specified, then information about each specified "
      "ID\n"
      "  will be dumped to stdout, e.g. the protein name, type, species, "
      "experiment,\n"
      "  etc., with one line for each ID.\n"
      "  \n"
      "  If --all-scores is specified, then information about the score at "
      "every\n"
      "  position instead of just the maximum score will be recorded.\n"
      "  If --class-prob is specified, then the probability of each sequence "
      "being a \n"
      "  sequence for the TF in the model is returned instead of the "
      "sequence's score.\n");
}


x86 assembly (clang, -O0):
<usage>:
push   %rbp
mov    %rsp,%rbp
lea    0xee5(%rip),%rdi
lea    0xee1(%rip),%rsi
call   1030 <panic@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<usage>:
lea    0xee9(%rip),%rdi
lea    0xee5(%rip),%rsi
jmp    1030 <panic@plt>

LLVM IR (-O0):
@.str = [3 x i8] c"%s\00"
@.str.1 = [1424 x i8] c"deepbind [--echo] [--no-head] [--dump-info] [--all-scores] [--class-prob] <id> [<id>...] [<sequence_file>]\0A Each <id> can be an actual ID (e.g. D00054.002), or it can be a file\0A name with extension .ids or .txt containing a single ID on each line.\0A \0A deepbind reads DNA/RNA sequences either from the <sequence_file>\0A or from stdin. If the first input character is '>', then FASTA input\0A format is assumed. Otherwise, the input is assumed to contain just raw\0A sequences, with one sequence on each line.\0A Each output line contains tab-separated scores, with\0A one score for each ID specified, in the order specified.\0A \0A If --echo is specified, each output line begins by echoing the\0A corresponding sequence; ideal for pasting into a spreadsheet.\0A \0A If --no-head is specified, the first line of output will be suppressed.\0A Normally the first output is a tab-separated list of all the IDs that will\0A be used for predictions.\0A \0A If --dump-info is specified, then information about each specified ID\0A will be dumped to stdout, e.g. the protein name, type, species, experiment,\0A etc., with one line for each ID.\0A \0A If --all-scores is specified, then information about the score at every\0A position instead of just the maximum score will be recorded.\0A If --class-prob is specified, then the probability of each sequence being a \0A sequence for the TF in the model is returned instead of the sequence's score.\0A\00"
define void @usage() {
%1 = call i32 @panic(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([1424 x i8], [1424 x i8]* @.str.1, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@.str = [3 x i8] c"%s\00"
@.str.1 = [1424 x i8] c"deepbind [--echo] [--no-head] [--dump-info] [--all-scores] [--class-prob] <id> [<id>...] [<sequence_file>]\0A Each <id> can be an actual ID (e.g. D00054.002), or it can be a file\0A name with extension .ids or .txt containing a single ID on each line.\0A \0A deepbind reads DNA/RNA sequences either from the <sequence_file>\0A or from stdin. If the first input character is '>', then FASTA input\0A format is assumed. Otherwise, the input is assumed to contain just raw\0A sequences, with one sequence on each line.\0A Each output line contains tab-separated scores, with\0A one score for each ID specified, in the order specified.\0A \0A If --echo is specified, each output line begins by echoing the\0A corresponding sequence; ideal for pasting into a spreadsheet.\0A \0A If --no-head is specified, the first line of output will be suppressed.\0A Normally the first output is a tab-separated list of all the IDs that will\0A be used for predictions.\0A \0A If --dump-info is specified, then information about each specified ID\0A will be dumped to stdout, e.g. the protein name, type, species, experiment,\0A etc., with one line for each ID.\0A \0A If --all-scores is specified, then information about the score at every\0A position instead of just the maximum score will be recorded.\0A If --class-prob is specified, then the probability of each sequence being a \0A sequence for the TF in the model is returned instead of the sequence's score.\0A\00"
define void @usage() {
%1 = tail call i32 @panic(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([1424 x i8], [1424 x i8]* @.str.1, i64 0, i64 0))
ret void
}