#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*/ ntkresolv_safe_exit(int);
int /*<<< orphan*/ printf(char *, char *);
void usage(void) {
  printf("Usage:\n"
         "\tntk-resolv [OPTIONS] host\n"
         "\tntk-resolv -H host\n\n"
         " -v --version          print version, then exit.\n"
         " -n --nameserver=ns    use nameserver `ns' instead of localhost.\n"
         " -P --port=port        nameserver port, default 53.\n"
         " -t --query-type=qt    query type (`-t help' shows more info).\n"
         " -r --realm=realm      realm to scan (`-r help' shows more info).\n"
         " -s --service=service  SNSD service (`-s help' shows more info).\n"
         " -p --protocolo=proto  SNSD protocol (`-p help' shows more info).\n"
         " -S --silent           ntk-resolv will be not loquacious.\n"
         " -b --block-recursion  set recursion OFF.\n"
         " -m --md5-hash         hostname specified is hash-ed.\n"
         " -H --compute-hash     print the hash'ed hostname.\n"
         " -l --parsable-output  print answers in a synthetic way.\n"
         " -h --help             display this help, then exit.\n\n"
         "Report bugs and ideas to <%s>.\n",
         "efphe@netsukuku.org");
  ntkresolv_safe_exit(1);
}


x86 assembly (clang, -O0):
<usage>:
push   %rbp
mov    %rsp,%rbp
lea    0xed5(%rip),%rdi
lea    0x120b(%rip),%rsi
call   1040 <printf@plt>
mov    $0x1,%edi
call   1030 <ntkresolv_safe_exit@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<usage>:
push   %rax
lea    0xed8(%rip),%rdi
lea    0x120e(%rip),%rsi
call   1040 <printf@plt>
mov    $0x1,%edi
pop    %rax
jmp    1030 <ntkresolv_safe_exit@plt>

LLVM IR (-O0):
@.str = [829 x i8] c"Usage:\0A\09ntk-resolv [OPTIONS] host\0A\09ntk-resolv -H host\0A\0A -v --version print version, then exit.\0A -n --nameserver=ns use nameserver `ns' instead of localhost.\0A -P --port=port nameserver port, default 53.\0A -t --query-type=qt query type (`-t help' shows more info).\0A -r --realm=realm realm to scan (`-r help' shows more info).\0A -s --service=service SNSD service (`-s help' shows more info).\0A -p --protocolo=proto SNSD protocol (`-p help' shows more info).\0A -S --silent ntk-resolv will be not loquacious.\0A -b --block-recursion set recursion OFF.\0A -m --md5-hash hostname specified is hash-ed.\0A -H --compute-hash print the hash'ed hostname.\0A -l --parsable-output print answers in a synthetic way.\0A -h --help display this help, then exit.\0A\0AReport bugs and ideas to <%s>.\0A\00"
@.str.1 = [20 x i8] c"efphe@netsukuku.org\00"
define void @usage() {
%1 = call i32 @printf(i8* getelementptr inbounds ([829 x i8], [829 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.1, i64 0, i64 0))
%2 = call i32 @ntkresolv_safe_exit(i32 1)
ret void
}

LLVM IR (-O2):
@.str = [829 x i8] c"Usage:\0A\09ntk-resolv [OPTIONS] host\0A\09ntk-resolv -H host\0A\0A -v --version print version, then exit.\0A -n --nameserver=ns use nameserver `ns' instead of localhost.\0A -P --port=port nameserver port, default 53.\0A -t --query-type=qt query type (`-t help' shows more info).\0A -r --realm=realm realm to scan (`-r help' shows more info).\0A -s --service=service SNSD service (`-s help' shows more info).\0A -p --protocolo=proto SNSD protocol (`-p help' shows more info).\0A -S --silent ntk-resolv will be not loquacious.\0A -b --block-recursion set recursion OFF.\0A -m --md5-hash hostname specified is hash-ed.\0A -H --compute-hash print the hash'ed hostname.\0A -l --parsable-output print answers in a synthetic way.\0A -h --help display this help, then exit.\0A\0AReport bugs and ideas to <%s>.\0A\00"
@.str.1 = [20 x i8] c"efphe@netsukuku.org\00"
define void @usage() {
%1 = tail call i32 @printf(i8* getelementptr inbounds ([829 x i8], [829 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.1, i64 0, i64 0))
%2 = tail call i32 @ntkresolv_safe_exit(i32 1)
ret void
}