#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\n    stamp [options]\n\nOPTIONS\n\n    -a <category> "
      "<content> [yyyy-MM-dd]       Add a new note with optional date\n    -d "
      "<category> <id>                         Delete note by id\n    -D "
      "<category>                              Delete all notes\n    -e "
      "<category> <path>                       Export notes as html to a "
      "file\n    -f <category> <search>                     Find notes by "
      "search term\n    -F <category> <regex>                      Find notes "
      "by regular expression\n    -i <category>                              "
      "Read from stdin until ^D\n    -l <category> <n>                         "
      " Show latest n notes\n    -L                                         "
      "List all categories\n    -o <category>                              "
      "Show all notes organized by date\n    -p                                "
      "         Show current stamp file path\n    -r <category> <id> "
      "[content]/[yyyy-MM-dd]  Replace note content or date\n    -s <category> "
      "                             Show all notes\n\n    -h                   "
      "                      Show short help and exit. This page\n    -V       "
      "                                  Show version number of program\n\nFor "
      "more information and examples see man stamp(1).\n\nAUTHORS\n\n    "
      "Copyright (C) 2014 Reinier Schoof <reinier@skoef.net>\n    Copyright "
      "(C) 2014 Niko Rosvall <niko@byteptr.com>\n\n    Released under license "
      "GPL-3+. For more information, see\n    http://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 = [1414 x i8] c"SYNOPSIS\0A\0A stamp [options]\0A\0AOPTIONS\0A\0A -a <category> <content> [yyyy-MM-dd] Add a new note with optional date\0A -d <category> <id> Delete note by id\0A -D <category> Delete all notes\0A -e <category> <path> Export notes as html to a file\0A -f <category> <search> Find notes by search term\0A -F <category> <regex> Find notes by regular expression\0A -i <category> Read from stdin until ^D\0A -l <category> <n> Show latest n notes\0A -L List all categories\0A -o <category> Show all notes organized by date\0A -p Show current stamp file path\0A -r <category> <id> [content]/[yyyy-MM-dd] Replace note content or date\0A -s <category> Show all notes\0A\0A -h Show short help and exit. This page\0A -V Show version number of program\0A\0AFor more information and examples see man stamp(1).\0A\0AAUTHORS\0A\0A Copyright (C) 2014 Reinier Schoof <reinier@skoef.net>\0A Copyright (C) 2014 Niko Rosvall <niko@byteptr.com>\0A\0A Released under license GPL-3+. For more information, see\0A http://www.gnu.org/licenses\0A\00"
define void @usage() {
%1 = call i32 @printf(i8* getelementptr inbounds ([1414 x i8], [1414 x i8]* @.str, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@str = [1413 x i8] c"SYNOPSIS\0A\0A stamp [options]\0A\0AOPTIONS\0A\0A -a <category> <content> [yyyy-MM-dd] Add a new note with optional date\0A -d <category> <id> Delete note by id\0A -D <category> Delete all notes\0A -e <category> <path> Export notes as html to a file\0A -f <category> <search> Find notes by search term\0A -F <category> <regex> Find notes by regular expression\0A -i <category> Read from stdin until ^D\0A -l <category> <n> Show latest n notes\0A -L List all categories\0A -o <category> Show all notes organized by date\0A -p Show current stamp file path\0A -r <category> <id> [content]/[yyyy-MM-dd] Replace note content or date\0A -s <category> Show all notes\0A\0A -h Show short help and exit. This page\0A -V Show version number of program\0A\0AFor more information and examples see man stamp(1).\0A\0AAUTHORS\0A\0A Copyright (C) 2014 Reinier Schoof <reinier@skoef.net>\0A Copyright (C) 2014 Niko Rosvall <niko@byteptr.com>\0A\0A Released under license GPL-3+. For more information, see\0A http://www.gnu.org/licenses\00"
define void @usage() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([1413 x i8], [1413 x i8]* @str, i64 0, i64 0))
ret void
}