const char *e_str(int i) {
  if (i == 0)
    return "no error";
  ;
  if (i == (-5004))
    return "interrupted system call";
  if (i == (-5012))
    return "out of memory";
  if (i == (-5002))
    return "file does not exist";
  if (i == (-5026))
    return "text busy";
  if (i == (-5005))
    return "input/output error";
  if (i == (-5017))
    return "file already exists";
  if (i == (-5110))
    return "timed out";
  if (i == (-5115))
    return "operation in progress";
  if (i == (-5011))
    return "temporary failure";
  if (i == (-7011))
    return "input/output would block";
  if (i == (-5032))
    return "broken pipe";
  if (i == (-5001))
    return "permission denied";
  if (i == (-5013))
    return "access denied";
  if (i == (-5019))
    return "device not configured";
  if (i == (-5071))
    return "protocol error";
  if (i == (-5021))
    return "is a directory";
  if (i == (-5003))
    return "no such process";
  if (i == (-5007))
    return "argument list too long";
  if (i == (-5008))
    return "exec format error";
  if (i == (-5009))
    return "file descriptor not open";
  if (i == (-5010))
    return "no child processes";
  if (i == (-5035))
    return "operation would cause deadlock";
  if (i == (-5014))
    return "bad address";
  if (i == (-5015))
    return "not a block device";
  if (i == (-5016))
    return "device busy";
  if (i == (-5018))
    return "cross-device link";
  if (i == (-5019))
    return "device does not support operation";
  if (i == (-5020))
    return "not a directory";
  if (i == (-5022))
    return "invalid argument";
  if (i == (-5023))
    return "system cannot open more files";
  if (i == (-5024))
    return "process cannot open more files";
  if (i == (-5025))
    return "not a tty";
  if (i == (-5027))
    return "file too big";
  if (i == (-5028))
    return "out of disk space";
  if (i == (-5029))
    return "unseekable descriptor";
  if (i == (-5030))
    return "read-only file system";
  if (i == (-5031))
    return "too many links";
  if (i == (-5033))
    return "input out of range";
  if (i == (-5034))
    return "output out of range";
  if (i == (-5114))
    return "operation already in progress";
  if (i == (-5088))
    return "not a socket";
  if (i == (-5089))
    return "destination address required";
  if (i == (-5090))
    return "message too long";
  if (i == (-5091))
    return "incorrect protocol type";
  if (i == (-5092))
    return "protocol not available";
  if (i == (-5093))
    return "protocol not supported";
  if (i == (-5094))
    return "socket type not supported";
  if (i == (-5095))
    return "operation not supported";
  if (i == (-5096))
    return "protocol family not supported";
  if (i == (-5097))
    return "address family not supported";
  if (i == (-5098))
    return "address already used";
  if (i == (-5099))
    return "address not available";
  if (i == (-5100))
    return "network down";
  if (i == (-5101))
    return "network unreachable";
  if (i == (-5102))
    return "network reset";
  if (i == (-5103))
    return "connection aborted";
  if (i == (-5104))
    return "connection reset";
  if (i == (-5105))
    return "out of buffer space";
  if (i == (-5106))
    return "already connected";
  if (i == (-5107))
    return "not connected";
  if (i == (-5108))
    return "socket shut down";
  if (i == (-5109))
    return "too many references";
  if (i == (-5111))
    return "connection refused";
  if (i == (-5040))
    return "symbolic link loop";
  if (i == (-5036))
    return "file name too long";
  if (i == (-5112))
    return "host down";
  if (i == (-5113))
    return "host unreachable";
  if (i == (-5039))
    return "directory not empty";
  if (i == (-6067))
    return "too many processes";
  if (i == (-5087))
    return "too many users";
  if (i == (-5122))
    return "disk quota exceeded";
  if (i == (-5116))
    return "stale NFS file handle";
  if (i == (-5066))
    return "too many levels of remote in path";
  if (i == (-6072))
    return "RPC structure is bad";
  if (i == (-6073))
    return "RPC version mismatch";
  if (i == (-6074))
    return "RPC program unavailable";
  if (i == (-6075))
    return "program version mismatch";
  if (i == (-6076))
    return "bad procedure for program";
  if (i == (-5037))
    return "no locks available";
  if (i == (-5038))
    return "system call not available";
  if (i == (-6079))
    return "bad file type";
  if (i == (-6080))
    return "authentication error";
  if (i == (-6081))
    return "not authenticated";
  if (i == (-5060))
    return "not a stream device";
  if (i == (-5062))
    return "timer expired";
  if (i == (-5063))
    return "out of stream resources";
  if (i == (-5042))
    return "no message of desired type";
  if (i == (-5074))
    return "bad message type";
  if (i == (-5043))
    return "identifier removed";
  if (i == (-5064))
    return "machine not on network";
  if (i == (-5066))
    return "object not local";
  if (i == (-5067))
    return "link severed";
  if (i == (-5068))
    return "advertise error";
  if (i == (-5069))
    return "srmount error";
  if (i == (-5070))
    return "communication error";
  if (i == (-5072))
    return "multihop attempted";
  if (i == (-5078))
    return "remote address changed";
  return "unknown error";
}


x86 assembly (clang, -O0):
<e_str>:
push   %rbp
mov    %rsp,%rbp
mov    %edi,-0xc(%rbp)
cmpl   $0x0,-0xc(%rbp)
jne    1121 <e_str+0x21>
lea    0xee8(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec74,-0xc(%rbp)
jne    113e <e_str+0x3e>
lea    0xed4(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec6c,-0xc(%rbp)
jne    115b <e_str+0x5b>
lea    0xecf(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec76,-0xc(%rbp)
jne    1178 <e_str+0x78>
lea    0xec0(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec5e,-0xc(%rbp)
jne    1195 <e_str+0x95>
lea    0xeb7(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec73,-0xc(%rbp)
jne    11b2 <e_str+0xb2>
lea    0xea4(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec67,-0xc(%rbp)
jne    11cf <e_str+0xcf>
lea    0xe9a(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec0a,-0xc(%rbp)
jne    11ec <e_str+0xec>
lea    0xe91(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec05,-0xc(%rbp)
jne    1209 <e_str+0x109>
lea    0xe7e(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec6d,-0xc(%rbp)
jne    1226 <e_str+0x126>
lea    0xe77(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffe49d,-0xc(%rbp)
jne    1243 <e_str+0x143>
lea    0xe6c(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec58,-0xc(%rbp)
jne    1260 <e_str+0x160>
lea    0xe68(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec77,-0xc(%rbp)
jne    127d <e_str+0x17d>
lea    0xe57(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec6b,-0xc(%rbp)
jne    129a <e_str+0x19a>
lea    0xe4c(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec65,-0xc(%rbp)
jne    12b7 <e_str+0x1b7>
lea    0xe3d(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec31,-0xc(%rbp)
jne    12d4 <e_str+0x1d4>
lea    0xe36(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec63,-0xc(%rbp)
jne    12f1 <e_str+0x1f1>
lea    0xe28(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec75,-0xc(%rbp)
jne    130e <e_str+0x20e>
lea    0xe1a(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec71,-0xc(%rbp)
jne    132b <e_str+0x22b>
lea    0xe0d(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec70,-0xc(%rbp)
jne    1348 <e_str+0x248>
lea    0xe07(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec6f,-0xc(%rbp)
jne    1365 <e_str+0x265>
lea    0xdfc(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec6e,-0xc(%rbp)
jne    1382 <e_str+0x282>
lea    0xdf8(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec55,-0xc(%rbp)
jne    139f <e_str+0x29f>
lea    0xdee(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec6a,-0xc(%rbp)
jne    13bc <e_str+0x2bc>
lea    0xdf0(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec69,-0xc(%rbp)
jne    13d9 <e_str+0x2d9>
lea    0xddf(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec68,-0xc(%rbp)
jne    13f6 <e_str+0x2f6>
lea    0xdd5(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec66,-0xc(%rbp)
jne    1413 <e_str+0x313>
lea    0xdc4(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec65,-0xc(%rbp)
jne    1430 <e_str+0x330>
lea    0xdb9(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec64,-0xc(%rbp)
jne    144d <e_str+0x34d>
lea    0xdbe(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec62,-0xc(%rbp)
jne    146a <e_str+0x36a>
lea    0xdb1(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec61,-0xc(%rbp)
jne    1487 <e_str+0x387>
lea    0xda5(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec60,-0xc(%rbp)
jne    14a4 <e_str+0x3a4>
lea    0xda6(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec5f,-0xc(%rbp)
jne    14c1 <e_str+0x3c1>
lea    0xda8(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec5d,-0xc(%rbp)
jne    14de <e_str+0x3de>
lea    0xd95(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec5c,-0xc(%rbp)
jne    14fb <e_str+0x3fb>
lea    0xd85(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec5b,-0xc(%rbp)
jne    1518 <e_str+0x418>
lea    0xd7a(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec5a,-0xc(%rbp)
jne    1535 <e_str+0x435>
lea    0xd73(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec59,-0xc(%rbp)
jne    1552 <e_str+0x452>
lea    0xd6c(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec57,-0xc(%rbp)
jne    156f <e_str+0x46f>
lea    0xd5e(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec56,-0xc(%rbp)
jne    158c <e_str+0x48c>
lea    0xd54(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec06,-0xc(%rbp)
jne    15a9 <e_str+0x4a9>
lea    0xd4b(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec20,-0xc(%rbp)
jne    15c6 <e_str+0x4c6>
lea    0xd4c(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec1f,-0xc(%rbp)
jne    15e3 <e_str+0x4e3>
lea    0xd3c(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec1e,-0xc(%rbp)
jne    1600 <e_str+0x500>
lea    0xd3c(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec1d,-0xc(%rbp)
jne    161d <e_str+0x51d>
lea    0xd30(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec1c,-0xc(%rbp)
jne    163a <e_str+0x53a>
lea    0xd2b(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec1b,-0xc(%rbp)
jne    1657 <e_str+0x557>
lea    0xd25(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec1a,-0xc(%rbp)
jne    1674 <e_str+0x574>
lea    0xd1f(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec19,-0xc(%rbp)
jne    1691 <e_str+0x591>
lea    0xd1c(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec18,-0xc(%rbp)
jne    16ae <e_str+0x5ae>
lea    0xd17(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec17,-0xc(%rbp)
jne    16cb <e_str+0x5cb>
lea    0xd18(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec16,-0xc(%rbp)
jne    16e8 <e_str+0x5e8>
lea    0xd18(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec15,-0xc(%rbp)
jne    1705 <e_str+0x605>
lea    0xd10(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec14,-0xc(%rbp)
jne    1722 <e_str+0x622>
lea    0xd09(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec13,-0xc(%rbp)
jne    173f <e_str+0x63f>
lea    0xcf9(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec12,-0xc(%rbp)
jne    175c <e_str+0x65c>
lea    0xcf0(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec11,-0xc(%rbp)
jne    1779 <e_str+0x679>
lea    0xce1(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec10,-0xc(%rbp)
jne    1796 <e_str+0x696>
lea    0xcd7(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec0f,-0xc(%rbp)
jne    17b3 <e_str+0x6b3>
lea    0xccb(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec0e,-0xc(%rbp)
jne    17d0 <e_str+0x6d0>
lea    0xcc2(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec0d,-0xc(%rbp)
jne    17ed <e_str+0x6ed>
lea    0xcb7(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec0c,-0xc(%rbp)
jne    180a <e_str+0x70a>
lea    0xca8(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec0b,-0xc(%rbp)
jne    1827 <e_str+0x727>
lea    0xc9c(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec09,-0xc(%rbp)
jne    1844 <e_str+0x744>
lea    0xc93(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec50,-0xc(%rbp)
jne    1861 <e_str+0x761>
lea    0xc89(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec54,-0xc(%rbp)
jne    187e <e_str+0x77e>
lea    0xc7f(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec08,-0xc(%rbp)
jne    189b <e_str+0x79b>
lea    0xc75(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec07,-0xc(%rbp)
jne    18b8 <e_str+0x7b8>
lea    0xc62(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec51,-0xc(%rbp)
jne    18d5 <e_str+0x7d5>
lea    0xc56(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffe84d,-0xc(%rbp)
jne    18f2 <e_str+0x7f2>
lea    0xc4d(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec21,-0xc(%rbp)
jne    190f <e_str+0x80f>
lea    0xc43(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffebfe,-0xc(%rbp)
jne    192c <e_str+0x82c>
lea    0xc35(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec04,-0xc(%rbp)
jne    1949 <e_str+0x849>
lea    0xc2c(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec36,-0xc(%rbp)
jne    1966 <e_str+0x866>
lea    0xc25(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffe848,-0xc(%rbp)
jne    1983 <e_str+0x883>
lea    0xc2a(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffe847,-0xc(%rbp)
jne    19a0 <e_str+0x8a0>
lea    0xc22(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffe846,-0xc(%rbp)
jne    19bd <e_str+0x8bd>
lea    0xc1a(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffe845,-0xc(%rbp)
jne    19da <e_str+0x8da>
lea    0xc15(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffe844,-0xc(%rbp)
jne    19f7 <e_str+0x8f7>
lea    0xc11(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec53,-0xc(%rbp)
jne    1a14 <e_str+0x914>
lea    0xc0e(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec52,-0xc(%rbp)
jne    1a31 <e_str+0x931>
lea    0xc04(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffe841,-0xc(%rbp)
jne    1a4e <e_str+0x94e>
lea    0xc01(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffe840,-0xc(%rbp)
jne    1a6b <e_str+0x96b>
lea    0xbf2(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffe83f,-0xc(%rbp)
jne    1a88 <e_str+0x988>
lea    0xbea(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec3c,-0xc(%rbp)
jne    1aa5 <e_str+0x9a5>
lea    0xbdf(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec3a,-0xc(%rbp)
jne    1ac2 <e_str+0x9c2>
lea    0xbd6(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec39,-0xc(%rbp)
jne    1adf <e_str+0x9df>
lea    0xbc7(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec4e,-0xc(%rbp)
jne    1afc <e_str+0x9fc>
lea    0xbc2(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec2e,-0xc(%rbp)
jne    1b19 <e_str+0xa19>
lea    0xbc0(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec4d,-0xc(%rbp)
jne    1b36 <e_str+0xa36>
lea    0xbb4(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec38,-0xc(%rbp)
jne    1b53 <e_str+0xa53>
lea    0xbaa(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec36,-0xc(%rbp)
jne    1b70 <e_str+0xa70>
lea    0xba4(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec35,-0xc(%rbp)
jne    1b8d <e_str+0xa8d>
lea    0xb98(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec34,-0xc(%rbp)
jne    1baa <e_str+0xaaa>
lea    0xb88(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec33,-0xc(%rbp)
jne    1bc7 <e_str+0xac7>
lea    0xb7b(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec32,-0xc(%rbp)
jne    1be4 <e_str+0xae4>
lea    0xb6c(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec30,-0xc(%rbp)
jne    1c01 <e_str+0xb01>
lea    0xb63(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
cmpl   $0xffffec2a,-0xc(%rbp)
jne    1c1e <e_str+0xb1e>
lea    0xb59(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1c29 <e_str+0xb29>
lea    0xb60(%rip),%rax
mov    %rax,-0x8(%rbp)
mov    -0x8(%rbp),%rax
pop    %rbp
ret

x86 assembly (clang, -O2):
<e_str>:
cmp    $0xffffebfd,%edi
jle    112b <e_str+0x2b>
lea    0x1402(%rdi),%eax
cmp    $0x79,%eax
ja     114e <e_str+0x4e>
lea    0xf22(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x1630(%rip),%rax
ret
lea    0x17c1(%rdi),%eax
cmp    $0xe,%eax
ja     115a <e_str+0x5a>
lea    0xec3(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x171e(%rip),%rax
ret
test   %edi,%edi
jne    116a <e_str+0x6a>
lea    0x10cb(%rip),%rax
ret
cmp    $0xffffe49d,%edi
jne    116a <e_str+0x6a>
lea    0x1161(%rip),%rax
ret
lea    0x1805(%rip),%rax
ret
lea    0x15f5(%rip),%rax
ret
lea    0x1121(%rip),%rax
ret
lea    0x1364(%rip),%rax
ret
lea    0x1582(%rip),%rax
ret
lea    0x1570(%rip),%rax
ret
lea    0x152f(%rip),%rax
ret
lea    0x10ef(%rip),%rax
ret
lea    0x150b(%rip),%rax
ret
lea    0x14f2(%rip),%rax
ret
lea    0x14dc(%rip),%rax
ret
lea    0x14c2(%rip),%rax
ret
lea    0x14a6(%rip),%rax
ret
lea    0x148d(%rip),%rax
ret
lea    0x1472(%rip),%rax
ret
lea    0x145c(%rip),%rax
ret
lea    0x1440(%rip),%rax
ret
lea    0x142b(%rip),%rax
ret
lea    0x140d(%rip),%rax
ret
lea    0x13f0(%rip),%rax
ret
lea    0x13cb(%rip),%rax
ret
lea    0x13a5(%rip),%rax
ret
lea    0x1385(%rip),%rax
ret
lea    0x1363(%rip),%rax
ret
lea    0x1344(%rip),%rax
ret
lea    0x1325(%rip),%rax
ret
lea    0x1305(%rip),%rax
ret
lea    0x12ec(%rip),%rax
ret
lea    0x12c7(%rip),%rax
ret
lea    0x12b2(%rip),%rax
ret
lea    0x14ea(%rip),%rax
ret
lea    0x16f6(%rip),%rax
ret
lea    0x1661(%rip),%rax
ret
lea    0x16d3(%rip),%rax
ret
lea    0x10a4(%rip),%rax
ret
lea    0x16af(%rip),%rax
ret
lea    0x1699(%rip),%rax
ret
lea    0x1681(%rip),%rax
ret
lea    0x166c(%rip),%rax
ret
lea    0x14db(%rip),%rax
ret
lea    0x1645(%rip),%rax
ret
lea    0x15e6(%rip),%rax
ret
lea    0x15d0(%rip),%rax
ret
lea    0x15b4(%rip),%rax
ret
lea    0x1612(%rip),%rax
ret
lea    0x15de(%rip),%rax
ret
lea    0x1402(%rip),%rax
ret
lea    0x143b(%rip),%rax
ret
lea    0x153d(%rip),%rax
ret
lea    0x1522(%rip),%rax
ret
lea    0x13f5(%rip),%rax
ret
lea    0x109f(%rip),%rax
ret
lea    0x11c8(%rip),%rax
ret
lea    0x11ad(%rip),%rax
ret
lea    0xfc2(%rip),%rax
ret
lea    0x118e(%rip),%rax
ret
lea    0x1170(%rip),%rax
ret
lea    0x1152(%rip),%rax
ret
lea    0x1138(%rip),%rax
ret
lea    0x1123(%rip),%rax
ret
lea    0xf16(%rip),%rax
ret
lea    0x1109(%rip),%rax
ret
lea    0x10e2(%rip),%rax
ret
lea    0x10bc(%rip),%rax
ret
lea    0x10a3(%rip),%rax
ret
lea    0xfbb(%rip),%rax
ret
lea    0x1083(%rip),%rax
ret
lea    0xf86(%rip),%rax
ret
lea    0x1061(%rip),%rax
ret
lea    0xeeb(%rip),%rax
ret
lea    0x1045(%rip),%rax
ret
lea    0x102a(%rip),%rax
ret
lea    0x1016(%rip),%rax
ret
lea    0xf48(%rip),%rax
ret
lea    0xe84(%rip),%rax
ret
lea    0xeef(%rip),%rax
ret
lea    0xfc4(%rip),%rax
ret
lea    0xfa3(%rip),%rax
ret
lea    0xf89(%rip),%rax
ret
lea    0xf6a(%rip),%rax
ret
lea    0xe80(%rip),%rax
ret
lea    0xe34(%rip),%rax
ret
lea    0xf42(%rip),%rax
ret
lea    0xe4a(%rip),%rax
ret
lea    0xede(%rip),%rax
ret
lea    0x143d(%rip),%rax
ret
lea    0x1427(%rip),%rax
ret
lea    0x13d8(%rip),%rax
ret
lea    0x13b7(%rip),%rax
ret
lea    0x1397(%rip),%rax
ret
lea    0x137a(%rip),%rax
ret
lea    0x135d(%rip),%rax
ret
lea    0x12e7(%rip),%rax
ret

LLVM IR (-O0):
@.str = [9 x i8] c"no error\00"
@.str.1 = [24 x i8] c"interrupted system call\00"
@.str.2 = [14 x i8] c"out of memory\00"
@.str.3 = [20 x i8] c"file does not exist\00"
@.str.4 = [10 x i8] c"text busy\00"
@.str.5 = [19 x i8] c"input/output error\00"
@.str.6 = [20 x i8] c"file already exists\00"
@.str.7 = [10 x i8] c"timed out\00"
@.str.8 = [22 x i8] c"operation in progress\00"
@.str.9 = [18 x i8] c"temporary failure\00"
@.str.10 = [25 x i8] c"input/output would block\00"
@.str.11 = [12 x i8] c"broken pipe\00"
@.str.12 = [18 x i8] c"permission denied\00"
@.str.13 = [14 x i8] c"access denied\00"
@.str.14 = [22 x i8] c"device not configured\00"
@.str.15 = [15 x i8] c"protocol error\00"
@.str.16 = [15 x i8] c"is a directory\00"
@.str.17 = [16 x i8] c"no such process\00"
@.str.18 = [23 x i8] c"argument list too long\00"
@.str.19 = [18 x i8] c"exec format error\00"
@.str.20 = [25 x i8] c"file descriptor not open\00"
@.str.21 = [19 x i8] c"no child processes\00"
@.str.22 = [31 x i8] c"operation would cause deadlock\00"
@.str.23 = [12 x i8] c"bad address\00"
@.str.24 = [19 x i8] c"not a block device\00"
@.str.25 = [12 x i8] c"device busy\00"
@.str.26 = [18 x i8] c"cross-device link\00"
@.str.27 = [34 x i8] c"device does not support operation\00"
@.str.28 = [16 x i8] c"not a directory\00"
@.str.29 = [17 x i8] c"invalid argument\00"
@.str.30 = [30 x i8] c"system cannot open more files\00"
@.str.31 = [31 x i8] c"process cannot open more files\00"
@.str.32 = [10 x i8] c"not a tty\00"
@.str.33 = [13 x i8] c"file too big\00"
@.str.34 = [18 x i8] c"out of disk space\00"
@.str.35 = [22 x i8] c"unseekable descriptor\00"
@.str.36 = [22 x i8] c"read-only file system\00"
@.str.37 = [15 x i8] c"too many links\00"
@.str.38 = [19 x i8] c"input out of range\00"
@.str.39 = [20 x i8] c"output out of range\00"
@.str.40 = [30 x i8] c"operation already in progress\00"
@.str.41 = [13 x i8] c"not a socket\00"
@.str.42 = [29 x i8] c"destination address required\00"
@.str.43 = [17 x i8] c"message too long\00"
@.str.44 = [24 x i8] c"incorrect protocol type\00"
@.str.45 = [23 x i8] c"protocol not available\00"
@.str.46 = [23 x i8] c"protocol not supported\00"
@.str.47 = [26 x i8] c"socket type not supported\00"
@.str.48 = [24 x i8] c"operation not supported\00"
@.str.49 = [30 x i8] c"protocol family not supported\00"
@.str.50 = [29 x i8] c"address family not supported\00"
@.str.51 = [21 x i8] c"address already used\00"
@.str.52 = [22 x i8] c"address not available\00"
@.str.53 = [13 x i8] c"network down\00"
@.str.54 = [20 x i8] c"network unreachable\00"
@.str.55 = [14 x i8] c"network reset\00"
@.str.56 = [19 x i8] c"connection aborted\00"
@.str.57 = [17 x i8] c"connection reset\00"
@.str.58 = [20 x i8] c"out of buffer space\00"
@.str.59 = [18 x i8] c"already connected\00"
@.str.60 = [14 x i8] c"not connected\00"
@.str.61 = [17 x i8] c"socket shut down\00"
@.str.62 = [20 x i8] c"too many references\00"
@.str.63 = [19 x i8] c"connection refused\00"
@.str.64 = [19 x i8] c"symbolic link loop\00"
@.str.65 = [19 x i8] c"file name too long\00"
@.str.66 = [10 x i8] c"host down\00"
@.str.67 = [17 x i8] c"host unreachable\00"
@.str.68 = [20 x i8] c"directory not empty\00"
@.str.69 = [19 x i8] c"too many processes\00"
@.str.70 = [15 x i8] c"too many users\00"
@.str.71 = [20 x i8] c"disk quota exceeded\00"
@.str.72 = [22 x i8] c"stale NFS file handle\00"
@.str.73 = [34 x i8] c"too many levels of remote in path\00"
@.str.74 = [21 x i8] c"RPC structure is bad\00"
@.str.75 = [21 x i8] c"RPC version mismatch\00"
@.str.76 = [24 x i8] c"RPC program unavailable\00"
@.str.77 = [25 x i8] c"program version mismatch\00"
@.str.78 = [26 x i8] c"bad procedure for program\00"
@.str.79 = [19 x i8] c"no locks available\00"
@.str.80 = [26 x i8] c"system call not available\00"
@.str.81 = [14 x i8] c"bad file type\00"
@.str.82 = [21 x i8] c"authentication error\00"
@.str.83 = [18 x i8] c"not authenticated\00"
@.str.84 = [20 x i8] c"not a stream device\00"
@.str.85 = [14 x i8] c"timer expired\00"
@.str.86 = [24 x i8] c"out of stream resources\00"
@.str.87 = [27 x i8] c"no message of desired type\00"
@.str.88 = [17 x i8] c"bad message type\00"
@.str.89 = [19 x i8] c"identifier removed\00"
@.str.90 = [23 x i8] c"machine not on network\00"
@.str.91 = [17 x i8] c"object not local\00"
@.str.92 = [13 x i8] c"link severed\00"
@.str.93 = [16 x i8] c"advertise error\00"
@.str.94 = [14 x i8] c"srmount error\00"
@.str.95 = [20 x i8] c"communication error\00"
@.str.96 = [19 x i8] c"multihop attempted\00"
@.str.97 = [23 x i8] c"remote address changed\00"
@.str.98 = [14 x i8] c"unknown error\00"
define i8* @e_str(i32 %0) {
%2 = alloca i8*
%3 = alloca i32
store i32 %0, i32* %3
%4 = load i32, i32* %3
%5 = icmp eq i32 %4, 0
br i1 %5, label %6, label %7
6: ; preds = %1
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str, i64 0, i64 0), i8** %2
br label %396
7: ; preds = %1
%8 = load i32, i32* %3
%9 = icmp eq i32 %8, -5004
br i1 %9, label %10, label %11
10: ; preds = %7
store i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.1, i64 0, i64 0), i8** %2
br label %396
11: ; preds = %7
%12 = load i32, i32* %3
%13 = icmp eq i32 %12, -5012
br i1 %13, label %14, label %15
14: ; preds = %11
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.2, i64 0, i64 0), i8** %2
br label %396
15: ; preds = %11
%16 = load i32, i32* %3
%17 = icmp eq i32 %16, -5002
br i1 %17, label %18, label %19
18: ; preds = %15
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.3, i64 0, i64 0), i8** %2
br label %396
19: ; preds = %15
%20 = load i32, i32* %3
%21 = icmp eq i32 %20, -5026
br i1 %21, label %22, label %23
22: ; preds = %19
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.4, i64 0, i64 0), i8** %2
br label %396
23: ; preds = %19
%24 = load i32, i32* %3
%25 = icmp eq i32 %24, -5005
br i1 %25, label %26, label %27
26: ; preds = %23
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.5, i64 0, i64 0), i8** %2
br label %396
27: ; preds = %23
%28 = load i32, i32* %3
%29 = icmp eq i32 %28, -5017
br i1 %29, label %30, label %31
30: ; preds = %27
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.6, i64 0, i64 0), i8** %2
br label %396
31: ; preds = %27
%32 = load i32, i32* %3
%33 = icmp eq i32 %32, -5110
br i1 %33, label %34, label %35
34: ; preds = %31
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.7, i64 0, i64 0), i8** %2
br label %396
35: ; preds = %31
%36 = load i32, i32* %3
%37 = icmp eq i32 %36, -5115
br i1 %37, label %38, label %39
38: ; preds = %35
store i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.8, i64 0, i64 0), i8** %2
br label %396
39: ; preds = %35
%40 = load i32, i32* %3
%41 = icmp eq i32 %40, -5011
br i1 %41, label %42, label %43
42: ; preds = %39
store i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9, i64 0, i64 0), i8** %2
br label %396
43: ; preds = %39
%44 = load i32, i32* %3
%45 = icmp eq i32 %44, -7011
br i1 %45, label %46, label %47
46: ; preds = %43
store i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.10, i64 0, i64 0), i8** %2
br label %396
47: ; preds = %43
%48 = load i32, i32* %3
%49 = icmp eq i32 %48, -5032
br i1 %49, label %50, label %51
50: ; preds = %47
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.11, i64 0, i64 0), i8** %2
br label %396
51: ; preds = %47
%52 = load i32, i32* %3
%53 = icmp eq i32 %52, -5001
br i1 %53, label %54, label %55
54: ; preds = %51
store i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.12, i64 0, i64 0), i8** %2
br label %396
55: ; preds = %51
%56 = load i32, i32* %3
%57 = icmp eq i32 %56, -5013
br i1 %57, label %58, label %59
58: ; preds = %55
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.13, i64 0, i64 0), i8** %2
br label %396
59: ; preds = %55
%60 = load i32, i32* %3
%61 = icmp eq i32 %60, -5019
br i1 %61, label %62, label %63
62: ; preds = %59
store i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.14, i64 0, i64 0), i8** %2
br label %396
63: ; preds = %59
%64 = load i32, i32* %3
%65 = icmp eq i32 %64, -5071
br i1 %65, label %66, label %67
66: ; preds = %63
store i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.15, i64 0, i64 0), i8** %2
br label %396
67: ; preds = %63
%68 = load i32, i32* %3
%69 = icmp eq i32 %68, -5021
br i1 %69, label %70, label %71
70: ; preds = %67
store i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.16, i64 0, i64 0), i8** %2
br label %396
71: ; preds = %67
%72 = load i32, i32* %3
%73 = icmp eq i32 %72, -5003
br i1 %73, label %74, label %75
74: ; preds = %71
store i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.17, i64 0, i64 0), i8** %2
br label %396
75: ; preds = %71
%76 = load i32, i32* %3
%77 = icmp eq i32 %76, -5007
br i1 %77, label %78, label %79
78: ; preds = %75
store i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.18, i64 0, i64 0), i8** %2
br label %396
79: ; preds = %75
%80 = load i32, i32* %3
%81 = icmp eq i32 %80, -5008
br i1 %81, label %82, label %83
82: ; preds = %79
store i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.19, i64 0, i64 0), i8** %2
br label %396
83: ; preds = %79
%84 = load i32, i32* %3
%85 = icmp eq i32 %84, -5009
br i1 %85, label %86, label %87
86: ; preds = %83
store i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.20, i64 0, i64 0), i8** %2
br label %396
87: ; preds = %83
%88 = load i32, i32* %3
%89 = icmp eq i32 %88, -5010
br i1 %89, label %90, label %91
90: ; preds = %87
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.21, i64 0, i64 0), i8** %2
br label %396
91: ; preds = %87
%92 = load i32, i32* %3
%93 = icmp eq i32 %92, -5035
br i1 %93, label %94, label %95
94: ; preds = %91
store i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.22, i64 0, i64 0), i8** %2
br label %396
95: ; preds = %91
%96 = load i32, i32* %3
%97 = icmp eq i32 %96, -5014
br i1 %97, label %98, label %99
98: ; preds = %95
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.23, i64 0, i64 0), i8** %2
br label %396
99: ; preds = %95
%100 = load i32, i32* %3
%101 = icmp eq i32 %100, -5015
br i1 %101, label %102, label %103
102: ; preds = %99
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.24, i64 0, i64 0), i8** %2
br label %396
103: ; preds = %99
%104 = load i32, i32* %3
%105 = icmp eq i32 %104, -5016
br i1 %105, label %106, label %107
106: ; preds = %103
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.25, i64 0, i64 0), i8** %2
br label %396
107: ; preds = %103
%108 = load i32, i32* %3
%109 = icmp eq i32 %108, -5018
br i1 %109, label %110, label %111
110: ; preds = %107
store i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.26, i64 0, i64 0), i8** %2
br label %396
111: ; preds = %107
%112 = load i32, i32* %3
%113 = icmp eq i32 %112, -5019
br i1 %113, label %114, label %115
114: ; preds = %111
store i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.27, i64 0, i64 0), i8** %2
br label %396
115: ; preds = %111
%116 = load i32, i32* %3
%117 = icmp eq i32 %116, -5020
br i1 %117, label %118, label %119
118: ; preds = %115
store i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.28, i64 0, i64 0), i8** %2
br label %396
119: ; preds = %115
%120 = load i32, i32* %3
%121 = icmp eq i32 %120, -5022
br i1 %121, label %122, label %123
122: ; preds = %119
store i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.29, i64 0, i64 0), i8** %2
br label %396
123: ; preds = %119
%124 = load i32, i32* %3
%125 = icmp eq i32 %124, -5023
br i1 %125, label %126, label %127
126: ; preds = %123
store i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.30, i64 0, i64 0), i8** %2
br label %396
127: ; preds = %123
%128 = load i32, i32* %3
%129 = icmp eq i32 %128, -5024
br i1 %129, label %130, label %131
130: ; preds = %127
store i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.31, i64 0, i64 0), i8** %2
br label %396
131: ; preds = %127
%132 = load i32, i32* %3
%133 = icmp eq i32 %132, -5025
br i1 %133, label %134, label %135
134: ; preds = %131
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.32, i64 0, i64 0), i8** %2
br label %396
135: ; preds = %131
%136 = load i32, i32* %3
%137 = icmp eq i32 %136, -5027
br i1 %137, label %138, label %139
138: ; preds = %135
store i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.33, i64 0, i64 0), i8** %2
br label %396
139: ; preds = %135
%140 = load i32, i32* %3
%141 = icmp eq i32 %140, -5028
br i1 %141, label %142, label %143
142: ; preds = %139
store i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.34, i64 0, i64 0), i8** %2
br label %396
143: ; preds = %139
%144 = load i32, i32* %3
%145 = icmp eq i32 %144, -5029
br i1 %145, label %146, label %147
146: ; preds = %143
store i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.35, i64 0, i64 0), i8** %2
br label %396
147: ; preds = %143
%148 = load i32, i32* %3
%149 = icmp eq i32 %148, -5030
br i1 %149, label %150, label %151
150: ; preds = %147
store i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.36, i64 0, i64 0), i8** %2
br label %396
151: ; preds = %147
%152 = load i32, i32* %3
%153 = icmp eq i32 %152, -5031
br i1 %153, label %154, label %155
154: ; preds = %151
store i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.37, i64 0, i64 0), i8** %2
br label %396
155: ; preds = %151
%156 = load i32, i32* %3
%157 = icmp eq i32 %156, -5033
br i1 %157, label %158, label %159
158: ; preds = %155
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.38, i64 0, i64 0), i8** %2
br label %396
159: ; preds = %155
%160 = load i32, i32* %3
%161 = icmp eq i32 %160, -5034
br i1 %161, label %162, label %163
162: ; preds = %159
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.39, i64 0, i64 0), i8** %2
br label %396
163: ; preds = %159
%164 = load i32, i32* %3
%165 = icmp eq i32 %164, -5114
br i1 %165, label %166, label %167
166: ; preds = %163
store i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.40, i64 0, i64 0), i8** %2
br label %396
167: ; preds = %163
%168 = load i32, i32* %3
%169 = icmp eq i32 %168, -5088
br i1 %169, label %170, label %171
170: ; preds = %167
store i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.41, i64 0, i64 0), i8** %2
br label %396
171: ; preds = %167
%172 = load i32, i32* %3
%173 = icmp eq i32 %172, -5089
br i1 %173, label %174, label %175
174: ; preds = %171
store i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.42, i64 0, i64 0), i8** %2
br label %396
175: ; preds = %171
%176 = load i32, i32* %3
%177 = icmp eq i32 %176, -5090
br i1 %177, label %178, label %179
178: ; preds = %175
store i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.43, i64 0, i64 0), i8** %2
br label %396
179: ; preds = %175
%180 = load i32, i32* %3
%181 = icmp eq i32 %180, -5091
br i1 %181, label %182, label %183
182: ; preds = %179
store i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.44, i64 0, i64 0), i8** %2
br label %396
183: ; preds = %179
%184 = load i32, i32* %3
%185 = icmp eq i32 %184, -5092
br i1 %185, label %186, label %187
186: ; preds = %183
store i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.45, i64 0, i64 0), i8** %2
br label %396
187: ; preds = %183
%188 = load i32, i32* %3
%189 = icmp eq i32 %188, -5093
br i1 %189, label %190, label %191
190: ; preds = %187
store i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.46, i64 0, i64 0), i8** %2
br label %396
191: ; preds = %187
%192 = load i32, i32* %3
%193 = icmp eq i32 %192, -5094
br i1 %193, label %194, label %195
194: ; preds = %191
store i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.47, i64 0, i64 0), i8** %2
br label %396
195: ; preds = %191
%196 = load i32, i32* %3
%197 = icmp eq i32 %196, -5095
br i1 %197, label %198, label %199
198: ; preds = %195
store i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.48, i64 0, i64 0), i8** %2
br label %396
199: ; preds = %195
%200 = load i32, i32* %3
%201 = icmp eq i32 %200, -5096
br i1 %201, label %202, label %203
202: ; preds = %199
store i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.49, i64 0, i64 0), i8** %2
br label %396
203: ; preds = %199
%204 = load i32, i32* %3
%205 = icmp eq i32 %204, -5097
br i1 %205, label %206, label %207
206: ; preds = %203
store i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.50, i64 0, i64 0), i8** %2
br label %396
207: ; preds = %203
%208 = load i32, i32* %3
%209 = icmp eq i32 %208, -5098
br i1 %209, label %210, label %211
210: ; preds = %207
store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.51, i64 0, i64 0), i8** %2
br label %396
211: ; preds = %207
%212 = load i32, i32* %3
%213 = icmp eq i32 %212, -5099
br i1 %213, label %214, label %215
214: ; preds = %211
store i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.52, i64 0, i64 0), i8** %2
br label %396
215: ; preds = %211
%216 = load i32, i32* %3
%217 = icmp eq i32 %216, -5100
br i1 %217, label %218, label %219
218: ; preds = %215
store i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.53, i64 0, i64 0), i8** %2
br label %396
219: ; preds = %215
%220 = load i32, i32* %3
%221 = icmp eq i32 %220, -5101
br i1 %221, label %222, label %223
222: ; preds = %219
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.54, i64 0, i64 0), i8** %2
br label %396
223: ; preds = %219
%224 = load i32, i32* %3
%225 = icmp eq i32 %224, -5102
br i1 %225, label %226, label %227
226: ; preds = %223
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.55, i64 0, i64 0), i8** %2
br label %396
227: ; preds = %223
%228 = load i32, i32* %3
%229 = icmp eq i32 %228, -5103
br i1 %229, label %230, label %231
230: ; preds = %227
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.56, i64 0, i64 0), i8** %2
br label %396
231: ; preds = %227
%232 = load i32, i32* %3
%233 = icmp eq i32 %232, -5104
br i1 %233, label %234, label %235
234: ; preds = %231
store i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.57, i64 0, i64 0), i8** %2
br label %396
235: ; preds = %231
%236 = load i32, i32* %3
%237 = icmp eq i32 %236, -5105
br i1 %237, label %238, label %239
238: ; preds = %235
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.58, i64 0, i64 0), i8** %2
br label %396
239: ; preds = %235
%240 = load i32, i32* %3
%241 = icmp eq i32 %240, -5106
br i1 %241, label %242, label %243
242: ; preds = %239
store i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.59, i64 0, i64 0), i8** %2
br label %396
243: ; preds = %239
%244 = load i32, i32* %3
%245 = icmp eq i32 %244, -5107
br i1 %245, label %246, label %247
246: ; preds = %243
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.60, i64 0, i64 0), i8** %2
br label %396
247: ; preds = %243
%248 = load i32, i32* %3
%249 = icmp eq i32 %248, -5108
br i1 %249, label %250, label %251
250: ; preds = %247
store i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.61, i64 0, i64 0), i8** %2
br label %396
251: ; preds = %247
%252 = load i32, i32* %3
%253 = icmp eq i32 %252, -5109
br i1 %253, label %254, label %255
254: ; preds = %251
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.62, i64 0, i64 0), i8** %2
br label %396
255: ; preds = %251
%256 = load i32, i32* %3
%257 = icmp eq i32 %256, -5111
br i1 %257, label %258, label %259
258: ; preds = %255
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.63, i64 0, i64 0), i8** %2
br label %396
259: ; preds = %255
%260 = load i32, i32* %3
%261 = icmp eq i32 %260, -5040
br i1 %261, label %262, label %263
262: ; preds = %259
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.64, i64 0, i64 0), i8** %2
br label %396
263: ; preds = %259
%264 = load i32, i32* %3
%265 = icmp eq i32 %264, -5036
br i1 %265, label %266, label %267
266: ; preds = %263
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.65, i64 0, i64 0), i8** %2
br label %396
267: ; preds = %263
%268 = load i32, i32* %3
%269 = icmp eq i32 %268, -5112
br i1 %269, label %270, label %271
270: ; preds = %267
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.66, i64 0, i64 0), i8** %2
br label %396
271: ; preds = %267
%272 = load i32, i32* %3
%273 = icmp eq i32 %272, -5113
br i1 %273, label %274, label %275
274: ; preds = %271
store i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.67, i64 0, i64 0), i8** %2
br label %396
275: ; preds = %271
%276 = load i32, i32* %3
%277 = icmp eq i32 %276, -5039
br i1 %277, label %278, label %279
278: ; preds = %275
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.68, i64 0, i64 0), i8** %2
br label %396
279: ; preds = %275
%280 = load i32, i32* %3
%281 = icmp eq i32 %280, -6067
br i1 %281, label %282, label %283
282: ; preds = %279
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.69, i64 0, i64 0), i8** %2
br label %396
283: ; preds = %279
%284 = load i32, i32* %3
%285 = icmp eq i32 %284, -5087
br i1 %285, label %286, label %287
286: ; preds = %283
store i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.70, i64 0, i64 0), i8** %2
br label %396
287: ; preds = %283
%288 = load i32, i32* %3
%289 = icmp eq i32 %288, -5122
br i1 %289, label %290, label %291
290: ; preds = %287
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.71, i64 0, i64 0), i8** %2
br label %396
291: ; preds = %287
%292 = load i32, i32* %3
%293 = icmp eq i32 %292, -5116
br i1 %293, label %294, label %295
294: ; preds = %291
store i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.72, i64 0, i64 0), i8** %2
br label %396
295: ; preds = %291
%296 = load i32, i32* %3
%297 = icmp eq i32 %296, -5066
br i1 %297, label %298, label %299
298: ; preds = %295
store i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.73, i64 0, i64 0), i8** %2
br label %396
299: ; preds = %295
%300 = load i32, i32* %3
%301 = icmp eq i32 %300, -6072
br i1 %301, label %302, label %303
302: ; preds = %299
store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.74, i64 0, i64 0), i8** %2
br label %396
303: ; preds = %299
%304 = load i32, i32* %3
%305 = icmp eq i32 %304, -6073
br i1 %305, label %306, label %307
306: ; preds = %303
store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.75, i64 0, i64 0), i8** %2
br label %396
307: ; preds = %303
%308 = load i32, i32* %3
%309 = icmp eq i32 %308, -6074
br i1 %309, label %310, label %311
310: ; preds = %307
store i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.76, i64 0, i64 0), i8** %2
br label %396
311: ; preds = %307
%312 = load i32, i32* %3
%313 = icmp eq i32 %312, -6075
br i1 %313, label %314, label %315
314: ; preds = %311
store i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.77, i64 0, i64 0), i8** %2
br label %396
315: ; preds = %311
%316 = load i32, i32* %3
%317 = icmp eq i32 %316, -6076
br i1 %317, label %318, label %319
318: ; preds = %315
store i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.78, i64 0, i64 0), i8** %2
br label %396
319: ; preds = %315
%320 = load i32, i32* %3
%321 = icmp eq i32 %320, -5037
br i1 %321, label %322, label %323
322: ; preds = %319
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.79, i64 0, i64 0), i8** %2
br label %396
323: ; preds = %319
%324 = load i32, i32* %3
%325 = icmp eq i32 %324, -5038
br i1 %325, label %326, label %327
326: ; preds = %323
store i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.80, i64 0, i64 0), i8** %2
br label %396
327: ; preds = %323
%328 = load i32, i32* %3
%329 = icmp eq i32 %328, -6079
br i1 %329, label %330, label %331
330: ; preds = %327
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.81, i64 0, i64 0), i8** %2
br label %396
331: ; preds = %327
%332 = load i32, i32* %3
%333 = icmp eq i32 %332, -6080
br i1 %333, label %334, label %335
334: ; preds = %331
store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.82, i64 0, i64 0), i8** %2
br label %396
335: ; preds = %331
%336 = load i32, i32* %3
%337 = icmp eq i32 %336, -6081
br i1 %337, label %338, label %339
338: ; preds = %335
store i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.83, i64 0, i64 0), i8** %2
br label %396
339: ; preds = %335
%340 = load i32, i32* %3
%341 = icmp eq i32 %340, -5060
br i1 %341, label %342, label %343
342: ; preds = %339
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.84, i64 0, i64 0), i8** %2
br label %396
343: ; preds = %339
%344 = load i32, i32* %3
%345 = icmp eq i32 %344, -5062
br i1 %345, label %346, label %347
346: ; preds = %343
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.85, i64 0, i64 0), i8** %2
br label %396
347: ; preds = %343
%348 = load i32, i32* %3
%349 = icmp eq i32 %348, -5063
br i1 %349, label %350, label %351
350: ; preds = %347
store i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.86, i64 0, i64 0), i8** %2
br label %396
351: ; preds = %347
%352 = load i32, i32* %3
%353 = icmp eq i32 %352, -5042
br i1 %353, label %354, label %355
354: ; preds = %351
store i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.87, i64 0, i64 0), i8** %2
br label %396
355: ; preds = %351
%356 = load i32, i32* %3
%357 = icmp eq i32 %356, -5074
br i1 %357, label %358, label %359
358: ; preds = %355
store i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.88, i64 0, i64 0), i8** %2
br label %396
359: ; preds = %355
%360 = load i32, i32* %3
%361 = icmp eq i32 %360, -5043
br i1 %361, label %362, label %363
362: ; preds = %359
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.89, i64 0, i64 0), i8** %2
br label %396
363: ; preds = %359
%364 = load i32, i32* %3
%365 = icmp eq i32 %364, -5064
br i1 %365, label %366, label %367
366: ; preds = %363
store i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.90, i64 0, i64 0), i8** %2
br label %396
367: ; preds = %363
%368 = load i32, i32* %3
%369 = icmp eq i32 %368, -5066
br i1 %369, label %370, label %371
370: ; preds = %367
store i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.91, i64 0, i64 0), i8** %2
br label %396
371: ; preds = %367
%372 = load i32, i32* %3
%373 = icmp eq i32 %372, -5067
br i1 %373, label %374, label %375
374: ; preds = %371
store i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.92, i64 0, i64 0), i8** %2
br label %396
375: ; preds = %371
%376 = load i32, i32* %3
%377 = icmp eq i32 %376, -5068
br i1 %377, label %378, label %379
378: ; preds = %375
store i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.93, i64 0, i64 0), i8** %2
br label %396
379: ; preds = %375
%380 = load i32, i32* %3
%381 = icmp eq i32 %380, -5069
br i1 %381, label %382, label %383
382: ; preds = %379
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.94, i64 0, i64 0), i8** %2
br label %396
383: ; preds = %379
%384 = load i32, i32* %3
%385 = icmp eq i32 %384, -5070
br i1 %385, label %386, label %387
386: ; preds = %383
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.95, i64 0, i64 0), i8** %2
br label %396
387: ; preds = %383
%388 = load i32, i32* %3
%389 = icmp eq i32 %388, -5072
br i1 %389, label %390, label %391
390: ; preds = %387
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.96, i64 0, i64 0), i8** %2
br label %396
391: ; preds = %387
%392 = load i32, i32* %3
%393 = icmp eq i32 %392, -5078
br i1 %393, label %394, label %395
394: ; preds = %391
store i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.97, i64 0, i64 0), i8** %2
br label %396
395: ; preds = %391
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.98, i64 0, i64 0), i8** %2
br label %396
396: ; preds = %395, %394, %390, %386, %382, %378, %374, %370, %366, %362, %358, %354, %350, %346, %342, %338, %334, %330, %326, %322, %318, %314, %310, %306, %302, %298, %294, %290, %286, %282, %278, %274, %270, %266, %262, %258, %254, %250, %246, %242, %238, %234, %230, %226, %222, %218, %214, %210, %206, %202, %198, %194, %190, %186, %182, %178, %174, %170, %166, %162, %158, %154, %150, %146, %142, %138, %134, %130, %126, %122, %118, %114, %110, %106, %102, %98, %94, %90, %86, %82, %78, %74, %70, %66, %62, %58, %54, %50, %46, %42, %38, %34, %30, %26, %22, %18, %14, %10, %6
%397 = load i8*, i8** %2
ret i8* %397
}

LLVM IR (-O2):
@.str = [9 x i8] c"no error\00"
@.str.1 = [24 x i8] c"interrupted system call\00"
@.str.2 = [14 x i8] c"out of memory\00"
@.str.3 = [20 x i8] c"file does not exist\00"
@.str.4 = [10 x i8] c"text busy\00"
@.str.5 = [19 x i8] c"input/output error\00"
@.str.6 = [20 x i8] c"file already exists\00"
@.str.7 = [10 x i8] c"timed out\00"
@.str.8 = [22 x i8] c"operation in progress\00"
@.str.9 = [18 x i8] c"temporary failure\00"
@.str.10 = [25 x i8] c"input/output would block\00"
@.str.11 = [12 x i8] c"broken pipe\00"
@.str.12 = [18 x i8] c"permission denied\00"
@.str.13 = [14 x i8] c"access denied\00"
@.str.14 = [22 x i8] c"device not configured\00"
@.str.15 = [15 x i8] c"protocol error\00"
@.str.16 = [15 x i8] c"is a directory\00"
@.str.17 = [16 x i8] c"no such process\00"
@.str.18 = [23 x i8] c"argument list too long\00"
@.str.19 = [18 x i8] c"exec format error\00"
@.str.20 = [25 x i8] c"file descriptor not open\00"
@.str.21 = [19 x i8] c"no child processes\00"
@.str.22 = [31 x i8] c"operation would cause deadlock\00"
@.str.23 = [12 x i8] c"bad address\00"
@.str.24 = [19 x i8] c"not a block device\00"
@.str.25 = [12 x i8] c"device busy\00"
@.str.26 = [18 x i8] c"cross-device link\00"
@.str.28 = [16 x i8] c"not a directory\00"
@.str.29 = [17 x i8] c"invalid argument\00"
@.str.30 = [30 x i8] c"system cannot open more files\00"
@.str.31 = [31 x i8] c"process cannot open more files\00"
@.str.32 = [10 x i8] c"not a tty\00"
@.str.33 = [13 x i8] c"file too big\00"
@.str.34 = [18 x i8] c"out of disk space\00"
@.str.35 = [22 x i8] c"unseekable descriptor\00"
@.str.36 = [22 x i8] c"read-only file system\00"
@.str.37 = [15 x i8] c"too many links\00"
@.str.38 = [19 x i8] c"input out of range\00"
@.str.39 = [20 x i8] c"output out of range\00"
@.str.40 = [30 x i8] c"operation already in progress\00"
@.str.41 = [13 x i8] c"not a socket\00"
@.str.42 = [29 x i8] c"destination address required\00"
@.str.43 = [17 x i8] c"message too long\00"
@.str.44 = [24 x i8] c"incorrect protocol type\00"
@.str.45 = [23 x i8] c"protocol not available\00"
@.str.46 = [23 x i8] c"protocol not supported\00"
@.str.47 = [26 x i8] c"socket type not supported\00"
@.str.48 = [24 x i8] c"operation not supported\00"
@.str.49 = [30 x i8] c"protocol family not supported\00"
@.str.50 = [29 x i8] c"address family not supported\00"
@.str.51 = [21 x i8] c"address already used\00"
@.str.52 = [22 x i8] c"address not available\00"
@.str.53 = [13 x i8] c"network down\00"
@.str.54 = [20 x i8] c"network unreachable\00"
@.str.55 = [14 x i8] c"network reset\00"
@.str.56 = [19 x i8] c"connection aborted\00"
@.str.57 = [17 x i8] c"connection reset\00"
@.str.58 = [20 x i8] c"out of buffer space\00"
@.str.59 = [18 x i8] c"already connected\00"
@.str.60 = [14 x i8] c"not connected\00"
@.str.61 = [17 x i8] c"socket shut down\00"
@.str.62 = [20 x i8] c"too many references\00"
@.str.63 = [19 x i8] c"connection refused\00"
@.str.64 = [19 x i8] c"symbolic link loop\00"
@.str.65 = [19 x i8] c"file name too long\00"
@.str.66 = [10 x i8] c"host down\00"
@.str.67 = [17 x i8] c"host unreachable\00"
@.str.68 = [20 x i8] c"directory not empty\00"
@.str.69 = [19 x i8] c"too many processes\00"
@.str.70 = [15 x i8] c"too many users\00"
@.str.71 = [20 x i8] c"disk quota exceeded\00"
@.str.72 = [22 x i8] c"stale NFS file handle\00"
@.str.73 = [34 x i8] c"too many levels of remote in path\00"
@.str.74 = [21 x i8] c"RPC structure is bad\00"
@.str.75 = [21 x i8] c"RPC version mismatch\00"
@.str.76 = [24 x i8] c"RPC program unavailable\00"
@.str.77 = [25 x i8] c"program version mismatch\00"
@.str.78 = [26 x i8] c"bad procedure for program\00"
@.str.79 = [19 x i8] c"no locks available\00"
@.str.80 = [26 x i8] c"system call not available\00"
@.str.81 = [14 x i8] c"bad file type\00"
@.str.82 = [21 x i8] c"authentication error\00"
@.str.83 = [18 x i8] c"not authenticated\00"
@.str.84 = [20 x i8] c"not a stream device\00"
@.str.85 = [14 x i8] c"timer expired\00"
@.str.86 = [24 x i8] c"out of stream resources\00"
@.str.87 = [27 x i8] c"no message of desired type\00"
@.str.88 = [17 x i8] c"bad message type\00"
@.str.89 = [19 x i8] c"identifier removed\00"
@.str.90 = [23 x i8] c"machine not on network\00"
@.str.92 = [13 x i8] c"link severed\00"
@.str.93 = [16 x i8] c"advertise error\00"
@.str.94 = [14 x i8] c"srmount error\00"
@.str.95 = [20 x i8] c"communication error\00"
@.str.96 = [19 x i8] c"multihop attempted\00"
@.str.97 = [23 x i8] c"remote address changed\00"
@.str.98 = [14 x i8] c"unknown error\00"
define i8* @e_str(i32 %0) {
switch i32 %0, label %97 [
i32 0, label %98
i32 -5004, label %2
i32 -5012, label %3
i32 -5002, label %4
i32 -5026, label %5
i32 -5005, label %6
i32 -5017, label %7
i32 -5110, label %8
i32 -5115, label %9
i32 -5011, label %10
i32 -7011, label %11
i32 -5032, label %12
i32 -5001, label %13
i32 -5013, label %14
i32 -5019, label %15
i32 -5071, label %16
i32 -5021, label %17
i32 -5003, label %18
i32 -5007, label %19
i32 -5008, label %20
i32 -5009, label %21
i32 -5010, label %22
i32 -5035, label %23
i32 -5014, label %24
i32 -5015, label %25
i32 -5016, label %26
i32 -5018, label %27
i32 -5020, label %28
i32 -5022, label %29
i32 -5023, label %30
i32 -5024, label %31
i32 -5025, label %32
i32 -5027, label %33
i32 -5028, label %34
i32 -5029, label %35
i32 -5030, label %36
i32 -5031, label %37
i32 -5033, label %38
i32 -5034, label %39
i32 -5114, label %40
i32 -5088, label %41
i32 -5089, label %42
i32 -5090, label %43
i32 -5091, label %44
i32 -5092, label %45
i32 -5093, label %46
i32 -5094, label %47
i32 -5095, label %48
i32 -5096, label %49
i32 -5097, label %50
i32 -5098, label %51
i32 -5099, label %52
i32 -5100, label %53
i32 -5101, label %54
i32 -5102, label %55
i32 -5103, label %56
i32 -5104, label %57
i32 -5105, label %58
i32 -5106, label %59
i32 -5107, label %60
i32 -5108, label %61
i32 -5109, label %62
i32 -5111, label %63
i32 -5040, label %64
i32 -5036, label %65
i32 -5112, label %66
i32 -5113, label %67
i32 -5039, label %68
i32 -6067, label %69
i32 -5087, label %70
i32 -5122, label %71
i32 -5116, label %72
i32 -5066, label %73
i32 -6072, label %74
i32 -6073, label %75
i32 -6074, label %76
i32 -6075, label %77
i32 -6076, label %78
i32 -5037, label %79
i32 -5038, label %80
i32 -6079, label %81
i32 -6080, label %82
i32 -6081, label %83
i32 -5060, label %84
i32 -5062, label %85
i32 -5063, label %86
i32 -5042, label %87
i32 -5074, label %88
i32 -5043, label %89
i32 -5064, label %90
i32 -5067, label %91
i32 -5068, label %92
i32 -5069, label %93
i32 -5070, label %94
i32 -5072, label %95
i32 -5078, label %96
]
2: ; preds = %1
br label %98
3: ; preds = %1
br label %98
4: ; preds = %1
br label %98
5: ; preds = %1
br label %98
6: ; preds = %1
br label %98
7: ; preds = %1
br label %98
8: ; preds = %1
br label %98
9: ; preds = %1
br label %98
10: ; preds = %1
br label %98
11: ; preds = %1
br label %98
12: ; preds = %1
br label %98
13: ; preds = %1
br label %98
14: ; preds = %1
br label %98
15: ; preds = %1
br label %98
16: ; preds = %1
br label %98
17: ; preds = %1
br label %98
18: ; preds = %1
br label %98
19: ; preds = %1
br label %98
20: ; preds = %1
br label %98
21: ; preds = %1
br label %98
22: ; preds = %1
br label %98
23: ; preds = %1
br label %98
24: ; preds = %1
br label %98
25: ; preds = %1
br label %98
26: ; preds = %1
br label %98
27: ; preds = %1
br label %98
28: ; preds = %1
br label %98
29: ; preds = %1
br label %98
30: ; preds = %1
br label %98
31: ; preds = %1
br label %98
32: ; preds = %1
br label %98
33: ; preds = %1
br label %98
34: ; preds = %1
br label %98
35: ; preds = %1
br label %98
36: ; preds = %1
br label %98
37: ; preds = %1
br label %98
38: ; preds = %1
br label %98
39: ; preds = %1
br label %98
40: ; preds = %1
br label %98
41: ; preds = %1
br label %98
42: ; preds = %1
br label %98
43: ; preds = %1
br label %98
44: ; preds = %1
br label %98
45: ; preds = %1
br label %98
46: ; preds = %1
br label %98
47: ; preds = %1
br label %98
48: ; preds = %1
br label %98
49: ; preds = %1
br label %98
50: ; preds = %1
br label %98
51: ; preds = %1
br label %98
52: ; preds = %1
br label %98
53: ; preds = %1
br label %98
54: ; preds = %1
br label %98
55: ; preds = %1
br label %98
56: ; preds = %1
br label %98
57: ; preds = %1
br label %98
58: ; preds = %1
br label %98
59: ; preds = %1
br label %98
60: ; preds = %1
br label %98
61: ; preds = %1
br label %98
62: ; preds = %1
br label %98
63: ; preds = %1
br label %98
64: ; preds = %1
br label %98
65: ; preds = %1
br label %98
66: ; preds = %1
br label %98
67: ; preds = %1
br label %98
68: ; preds = %1
br label %98
69: ; preds = %1
br label %98
70: ; preds = %1
br label %98
71: ; preds = %1
br label %98
72: ; preds = %1
br label %98
73: ; preds = %1
br label %98
74: ; preds = %1
br label %98
75: ; preds = %1
br label %98
76: ; preds = %1
br label %98
77: ; preds = %1
br label %98
78: ; preds = %1
br label %98
79: ; preds = %1
br label %98
80: ; preds = %1
br label %98
81: ; preds = %1
br label %98
82: ; preds = %1
br label %98
83: ; preds = %1
br label %98
84: ; preds = %1
br label %98
85: ; preds = %1
br label %98
86: ; preds = %1
br label %98
87: ; preds = %1
br label %98
88: ; preds = %1
br label %98
89: ; preds = %1
br label %98
90: ; preds = %1
br label %98
91: ; preds = %1
br label %98
92: ; preds = %1
br label %98
93: ; preds = %1
br label %98
94: ; preds = %1
br label %98
95: ; preds = %1
br label %98
96: ; preds = %1
br label %98
97: ; preds = %1
br label %98
98: ; preds = %1, %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, %10, %9, %8, %7, %6, %5, %4, %3, %2
%99 = phi i8* [ getelementptr inbounds ([24 x i8], [24 x i8]* @.str.1, i64 0, i64 0), %2 ], [ getelementptr inbounds ([14 x i8], [14 x i8]* @.str.2, i64 0, i64 0), %3 ], [ getelementptr inbounds ([20 x i8], [20 x i8]* @.str.3, i64 0, i64 0), %4 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.4, i64 0, i64 0), %5 ], [ getelementptr inbounds ([19 x i8], [19 x i8]* @.str.5, i64 0, i64 0), %6 ], [ getelementptr inbounds ([20 x i8], [20 x i8]* @.str.6, i64 0, i64 0), %7 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.7, i64 0, i64 0), %8 ], [ getelementptr inbounds ([22 x i8], [22 x i8]* @.str.8, i64 0, i64 0), %9 ], [ getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9, i64 0, i64 0), %10 ], [ getelementptr inbounds ([25 x i8], [25 x i8]* @.str.10, i64 0, i64 0), %11 ], [ getelementptr inbounds ([12 x i8], [12 x i8]* @.str.11, i64 0, i64 0), %12 ], [ getelementptr inbounds ([18 x i8], [18 x i8]* @.str.12, i64 0, i64 0), %13 ], [ getelementptr inbounds ([14 x i8], [14 x i8]* @.str.13, i64 0, i64 0), %14 ], [ getelementptr inbounds ([22 x i8], [22 x i8]* @.str.14, i64 0, i64 0), %15 ], [ getelementptr inbounds ([15 x i8], [15 x i8]* @.str.15, i64 0, i64 0), %16 ], [ getelementptr inbounds ([15 x i8], [15 x i8]* @.str.16, i64 0, i64 0), %17 ], [ getelementptr inbounds ([16 x i8], [16 x i8]* @.str.17, i64 0, i64 0), %18 ], [ getelementptr inbounds ([23 x i8], [23 x i8]* @.str.18, i64 0, i64 0), %19 ], [ getelementptr inbounds ([18 x i8], [18 x i8]* @.str.19, i64 0, i64 0), %20 ], [ getelementptr inbounds ([25 x i8], [25 x i8]* @.str.20, i64 0, i64 0), %21 ], [ getelementptr inbounds ([19 x i8], [19 x i8]* @.str.21, i64 0, i64 0), %22 ], [ getelementptr inbounds ([31 x i8], [31 x i8]* @.str.22, i64 0, i64 0), %23 ], [ getelementptr inbounds ([12 x i8], [12 x i8]* @.str.23, i64 0, i64 0), %24 ], [ getelementptr inbounds ([19 x i8], [19 x i8]* @.str.24, i64 0, i64 0), %25 ], [ getelementptr inbounds ([12 x i8], [12 x i8]* @.str.25, i64 0, i64 0), %26 ], [ getelementptr inbounds ([18 x i8], [18 x i8]* @.str.26, i64 0, i64 0), %27 ], [ getelementptr inbounds ([16 x i8], [16 x i8]* @.str.28, i64 0, i64 0), %28 ], [ getelementptr inbounds ([17 x i8], [17 x i8]* @.str.29, i64 0, i64 0), %29 ], [ getelementptr inbounds ([30 x i8], [30 x i8]* @.str.30, i64 0, i64 0), %30 ], [ getelementptr inbounds ([31 x i8], [31 x i8]* @.str.31, i64 0, i64 0), %31 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.32, i64 0, i64 0), %32 ], [ getelementptr inbounds ([13 x i8], [13 x i8]* @.str.33, i64 0, i64 0), %33 ], [ getelementptr inbounds ([18 x i8], [18 x i8]* @.str.34, i64 0, i64 0), %34 ], [ getelementptr inbounds ([22 x i8], [22 x i8]* @.str.35, i64 0, i64 0), %35 ], [ getelementptr inbounds ([22 x i8], [22 x i8]* @.str.36, i64 0, i64 0), %36 ], [ getelementptr inbounds ([15 x i8], [15 x i8]* @.str.37, i64 0, i64 0), %37 ], [ getelementptr inbounds ([19 x i8], [19 x i8]* @.str.38, i64 0, i64 0), %38 ], [ getelementptr inbounds ([20 x i8], [20 x i8]* @.str.39, i64 0, i64 0), %39 ], [ getelementptr inbounds ([30 x i8], [30 x i8]* @.str.40, i64 0, i64 0), %40 ], [ getelementptr inbounds ([13 x i8], [13 x i8]* @.str.41, i64 0, i64 0), %41 ], [ getelementptr inbounds ([29 x i8], [29 x i8]* @.str.42, i64 0, i64 0), %42 ], [ getelementptr inbounds ([17 x i8], [17 x i8]* @.str.43, i64 0, i64 0), %43 ], [ getelementptr inbounds ([24 x i8], [24 x i8]* @.str.44, i64 0, i64 0), %44 ], [ getelementptr inbounds ([23 x i8], [23 x i8]* @.str.45, i64 0, i64 0), %45 ], [ getelementptr inbounds ([23 x i8], [23 x i8]* @.str.46, i64 0, i64 0), %46 ], [ getelementptr inbounds ([26 x i8], [26 x i8]* @.str.47, i64 0, i64 0), %47 ], [ getelementptr inbounds ([24 x i8], [24 x i8]* @.str.48, i64 0, i64 0), %48 ], [ getelementptr inbounds ([30 x i8], [30 x i8]* @.str.49, i64 0, i64 0), %49 ], [ getelementptr inbounds ([29 x i8], [29 x i8]* @.str.50, i64 0, i64 0), %50 ], [ getelementptr inbounds ([21 x i8], [21 x i8]* @.str.51, i64 0, i64 0), %51 ], [ getelementptr inbounds ([22 x i8], [22 x i8]* @.str.52, i64 0, i64 0), %52 ], [ getelementptr inbounds ([13 x i8], [13 x i8]* @.str.53, i64 0, i64 0), %53 ], [ getelementptr inbounds ([20 x i8], [20 x i8]* @.str.54, i64 0, i64 0), %54 ], [ getelementptr inbounds ([14 x i8], [14 x i8]* @.str.55, i64 0, i64 0), %55 ], [ getelementptr inbounds ([19 x i8], [19 x i8]* @.str.56, i64 0, i64 0), %56 ], [ getelementptr inbounds ([17 x i8], [17 x i8]* @.str.57, i64 0, i64 0), %57 ], [ getelementptr inbounds ([20 x i8], [20 x i8]* @.str.58, i64 0, i64 0), %58 ], [ getelementptr inbounds ([18 x i8], [18 x i8]* @.str.59, i64 0, i64 0), %59 ], [ getelementptr inbounds ([14 x i8], [14 x i8]* @.str.60, i64 0, i64 0), %60 ], [ getelementptr inbounds ([17 x i8], [17 x i8]* @.str.61, i64 0, i64 0), %61 ], [ getelementptr inbounds ([20 x i8], [20 x i8]* @.str.62, i64 0, i64 0), %62 ], [ getelementptr inbounds ([19 x i8], [19 x i8]* @.str.63, i64 0, i64 0), %63 ], [ getelementptr inbounds ([19 x i8], [19 x i8]* @.str.64, i64 0, i64 0), %64 ], [ getelementptr inbounds ([19 x i8], [19 x i8]* @.str.65, i64 0, i64 0), %65 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.66, i64 0, i64 0), %66 ], [ getelementptr inbounds ([17 x i8], [17 x i8]* @.str.67, i64 0, i64 0), %67 ], [ getelementptr inbounds ([20 x i8], [20 x i8]* @.str.68, i64 0, i64 0), %68 ], [ getelementptr inbounds ([19 x i8], [19 x i8]* @.str.69, i64 0, i64 0), %69 ], [ getelementptr inbounds ([15 x i8], [15 x i8]* @.str.70, i64 0, i64 0), %70 ], [ getelementptr inbounds ([20 x i8], [20 x i8]* @.str.71, i64 0, i64 0), %71 ], [ getelementptr inbounds ([22 x i8], [22 x i8]* @.str.72, i64 0, i64 0), %72 ], [ getelementptr inbounds ([34 x i8], [34 x i8]* @.str.73, i64 0, i64 0), %73 ], [ getelementptr inbounds ([21 x i8], [21 x i8]* @.str.74, i64 0, i64 0), %74 ], [ getelementptr inbounds ([21 x i8], [21 x i8]* @.str.75, i64 0, i64 0), %75 ], [ getelementptr inbounds ([24 x i8], [24 x i8]* @.str.76, i64 0, i64 0), %76 ], [ getelementptr inbounds ([25 x i8], [25 x i8]* @.str.77, i64 0, i64 0), %77 ], [ getelementptr inbounds ([26 x i8], [26 x i8]* @.str.78, i64 0, i64 0), %78 ], [ getelementptr inbounds ([19 x i8], [19 x i8]* @.str.79, i64 0, i64 0), %79 ], [ getelementptr inbounds ([26 x i8], [26 x i8]* @.str.80, i64 0, i64 0), %80 ], [ getelementptr inbounds ([14 x i8], [14 x i8]* @.str.81, i64 0, i64 0), %81 ], [ getelementptr inbounds ([21 x i8], [21 x i8]* @.str.82, i64 0, i64 0), %82 ], [ getelementptr inbounds ([18 x i8], [18 x i8]* @.str.83, i64 0, i64 0), %83 ], [ getelementptr inbounds ([20 x i8], [20 x i8]* @.str.84, i64 0, i64 0), %84 ], [ getelementptr inbounds ([14 x i8], [14 x i8]* @.str.85, i64 0, i64 0), %85 ], [ getelementptr inbounds ([24 x i8], [24 x i8]* @.str.86, i64 0, i64 0), %86 ], [ getelementptr inbounds ([27 x i8], [27 x i8]* @.str.87, i64 0, i64 0), %87 ], [ getelementptr inbounds ([17 x i8], [17 x i8]* @.str.88, i64 0, i64 0), %88 ], [ getelementptr inbounds ([19 x i8], [19 x i8]* @.str.89, i64 0, i64 0), %89 ], [ getelementptr inbounds ([23 x i8], [23 x i8]* @.str.90, i64 0, i64 0), %90 ], [ getelementptr inbounds ([13 x i8], [13 x i8]* @.str.92, i64 0, i64 0), %91 ], [ getelementptr inbounds ([16 x i8], [16 x i8]* @.str.93, i64 0, i64 0), %92 ], [ getelementptr inbounds ([14 x i8], [14 x i8]* @.str.94, i64 0, i64 0), %93 ], [ getelementptr inbounds ([20 x i8], [20 x i8]* @.str.95, i64 0, i64 0), %94 ], [ getelementptr inbounds ([19 x i8], [19 x i8]* @.str.96, i64 0, i64 0), %95 ], [ getelementptr inbounds ([23 x i8], [23 x i8]* @.str.97, i64 0, i64 0), %96 ], [ getelementptr inbounds ([14 x i8], [14 x i8]* @.str.98, i64 0, i64 0), %97 ], [ getelementptr inbounds ([9 x i8], [9 x i8]* @.str, i64 0, i64 0), %1 ]
ret i8* %99
}