#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*/ print_version();
int /*<<< orphan*/ usg(char *);
void print_usage(void) {
  print_version();
  usg("\n");
  usg("Usage: spamc [options] [-e command [args]] < message\n");
  usg("\n");
  usg("Options:\n");
  usg("  -d, --dest host[,host2]\n"
      "                      Specify one or more hosts to connect to.\n"
      "                      [default: localhost]\n");
  usg("  -H , --randomize    Randomize IP addresses for the looked-up\n"
      "                      hostname.\n");
  usg("  -p, --port port     Specify port for connection to spamd.\n"
      "                      [default: 783]\n");
  usg("  -U, --socket path   Connect to spamd via UNIX domain sockets.\n");
  usg("  -F, --config path   Use this configuration file.\n");
  usg("  -t, --timeout timeout\n"
      "                      Timeout in seconds for communications to\n"
      "                      spamd. [default: 600]\n");
  usg("  -n, --connect-timeout timeout\n"
      "                      Timeout in seconds when opening a connection to\n"
      "                      spamd. [default: 600]\n");
  usg("  --filter-retries retries\n"
      "                      Retry filtering this many times if the spamd\n"
      "                      process fails (usually times out) [default: 1]\n");
  usg("  --filter-retry-sleep sleep\n"
      "                      Sleep for this time between failed filter\n"
      "                      attempts, in seconds [default: 1]\n");
  usg("  --connect-retries retries\n"
      "                      Try connecting to spamd tcp socket this many "
      "times\n"
      "                      [default: 3]\n");
  usg("  --retry-sleep sleep Sleep for this time between attempts to\n"
      "                      connect to spamd, in seconds [default: 1]\n");
  usg("  -s, --max-size size Specify maximum message size, in bytes.\n"
      "                      [default: 500k]\n");
  usg("  -u, --username username\n"
      "                      User for spamd to process this message under.\n"
      "                      [default: current user]\n");
  usg("  -L, --learntype learntype\n"
      "                      Learn message as spam, ham or forget to\n"
      "                      forget or unlearn the message.\n");
  usg("  -C, --reporttype reporttype\n"
      "                      Report message to collaborative filtering\n"
      "                      databases.  Report type should be 'report' for\n"
      "                      spam or 'revoke' for ham.\n");
  usg("  -B, --bsmtp         Assume input is a single BSMTP-formatted\n"
      "                      message.\n");
  usg("  -c, --check         Just print the summary line and set an exit\n"
      "                      code.\n");
  usg("  -y, --tests         Just print the names of the tests hit.\n");
  usg("  -r, --full-spam     Print full report for messages identified as\n"
      "                      spam.\n");
  usg("  -R, --full          Print full report for all messages.\n");
  usg("  --headers           Rewrite only the message headers.\n");
  usg("  -E, --exitcode      Filter as normal, and set an exit code.\n");
  usg("  -x, --no-safe-fallback\n"
      "                      Don't fallback safely.\n");
  usg("  -l, --log-to-stderr Log errors and warnings to stderr.\n");
  usg("  -e, --pipe-to command [args]\n"
      "                      Pipe the output to the given command instead\n"
      "                      of stdout. This must be the last option.\n");
  usg("  -h, --help          Print this help message and exit.\n");
  usg("  -V, --version       Print spamc version and exit.\n");
  usg("  -K                  Keepalive check of spamd.\n");
  usg("  -z                  Compress mail message sent to spamd.\n");
  usg("  -f                  (Now default, ignored.)\n");
  usg("\n");
}


x86 assembly (clang, -O0):
<print_usage>:
push   %rbp
mov    %rsp,%rbp
mov    $0x0,%al
call   1030 <print_version@plt>
lea    0x1ab3(%rip),%rdi
call   1040 <usg@plt>
lea    0xec2(%rip),%rdi
call   1040 <usg@plt>
lea    0x1a9b(%rip),%rdi
call   1040 <usg@plt>
lea    0xee0(%rip),%rdi
call   1040 <usg@plt>
lea    0xede(%rip),%rdi
call   1040 <usg@plt>
lea    0xf57(%rip),%rdi
call   1040 <usg@plt>
lea    0xfab(%rip),%rdi
call   1040 <usg@plt>
lea    0x1001(%rip),%rdi
call   1040 <usg@plt>
lea    0x1036(%rip),%rdi
call   1040 <usg@plt>
lea    0x105e(%rip),%rdi
call   1040 <usg@plt>
lea    0x10d6(%rip),%rdi
call   1040 <usg@plt>
lea    0x115d(%rip),%rdi
call   1040 <usg@plt>
lea    0x11f5(%rip),%rdi
call   1040 <usg@plt>
lea    0x127f(%rip),%rdi
call   1040 <usg@plt>
lea    0x12fc(%rip),%rdi
call   1040 <usg@plt>
lea    0x136f(%rip),%rdi
call   1040 <usg@plt>
lea    0x13c8(%rip),%rdi
call   1040 <usg@plt>
lea    0x1449(%rip),%rdi
call   1040 <usg@plt>
lea    0x14cd(%rip),%rdi
call   1040 <usg@plt>
lea    0x1595(%rip),%rdi
call   1040 <usg@plt>
lea    0x15e8(%rip),%rdi
call   1040 <usg@plt>
lea    0x163b(%rip),%rdi
call   1040 <usg@plt>
lea    0x166d(%rip),%rdi
call   1040 <usg@plt>
lea    0x16c1(%rip),%rdi
call   1040 <usg@plt>
lea    0x16f0(%rip),%rdi
call   1040 <usg@plt>
lea    0x171d(%rip),%rdi
call   1040 <usg@plt>
lea    0x1750(%rip),%rdi
call   1040 <usg@plt>
lea    0x178b(%rip),%rdi
call   1040 <usg@plt>
lea    0x17b9(%rip),%rdi
call   1040 <usg@plt>
lea    0x184f(%rip),%rdi
call   1040 <usg@plt>
lea    0x187c(%rip),%rdi
call   1040 <usg@plt>
lea    0x18a5(%rip),%rdi
call   1040 <usg@plt>
lea    0x18ca(%rip),%rdi
call   1040 <usg@plt>
lea    0x18fa(%rip),%rdi
call   1040 <usg@plt>
lea    0x191b(%rip),%rdi
call   1040 <usg@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<print_usage>:
push   %rbx
xor    %eax,%eax
call   1030 <print_version@plt>
lea    0x1ab6(%rip),%rbx
mov    %rbx,%rdi
call   1040 <usg@plt>
lea    0xec2(%rip),%rdi
call   1040 <usg@plt>
mov    %rbx,%rdi
call   1040 <usg@plt>
lea    0xee4(%rip),%rdi
call   1040 <usg@plt>
lea    0xee2(%rip),%rdi
call   1040 <usg@plt>
lea    0xf5b(%rip),%rdi
call   1040 <usg@plt>
lea    0xfaf(%rip),%rdi
call   1040 <usg@plt>
lea    0x1005(%rip),%rdi
call   1040 <usg@plt>
lea    0x103a(%rip),%rdi
call   1040 <usg@plt>
lea    0x1062(%rip),%rdi
call   1040 <usg@plt>
lea    0x10da(%rip),%rdi
call   1040 <usg@plt>
lea    0x1161(%rip),%rdi
call   1040 <usg@plt>
lea    0x11f9(%rip),%rdi
call   1040 <usg@plt>
lea    0x1283(%rip),%rdi
call   1040 <usg@plt>
lea    0x1300(%rip),%rdi
call   1040 <usg@plt>
lea    0x1373(%rip),%rdi
call   1040 <usg@plt>
lea    0x13cc(%rip),%rdi
call   1040 <usg@plt>
lea    0x144d(%rip),%rdi
call   1040 <usg@plt>
lea    0x14d1(%rip),%rdi
call   1040 <usg@plt>
lea    0x1599(%rip),%rdi
call   1040 <usg@plt>
lea    0x15ec(%rip),%rdi
call   1040 <usg@plt>
lea    0x163f(%rip),%rdi
call   1040 <usg@plt>
lea    0x1671(%rip),%rdi
call   1040 <usg@plt>
lea    0x16c5(%rip),%rdi
call   1040 <usg@plt>
lea    0x16f4(%rip),%rdi
call   1040 <usg@plt>
lea    0x1721(%rip),%rdi
call   1040 <usg@plt>
lea    0x1754(%rip),%rdi
call   1040 <usg@plt>
lea    0x178f(%rip),%rdi
call   1040 <usg@plt>
lea    0x17bd(%rip),%rdi
call   1040 <usg@plt>
lea    0x1853(%rip),%rdi
call   1040 <usg@plt>
lea    0x1880(%rip),%rdi
call   1040 <usg@plt>
lea    0x18a9(%rip),%rdi
call   1040 <usg@plt>
lea    0x18ce(%rip),%rdi
call   1040 <usg@plt>
lea    0x18fe(%rip),%rdi
call   1040 <usg@plt>
mov    %rbx,%rdi
pop    %rbx
jmp    1040 <usg@plt>

LLVM IR (-O0):
@.str = [2 x i8] c"\0A\00"
@.str.1 = [54 x i8] c"Usage: spamc [options] [-e command [args]] < message\0A\00"
@.str.2 = [10 x i8] c"Options:\0A\00"
@.str.3 = [133 x i8] c" -d, --dest host[,host2]\0A Specify one or more hosts to connect to.\0A [default: localhost]\0A\00"
@.str.4 = [96 x i8] c" -H , --randomize Randomize IP addresses for the looked-up\0A hostname.\0A\00"
@.str.5 = [98 x i8] c" -p, --port port Specify port for connection to spamd.\0A [default: 783]\0A\00"
@.str.6 = [65 x i8] c" -U, --socket path Connect to spamd via UNIX domain sockets.\0A\00"
@.str.7 = [52 x i8] c" -F, --config path Use this configuration file.\0A\00"
@.str.8 = [132 x i8] c" -t, --timeout timeout\0A Timeout in seconds for communications to\0A spamd. [default: 600]\0A\00"
@.str.9 = [147 x i8] c" -n, --connect-timeout timeout\0A Timeout in seconds when opening a connection to\0A spamd. [default: 600]\0A\00"
@.str.10 = [164 x i8] c" --filter-retries retries\0A Retry filtering this many times if the spamd\0A process fails (usually times out) [default: 1]\0A\00"
@.str.11 = [150 x i8] c" --filter-retry-sleep sleep\0A Sleep for this time between failed filter\0A attempts, in seconds [default: 1]\0A\00"
@.str.12 = [137 x i8] c" --connect-retries retries\0A Try connecting to spamd tcp socket this many times\0A [default: 3]\0A\00"
@.str.13 = [127 x i8] c" --retry-sleep sleep Sleep for this time between attempts to\0A connect to spamd, in seconds [default: 1]\0A\00"
@.str.14 = [101 x i8] c" -s, --max-size size Specify maximum message size, in bytes.\0A [default: 500k]\0A\00"
@.str.15 = [141 x i8] c" -u, --username username\0A User for spamd to process this message under.\0A [default: current user]\0A\00"
@.str.16 = [144 x i8] c" -L, --learntype learntype\0A Learn message as spam, ham or forget to\0A forget or unlearn the message.\0A\00"
@.str.17 = [212 x i8] c" -C, --reporttype reporttype\0A Report message to collaborative filtering\0A databases. Report type should be 'report' for\0A spam or 'revoke' for ham.\0A\00"
@.str.18 = [95 x i8] c" -B, --bsmtp Assume input is a single BSMTP-formatted\0A message.\0A\00"
@.str.19 = [95 x i8] c" -c, --check Just print the summary line and set an exit\0A code.\0A\00"
@.str.20 = [62 x i8] c" -y, --tests Just print the names of the tests hit.\0A\00"
@.str.21 = [96 x i8] c" -r, --full-spam Print full report for messages identified as\0A spam.\0A\00"
@.str.22 = [59 x i8] c" -R, --full Print full report for all messages.\0A\00"
@.str.23 = [57 x i8] c" --headers Rewrite only the message headers.\0A\00"
@.str.24 = [63 x i8] c" -E, --exitcode Filter as normal, and set an exit code.\0A\00"
@.str.25 = [71 x i8] c" -x, --no-safe-fallback\0A Don't fallback safely.\0A\00"
@.str.26 = [58 x i8] c" -l, --log-to-stderr Log errors and warnings to stderr.\0A\00"
@.str.27 = [162 x i8] c" -e, --pipe-to command [args]\0A Pipe the output to the given command instead\0A of stdout. This must be the last option.\0A\00"
@.str.28 = [57 x i8] c" -h, --help Print this help message and exit.\0A\00"
@.str.29 = [53 x i8] c" -V, --version Print spamc version and exit.\0A\00"
@.str.30 = [49 x i8] c" -K Keepalive check of spamd.\0A\00"
@.str.31 = [60 x i8] c" -z Compress mail message sent to spamd.\0A\00"
@.str.32 = [47 x i8] c" -f (Now default, ignored.)\0A\00"
define void @print_usage() {
%1 = call i32 (...) @print_version()
%2 = call i32 @usg(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str, i64 0, i64 0))
%3 = call i32 @usg(i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.1, i64 0, i64 0))
%4 = call i32 @usg(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str, i64 0, i64 0))
%5 = call i32 @usg(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.2, i64 0, i64 0))
%6 = call i32 @usg(i8* getelementptr inbounds ([133 x i8], [133 x i8]* @.str.3, i64 0, i64 0))
%7 = call i32 @usg(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.4, i64 0, i64 0))
%8 = call i32 @usg(i8* getelementptr inbounds ([98 x i8], [98 x i8]* @.str.5, i64 0, i64 0))
%9 = call i32 @usg(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.6, i64 0, i64 0))
%10 = call i32 @usg(i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.7, i64 0, i64 0))
%11 = call i32 @usg(i8* getelementptr inbounds ([132 x i8], [132 x i8]* @.str.8, i64 0, i64 0))
%12 = call i32 @usg(i8* getelementptr inbounds ([147 x i8], [147 x i8]* @.str.9, i64 0, i64 0))
%13 = call i32 @usg(i8* getelementptr inbounds ([164 x i8], [164 x i8]* @.str.10, i64 0, i64 0))
%14 = call i32 @usg(i8* getelementptr inbounds ([150 x i8], [150 x i8]* @.str.11, i64 0, i64 0))
%15 = call i32 @usg(i8* getelementptr inbounds ([137 x i8], [137 x i8]* @.str.12, i64 0, i64 0))
%16 = call i32 @usg(i8* getelementptr inbounds ([127 x i8], [127 x i8]* @.str.13, i64 0, i64 0))
%17 = call i32 @usg(i8* getelementptr inbounds ([101 x i8], [101 x i8]* @.str.14, i64 0, i64 0))
%18 = call i32 @usg(i8* getelementptr inbounds ([141 x i8], [141 x i8]* @.str.15, i64 0, i64 0))
%19 = call i32 @usg(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str.16, i64 0, i64 0))
%20 = call i32 @usg(i8* getelementptr inbounds ([212 x i8], [212 x i8]* @.str.17, i64 0, i64 0))
%21 = call i32 @usg(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.18, i64 0, i64 0))
%22 = call i32 @usg(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.19, i64 0, i64 0))
%23 = call i32 @usg(i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.20, i64 0, i64 0))
%24 = call i32 @usg(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.21, i64 0, i64 0))
%25 = call i32 @usg(i8* getelementptr inbounds ([59 x i8], [59 x i8]* @.str.22, i64 0, i64 0))
%26 = call i32 @usg(i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.23, i64 0, i64 0))
%27 = call i32 @usg(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.24, i64 0, i64 0))
%28 = call i32 @usg(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.25, i64 0, i64 0))
%29 = call i32 @usg(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.26, i64 0, i64 0))
%30 = call i32 @usg(i8* getelementptr inbounds ([162 x i8], [162 x i8]* @.str.27, i64 0, i64 0))
%31 = call i32 @usg(i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.28, i64 0, i64 0))
%32 = call i32 @usg(i8* getelementptr inbounds ([53 x i8], [53 x i8]* @.str.29, i64 0, i64 0))
%33 = call i32 @usg(i8* getelementptr inbounds ([49 x i8], [49 x i8]* @.str.30, i64 0, i64 0))
%34 = call i32 @usg(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.31, i64 0, i64 0))
%35 = call i32 @usg(i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.32, i64 0, i64 0))
%36 = call i32 @usg(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@.str = [2 x i8] c"\0A\00"
@.str.1 = [54 x i8] c"Usage: spamc [options] [-e command [args]] < message\0A\00"
@.str.2 = [10 x i8] c"Options:\0A\00"
@.str.3 = [133 x i8] c" -d, --dest host[,host2]\0A Specify one or more hosts to connect to.\0A [default: localhost]\0A\00"
@.str.4 = [96 x i8] c" -H , --randomize Randomize IP addresses for the looked-up\0A hostname.\0A\00"
@.str.5 = [98 x i8] c" -p, --port port Specify port for connection to spamd.\0A [default: 783]\0A\00"
@.str.6 = [65 x i8] c" -U, --socket path Connect to spamd via UNIX domain sockets.\0A\00"
@.str.7 = [52 x i8] c" -F, --config path Use this configuration file.\0A\00"
@.str.8 = [132 x i8] c" -t, --timeout timeout\0A Timeout in seconds for communications to\0A spamd. [default: 600]\0A\00"
@.str.9 = [147 x i8] c" -n, --connect-timeout timeout\0A Timeout in seconds when opening a connection to\0A spamd. [default: 600]\0A\00"
@.str.10 = [164 x i8] c" --filter-retries retries\0A Retry filtering this many times if the spamd\0A process fails (usually times out) [default: 1]\0A\00"
@.str.11 = [150 x i8] c" --filter-retry-sleep sleep\0A Sleep for this time between failed filter\0A attempts, in seconds [default: 1]\0A\00"
@.str.12 = [137 x i8] c" --connect-retries retries\0A Try connecting to spamd tcp socket this many times\0A [default: 3]\0A\00"
@.str.13 = [127 x i8] c" --retry-sleep sleep Sleep for this time between attempts to\0A connect to spamd, in seconds [default: 1]\0A\00"
@.str.14 = [101 x i8] c" -s, --max-size size Specify maximum message size, in bytes.\0A [default: 500k]\0A\00"
@.str.15 = [141 x i8] c" -u, --username username\0A User for spamd to process this message under.\0A [default: current user]\0A\00"
@.str.16 = [144 x i8] c" -L, --learntype learntype\0A Learn message as spam, ham or forget to\0A forget or unlearn the message.\0A\00"
@.str.17 = [212 x i8] c" -C, --reporttype reporttype\0A Report message to collaborative filtering\0A databases. Report type should be 'report' for\0A spam or 'revoke' for ham.\0A\00"
@.str.18 = [95 x i8] c" -B, --bsmtp Assume input is a single BSMTP-formatted\0A message.\0A\00"
@.str.19 = [95 x i8] c" -c, --check Just print the summary line and set an exit\0A code.\0A\00"
@.str.20 = [62 x i8] c" -y, --tests Just print the names of the tests hit.\0A\00"
@.str.21 = [96 x i8] c" -r, --full-spam Print full report for messages identified as\0A spam.\0A\00"
@.str.22 = [59 x i8] c" -R, --full Print full report for all messages.\0A\00"
@.str.23 = [57 x i8] c" --headers Rewrite only the message headers.\0A\00"
@.str.24 = [63 x i8] c" -E, --exitcode Filter as normal, and set an exit code.\0A\00"
@.str.25 = [71 x i8] c" -x, --no-safe-fallback\0A Don't fallback safely.\0A\00"
@.str.26 = [58 x i8] c" -l, --log-to-stderr Log errors and warnings to stderr.\0A\00"
@.str.27 = [162 x i8] c" -e, --pipe-to command [args]\0A Pipe the output to the given command instead\0A of stdout. This must be the last option.\0A\00"
@.str.28 = [57 x i8] c" -h, --help Print this help message and exit.\0A\00"
@.str.29 = [53 x i8] c" -V, --version Print spamc version and exit.\0A\00"
@.str.30 = [49 x i8] c" -K Keepalive check of spamd.\0A\00"
@.str.31 = [60 x i8] c" -z Compress mail message sent to spamd.\0A\00"
@.str.32 = [47 x i8] c" -f (Now default, ignored.)\0A\00"
define void @print_usage() {
%1 = tail call i32 (...) @print_version()
%2 = tail call i32 @usg(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str, i64 0, i64 0))
%3 = tail call i32 @usg(i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.1, i64 0, i64 0))
%4 = tail call i32 @usg(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str, i64 0, i64 0))
%5 = tail call i32 @usg(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.2, i64 0, i64 0))
%6 = tail call i32 @usg(i8* getelementptr inbounds ([133 x i8], [133 x i8]* @.str.3, i64 0, i64 0))
%7 = tail call i32 @usg(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.4, i64 0, i64 0))
%8 = tail call i32 @usg(i8* getelementptr inbounds ([98 x i8], [98 x i8]* @.str.5, i64 0, i64 0))
%9 = tail call i32 @usg(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.6, i64 0, i64 0))
%10 = tail call i32 @usg(i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.7, i64 0, i64 0))
%11 = tail call i32 @usg(i8* getelementptr inbounds ([132 x i8], [132 x i8]* @.str.8, i64 0, i64 0))
%12 = tail call i32 @usg(i8* getelementptr inbounds ([147 x i8], [147 x i8]* @.str.9, i64 0, i64 0))
%13 = tail call i32 @usg(i8* getelementptr inbounds ([164 x i8], [164 x i8]* @.str.10, i64 0, i64 0))
%14 = tail call i32 @usg(i8* getelementptr inbounds ([150 x i8], [150 x i8]* @.str.11, i64 0, i64 0))
%15 = tail call i32 @usg(i8* getelementptr inbounds ([137 x i8], [137 x i8]* @.str.12, i64 0, i64 0))
%16 = tail call i32 @usg(i8* getelementptr inbounds ([127 x i8], [127 x i8]* @.str.13, i64 0, i64 0))
%17 = tail call i32 @usg(i8* getelementptr inbounds ([101 x i8], [101 x i8]* @.str.14, i64 0, i64 0))
%18 = tail call i32 @usg(i8* getelementptr inbounds ([141 x i8], [141 x i8]* @.str.15, i64 0, i64 0))
%19 = tail call i32 @usg(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str.16, i64 0, i64 0))
%20 = tail call i32 @usg(i8* getelementptr inbounds ([212 x i8], [212 x i8]* @.str.17, i64 0, i64 0))
%21 = tail call i32 @usg(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.18, i64 0, i64 0))
%22 = tail call i32 @usg(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.19, i64 0, i64 0))
%23 = tail call i32 @usg(i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.20, i64 0, i64 0))
%24 = tail call i32 @usg(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.21, i64 0, i64 0))
%25 = tail call i32 @usg(i8* getelementptr inbounds ([59 x i8], [59 x i8]* @.str.22, i64 0, i64 0))
%26 = tail call i32 @usg(i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.23, i64 0, i64 0))
%27 = tail call i32 @usg(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.24, i64 0, i64 0))
%28 = tail call i32 @usg(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.25, i64 0, i64 0))
%29 = tail call i32 @usg(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.26, i64 0, i64 0))
%30 = tail call i32 @usg(i8* getelementptr inbounds ([162 x i8], [162 x i8]* @.str.27, i64 0, i64 0))
%31 = tail call i32 @usg(i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.28, i64 0, i64 0))
%32 = tail call i32 @usg(i8* getelementptr inbounds ([53 x i8], [53 x i8]* @.str.29, i64 0, i64 0))
%33 = tail call i32 @usg(i8* getelementptr inbounds ([49 x i8], [49 x i8]* @.str.30, i64 0, i64 0))
%34 = tail call i32 @usg(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.31, i64 0, i64 0))
%35 = tail call i32 @usg(i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.32, i64 0, i64 0))
%36 = tail call i32 @usg(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str, i64 0, i64 0))
ret void
}