#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 */
struct timeval {
  int tv_sec;
  int tv_usec;
};
typedef int /*<<< orphan*/ first_word;

/* Variables and functions */
int /*<<< orphan*/ gettimeofday(struct timeval *, int /*<<< orphan*/ *);
int /*<<< orphan*/ memset(char *, int /*<<< orphan*/, int);
int rand();
int /*<<< orphan*/ srandom(unsigned long);
int /*<<< orphan*/ strcat(char *, char *);
char *getInsult() {
  char *first_word[] = {
      "artless",     "bawdy",      "beslubbering", "bootless",
      "churlish",    "cockered",   "clouted",      "craven",
      "currish",     "dankish",    "dissembling",  "droning",
      "errant",      "fawning",    "fobbing",      "froward",
      "frothy",      "gleeking",   "goatish",      "gorbellied",
      "impertinent", "infectious", "jarring",      "loggerheaded",
      "lumpish",     "mammering",  "mangled",      "mewling",
      "paunchy",     "pribbling",  "puking",       "puny",
      "qualling",    "rank",       "reeky",        "roguish",
      "ruttish",     "saucy",      "spleeny",      "spongy",
      "surly",       "tottering",  "unmuzzled",    "vain",
      "venomed",     "villainous", "warped",       "wayward",
      "weedy",       "yeasty",     "cullionly",    "fusty",
      "caluminous",  "wimpled",    "burly-boned",  "misbegotten",
      "odiferous",   "poisonous",  "fishified",    "wart-necked"};
  char *second_word[] = {"base-court",
                         "bat-fowling",
                         "beef-witted",
                         "beetle-headed",
                         "boil-brained",
                         "clapper-clawed",
                         "clay-brained",
                         "common-kissing",
                         "crook-pated",
                         "dismal-dreaming",
                         "dizzy-eyed",
                         "doghearted",
                         "dread-bolted",
                         "earth-vexing",
                         "elf-skinned",
                         "fat-kidneyed",
                         "fen-sucked",
                         "flap-mouthed",
                         "fly-bitten",
                         "folly-fallen",
                         "fool-born",
                         "full-gorged",
                         "guts-griping",
                         "half-faced",
                         "hasty-witted",
                         "hedge-born",
                         "hell-hated",
                         "idle-headed",
                         "ill-breeding",
                         "ill-nurtured",
                         "knotty-pated",
                         "milk-livered",
                         "motley-minded",
                         "onion-eyed",
                         "plume-plucked",
                         "pottle-deep",
                         "pox-marked",
                         "reeling-ripe",
                         "rough-hewn",
                         "rude-growing",
                         "rump-fed",
                         "shard-borne",
                         "sheep-biting",
                         "spur-galled",
                         "swag-bellied",
                         "tardy-gaited",
                         "tickle-brained",
                         "toad-spotted",
                         "unchin-snouted",
                         "weather-bitten",
                         "whoreson"
                         "malmsey-nosed",
                         "rampallian",
                         "lily-livered",
                         "scurvy-valiant",
                         "brazen-faced",
                         "unwash'd",
                         "bunch-back'd",
                         "leaden-footed",
                         "muddy-mettled",
                         "pigeon-liver'd",
                         "scale-sided"};
  char *third_word[] = {
      "apple-john",  "baggage",       "barnacle",    "bladder",
      "boar-pig",    "bugbear",       "bum-bailey",  "canker-blossom",
      "clack-dish",  "clotpole",      "coxcomb",     "codpiece",
      "death-token", "dewberry",      "flap-dragon", "flax-wench",
      "flirt-gill",  "foot-licker",   "fustilarian", "giglet",
      "gudgeon",     "haggard",       "harpy",       "hedge-pig",
      "horn-beast",  "hugger-mugger", "joithead",    "lewdster",
      "lout",        "maggot-pie",    "malt-worm",   "mammet",
      "measle",      "minnow",        "miscreant",   "moldwarp",
      "mumble-news", "nut-hook",      "pigeon-egg",  "pignut",
      "puttock",     "pumpion",       "ratsbane",    "scut",
      "skainsmate",  "strumpet",      "varlot",      "vassal",
      "whey-face",   "wagtail",       "knave",       "blind-worm",
      "popinjay",    "scullian",      "jolt-head",   "malcontent",
      "devil-monk",  "toad",          "rascal",      "basket-cockle"};
  char buffer[256];
  memset(buffer, 0, 256);
  int rand_num;
  struct timeval tv;
  (void)gettimeofday(&tv, NULL);
  unsigned long seed = tv.tv_sec * 1000000 + tv.tv_usec;
  srandom(seed);
  strcat(buffer, "You are a ");
  rand_num = rand() % (sizeof(first_word) / sizeof(*first_word));
  strcat(buffer, first_word[rand_num]);
  strcat(buffer, ", ");
  rand_num = rand() % (sizeof(first_word) / sizeof(*first_word));
  strcat(buffer, second_word[rand_num]);
  strcat(buffer, " ");
  rand_num = rand() % (sizeof(first_word) / sizeof(*first_word));
  strcat(buffer, third_word[rand_num]);
  strcat(buffer, "!\n");
  return buffer;
}


x86 assembly (clang, -O0):
<getInsult>:
push   %rbp
mov    %rsp,%rbp
sub    $0x6d0,%rsp
lea    -0x1e0(%rbp),%rdi
lea    0x26f7(%rip),%rsi
mov    $0x1e0,%edx
call   2060 <memcpy@plt>
lea    -0x3d0(%rbp),%rdi
lea    0x28bf(%rip),%rsi
mov    $0x1e8,%edx
call   2060 <memcpy@plt>
lea    -0x5b0(%rbp),%rdi
lea    0x2a97(%rip),%rsi
mov    $0x1e0,%edx
call   2060 <memcpy@plt>
lea    -0x6b0(%rbp),%rdi
xor    %esi,%esi
mov    $0x100,%edx
call   2050 <memset@plt>
lea    -0x6c0(%rbp),%rdi
xor    %eax,%eax
mov    %eax,%esi
call   2040 <gettimeofday@plt>
imul   $0xf4240,-0x6c0(%rbp),%eax
add    -0x6bc(%rbp),%eax
cltq
mov    %rax,-0x6c8(%rbp)
mov    -0x6c8(%rbp),%rdi
call   2030 <srandom@plt>
lea    -0x6b0(%rbp),%rdi
lea    0x1532(%rip),%rsi
call   2070 <strcat@plt>
mov    $0x0,%al
call   2080 <rand@plt>
cltq
mov    $0x3c,%ecx
xor    %edx,%edx
div    %rcx
mov    %edx,%eax
mov    %eax,-0x6b4(%rbp)
lea    -0x6b0(%rbp),%rdi
movslq -0x6b4(%rbp),%rax
mov    -0x1e0(%rbp,%rax,8),%rsi
ff
call   2070 <strcat@plt>
lea    -0x6b0(%rbp),%rdi
lea    0x14f4(%rip),%rsi
call   2070 <strcat@plt>
mov    $0x0,%al
call   2080 <rand@plt>
cltq
mov    $0x3c,%ecx
xor    %edx,%edx
div    %rcx
mov    %edx,%eax
mov    %eax,-0x6b4(%rbp)
lea    -0x6b0(%rbp),%rdi
movslq -0x6b4(%rbp),%rax
mov    -0x3d0(%rbp,%rax,8),%rsi
ff
call   2070 <strcat@plt>
lea    -0x6b0(%rbp),%rdi
lea    0x14ac(%rip),%rsi
call   2070 <strcat@plt>
mov    $0x0,%al
call   2080 <rand@plt>
cltq
mov    $0x3c,%ecx
xor    %edx,%edx
div    %rcx
mov    %edx,%eax
mov    %eax,-0x6b4(%rbp)
lea    -0x6b0(%rbp),%rdi
movslq -0x6b4(%rbp),%rax
mov    -0x5b0(%rbp,%rax,8),%rsi
ff
call   2070 <strcat@plt>
lea    -0x6b0(%rbp),%rdi
lea    0x1465(%rip),%rsi
call   2070 <strcat@plt>
lea    -0x6b0(%rbp),%rax
add    $0x6d0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<getInsult>:
push   %r14
push   %rbx
sub    $0x118,%rsp
lea    0x10(%rsp),%rbx
mov    %rbx,%rdi
xor    %esi,%esi
mov    $0x100,%edx
call   1050 <memset@plt>
lea    0x8(%rsp),%rdi
xor    %esi,%esi
call   1040 <gettimeofday@plt>
movslq 0x8(%rsp),%rax
imul   $0xf4240,%rax,%rax
movslq 0xc(%rsp),%rdi
add    %rax,%rdi
call   1030 <srandom@plt>
lea    0x15a1(%rip),%rsi
mov    %rbx,%rdi
call   1060 <strcat@plt>
xor    %eax,%eax
call   1070 <rand@plt>
movslq %eax,%rcx
movabs $0x8888888888888889,%r14
88 88 88
mov    %rcx,%rax
mul    %r14
shr    $0x5,%rdx
imul   $0x3c,%rdx,%rax
sub    %rax,%rcx
lea    0x157e(%rip),%rax
movslq (%rax,%rcx,4),%rsi
add    %rax,%rsi
mov    %rbx,%rdi
call   1060 <strcat@plt>
lea    0x1562(%rip),%rsi
mov    %rbx,%rdi
call   1060 <strcat@plt>
xor    %eax,%eax
call   1070 <rand@plt>
movslq %eax,%rcx
mov    %rcx,%rax
mul    %r14
shr    $0x5,%rdx
imul   $0x3c,%rdx,%rax
sub    %rax,%rcx
lea    0x162e(%rip),%rax
movslq (%rax,%rcx,4),%rsi
add    %rax,%rsi
mov    %rbx,%rdi
call   1060 <strcat@plt>
lea    0x1523(%rip),%rsi
mov    %rbx,%rdi
call   1060 <strcat@plt>
xor    %eax,%eax
call   1070 <rand@plt>
movslq %eax,%rcx
mov    %rcx,%rax
mul    %r14
shr    $0x5,%rdx
imul   $0x3c,%rdx,%rax
sub    %rax,%rcx
lea    0x16e2(%rip),%rax
movslq (%rax,%rcx,4),%rsi
add    %rax,%rsi
mov    %rbx,%rdi
call   1060 <strcat@plt>
lea    0x14e5(%rip),%rsi
mov    %rbx,%rdi
call   1060 <strcat@plt>
mov    %rbx,%rax
add    $0x118,%rsp
pop    %rbx
pop    %r14
ret

LLVM IR (-O0):
%struct.timeval = type { i32, i32 }
@.str = [8 x i8] c"artless\00"
@.str.1 = [6 x i8] c"bawdy\00"
@.str.2 = [13 x i8] c"beslubbering\00"
@.str.3 = [9 x i8] c"bootless\00"
@.str.4 = [9 x i8] c"churlish\00"
@.str.5 = [9 x i8] c"cockered\00"
@.str.6 = [8 x i8] c"clouted\00"
@.str.7 = [7 x i8] c"craven\00"
@.str.8 = [8 x i8] c"currish\00"
@.str.9 = [8 x i8] c"dankish\00"
@.str.10 = [12 x i8] c"dissembling\00"
@.str.11 = [8 x i8] c"droning\00"
@.str.12 = [7 x i8] c"errant\00"
@.str.13 = [8 x i8] c"fawning\00"
@.str.14 = [8 x i8] c"fobbing\00"
@.str.15 = [8 x i8] c"froward\00"
@.str.16 = [7 x i8] c"frothy\00"
@.str.17 = [9 x i8] c"gleeking\00"
@.str.18 = [8 x i8] c"goatish\00"
@.str.19 = [11 x i8] c"gorbellied\00"
@.str.20 = [12 x i8] c"impertinent\00"
@.str.21 = [11 x i8] c"infectious\00"
@.str.22 = [8 x i8] c"jarring\00"
@.str.23 = [13 x i8] c"loggerheaded\00"
@.str.24 = [8 x i8] c"lumpish\00"
@.str.25 = [10 x i8] c"mammering\00"
@.str.26 = [8 x i8] c"mangled\00"
@.str.27 = [8 x i8] c"mewling\00"
@.str.28 = [8 x i8] c"paunchy\00"
@.str.29 = [10 x i8] c"pribbling\00"
@.str.30 = [7 x i8] c"puking\00"
@.str.31 = [5 x i8] c"puny\00"
@.str.32 = [9 x i8] c"qualling\00"
@.str.33 = [5 x i8] c"rank\00"
@.str.34 = [6 x i8] c"reeky\00"
@.str.35 = [8 x i8] c"roguish\00"
@.str.36 = [8 x i8] c"ruttish\00"
@.str.37 = [6 x i8] c"saucy\00"
@.str.38 = [8 x i8] c"spleeny\00"
@.str.39 = [7 x i8] c"spongy\00"
@.str.40 = [6 x i8] c"surly\00"
@.str.41 = [10 x i8] c"tottering\00"
@.str.42 = [10 x i8] c"unmuzzled\00"
@.str.43 = [5 x i8] c"vain\00"
@.str.44 = [8 x i8] c"venomed\00"
@.str.45 = [11 x i8] c"villainous\00"
@.str.46 = [7 x i8] c"warped\00"
@.str.47 = [8 x i8] c"wayward\00"
@.str.48 = [6 x i8] c"weedy\00"
@.str.49 = [7 x i8] c"yeasty\00"
@.str.50 = [10 x i8] c"cullionly\00"
@.str.51 = [6 x i8] c"fusty\00"
@.str.52 = [11 x i8] c"caluminous\00"
@.str.53 = [8 x i8] c"wimpled\00"
@.str.54 = [12 x i8] c"burly-boned\00"
@.str.55 = [12 x i8] c"misbegotten\00"
@.str.56 = [10 x i8] c"odiferous\00"
@.str.57 = [10 x i8] c"poisonous\00"
@.str.58 = [10 x i8] c"fishified\00"
@.str.59 = [12 x i8] c"wart-necked\00"
@__const.getInsult.first_word = [60 x i8*] [i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.4, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.5, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.6, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.7, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.8, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.9, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.10, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.11, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.12, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.13, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.14, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.15, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.16, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.17, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.18, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.19, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.20, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.21, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.22, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.23, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.24, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.25, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.26, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.27, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.28, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.29, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.30, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.31, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.32, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.33, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.34, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.35, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.36, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.37, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.38, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.39, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.40, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.41, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.42, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.43, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.44, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.45, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.46, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.47, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.48, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.49, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.50, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.51, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.52, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.53, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.54, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.55, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.56, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.57, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.58, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.59, i32 0, i32 0)]
@.str.60 = [11 x i8] c"base-court\00"
@.str.61 = [12 x i8] c"bat-fowling\00"
@.str.62 = [12 x i8] c"beef-witted\00"
@.str.63 = [14 x i8] c"beetle-headed\00"
@.str.64 = [13 x i8] c"boil-brained\00"
@.str.65 = [15 x i8] c"clapper-clawed\00"
@.str.66 = [13 x i8] c"clay-brained\00"
@.str.67 = [15 x i8] c"common-kissing\00"
@.str.68 = [12 x i8] c"crook-pated\00"
@.str.69 = [16 x i8] c"dismal-dreaming\00"
@.str.70 = [11 x i8] c"dizzy-eyed\00"
@.str.71 = [11 x i8] c"doghearted\00"
@.str.72 = [13 x i8] c"dread-bolted\00"
@.str.73 = [13 x i8] c"earth-vexing\00"
@.str.74 = [12 x i8] c"elf-skinned\00"
@.str.75 = [13 x i8] c"fat-kidneyed\00"
@.str.76 = [11 x i8] c"fen-sucked\00"
@.str.77 = [13 x i8] c"flap-mouthed\00"
@.str.78 = [11 x i8] c"fly-bitten\00"
@.str.79 = [13 x i8] c"folly-fallen\00"
@.str.80 = [10 x i8] c"fool-born\00"
@.str.81 = [12 x i8] c"full-gorged\00"
@.str.82 = [13 x i8] c"guts-griping\00"
@.str.83 = [11 x i8] c"half-faced\00"
@.str.84 = [13 x i8] c"hasty-witted\00"
@.str.85 = [11 x i8] c"hedge-born\00"
@.str.86 = [11 x i8] c"hell-hated\00"
@.str.87 = [12 x i8] c"idle-headed\00"
@.str.88 = [13 x i8] c"ill-breeding\00"
@.str.89 = [13 x i8] c"ill-nurtured\00"
@.str.90 = [13 x i8] c"knotty-pated\00"
@.str.91 = [13 x i8] c"milk-livered\00"
@.str.92 = [14 x i8] c"motley-minded\00"
@.str.93 = [11 x i8] c"onion-eyed\00"
@.str.94 = [14 x i8] c"plume-plucked\00"
@.str.95 = [12 x i8] c"pottle-deep\00"
@.str.96 = [11 x i8] c"pox-marked\00"
@.str.97 = [13 x i8] c"reeling-ripe\00"
@.str.98 = [11 x i8] c"rough-hewn\00"
@.str.99 = [13 x i8] c"rude-growing\00"
@.str.100 = [9 x i8] c"rump-fed\00"
@.str.101 = [12 x i8] c"shard-borne\00"
@.str.102 = [13 x i8] c"sheep-biting\00"
@.str.103 = [12 x i8] c"spur-galled\00"
@.str.104 = [13 x i8] c"swag-bellied\00"
@.str.105 = [13 x i8] c"tardy-gaited\00"
@.str.106 = [15 x i8] c"tickle-brained\00"
@.str.107 = [13 x i8] c"toad-spotted\00"
@.str.108 = [15 x i8] c"unchin-snouted\00"
@.str.109 = [15 x i8] c"weather-bitten\00"
@.str.110 = [22 x i8] c"whoresonmalmsey-nosed\00"
@.str.111 = [11 x i8] c"rampallian\00"
@.str.112 = [13 x i8] c"lily-livered\00"
@.str.113 = [15 x i8] c"scurvy-valiant\00"
@.str.114 = [13 x i8] c"brazen-faced\00"
@.str.115 = [9 x i8] c"unwash'd\00"
@.str.116 = [13 x i8] c"bunch-back'd\00"
@.str.117 = [14 x i8] c"leaden-footed\00"
@.str.118 = [14 x i8] c"muddy-mettled\00"
@.str.119 = [15 x i8] c"pigeon-liver'd\00"
@.str.120 = [12 x i8] c"scale-sided\00"
@__const.getInsult.second_word = [61 x i8*] [i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.60, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.61, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.62, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.63, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.64, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.65, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.66, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.67, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.68, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.69, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.70, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.71, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.72, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.73, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.74, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.75, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.76, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.77, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.78, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.79, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.80, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.81, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.82, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.83, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.84, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.85, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.86, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.87, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.88, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.89, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.90, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.91, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.92, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.93, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.94, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.95, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.96, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.97, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.98, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.99, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.100, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.101, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.102, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.103, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.104, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.105, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.106, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.107, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.108, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.109, i32 0, i32 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.110, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.111, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.112, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.113, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.114, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.115, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.116, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.117, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.118, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.119, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.120, i32 0, i32 0)]
@.str.121 = [11 x i8] c"apple-john\00"
@.str.122 = [8 x i8] c"baggage\00"
@.str.123 = [9 x i8] c"barnacle\00"
@.str.124 = [8 x i8] c"bladder\00"
@.str.125 = [9 x i8] c"boar-pig\00"
@.str.126 = [8 x i8] c"bugbear\00"
@.str.127 = [11 x i8] c"bum-bailey\00"
@.str.128 = [15 x i8] c"canker-blossom\00"
@.str.129 = [11 x i8] c"clack-dish\00"
@.str.130 = [9 x i8] c"clotpole\00"
@.str.131 = [8 x i8] c"coxcomb\00"
@.str.132 = [9 x i8] c"codpiece\00"
@.str.133 = [12 x i8] c"death-token\00"
@.str.134 = [9 x i8] c"dewberry\00"
@.str.135 = [12 x i8] c"flap-dragon\00"
@.str.136 = [11 x i8] c"flax-wench\00"
@.str.137 = [11 x i8] c"flirt-gill\00"
@.str.138 = [12 x i8] c"foot-licker\00"
@.str.139 = [12 x i8] c"fustilarian\00"
@.str.140 = [7 x i8] c"giglet\00"
@.str.141 = [8 x i8] c"gudgeon\00"
@.str.142 = [8 x i8] c"haggard\00"
@.str.143 = [6 x i8] c"harpy\00"
@.str.144 = [10 x i8] c"hedge-pig\00"
@.str.145 = [11 x i8] c"horn-beast\00"
@.str.146 = [14 x i8] c"hugger-mugger\00"
@.str.147 = [9 x i8] c"joithead\00"
@.str.148 = [9 x i8] c"lewdster\00"
@.str.149 = [5 x i8] c"lout\00"
@.str.150 = [11 x i8] c"maggot-pie\00"
@.str.151 = [10 x i8] c"malt-worm\00"
@.str.152 = [7 x i8] c"mammet\00"
@.str.153 = [7 x i8] c"measle\00"
@.str.154 = [7 x i8] c"minnow\00"
@.str.155 = [10 x i8] c"miscreant\00"
@.str.156 = [9 x i8] c"moldwarp\00"
@.str.157 = [12 x i8] c"mumble-news\00"
@.str.158 = [9 x i8] c"nut-hook\00"
@.str.159 = [11 x i8] c"pigeon-egg\00"
@.str.160 = [7 x i8] c"pignut\00"
@.str.161 = [8 x i8] c"puttock\00"
@.str.162 = [8 x i8] c"pumpion\00"
@.str.163 = [9 x i8] c"ratsbane\00"
@.str.164 = [5 x i8] c"scut\00"
@.str.165 = [11 x i8] c"skainsmate\00"
@.str.166 = [9 x i8] c"strumpet\00"
@.str.167 = [7 x i8] c"varlot\00"
@.str.168 = [7 x i8] c"vassal\00"
@.str.169 = [10 x i8] c"whey-face\00"
@.str.170 = [8 x i8] c"wagtail\00"
@.str.171 = [6 x i8] c"knave\00"
@.str.172 = [11 x i8] c"blind-worm\00"
@.str.173 = [9 x i8] c"popinjay\00"
@.str.174 = [9 x i8] c"scullian\00"
@.str.175 = [10 x i8] c"jolt-head\00"
@.str.176 = [11 x i8] c"malcontent\00"
@.str.177 = [11 x i8] c"devil-monk\00"
@.str.178 = [5 x i8] c"toad\00"
@.str.179 = [7 x i8] c"rascal\00"
@.str.180 = [14 x i8] c"basket-cockle\00"
@__const.getInsult.third_word = [60 x i8*] [i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.121, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.122, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.123, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.124, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.125, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.126, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.127, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.128, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.129, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.130, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.131, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.132, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.133, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.134, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.135, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.136, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.137, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.138, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.139, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.140, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.141, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.142, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.143, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.144, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.145, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.146, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.147, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.148, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.149, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.150, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.151, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.152, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.153, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.154, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.155, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.156, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.157, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.158, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.159, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.160, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.161, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.162, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.163, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.164, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.165, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.166, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.167, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.168, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.169, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.170, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.171, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.172, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.173, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.174, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.175, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.176, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.177, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.178, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.179, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.180, i32 0, i32 0)]
@.str.181 = [11 x i8] c"You are a \00"
@.str.182 = [3 x i8] c", \00"
@.str.183 = [2 x i8] c" \00"
@.str.184 = [3 x i8] c"!\0A\00"
define i8* @getInsult() {
%1 = alloca [60 x i8*]
%2 = alloca [61 x i8*]
%3 = alloca [60 x i8*]
%4 = alloca [256 x i8]
%5 = alloca i32
%6 = alloca %struct.timeval
%7 = alloca i64
%8 = bitcast [60 x i8*]* %1 to i8*
%9 = bitcast [61 x i8*]* %2 to i8*
%10 = bitcast [60 x i8*]* %3 to i8*
%11 = getelementptr inbounds [256 x i8], [256 x i8]* %4, i64 0, i64 0
%12 = call i32 @memset(i8* %11, i32 0, i32 256)
%13 = call i32 @gettimeofday(%struct.timeval* %6, i32* null)
%14 = getelementptr inbounds %struct.timeval, %struct.timeval* %6, i32 0, i32 0
%15 = load i32, i32* %14
%16 = mul nsw i32 %15, 1000000
%17 = getelementptr inbounds %struct.timeval, %struct.timeval* %6, i32 0, i32 1
%18 = load i32, i32* %17
%19 = add nsw i32 %16, %18
%20 = sext i32 %19 to i64
store i64 %20, i64* %7
%21 = load i64, i64* %7
%22 = call i32 @srandom(i64 %21)
%23 = getelementptr inbounds [256 x i8], [256 x i8]* %4, i64 0, i64 0
%24 = call i32 @strcat(i8* %23, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.181, i64 0, i64 0))
%25 = call i32 (...) @rand()
%26 = sext i32 %25 to i64
%27 = urem i64 %26, 60
%28 = trunc i64 %27 to i32
store i32 %28, i32* %5
%29 = getelementptr inbounds [256 x i8], [256 x i8]* %4, i64 0, i64 0
%30 = load i32, i32* %5
%31 = sext i32 %30 to i64
%32 = getelementptr inbounds [60 x i8*], [60 x i8*]* %1, i64 0, i64 %31
%33 = load i8*, i8** %32
%34 = call i32 @strcat(i8* %29, i8* %33)
%35 = getelementptr inbounds [256 x i8], [256 x i8]* %4, i64 0, i64 0
%36 = call i32 @strcat(i8* %35, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.182, i64 0, i64 0))
%37 = call i32 (...) @rand()
%38 = sext i32 %37 to i64
%39 = urem i64 %38, 60
%40 = trunc i64 %39 to i32
store i32 %40, i32* %5
%41 = getelementptr inbounds [256 x i8], [256 x i8]* %4, i64 0, i64 0
%42 = load i32, i32* %5
%43 = sext i32 %42 to i64
%44 = getelementptr inbounds [61 x i8*], [61 x i8*]* %2, i64 0, i64 %43
%45 = load i8*, i8** %44
%46 = call i32 @strcat(i8* %41, i8* %45)
%47 = getelementptr inbounds [256 x i8], [256 x i8]* %4, i64 0, i64 0
%48 = call i32 @strcat(i8* %47, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.183, i64 0, i64 0))
%49 = call i32 (...) @rand()
%50 = sext i32 %49 to i64
%51 = urem i64 %50, 60
%52 = trunc i64 %51 to i32
store i32 %52, i32* %5
%53 = getelementptr inbounds [256 x i8], [256 x i8]* %4, i64 0, i64 0
%54 = load i32, i32* %5
%55 = sext i32 %54 to i64
%56 = getelementptr inbounds [60 x i8*], [60 x i8*]* %3, i64 0, i64 %55
%57 = load i8*, i8** %56
%58 = call i32 @strcat(i8* %53, i8* %57)
%59 = getelementptr inbounds [256 x i8], [256 x i8]* %4, i64 0, i64 0
%60 = call i32 @strcat(i8* %59, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.184, i64 0, i64 0))
%61 = getelementptr inbounds [256 x i8], [256 x i8]* %4, i64 0, i64 0
ret i8* %61
}

LLVM IR (-O2):
%struct.timeval = type { i32, i32 }
@.str = [8 x i8] c"artless\00"
@.str.1 = [6 x i8] c"bawdy\00"
@.str.2 = [13 x i8] c"beslubbering\00"
@.str.3 = [9 x i8] c"bootless\00"
@.str.4 = [9 x i8] c"churlish\00"
@.str.5 = [9 x i8] c"cockered\00"
@.str.6 = [8 x i8] c"clouted\00"
@.str.7 = [7 x i8] c"craven\00"
@.str.8 = [8 x i8] c"currish\00"
@.str.9 = [8 x i8] c"dankish\00"
@.str.10 = [12 x i8] c"dissembling\00"
@.str.11 = [8 x i8] c"droning\00"
@.str.12 = [7 x i8] c"errant\00"
@.str.13 = [8 x i8] c"fawning\00"
@.str.14 = [8 x i8] c"fobbing\00"
@.str.15 = [8 x i8] c"froward\00"
@.str.16 = [7 x i8] c"frothy\00"
@.str.17 = [9 x i8] c"gleeking\00"
@.str.18 = [8 x i8] c"goatish\00"
@.str.19 = [11 x i8] c"gorbellied\00"
@.str.20 = [12 x i8] c"impertinent\00"
@.str.21 = [11 x i8] c"infectious\00"
@.str.22 = [8 x i8] c"jarring\00"
@.str.23 = [13 x i8] c"loggerheaded\00"
@.str.24 = [8 x i8] c"lumpish\00"
@.str.25 = [10 x i8] c"mammering\00"
@.str.26 = [8 x i8] c"mangled\00"
@.str.27 = [8 x i8] c"mewling\00"
@.str.28 = [8 x i8] c"paunchy\00"
@.str.29 = [10 x i8] c"pribbling\00"
@.str.30 = [7 x i8] c"puking\00"
@.str.31 = [5 x i8] c"puny\00"
@.str.32 = [9 x i8] c"qualling\00"
@.str.33 = [5 x i8] c"rank\00"
@.str.34 = [6 x i8] c"reeky\00"
@.str.35 = [8 x i8] c"roguish\00"
@.str.36 = [8 x i8] c"ruttish\00"
@.str.37 = [6 x i8] c"saucy\00"
@.str.38 = [8 x i8] c"spleeny\00"
@.str.39 = [7 x i8] c"spongy\00"
@.str.40 = [6 x i8] c"surly\00"
@.str.41 = [10 x i8] c"tottering\00"
@.str.42 = [10 x i8] c"unmuzzled\00"
@.str.43 = [5 x i8] c"vain\00"
@.str.44 = [8 x i8] c"venomed\00"
@.str.45 = [11 x i8] c"villainous\00"
@.str.46 = [7 x i8] c"warped\00"
@.str.47 = [8 x i8] c"wayward\00"
@.str.48 = [6 x i8] c"weedy\00"
@.str.49 = [7 x i8] c"yeasty\00"
@.str.50 = [10 x i8] c"cullionly\00"
@.str.51 = [6 x i8] c"fusty\00"
@.str.52 = [11 x i8] c"caluminous\00"
@.str.53 = [8 x i8] c"wimpled\00"
@.str.54 = [12 x i8] c"burly-boned\00"
@.str.55 = [12 x i8] c"misbegotten\00"
@.str.56 = [10 x i8] c"odiferous\00"
@.str.57 = [10 x i8] c"poisonous\00"
@.str.58 = [10 x i8] c"fishified\00"
@.str.59 = [12 x i8] c"wart-necked\00"
@reltable.getInsult = [60 x i32] [i32 trunc (i64 sub (i64 ptrtoint ([8 x i8]* @.str to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([6 x i8]* @.str.1 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([13 x i8]* @.str.2 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([9 x i8]* @.str.3 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([9 x i8]* @.str.4 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([9 x i8]* @.str.5 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([8 x i8]* @.str.6 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([7 x i8]* @.str.7 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([8 x i8]* @.str.8 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([8 x i8]* @.str.9 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([12 x i8]* @.str.10 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([8 x i8]* @.str.11 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([7 x i8]* @.str.12 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([8 x i8]* @.str.13 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([8 x i8]* @.str.14 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([8 x i8]* @.str.15 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([7 x i8]* @.str.16 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([9 x i8]* @.str.17 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([8 x i8]* @.str.18 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([11 x i8]* @.str.19 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([12 x i8]* @.str.20 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([11 x i8]* @.str.21 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([8 x i8]* @.str.22 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([13 x i8]* @.str.23 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([8 x i8]* @.str.24 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([10 x i8]* @.str.25 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([8 x i8]* @.str.26 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([8 x i8]* @.str.27 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([8 x i8]* @.str.28 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([10 x i8]* @.str.29 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([7 x i8]* @.str.30 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([5 x i8]* @.str.31 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([9 x i8]* @.str.32 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([5 x i8]* @.str.33 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([6 x i8]* @.str.34 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([8 x i8]* @.str.35 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([8 x i8]* @.str.36 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([6 x i8]* @.str.37 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([8 x i8]* @.str.38 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([7 x i8]* @.str.39 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([6 x i8]* @.str.40 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([10 x i8]* @.str.41 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([10 x i8]* @.str.42 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([5 x i8]* @.str.43 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([8 x i8]* @.str.44 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([11 x i8]* @.str.45 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([7 x i8]* @.str.46 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([8 x i8]* @.str.47 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([6 x i8]* @.str.48 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([7 x i8]* @.str.49 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([10 x i8]* @.str.50 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([6 x i8]* @.str.51 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([11 x i8]* @.str.52 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([8 x i8]* @.str.53 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([12 x i8]* @.str.54 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([12 x i8]* @.str.55 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([10 x i8]* @.str.56 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([10 x i8]* @.str.57 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([10 x i8]* @.str.58 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([12 x i8]* @.str.59 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult to i64)) to i32)]
@.str.60 = [11 x i8] c"base-court\00"
@.str.61 = [12 x i8] c"bat-fowling\00"
@.str.62 = [12 x i8] c"beef-witted\00"
@.str.63 = [14 x i8] c"beetle-headed\00"
@.str.64 = [13 x i8] c"boil-brained\00"
@.str.65 = [15 x i8] c"clapper-clawed\00"
@.str.66 = [13 x i8] c"clay-brained\00"
@.str.67 = [15 x i8] c"common-kissing\00"
@.str.68 = [12 x i8] c"crook-pated\00"
@.str.69 = [16 x i8] c"dismal-dreaming\00"
@.str.70 = [11 x i8] c"dizzy-eyed\00"
@.str.71 = [11 x i8] c"doghearted\00"
@.str.72 = [13 x i8] c"dread-bolted\00"
@.str.73 = [13 x i8] c"earth-vexing\00"
@.str.74 = [12 x i8] c"elf-skinned\00"
@.str.75 = [13 x i8] c"fat-kidneyed\00"
@.str.76 = [11 x i8] c"fen-sucked\00"
@.str.77 = [13 x i8] c"flap-mouthed\00"
@.str.78 = [11 x i8] c"fly-bitten\00"
@.str.79 = [13 x i8] c"folly-fallen\00"
@.str.80 = [10 x i8] c"fool-born\00"
@.str.81 = [12 x i8] c"full-gorged\00"
@.str.82 = [13 x i8] c"guts-griping\00"
@.str.83 = [11 x i8] c"half-faced\00"
@.str.84 = [13 x i8] c"hasty-witted\00"
@.str.85 = [11 x i8] c"hedge-born\00"
@.str.86 = [11 x i8] c"hell-hated\00"
@.str.87 = [12 x i8] c"idle-headed\00"
@.str.88 = [13 x i8] c"ill-breeding\00"
@.str.89 = [13 x i8] c"ill-nurtured\00"
@.str.90 = [13 x i8] c"knotty-pated\00"
@.str.91 = [13 x i8] c"milk-livered\00"
@.str.92 = [14 x i8] c"motley-minded\00"
@.str.93 = [11 x i8] c"onion-eyed\00"
@.str.94 = [14 x i8] c"plume-plucked\00"
@.str.95 = [12 x i8] c"pottle-deep\00"
@.str.96 = [11 x i8] c"pox-marked\00"
@.str.97 = [13 x i8] c"reeling-ripe\00"
@.str.98 = [11 x i8] c"rough-hewn\00"
@.str.99 = [13 x i8] c"rude-growing\00"
@.str.100 = [9 x i8] c"rump-fed\00"
@.str.101 = [12 x i8] c"shard-borne\00"
@.str.102 = [13 x i8] c"sheep-biting\00"
@.str.103 = [12 x i8] c"spur-galled\00"
@.str.104 = [13 x i8] c"swag-bellied\00"
@.str.105 = [13 x i8] c"tardy-gaited\00"
@.str.106 = [15 x i8] c"tickle-brained\00"
@.str.107 = [13 x i8] c"toad-spotted\00"
@.str.108 = [15 x i8] c"unchin-snouted\00"
@.str.109 = [15 x i8] c"weather-bitten\00"
@.str.110 = [22 x i8] c"whoresonmalmsey-nosed\00"
@.str.111 = [11 x i8] c"rampallian\00"
@.str.112 = [13 x i8] c"lily-livered\00"
@.str.113 = [15 x i8] c"scurvy-valiant\00"
@.str.114 = [13 x i8] c"brazen-faced\00"
@.str.115 = [9 x i8] c"unwash'd\00"
@.str.116 = [13 x i8] c"bunch-back'd\00"
@.str.117 = [14 x i8] c"leaden-footed\00"
@.str.118 = [14 x i8] c"muddy-mettled\00"
@.str.119 = [15 x i8] c"pigeon-liver'd\00"
@.str.120 = [12 x i8] c"scale-sided\00"
@reltable.getInsult.185 = [61 x i32] [i32 trunc (i64 sub (i64 ptrtoint ([11 x i8]* @.str.60 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([12 x i8]* @.str.61 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([12 x i8]* @.str.62 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([14 x i8]* @.str.63 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([13 x i8]* @.str.64 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([15 x i8]* @.str.65 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([13 x i8]* @.str.66 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([15 x i8]* @.str.67 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([12 x i8]* @.str.68 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([16 x i8]* @.str.69 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([11 x i8]* @.str.70 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([11 x i8]* @.str.71 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([13 x i8]* @.str.72 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([13 x i8]* @.str.73 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([12 x i8]* @.str.74 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([13 x i8]* @.str.75 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([11 x i8]* @.str.76 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([13 x i8]* @.str.77 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([11 x i8]* @.str.78 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([13 x i8]* @.str.79 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([10 x i8]* @.str.80 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([12 x i8]* @.str.81 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([13 x i8]* @.str.82 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([11 x i8]* @.str.83 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([13 x i8]* @.str.84 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([11 x i8]* @.str.85 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([11 x i8]* @.str.86 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([12 x i8]* @.str.87 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([13 x i8]* @.str.88 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([13 x i8]* @.str.89 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([13 x i8]* @.str.90 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([13 x i8]* @.str.91 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([14 x i8]* @.str.92 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([11 x i8]* @.str.93 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([14 x i8]* @.str.94 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([12 x i8]* @.str.95 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([11 x i8]* @.str.96 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([13 x i8]* @.str.97 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([11 x i8]* @.str.98 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([13 x i8]* @.str.99 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([9 x i8]* @.str.100 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([12 x i8]* @.str.101 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([13 x i8]* @.str.102 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([12 x i8]* @.str.103 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([13 x i8]* @.str.104 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([13 x i8]* @.str.105 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([15 x i8]* @.str.106 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([13 x i8]* @.str.107 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([15 x i8]* @.str.108 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([15 x i8]* @.str.109 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([22 x i8]* @.str.110 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([11 x i8]* @.str.111 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([13 x i8]* @.str.112 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([15 x i8]* @.str.113 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([13 x i8]* @.str.114 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([9 x i8]* @.str.115 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([13 x i8]* @.str.116 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([14 x i8]* @.str.117 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([14 x i8]* @.str.118 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([15 x i8]* @.str.119 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([12 x i8]* @.str.120 to i64), i64 ptrtoint ([61 x i32]* @reltable.getInsult.185 to i64)) to i32)]
@.str.121 = [11 x i8] c"apple-john\00"
@.str.122 = [8 x i8] c"baggage\00"
@.str.123 = [9 x i8] c"barnacle\00"
@.str.124 = [8 x i8] c"bladder\00"
@.str.125 = [9 x i8] c"boar-pig\00"
@.str.126 = [8 x i8] c"bugbear\00"
@.str.127 = [11 x i8] c"bum-bailey\00"
@.str.128 = [15 x i8] c"canker-blossom\00"
@.str.129 = [11 x i8] c"clack-dish\00"
@.str.130 = [9 x i8] c"clotpole\00"
@.str.131 = [8 x i8] c"coxcomb\00"
@.str.132 = [9 x i8] c"codpiece\00"
@.str.133 = [12 x i8] c"death-token\00"
@.str.134 = [9 x i8] c"dewberry\00"
@.str.135 = [12 x i8] c"flap-dragon\00"
@.str.136 = [11 x i8] c"flax-wench\00"
@.str.137 = [11 x i8] c"flirt-gill\00"
@.str.138 = [12 x i8] c"foot-licker\00"
@.str.139 = [12 x i8] c"fustilarian\00"
@.str.140 = [7 x i8] c"giglet\00"
@.str.141 = [8 x i8] c"gudgeon\00"
@.str.142 = [8 x i8] c"haggard\00"
@.str.143 = [6 x i8] c"harpy\00"
@.str.144 = [10 x i8] c"hedge-pig\00"
@.str.145 = [11 x i8] c"horn-beast\00"
@.str.146 = [14 x i8] c"hugger-mugger\00"
@.str.147 = [9 x i8] c"joithead\00"
@.str.148 = [9 x i8] c"lewdster\00"
@.str.149 = [5 x i8] c"lout\00"
@.str.150 = [11 x i8] c"maggot-pie\00"
@.str.151 = [10 x i8] c"malt-worm\00"
@.str.152 = [7 x i8] c"mammet\00"
@.str.153 = [7 x i8] c"measle\00"
@.str.154 = [7 x i8] c"minnow\00"
@.str.155 = [10 x i8] c"miscreant\00"
@.str.156 = [9 x i8] c"moldwarp\00"
@.str.157 = [12 x i8] c"mumble-news\00"
@.str.158 = [9 x i8] c"nut-hook\00"
@.str.159 = [11 x i8] c"pigeon-egg\00"
@.str.160 = [7 x i8] c"pignut\00"
@.str.161 = [8 x i8] c"puttock\00"
@.str.162 = [8 x i8] c"pumpion\00"
@.str.163 = [9 x i8] c"ratsbane\00"
@.str.164 = [5 x i8] c"scut\00"
@.str.165 = [11 x i8] c"skainsmate\00"
@.str.166 = [9 x i8] c"strumpet\00"
@.str.167 = [7 x i8] c"varlot\00"
@.str.168 = [7 x i8] c"vassal\00"
@.str.169 = [10 x i8] c"whey-face\00"
@.str.170 = [8 x i8] c"wagtail\00"
@.str.171 = [6 x i8] c"knave\00"
@.str.172 = [11 x i8] c"blind-worm\00"
@.str.173 = [9 x i8] c"popinjay\00"
@.str.174 = [9 x i8] c"scullian\00"
@.str.175 = [10 x i8] c"jolt-head\00"
@.str.176 = [11 x i8] c"malcontent\00"
@.str.177 = [11 x i8] c"devil-monk\00"
@.str.178 = [5 x i8] c"toad\00"
@.str.179 = [7 x i8] c"rascal\00"
@.str.180 = [14 x i8] c"basket-cockle\00"
@reltable.getInsult.186 = [60 x i32] [i32 trunc (i64 sub (i64 ptrtoint ([11 x i8]* @.str.121 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([8 x i8]* @.str.122 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([9 x i8]* @.str.123 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([8 x i8]* @.str.124 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([9 x i8]* @.str.125 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([8 x i8]* @.str.126 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([11 x i8]* @.str.127 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([15 x i8]* @.str.128 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([11 x i8]* @.str.129 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([9 x i8]* @.str.130 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([8 x i8]* @.str.131 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([9 x i8]* @.str.132 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([12 x i8]* @.str.133 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([9 x i8]* @.str.134 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([12 x i8]* @.str.135 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([11 x i8]* @.str.136 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([11 x i8]* @.str.137 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([12 x i8]* @.str.138 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([12 x i8]* @.str.139 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([7 x i8]* @.str.140 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([8 x i8]* @.str.141 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([8 x i8]* @.str.142 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([6 x i8]* @.str.143 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([10 x i8]* @.str.144 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([11 x i8]* @.str.145 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([14 x i8]* @.str.146 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([9 x i8]* @.str.147 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([9 x i8]* @.str.148 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([5 x i8]* @.str.149 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([11 x i8]* @.str.150 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([10 x i8]* @.str.151 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([7 x i8]* @.str.152 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([7 x i8]* @.str.153 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([7 x i8]* @.str.154 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([10 x i8]* @.str.155 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([9 x i8]* @.str.156 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([12 x i8]* @.str.157 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([9 x i8]* @.str.158 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([11 x i8]* @.str.159 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([7 x i8]* @.str.160 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([8 x i8]* @.str.161 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([8 x i8]* @.str.162 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([9 x i8]* @.str.163 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([5 x i8]* @.str.164 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([11 x i8]* @.str.165 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([9 x i8]* @.str.166 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([7 x i8]* @.str.167 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([7 x i8]* @.str.168 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([10 x i8]* @.str.169 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([8 x i8]* @.str.170 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([6 x i8]* @.str.171 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([11 x i8]* @.str.172 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([9 x i8]* @.str.173 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([9 x i8]* @.str.174 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([10 x i8]* @.str.175 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([11 x i8]* @.str.176 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([11 x i8]* @.str.177 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([5 x i8]* @.str.178 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([7 x i8]* @.str.179 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([14 x i8]* @.str.180 to i64), i64 ptrtoint ([60 x i32]* @reltable.getInsult.186 to i64)) to i32)]
@.str.181 = [11 x i8] c"You are a \00"
@.str.182 = [3 x i8] c", \00"
@.str.183 = [2 x i8] c" \00"
@.str.184 = [3 x i8] c"!\0A\00"
define i8* @getInsult() {
%1 = alloca [256 x i8]
%2 = alloca %struct.timeval
%3 = getelementptr inbounds [256 x i8], [256 x i8]* %1, i64 0, i64 0
%4 = call i32 @memset(i8* %3, i32 0, i32 256)
%5 = bitcast %struct.timeval* %2 to i8*
%6 = call i32 @gettimeofday(%struct.timeval* %2, i32* null)
%7 = getelementptr inbounds %struct.timeval, %struct.timeval* %2, i64 0, i32 0
%8 = load i32, i32* %7
%9 = mul nsw i32 %8, 1000000
%10 = getelementptr inbounds %struct.timeval, %struct.timeval* %2, i64 0, i32 1
%11 = load i32, i32* %10
%12 = add nsw i32 %9, %11
%13 = sext i32 %12 to i64
%14 = call i32 @srandom(i64 %13)
%15 = call i32 @strcat(i8* %3, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.181, i64 0, i64 0))
%16 = call i32 (...) @rand()
%17 = sext i32 %16 to i64
%18 = urem i64 %17, 60
%19 = shl i64 %18, 2
%20 = call i8* @llvm.load.relative.i64(i8* bitcast ([60 x i32]* @reltable.getInsult to i8*), i64 %19)
%21 = call i32 @strcat(i8* %3, i8* %20)
%22 = call i32 @strcat(i8* %3, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.182, i64 0, i64 0))
%23 = call i32 (...) @rand()
%24 = sext i32 %23 to i64
%25 = urem i64 %24, 60
%26 = shl i64 %25, 2
%27 = call i8* @llvm.load.relative.i64(i8* bitcast ([61 x i32]* @reltable.getInsult.185 to i8*), i64 %26)
%28 = call i32 @strcat(i8* %3, i8* %27)
%29 = call i32 @strcat(i8* %3, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.183, i64 0, i64 0))
%30 = call i32 (...) @rand()
%31 = sext i32 %30 to i64
%32 = urem i64 %31, 60
%33 = shl i64 %32, 2
%34 = call i8* @llvm.load.relative.i64(i8* bitcast ([60 x i32]* @reltable.getInsult.186 to i8*), i64 %33)
%35 = call i32 @strcat(i8* %3, i8* %34)
%36 = call i32 @strcat(i8* %3, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.184, i64 0, i64 0))
ret i8* %3
}