#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*/ puts(char *);
void show_help(void) {
  puts("\nCommands::\n\ninsert row at begining  :: irb\n       row at end      "
       " :: ire\n       row anywhere     :: ira <position>\n\ndelete row at "
       "begining  :: drb\n       row at end       :: dre\n       row anywhere  "
       "   :: dra <position>\n\ninsert column           :: ica "
       "<position>\ninsert formulae column  :: icf\ndelete column           :: "
       "dca <position>\n\nedit field              :: edf <row identifier> "
       "<column name>\nedit label              :: edl <column name>\nsearch "
       "record           :: sch\nsort   record           :: srt\n\nwrite "
       "record (tabular)  :: wrt <filename>\nwrite record (parsable) :: wrp "
       "<filename>\nread record             :: rdf <filename>\n\nshow help     "
       "          :: help\nclear screen            :: cls\nquit                "
       "    :: q\n\nNote: position can be a neumerical value or\n'b' stating "
       "begining or\n'e' stating end\nNumeric positions start from 1.\n\nRow "
       "identifier of a row is the first element of that row.\nSee FORMULAES "
       "for a note on formulaes.\n");
}


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

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

LLVM IR (-O0):
@.str = [944 x i8] c"\0ACommands::\0A\0Ainsert row at begining :: irb\0A row at end :: ire\0A row anywhere :: ira <position>\0A\0Adelete row at begining :: drb\0A row at end :: dre\0A row anywhere :: dra <position>\0A\0Ainsert column :: ica <position>\0Ainsert formulae column :: icf\0Adelete column :: dca <position>\0A\0Aedit field :: edf <row identifier> <column name>\0Aedit label :: edl <column name>\0Asearch record :: sch\0Asort record :: srt\0A\0Awrite record (tabular) :: wrt <filename>\0Awrite record (parsable) :: wrp <filename>\0Aread record :: rdf <filename>\0A\0Ashow help :: help\0Aclear screen :: cls\0Aquit :: q\0A\0ANote: position can be a neumerical value or\0A'b' stating begining or\0A'e' stating end\0ANumeric positions start from 1.\0A\0ARow identifier of a row is the first element of that row.\0ASee FORMULAES for a note on formulaes.\0A\00"
define void @show_help() {
%1 = call i32 @puts(i8* getelementptr inbounds ([944 x i8], [944 x i8]* @.str, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@.str = [944 x i8] c"\0ACommands::\0A\0Ainsert row at begining :: irb\0A row at end :: ire\0A row anywhere :: ira <position>\0A\0Adelete row at begining :: drb\0A row at end :: dre\0A row anywhere :: dra <position>\0A\0Ainsert column :: ica <position>\0Ainsert formulae column :: icf\0Adelete column :: dca <position>\0A\0Aedit field :: edf <row identifier> <column name>\0Aedit label :: edl <column name>\0Asearch record :: sch\0Asort record :: srt\0A\0Awrite record (tabular) :: wrt <filename>\0Awrite record (parsable) :: wrp <filename>\0Aread record :: rdf <filename>\0A\0Ashow help :: help\0Aclear screen :: cls\0Aquit :: q\0A\0ANote: position can be a neumerical value or\0A'b' stating begining or\0A'e' stating end\0ANumeric positions start from 1.\0A\0ARow identifier of a row is the first element of that row.\0ASee FORMULAES for a note on formulaes.\0A\00"
define void @show_help() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([944 x i8], [944 x i8]* @.str, i64 0, i64 0))
ret void
}