#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(int /*<<< orphan*/);
int /*<<< orphan*/ printf(char *);
void usage(void) {
  printf("pdfresurrect"
         " Copyright (C) 2008-2010, 2012, 2013, 2017, 2019-21 "
         "Matt Davis (enferex)\n"
         "Special thanks to all contributors and the 757 crew.\n"
         "See the AUTHORS file for a list of other contributors.\n"
         "This program comes with ABSOLUTELY NO WARRANTY\n"
         "This is free software, and you are welcome to redistribute it\n"
         "under certain conditions.  For details see the file 'LICENSE'\n"
         "that came with this software or visit:\n"
         "<http://www.gnu.org/licenses/gpl-3.0.txt>\n\n");
  printf("-- "
         "pdfresurrect"
         " v"
         "0"
         "."
         "23b"
         " --\n"
         "Usage: ./"
         "pdfresurrect"
         " <file.pdf> [-i] [-w] [-q]\n"
         "\t -i Display PDF creator information\n"
         "\t -w Write the PDF versions and summary to disk\n"
         "\t -q Display only the number of versions contained in the PDF\n");
  exit(0);
}


x86 assembly (clang, -O0):
<usage>:
push   %rbp
mov    %rsp,%rbp
lea    0xed5(%rip),%rdi
call   1030 <printf@plt>
lea    0x1088(%rip),%rdi
call   1030 <printf@plt>
xor    %edi,%edi
call   1040 <exit@plt>

x86 assembly (clang, -O2):
<usage>:
push   %rax
lea    0xed8(%rip),%rdi
call   1030 <puts@plt>
lea    0x108a(%rip),%rdi
call   1030 <puts@plt>
xor    %edi,%edi
call   1040 <exit@plt>

LLVM IR (-O0):
@.str = [447 x i8] c"pdfresurrect Copyright (C) 2008-2010, 2012, 2013, 2017, 2019-21 Matt Davis (enferex)\0ASpecial thanks to all contributors and the 757 crew.\0ASee the AUTHORS file for a list of other contributors.\0AThis program comes with ABSOLUTELY NO WARRANTY\0AThis is free software, and you are welcome to redistribute it\0Aunder certain conditions. For details see the file 'LICENSE'\0Athat came with this software or visit:\0A<http://www.gnu.org/licenses/gpl-3.0.txt>\0A\0A\00"
@.str.1 = [222 x i8] c"-- pdfresurrect v0.23b --\0AUsage: ./pdfresurrect <file.pdf> [-i] [-w] [-q]\0A\09 -i Display PDF creator information\0A\09 -w Write the PDF versions and summary to disk\0A\09 -q Display only the number of versions contained in the PDF\0A\00"
define void @usage() {
%1 = call i32 @printf(i8* getelementptr inbounds ([447 x i8], [447 x i8]* @.str, i64 0, i64 0))
%2 = call i32 @printf(i8* getelementptr inbounds ([222 x i8], [222 x i8]* @.str.1, i64 0, i64 0))
%3 = call i32 @exit(i32 0)
unreachable
}

LLVM IR (-O2):
@str = [446 x i8] c"pdfresurrect Copyright (C) 2008-2010, 2012, 2013, 2017, 2019-21 Matt Davis (enferex)\0ASpecial thanks to all contributors and the 757 crew.\0ASee the AUTHORS file for a list of other contributors.\0AThis program comes with ABSOLUTELY NO WARRANTY\0AThis is free software, and you are welcome to redistribute it\0Aunder certain conditions. For details see the file 'LICENSE'\0Athat came with this software or visit:\0A<http://www.gnu.org/licenses/gpl-3.0.txt>\0A\00"
@str.2 = [221 x i8] c"-- pdfresurrect v0.23b --\0AUsage: ./pdfresurrect <file.pdf> [-i] [-w] [-q]\0A\09 -i Display PDF creator information\0A\09 -w Write the PDF versions and summary to disk\0A\09 -q Display only the number of versions contained in the PDF\00"
define void @usage() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([446 x i8], [446 x i8]* @str, i64 0, i64 0))
%2 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([221 x i8], [221 x i8]* @str.2, i64 0, i64 0))
%3 = tail call i32 @exit(i32 0)
unreachable
}