#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*/ printf(char *);
void usage(void) {
  printf("usage: "
         "dhcpcd"
         "\t[-46ABbDdEGgHJKkLnpqTVw]\n"
         "\t\t[-C, --nohook hook] [-c, --script script]\n"
         "\t\t[-e, --env value] [-F, --fqdn FQDN] [-f, --config file]\n"
         "\t\t[-h, --hostname hostname] [-I, --clientid clientid]\n"
         "\t\t[-i, --vendorclassid vendorclassid] [-l, --leasetime seconds]\n"
         "\t\t[-m, --metric metric] [-O, --nooption option]\n"
         "\t\t[-o, --option option] [-Q, --require option]\n"
         "\t\t[-r, --request address] [-S, --static value]\n"
         "\t\t[-s, --inform address[/cidr]] [-t, --timeout seconds]\n"
         "\t\t[-u, --userclass class] [-v, --vendor code, value]\n"
         "\t\t[-W, --whitelist address[/cidr]] [-y, --reboot seconds]\n"
         "\t\t[-X, --blacklist address[/cidr]] [-Z, --denyinterfaces pattern]\n"
         "\t\t[-z, --allowinterfaces pattern] [interface] [...]\n"
         "       "
         "dhcpcd"
         "\t-k, --release [interface]\n"
         "       "
         "dhcpcd"
         "\t-U, --dumplease interface\n"
         "       "
         "dhcpcd"
         "\t--version\n"
         "       "
         "dhcpcd"
         "\t-x, --exit [interface]\n");
}


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

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

LLVM IR (-O0):
@.str = [828 x i8] c"usage: dhcpcd\09[-46ABbDdEGgHJKkLnpqTVw]\0A\09\09[-C, --nohook hook] [-c, --script script]\0A\09\09[-e, --env value] [-F, --fqdn FQDN] [-f, --config file]\0A\09\09[-h, --hostname hostname] [-I, --clientid clientid]\0A\09\09[-i, --vendorclassid vendorclassid] [-l, --leasetime seconds]\0A\09\09[-m, --metric metric] [-O, --nooption option]\0A\09\09[-o, --option option] [-Q, --require option]\0A\09\09[-r, --request address] [-S, --static value]\0A\09\09[-s, --inform address[/cidr]] [-t, --timeout seconds]\0A\09\09[-u, --userclass class] [-v, --vendor code, value]\0A\09\09[-W, --whitelist address[/cidr]] [-y, --reboot seconds]\0A\09\09[-X, --blacklist address[/cidr]] [-Z, --denyinterfaces pattern]\0A\09\09[-z, --allowinterfaces pattern] [interface] [...]\0A dhcpcd\09-k, --release [interface]\0A dhcpcd\09-U, --dumplease interface\0A dhcpcd\09--version\0A dhcpcd\09-x, --exit [interface]\0A\00"
define void @usage() {
%1 = call i32 @printf(i8* getelementptr inbounds ([828 x i8], [828 x i8]* @.str, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@str = [827 x i8] c"usage: dhcpcd\09[-46ABbDdEGgHJKkLnpqTVw]\0A\09\09[-C, --nohook hook] [-c, --script script]\0A\09\09[-e, --env value] [-F, --fqdn FQDN] [-f, --config file]\0A\09\09[-h, --hostname hostname] [-I, --clientid clientid]\0A\09\09[-i, --vendorclassid vendorclassid] [-l, --leasetime seconds]\0A\09\09[-m, --metric metric] [-O, --nooption option]\0A\09\09[-o, --option option] [-Q, --require option]\0A\09\09[-r, --request address] [-S, --static value]\0A\09\09[-s, --inform address[/cidr]] [-t, --timeout seconds]\0A\09\09[-u, --userclass class] [-v, --vendor code, value]\0A\09\09[-W, --whitelist address[/cidr]] [-y, --reboot seconds]\0A\09\09[-X, --blacklist address[/cidr]] [-Z, --denyinterfaces pattern]\0A\09\09[-z, --allowinterfaces pattern] [interface] [...]\0A dhcpcd\09-k, --release [interface]\0A dhcpcd\09-U, --dumplease interface\0A dhcpcd\09--version\0A dhcpcd\09-x, --exit [interface]\00"
define void @usage() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([827 x i8], [827 x i8]* @str, i64 0, i64 0))
ret void
}