#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    memo [options]\n\nOPTIONS\n\n    -a <content> "
      "[yyyy-MM-dd]    Add a new note with optional date\n    -d <id>          "
      "            Delete note by id\n    -D                           Delete "
      "all notes\n    -e <path>                    Export notes as html to a "
      "file\n    -f <search>                  Find notes by search term\n    "
      "-F <regex>                   Find notes by regular expression\n    -l "
      "<n>                       Show latest n notes\n    -m <id>              "
      "        Mark note status as done\n    -M <id>                      Mark "
      "note status as undone\n    -p                           Show current "
      "memo file path\n    -R                           Delete all notes "
      "marked as done\n    -s                           Show all notes\n\n    "
      "-h                           Show short help and exit. This page\n    "
      "-V                           Show version number of "
      "program\n\nDESCRIPTION\n\n    Memo is a note taking software for POSIX "
      "compatible operating systems.\n    The short notes are saved to user's "
      "home directory in ~/.memo file\n    by default.\n\nEXAMPLES\n\n    Add "
      "a new note:\n        memo -a \"Remember to buy milk!\"\n\n    Add a new "
      "note with custom date:\n        memo -a \"File taxes \" 2014-10-14\n\n  "
      "  Search memos by string:\n        memo -f buy\n\n        Output:\n     "
      "   4\t2014-10-10\tRemember to buy milk\n\n    Replace record 4 with new "
      "text:\n        memo -d 4 -a \"Remember to buy cheese\"\n\n    Add note "
      "from stdin:\n        echo \"My new note\" | memo\n\n    It's possible "
      "to change the location (and name) of the .memo file.\n    Create "
      "$HOME/.memorc with a line MEMO_PATH=/path/you/would/like,\n    Memo "
      "will use that path instead of the default $HOME/.memo "
      "path.\n\nAUTHORS\n    Copyright (C) 2014 Niko Rosvall "
      "<niko@ideabyte.net>\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 = [1822 x i8] c"SYNOPSIS\0A\0A memo [options]\0A\0AOPTIONS\0A\0A -a <content> [yyyy-MM-dd] Add a new note with optional date\0A -d <id> Delete note by id\0A -D Delete all notes\0A -e <path> Export notes as html to a file\0A -f <search> Find notes by search term\0A -F <regex> Find notes by regular expression\0A -l <n> Show latest n notes\0A -m <id> Mark note status as done\0A -M <id> Mark note status as undone\0A -p Show current memo file path\0A -R Delete all notes marked as done\0A -s Show all notes\0A\0A -h Show short help and exit. This page\0A -V Show version number of program\0A\0ADESCRIPTION\0A\0A Memo is a note taking software for POSIX compatible operating systems.\0A The short notes are saved to user's home directory in ~/.memo file\0A by default.\0A\0AEXAMPLES\0A\0A Add a new note:\0A memo -a \22Remember to buy milk!\22\0A\0A Add a new note with custom date:\0A memo -a \22File taxes \22 2014-10-14\0A\0A Search memos by string:\0A memo -f buy\0A\0A Output:\0A 4\092014-10-10\09Remember to buy milk\0A\0A Replace record 4 with new text:\0A memo -d 4 -a \22Remember to buy cheese\22\0A\0A Add note from stdin:\0A echo \22My new note\22 | memo\0A\0A It's possible to change the location (and name) of the .memo file.\0A Create $HOME/.memorc with a line MEMO_PATH=/path/you/would/like,\0A Memo will use that path instead of the default $HOME/.memo path.\0A\0AAUTHORS\0A Copyright (C) 2014 Niko Rosvall <niko@ideabyte.net>\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 ([1822 x i8], [1822 x i8]* @.str, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@str = [1821 x i8] c"SYNOPSIS\0A\0A memo [options]\0A\0AOPTIONS\0A\0A -a <content> [yyyy-MM-dd] Add a new note with optional date\0A -d <id> Delete note by id\0A -D Delete all notes\0A -e <path> Export notes as html to a file\0A -f <search> Find notes by search term\0A -F <regex> Find notes by regular expression\0A -l <n> Show latest n notes\0A -m <id> Mark note status as done\0A -M <id> Mark note status as undone\0A -p Show current memo file path\0A -R Delete all notes marked as done\0A -s Show all notes\0A\0A -h Show short help and exit. This page\0A -V Show version number of program\0A\0ADESCRIPTION\0A\0A Memo is a note taking software for POSIX compatible operating systems.\0A The short notes are saved to user's home directory in ~/.memo file\0A by default.\0A\0AEXAMPLES\0A\0A Add a new note:\0A memo -a \22Remember to buy milk!\22\0A\0A Add a new note with custom date:\0A memo -a \22File taxes \22 2014-10-14\0A\0A Search memos by string:\0A memo -f buy\0A\0A Output:\0A 4\092014-10-10\09Remember to buy milk\0A\0A Replace record 4 with new text:\0A memo -d 4 -a \22Remember to buy cheese\22\0A\0A Add note from stdin:\0A echo \22My new note\22 | memo\0A\0A It's possible to change the location (and name) of the .memo file.\0A Create $HOME/.memorc with a line MEMO_PATH=/path/you/would/like,\0A Memo will use that path instead of the default $HOME/.memo path.\0A\0AAUTHORS\0A Copyright (C) 2014 Niko Rosvall <niko@ideabyte.net>\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 ([1821 x i8], [1821 x i8]* @str, i64 0, i64 0))
ret void
}