#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 */
#define EACCES 252
#define EADDRINUSE 251
#define EADDRNOTAVAIL 250
#define EADV 249
#define EAFNOSUPPORT 248
#define EAGAIN 247
#define EALREADY 246
#define EBADE 245
#define EBADF 244
#define EBADFD 243
#define EBADMSG 242
#define EBADR 241
#define EBADRQC 240
#define EBADSLT 239
#define EBFONT 238
#define EBUSY 237
#define ECANCELED 236
#define ECHILD 235
#define ECHRNG 234
#define ECOMM 233
#define ECONNABORTED 232
#define ECONNREFUSED 231
#define ECONNRESET 230
#define EDEADLK 229
#define EDESTADDRREQ 228
#define EDOM 227
#define EDOTDOT 226
#define EDQUOT 225
#define EEXIST 224
#define EFAULT 223
#define EFBIG 222
#define EHOSTDOWN 221
#define EHOSTUNREACH 220
#define EIDRM 219
#define EILSEQ 218
#define EINPROGRESS 217
#define EINTR 216
#define EINVAL 215
#define EIO 214
#define EISCONN 213
#define EISDIR 212
#define EISNAM 211
#define EKEYEXPIRED 210
#define EKEYREJECTED 209
#define EKEYREVOKED 208
#define ELIBACC 207
#define ELIBBAD 206
#define ELIBEXEC 205
#define ELIBMAX 204
#define ELIBSCN 203
#define ELNRNG 202
#define ELOOP 201
#define EMEDIUMTYPE 200
#define EMFILE 199
#define EMLINK 198
#define EMSGSIZE 197
#define EMULTIHOP 196
#define ENAMETOOLONG 195
#define ENAVAIL 194
#define ENETDOWN 193
#define ENETRESET 192
#define ENETUNREACH 191
#define ENFILE 190
#define ENOANO 189
#define ENOBUFS 188
#define ENOCSI 187
#define ENODATA 186
#define ENODEV 185
#define ENOENT 184
#define ENOEXEC 183
#define ENOKEY 182
#define ENOLCK 181
#define ENOLINK 180
#define ENOMEDIUM 179
#define ENOMEM 178
#define ENOMSG 177
#define ENONET 176
#define ENOPKG 175
#define ENOPROTOOPT 174
#define ENOSPC 173
#define ENOSR 172
#define ENOSTR 171
#define ENOSYS 170
#define ENOTBLK 169
#define ENOTCONN 168
#define ENOTDIR 167
#define ENOTEMPTY 166
#define ENOTNAM 165
#define ENOTRECOVERABLE 164
#define ENOTSOCK 163
#define ENOTTY 162
#define ENOTUNIQ 161
#define ENXIO 160
#define EOPNOTSUPP 159
#define EOVERFLOW 158
#define EOWNERDEAD 157
#define EPERM 156
#define EPFNOSUPPORT 155
#define EPIPE 154
#define EPROTO 153
#define EPROTONOSUPPORT 152
#define EPROTOTYPE 151
#define ERANGE 150
#define EREMCHG 149
#define EREMOTE 148
#define EREMOTEIO 147
#define ERESTART 146
#define ERFKILL 145
#define EROFS 144
#define ESHUTDOWN 143
#define ESOCKTNOSUPPORT 142
#define ESPIPE 141
#define ESRCH 140
#define ESRMNT 139
#define ESTALE 138
#define ESTRPIPE 137
#define ETIME 136
#define ETIMEDOUT 135
#define ETOOMANYREFS 134
#define ETXTBSY 133
#define EUCLEAN 132
#define EUNATCH 131
#define EUSERS 130
#define EXDEV 129
#define EXFULL 128
const char *terror(int err) {
  if (err < 0)
    err = -err;
  switch (err) {
  case EPERM:
    return "Operation not permitted";
  case ENOENT:
    return "No such file or directory";
  case ESRCH:
    return "No such process";
  case EINTR:
    return "Interrupted system call";
  case EIO:
    return "I/O error";
  case ENXIO:
    return "No such device or address";
  case ENOEXEC:
    return "Exec format error";
  case EBADF:
    return "Bad file number";
  case ECHILD:
    return "No child processes";
  case EAGAIN:
    return "Try again";
  case ENOMEM:
    return "Out of memory";
  case EACCES:
    return "Permission denied";
  case EFAULT:
    return "Bad address";
  case ENOTBLK:
    return "Block device required";
  case EBUSY:
    return "Device or resource busy";
  case EEXIST:
    return "File exists";
  case EXDEV:
    return "Cross-device link";
  case ENODEV:
    return "No such device";
  case ENOTDIR:
    return "Not a directory";
  case EISDIR:
    return "Is a directory";
  case EINVAL:
    return "Invalid argument";
  case ENFILE:
    return "File table overflow";
  case EMFILE:
    return "Too many open files";
  case ENOTTY:
    return "Not a typewriter";
  case ETXTBSY:
    return "Text file busy";
  case EFBIG:
    return "File too large";
  case ENOSPC:
    return "No space left on device";
  case ESPIPE:
    return "Illegal seek";
  case EROFS:
    return "Read-only file system";
  case EMLINK:
    return "Too many links";
  case EPIPE:
    return "Broken pipe";
  case EDOM:
    return "Math argument out of domain of func";
  case ERANGE:
    return "Math result not representable";
  case EDEADLK:
    return "Resource deadlock would occur";
  case ENAMETOOLONG:
    return "File name too long";
  case ENOLCK:
    return "No record locks available";
  case ENOSYS:
    return "Function not implemented";
  case ENOTEMPTY:
    return "Directory not empty";
  case ELOOP:
    return "Too many symbolic links encountered";
  case ENOMSG:
    return "No message of desired type";
  case EIDRM:
    return "Identifier removed";
  case ECHRNG:
    return "Channel number out of range";
  case ELNRNG:
    return "Link number out of range";
  case EUNATCH:
    return "Protocol driver not attached";
  case ENOCSI:
    return "No CSI structure available";
  case EBADE:
    return "Invalid exchange";
  case EBADR:
    return "Invalid request descriptor";
  case EXFULL:
    return "Exchange full";
  case ENOANO:
    return "No anode";
  case EBADRQC:
    return "Invalid request code";
  case EBADSLT:
    return "Invalid slot";
  case EBFONT:
    return "Bad font file format";
  case ENOSTR:
    return "Device not a stream";
  case ENODATA:
    return "No data available";
  case ETIME:
    return "Timer expired";
  case ENOSR:
    return "Out of streams resources";
  case ENONET:
    return "Machine is not on the network";
  case ENOPKG:
    return "Package not installed";
  case EREMOTE:
    return "Object is remote";
  case ENOLINK:
    return "Link has been severed";
  case EADV:
    return "Advertise error";
  case ESRMNT:
    return "Srmount error";
  case ECOMM:
    return "Communication error on send";
  case EPROTO:
    return "Protocol error";
  case EMULTIHOP:
    return "Multihop attempted";
  case EDOTDOT:
    return "RFS specific error";
  case EBADMSG:
    return "Not a data message";
  case EOVERFLOW:
    return "Value too large for defined data type";
  case ENOTUNIQ:
    return "Name not unique on network";
  case EBADFD:
    return "File descriptor in bad state";
  case EREMCHG:
    return "Remote address changed";
  case ELIBACC:
    return "Can not access a needed shared library";
  case ELIBBAD:
    return "Accessing a corrupted shared library";
  case ELIBSCN:
    return ".lib section in a.out corrupted";
  case ELIBMAX:
    return "Attempting to link in too many shared libraries";
  case ELIBEXEC:
    return "Cannot exec a shared library directly";
  case EILSEQ:
    return "Illegal byte sequence";
  case ERESTART:
    return "Interrupted system call should be restarted";
  case ESTRPIPE:
    return "Streams pipe error";
  case EUSERS:
    return "Too many users";
  case ENOTSOCK:
    return "Socket operation on non-socket";
  case EDESTADDRREQ:
    return "Destination address required";
  case EMSGSIZE:
    return "Message too long";
  case EPROTOTYPE:
    return "Protocol wrong type for socket";
  case ENOPROTOOPT:
    return "Protocol not available";
  case EPROTONOSUPPORT:
    return "Protocol not supported";
  case ESOCKTNOSUPPORT:
    return "Socket type not supported";
  case EOPNOTSUPP:
    return "Operation not supported on transport endpoint";
  case EPFNOSUPPORT:
    return "Protocol family not supported";
  case EAFNOSUPPORT:
    return "Address family not supported by protocol";
  case EADDRINUSE:
    return "Address already in use";
  case EADDRNOTAVAIL:
    return "Cannot assign requested address";
  case ENETDOWN:
    return "Network is down";
  case ENETUNREACH:
    return "Network is unreachable";
  case ENETRESET:
    return "Network dropped connection because of reset";
  case ECONNABORTED:
    return "Software caused connection abort";
  case ECONNRESET:
    return "Connection reset by peer";
  case ENOBUFS:
    return "No buffer space available";
  case EISCONN:
    return "Transport endpoint is already connected";
  case ENOTCONN:
    return "Transport endpoint is not connected";
  case ESHUTDOWN:
    return "Cannot send after transport endpoint shutdown";
  case ETOOMANYREFS:
    return "Too many references: cannot splice";
  case ETIMEDOUT:
    return "Connection timed out";
  case ECONNREFUSED:
    return "Connection refused";
  case EHOSTDOWN:
    return "Host is down";
  case EHOSTUNREACH:
    return "No route to host";
  case EALREADY:
    return "Operation already in progress";
  case EINPROGRESS:
    return "Operation now in progress";
  case ESTALE:
    return "Stale NFS file handle";
  case EUCLEAN:
    return "Structure needs cleaning";
  case ENOTNAM:
    return "Not a XENIX named type file";
  case ENAVAIL:
    return "No XENIX semaphores available";
  case EISNAM:
    return "Is a named type file";
  case EREMOTEIO:
    return "Remote I/O error";
  case EDQUOT:
    return "Quota exceeded";
  case ENOMEDIUM:
    return "No medium found";
  case EMEDIUMTYPE:
    return "Wrong medium type";
  case ECANCELED:
    return "Operation Canceled";
  case ENOKEY:
    return "Required key not available";
  case EKEYEXPIRED:
    return "Key has expired";
  case EKEYREVOKED:
    return "Key has been revoked";
  case EKEYREJECTED:
    return "Key was rejected by service";
  case EOWNERDEAD:
    return "Owner died";
  case ENOTRECOVERABLE:
    return "State not recoverable";
  case ERFKILL:
    return "Operation not possible due to RF-kill";
  default:
    break;
  }
  return "unknown error";
}


x86 assembly (clang, -O0):
<terror>:
push   %rbp
mov    %rsp,%rbp
mov    %edi,-0xc(%rbp)
cmpl   $0x0,-0xc(%rbp)
jge    1119 <terror+0x19>
xor    %eax,%eax
sub    -0xc(%rbp),%eax
mov    %eax,-0xc(%rbp)
mov    -0xc(%rbp),%eax
add    $0xffffff80,%eax
mov    %eax,%ecx
mov    %rcx,-0x18(%rbp)
sub    $0x7c,%eax
ja     1912 <terror+0x812>
mov    -0x18(%rbp),%rax
lea    0xec7(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x10ab(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x10b3(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x10bd(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x10bd(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x1ae1(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x10b5(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x10bf(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x10c1(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x10c1(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x10c4(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x10be(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x10bc(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x10be(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x10ba(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x10c0(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x10c8(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x10c4(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x10c6(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x10c5(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x10c5(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x10c4(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x10c5(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x10c9(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x10cd(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x10ce(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x10cd(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x10cc(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x10d4(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x10d1(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x10d7(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x10d6(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x10d2(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x10e6(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x10f4(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x1102(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x1105(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x110f(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x1118(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x111c(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x1130(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x113b(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x113e(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x114a(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x1153(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x1160(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x116b(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x116c(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x1177(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x1175(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x116e(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x1173(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x1170(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x1175(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x1179(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x117b(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x1179(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x1182(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x1190(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x1196(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x1197(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x119d(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x119d(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x119b(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x11a7(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x11a6(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x11a9(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x11ac(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x11af(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x11c5(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x11d0(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x11dd(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x11e4(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x11fb(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x1210(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x1220(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x1240(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x1256(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x125c(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x1278(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x127b(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x127a(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x1289(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x1296(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x1297(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x12a6(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x12ad(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x12b4(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x12be(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x12dc(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x12ea(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x1303(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x130a(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x131a(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x131a(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x1321(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x133d(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x134e(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x1357(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x1361(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x1379(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x138d(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x13ab(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x13be(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x13c3(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x13c6(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x13c3(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x13c4(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x13d2(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x13dc(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x13e2(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x13eb(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x13f7(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x1405(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x140a(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x140b(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x140a(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x140a(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x140c(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x140f(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x141a(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x141a(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x141f(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x142b(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x1426(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
lea    0x142c(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1922 <terror+0x822>
jmp    1917 <terror+0x817>
lea    0x143d(%rip),%rax
mov    %rax,-0x8(%rbp)
mov    -0x8(%rbp),%rax
pop    %rbp
ret

x86 assembly (clang, -O2):
<terror>:
mov    %edi,%eax
neg    %eax
cmovs  %edi,%eax
add    $0xffffff80,%eax
cmp    $0x7c,%eax
ja     1120 <terror+0x20>
cltq
lea    0x1a60(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
ret
lea    0x1a40(%rip),%rax
ret

LLVM IR (-O0):
@.str = [24 x i8] c"Operation not permitted\00"
@.str.1 = [26 x i8] c"No such file or directory\00"
@.str.2 = [16 x i8] c"No such process\00"
@.str.3 = [24 x i8] c"Interrupted system call\00"
@.str.4 = [10 x i8] c"I/O error\00"
@.str.5 = [26 x i8] c"No such device or address\00"
@.str.6 = [18 x i8] c"Exec format error\00"
@.str.7 = [16 x i8] c"Bad file number\00"
@.str.8 = [19 x i8] c"No child processes\00"
@.str.9 = [10 x i8] c"Try again\00"
@.str.10 = [14 x i8] c"Out of memory\00"
@.str.11 = [18 x i8] c"Permission denied\00"
@.str.12 = [12 x i8] c"Bad address\00"
@.str.13 = [22 x i8] c"Block device required\00"
@.str.14 = [24 x i8] c"Device or resource busy\00"
@.str.15 = [12 x i8] c"File exists\00"
@.str.16 = [18 x i8] c"Cross-device link\00"
@.str.17 = [15 x i8] c"No such device\00"
@.str.18 = [16 x i8] c"Not a directory\00"
@.str.19 = [15 x i8] c"Is a directory\00"
@.str.20 = [17 x i8] c"Invalid argument\00"
@.str.21 = [20 x i8] c"File table overflow\00"
@.str.22 = [20 x i8] c"Too many open files\00"
@.str.23 = [17 x i8] c"Not a typewriter\00"
@.str.24 = [15 x i8] c"Text file busy\00"
@.str.25 = [15 x i8] c"File too large\00"
@.str.26 = [24 x i8] c"No space left on device\00"
@.str.27 = [13 x i8] c"Illegal seek\00"
@.str.28 = [22 x i8] c"Read-only file system\00"
@.str.29 = [15 x i8] c"Too many links\00"
@.str.30 = [12 x i8] c"Broken pipe\00"
@.str.31 = [36 x i8] c"Math argument out of domain of func\00"
@.str.32 = [30 x i8] c"Math result not representable\00"
@.str.33 = [30 x i8] c"Resource deadlock would occur\00"
@.str.34 = [19 x i8] c"File name too long\00"
@.str.35 = [26 x i8] c"No record locks available\00"
@.str.36 = [25 x i8] c"Function not implemented\00"
@.str.37 = [20 x i8] c"Directory not empty\00"
@.str.38 = [36 x i8] c"Too many symbolic links encountered\00"
@.str.39 = [27 x i8] c"No message of desired type\00"
@.str.40 = [19 x i8] c"Identifier removed\00"
@.str.41 = [28 x i8] c"Channel number out of range\00"
@.str.42 = [25 x i8] c"Link number out of range\00"
@.str.43 = [29 x i8] c"Protocol driver not attached\00"
@.str.44 = [27 x i8] c"No CSI structure available\00"
@.str.45 = [17 x i8] c"Invalid exchange\00"
@.str.46 = [27 x i8] c"Invalid request descriptor\00"
@.str.47 = [14 x i8] c"Exchange full\00"
@.str.48 = [9 x i8] c"No anode\00"
@.str.49 = [21 x i8] c"Invalid request code\00"
@.str.50 = [13 x i8] c"Invalid slot\00"
@.str.51 = [21 x i8] c"Bad font file format\00"
@.str.52 = [20 x i8] c"Device not a stream\00"
@.str.53 = [18 x i8] c"No data available\00"
@.str.54 = [14 x i8] c"Timer expired\00"
@.str.55 = [25 x i8] c"Out of streams resources\00"
@.str.56 = [30 x i8] c"Machine is not on the network\00"
@.str.57 = [22 x i8] c"Package not installed\00"
@.str.58 = [17 x i8] c"Object is remote\00"
@.str.59 = [22 x i8] c"Link has been severed\00"
@.str.60 = [16 x i8] c"Advertise error\00"
@.str.61 = [14 x i8] c"Srmount error\00"
@.str.62 = [28 x i8] c"Communication error on send\00"
@.str.63 = [15 x i8] c"Protocol error\00"
@.str.64 = [19 x i8] c"Multihop attempted\00"
@.str.65 = [19 x i8] c"RFS specific error\00"
@.str.66 = [19 x i8] c"Not a data message\00"
@.str.67 = [38 x i8] c"Value too large for defined data type\00"
@.str.68 = [27 x i8] c"Name not unique on network\00"
@.str.69 = [29 x i8] c"File descriptor in bad state\00"
@.str.70 = [23 x i8] c"Remote address changed\00"
@.str.71 = [39 x i8] c"Can not access a needed shared library\00"
@.str.72 = [37 x i8] c"Accessing a corrupted shared library\00"
@.str.73 = [32 x i8] c".lib section in a.out corrupted\00"
@.str.74 = [48 x i8] c"Attempting to link in too many shared libraries\00"
@.str.75 = [38 x i8] c"Cannot exec a shared library directly\00"
@.str.76 = [22 x i8] c"Illegal byte sequence\00"
@.str.77 = [44 x i8] c"Interrupted system call should be restarted\00"
@.str.78 = [19 x i8] c"Streams pipe error\00"
@.str.79 = [15 x i8] c"Too many users\00"
@.str.80 = [31 x i8] c"Socket operation on non-socket\00"
@.str.81 = [29 x i8] c"Destination address required\00"
@.str.82 = [17 x i8] c"Message too long\00"
@.str.83 = [31 x i8] c"Protocol wrong type for socket\00"
@.str.84 = [23 x i8] c"Protocol not available\00"
@.str.85 = [23 x i8] c"Protocol not supported\00"
@.str.86 = [26 x i8] c"Socket type not supported\00"
@.str.87 = [46 x i8] c"Operation not supported on transport endpoint\00"
@.str.88 = [30 x i8] c"Protocol family not supported\00"
@.str.89 = [41 x i8] c"Address family not supported by protocol\00"
@.str.90 = [23 x i8] c"Address already in use\00"
@.str.91 = [32 x i8] c"Cannot assign requested address\00"
@.str.92 = [16 x i8] c"Network is down\00"
@.str.93 = [23 x i8] c"Network is unreachable\00"
@.str.94 = [44 x i8] c"Network dropped connection because of reset\00"
@.str.95 = [33 x i8] c"Software caused connection abort\00"
@.str.96 = [25 x i8] c"Connection reset by peer\00"
@.str.97 = [26 x i8] c"No buffer space available\00"
@.str.98 = [40 x i8] c"Transport endpoint is already connected\00"
@.str.99 = [36 x i8] c"Transport endpoint is not connected\00"
@.str.100 = [46 x i8] c"Cannot send after transport endpoint shutdown\00"
@.str.101 = [35 x i8] c"Too many references: cannot splice\00"
@.str.102 = [21 x i8] c"Connection timed out\00"
@.str.103 = [19 x i8] c"Connection refused\00"
@.str.104 = [13 x i8] c"Host is down\00"
@.str.105 = [17 x i8] c"No route to host\00"
@.str.106 = [30 x i8] c"Operation already in progress\00"
@.str.107 = [26 x i8] c"Operation now in progress\00"
@.str.108 = [22 x i8] c"Stale NFS file handle\00"
@.str.109 = [25 x i8] c"Structure needs cleaning\00"
@.str.110 = [28 x i8] c"Not a XENIX named type file\00"
@.str.111 = [30 x i8] c"No XENIX semaphores available\00"
@.str.112 = [21 x i8] c"Is a named type file\00"
@.str.113 = [17 x i8] c"Remote I/O error\00"
@.str.114 = [15 x i8] c"Quota exceeded\00"
@.str.115 = [16 x i8] c"No medium found\00"
@.str.116 = [18 x i8] c"Wrong medium type\00"
@.str.117 = [19 x i8] c"Operation Canceled\00"
@.str.118 = [27 x i8] c"Required key not available\00"
@.str.119 = [16 x i8] c"Key has expired\00"
@.str.120 = [21 x i8] c"Key has been revoked\00"
@.str.121 = [28 x i8] c"Key was rejected by service\00"
@.str.122 = [11 x i8] c"Owner died\00"
@.str.123 = [22 x i8] c"State not recoverable\00"
@.str.124 = [38 x i8] c"Operation not possible due to RF-kill\00"
@.str.125 = [14 x i8] c"unknown error\00"
define i8* @terror(i32 %0) {
%2 = alloca i8*
%3 = alloca i32
store i32 %0, i32* %3
%4 = load i32, i32* %3
%5 = icmp slt i32 %4, 0
br i1 %5, label %6, label %9
6: ; preds = %1
%7 = load i32, i32* %3
%8 = sub nsw i32 0, %7
store i32 %8, i32* %3
br label %9
9: ; preds = %6, %1
%10 = load i32, i32* %3
switch i32 %10, label %136 [
i32 156, label %11
i32 184, label %12
i32 140, label %13
i32 216, label %14
i32 214, label %15
i32 160, label %16
i32 183, label %17
i32 244, label %18
i32 235, label %19
i32 247, label %20
i32 178, label %21
i32 252, label %22
i32 223, label %23
i32 169, label %24
i32 237, label %25
i32 224, label %26
i32 129, label %27
i32 185, label %28
i32 167, label %29
i32 212, label %30
i32 215, label %31
i32 190, label %32
i32 199, label %33
i32 162, label %34
i32 133, label %35
i32 222, label %36
i32 173, label %37
i32 141, label %38
i32 144, label %39
i32 198, label %40
i32 154, label %41
i32 227, label %42
i32 150, label %43
i32 229, label %44
i32 195, label %45
i32 181, label %46
i32 170, label %47
i32 166, label %48
i32 201, label %49
i32 177, label %50
i32 219, label %51
i32 234, label %52
i32 202, label %53
i32 131, label %54
i32 187, label %55
i32 245, label %56
i32 241, label %57
i32 128, label %58
i32 189, label %59
i32 240, label %60
i32 239, label %61
i32 238, label %62
i32 171, label %63
i32 186, label %64
i32 136, label %65
i32 172, label %66
i32 176, label %67
i32 175, label %68
i32 148, label %69
i32 180, label %70
i32 249, label %71
i32 139, label %72
i32 233, label %73
i32 153, label %74
i32 196, label %75
i32 226, label %76
i32 242, label %77
i32 158, label %78
i32 161, label %79
i32 243, label %80
i32 149, label %81
i32 207, label %82
i32 206, label %83
i32 203, label %84
i32 204, label %85
i32 205, label %86
i32 218, label %87
i32 146, label %88
i32 137, label %89
i32 130, label %90
i32 163, label %91
i32 228, label %92
i32 197, label %93
i32 151, label %94
i32 174, label %95
i32 152, label %96
i32 142, label %97
i32 159, label %98
i32 155, label %99
i32 248, label %100
i32 251, label %101
i32 250, label %102
i32 193, label %103
i32 191, label %104
i32 192, label %105
i32 232, label %106
i32 230, label %107
i32 188, label %108
i32 213, label %109
i32 168, label %110
i32 143, label %111
i32 134, label %112
i32 135, label %113
i32 231, label %114
i32 221, label %115
i32 220, label %116
i32 246, label %117
i32 217, label %118
i32 138, label %119
i32 132, label %120
i32 165, label %121
i32 194, label %122
i32 211, label %123
i32 147, label %124
i32 225, label %125
i32 179, label %126
i32 200, label %127
i32 236, label %128
i32 182, label %129
i32 210, label %130
i32 208, label %131
i32 209, label %132
i32 157, label %133
i32 164, label %134
i32 145, label %135
]
11: ; preds = %9
store i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str, i64 0, i64 0), i8** %2
br label %138
12: ; preds = %9
store i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.1, i64 0, i64 0), i8** %2
br label %138
13: ; preds = %9
store i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.2, i64 0, i64 0), i8** %2
br label %138
14: ; preds = %9
store i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.3, i64 0, i64 0), i8** %2
br label %138
15: ; preds = %9
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.4, i64 0, i64 0), i8** %2
br label %138
16: ; preds = %9
store i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.5, i64 0, i64 0), i8** %2
br label %138
17: ; preds = %9
store i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.6, i64 0, i64 0), i8** %2
br label %138
18: ; preds = %9
store i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.7, i64 0, i64 0), i8** %2
br label %138
19: ; preds = %9
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.8, i64 0, i64 0), i8** %2
br label %138
20: ; preds = %9
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.9, i64 0, i64 0), i8** %2
br label %138
21: ; preds = %9
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.10, i64 0, i64 0), i8** %2
br label %138
22: ; preds = %9
store i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.11, i64 0, i64 0), i8** %2
br label %138
23: ; preds = %9
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.12, i64 0, i64 0), i8** %2
br label %138
24: ; preds = %9
store i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.13, i64 0, i64 0), i8** %2
br label %138
25: ; preds = %9
store i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.14, i64 0, i64 0), i8** %2
br label %138
26: ; preds = %9
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.15, i64 0, i64 0), i8** %2
br label %138
27: ; preds = %9
store i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.16, i64 0, i64 0), i8** %2
br label %138
28: ; preds = %9
store i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.17, i64 0, i64 0), i8** %2
br label %138
29: ; preds = %9
store i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.18, i64 0, i64 0), i8** %2
br label %138
30: ; preds = %9
store i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.19, i64 0, i64 0), i8** %2
br label %138
31: ; preds = %9
store i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.20, i64 0, i64 0), i8** %2
br label %138
32: ; preds = %9
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.21, i64 0, i64 0), i8** %2
br label %138
33: ; preds = %9
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.22, i64 0, i64 0), i8** %2
br label %138
34: ; preds = %9
store i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0), i8** %2
br label %138
35: ; preds = %9
store i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.24, i64 0, i64 0), i8** %2
br label %138
36: ; preds = %9
store i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.25, i64 0, i64 0), i8** %2
br label %138
37: ; preds = %9
store i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.26, i64 0, i64 0), i8** %2
br label %138
38: ; preds = %9
store i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.27, i64 0, i64 0), i8** %2
br label %138
39: ; preds = %9
store i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.28, i64 0, i64 0), i8** %2
br label %138
40: ; preds = %9
store i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.29, i64 0, i64 0), i8** %2
br label %138
41: ; preds = %9
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.30, i64 0, i64 0), i8** %2
br label %138
42: ; preds = %9
store i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.31, i64 0, i64 0), i8** %2
br label %138
43: ; preds = %9
store i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.32, i64 0, i64 0), i8** %2
br label %138
44: ; preds = %9
store i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.33, i64 0, i64 0), i8** %2
br label %138
45: ; preds = %9
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.34, i64 0, i64 0), i8** %2
br label %138
46: ; preds = %9
store i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.35, i64 0, i64 0), i8** %2
br label %138
47: ; preds = %9
store i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.36, i64 0, i64 0), i8** %2
br label %138
48: ; preds = %9
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.37, i64 0, i64 0), i8** %2
br label %138
49: ; preds = %9
store i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.38, i64 0, i64 0), i8** %2
br label %138
50: ; preds = %9
store i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.39, i64 0, i64 0), i8** %2
br label %138
51: ; preds = %9
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.40, i64 0, i64 0), i8** %2
br label %138
52: ; preds = %9
store i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.41, i64 0, i64 0), i8** %2
br label %138
53: ; preds = %9
store i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.42, i64 0, i64 0), i8** %2
br label %138
54: ; preds = %9
store i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.43, i64 0, i64 0), i8** %2
br label %138
55: ; preds = %9
store i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.44, i64 0, i64 0), i8** %2
br label %138
56: ; preds = %9
store i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.45, i64 0, i64 0), i8** %2
br label %138
57: ; preds = %9
store i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.46, i64 0, i64 0), i8** %2
br label %138
58: ; preds = %9
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.47, i64 0, i64 0), i8** %2
br label %138
59: ; preds = %9
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.48, i64 0, i64 0), i8** %2
br label %138
60: ; preds = %9
store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.49, i64 0, i64 0), i8** %2
br label %138
61: ; preds = %9
store i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.50, i64 0, i64 0), i8** %2
br label %138
62: ; preds = %9
store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.51, i64 0, i64 0), i8** %2
br label %138
63: ; preds = %9
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.52, i64 0, i64 0), i8** %2
br label %138
64: ; preds = %9
store i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.53, i64 0, i64 0), i8** %2
br label %138
65: ; preds = %9
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.54, i64 0, i64 0), i8** %2
br label %138
66: ; preds = %9
store i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.55, i64 0, i64 0), i8** %2
br label %138
67: ; preds = %9
store i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.56, i64 0, i64 0), i8** %2
br label %138
68: ; preds = %9
store i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.57, i64 0, i64 0), i8** %2
br label %138
69: ; preds = %9
store i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.58, i64 0, i64 0), i8** %2
br label %138
70: ; preds = %9
store i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.59, i64 0, i64 0), i8** %2
br label %138
71: ; preds = %9
store i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.60, i64 0, i64 0), i8** %2
br label %138
72: ; preds = %9
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.61, i64 0, i64 0), i8** %2
br label %138
73: ; preds = %9
store i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.62, i64 0, i64 0), i8** %2
br label %138
74: ; preds = %9
store i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.63, i64 0, i64 0), i8** %2
br label %138
75: ; preds = %9
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.64, i64 0, i64 0), i8** %2
br label %138
76: ; preds = %9
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.65, i64 0, i64 0), i8** %2
br label %138
77: ; preds = %9
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.66, i64 0, i64 0), i8** %2
br label %138
78: ; preds = %9
store i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.67, i64 0, i64 0), i8** %2
br label %138
79: ; preds = %9
store i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.68, i64 0, i64 0), i8** %2
br label %138
80: ; preds = %9
store i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.69, i64 0, i64 0), i8** %2
br label %138
81: ; preds = %9
store i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.70, i64 0, i64 0), i8** %2
br label %138
82: ; preds = %9
store i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.71, i64 0, i64 0), i8** %2
br label %138
83: ; preds = %9
store i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.72, i64 0, i64 0), i8** %2
br label %138
84: ; preds = %9
store i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.73, i64 0, i64 0), i8** %2
br label %138
85: ; preds = %9
store i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.74, i64 0, i64 0), i8** %2
br label %138
86: ; preds = %9
store i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.75, i64 0, i64 0), i8** %2
br label %138
87: ; preds = %9
store i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.76, i64 0, i64 0), i8** %2
br label %138
88: ; preds = %9
store i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.77, i64 0, i64 0), i8** %2
br label %138
89: ; preds = %9
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.78, i64 0, i64 0), i8** %2
br label %138
90: ; preds = %9
store i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.79, i64 0, i64 0), i8** %2
br label %138
91: ; preds = %9
store i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.80, i64 0, i64 0), i8** %2
br label %138
92: ; preds = %9
store i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.81, i64 0, i64 0), i8** %2
br label %138
93: ; preds = %9
store i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.82, i64 0, i64 0), i8** %2
br label %138
94: ; preds = %9
store i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.83, i64 0, i64 0), i8** %2
br label %138
95: ; preds = %9
store i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.84, i64 0, i64 0), i8** %2
br label %138
96: ; preds = %9
store i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.85, i64 0, i64 0), i8** %2
br label %138
97: ; preds = %9
store i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.86, i64 0, i64 0), i8** %2
br label %138
98: ; preds = %9
store i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.87, i64 0, i64 0), i8** %2
br label %138
99: ; preds = %9
store i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.88, i64 0, i64 0), i8** %2
br label %138
100: ; preds = %9
store i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.89, i64 0, i64 0), i8** %2
br label %138
101: ; preds = %9
store i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.90, i64 0, i64 0), i8** %2
br label %138
102: ; preds = %9
store i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.91, i64 0, i64 0), i8** %2
br label %138
103: ; preds = %9
store i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.92, i64 0, i64 0), i8** %2
br label %138
104: ; preds = %9
store i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.93, i64 0, i64 0), i8** %2
br label %138
105: ; preds = %9
store i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.94, i64 0, i64 0), i8** %2
br label %138
106: ; preds = %9
store i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.95, i64 0, i64 0), i8** %2
br label %138
107: ; preds = %9
store i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.96, i64 0, i64 0), i8** %2
br label %138
108: ; preds = %9
store i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.97, i64 0, i64 0), i8** %2
br label %138
109: ; preds = %9
store i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.98, i64 0, i64 0), i8** %2
br label %138
110: ; preds = %9
store i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.99, i64 0, i64 0), i8** %2
br label %138
111: ; preds = %9
store i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.100, i64 0, i64 0), i8** %2
br label %138
112: ; preds = %9
store i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.101, i64 0, i64 0), i8** %2
br label %138
113: ; preds = %9
store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.102, i64 0, i64 0), i8** %2
br label %138
114: ; preds = %9
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.103, i64 0, i64 0), i8** %2
br label %138
115: ; preds = %9
store i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.104, i64 0, i64 0), i8** %2
br label %138
116: ; preds = %9
store i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.105, i64 0, i64 0), i8** %2
br label %138
117: ; preds = %9
store i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.106, i64 0, i64 0), i8** %2
br label %138
118: ; preds = %9
store i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.107, i64 0, i64 0), i8** %2
br label %138
119: ; preds = %9
store i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.108, i64 0, i64 0), i8** %2
br label %138
120: ; preds = %9
store i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.109, i64 0, i64 0), i8** %2
br label %138
121: ; preds = %9
store i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.110, i64 0, i64 0), i8** %2
br label %138
122: ; preds = %9
store i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.111, i64 0, i64 0), i8** %2
br label %138
123: ; preds = %9
store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.112, i64 0, i64 0), i8** %2
br label %138
124: ; preds = %9
store i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.113, i64 0, i64 0), i8** %2
br label %138
125: ; preds = %9
store i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.114, i64 0, i64 0), i8** %2
br label %138
126: ; preds = %9
store i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.115, i64 0, i64 0), i8** %2
br label %138
127: ; preds = %9
store i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.116, i64 0, i64 0), i8** %2
br label %138
128: ; preds = %9
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.117, i64 0, i64 0), i8** %2
br label %138
129: ; preds = %9
store i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.118, i64 0, i64 0), i8** %2
br label %138
130: ; preds = %9
store i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.119, i64 0, i64 0), i8** %2
br label %138
131: ; preds = %9
store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.120, i64 0, i64 0), i8** %2
br label %138
132: ; preds = %9
store i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.121, i64 0, i64 0), i8** %2
br label %138
133: ; preds = %9
store i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.122, i64 0, i64 0), i8** %2
br label %138
134: ; preds = %9
store i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.123, i64 0, i64 0), i8** %2
br label %138
135: ; preds = %9
store i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.124, i64 0, i64 0), i8** %2
br label %138
136: ; preds = %9
br label %137
137: ; preds = %136
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.125, i64 0, i64 0), i8** %2
br label %138
138: ; preds = %137, %135, %134, %133, %132, %131, %130, %129, %128, %127, %126, %125, %124, %123, %122, %121, %120, %119, %118, %117, %116, %115, %114, %113, %112, %111, %110, %109, %108, %107, %106, %105, %104, %103, %102, %101, %100, %99, %98, %97, %96, %95, %94, %93, %92, %91, %90, %89, %88, %87, %86, %85, %84, %83, %82, %81, %80, %79, %78, %77, %76, %75, %74, %73, %72, %71, %70, %69, %68, %67, %66, %65, %64, %63, %62, %61, %60, %59, %58, %57, %56, %55, %54, %53, %52, %51, %50, %49, %48, %47, %46, %45, %44, %43, %42, %41, %40, %39, %38, %37, %36, %35, %34, %33, %32, %31, %30, %29, %28, %27, %26, %25, %24, %23, %22, %21, %20, %19, %18, %17, %16, %15, %14, %13, %12, %11
%139 = load i8*, i8** %2
ret i8* %139
}

LLVM IR (-O2):
@.str = [24 x i8] c"Operation not permitted\00"
@.str.1 = [26 x i8] c"No such file or directory\00"
@.str.2 = [16 x i8] c"No such process\00"
@.str.3 = [24 x i8] c"Interrupted system call\00"
@.str.4 = [10 x i8] c"I/O error\00"
@.str.5 = [26 x i8] c"No such device or address\00"
@.str.6 = [18 x i8] c"Exec format error\00"
@.str.7 = [16 x i8] c"Bad file number\00"
@.str.8 = [19 x i8] c"No child processes\00"
@.str.9 = [10 x i8] c"Try again\00"
@.str.10 = [14 x i8] c"Out of memory\00"
@.str.11 = [18 x i8] c"Permission denied\00"
@.str.12 = [12 x i8] c"Bad address\00"
@.str.13 = [22 x i8] c"Block device required\00"
@.str.14 = [24 x i8] c"Device or resource busy\00"
@.str.15 = [12 x i8] c"File exists\00"
@.str.16 = [18 x i8] c"Cross-device link\00"
@.str.17 = [15 x i8] c"No such device\00"
@.str.18 = [16 x i8] c"Not a directory\00"
@.str.19 = [15 x i8] c"Is a directory\00"
@.str.20 = [17 x i8] c"Invalid argument\00"
@.str.21 = [20 x i8] c"File table overflow\00"
@.str.22 = [20 x i8] c"Too many open files\00"
@.str.23 = [17 x i8] c"Not a typewriter\00"
@.str.24 = [15 x i8] c"Text file busy\00"
@.str.25 = [15 x i8] c"File too large\00"
@.str.26 = [24 x i8] c"No space left on device\00"
@.str.27 = [13 x i8] c"Illegal seek\00"
@.str.28 = [22 x i8] c"Read-only file system\00"
@.str.29 = [15 x i8] c"Too many links\00"
@.str.30 = [12 x i8] c"Broken pipe\00"
@.str.31 = [36 x i8] c"Math argument out of domain of func\00"
@.str.32 = [30 x i8] c"Math result not representable\00"
@.str.33 = [30 x i8] c"Resource deadlock would occur\00"
@.str.34 = [19 x i8] c"File name too long\00"
@.str.35 = [26 x i8] c"No record locks available\00"
@.str.36 = [25 x i8] c"Function not implemented\00"
@.str.37 = [20 x i8] c"Directory not empty\00"
@.str.38 = [36 x i8] c"Too many symbolic links encountered\00"
@.str.39 = [27 x i8] c"No message of desired type\00"
@.str.40 = [19 x i8] c"Identifier removed\00"
@.str.41 = [28 x i8] c"Channel number out of range\00"
@.str.42 = [25 x i8] c"Link number out of range\00"
@.str.43 = [29 x i8] c"Protocol driver not attached\00"
@.str.44 = [27 x i8] c"No CSI structure available\00"
@.str.45 = [17 x i8] c"Invalid exchange\00"
@.str.46 = [27 x i8] c"Invalid request descriptor\00"
@.str.47 = [14 x i8] c"Exchange full\00"
@.str.48 = [9 x i8] c"No anode\00"
@.str.49 = [21 x i8] c"Invalid request code\00"
@.str.50 = [13 x i8] c"Invalid slot\00"
@.str.51 = [21 x i8] c"Bad font file format\00"
@.str.52 = [20 x i8] c"Device not a stream\00"
@.str.53 = [18 x i8] c"No data available\00"
@.str.54 = [14 x i8] c"Timer expired\00"
@.str.55 = [25 x i8] c"Out of streams resources\00"
@.str.56 = [30 x i8] c"Machine is not on the network\00"
@.str.57 = [22 x i8] c"Package not installed\00"
@.str.58 = [17 x i8] c"Object is remote\00"
@.str.59 = [22 x i8] c"Link has been severed\00"
@.str.60 = [16 x i8] c"Advertise error\00"
@.str.61 = [14 x i8] c"Srmount error\00"
@.str.62 = [28 x i8] c"Communication error on send\00"
@.str.63 = [15 x i8] c"Protocol error\00"
@.str.64 = [19 x i8] c"Multihop attempted\00"
@.str.65 = [19 x i8] c"RFS specific error\00"
@.str.66 = [19 x i8] c"Not a data message\00"
@.str.67 = [38 x i8] c"Value too large for defined data type\00"
@.str.68 = [27 x i8] c"Name not unique on network\00"
@.str.69 = [29 x i8] c"File descriptor in bad state\00"
@.str.70 = [23 x i8] c"Remote address changed\00"
@.str.71 = [39 x i8] c"Can not access a needed shared library\00"
@.str.72 = [37 x i8] c"Accessing a corrupted shared library\00"
@.str.73 = [32 x i8] c".lib section in a.out corrupted\00"
@.str.74 = [48 x i8] c"Attempting to link in too many shared libraries\00"
@.str.75 = [38 x i8] c"Cannot exec a shared library directly\00"
@.str.76 = [22 x i8] c"Illegal byte sequence\00"
@.str.77 = [44 x i8] c"Interrupted system call should be restarted\00"
@.str.78 = [19 x i8] c"Streams pipe error\00"
@.str.79 = [15 x i8] c"Too many users\00"
@.str.80 = [31 x i8] c"Socket operation on non-socket\00"
@.str.81 = [29 x i8] c"Destination address required\00"
@.str.82 = [17 x i8] c"Message too long\00"
@.str.83 = [31 x i8] c"Protocol wrong type for socket\00"
@.str.84 = [23 x i8] c"Protocol not available\00"
@.str.85 = [23 x i8] c"Protocol not supported\00"
@.str.86 = [26 x i8] c"Socket type not supported\00"
@.str.87 = [46 x i8] c"Operation not supported on transport endpoint\00"
@.str.88 = [30 x i8] c"Protocol family not supported\00"
@.str.89 = [41 x i8] c"Address family not supported by protocol\00"
@.str.90 = [23 x i8] c"Address already in use\00"
@.str.91 = [32 x i8] c"Cannot assign requested address\00"
@.str.92 = [16 x i8] c"Network is down\00"
@.str.93 = [23 x i8] c"Network is unreachable\00"
@.str.94 = [44 x i8] c"Network dropped connection because of reset\00"
@.str.95 = [33 x i8] c"Software caused connection abort\00"
@.str.96 = [25 x i8] c"Connection reset by peer\00"
@.str.97 = [26 x i8] c"No buffer space available\00"
@.str.98 = [40 x i8] c"Transport endpoint is already connected\00"
@.str.99 = [36 x i8] c"Transport endpoint is not connected\00"
@.str.100 = [46 x i8] c"Cannot send after transport endpoint shutdown\00"
@.str.101 = [35 x i8] c"Too many references: cannot splice\00"
@.str.102 = [21 x i8] c"Connection timed out\00"
@.str.103 = [19 x i8] c"Connection refused\00"
@.str.104 = [13 x i8] c"Host is down\00"
@.str.105 = [17 x i8] c"No route to host\00"
@.str.106 = [30 x i8] c"Operation already in progress\00"
@.str.107 = [26 x i8] c"Operation now in progress\00"
@.str.108 = [22 x i8] c"Stale NFS file handle\00"
@.str.109 = [25 x i8] c"Structure needs cleaning\00"
@.str.110 = [28 x i8] c"Not a XENIX named type file\00"
@.str.111 = [30 x i8] c"No XENIX semaphores available\00"
@.str.112 = [21 x i8] c"Is a named type file\00"
@.str.113 = [17 x i8] c"Remote I/O error\00"
@.str.114 = [15 x i8] c"Quota exceeded\00"
@.str.115 = [16 x i8] c"No medium found\00"
@.str.116 = [18 x i8] c"Wrong medium type\00"
@.str.117 = [19 x i8] c"Operation Canceled\00"
@.str.118 = [27 x i8] c"Required key not available\00"
@.str.119 = [16 x i8] c"Key has expired\00"
@.str.120 = [21 x i8] c"Key has been revoked\00"
@.str.121 = [28 x i8] c"Key was rejected by service\00"
@.str.122 = [11 x i8] c"Owner died\00"
@.str.123 = [22 x i8] c"State not recoverable\00"
@.str.124 = [38 x i8] c"Operation not possible due to RF-kill\00"
@.str.125 = [14 x i8] c"unknown error\00"
@reltable.terror = [125 x i32] [i32 trunc (i64 sub (i64 ptrtoint ([14 x i8]* @.str.47 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([18 x i8]* @.str.16 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([15 x i8]* @.str.79 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([29 x i8]* @.str.43 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([25 x i8]* @.str.109 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([15 x i8]* @.str.24 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([35 x i8]* @.str.101 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([21 x i8]* @.str.102 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([14 x i8]* @.str.54 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([19 x i8]* @.str.78 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([22 x i8]* @.str.108 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([14 x i8]* @.str.61 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([16 x i8]* @.str.2 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([13 x i8]* @.str.27 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([26 x i8]* @.str.86 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([46 x i8]* @.str.100 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([22 x i8]* @.str.28 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([38 x i8]* @.str.124 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([44 x i8]* @.str.77 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([17 x i8]* @.str.113 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([17 x i8]* @.str.58 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([23 x i8]* @.str.70 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([30 x i8]* @.str.32 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([31 x i8]* @.str.83 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([23 x i8]* @.str.85 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([15 x i8]* @.str.63 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([12 x i8]* @.str.30 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([30 x i8]* @.str.88 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([24 x i8]* @.str to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([11 x i8]* @.str.122 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([38 x i8]* @.str.67 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([46 x i8]* @.str.87 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([26 x i8]* @.str.5 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([27 x i8]* @.str.68 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([17 x i8]* @.str.23 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([31 x i8]* @.str.80 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([22 x i8]* @.str.123 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([28 x i8]* @.str.110 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([20 x i8]* @.str.37 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([16 x i8]* @.str.18 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([36 x i8]* @.str.99 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([22 x i8]* @.str.13 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([25 x i8]* @.str.36 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([20 x i8]* @.str.52 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([25 x i8]* @.str.55 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([24 x i8]* @.str.26 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([23 x i8]* @.str.84 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([22 x i8]* @.str.57 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([30 x i8]* @.str.56 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([27 x i8]* @.str.39 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([14 x i8]* @.str.10 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([16 x i8]* @.str.115 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([22 x i8]* @.str.59 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([26 x i8]* @.str.35 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([27 x i8]* @.str.118 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([18 x i8]* @.str.6 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([26 x i8]* @.str.1 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([15 x i8]* @.str.17 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([18 x i8]* @.str.53 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([27 x i8]* @.str.44 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([26 x i8]* @.str.97 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([9 x i8]* @.str.48 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([20 x i8]* @.str.21 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([23 x i8]* @.str.93 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([44 x i8]* @.str.94 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([16 x i8]* @.str.92 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([30 x i8]* @.str.111 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([19 x i8]* @.str.34 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([19 x i8]* @.str.64 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([17 x i8]* @.str.82 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([15 x i8]* @.str.29 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([20 x i8]* @.str.22 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([18 x i8]* @.str.116 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([36 x i8]* @.str.38 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([25 x i8]* @.str.42 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([32 x i8]* @.str.73 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([48 x i8]* @.str.74 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([38 x i8]* @.str.75 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([37 x i8]* @.str.72 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([39 x i8]* @.str.71 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([21 x i8]* @.str.120 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([28 x i8]* @.str.121 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([16 x i8]* @.str.119 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([21 x i8]* @.str.112 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([15 x i8]* @.str.19 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([40 x i8]* @.str.98 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([10 x i8]* @.str.4 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([17 x i8]* @.str.20 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([24 x i8]* @.str.3 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([26 x i8]* @.str.107 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([22 x i8]* @.str.76 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([19 x i8]* @.str.40 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([17 x i8]* @.str.105 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([13 x i8]* @.str.104 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([15 x i8]* @.str.25 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([12 x i8]* @.str.12 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([12 x i8]* @.str.15 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([15 x i8]* @.str.114 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([19 x i8]* @.str.65 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([36 x i8]* @.str.31 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([29 x i8]* @.str.81 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([30 x i8]* @.str.33 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([25 x i8]* @.str.96 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([19 x i8]* @.str.103 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([33 x i8]* @.str.95 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([28 x i8]* @.str.62 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([28 x i8]* @.str.41 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([19 x i8]* @.str.8 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([19 x i8]* @.str.117 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([24 x i8]* @.str.14 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([21 x i8]* @.str.51 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([13 x i8]* @.str.50 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([21 x i8]* @.str.49 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([27 x i8]* @.str.46 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([19 x i8]* @.str.66 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([29 x i8]* @.str.69 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([16 x i8]* @.str.7 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([17 x i8]* @.str.45 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([30 x i8]* @.str.106 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([10 x i8]* @.str.9 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([41 x i8]* @.str.89 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([16 x i8]* @.str.60 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([32 x i8]* @.str.91 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([23 x i8]* @.str.90 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([18 x i8]* @.str.11 to i64), i64 ptrtoint ([125 x i32]* @reltable.terror to i64)) to i32)]
define i8* @terror(i32 %0) {
%2 = tail call i32 @llvm.abs.i32(i32 %0, i1 true)
%3 = add nsw i32 %2, -128
%4 = icmp ult i32 %3, 125
br i1 %4, label %5, label %9
5: ; preds = %1
%6 = sext i32 %3 to i64
%7 = shl i64 %6, 2
%8 = call i8* @llvm.load.relative.i64(i8* bitcast ([125 x i32]* @reltable.terror to i8*), i64 %7)
br label %9
9: ; preds = %1, %5
%10 = phi i8* [ %8, %5 ], [ getelementptr inbounds ([14 x i8], [14 x i8]* @.str.125, i64 0, i64 0), %1 ]
ret i8* %10
}