#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*/ EXIT_SUCCESS;
int /*<<< orphan*/ exit(int /*<<< orphan*/);
int /*<<< orphan*/ fprintf(int /*<<< orphan*/, char *);
int /*<<< orphan*/ stdout;
void help_show_usage(void) {
  fprintf(
      stdout,
      "Usage : "
      "scrot"
      " [OPTIONS]... [FILE]\n"
      "  Where FILE is the target file for the screenshot.\n"
      "  If FILE is not specified, a date-stamped file will be dropped in the\n"
      "  current directory.\n"
      "  See man "
      "scrot"
      " for more details\n"
      "  -h, --help                display this help and exit\n"
      "  -v, --version             output version information and exit\n"
      "  -b, --border              When selecting a window, grab wm border "
      "too\n"
      "  -c, --count               show a countdown before taking the shot\n"
      "  -d, --delay NUM           wait NUM seconds before taking a shot\n"
      "  -e, --exec APP            run APP on the resulting screenshot\n"
      "  -q, --quality NUM         Image quality (1-100) high value means\n"
      "                            high size, low compression. Default: 75.\n"
      "                            For lossless compression formats, like "
      "png,\n"
      "                            low quality means high compression.\n"
      "  -m, --multidisp           For multiple heads, grab shot from each\n"
      "                            and join them together.\n"
      "  -s, --select              interactively choose a rectnagle with the "
      "mouse\n"
      "  -w, --window              interactively choose a window with the "
      "mouse\n"
      "  -t, --thumb NUM           generate thumbnail too. NUM is the "
      "percentage\n"
      "                            of the original size for the thumbnail to "
      "be,\n"
      "                            or the geometry in percent, e.g. 50x60 or "
      "80x20.\n"
      "\n"
      "  SPECIAL STRINGS\n"
      "  Both the --exec and filename parameters can take format specifiers\n"
      "  that are expanded by "
      "scrot"
      " when encountered.\n"
      "  There are two types of format specifier. Characters preceded by a "
      "'%%'\n"
      "  are interpretted by strftime(2). See man strftime for examples.\n"
      "  These options may be used to refer to the current date and time.\n"
      "  The second kind are internal to "
      "scrot"
      "  and are prefixed by '$'\n"
      "  The following specifiers are recognised:\n"
      "                  $f image path/filename (ignored when used in the "
      "filename)\n"
      "                  $m thumbnail path/filename\n"
      "                  $n image name (ignored when used in the filename)\n"
      "                  $s image size (bytes) (ignored when used in the "
      "filename)\n"
      "                  $p image pixel size\n"
      "                  $w image width\n"
      "                  $h image height\n"
      "                  $t image format\n"
      "                  $$  prints a literal '$'\n"
      "                  \\n prints a newline (ignored when used in the "
      "filename)\n"
      "  Example:\n"
      "          "
      "scrot"
      " '%%Y-%%m-%%d_$wx$h_scrot.png' -e 'mv $f ~/images/shots/'\n"
      "          Creates a file called something like "
      "2013-10-12_1024x768_scrot.png\n"
      "          and moves it to your images directory.\n"
      "\n"
      "This program is free software. See the file COPYING for licensing "
      "info.\n"
      "Copyright Tom Gilbert 2000\n"
      "Copyright mahkoh 2013\n"
      "Report bugs at https://github.com/mahkoh/scrot/issues\n");
  exit(EXIT_SUCCESS);
}


x86 assembly (clang, -O0):
<help_show_usage>:
push   %rbp
mov    %rsp,%rbp
mov    0x2eb5(%rip),%rax
mov    (%rax),%edi
lea    0xecc(%rip),%rsi
call   1030 <fprintf@plt>
mov    0x2e98(%rip),%rax
mov    (%rax),%edi
call   1040 <exit@plt>

x86 assembly (clang, -O2):
<help_show_usage>:
push   %rax
mov    0x2eb8(%rip),%rax
mov    (%rax),%edi
lea    0xecf(%rip),%rsi
call   1030 <fprintf@plt>
mov    0x2e9b(%rip),%rax
mov    (%rax),%edi
call   1040 <exit@plt>

LLVM IR (-O0):
@stdout = global i32 0
@.str = [2724 x i8] c"Usage : scrot [OPTIONS]... [FILE]\0A Where FILE is the target file for the screenshot.\0A If FILE is not specified, a date-stamped file will be dropped in the\0A current directory.\0A See man scrot for more details\0A -h, --help display this help and exit\0A -v, --version output version information and exit\0A -b, --border When selecting a window, grab wm border too\0A -c, --count show a countdown before taking the shot\0A -d, --delay NUM wait NUM seconds before taking a shot\0A -e, --exec APP run APP on the resulting screenshot\0A -q, --quality NUM Image quality (1-100) high value means\0A high size, low compression. Default: 75.\0A For lossless compression formats, like png,\0A low quality means high compression.\0A -m, --multidisp For multiple heads, grab shot from each\0A and join them together.\0A -s, --select interactively choose a rectnagle with the mouse\0A -w, --window interactively choose a window with the mouse\0A -t, --thumb NUM generate thumbnail too. NUM is the percentage\0A of the original size for the thumbnail to be,\0A or the geometry in percent, e.g. 50x60 or 80x20.\0A\0A SPECIAL STRINGS\0A Both the --exec and filename parameters can take format specifiers\0A that are expanded by scrot when encountered.\0A There are two types of format specifier. Characters preceded by a '%%'\0A are interpretted by strftime(2). See man strftime for examples.\0A These options may be used to refer to the current date and time.\0A The second kind are internal to scrot and are prefixed by '$'\0A The following specifiers are recognised:\0A $f image path/filename (ignored when used in the filename)\0A $m thumbnail path/filename\0A $n image name (ignored when used in the filename)\0A $s image size (bytes) (ignored when used in the filename)\0A $p image pixel size\0A $w image width\0A $h image height\0A $t image format\0A $$ prints a literal '$'\0A \\n prints a newline (ignored when used in the filename)\0A Example:\0A scrot '%%Y-%%m-%%d_$wx$h_scrot.png' -e 'mv $f ~/images/shots/'\0A Creates a file called something like 2013-10-12_1024x768_scrot.png\0A and moves it to your images directory.\0A\0AThis program is free software. See the file COPYING for licensing info.\0ACopyright Tom Gilbert 2000\0ACopyright mahkoh 2013\0AReport bugs at https://github.com/mahkoh/scrot/issues\0A\00"
@EXIT_SUCCESS = global i32 0
define void @help_show_usage() {
%1 = load i32, i32* @stdout
%2 = call i32 @fprintf(i32 %1, i8* getelementptr inbounds ([2724 x i8], [2724 x i8]* @.str, i64 0, i64 0))
%3 = load i32, i32* @EXIT_SUCCESS
%4 = call i32 @exit(i32 %3)
unreachable
}

LLVM IR (-O2):
@stdout = global i32 0
@.str = [2724 x i8] c"Usage : scrot [OPTIONS]... [FILE]\0A Where FILE is the target file for the screenshot.\0A If FILE is not specified, a date-stamped file will be dropped in the\0A current directory.\0A See man scrot for more details\0A -h, --help display this help and exit\0A -v, --version output version information and exit\0A -b, --border When selecting a window, grab wm border too\0A -c, --count show a countdown before taking the shot\0A -d, --delay NUM wait NUM seconds before taking a shot\0A -e, --exec APP run APP on the resulting screenshot\0A -q, --quality NUM Image quality (1-100) high value means\0A high size, low compression. Default: 75.\0A For lossless compression formats, like png,\0A low quality means high compression.\0A -m, --multidisp For multiple heads, grab shot from each\0A and join them together.\0A -s, --select interactively choose a rectnagle with the mouse\0A -w, --window interactively choose a window with the mouse\0A -t, --thumb NUM generate thumbnail too. NUM is the percentage\0A of the original size for the thumbnail to be,\0A or the geometry in percent, e.g. 50x60 or 80x20.\0A\0A SPECIAL STRINGS\0A Both the --exec and filename parameters can take format specifiers\0A that are expanded by scrot when encountered.\0A There are two types of format specifier. Characters preceded by a '%%'\0A are interpretted by strftime(2). See man strftime for examples.\0A These options may be used to refer to the current date and time.\0A The second kind are internal to scrot and are prefixed by '$'\0A The following specifiers are recognised:\0A $f image path/filename (ignored when used in the filename)\0A $m thumbnail path/filename\0A $n image name (ignored when used in the filename)\0A $s image size (bytes) (ignored when used in the filename)\0A $p image pixel size\0A $w image width\0A $h image height\0A $t image format\0A $$ prints a literal '$'\0A \\n prints a newline (ignored when used in the filename)\0A Example:\0A scrot '%%Y-%%m-%%d_$wx$h_scrot.png' -e 'mv $f ~/images/shots/'\0A Creates a file called something like 2013-10-12_1024x768_scrot.png\0A and moves it to your images directory.\0A\0AThis program is free software. See the file COPYING for licensing info.\0ACopyright Tom Gilbert 2000\0ACopyright mahkoh 2013\0AReport bugs at https://github.com/mahkoh/scrot/issues\0A\00"
@EXIT_SUCCESS = global i32 0
define void @help_show_usage() {
%1 = load i32, i32* @stdout
%2 = tail call i32 @fprintf(i32 %1, i8* getelementptr inbounds ([2724 x i8], [2724 x i8]* @.str, i64 0, i64 0))
%3 = load i32, i32* @EXIT_SUCCESS
%4 = tail call i32 @exit(i32 %3)
unreachable
}