#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*/ puts(char *);
void help(void) {
  puts("Command line switches:\n\n-d   Dry run (preview tc and iptables "
       "commands on stdout)\n-r   Run (reset all statistics and start shaping "
       "- daily usage)\n-p   just generate Preview of data transfer statistics "
       "and exit (after -r)\n-s   Start shaping FUP limits (keeps data "
       "transfer stat like -p) (after -r)\n-q   Quit shaping FUP limits (keeps "
       "data transfer stat like -p) (after -r)\n-2   Reduce HTB ceil "
       "(min+(max-min)/2 + keep stats like -p) (after -r)\n-4   Reduce HTB "
       "ceil (min+(max-min)/4 + keep stats like -p) (after -r)\n-n   run Now "
       "(like -r delay - overrides qos-free-delay keyword, after boot)\n-f   "
       "just Flush iptables and tc classes and exit (stop shaping, no QiS)\n-9 "
       "  emergency iptables flush (like -f, but dumps data transfer "
       "statistics)\n\n-c filename  force alternative "
       "/etc/prometheus/prometheus.conf filename\n-h filename  force "
       "alternative /etc/hosts filename (overrides hosts keyword)\n-l Mmm YYYY "
       " generate HTML summary of Logged traffic (Mmm=Jan-Dec) (and exit)\n-m  "
       "         generate HTML summary of traffic for yesterday's Month (and "
       "exit)\n-y           generate HTML summary of traffic for yesterday's "
       "Year (and exit)\n-a           analyse network topology (agregation "
       "statistics, using traceroute)\n-? --help    show this help scree (and "
       "exit)\n-v --version show Version number of this utility (and exit)\n");
}


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

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

LLVM IR (-O0):
@.str = [1309 x i8] c"Command line switches:\0A\0A-d Dry run (preview tc and iptables commands on stdout)\0A-r Run (reset all statistics and start shaping - daily usage)\0A-p just generate Preview of data transfer statistics and exit (after -r)\0A-s Start shaping FUP limits (keeps data transfer stat like -p) (after -r)\0A-q Quit shaping FUP limits (keeps data transfer stat like -p) (after -r)\0A-2 Reduce HTB ceil (min+(max-min)/2 + keep stats like -p) (after -r)\0A-4 Reduce HTB ceil (min+(max-min)/4 + keep stats like -p) (after -r)\0A-n run Now (like -r delay - overrides qos-free-delay keyword, after boot)\0A-f just Flush iptables and tc classes and exit (stop shaping, no QiS)\0A-9 emergency iptables flush (like -f, but dumps data transfer statistics)\0A\0A-c filename force alternative /etc/prometheus/prometheus.conf filename\0A-h filename force alternative /etc/hosts filename (overrides hosts keyword)\0A-l Mmm YYYY generate HTML summary of Logged traffic (Mmm=Jan-Dec) (and exit)\0A-m generate HTML summary of traffic for yesterday's Month (and exit)\0A-y generate HTML summary of traffic for yesterday's Year (and exit)\0A-a analyse network topology (agregation statistics, using traceroute)\0A-? --help show this help scree (and exit)\0A-v --version show Version number of this utility (and exit)\0A\00"
define void @help() {
%1 = call i32 @puts(i8* getelementptr inbounds ([1309 x i8], [1309 x i8]* @.str, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@.str = [1309 x i8] c"Command line switches:\0A\0A-d Dry run (preview tc and iptables commands on stdout)\0A-r Run (reset all statistics and start shaping - daily usage)\0A-p just generate Preview of data transfer statistics and exit (after -r)\0A-s Start shaping FUP limits (keeps data transfer stat like -p) (after -r)\0A-q Quit shaping FUP limits (keeps data transfer stat like -p) (after -r)\0A-2 Reduce HTB ceil (min+(max-min)/2 + keep stats like -p) (after -r)\0A-4 Reduce HTB ceil (min+(max-min)/4 + keep stats like -p) (after -r)\0A-n run Now (like -r delay - overrides qos-free-delay keyword, after boot)\0A-f just Flush iptables and tc classes and exit (stop shaping, no QiS)\0A-9 emergency iptables flush (like -f, but dumps data transfer statistics)\0A\0A-c filename force alternative /etc/prometheus/prometheus.conf filename\0A-h filename force alternative /etc/hosts filename (overrides hosts keyword)\0A-l Mmm YYYY generate HTML summary of Logged traffic (Mmm=Jan-Dec) (and exit)\0A-m generate HTML summary of traffic for yesterday's Month (and exit)\0A-y generate HTML summary of traffic for yesterday's Year (and exit)\0A-a analyse network topology (agregation statistics, using traceroute)\0A-? --help show this help scree (and exit)\0A-v --version show Version number of this utility (and exit)\0A\00"
define void @help() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([1309 x i8], [1309 x i8]* @.str, i64 0, i64 0))
ret void
}