#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ strcpy(char *, char *);
void ffgerr(int status, char *errtext) {
  errtext[0] = '\0';
  if (status >= 0 && status < 300) {
    switch (status) {
    case 0:
      strcpy(errtext, "OK - no error");
      break;
    case 1:
      strcpy(errtext, "non-CFITSIO program error");
      break;
    case 101:
      strcpy(errtext, "same input and output files");
      break;
    case 103:
      strcpy(errtext, "attempt to open too many files");
      break;
    case 104:
      strcpy(errtext, "could not open the named file");
      break;
    case 105:
      strcpy(errtext, "couldn't create the named file");
      break;
    case 106:
      strcpy(errtext, "error writing to FITS file");
      break;
    case 107:
      strcpy(errtext, "tried to move past end of file");
      break;
    case 108:
      strcpy(errtext, "error reading from FITS file");
      break;
    case 110:
      strcpy(errtext, "could not close the file");
      break;
    case 111:
      strcpy(errtext, "array dimensions too big");
      break;
    case 112:
      strcpy(errtext, "cannot write to readonly file");
      break;
    case 113:
      strcpy(errtext, "could not allocate memory");
      break;
    case 114:
      strcpy(errtext, "invalid fitsfile pointer");
      break;
    case 115:
      strcpy(errtext, "NULL input pointer");
      break;
    case 116:
      strcpy(errtext, "error seeking file position");
      break;
    case 117:
      strcpy(errtext, "bad value for file download timeout setting");
      break;
    case 121:
      strcpy(errtext, "invalid URL prefix");
      break;
    case 122:
      strcpy(errtext, "too many I/O drivers");
      break;
    case 123:
      strcpy(errtext, "I/O driver init failed");
      break;
    case 124:
      strcpy(errtext, "no I/O driver for this URLtype");
      break;
    case 125:
      strcpy(errtext, "parse error in input file URL");
      break;
    case 126:
      strcpy(errtext, "parse error in range list");
      break;
    case 151:
      strcpy(errtext, "bad argument (shared mem drvr)");
      break;
    case 152:
      strcpy(errtext, "null ptr arg (shared mem drvr)");
      break;
    case 153:
      strcpy(errtext, "no free shared memory handles");
      break;
    case 154:
      strcpy(errtext, "share mem drvr not initialized");
      break;
    case 155:
      strcpy(errtext, "IPC system error (shared mem)");
      break;
    case 156:
      strcpy(errtext, "no memory (shared mem drvr)");
      break;
    case 157:
      strcpy(errtext, "share mem resource deadlock");
      break;
    case 158:
      strcpy(errtext, "lock file open/create failed");
      break;
    case 159:
      strcpy(errtext, "can't resize share mem block");
      break;
    case 201:
      strcpy(errtext, "header already has keywords");
      break;
    case 202:
      strcpy(errtext, "keyword not found in header");
      break;
    case 203:
      strcpy(errtext, "keyword number out of bounds");
      break;
    case 204:
      strcpy(errtext, "keyword value is undefined");
      break;
    case 205:
      strcpy(errtext, "string missing closing quote");
      break;
    case 206:
      strcpy(errtext, "error in indexed keyword name");
      break;
    case 207:
      strcpy(errtext, "illegal character in keyword");
      break;
    case 208:
      strcpy(errtext, "required keywords out of order");
      break;
    case 209:
      strcpy(errtext, "keyword value not positive int");
      break;
    case 210:
      strcpy(errtext, "END keyword not found");
      break;
    case 211:
      strcpy(errtext, "illegal BITPIX keyword value");
      break;
    case 212:
      strcpy(errtext, "illegal NAXIS keyword value");
      break;
    case 213:
      strcpy(errtext, "illegal NAXISn keyword value");
      break;
    case 214:
      strcpy(errtext, "illegal PCOUNT keyword value");
      break;
    case 215:
      strcpy(errtext, "illegal GCOUNT keyword value");
      break;
    case 216:
      strcpy(errtext, "illegal TFIELDS keyword value");
      break;
    case 217:
      strcpy(errtext, "negative table row size");
      break;
    case 218:
      strcpy(errtext, "negative number of rows");
      break;
    case 219:
      strcpy(errtext, "named column not found");
      break;
    case 220:
      strcpy(errtext, "illegal SIMPLE keyword value");
      break;
    case 221:
      strcpy(errtext, "first keyword not SIMPLE");
      break;
    case 222:
      strcpy(errtext, "second keyword not BITPIX");
      break;
    case 223:
      strcpy(errtext, "third keyword not NAXIS");
      break;
    case 224:
      strcpy(errtext, "missing NAXISn keywords");
      break;
    case 225:
      strcpy(errtext, "first keyword not XTENSION");
      break;
    case 226:
      strcpy(errtext, "CHDU not an ASCII table");
      break;
    case 227:
      strcpy(errtext, "CHDU not a binary table");
      break;
    case 228:
      strcpy(errtext, "PCOUNT keyword not found");
      break;
    case 229:
      strcpy(errtext, "GCOUNT keyword not found");
      break;
    case 230:
      strcpy(errtext, "TFIELDS keyword not found");
      break;
    case 231:
      strcpy(errtext, "missing TBCOLn keyword");
      break;
    case 232:
      strcpy(errtext, "missing TFORMn keyword");
      break;
    case 233:
      strcpy(errtext, "CHDU not an IMAGE extension");
      break;
    case 234:
      strcpy(errtext, "illegal TBCOLn keyword value");
      break;
    case 235:
      strcpy(errtext, "CHDU not a table extension");
      break;
    case 236:
      strcpy(errtext, "column exceeds width of table");
      break;
    case 237:
      strcpy(errtext, "more than 1 matching col. name");
      break;
    case 241:
      strcpy(errtext, "row width not = field widths");
      break;
    case 251:
      strcpy(errtext, "unknown FITS extension type");
      break;
    case 252:
      strcpy(errtext, "1st key not SIMPLE or XTENSION");
      break;
    case 253:
      strcpy(errtext, "END keyword is not blank");
      break;
    case 254:
      strcpy(errtext, "Header fill area not blank");
      break;
    case 255:
      strcpy(errtext, "Data fill area invalid");
      break;
    case 261:
      strcpy(errtext, "illegal TFORM format code");
      break;
    case 262:
      strcpy(errtext, "unknown TFORM datatype code");
      break;
    case 263:
      strcpy(errtext, "illegal TDIMn keyword value");
      break;
    case 264:
      strcpy(errtext, "invalid BINTABLE heap pointer");
      break;
    default:
      strcpy(errtext, "unknown error status");
      break;
    }
  } else if (status < 600) {
    switch (status) {
    case 301:
      strcpy(errtext, "illegal HDU number");
      break;
    case 302:
      strcpy(errtext, "column number < 1 or > tfields");
      break;
    case 304:
      strcpy(errtext, "negative byte address");
      break;
    case 306:
      strcpy(errtext, "negative number of elements");
      break;
    case 307:
      strcpy(errtext, "bad first row number");
      break;
    case 308:
      strcpy(errtext, "bad first element number");
      break;
    case 309:
      strcpy(errtext, "not an ASCII (A) column");
      break;
    case 310:
      strcpy(errtext, "not a logical (L) column");
      break;
    case 311:
      strcpy(errtext, "bad ASCII table datatype");
      break;
    case 312:
      strcpy(errtext, "bad binary table datatype");
      break;
    case 314:
      strcpy(errtext, "null value not defined");
      break;
    case 317:
      strcpy(errtext, "not a variable length column");
      break;
    case 320:
      strcpy(errtext, "illegal number of dimensions");
      break;
    case 321:
      strcpy(errtext, "1st pixel no. > last pixel no.");
      break;
    case 322:
      strcpy(errtext, "BSCALE or TSCALn = 0.");
      break;
    case 323:
      strcpy(errtext, "illegal axis length < 1");
      break;
    case 340:
      strcpy(errtext, "not group table");
      break;
    case 341:
      strcpy(errtext, "HDU already member of group");
      break;
    case 342:
      strcpy(errtext, "group member not found");
      break;
    case 343:
      strcpy(errtext, "group not found");
      break;
    case 344:
      strcpy(errtext, "bad group id");
      break;
    case 345:
      strcpy(errtext, "too many HDUs tracked");
      break;
    case 346:
      strcpy(errtext, "HDU alread tracked");
      break;
    case 347:
      strcpy(errtext, "bad Grouping option");
      break;
    case 348:
      strcpy(errtext, "identical pointers (groups)");
      break;
    case 360:
      strcpy(errtext, "malloc failed in parser");
      break;
    case 361:
      strcpy(errtext, "file read error in parser");
      break;
    case 362:
      strcpy(errtext, "null pointer arg (parser)");
      break;
    case 363:
      strcpy(errtext, "empty line (parser)");
      break;
    case 364:
      strcpy(errtext, "cannot unread > 1 line");
      break;
    case 365:
      strcpy(errtext, "parser too deeply nested");
      break;
    case 366:
      strcpy(errtext, "file open failed (parser)");
      break;
    case 367:
      strcpy(errtext, "hit EOF (parser)");
      break;
    case 368:
      strcpy(errtext, "bad argument (parser)");
      break;
    case 369:
      strcpy(errtext, "unexpected token (parser)");
      break;
    case 401:
      strcpy(errtext, "bad int to string conversion");
      break;
    case 402:
      strcpy(errtext, "bad float to string conversion");
      break;
    case 403:
      strcpy(errtext, "keyword value not integer");
      break;
    case 404:
      strcpy(errtext, "keyword value not logical");
      break;
    case 405:
      strcpy(errtext, "keyword value not floating pt");
      break;
    case 406:
      strcpy(errtext, "keyword value not double");
      break;
    case 407:
      strcpy(errtext, "bad string to int conversion");
      break;
    case 408:
      strcpy(errtext, "bad string to float conversion");
      break;
    case 409:
      strcpy(errtext, "bad string to double convert");
      break;
    case 410:
      strcpy(errtext, "illegal datatype code value");
      break;
    case 411:
      strcpy(errtext, "illegal no. of decimals");
      break;
    case 412:
      strcpy(errtext, "datatype conversion overflow");
      break;
    case 413:
      strcpy(errtext, "error compressing image");
      break;
    case 414:
      strcpy(errtext, "error uncompressing image");
      break;
    case 420:
      strcpy(errtext, "bad date or time conversion");
      break;
    case 431:
      strcpy(errtext, "syntax error in expression");
      break;
    case 432:
      strcpy(errtext, "expression result wrong type");
      break;
    case 433:
      strcpy(errtext, "vector result too large");
      break;
    case 434:
      strcpy(errtext, "missing output column");
      break;
    case 435:
      strcpy(errtext, "bad data in parsed column");
      break;
    case 436:
      strcpy(errtext, "output extension of wrong type");
      break;
    case 501:
      strcpy(errtext, "WCS angle too large");
      break;
    case 502:
      strcpy(errtext, "bad WCS coordinate");
      break;
    case 503:
      strcpy(errtext, "error in WCS calculation");
      break;
    case 504:
      strcpy(errtext, "bad WCS projection type");
      break;
    case 505:
      strcpy(errtext, "WCS keywords not found");
      break;
    default:
      strcpy(errtext, "unknown error status");
      break;
    }
  } else {
    strcpy(errtext, "unknown error status");
  }
  return;
}


x86 assembly (clang, -O0):
<ffgerr>:
push   %rbp
mov    %rsp,%rbp
sub    $0x20,%rsp
mov    %edi,-0x4(%rbp)
mov    %rsi,-0x10(%rbp)
mov    -0x10(%rbp),%rax
movb   $0x0,(%rax)
cmpl   $0x0,-0x4(%rbp)
jl     17f4 <ffgerr+0x6e4>
cmpl   $0x12c,-0x4(%rbp)
jge    17f4 <ffgerr+0x6e4>
mov    -0x4(%rbp),%eax
mov    %rax,-0x18(%rbp)
sub    $0x108,%rax
ja     17df <ffgerr+0x6cf>
mov    -0x18(%rbp),%rax
lea    0x11d9(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
mov    -0x10(%rbp),%rdi
lea    0x15e9(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x15e2(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x15e7(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x15ee(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x15f8(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1601(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x160b(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1611(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x161b(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1623(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1627(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x162b(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1634(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1639(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x163d(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x163b(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1642(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1659(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1657(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1657(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1659(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1663(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x166c(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1671(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x167b(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1685(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x168e(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1698(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x16a1(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x16a8(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x16af(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x16b7(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x16bf(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x16c6(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x16cd(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x16d5(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x16db(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x16e3(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x16ec(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x16f4(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x16fe(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1708(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1709(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1711(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1718(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1720(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1728(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1730(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1739(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x173c(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x173f(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1741(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1749(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x174d(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1752(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1755(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1758(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x175e(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1761(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1764(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1768(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x176c(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1771(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1773(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1775(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x177c(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1784(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x178a(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x1793(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x179d(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x17a5(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x17ac(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x17b6(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x17ba(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x17c0(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x17c2(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x17c7(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x17ce(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x17d5(%rip),%rsi
call   1030 <strcpy@plt>
jmp    17ef <ffgerr+0x6df>
mov    -0x10(%rbp),%rdi
lea    0x17de(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d59 <ffgerr+0xc49>
cmpl   $0x258,-0x4(%rbp)
jge    1d44 <ffgerr+0xc34>
mov    -0x4(%rbp),%eax
add    $0xfffffed3,%eax
mov    %eax,%ecx
mov    %rcx,-0x20(%rbp)
sub    $0xcc,%eax
ja     1d2f <ffgerr+0xc1f>
mov    -0x20(%rbp),%rax
lea    0x7db(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
mov    -0x10(%rbp),%rdi
lea    0x17a4(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x17a2(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x17ac(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x17ad(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x17b4(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x17b4(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x17b8(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x17bb(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x17bf(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x17c3(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x17c8(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x17ca(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x17d2(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x17da(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x17e4(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x17e5(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x17e8(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x17e3(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x17ea(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x17ec(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x17e7(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x17df(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x17e0(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x17de(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x17dd(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x17e4(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x17e7(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x17ec(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x17f1(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x17f0(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x17f2(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x17f6(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x17fb(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x17f7(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x17f8(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x17fd(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x1805(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x180f(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x1814(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x1819(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x1822(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x1826(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x182e(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x1838(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x1840(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x1847(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x184a(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x1852(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x1855(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x185a(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x1861(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x1867(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x186f(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x1872(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x1873(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x1878(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x1882(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x1881(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x187f(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x1883(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x1886(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d3f <ffgerr+0xc2f>
mov    -0x10(%rbp),%rdi
lea    0x128e(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d54 <ffgerr+0xc44>
mov    -0x10(%rbp),%rdi
lea    0x1279(%rip),%rsi
call   1030 <strcpy@plt>
jmp    1d59 <ffgerr+0xc49>
add    $0x20,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<ffgerr>:
mov    %rsi,%rax
movb   $0x0,(%rsi)
cmp    $0x12b,%edi
ja     114e <ffgerr+0x3e>
cmp    $0x108,%edi
ja     119c <ffgerr+0x8c>
lea    0x162b(%rip),%rsi
mov    %edi,%ecx
lea    0x11fe(%rip),%rdx
movslq (%rdx,%rcx,4),%rcx
add    %rdx,%rcx
jmp    *%rcx
lea    0x1620(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1e73(%rip),%rcx
cmp    $0x257,%edi
jg     1191 <ffgerr+0x81>
add    $0xfffffed3,%edi
cmp    $0xcc,%edi
ja     1191 <ffgerr+0x81>
lea    0x1e6b(%rip),%rsi
lea    0xe87(%rip),%rdx
movslq (%rdx,%rdi,4),%rdi
add    %rdx,%rdi
jmp    *%rdi
lea    0x1e67(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
mov    %rcx,%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1e25(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x15ce(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x15db(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x15eb(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x15fa(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x160a(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1616(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1626(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1634(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x163e(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1648(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1657(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1662(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x166c(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1670(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x167d(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x169a(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x169e(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x16a4(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x16ac(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x16bc(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x16cb(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x16d6(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x16e6(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x16f6(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1705(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1715(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1724(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1731(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x173e(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x174c(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x175a(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1767(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1774(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1782(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x178e(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x179c(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x17ab(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x17b9(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x17c9(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x17d9(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x17e0(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x17ee(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x17fb(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1809(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1817(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1825(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1834(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x183d(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1846(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x184e(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x185c(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1866(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1871(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x187a(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1883(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x188f(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1898(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x18a1(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x18ab(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x18b5(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x18c0(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x18c8(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x18d0(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x18dd(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x18eb(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x18f7(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1906(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1916(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1924(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1931(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1941(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x194b(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1957(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x195f(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x196a(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1977(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1984(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x19da(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x19e1(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x19ee(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x19f4(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x19fe(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1a07(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1a11(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1a1b(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1a26(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1a2e(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1a3c(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1a4a(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1a5a(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1a61(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1a6a(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1a6b(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1a78(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1a80(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1a81(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1a7f(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1a86(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1a8a(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1a8f(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1a9c(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1aa5(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1ab0(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1abb(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1ac0(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1ac8(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1ad2(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1add(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1adf(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1ae6(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1af1(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1aff(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1b0f(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1b1a(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1b25(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1b34(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1b3e(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1b4c(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1b5c(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1b6a(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1b77(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1b80(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1b8e(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1b97(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1ba2(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1baf(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1bbb(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1bc9(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1bd2(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1bd9(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1be4(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1bf4(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1bf9(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1bfd(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1c07(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>
lea    0x1c10(%rip),%rsi
mov    %rax,%rdi
jmp    1030 <strcpy@plt>

LLVM IR (-O0):
@.str = [14 x i8] c"OK - no error\00"
@.str.1 = [26 x i8] c"non-CFITSIO program error\00"
@.str.2 = [28 x i8] c"same input and output files\00"
@.str.3 = [31 x i8] c"attempt to open too many files\00"
@.str.4 = [30 x i8] c"could not open the named file\00"
@.str.5 = [31 x i8] c"couldn't create the named file\00"
@.str.6 = [27 x i8] c"error writing to FITS file\00"
@.str.7 = [31 x i8] c"tried to move past end of file\00"
@.str.8 = [29 x i8] c"error reading from FITS file\00"
@.str.9 = [25 x i8] c"could not close the file\00"
@.str.10 = [25 x i8] c"array dimensions too big\00"
@.str.11 = [30 x i8] c"cannot write to file\00"
@.str.12 = [26 x i8] c"could not allocate memory\00"
@.str.13 = [25 x i8] c"invalid fitsfile pointer\00"
@.str.14 = [19 x i8] c"NULL input pointer\00"
@.str.15 = [28 x i8] c"error seeking file position\00"
@.str.16 = [44 x i8] c"bad value for file download timeout setting\00"
@.str.17 = [19 x i8] c"invalid URL prefix\00"
@.str.18 = [21 x i8] c"too many I/O drivers\00"
@.str.19 = [23 x i8] c"I/O driver init failed\00"
@.str.20 = [31 x i8] c"no I/O driver for this URLtype\00"
@.str.21 = [30 x i8] c"parse error in input file URL\00"
@.str.22 = [26 x i8] c"parse error in range list\00"
@.str.23 = [31 x i8] c"bad argument (shared mem drvr)\00"
@.str.24 = [31 x i8] c"null ptr arg (shared mem drvr)\00"
@.str.25 = [30 x i8] c"no free shared memory handles\00"
@.str.26 = [31 x i8] c"share mem drvr not initialized\00"
@.str.27 = [30 x i8] c"IPC system error (shared mem)\00"
@.str.28 = [28 x i8] c"no memory (shared mem drvr)\00"
@.str.29 = [28 x i8] c"share mem resource deadlock\00"
@.str.30 = [29 x i8] c"lock file open/create failed\00"
@.str.31 = [29 x i8] c"can't resize share mem block\00"
@.str.32 = [28 x i8] c"header already has keywords\00"
@.str.33 = [28 x i8] c"keyword not found in header\00"
@.str.34 = [29 x i8] c"keyword number out of bounds\00"
@.str.35 = [27 x i8] c"keyword value is undefined\00"
@.str.36 = [29 x i8] c"string missing closing quote\00"
@.str.37 = [30 x i8] c"error in indexed keyword name\00"
@.str.38 = [29 x i8] c"illegal character in keyword\00"
@.str.39 = [31 x i8] c"required keywords out of order\00"
@.str.40 = [31 x i8] c"keyword value not positive int\00"
@.str.41 = [22 x i8] c"END keyword not found\00"
@.str.42 = [29 x i8] c"illegal BITPIX keyword value\00"
@.str.43 = [28 x i8] c"illegal NAXIS keyword value\00"
@.str.44 = [29 x i8] c"illegal NAXISn keyword value\00"
@.str.45 = [29 x i8] c"illegal PCOUNT keyword value\00"
@.str.46 = [29 x i8] c"illegal GCOUNT keyword value\00"
@.str.47 = [30 x i8] c"illegal TFIELDS keyword value\00"
@.str.48 = [24 x i8] c"negative table row size\00"
@.str.49 = [24 x i8] c"negative number of rows\00"
@.str.50 = [23 x i8] c"named column not found\00"
@.str.51 = [29 x i8] c"illegal SIMPLE keyword value\00"
@.str.52 = [25 x i8] c"first keyword not SIMPLE\00"
@.str.53 = [26 x i8] c"second keyword not BITPIX\00"
@.str.54 = [24 x i8] c"third keyword not NAXIS\00"
@.str.55 = [24 x i8] c"missing NAXISn keywords\00"
@.str.56 = [27 x i8] c"first keyword not XTENSION\00"
@.str.57 = [24 x i8] c"CHDU not an ASCII table\00"
@.str.58 = [24 x i8] c"CHDU not a binary table\00"
@.str.59 = [25 x i8] c"PCOUNT keyword not found\00"
@.str.60 = [25 x i8] c"GCOUNT keyword not found\00"
@.str.61 = [26 x i8] c"TFIELDS keyword not found\00"
@.str.62 = [23 x i8] c"missing TBCOLn keyword\00"
@.str.63 = [23 x i8] c"missing TFORMn keyword\00"
@.str.64 = [28 x i8] c"CHDU not an IMAGE extension\00"
@.str.65 = [29 x i8] c"illegal TBCOLn keyword value\00"
@.str.66 = [27 x i8] c"CHDU not a table extension\00"
@.str.67 = [30 x i8] c"column exceeds width of table\00"
@.str.68 = [31 x i8] c"more than 1 matching col. name\00"
@.str.69 = [29 x i8] c"row width not = field widths\00"
@.str.70 = [28 x i8] c"unknown FITS extension type\00"
@.str.71 = [31 x i8] c"1st key not SIMPLE or XTENSION\00"
@.str.72 = [25 x i8] c"END keyword is not blank\00"
@.str.73 = [27 x i8] c"Header fill area not blank\00"
@.str.74 = [23 x i8] c"Data fill area invalid\00"
@.str.75 = [26 x i8] c"illegal TFORM format code\00"
@.str.76 = [28 x i8] c"unknown TFORM datatype code\00"
@.str.77 = [28 x i8] c"illegal TDIMn keyword value\00"
@.str.78 = [30 x i8] c"invalid BINTABLE heap pointer\00"
@.str.79 = [21 x i8] c"unknown error status\00"
@.str.80 = [19 x i8] c"illegal HDU number\00"
@.str.81 = [31 x i8] c"column number < 1 or > tfields\00"
@.str.82 = [22 x i8] c"negative byte address\00"
@.str.83 = [28 x i8] c"negative number of elements\00"
@.str.84 = [21 x i8] c"bad first row number\00"
@.str.85 = [25 x i8] c"bad first element number\00"
@.str.86 = [24 x i8] c"not an ASCII (A) column\00"
@.str.87 = [25 x i8] c"not a logical (L) column\00"
@.str.88 = [25 x i8] c"bad ASCII table datatype\00"
@.str.89 = [26 x i8] c"bad binary table datatype\00"
@.str.90 = [23 x i8] c"null value not defined\00"
@.str.91 = [29 x i8] c"not a variable length column\00"
@.str.92 = [29 x i8] c"illegal number of dimensions\00"
@.str.93 = [31 x i8] c"1st pixel no. > last pixel no.\00"
@.str.94 = [22 x i8] c"BSCALE or TSCALn = 0.\00"
@.str.95 = [24 x i8] c"illegal axis length < 1\00"
@.str.96 = [16 x i8] c"not group table\00"
@.str.97 = [28 x i8] c"HDU already member of group\00"
@.str.98 = [23 x i8] c"group member not found\00"
@.str.99 = [16 x i8] c"group not found\00"
@.str.100 = [13 x i8] c"bad group id\00"
@.str.101 = [22 x i8] c"too many HDUs tracked\00"
@.str.102 = [19 x i8] c"HDU alread tracked\00"
@.str.103 = [20 x i8] c"bad Grouping option\00"
@.str.104 = [28 x i8] c"identical pointers (groups)\00"
@.str.105 = [24 x i8] c"malloc failed in parser\00"
@.str.106 = [26 x i8] c"file read error in parser\00"
@.str.107 = [26 x i8] c"null pointer arg (parser)\00"
@.str.108 = [20 x i8] c"empty line (parser)\00"
@.str.109 = [23 x i8] c"cannot unread > 1 line\00"
@.str.110 = [25 x i8] c"parser too deeply nested\00"
@.str.111 = [26 x i8] c"file open failed (parser)\00"
@.str.112 = [17 x i8] c"hit EOF (parser)\00"
@.str.113 = [22 x i8] c"bad argument (parser)\00"
@.str.114 = [26 x i8] c"unexpected token (parser)\00"
@.str.115 = [29 x i8] c"bad int to string conversion\00"
@.str.116 = [31 x i8] c"bad float to string conversion\00"
@.str.117 = [26 x i8] c"keyword value not integer\00"
@.str.118 = [26 x i8] c"keyword value not logical\00"
@.str.119 = [30 x i8] c"keyword value not floating pt\00"
@.str.120 = [25 x i8] c"keyword value not double\00"
@.str.121 = [29 x i8] c"bad string to int conversion\00"
@.str.122 = [31 x i8] c"bad string to float conversion\00"
@.str.123 = [29 x i8] c"bad string to double convert\00"
@.str.124 = [28 x i8] c"illegal datatype code value\00"
@.str.125 = [24 x i8] c"illegal no. of decimals\00"
@.str.126 = [29 x i8] c"datatype conversion overflow\00"
@.str.127 = [24 x i8] c"error compressing image\00"
@.str.128 = [26 x i8] c"error uncompressing image\00"
@.str.129 = [28 x i8] c"bad date or time conversion\00"
@.str.130 = [27 x i8] c"syntax error in expression\00"
@.str.131 = [29 x i8] c"expression result wrong type\00"
@.str.132 = [24 x i8] c"vector result too large\00"
@.str.133 = [22 x i8] c"missing output column\00"
@.str.134 = [26 x i8] c"bad data in parsed column\00"
@.str.135 = [31 x i8] c"output extension of wrong type\00"
@.str.136 = [20 x i8] c"WCS angle too large\00"
@.str.137 = [19 x i8] c"bad WCS coordinate\00"
@.str.138 = [25 x i8] c"error in WCS calculation\00"
@.str.139 = [24 x i8] c"bad WCS projection type\00"
@.str.140 = [23 x i8] c"WCS keywords not found\00"
define void @ffgerr(i32 %0, i8* %1) {
%3 = alloca i32
%4 = alloca i8*
store i32 %0, i32* %3
store i8* %1, i8** %4
%5 = load i8*, i8** %4
%6 = getelementptr inbounds i8, i8* %5, i64 0
store i8 0, i8* %6
%7 = load i32, i32* %3
%8 = icmp sge i32 %7, 0
br i1 %8, label %9, label %255
9: ; preds = %2
%10 = load i32, i32* %3
%11 = icmp slt i32 %10, 300
br i1 %11, label %12, label %255
12: ; preds = %9
%13 = load i32, i32* %3
switch i32 %13, label %251 [
i32 0, label %14
i32 1, label %17
i32 101, label %20
i32 103, label %23
i32 104, label %26
i32 105, label %29
i32 106, label %32
i32 107, label %35
i32 108, label %38
i32 110, label %41
i32 111, label %44
i32 112, label %47
i32 113, label %50
i32 114, label %53
i32 115, label %56
i32 116, label %59
i32 117, label %62
i32 121, label %65
i32 122, label %68
i32 123, label %71
i32 124, label %74
i32 125, label %77
i32 126, label %80
i32 151, label %83
i32 152, label %86
i32 153, label %89
i32 154, label %92
i32 155, label %95
i32 156, label %98
i32 157, label %101
i32 158, label %104
i32 159, label %107
i32 201, label %110
i32 202, label %113
i32 203, label %116
i32 204, label %119
i32 205, label %122
i32 206, label %125
i32 207, label %128
i32 208, label %131
i32 209, label %134
i32 210, label %137
i32 211, label %140
i32 212, label %143
i32 213, label %146
i32 214, label %149
i32 215, label %152
i32 216, label %155
i32 217, label %158
i32 218, label %161
i32 219, label %164
i32 220, label %167
i32 221, label %170
i32 222, label %173
i32 223, label %176
i32 224, label %179
i32 225, label %182
i32 226, label %185
i32 227, label %188
i32 228, label %191
i32 229, label %194
i32 230, label %197
i32 231, label %200
i32 232, label %203
i32 233, label %206
i32 234, label %209
i32 235, label %212
i32 236, label %215
i32 237, label %218
i32 241, label %221
i32 251, label %224
i32 252, label %227
i32 253, label %230
i32 254, label %233
i32 255, label %236
i32 261, label %239
i32 262, label %242
i32 263, label %245
i32 264, label %248
]
14: ; preds = %12
%15 = load i8*, i8** %4
%16 = call i32 @strcpy(i8* %15, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str, i64 0, i64 0))
br label %254
17: ; preds = %12
%18 = load i8*, i8** %4
%19 = call i32 @strcpy(i8* %18, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.1, i64 0, i64 0))
br label %254
20: ; preds = %12
%21 = load i8*, i8** %4
%22 = call i32 @strcpy(i8* %21, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.2, i64 0, i64 0))
br label %254
23: ; preds = %12
%24 = load i8*, i8** %4
%25 = call i32 @strcpy(i8* %24, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.3, i64 0, i64 0))
br label %254
26: ; preds = %12
%27 = load i8*, i8** %4
%28 = call i32 @strcpy(i8* %27, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.4, i64 0, i64 0))
br label %254
29: ; preds = %12
%30 = load i8*, i8** %4
%31 = call i32 @strcpy(i8* %30, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.5, i64 0, i64 0))
br label %254
32: ; preds = %12
%33 = load i8*, i8** %4
%34 = call i32 @strcpy(i8* %33, i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.6, i64 0, i64 0))
br label %254
35: ; preds = %12
%36 = load i8*, i8** %4
%37 = call i32 @strcpy(i8* %36, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.7, i64 0, i64 0))
br label %254
38: ; preds = %12
%39 = load i8*, i8** %4
%40 = call i32 @strcpy(i8* %39, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.8, i64 0, i64 0))
br label %254
41: ; preds = %12
%42 = load i8*, i8** %4
%43 = call i32 @strcpy(i8* %42, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.9, i64 0, i64 0))
br label %254
44: ; preds = %12
%45 = load i8*, i8** %4
%46 = call i32 @strcpy(i8* %45, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.10, i64 0, i64 0))
br label %254
47: ; preds = %12
%48 = load i8*, i8** %4
%49 = call i32 @strcpy(i8* %48, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.11, i64 0, i64 0))
br label %254
50: ; preds = %12
%51 = load i8*, i8** %4
%52 = call i32 @strcpy(i8* %51, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.12, i64 0, i64 0))
br label %254
53: ; preds = %12
%54 = load i8*, i8** %4
%55 = call i32 @strcpy(i8* %54, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.13, i64 0, i64 0))
br label %254
56: ; preds = %12
%57 = load i8*, i8** %4
%58 = call i32 @strcpy(i8* %57, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.14, i64 0, i64 0))
br label %254
59: ; preds = %12
%60 = load i8*, i8** %4
%61 = call i32 @strcpy(i8* %60, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.15, i64 0, i64 0))
br label %254
62: ; preds = %12
%63 = load i8*, i8** %4
%64 = call i32 @strcpy(i8* %63, i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.16, i64 0, i64 0))
br label %254
65: ; preds = %12
%66 = load i8*, i8** %4
%67 = call i32 @strcpy(i8* %66, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.17, i64 0, i64 0))
br label %254
68: ; preds = %12
%69 = load i8*, i8** %4
%70 = call i32 @strcpy(i8* %69, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.18, i64 0, i64 0))
br label %254
71: ; preds = %12
%72 = load i8*, i8** %4
%73 = call i32 @strcpy(i8* %72, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.19, i64 0, i64 0))
br label %254
74: ; preds = %12
%75 = load i8*, i8** %4
%76 = call i32 @strcpy(i8* %75, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.20, i64 0, i64 0))
br label %254
77: ; preds = %12
%78 = load i8*, i8** %4
%79 = call i32 @strcpy(i8* %78, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.21, i64 0, i64 0))
br label %254
80: ; preds = %12
%81 = load i8*, i8** %4
%82 = call i32 @strcpy(i8* %81, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.22, i64 0, i64 0))
br label %254
83: ; preds = %12
%84 = load i8*, i8** %4
%85 = call i32 @strcpy(i8* %84, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.23, i64 0, i64 0))
br label %254
86: ; preds = %12
%87 = load i8*, i8** %4
%88 = call i32 @strcpy(i8* %87, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.24, i64 0, i64 0))
br label %254
89: ; preds = %12
%90 = load i8*, i8** %4
%91 = call i32 @strcpy(i8* %90, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.25, i64 0, i64 0))
br label %254
92: ; preds = %12
%93 = load i8*, i8** %4
%94 = call i32 @strcpy(i8* %93, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.26, i64 0, i64 0))
br label %254
95: ; preds = %12
%96 = load i8*, i8** %4
%97 = call i32 @strcpy(i8* %96, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.27, i64 0, i64 0))
br label %254
98: ; preds = %12
%99 = load i8*, i8** %4
%100 = call i32 @strcpy(i8* %99, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.28, i64 0, i64 0))
br label %254
101: ; preds = %12
%102 = load i8*, i8** %4
%103 = call i32 @strcpy(i8* %102, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.29, i64 0, i64 0))
br label %254
104: ; preds = %12
%105 = load i8*, i8** %4
%106 = call i32 @strcpy(i8* %105, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.30, i64 0, i64 0))
br label %254
107: ; preds = %12
%108 = load i8*, i8** %4
%109 = call i32 @strcpy(i8* %108, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.31, i64 0, i64 0))
br label %254
110: ; preds = %12
%111 = load i8*, i8** %4
%112 = call i32 @strcpy(i8* %111, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.32, i64 0, i64 0))
br label %254
113: ; preds = %12
%114 = load i8*, i8** %4
%115 = call i32 @strcpy(i8* %114, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.33, i64 0, i64 0))
br label %254
116: ; preds = %12
%117 = load i8*, i8** %4
%118 = call i32 @strcpy(i8* %117, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.34, i64 0, i64 0))
br label %254
119: ; preds = %12
%120 = load i8*, i8** %4
%121 = call i32 @strcpy(i8* %120, i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.35, i64 0, i64 0))
br label %254
122: ; preds = %12
%123 = load i8*, i8** %4
%124 = call i32 @strcpy(i8* %123, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.36, i64 0, i64 0))
br label %254
125: ; preds = %12
%126 = load i8*, i8** %4
%127 = call i32 @strcpy(i8* %126, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.37, i64 0, i64 0))
br label %254
128: ; preds = %12
%129 = load i8*, i8** %4
%130 = call i32 @strcpy(i8* %129, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.38, i64 0, i64 0))
br label %254
131: ; preds = %12
%132 = load i8*, i8** %4
%133 = call i32 @strcpy(i8* %132, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.39, i64 0, i64 0))
br label %254
134: ; preds = %12
%135 = load i8*, i8** %4
%136 = call i32 @strcpy(i8* %135, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.40, i64 0, i64 0))
br label %254
137: ; preds = %12
%138 = load i8*, i8** %4
%139 = call i32 @strcpy(i8* %138, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.41, i64 0, i64 0))
br label %254
140: ; preds = %12
%141 = load i8*, i8** %4
%142 = call i32 @strcpy(i8* %141, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.42, i64 0, i64 0))
br label %254
143: ; preds = %12
%144 = load i8*, i8** %4
%145 = call i32 @strcpy(i8* %144, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.43, i64 0, i64 0))
br label %254
146: ; preds = %12
%147 = load i8*, i8** %4
%148 = call i32 @strcpy(i8* %147, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.44, i64 0, i64 0))
br label %254
149: ; preds = %12
%150 = load i8*, i8** %4
%151 = call i32 @strcpy(i8* %150, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.45, i64 0, i64 0))
br label %254
152: ; preds = %12
%153 = load i8*, i8** %4
%154 = call i32 @strcpy(i8* %153, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.46, i64 0, i64 0))
br label %254
155: ; preds = %12
%156 = load i8*, i8** %4
%157 = call i32 @strcpy(i8* %156, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.47, i64 0, i64 0))
br label %254
158: ; preds = %12
%159 = load i8*, i8** %4
%160 = call i32 @strcpy(i8* %159, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.48, i64 0, i64 0))
br label %254
161: ; preds = %12
%162 = load i8*, i8** %4
%163 = call i32 @strcpy(i8* %162, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.49, i64 0, i64 0))
br label %254
164: ; preds = %12
%165 = load i8*, i8** %4
%166 = call i32 @strcpy(i8* %165, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.50, i64 0, i64 0))
br label %254
167: ; preds = %12
%168 = load i8*, i8** %4
%169 = call i32 @strcpy(i8* %168, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.51, i64 0, i64 0))
br label %254
170: ; preds = %12
%171 = load i8*, i8** %4
%172 = call i32 @strcpy(i8* %171, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.52, i64 0, i64 0))
br label %254
173: ; preds = %12
%174 = load i8*, i8** %4
%175 = call i32 @strcpy(i8* %174, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.53, i64 0, i64 0))
br label %254
176: ; preds = %12
%177 = load i8*, i8** %4
%178 = call i32 @strcpy(i8* %177, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.54, i64 0, i64 0))
br label %254
179: ; preds = %12
%180 = load i8*, i8** %4
%181 = call i32 @strcpy(i8* %180, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.55, i64 0, i64 0))
br label %254
182: ; preds = %12
%183 = load i8*, i8** %4
%184 = call i32 @strcpy(i8* %183, i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.56, i64 0, i64 0))
br label %254
185: ; preds = %12
%186 = load i8*, i8** %4
%187 = call i32 @strcpy(i8* %186, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.57, i64 0, i64 0))
br label %254
188: ; preds = %12
%189 = load i8*, i8** %4
%190 = call i32 @strcpy(i8* %189, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.58, i64 0, i64 0))
br label %254
191: ; preds = %12
%192 = load i8*, i8** %4
%193 = call i32 @strcpy(i8* %192, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.59, i64 0, i64 0))
br label %254
194: ; preds = %12
%195 = load i8*, i8** %4
%196 = call i32 @strcpy(i8* %195, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.60, i64 0, i64 0))
br label %254
197: ; preds = %12
%198 = load i8*, i8** %4
%199 = call i32 @strcpy(i8* %198, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.61, i64 0, i64 0))
br label %254
200: ; preds = %12
%201 = load i8*, i8** %4
%202 = call i32 @strcpy(i8* %201, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.62, i64 0, i64 0))
br label %254
203: ; preds = %12
%204 = load i8*, i8** %4
%205 = call i32 @strcpy(i8* %204, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.63, i64 0, i64 0))
br label %254
206: ; preds = %12
%207 = load i8*, i8** %4
%208 = call i32 @strcpy(i8* %207, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.64, i64 0, i64 0))
br label %254
209: ; preds = %12
%210 = load i8*, i8** %4
%211 = call i32 @strcpy(i8* %210, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.65, i64 0, i64 0))
br label %254
212: ; preds = %12
%213 = load i8*, i8** %4
%214 = call i32 @strcpy(i8* %213, i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.66, i64 0, i64 0))
br label %254
215: ; preds = %12
%216 = load i8*, i8** %4
%217 = call i32 @strcpy(i8* %216, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.67, i64 0, i64 0))
br label %254
218: ; preds = %12
%219 = load i8*, i8** %4
%220 = call i32 @strcpy(i8* %219, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.68, i64 0, i64 0))
br label %254
221: ; preds = %12
%222 = load i8*, i8** %4
%223 = call i32 @strcpy(i8* %222, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.69, i64 0, i64 0))
br label %254
224: ; preds = %12
%225 = load i8*, i8** %4
%226 = call i32 @strcpy(i8* %225, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.70, i64 0, i64 0))
br label %254
227: ; preds = %12
%228 = load i8*, i8** %4
%229 = call i32 @strcpy(i8* %228, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.71, i64 0, i64 0))
br label %254
230: ; preds = %12
%231 = load i8*, i8** %4
%232 = call i32 @strcpy(i8* %231, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.72, i64 0, i64 0))
br label %254
233: ; preds = %12
%234 = load i8*, i8** %4
%235 = call i32 @strcpy(i8* %234, i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.73, i64 0, i64 0))
br label %254
236: ; preds = %12
%237 = load i8*, i8** %4
%238 = call i32 @strcpy(i8* %237, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.74, i64 0, i64 0))
br label %254
239: ; preds = %12
%240 = load i8*, i8** %4
%241 = call i32 @strcpy(i8* %240, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.75, i64 0, i64 0))
br label %254
242: ; preds = %12
%243 = load i8*, i8** %4
%244 = call i32 @strcpy(i8* %243, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.76, i64 0, i64 0))
br label %254
245: ; preds = %12
%246 = load i8*, i8** %4
%247 = call i32 @strcpy(i8* %246, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.77, i64 0, i64 0))
br label %254
248: ; preds = %12
%249 = load i8*, i8** %4
%250 = call i32 @strcpy(i8* %249, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.78, i64 0, i64 0))
br label %254
251: ; preds = %12
%252 = load i8*, i8** %4
%253 = call i32 @strcpy(i8* %252, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.79, i64 0, i64 0))
br label %254
254: ; preds = %251, %248, %245, %242, %239, %236, %233, %230, %227, %224, %221, %218, %215, %212, %209, %206, %203, %200, %197, %194, %191, %188, %185, %182, %179, %176, %173, %170, %167, %164, %161, %158, %155, %152, %149, %146, %143, %140, %137, %134, %131, %128, %125, %122, %119, %116, %113, %110, %107, %104, %101, %98, %95, %92, %89, %86, %83, %80, %77, %74, %71, %68, %65, %62, %59, %56, %53, %50, %47, %44, %41, %38, %35, %32, %29, %26, %23, %20, %17, %14
br label %451
255: ; preds = %9, %2
%256 = load i32, i32* %3
%257 = icmp slt i32 %256, 600
br i1 %257, label %258, label %447
258: ; preds = %255
%259 = load i32, i32* %3
switch i32 %259, label %443 [
i32 301, label %260
i32 302, label %263
i32 304, label %266
i32 306, label %269
i32 307, label %272
i32 308, label %275
i32 309, label %278
i32 310, label %281
i32 311, label %284
i32 312, label %287
i32 314, label %290
i32 317, label %293
i32 320, label %296
i32 321, label %299
i32 322, label %302
i32 323, label %305
i32 340, label %308
i32 341, label %311
i32 342, label %314
i32 343, label %317
i32 344, label %320
i32 345, label %323
i32 346, label %326
i32 347, label %329
i32 348, label %332
i32 360, label %335
i32 361, label %338
i32 362, label %341
i32 363, label %344
i32 364, label %347
i32 365, label %350
i32 366, label %353
i32 367, label %356
i32 368, label %359
i32 369, label %362
i32 401, label %365
i32 402, label %368
i32 403, label %371
i32 404, label %374
i32 405, label %377
i32 406, label %380
i32 407, label %383
i32 408, label %386
i32 409, label %389
i32 410, label %392
i32 411, label %395
i32 412, label %398
i32 413, label %401
i32 414, label %404
i32 420, label %407
i32 431, label %410
i32 432, label %413
i32 433, label %416
i32 434, label %419
i32 435, label %422
i32 436, label %425
i32 501, label %428
i32 502, label %431
i32 503, label %434
i32 504, label %437
i32 505, label %440
]
260: ; preds = %258
%261 = load i8*, i8** %4
%262 = call i32 @strcpy(i8* %261, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.80, i64 0, i64 0))
br label %446
263: ; preds = %258
%264 = load i8*, i8** %4
%265 = call i32 @strcpy(i8* %264, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.81, i64 0, i64 0))
br label %446
266: ; preds = %258
%267 = load i8*, i8** %4
%268 = call i32 @strcpy(i8* %267, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.82, i64 0, i64 0))
br label %446
269: ; preds = %258
%270 = load i8*, i8** %4
%271 = call i32 @strcpy(i8* %270, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.83, i64 0, i64 0))
br label %446
272: ; preds = %258
%273 = load i8*, i8** %4
%274 = call i32 @strcpy(i8* %273, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.84, i64 0, i64 0))
br label %446
275: ; preds = %258
%276 = load i8*, i8** %4
%277 = call i32 @strcpy(i8* %276, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.85, i64 0, i64 0))
br label %446
278: ; preds = %258
%279 = load i8*, i8** %4
%280 = call i32 @strcpy(i8* %279, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.86, i64 0, i64 0))
br label %446
281: ; preds = %258
%282 = load i8*, i8** %4
%283 = call i32 @strcpy(i8* %282, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.87, i64 0, i64 0))
br label %446
284: ; preds = %258
%285 = load i8*, i8** %4
%286 = call i32 @strcpy(i8* %285, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.88, i64 0, i64 0))
br label %446
287: ; preds = %258
%288 = load i8*, i8** %4
%289 = call i32 @strcpy(i8* %288, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.89, i64 0, i64 0))
br label %446
290: ; preds = %258
%291 = load i8*, i8** %4
%292 = call i32 @strcpy(i8* %291, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.90, i64 0, i64 0))
br label %446
293: ; preds = %258
%294 = load i8*, i8** %4
%295 = call i32 @strcpy(i8* %294, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.91, i64 0, i64 0))
br label %446
296: ; preds = %258
%297 = load i8*, i8** %4
%298 = call i32 @strcpy(i8* %297, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.92, i64 0, i64 0))
br label %446
299: ; preds = %258
%300 = load i8*, i8** %4
%301 = call i32 @strcpy(i8* %300, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.93, i64 0, i64 0))
br label %446
302: ; preds = %258
%303 = load i8*, i8** %4
%304 = call i32 @strcpy(i8* %303, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.94, i64 0, i64 0))
br label %446
305: ; preds = %258
%306 = load i8*, i8** %4
%307 = call i32 @strcpy(i8* %306, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.95, i64 0, i64 0))
br label %446
308: ; preds = %258
%309 = load i8*, i8** %4
%310 = call i32 @strcpy(i8* %309, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.96, i64 0, i64 0))
br label %446
311: ; preds = %258
%312 = load i8*, i8** %4
%313 = call i32 @strcpy(i8* %312, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.97, i64 0, i64 0))
br label %446
314: ; preds = %258
%315 = load i8*, i8** %4
%316 = call i32 @strcpy(i8* %315, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.98, i64 0, i64 0))
br label %446
317: ; preds = %258
%318 = load i8*, i8** %4
%319 = call i32 @strcpy(i8* %318, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.99, i64 0, i64 0))
br label %446
320: ; preds = %258
%321 = load i8*, i8** %4
%322 = call i32 @strcpy(i8* %321, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.100, i64 0, i64 0))
br label %446
323: ; preds = %258
%324 = load i8*, i8** %4
%325 = call i32 @strcpy(i8* %324, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.101, i64 0, i64 0))
br label %446
326: ; preds = %258
%327 = load i8*, i8** %4
%328 = call i32 @strcpy(i8* %327, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.102, i64 0, i64 0))
br label %446
329: ; preds = %258
%330 = load i8*, i8** %4
%331 = call i32 @strcpy(i8* %330, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.103, i64 0, i64 0))
br label %446
332: ; preds = %258
%333 = load i8*, i8** %4
%334 = call i32 @strcpy(i8* %333, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.104, i64 0, i64 0))
br label %446
335: ; preds = %258
%336 = load i8*, i8** %4
%337 = call i32 @strcpy(i8* %336, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.105, i64 0, i64 0))
br label %446
338: ; preds = %258
%339 = load i8*, i8** %4
%340 = call i32 @strcpy(i8* %339, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.106, i64 0, i64 0))
br label %446
341: ; preds = %258
%342 = load i8*, i8** %4
%343 = call i32 @strcpy(i8* %342, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.107, i64 0, i64 0))
br label %446
344: ; preds = %258
%345 = load i8*, i8** %4
%346 = call i32 @strcpy(i8* %345, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.108, i64 0, i64 0))
br label %446
347: ; preds = %258
%348 = load i8*, i8** %4
%349 = call i32 @strcpy(i8* %348, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.109, i64 0, i64 0))
br label %446
350: ; preds = %258
%351 = load i8*, i8** %4
%352 = call i32 @strcpy(i8* %351, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.110, i64 0, i64 0))
br label %446
353: ; preds = %258
%354 = load i8*, i8** %4
%355 = call i32 @strcpy(i8* %354, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.111, i64 0, i64 0))
br label %446
356: ; preds = %258
%357 = load i8*, i8** %4
%358 = call i32 @strcpy(i8* %357, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.112, i64 0, i64 0))
br label %446
359: ; preds = %258
%360 = load i8*, i8** %4
%361 = call i32 @strcpy(i8* %360, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.113, i64 0, i64 0))
br label %446
362: ; preds = %258
%363 = load i8*, i8** %4
%364 = call i32 @strcpy(i8* %363, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.114, i64 0, i64 0))
br label %446
365: ; preds = %258
%366 = load i8*, i8** %4
%367 = call i32 @strcpy(i8* %366, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.115, i64 0, i64 0))
br label %446
368: ; preds = %258
%369 = load i8*, i8** %4
%370 = call i32 @strcpy(i8* %369, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.116, i64 0, i64 0))
br label %446
371: ; preds = %258
%372 = load i8*, i8** %4
%373 = call i32 @strcpy(i8* %372, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.117, i64 0, i64 0))
br label %446
374: ; preds = %258
%375 = load i8*, i8** %4
%376 = call i32 @strcpy(i8* %375, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.118, i64 0, i64 0))
br label %446
377: ; preds = %258
%378 = load i8*, i8** %4
%379 = call i32 @strcpy(i8* %378, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.119, i64 0, i64 0))
br label %446
380: ; preds = %258
%381 = load i8*, i8** %4
%382 = call i32 @strcpy(i8* %381, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.120, i64 0, i64 0))
br label %446
383: ; preds = %258
%384 = load i8*, i8** %4
%385 = call i32 @strcpy(i8* %384, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.121, i64 0, i64 0))
br label %446
386: ; preds = %258
%387 = load i8*, i8** %4
%388 = call i32 @strcpy(i8* %387, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.122, i64 0, i64 0))
br label %446
389: ; preds = %258
%390 = load i8*, i8** %4
%391 = call i32 @strcpy(i8* %390, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.123, i64 0, i64 0))
br label %446
392: ; preds = %258
%393 = load i8*, i8** %4
%394 = call i32 @strcpy(i8* %393, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.124, i64 0, i64 0))
br label %446
395: ; preds = %258
%396 = load i8*, i8** %4
%397 = call i32 @strcpy(i8* %396, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.125, i64 0, i64 0))
br label %446
398: ; preds = %258
%399 = load i8*, i8** %4
%400 = call i32 @strcpy(i8* %399, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.126, i64 0, i64 0))
br label %446
401: ; preds = %258
%402 = load i8*, i8** %4
%403 = call i32 @strcpy(i8* %402, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.127, i64 0, i64 0))
br label %446
404: ; preds = %258
%405 = load i8*, i8** %4
%406 = call i32 @strcpy(i8* %405, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.128, i64 0, i64 0))
br label %446
407: ; preds = %258
%408 = load i8*, i8** %4
%409 = call i32 @strcpy(i8* %408, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.129, i64 0, i64 0))
br label %446
410: ; preds = %258
%411 = load i8*, i8** %4
%412 = call i32 @strcpy(i8* %411, i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.130, i64 0, i64 0))
br label %446
413: ; preds = %258
%414 = load i8*, i8** %4
%415 = call i32 @strcpy(i8* %414, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.131, i64 0, i64 0))
br label %446
416: ; preds = %258
%417 = load i8*, i8** %4
%418 = call i32 @strcpy(i8* %417, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.132, i64 0, i64 0))
br label %446
419: ; preds = %258
%420 = load i8*, i8** %4
%421 = call i32 @strcpy(i8* %420, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.133, i64 0, i64 0))
br label %446
422: ; preds = %258
%423 = load i8*, i8** %4
%424 = call i32 @strcpy(i8* %423, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.134, i64 0, i64 0))
br label %446
425: ; preds = %258
%426 = load i8*, i8** %4
%427 = call i32 @strcpy(i8* %426, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.135, i64 0, i64 0))
br label %446
428: ; preds = %258
%429 = load i8*, i8** %4
%430 = call i32 @strcpy(i8* %429, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.136, i64 0, i64 0))
br label %446
431: ; preds = %258
%432 = load i8*, i8** %4
%433 = call i32 @strcpy(i8* %432, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.137, i64 0, i64 0))
br label %446
434: ; preds = %258
%435 = load i8*, i8** %4
%436 = call i32 @strcpy(i8* %435, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.138, i64 0, i64 0))
br label %446
437: ; preds = %258
%438 = load i8*, i8** %4
%439 = call i32 @strcpy(i8* %438, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.139, i64 0, i64 0))
br label %446
440: ; preds = %258
%441 = load i8*, i8** %4
%442 = call i32 @strcpy(i8* %441, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.140, i64 0, i64 0))
br label %446
443: ; preds = %258
%444 = load i8*, i8** %4
%445 = call i32 @strcpy(i8* %444, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.79, i64 0, i64 0))
br label %446
446: ; preds = %443, %440, %437, %434, %431, %428, %425, %422, %419, %416, %413, %410, %407, %404, %401, %398, %395, %392, %389, %386, %383, %380, %377, %374, %371, %368, %365, %362, %359, %356, %353, %350, %347, %344, %341, %338, %335, %332, %329, %326, %323, %320, %317, %314, %311, %308, %305, %302, %299, %296, %293, %290, %287, %284, %281, %278, %275, %272, %269, %266, %263, %260
br label %450
447: ; preds = %255
%448 = load i8*, i8** %4
%449 = call i32 @strcpy(i8* %448, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.79, i64 0, i64 0))
br label %450
450: ; preds = %447, %446
br label %451
451: ; preds = %450, %254
ret void
}

LLVM IR (-O2):
@.str = [14 x i8] c"OK - no error\00"
@.str.1 = [26 x i8] c"non-CFITSIO program error\00"
@.str.2 = [28 x i8] c"same input and output files\00"
@.str.3 = [31 x i8] c"attempt to open too many files\00"
@.str.4 = [30 x i8] c"could not open the named file\00"
@.str.5 = [31 x i8] c"couldn't create the named file\00"
@.str.6 = [27 x i8] c"error writing to FITS file\00"
@.str.7 = [31 x i8] c"tried to move past end of file\00"
@.str.8 = [29 x i8] c"error reading from FITS file\00"
@.str.9 = [25 x i8] c"could not close the file\00"
@.str.10 = [25 x i8] c"array dimensions too big\00"
@.str.11 = [30 x i8] c"cannot write to file\00"
@.str.12 = [26 x i8] c"could not allocate memory\00"
@.str.13 = [25 x i8] c"invalid fitsfile pointer\00"
@.str.14 = [19 x i8] c"NULL input pointer\00"
@.str.15 = [28 x i8] c"error seeking file position\00"
@.str.16 = [44 x i8] c"bad value for file download timeout setting\00"
@.str.17 = [19 x i8] c"invalid URL prefix\00"
@.str.18 = [21 x i8] c"too many I/O drivers\00"
@.str.19 = [23 x i8] c"I/O driver init failed\00"
@.str.20 = [31 x i8] c"no I/O driver for this URLtype\00"
@.str.21 = [30 x i8] c"parse error in input file URL\00"
@.str.22 = [26 x i8] c"parse error in range list\00"
@.str.23 = [31 x i8] c"bad argument (shared mem drvr)\00"
@.str.24 = [31 x i8] c"null ptr arg (shared mem drvr)\00"
@.str.25 = [30 x i8] c"no free shared memory handles\00"
@.str.26 = [31 x i8] c"share mem drvr not initialized\00"
@.str.27 = [30 x i8] c"IPC system error (shared mem)\00"
@.str.28 = [28 x i8] c"no memory (shared mem drvr)\00"
@.str.29 = [28 x i8] c"share mem resource deadlock\00"
@.str.30 = [29 x i8] c"lock file open/create failed\00"
@.str.31 = [29 x i8] c"can't resize share mem block\00"
@.str.32 = [28 x i8] c"header already has keywords\00"
@.str.33 = [28 x i8] c"keyword not found in header\00"
@.str.34 = [29 x i8] c"keyword number out of bounds\00"
@.str.35 = [27 x i8] c"keyword value is undefined\00"
@.str.36 = [29 x i8] c"string missing closing quote\00"
@.str.37 = [30 x i8] c"error in indexed keyword name\00"
@.str.38 = [29 x i8] c"illegal character in keyword\00"
@.str.39 = [31 x i8] c"required keywords out of order\00"
@.str.40 = [31 x i8] c"keyword value not positive int\00"
@.str.41 = [22 x i8] c"END keyword not found\00"
@.str.42 = [29 x i8] c"illegal BITPIX keyword value\00"
@.str.43 = [28 x i8] c"illegal NAXIS keyword value\00"
@.str.44 = [29 x i8] c"illegal NAXISn keyword value\00"
@.str.45 = [29 x i8] c"illegal PCOUNT keyword value\00"
@.str.46 = [29 x i8] c"illegal GCOUNT keyword value\00"
@.str.47 = [30 x i8] c"illegal TFIELDS keyword value\00"
@.str.48 = [24 x i8] c"negative table row size\00"
@.str.49 = [24 x i8] c"negative number of rows\00"
@.str.50 = [23 x i8] c"named column not found\00"
@.str.51 = [29 x i8] c"illegal SIMPLE keyword value\00"
@.str.52 = [25 x i8] c"first keyword not SIMPLE\00"
@.str.53 = [26 x i8] c"second keyword not BITPIX\00"
@.str.54 = [24 x i8] c"third keyword not NAXIS\00"
@.str.55 = [24 x i8] c"missing NAXISn keywords\00"
@.str.56 = [27 x i8] c"first keyword not XTENSION\00"
@.str.57 = [24 x i8] c"CHDU not an ASCII table\00"
@.str.58 = [24 x i8] c"CHDU not a binary table\00"
@.str.59 = [25 x i8] c"PCOUNT keyword not found\00"
@.str.60 = [25 x i8] c"GCOUNT keyword not found\00"
@.str.61 = [26 x i8] c"TFIELDS keyword not found\00"
@.str.62 = [23 x i8] c"missing TBCOLn keyword\00"
@.str.63 = [23 x i8] c"missing TFORMn keyword\00"
@.str.64 = [28 x i8] c"CHDU not an IMAGE extension\00"
@.str.65 = [29 x i8] c"illegal TBCOLn keyword value\00"
@.str.66 = [27 x i8] c"CHDU not a table extension\00"
@.str.67 = [30 x i8] c"column exceeds width of table\00"
@.str.68 = [31 x i8] c"more than 1 matching col. name\00"
@.str.69 = [29 x i8] c"row width not = field widths\00"
@.str.70 = [28 x i8] c"unknown FITS extension type\00"
@.str.71 = [31 x i8] c"1st key not SIMPLE or XTENSION\00"
@.str.72 = [25 x i8] c"END keyword is not blank\00"
@.str.73 = [27 x i8] c"Header fill area not blank\00"
@.str.74 = [23 x i8] c"Data fill area invalid\00"
@.str.75 = [26 x i8] c"illegal TFORM format code\00"
@.str.76 = [28 x i8] c"unknown TFORM datatype code\00"
@.str.77 = [28 x i8] c"illegal TDIMn keyword value\00"
@.str.78 = [30 x i8] c"invalid BINTABLE heap pointer\00"
@.str.79 = [21 x i8] c"unknown error status\00"
@.str.80 = [19 x i8] c"illegal HDU number\00"
@.str.81 = [31 x i8] c"column number < 1 or > tfields\00"
@.str.82 = [22 x i8] c"negative byte address\00"
@.str.83 = [28 x i8] c"negative number of elements\00"
@.str.84 = [21 x i8] c"bad first row number\00"
@.str.85 = [25 x i8] c"bad first element number\00"
@.str.86 = [24 x i8] c"not an ASCII (A) column\00"
@.str.87 = [25 x i8] c"not a logical (L) column\00"
@.str.88 = [25 x i8] c"bad ASCII table datatype\00"
@.str.89 = [26 x i8] c"bad binary table datatype\00"
@.str.90 = [23 x i8] c"null value not defined\00"
@.str.91 = [29 x i8] c"not a variable length column\00"
@.str.92 = [29 x i8] c"illegal number of dimensions\00"
@.str.93 = [31 x i8] c"1st pixel no. > last pixel no.\00"
@.str.94 = [22 x i8] c"BSCALE or TSCALn = 0.\00"
@.str.95 = [24 x i8] c"illegal axis length < 1\00"
@.str.96 = [16 x i8] c"not group table\00"
@.str.97 = [28 x i8] c"HDU already member of group\00"
@.str.98 = [23 x i8] c"group member not found\00"
@.str.99 = [16 x i8] c"group not found\00"
@.str.100 = [13 x i8] c"bad group id\00"
@.str.101 = [22 x i8] c"too many HDUs tracked\00"
@.str.102 = [19 x i8] c"HDU alread tracked\00"
@.str.103 = [20 x i8] c"bad Grouping option\00"
@.str.104 = [28 x i8] c"identical pointers (groups)\00"
@.str.105 = [24 x i8] c"malloc failed in parser\00"
@.str.106 = [26 x i8] c"file read error in parser\00"
@.str.107 = [26 x i8] c"null pointer arg (parser)\00"
@.str.108 = [20 x i8] c"empty line (parser)\00"
@.str.109 = [23 x i8] c"cannot unread > 1 line\00"
@.str.110 = [25 x i8] c"parser too deeply nested\00"
@.str.111 = [26 x i8] c"file open failed (parser)\00"
@.str.112 = [17 x i8] c"hit EOF (parser)\00"
@.str.113 = [22 x i8] c"bad argument (parser)\00"
@.str.114 = [26 x i8] c"unexpected token (parser)\00"
@.str.115 = [29 x i8] c"bad int to string conversion\00"
@.str.116 = [31 x i8] c"bad float to string conversion\00"
@.str.117 = [26 x i8] c"keyword value not integer\00"
@.str.118 = [26 x i8] c"keyword value not logical\00"
@.str.119 = [30 x i8] c"keyword value not floating pt\00"
@.str.120 = [25 x i8] c"keyword value not double\00"
@.str.121 = [29 x i8] c"bad string to int conversion\00"
@.str.122 = [31 x i8] c"bad string to float conversion\00"
@.str.123 = [29 x i8] c"bad string to double convert\00"
@.str.124 = [28 x i8] c"illegal datatype code value\00"
@.str.125 = [24 x i8] c"illegal no. of decimals\00"
@.str.126 = [29 x i8] c"datatype conversion overflow\00"
@.str.127 = [24 x i8] c"error compressing image\00"
@.str.128 = [26 x i8] c"error uncompressing image\00"
@.str.129 = [28 x i8] c"bad date or time conversion\00"
@.str.130 = [27 x i8] c"syntax error in expression\00"
@.str.131 = [29 x i8] c"expression result wrong type\00"
@.str.132 = [24 x i8] c"vector result too large\00"
@.str.133 = [22 x i8] c"missing output column\00"
@.str.134 = [26 x i8] c"bad data in parsed column\00"
@.str.135 = [31 x i8] c"output extension of wrong type\00"
@.str.136 = [20 x i8] c"WCS angle too large\00"
@.str.137 = [19 x i8] c"bad WCS coordinate\00"
@.str.138 = [25 x i8] c"error in WCS calculation\00"
@.str.139 = [24 x i8] c"bad WCS projection type\00"
@.str.140 = [23 x i8] c"WCS keywords not found\00"
define void @ffgerr(i32 %0, i8* %1) {
store i8 0, i8* %1
%3 = icmp ult i32 %0, 300
br i1 %3, label %4, label %84
4: ; preds = %2
switch i32 %0, label %83 [
i32 0, label %148
i32 1, label %5
i32 101, label %6
i32 103, label %7
i32 104, label %8
i32 105, label %9
i32 106, label %10
i32 107, label %11
i32 108, label %12
i32 110, label %13
i32 111, label %14
i32 112, label %15
i32 113, label %16
i32 114, label %17
i32 115, label %18
i32 116, label %19
i32 117, label %20
i32 121, label %21
i32 122, label %22
i32 123, label %23
i32 124, label %24
i32 125, label %25
i32 126, label %26
i32 151, label %27
i32 152, label %28
i32 153, label %29
i32 154, label %30
i32 155, label %31
i32 156, label %32
i32 157, label %33
i32 158, label %34
i32 159, label %35
i32 201, label %36
i32 202, label %37
i32 203, label %38
i32 204, label %39
i32 205, label %40
i32 206, label %41
i32 207, label %42
i32 208, label %43
i32 209, label %44
i32 210, label %45
i32 211, label %46
i32 212, label %47
i32 213, label %48
i32 214, label %49
i32 215, label %50
i32 216, label %51
i32 217, label %52
i32 218, label %53
i32 219, label %54
i32 220, label %55
i32 221, label %56
i32 222, label %57
i32 223, label %58
i32 224, label %59
i32 225, label %60
i32 226, label %61
i32 227, label %62
i32 228, label %63
i32 229, label %64
i32 230, label %65
i32 231, label %66
i32 232, label %67
i32 233, label %68
i32 234, label %69
i32 235, label %70
i32 236, label %71
i32 237, label %72
i32 241, label %73
i32 251, label %74
i32 252, label %75
i32 253, label %76
i32 254, label %77
i32 255, label %78
i32 261, label %79
i32 262, label %80
i32 263, label %81
i32 264, label %82
]
5: ; preds = %4
br label %148
6: ; preds = %4
br label %148
7: ; preds = %4
br label %148
8: ; preds = %4
br label %148
9: ; preds = %4
br label %148
10: ; preds = %4
br label %148
11: ; preds = %4
br label %148
12: ; preds = %4
br label %148
13: ; preds = %4
br label %148
14: ; preds = %4
br label %148
15: ; preds = %4
br label %148
16: ; preds = %4
br label %148
17: ; preds = %4
br label %148
18: ; preds = %4
br label %148
19: ; preds = %4
br label %148
20: ; preds = %4
br label %148
21: ; preds = %4
br label %148
22: ; preds = %4
br label %148
23: ; preds = %4
br label %148
24: ; preds = %4
br label %148
25: ; preds = %4
br label %148
26: ; preds = %4
br label %148
27: ; preds = %4
br label %148
28: ; preds = %4
br label %148
29: ; preds = %4
br label %148
30: ; preds = %4
br label %148
31: ; preds = %4
br label %148
32: ; preds = %4
br label %148
33: ; preds = %4
br label %148
34: ; preds = %4
br label %148
35: ; preds = %4
br label %148
36: ; preds = %4
br label %148
37: ; preds = %4
br label %148
38: ; preds = %4
br label %148
39: ; preds = %4
br label %148
40: ; preds = %4
br label %148
41: ; preds = %4
br label %148
42: ; preds = %4
br label %148
43: ; preds = %4
br label %148
44: ; preds = %4
br label %148
45: ; preds = %4
br label %148
46: ; preds = %4
br label %148
47: ; preds = %4
br label %148
48: ; preds = %4
br label %148
49: ; preds = %4
br label %148
50: ; preds = %4
br label %148
51: ; preds = %4
br label %148
52: ; preds = %4
br label %148
53: ; preds = %4
br label %148
54: ; preds = %4
br label %148
55: ; preds = %4
br label %148
56: ; preds = %4
br label %148
57: ; preds = %4
br label %148
58: ; preds = %4
br label %148
59: ; preds = %4
br label %148
60: ; preds = %4
br label %148
61: ; preds = %4
br label %148
62: ; preds = %4
br label %148
63: ; preds = %4
br label %148
64: ; preds = %4
br label %148
65: ; preds = %4
br label %148
66: ; preds = %4
br label %148
67: ; preds = %4
br label %148
68: ; preds = %4
br label %148
69: ; preds = %4
br label %148
70: ; preds = %4
br label %148
71: ; preds = %4
br label %148
72: ; preds = %4
br label %148
73: ; preds = %4
br label %148
74: ; preds = %4
br label %148
75: ; preds = %4
br label %148
76: ; preds = %4
br label %148
77: ; preds = %4
br label %148
78: ; preds = %4
br label %148
79: ; preds = %4
br label %148
80: ; preds = %4
br label %148
81: ; preds = %4
br label %148
82: ; preds = %4
br label %148
83: ; preds = %4
br label %148
84: ; preds = %2
%85 = icmp slt i32 %0, 600
br i1 %85, label %86, label %148
86: ; preds = %84
switch i32 %0, label %147 [
i32 301, label %148
i32 302, label %87
i32 304, label %88
i32 306, label %89
i32 307, label %90
i32 308, label %91
i32 309, label %92
i32 310, label %93
i32 311, label %94
i32 312, label %95
i32 314, label %96
i32 317, label %97
i32 320, label %98
i32 321, label %99
i32 322, label %100
i32 323, label %101
i32 340, label %102
i32 341, label %103
i32 342, label %104
i32 343, label %105
i32 344, label %106
i32 345, label %107
i32 346, label %108
i32 347, label %109
i32 348, label %110
i32 360, label %111
i32 361, label %112
i32 362, label %113
i32 363, label %114
i32 364, label %115
i32 365, label %116
i32 366, label %117
i32 367, label %118
i32 368, label %119
i32 369, label %120
i32 401, label %121
i32 402, label %122
i32 403, label %123
i32 404, label %124
i32 405, label %125
i32 406, label %126
i32 407, label %127
i32 408, label %128
i32 409, label %129
i32 410, label %130
i32 411, label %131
i32 412, label %132
i32 413, label %133
i32 414, label %134
i32 420, label %135
i32 431, label %136
i32 432, label %137
i32 433, label %138
i32 434, label %139
i32 435, label %140
i32 436, label %141
i32 501, label %142
i32 502, label %143
i32 503, label %144
i32 504, label %145
i32 505, label %146
]
87: ; preds = %86
br label %148
88: ; preds = %86
br label %148
89: ; preds = %86
br label %148
90: ; preds = %86
br label %148
91: ; preds = %86
br label %148
92: ; preds = %86
br label %148
93: ; preds = %86
br label %148
94: ; preds = %86
br label %148
95: ; preds = %86
br label %148
96: ; preds = %86
br label %148
97: ; preds = %86
br label %148
98: ; preds = %86
br label %148
99: ; preds = %86
br label %148
100: ; preds = %86
br label %148
101: ; preds = %86
br label %148
102: ; preds = %86
br label %148
103: ; preds = %86
br label %148
104: ; preds = %86
br label %148
105: ; preds = %86
br label %148
106: ; preds = %86
br label %148
107: ; preds = %86
br label %148
108: ; preds = %86
br label %148
109: ; preds = %86
br label %148
110: ; preds = %86
br label %148
111: ; preds = %86
br label %148
112: ; preds = %86
br label %148
113: ; preds = %86
br label %148
114: ; preds = %86
br label %148
115: ; preds = %86
br label %148
116: ; preds = %86
br label %148
117: ; preds = %86
br label %148
118: ; preds = %86
br label %148
119: ; preds = %86
br label %148
120: ; preds = %86
br label %148
121: ; preds = %86
br label %148
122: ; preds = %86
br label %148
123: ; preds = %86
br label %148
124: ; preds = %86
br label %148
125: ; preds = %86
br label %148
126: ; preds = %86
br label %148
127: ; preds = %86
br label %148
128: ; preds = %86
br label %148
129: ; preds = %86
br label %148
130: ; preds = %86
br label %148
131: ; preds = %86
br label %148
132: ; preds = %86
br label %148
133: ; preds = %86
br label %148
134: ; preds = %86
br label %148
135: ; preds = %86
br label %148
136: ; preds = %86
br label %148
137: ; preds = %86
br label %148
138: ; preds = %86
br label %148
139: ; preds = %86
br label %148
140: ; preds = %86
br label %148
141: ; preds = %86
br label %148
142: ; preds = %86
br label %148
143: ; preds = %86
br label %148
144: ; preds = %86
br label %148
145: ; preds = %86
br label %148
146: ; preds = %86
br label %148
147: ; preds = %86
br label %148
148: ; preds = %84, %86, %4, %147, %146, %145, %144, %143, %142, %141, %140, %139, %138, %137, %136, %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, %5, %6, %7, %8, %9, %10, %11, %12, %13, %14, %15, %16, %17, %18, %19, %20, %21, %22, %23, %24, %25, %26, %27, %28, %29, %30, %31, %32, %33, %34, %35, %36, %37, %38, %39, %40, %41, %42, %43, %44, %45, %46, %47, %48, %49, %50, %51, %52, %53, %54, %55, %56, %57, %58, %59, %60, %61, %62, %63, %64, %65, %66, %67, %68, %69, %70, %71, %72, %73, %74, %75, %76, %77, %78, %79, %80, %81, %82, %83
%149 = phi i8* [ getelementptr inbounds ([21 x i8], [21 x i8]* @.str.79, i64 0, i64 0), %147 ], [ getelementptr inbounds ([23 x i8], [23 x i8]* @.str.140, i64 0, i64 0), %146 ], [ getelementptr inbounds ([24 x i8], [24 x i8]* @.str.139, i64 0, i64 0), %145 ], [ getelementptr inbounds ([25 x i8], [25 x i8]* @.str.138, i64 0, i64 0), %144 ], [ getelementptr inbounds ([19 x i8], [19 x i8]* @.str.137, i64 0, i64 0), %143 ], [ getelementptr inbounds ([20 x i8], [20 x i8]* @.str.136, i64 0, i64 0), %142 ], [ getelementptr inbounds ([31 x i8], [31 x i8]* @.str.135, i64 0, i64 0), %141 ], [ getelementptr inbounds ([26 x i8], [26 x i8]* @.str.134, i64 0, i64 0), %140 ], [ getelementptr inbounds ([22 x i8], [22 x i8]* @.str.133, i64 0, i64 0), %139 ], [ getelementptr inbounds ([24 x i8], [24 x i8]* @.str.132, i64 0, i64 0), %138 ], [ getelementptr inbounds ([29 x i8], [29 x i8]* @.str.131, i64 0, i64 0), %137 ], [ getelementptr inbounds ([27 x i8], [27 x i8]* @.str.130, i64 0, i64 0), %136 ], [ getelementptr inbounds ([28 x i8], [28 x i8]* @.str.129, i64 0, i64 0), %135 ], [ getelementptr inbounds ([26 x i8], [26 x i8]* @.str.128, i64 0, i64 0), %134 ], [ getelementptr inbounds ([24 x i8], [24 x i8]* @.str.127, i64 0, i64 0), %133 ], [ getelementptr inbounds ([29 x i8], [29 x i8]* @.str.126, i64 0, i64 0), %132 ], [ getelementptr inbounds ([24 x i8], [24 x i8]* @.str.125, i64 0, i64 0), %131 ], [ getelementptr inbounds ([28 x i8], [28 x i8]* @.str.124, i64 0, i64 0), %130 ], [ getelementptr inbounds ([29 x i8], [29 x i8]* @.str.123, i64 0, i64 0), %129 ], [ getelementptr inbounds ([31 x i8], [31 x i8]* @.str.122, i64 0, i64 0), %128 ], [ getelementptr inbounds ([29 x i8], [29 x i8]* @.str.121, i64 0, i64 0), %127 ], [ getelementptr inbounds ([25 x i8], [25 x i8]* @.str.120, i64 0, i64 0), %126 ], [ getelementptr inbounds ([30 x i8], [30 x i8]* @.str.119, i64 0, i64 0), %125 ], [ getelementptr inbounds ([26 x i8], [26 x i8]* @.str.118, i64 0, i64 0), %124 ], [ getelementptr inbounds ([26 x i8], [26 x i8]* @.str.117, i64 0, i64 0), %123 ], [ getelementptr inbounds ([31 x i8], [31 x i8]* @.str.116, i64 0, i64 0), %122 ], [ getelementptr inbounds ([29 x i8], [29 x i8]* @.str.115, i64 0, i64 0), %121 ], [ getelementptr inbounds ([26 x i8], [26 x i8]* @.str.114, i64 0, i64 0), %120 ], [ getelementptr inbounds ([22 x i8], [22 x i8]* @.str.113, i64 0, i64 0), %119 ], [ getelementptr inbounds ([17 x i8], [17 x i8]* @.str.112, i64 0, i64 0), %118 ], [ getelementptr inbounds ([26 x i8], [26 x i8]* @.str.111, i64 0, i64 0), %117 ], [ getelementptr inbounds ([25 x i8], [25 x i8]* @.str.110, i64 0, i64 0), %116 ], [ getelementptr inbounds ([23 x i8], [23 x i8]* @.str.109, i64 0, i64 0), %115 ], [ getelementptr inbounds ([20 x i8], [20 x i8]* @.str.108, i64 0, i64 0), %114 ], [ getelementptr inbounds ([26 x i8], [26 x i8]* @.str.107, i64 0, i64 0), %113 ], [ getelementptr inbounds ([26 x i8], [26 x i8]* @.str.106, i64 0, i64 0), %112 ], [ getelementptr inbounds ([24 x i8], [24 x i8]* @.str.105, i64 0, i64 0), %111 ], [ getelementptr inbounds ([28 x i8], [28 x i8]* @.str.104, i64 0, i64 0), %110 ], [ getelementptr inbounds ([20 x i8], [20 x i8]* @.str.103, i64 0, i64 0), %109 ], [ getelementptr inbounds ([19 x i8], [19 x i8]* @.str.102, i64 0, i64 0), %108 ], [ getelementptr inbounds ([22 x i8], [22 x i8]* @.str.101, i64 0, i64 0), %107 ], [ getelementptr inbounds ([13 x i8], [13 x i8]* @.str.100, i64 0, i64 0), %106 ], [ getelementptr inbounds ([16 x i8], [16 x i8]* @.str.99, i64 0, i64 0), %105 ], [ getelementptr inbounds ([23 x i8], [23 x i8]* @.str.98, i64 0, i64 0), %104 ], [ getelementptr inbounds ([28 x i8], [28 x i8]* @.str.97, i64 0, i64 0), %103 ], [ getelementptr inbounds ([16 x i8], [16 x i8]* @.str.96, i64 0, i64 0), %102 ], [ getelementptr inbounds ([24 x i8], [24 x i8]* @.str.95, i64 0, i64 0), %101 ], [ getelementptr inbounds ([22 x i8], [22 x i8]* @.str.94, i64 0, i64 0), %100 ], [ getelementptr inbounds ([31 x i8], [31 x i8]* @.str.93, i64 0, i64 0), %99 ], [ getelementptr inbounds ([29 x i8], [29 x i8]* @.str.92, i64 0, i64 0), %98 ], [ getelementptr inbounds ([29 x i8], [29 x i8]* @.str.91, i64 0, i64 0), %97 ], [ getelementptr inbounds ([23 x i8], [23 x i8]* @.str.90, i64 0, i64 0), %96 ], [ getelementptr inbounds ([26 x i8], [26 x i8]* @.str.89, i64 0, i64 0), %95 ], [ getelementptr inbounds ([25 x i8], [25 x i8]* @.str.88, i64 0, i64 0), %94 ], [ getelementptr inbounds ([25 x i8], [25 x i8]* @.str.87, i64 0, i64 0), %93 ], [ getelementptr inbounds ([24 x i8], [24 x i8]* @.str.86, i64 0, i64 0), %92 ], [ getelementptr inbounds ([25 x i8], [25 x i8]* @.str.85, i64 0, i64 0), %91 ], [ getelementptr inbounds ([21 x i8], [21 x i8]* @.str.84, i64 0, i64 0), %90 ], [ getelementptr inbounds ([28 x i8], [28 x i8]* @.str.83, i64 0, i64 0), %89 ], [ getelementptr inbounds ([22 x i8], [22 x i8]* @.str.82, i64 0, i64 0), %88 ], [ getelementptr inbounds ([31 x i8], [31 x i8]* @.str.81, i64 0, i64 0), %87 ], [ getelementptr inbounds ([26 x i8], [26 x i8]* @.str.1, i64 0, i64 0), %5 ], [ getelementptr inbounds ([28 x i8], [28 x i8]* @.str.2, i64 0, i64 0), %6 ], [ getelementptr inbounds ([31 x i8], [31 x i8]* @.str.3, i64 0, i64 0), %7 ], [ getelementptr inbounds ([30 x i8], [30 x i8]* @.str.4, i64 0, i64 0), %8 ], [ getelementptr inbounds ([31 x i8], [31 x i8]* @.str.5, i64 0, i64 0), %9 ], [ getelementptr inbounds ([27 x i8], [27 x i8]* @.str.6, i64 0, i64 0), %10 ], [ getelementptr inbounds ([31 x i8], [31 x i8]* @.str.7, i64 0, i64 0), %11 ], [ getelementptr inbounds ([29 x i8], [29 x i8]* @.str.8, i64 0, i64 0), %12 ], [ getelementptr inbounds ([25 x i8], [25 x i8]* @.str.9, i64 0, i64 0), %13 ], [ getelementptr inbounds ([25 x i8], [25 x i8]* @.str.10, i64 0, i64 0), %14 ], [ getelementptr inbounds ([30 x i8], [30 x i8]* @.str.11, i64 0, i64 0), %15 ], [ getelementptr inbounds ([26 x i8], [26 x i8]* @.str.12, i64 0, i64 0), %16 ], [ getelementptr inbounds ([25 x i8], [25 x i8]* @.str.13, i64 0, i64 0), %17 ], [ getelementptr inbounds ([19 x i8], [19 x i8]* @.str.14, i64 0, i64 0), %18 ], [ getelementptr inbounds ([28 x i8], [28 x i8]* @.str.15, i64 0, i64 0), %19 ], [ getelementptr inbounds ([44 x i8], [44 x i8]* @.str.16, i64 0, i64 0), %20 ], [ getelementptr inbounds ([19 x i8], [19 x i8]* @.str.17, i64 0, i64 0), %21 ], [ getelementptr inbounds ([21 x i8], [21 x i8]* @.str.18, i64 0, i64 0), %22 ], [ getelementptr inbounds ([23 x i8], [23 x i8]* @.str.19, i64 0, i64 0), %23 ], [ getelementptr inbounds ([31 x i8], [31 x i8]* @.str.20, i64 0, i64 0), %24 ], [ getelementptr inbounds ([30 x i8], [30 x i8]* @.str.21, i64 0, i64 0), %25 ], [ getelementptr inbounds ([26 x i8], [26 x i8]* @.str.22, i64 0, i64 0), %26 ], [ getelementptr inbounds ([31 x i8], [31 x i8]* @.str.23, i64 0, i64 0), %27 ], [ getelementptr inbounds ([31 x i8], [31 x i8]* @.str.24, i64 0, i64 0), %28 ], [ getelementptr inbounds ([30 x i8], [30 x i8]* @.str.25, i64 0, i64 0), %29 ], [ getelementptr inbounds ([31 x i8], [31 x i8]* @.str.26, i64 0, i64 0), %30 ], [ getelementptr inbounds ([30 x i8], [30 x i8]* @.str.27, i64 0, i64 0), %31 ], [ getelementptr inbounds ([28 x i8], [28 x i8]* @.str.28, i64 0, i64 0), %32 ], [ getelementptr inbounds ([28 x i8], [28 x i8]* @.str.29, i64 0, i64 0), %33 ], [ getelementptr inbounds ([29 x i8], [29 x i8]* @.str.30, i64 0, i64 0), %34 ], [ getelementptr inbounds ([29 x i8], [29 x i8]* @.str.31, i64 0, i64 0), %35 ], [ getelementptr inbounds ([28 x i8], [28 x i8]* @.str.32, i64 0, i64 0), %36 ], [ getelementptr inbounds ([28 x i8], [28 x i8]* @.str.33, i64 0, i64 0), %37 ], [ getelementptr inbounds ([29 x i8], [29 x i8]* @.str.34, i64 0, i64 0), %38 ], [ getelementptr inbounds ([27 x i8], [27 x i8]* @.str.35, i64 0, i64 0), %39 ], [ getelementptr inbounds ([29 x i8], [29 x i8]* @.str.36, i64 0, i64 0), %40 ], [ getelementptr inbounds ([30 x i8], [30 x i8]* @.str.37, i64 0, i64 0), %41 ], [ getelementptr inbounds ([29 x i8], [29 x i8]* @.str.38, i64 0, i64 0), %42 ], [ getelementptr inbounds ([31 x i8], [31 x i8]* @.str.39, i64 0, i64 0), %43 ], [ getelementptr inbounds ([31 x i8], [31 x i8]* @.str.40, i64 0, i64 0), %44 ], [ getelementptr inbounds ([22 x i8], [22 x i8]* @.str.41, i64 0, i64 0), %45 ], [ getelementptr inbounds ([29 x i8], [29 x i8]* @.str.42, i64 0, i64 0), %46 ], [ getelementptr inbounds ([28 x i8], [28 x i8]* @.str.43, i64 0, i64 0), %47 ], [ getelementptr inbounds ([29 x i8], [29 x i8]* @.str.44, i64 0, i64 0), %48 ], [ getelementptr inbounds ([29 x i8], [29 x i8]* @.str.45, i64 0, i64 0), %49 ], [ getelementptr inbounds ([29 x i8], [29 x i8]* @.str.46, i64 0, i64 0), %50 ], [ getelementptr inbounds ([30 x i8], [30 x i8]* @.str.47, i64 0, i64 0), %51 ], [ getelementptr inbounds ([24 x i8], [24 x i8]* @.str.48, i64 0, i64 0), %52 ], [ getelementptr inbounds ([24 x i8], [24 x i8]* @.str.49, i64 0, i64 0), %53 ], [ getelementptr inbounds ([23 x i8], [23 x i8]* @.str.50, i64 0, i64 0), %54 ], [ getelementptr inbounds ([29 x i8], [29 x i8]* @.str.51, i64 0, i64 0), %55 ], [ getelementptr inbounds ([25 x i8], [25 x i8]* @.str.52, i64 0, i64 0), %56 ], [ getelementptr inbounds ([26 x i8], [26 x i8]* @.str.53, i64 0, i64 0), %57 ], [ getelementptr inbounds ([24 x i8], [24 x i8]* @.str.54, i64 0, i64 0), %58 ], [ getelementptr inbounds ([24 x i8], [24 x i8]* @.str.55, i64 0, i64 0), %59 ], [ getelementptr inbounds ([27 x i8], [27 x i8]* @.str.56, i64 0, i64 0), %60 ], [ getelementptr inbounds ([24 x i8], [24 x i8]* @.str.57, i64 0, i64 0), %61 ], [ getelementptr inbounds ([24 x i8], [24 x i8]* @.str.58, i64 0, i64 0), %62 ], [ getelementptr inbounds ([25 x i8], [25 x i8]* @.str.59, i64 0, i64 0), %63 ], [ getelementptr inbounds ([25 x i8], [25 x i8]* @.str.60, i64 0, i64 0), %64 ], [ getelementptr inbounds ([26 x i8], [26 x i8]* @.str.61, i64 0, i64 0), %65 ], [ getelementptr inbounds ([23 x i8], [23 x i8]* @.str.62, i64 0, i64 0), %66 ], [ getelementptr inbounds ([23 x i8], [23 x i8]* @.str.63, i64 0, i64 0), %67 ], [ getelementptr inbounds ([28 x i8], [28 x i8]* @.str.64, i64 0, i64 0), %68 ], [ getelementptr inbounds ([29 x i8], [29 x i8]* @.str.65, i64 0, i64 0), %69 ], [ getelementptr inbounds ([27 x i8], [27 x i8]* @.str.66, i64 0, i64 0), %70 ], [ getelementptr inbounds ([30 x i8], [30 x i8]* @.str.67, i64 0, i64 0), %71 ], [ getelementptr inbounds ([31 x i8], [31 x i8]* @.str.68, i64 0, i64 0), %72 ], [ getelementptr inbounds ([29 x i8], [29 x i8]* @.str.69, i64 0, i64 0), %73 ], [ getelementptr inbounds ([28 x i8], [28 x i8]* @.str.70, i64 0, i64 0), %74 ], [ getelementptr inbounds ([31 x i8], [31 x i8]* @.str.71, i64 0, i64 0), %75 ], [ getelementptr inbounds ([25 x i8], [25 x i8]* @.str.72, i64 0, i64 0), %76 ], [ getelementptr inbounds ([27 x i8], [27 x i8]* @.str.73, i64 0, i64 0), %77 ], [ getelementptr inbounds ([23 x i8], [23 x i8]* @.str.74, i64 0, i64 0), %78 ], [ getelementptr inbounds ([26 x i8], [26 x i8]* @.str.75, i64 0, i64 0), %79 ], [ getelementptr inbounds ([28 x i8], [28 x i8]* @.str.76, i64 0, i64 0), %80 ], [ getelementptr inbounds ([28 x i8], [28 x i8]* @.str.77, i64 0, i64 0), %81 ], [ getelementptr inbounds ([30 x i8], [30 x i8]* @.str.78, i64 0, i64 0), %82 ], [ getelementptr inbounds ([21 x i8], [21 x i8]* @.str.79, i64 0, i64 0), %83 ], [ getelementptr inbounds ([14 x i8], [14 x i8]* @.str, i64 0, i64 0), %4 ], [ getelementptr inbounds ([19 x i8], [19 x i8]* @.str.80, i64 0, i64 0), %86 ], [ getelementptr inbounds ([21 x i8], [21 x i8]* @.str.79, i64 0, i64 0), %84 ]
%150 = tail call i32 @strcpy(i8* %1, i8* %149)
ret void
}