#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 usage() {
  printf(
      "SYNOPSIS\n\nsteel [options]\n\nOPTIONS\n\n-i, --init-new          "
      "<path>                        Create a new database\n-o, --open         "
      "     <path>                        Decrypt existing database\n-c, "
      "--close                                           Encrypt open "
      "database\n-a, --add               <title> <user> <url> <notes>  Add new "
      "entry to database\n-s, --show              <id>                         "
      " Show entry by id\n-g, --gen-pass          <length> [count]             "
      " Generate secure password\n-d, --delete            <id>                 "
      "         Delete an entry by id\n-r, --replace           <id> <what> "
      "[content]         Replace an entry data\n			"
      "			      <what> can be either \"user\",\n		"
      "				      \"title\", \"url\", \"notes\" "
      "or\n					              "
      "\"passphrase\".\n-R, --shred-db          <path>                        "
      "Shred database\n-f, --find              <search>                      "
      "Search database\n-l, --list-all                                        "
      "Show all entries\n-S, --show-status                                     "
      "Show database statuses\n-b, --backup            <source> <destination>  "
      "      Backup database\n-B, --import-backup     <source> <destination>   "
      "     Import database backup\n-V, --version                              "
      "           Show program version\n-p, --show-passphrase   <id>           "
      "               Show an entry passphrase\n-u, --show-username     <id>   "
      "                       Show an entry username\n-U, --show-url          "
      "<id>                          Show an entry url\n-n, --show-notes       "
      " <id>                          Show an entry notes\n-h, --help          "
      "                                  Show short help and exit.\n\nFor more "
      "information and examples see man steel(1).\n\nAUTHORS\nCopyright (C) "
      "2015 Niko Rosvall <niko@byteptr.com>\n\nReleased under license GPL-3+. "
      "For more information, see\nhttp://www.gnu.org/licenses\n");
}


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

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

LLVM IR (-O0):
@.str = [1854 x i8] c"SYNOPSIS\0A\0Asteel [options]\0A\0AOPTIONS\0A\0A-i, --init-new <path> Create a new database\0A-o, --open <path> Decrypt existing database\0A-c, --close Encrypt open database\0A-a, --add <title> <user> <url> <notes> Add new entry to database\0A-s, --show <id> Show entry by id\0A-g, --gen-pass <length> [count] Generate secure password\0A-d, --delete <id> Delete an entry by id\0A-r, --replace <id> <what> [content] Replace an entry data\0A\09\09\09\09\09\09 <what> can be either \22user\22,\0A\09\09\09\09\09\09 \22title\22, \22url\22, \22notes\22 or\0A\09\09\09\09\09 \22passphrase\22.\0A-R, --shred-db <path> Shred database\0A-f, --find <search> Search database\0A-l, --list-all Show all entries\0A-S, --show-status Show database statuses\0A-b, --backup <source> <destination> Backup database\0A-B, --import-backup <source> <destination> Import database backup\0A-V, --version Show program version\0A-p, --show-passphrase <id> Show an entry passphrase\0A-u, --show-username <id> Show an entry username\0A-U, --show-url <id> Show an entry url\0A-n, --show-notes <id> Show an entry notes\0A-h, --help Show short help and exit.\0A\0AFor more information and examples see man steel(1).\0A\0AAUTHORS\0ACopyright (C) 2015 Niko Rosvall <niko@byteptr.com>\0A\0AReleased under license GPL-3+. For more information, see\0Ahttp://www.gnu.org/licenses\0A\00"
define void @usage() {
%1 = call i32 @printf(i8* getelementptr inbounds ([1854 x i8], [1854 x i8]* @.str, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@str = [1853 x i8] c"SYNOPSIS\0A\0Asteel [options]\0A\0AOPTIONS\0A\0A-i, --init-new <path> Create a new database\0A-o, --open <path> Decrypt existing database\0A-c, --close Encrypt open database\0A-a, --add <title> <user> <url> <notes> Add new entry to database\0A-s, --show <id> Show entry by id\0A-g, --gen-pass <length> [count] Generate secure password\0A-d, --delete <id> Delete an entry by id\0A-r, --replace <id> <what> [content] Replace an entry data\0A\09\09\09\09\09\09 <what> can be either \22user\22,\0A\09\09\09\09\09\09 \22title\22, \22url\22, \22notes\22 or\0A\09\09\09\09\09 \22passphrase\22.\0A-R, --shred-db <path> Shred database\0A-f, --find <search> Search database\0A-l, --list-all Show all entries\0A-S, --show-status Show database statuses\0A-b, --backup <source> <destination> Backup database\0A-B, --import-backup <source> <destination> Import database backup\0A-V, --version Show program version\0A-p, --show-passphrase <id> Show an entry passphrase\0A-u, --show-username <id> Show an entry username\0A-U, --show-url <id> Show an entry url\0A-n, --show-notes <id> Show an entry notes\0A-h, --help Show short help and exit.\0A\0AFor more information and examples see man steel(1).\0A\0AAUTHORS\0ACopyright (C) 2015 Niko Rosvall <niko@byteptr.com>\0A\0AReleased under license GPL-3+. For more information, see\0Ahttp://www.gnu.org/licenses\00"
define void @usage() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([1853 x i8], [1853 x i8]* @str, i64 0, i64 0))
ret void
}