#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);
int /*<<< orphan*/ fprintf(int /*<<< orphan*/, char *);
int /*<<< orphan*/ stderr;
void print_arglist(void) {
  fprintf(
      stderr,
      "Usage: snowball <file> [options]\n\n"
      "options are: [-o[utput] file]\n"
      "             [-s[yntax]]\n"
      "             [-j[ava]]\n"
      "             [-c++]\n"
      "             [-w[idechars]]\n"
      "             [-u[tf8]]\n"
      "             [-n[ame] class name]\n"
      "             [-ep[refix] string]\n"
      "             [-vp[refix] string]\n"
      "             [-i[nclude] directory]\n"
      "             [-r[untime] path to runtime headers]\n"
      "             [-p[arentclassname] fully qualified parent class name]\n"
      "             [-P[ackage] package name for stemmers]\n"
      "             [-S[tringclass] StringBuffer-compatible class]\n"
      "             [-a[mongclass] fully qualified name of the Among class]\n");
  exit(1);
}


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

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

LLVM IR (-O0):
@stderr = global i32 0
@.str = [619 x i8] c"Usage: snowball <file> [options]\0A\0Aoptions are: [-o[utput] file]\0A [-s[yntax]]\0A [-j[ava]]\0A [-c++]\0A [-w[idechars]]\0A [-u[tf8]]\0A [-n[ame] class name]\0A [-ep[refix] string]\0A [-vp[refix] string]\0A [-i[nclude] directory]\0A [-r[untime] path to runtime headers]\0A [-p[arentclassname] fully qualified parent class name]\0A [-P[ackage] package name for stemmers]\0A [-S[tringclass] StringBuffer-compatible class]\0A [-a[mongclass] fully qualified name of the Among class]\0A\00"
define void @print_arglist() {
%1 = load i32, i32* @stderr
%2 = call i32 @fprintf(i32 %1, i8* getelementptr inbounds ([619 x i8], [619 x i8]* @.str, i64 0, i64 0))
%3 = call i32 @exit(i32 1)
unreachable
}

LLVM IR (-O2):
@stderr = global i32 0
@.str = [619 x i8] c"Usage: snowball <file> [options]\0A\0Aoptions are: [-o[utput] file]\0A [-s[yntax]]\0A [-j[ava]]\0A [-c++]\0A [-w[idechars]]\0A [-u[tf8]]\0A [-n[ame] class name]\0A [-ep[refix] string]\0A [-vp[refix] string]\0A [-i[nclude] directory]\0A [-r[untime] path to runtime headers]\0A [-p[arentclassname] fully qualified parent class name]\0A [-P[ackage] package name for stemmers]\0A [-S[tringclass] StringBuffer-compatible class]\0A [-a[mongclass] fully qualified name of the Among class]\0A\00"
define void @print_arglist() {
%1 = load i32, i32* @stderr
%2 = tail call i32 @fprintf(i32 %1, i8* getelementptr inbounds ([619 x i8], [619 x i8]* @.str, i64 0, i64 0))
%3 = tail call i32 @exit(i32 1)
unreachable
}