#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*/ printf(char *, ...);
scalar_t__ strcmp(char const *, char const *);
int strlen(char const *);
int main(const int intentionally_unused_argc,
         const char **intentionally_unused_argv) {
  static const char *tags[] = {"permID",
                               "provID",
                               "artSat",
                               "trkSub",
                               "obsID",
                               "trkID",
                               "mode",
                               "stn",
                               "trx",
                               "rcv",
                               "sys",
                               "ctr",
                               "pos1",
                               "pos2",
                               "pos3",
                               "posCov11",
                               "posCov12",
                               "posCov13",
                               "posCov22",
                               "posCov23",
                               "posCov33",
                               "prog",
                               "obsTime",
                               "ra",
                               "dec",
                               "raStar",
                               "decStar",
                               "obsCenter",
                               "deltaRA",
                               "deltaDec",
                               "dist",
                               "pa",
                               "rmsRA",
                               "rmsDec",
                               "rmsDist",
                               "rmsPA",
                               "rmsCorr",
                               "delay",
                               "rmsDelay",
                               "doppler",
                               "rmsDoppler",
                               "astCat",
                               "mag",
                               "rmsMag",
                               "band",
                               "photCat",
                               "photAp",
                               "nucMag",
                               "logSNR",
                               "seeing",
                               "exp",
                               "rmsFit",
                               "nStars",
                               "com",
                               "frq",
                               "ref",
                               "disc",
                               "subFmt",
                               "subFrm",
                               "precTime",
                               "precRA",
                               "precDec",
                               "uncTime",
                               "notes",
                               "remarks",
                               "deprecated",
                               "localUse",
                               "orbProd",
                               "orbID",
                               "resRA",
                               "resDec",
                               "selAst",
                               "sigRA",
                               "sigDec",
                               "sigCorr",
                               "sigTime",
                               "biasRA",
                               "biasDec",
                               "biasTime",
                               "photProd",
                               "resMag",
                               "selPhot",
                               "sigMag",
                               "biasMag",
                               "photMod",
                               "resDelay",
                               "selDelay",
                               "sigDelay",
                               "resDoppler",
                               "selDoppler",
                               "sigDoppler",
                               "observatory",
                               "submitter",
                               "observers",
                               "measurers",
                               "telescope",
                               "software",
                               "coinvestigators",
                               "collaborators",
                               "fundingSource",
                               "comment",
                               "optical",
                               "offset",
                               "occultation",
                               "radar",
                               "obsContext",
                               "obsData",
                               "obsBlock",
                               "opticalResidual",
                               "radarResidual",
                               "ades",
                               "MPCID",
                               "OpticalID",
                               "RadarID",
                               "RadarValue",
                               "Precision",
                               "Location",
                               "Photometry",
                               "OffsetVal",
                               "OpticalRes",
                               "OpticalResMag",
                               "OpticalResiduals",
                               "RadarResiduals",
                               "mpcCode",
                               "institution",
                               "design",
                               "aperture",
                               "detector",
                               "fRatio",
                               "filter",
                               "arrayScale",
                               "pixelScale",
                               "astrometry",
                               "fitOrder",
                               "photometry",
                               "objectDetection",
                               "line",
                               "name",
                               "rmsTime",
                               NULL};
  size_t i, j;
  (void)(intentionally_unused_argv);
  (void)(intentionally_unused_argc);
  for (i = 0; tags[i]; i++)
    for (j = i + 1; tags[j]; j++)
      if (strcmp(tags[i], tags[j]) > 0) {
        const char *tptr = tags[j];
        tags[j] = tags[i];
        tags[i] = tptr;
      }
  j = 60;
  printf("   static const char *tags[] = {");
  for (i = 0; tags[i]; i++) {
    int len = strlen(tags[i]) + 4;
    if (j + len > 60) {
      printf("\n       ");
      j = 0;
    }
    printf("\"%s\", ", tags[i]);
    j += len;
  }
  printf("\n   NULL };\n\n");
  for (i = 0; tags[i]; i++)
    printf("#define ADES_%-27s%4d\n", tags[i], (int)i + 1);
  return (0);
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x30,%rsp
movl   $0x0,-0x4(%rbp)
mov    %edi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
movq   $0x0,-0x18(%rbp)
mov    -0x18(%rbp),%rcx
lea    0x2ee7(%rip),%rax
cmpq   $0x0,(%rax,%rcx,8)
je     2223 <main+0xf3>
mov    -0x18(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x20(%rbp)
mov    -0x20(%rbp),%rcx
lea    0x2ec5(%rip),%rax
cmpq   $0x0,(%rax,%rcx,8)
je     220d <main+0xdd>
mov    -0x18(%rbp),%rcx
lea    0x2eaf(%rip),%rax
mov    (%rax,%rcx,8),%rdi
mov    -0x20(%rbp),%rcx
lea    0x2ea0(%rip),%rax
mov    (%rax,%rcx,8),%rsi
call   2050 <strcmp@plt>
cmp    $0x0,%rax
jle    21f7 <main+0xc7>
mov    -0x20(%rbp),%rcx
lea    0x2e82(%rip),%rax
mov    (%rax,%rcx,8),%rax
mov    %rax,-0x28(%rbp)
mov    -0x18(%rbp),%rcx
lea    0x2e6f(%rip),%rax
mov    (%rax,%rcx,8),%rdx
mov    -0x20(%rbp),%rcx
lea    0x2e60(%rip),%rax
mov    %rdx,(%rax,%rcx,8)
mov    -0x28(%rbp),%rdx
mov    -0x18(%rbp),%rcx
lea    0x2e4d(%rip),%rax
mov    %rdx,(%rax,%rcx,8)
jmp    21fc <main+0xcc>
mov    -0x20(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x20(%rbp)
jmp    2170 <main+0x40>
jmp    2212 <main+0xe2>
mov    -0x18(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x18(%rbp)
jmp    214e <main+0x1e>
movq   $0x3c,-0x20(%rbp)
lea    0x1236(%rip),%rdi
mov    $0x0,%al
call   2040 <printf@plt>
movq   $0x0,-0x18(%rbp)
mov    -0x18(%rbp),%rcx
lea    0x2df4(%rip),%rax
cmpq   $0x0,(%rax,%rcx,8)
je     22d6 <main+0x1a6>
mov    -0x18(%rbp),%rcx
lea    0x2dde(%rip),%rax
mov    (%rax,%rcx,8),%rdi
call   2030 <strlen@plt>
add    $0x4,%eax
mov    %eax,-0x2c(%rbp)
mov    -0x20(%rbp),%rax
movslq -0x2c(%rbp),%rcx
add    %rcx,%rax
cmp    $0x3c,%rax
jbe    229c <main+0x16c>
lea    0x11fc(%rip),%rdi
mov    $0x0,%al
call   2040 <printf@plt>
movq   $0x0,-0x20(%rbp)
mov    -0x18(%rbp),%rcx
lea    0x2d99(%rip),%rax
mov    (%rax,%rcx,8),%rsi
lea    0x11e0(%rip),%rdi
mov    $0x0,%al
call   2040 <printf@plt>
movslq -0x2c(%rbp),%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x18(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x18(%rbp)
jmp    2241 <main+0x111>
lea    0x11bc(%rip),%rdi
mov    $0x0,%al
call   2040 <printf@plt>
movq   $0x0,-0x18(%rbp)
mov    -0x18(%rbp),%rcx
lea    0x2d49(%rip),%rax
cmpq   $0x0,(%rax,%rcx,8)
je     2339 <main+0x209>
mov    -0x18(%rbp),%rcx
lea    0x2d33(%rip),%rax
mov    (%rax,%rcx,8),%rsi
mov    -0x18(%rbp),%rax
mov    %eax,%edx
add    $0x1,%edx
lea    0x1186(%rip),%rdi
mov    $0x0,%al
call   2040 <printf@plt>
mov    -0x18(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x18(%rbp)
jmp    22ec <main+0x1bc>
xor    %eax,%eax
add    $0x30,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
push   %rax
mov    0x2efe(%rip),%rdi
test   %rdi,%rdi
je     21ca <main+0x8a>
lea    0x2ef2(%rip),%r14
lea    0x2ef3(%rip),%r12
xor    %r15d,%r15d
mov    %r14,%rbx
jmp    2180 <main+0x40>
nopl   (%rax)
mov    0x0(%r13),%rdi
add    $0x8,%r12
mov    %r13,%rbx
test   %rdi,%rdi
je     21ca <main+0x8a>
mov    0x8(%r14,%r15,8),%rsi
test   %rsi,%rsi
je     21ca <main+0x8a>
lea    (%r14,%r15,8),%r13
add    $0x8,%r13
add    $0x1,%r15
mov    %r12,%rbp
nopl   0x0(%rax)
call   2060 <strcmp@plt>
test   %rax,%rax
jle    21b8 <main+0x78>
mov    0x0(%rbp),%rax
mov    (%rbx),%rcx
mov    %rcx,0x0(%rbp)
mov    %rax,(%rbx)
mov    0x8(%rbp),%rsi
test   %rsi,%rsi
je     2170 <main+0x30>
mov    (%rbx),%rdi
add    $0x8,%rbp
jmp    21a0 <main+0x60>
lea    0x1297(%rip),%rdi
xor    %eax,%eax
call   2050 <printf@plt>
mov    0x2e71(%rip),%rdi
test   %rdi,%rdi
je     2247 <main+0x107>
mov    $0x3c,%ebx
lea    0x2e68(%rip),%r12
lea    0x1292(%rip),%r14
lea    0x1294(%rip),%r15
jmp    221f <main+0xdf>
add    %rbp,%rbx
mov    -0x8(%r12),%rsi
mov    %r15,%rdi
xor    %eax,%eax
call   2050 <printf@plt>
mov    (%r12),%rdi
add    $0x8,%r12
test   %rdi,%rdi
je     2247 <main+0x107>
call   2040 <strlen@plt>
movslq %eax,%rbp
lea    (%rbx,%rbp,1),%rax
add    $0x4,%rax
add    $0x4,%rbp
cmp    $0x3d,%rax
jb     2200 <main+0xc0>
mov    %r14,%rdi
xor    %eax,%eax
call   2050 <printf@plt>
xor    %ebx,%ebx
jmp    2200 <main+0xc0>
lea    0x1262(%rip),%rdi
call   2030 <puts@plt>
mov    0x2df6(%rip),%rsi
test   %rsi,%rsi
je     229a <main+0x15a>
mov    $0x1,%ebx
lea    0x122e(%rip),%r14
lea    0x2dde(%rip),%rbp
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
mov    %r14,%rdi
mov    %ebx,%edx
xor    %eax,%eax
call   2050 <printf@plt>
mov    0x0(%rbp,%rbx,8),%rsi
add    $0x1,%rbx
test   %rsi,%rsi
jne    2280 <main+0x140>
xor    %eax,%eax
add    $0x8,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
@main.tags = internal global [140 x i8*] [i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.3, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.4, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.5, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.6, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.7, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.8, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.9, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.10, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.11, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.12, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.13, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.14, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.15, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.16, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.17, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.18, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.19, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.20, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.21, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.22, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.23, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.24, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.25, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.26, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.27, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.28, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.29, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.30, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.31, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.32, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.33, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.34, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.35, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.36, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.37, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.38, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.39, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.40, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.41, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.42, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.43, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.44, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.45, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.46, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.47, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.48, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.49, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.50, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.51, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.52, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.53, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.54, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.55, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.56, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.57, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.58, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.59, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.60, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.61, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.62, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.63, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.64, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.65, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.66, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.67, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.68, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.69, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.70, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.71, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.72, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.73, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.74, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.75, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.76, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.77, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.78, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.79, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.80, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.81, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.82, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.83, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.84, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.85, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.86, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.87, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.88, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.89, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.90, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.91, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.92, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.93, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.94, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.95, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.96, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.97, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.98, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.99, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.100, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.101, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.102, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.103, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.104, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.105, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.106, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.107, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.108, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.109, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.110, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.111, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.112, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.113, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.114, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.115, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.116, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.117, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.118, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.119, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.120, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.121, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.122, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.123, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.124, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.125, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.126, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.127, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.128, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.129, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.130, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.131, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.132, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.133, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.134, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.135, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.136, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.137, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.138, i32 0, i32 0), i8* null]
@.str = [7 x i8] c"permID\00"
@.str.1 = [7 x i8] c"provID\00"
@.str.2 = [7 x i8] c"artSat\00"
@.str.3 = [7 x i8] c"trkSub\00"
@.str.4 = [6 x i8] c"obsID\00"
@.str.5 = [6 x i8] c"trkID\00"
@.str.6 = [5 x i8] c"mode\00"
@.str.7 = [4 x i8] c"stn\00"
@.str.8 = [4 x i8] c"trx\00"
@.str.9 = [4 x i8] c"rcv\00"
@.str.10 = [4 x i8] c"sys\00"
@.str.11 = [4 x i8] c"ctr\00"
@.str.12 = [5 x i8] c"pos1\00"
@.str.13 = [5 x i8] c"pos2\00"
@.str.14 = [5 x i8] c"pos3\00"
@.str.15 = [9 x i8] c"posCov11\00"
@.str.16 = [9 x i8] c"posCov12\00"
@.str.17 = [9 x i8] c"posCov13\00"
@.str.18 = [9 x i8] c"posCov22\00"
@.str.19 = [9 x i8] c"posCov23\00"
@.str.20 = [9 x i8] c"posCov33\00"
@.str.21 = [5 x i8] c"prog\00"
@.str.22 = [8 x i8] c"obsTime\00"
@.str.23 = [3 x i8] c"ra\00"
@.str.24 = [4 x i8] c"dec\00"
@.str.25 = [7 x i8] c"raStar\00"
@.str.26 = [8 x i8] c"decStar\00"
@.str.27 = [10 x i8] c"obsCenter\00"
@.str.28 = [8 x i8] c"deltaRA\00"
@.str.29 = [9 x i8] c"deltaDec\00"
@.str.30 = [5 x i8] c"dist\00"
@.str.31 = [3 x i8] c"pa\00"
@.str.32 = [6 x i8] c"rmsRA\00"
@.str.33 = [7 x i8] c"rmsDec\00"
@.str.34 = [8 x i8] c"rmsDist\00"
@.str.35 = [6 x i8] c"rmsPA\00"
@.str.36 = [8 x i8] c"rmsCorr\00"
@.str.37 = [6 x i8] c"delay\00"
@.str.38 = [9 x i8] c"rmsDelay\00"
@.str.39 = [8 x i8] c"doppler\00"
@.str.40 = [11 x i8] c"rmsDoppler\00"
@.str.41 = [7 x i8] c"astCat\00"
@.str.42 = [4 x i8] c"mag\00"
@.str.43 = [7 x i8] c"rmsMag\00"
@.str.44 = [5 x i8] c"band\00"
@.str.45 = [8 x i8] c"photCat\00"
@.str.46 = [7 x i8] c"photAp\00"
@.str.47 = [7 x i8] c"nucMag\00"
@.str.48 = [7 x i8] c"logSNR\00"
@.str.49 = [7 x i8] c"seeing\00"
@.str.50 = [4 x i8] c"exp\00"
@.str.51 = [7 x i8] c"rmsFit\00"
@.str.52 = [7 x i8] c"nStars\00"
@.str.53 = [4 x i8] c"com\00"
@.str.54 = [4 x i8] c"frq\00"
@.str.55 = [4 x i8] c"ref\00"
@.str.56 = [5 x i8] c"disc\00"
@.str.57 = [7 x i8] c"subFmt\00"
@.str.58 = [7 x i8] c"subFrm\00"
@.str.59 = [9 x i8] c"precTime\00"
@.str.60 = [7 x i8] c"precRA\00"
@.str.61 = [8 x i8] c"precDec\00"
@.str.62 = [8 x i8] c"uncTime\00"
@.str.63 = [6 x i8] c"notes\00"
@.str.64 = [8 x i8] c"remarks\00"
@.str.65 = [11 x i8] c"deprecated\00"
@.str.66 = [9 x i8] c"localUse\00"
@.str.67 = [8 x i8] c"orbProd\00"
@.str.68 = [6 x i8] c"orbID\00"
@.str.69 = [6 x i8] c"resRA\00"
@.str.70 = [7 x i8] c"resDec\00"
@.str.71 = [7 x i8] c"selAst\00"
@.str.72 = [6 x i8] c"sigRA\00"
@.str.73 = [7 x i8] c"sigDec\00"
@.str.74 = [8 x i8] c"sigCorr\00"
@.str.75 = [8 x i8] c"sigTime\00"
@.str.76 = [7 x i8] c"biasRA\00"
@.str.77 = [8 x i8] c"biasDec\00"
@.str.78 = [9 x i8] c"biasTime\00"
@.str.79 = [9 x i8] c"photProd\00"
@.str.80 = [7 x i8] c"resMag\00"
@.str.81 = [8 x i8] c"selPhot\00"
@.str.82 = [7 x i8] c"sigMag\00"
@.str.83 = [8 x i8] c"biasMag\00"
@.str.84 = [8 x i8] c"photMod\00"
@.str.85 = [9 x i8] c"resDelay\00"
@.str.86 = [9 x i8] c"selDelay\00"
@.str.87 = [9 x i8] c"sigDelay\00"
@.str.88 = [11 x i8] c"resDoppler\00"
@.str.89 = [11 x i8] c"selDoppler\00"
@.str.90 = [11 x i8] c"sigDoppler\00"
@.str.91 = [12 x i8] c"observatory\00"
@.str.92 = [10 x i8] c"submitter\00"
@.str.93 = [10 x i8] c"observers\00"
@.str.94 = [10 x i8] c"measurers\00"
@.str.95 = [10 x i8] c"telescope\00"
@.str.96 = [9 x i8] c"software\00"
@.str.97 = [16 x i8] c"coinvestigators\00"
@.str.98 = [14 x i8] c"collaborators\00"
@.str.99 = [14 x i8] c"fundingSource\00"
@.str.100 = [8 x i8] c"comment\00"
@.str.101 = [8 x i8] c"optical\00"
@.str.102 = [7 x i8] c"offset\00"
@.str.103 = [12 x i8] c"occultation\00"
@.str.104 = [6 x i8] c"radar\00"
@.str.105 = [11 x i8] c"obsContext\00"
@.str.106 = [8 x i8] c"obsData\00"
@.str.107 = [9 x i8] c"obsBlock\00"
@.str.108 = [16 x i8] c"opticalResidual\00"
@.str.109 = [14 x i8] c"radarResidual\00"
@.str.110 = [5 x i8] c"ades\00"
@.str.111 = [6 x i8] c"MPCID\00"
@.str.112 = [10 x i8] c"OpticalID\00"
@.str.113 = [8 x i8] c"RadarID\00"
@.str.114 = [11 x i8] c"RadarValue\00"
@.str.115 = [10 x i8] c"Precision\00"
@.str.116 = [9 x i8] c"Location\00"
@.str.117 = [11 x i8] c"Photometry\00"
@.str.118 = [10 x i8] c"OffsetVal\00"
@.str.119 = [11 x i8] c"OpticalRes\00"
@.str.120 = [14 x i8] c"OpticalResMag\00"
@.str.121 = [17 x i8] c"OpticalResiduals\00"
@.str.122 = [15 x i8] c"RadarResiduals\00"
@.str.123 = [8 x i8] c"mpcCode\00"
@.str.124 = [12 x i8] c"institution\00"
@.str.125 = [7 x i8] c"design\00"
@.str.126 = [9 x i8] c"aperture\00"
@.str.127 = [9 x i8] c"detector\00"
@.str.128 = [7 x i8] c"fRatio\00"
@.str.129 = [7 x i8] c"filter\00"
@.str.130 = [11 x i8] c"arrayScale\00"
@.str.131 = [11 x i8] c"pixelScale\00"
@.str.132 = [11 x i8] c"astrometry\00"
@.str.133 = [9 x i8] c"fitOrder\00"
@.str.134 = [11 x i8] c"photometry\00"
@.str.135 = [16 x i8] c"objectDetection\00"
@.str.136 = [5 x i8] c"line\00"
@.str.137 = [5 x i8] c"name\00"
@.str.138 = [8 x i8] c"rmsTime\00"
@.str.139 = [33 x i8] c" static const char *tags[] = {\00"
@.str.140 = [9 x i8] c"\0A \00"
@.str.141 = [7 x i8] c"\22%s\22, \00"
@.str.142 = [14 x i8] c"\0A NULL };\0A\0A\00"
@.str.143 = [23 x i8] c"#define ADES_%-27s%4d\0A\00"
define i32 @main(i32 %0, i8** %1) {
%3 = alloca i32
%4 = alloca i32
%5 = alloca i8**
%6 = alloca i64
%7 = alloca i64
%8 = alloca i8*
%9 = alloca i32
store i32 0, i32* %3
store i32 %0, i32* %4
store i8** %1, i8*** %5
%10 = load i8**, i8*** %5
%11 = load i32, i32* %4
store i64 0, i64* %6
br label %12
12: ; preds = %51, %2
%13 = load i64, i64* %6
%14 = getelementptr inbounds [140 x i8*], [140 x i8*]* @main.tags, i64 0, i64 %13
%15 = load i8*, i8** %14
%16 = icmp ne i8* %15, null
br i1 %16, label %17, label %54
17: ; preds = %12
%18 = load i64, i64* %6
%19 = add i64 %18, 1
store i64 %19, i64* %7
br label %20
20: ; preds = %47, %17
%21 = load i64, i64* %7
%22 = getelementptr inbounds [140 x i8*], [140 x i8*]* @main.tags, i64 0, i64 %21
%23 = load i8*, i8** %22
%24 = icmp ne i8* %23, null
br i1 %24, label %25, label %50
25: ; preds = %20
%26 = load i64, i64* %6
%27 = getelementptr inbounds [140 x i8*], [140 x i8*]* @main.tags, i64 0, i64 %26
%28 = load i8*, i8** %27
%29 = load i64, i64* %7
%30 = getelementptr inbounds [140 x i8*], [140 x i8*]* @main.tags, i64 0, i64 %29
%31 = load i8*, i8** %30
%32 = call i64 @strcmp(i8* %28, i8* %31)
%33 = icmp sgt i64 %32, 0
br i1 %33, label %34, label %46
34: ; preds = %25
%35 = load i64, i64* %7
%36 = getelementptr inbounds [140 x i8*], [140 x i8*]* @main.tags, i64 0, i64 %35
%37 = load i8*, i8** %36
store i8* %37, i8** %8
%38 = load i64, i64* %6
%39 = getelementptr inbounds [140 x i8*], [140 x i8*]* @main.tags, i64 0, i64 %38
%40 = load i8*, i8** %39
%41 = load i64, i64* %7
%42 = getelementptr inbounds [140 x i8*], [140 x i8*]* @main.tags, i64 0, i64 %41
store i8* %40, i8** %42
%43 = load i8*, i8** %8
%44 = load i64, i64* %6
%45 = getelementptr inbounds [140 x i8*], [140 x i8*]* @main.tags, i64 0, i64 %44
store i8* %43, i8** %45
br label %46
46: ; preds = %34, %25
br label %47
47: ; preds = %46
%48 = load i64, i64* %7
%49 = add i64 %48, 1
store i64 %49, i64* %7
br label %20
50: ; preds = %20
br label %51
51: ; preds = %50
%52 = load i64, i64* %6
%53 = add i64 %52, 1
store i64 %53, i64* %6
br label %12
54: ; preds = %12
store i64 60, i64* %7
%55 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.139, i64 0, i64 0))
store i64 0, i64* %6
br label %56
56: ; preds = %83, %54
%57 = load i64, i64* %6
%58 = getelementptr inbounds [140 x i8*], [140 x i8*]* @main.tags, i64 0, i64 %57
%59 = load i8*, i8** %58
%60 = icmp ne i8* %59, null
br i1 %60, label %61, label %86
61: ; preds = %56
%62 = load i64, i64* %6
%63 = getelementptr inbounds [140 x i8*], [140 x i8*]* @main.tags, i64 0, i64 %62
%64 = load i8*, i8** %63
%65 = call i32 @strlen(i8* %64)
%66 = add nsw i32 %65, 4
store i32 %66, i32* %9
%67 = load i64, i64* %7
%68 = load i32, i32* %9
%69 = sext i32 %68 to i64
%70 = add i64 %67, %69
%71 = icmp ugt i64 %70, 60
br i1 %71, label %72, label %74
72: ; preds = %61
%73 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.140, i64 0, i64 0))
store i64 0, i64* %7
br label %74
74: ; preds = %72, %61
%75 = load i64, i64* %6
%76 = getelementptr inbounds [140 x i8*], [140 x i8*]* @main.tags, i64 0, i64 %75
%77 = load i8*, i8** %76
%78 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.141, i64 0, i64 0), i8* %77)
%79 = load i32, i32* %9
%80 = sext i32 %79 to i64
%81 = load i64, i64* %7
%82 = add i64 %81, %80
store i64 %82, i64* %7
br label %83
83: ; preds = %74
%84 = load i64, i64* %6
%85 = add i64 %84, 1
store i64 %85, i64* %6
br label %56
86: ; preds = %56
%87 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.142, i64 0, i64 0))
store i64 0, i64* %6
br label %88
88: ; preds = %101, %86
%89 = load i64, i64* %6
%90 = getelementptr inbounds [140 x i8*], [140 x i8*]* @main.tags, i64 0, i64 %89
%91 = load i8*, i8** %90
%92 = icmp ne i8* %91, null
br i1 %92, label %93, label %104
93: ; preds = %88
%94 = load i64, i64* %6
%95 = getelementptr inbounds [140 x i8*], [140 x i8*]* @main.tags, i64 0, i64 %94
%96 = load i8*, i8** %95
%97 = load i64, i64* %6
%98 = trunc i64 %97 to i32
%99 = add nsw i32 %98, 1
%100 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.143, i64 0, i64 0), i8* %96, i32 %99)
br label %101
101: ; preds = %93
%102 = load i64, i64* %6
%103 = add i64 %102, 1
store i64 %103, i64* %6
br label %88
104: ; preds = %88
ret i32 0
}

LLVM IR (-O2):
@main.tags = internal unnamed_addr global [140 x i8*] [i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.3, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.4, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.5, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.6, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.7, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.8, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.9, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.10, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.11, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.12, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.13, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.14, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.15, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.16, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.17, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.18, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.19, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.20, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.21, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.22, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.23, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.24, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.25, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.26, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.27, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.28, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.29, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.30, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.31, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.32, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.33, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.34, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.35, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.36, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.37, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.38, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.39, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.40, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.41, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.42, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.43, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.44, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.45, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.46, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.47, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.48, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.49, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.50, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.51, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.52, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.53, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.54, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.55, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.56, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.57, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.58, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.59, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.60, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.61, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.62, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.63, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.64, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.65, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.66, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.67, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.68, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.69, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.70, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.71, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.72, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.73, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.74, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.75, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.76, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.77, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.78, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.79, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.80, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.81, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.82, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.83, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.84, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.85, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.86, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.87, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.88, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.89, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.90, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.91, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.92, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.93, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.94, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.95, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.96, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.97, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.98, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.99, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.100, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.101, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.102, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.103, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.104, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.105, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.106, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.107, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.108, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.109, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.110, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.111, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.112, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.113, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.114, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.115, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.116, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.117, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.118, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.119, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.120, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.121, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.122, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.123, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.124, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.125, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.126, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.127, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.128, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.129, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.130, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.131, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.132, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.133, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.134, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.135, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.136, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.137, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.138, i32 0, i32 0), i8* null]
@.str = [7 x i8] c"permID\00"
@.str.1 = [7 x i8] c"provID\00"
@.str.2 = [7 x i8] c"artSat\00"
@.str.3 = [7 x i8] c"trkSub\00"
@.str.4 = [6 x i8] c"obsID\00"
@.str.5 = [6 x i8] c"trkID\00"
@.str.6 = [5 x i8] c"mode\00"
@.str.7 = [4 x i8] c"stn\00"
@.str.8 = [4 x i8] c"trx\00"
@.str.9 = [4 x i8] c"rcv\00"
@.str.10 = [4 x i8] c"sys\00"
@.str.11 = [4 x i8] c"ctr\00"
@.str.12 = [5 x i8] c"pos1\00"
@.str.13 = [5 x i8] c"pos2\00"
@.str.14 = [5 x i8] c"pos3\00"
@.str.15 = [9 x i8] c"posCov11\00"
@.str.16 = [9 x i8] c"posCov12\00"
@.str.17 = [9 x i8] c"posCov13\00"
@.str.18 = [9 x i8] c"posCov22\00"
@.str.19 = [9 x i8] c"posCov23\00"
@.str.20 = [9 x i8] c"posCov33\00"
@.str.21 = [5 x i8] c"prog\00"
@.str.22 = [8 x i8] c"obsTime\00"
@.str.23 = [3 x i8] c"ra\00"
@.str.24 = [4 x i8] c"dec\00"
@.str.25 = [7 x i8] c"raStar\00"
@.str.26 = [8 x i8] c"decStar\00"
@.str.27 = [10 x i8] c"obsCenter\00"
@.str.28 = [8 x i8] c"deltaRA\00"
@.str.29 = [9 x i8] c"deltaDec\00"
@.str.30 = [5 x i8] c"dist\00"
@.str.31 = [3 x i8] c"pa\00"
@.str.32 = [6 x i8] c"rmsRA\00"
@.str.33 = [7 x i8] c"rmsDec\00"
@.str.34 = [8 x i8] c"rmsDist\00"
@.str.35 = [6 x i8] c"rmsPA\00"
@.str.36 = [8 x i8] c"rmsCorr\00"
@.str.37 = [6 x i8] c"delay\00"
@.str.38 = [9 x i8] c"rmsDelay\00"
@.str.39 = [8 x i8] c"doppler\00"
@.str.40 = [11 x i8] c"rmsDoppler\00"
@.str.41 = [7 x i8] c"astCat\00"
@.str.42 = [4 x i8] c"mag\00"
@.str.43 = [7 x i8] c"rmsMag\00"
@.str.44 = [5 x i8] c"band\00"
@.str.45 = [8 x i8] c"photCat\00"
@.str.46 = [7 x i8] c"photAp\00"
@.str.47 = [7 x i8] c"nucMag\00"
@.str.48 = [7 x i8] c"logSNR\00"
@.str.49 = [7 x i8] c"seeing\00"
@.str.50 = [4 x i8] c"exp\00"
@.str.51 = [7 x i8] c"rmsFit\00"
@.str.52 = [7 x i8] c"nStars\00"
@.str.53 = [4 x i8] c"com\00"
@.str.54 = [4 x i8] c"frq\00"
@.str.55 = [4 x i8] c"ref\00"
@.str.56 = [5 x i8] c"disc\00"
@.str.57 = [7 x i8] c"subFmt\00"
@.str.58 = [7 x i8] c"subFrm\00"
@.str.59 = [9 x i8] c"precTime\00"
@.str.60 = [7 x i8] c"precRA\00"
@.str.61 = [8 x i8] c"precDec\00"
@.str.62 = [8 x i8] c"uncTime\00"
@.str.63 = [6 x i8] c"notes\00"
@.str.64 = [8 x i8] c"remarks\00"
@.str.65 = [11 x i8] c"deprecated\00"
@.str.66 = [9 x i8] c"localUse\00"
@.str.67 = [8 x i8] c"orbProd\00"
@.str.68 = [6 x i8] c"orbID\00"
@.str.69 = [6 x i8] c"resRA\00"
@.str.70 = [7 x i8] c"resDec\00"
@.str.71 = [7 x i8] c"selAst\00"
@.str.72 = [6 x i8] c"sigRA\00"
@.str.73 = [7 x i8] c"sigDec\00"
@.str.74 = [8 x i8] c"sigCorr\00"
@.str.75 = [8 x i8] c"sigTime\00"
@.str.76 = [7 x i8] c"biasRA\00"
@.str.77 = [8 x i8] c"biasDec\00"
@.str.78 = [9 x i8] c"biasTime\00"
@.str.79 = [9 x i8] c"photProd\00"
@.str.80 = [7 x i8] c"resMag\00"
@.str.81 = [8 x i8] c"selPhot\00"
@.str.82 = [7 x i8] c"sigMag\00"
@.str.83 = [8 x i8] c"biasMag\00"
@.str.84 = [8 x i8] c"photMod\00"
@.str.85 = [9 x i8] c"resDelay\00"
@.str.86 = [9 x i8] c"selDelay\00"
@.str.87 = [9 x i8] c"sigDelay\00"
@.str.88 = [11 x i8] c"resDoppler\00"
@.str.89 = [11 x i8] c"selDoppler\00"
@.str.90 = [11 x i8] c"sigDoppler\00"
@.str.91 = [12 x i8] c"observatory\00"
@.str.92 = [10 x i8] c"submitter\00"
@.str.93 = [10 x i8] c"observers\00"
@.str.94 = [10 x i8] c"measurers\00"
@.str.95 = [10 x i8] c"telescope\00"
@.str.96 = [9 x i8] c"software\00"
@.str.97 = [16 x i8] c"coinvestigators\00"
@.str.98 = [14 x i8] c"collaborators\00"
@.str.99 = [14 x i8] c"fundingSource\00"
@.str.100 = [8 x i8] c"comment\00"
@.str.101 = [8 x i8] c"optical\00"
@.str.102 = [7 x i8] c"offset\00"
@.str.103 = [12 x i8] c"occultation\00"
@.str.104 = [6 x i8] c"radar\00"
@.str.105 = [11 x i8] c"obsContext\00"
@.str.106 = [8 x i8] c"obsData\00"
@.str.107 = [9 x i8] c"obsBlock\00"
@.str.108 = [16 x i8] c"opticalResidual\00"
@.str.109 = [14 x i8] c"radarResidual\00"
@.str.110 = [5 x i8] c"ades\00"
@.str.111 = [6 x i8] c"MPCID\00"
@.str.112 = [10 x i8] c"OpticalID\00"
@.str.113 = [8 x i8] c"RadarID\00"
@.str.114 = [11 x i8] c"RadarValue\00"
@.str.115 = [10 x i8] c"Precision\00"
@.str.116 = [9 x i8] c"Location\00"
@.str.117 = [11 x i8] c"Photometry\00"
@.str.118 = [10 x i8] c"OffsetVal\00"
@.str.119 = [11 x i8] c"OpticalRes\00"
@.str.120 = [14 x i8] c"OpticalResMag\00"
@.str.121 = [17 x i8] c"OpticalResiduals\00"
@.str.122 = [15 x i8] c"RadarResiduals\00"
@.str.123 = [8 x i8] c"mpcCode\00"
@.str.124 = [12 x i8] c"institution\00"
@.str.125 = [7 x i8] c"design\00"
@.str.126 = [9 x i8] c"aperture\00"
@.str.127 = [9 x i8] c"detector\00"
@.str.128 = [7 x i8] c"fRatio\00"
@.str.129 = [7 x i8] c"filter\00"
@.str.130 = [11 x i8] c"arrayScale\00"
@.str.131 = [11 x i8] c"pixelScale\00"
@.str.132 = [11 x i8] c"astrometry\00"
@.str.133 = [9 x i8] c"fitOrder\00"
@.str.134 = [11 x i8] c"photometry\00"
@.str.135 = [16 x i8] c"objectDetection\00"
@.str.136 = [5 x i8] c"line\00"
@.str.137 = [5 x i8] c"name\00"
@.str.138 = [8 x i8] c"rmsTime\00"
@.str.139 = [33 x i8] c" static const char *tags[] = {\00"
@.str.140 = [9 x i8] c"\0A \00"
@.str.141 = [7 x i8] c"\22%s\22, \00"
@.str.143 = [23 x i8] c"#define ADES_%-27s%4d\0A\00"
@str = [13 x i8] c"\0A NULL };\0A\00"
define i32 @main(i32 %0, i8** nocapture readnone %1) {
%3 = load i8*, i8** getelementptr inbounds ([140 x i8*], [140 x i8*]* @main.tags, i64 0, i64 0)
%4 = icmp eq i8* %3, null
br i1 %4, label %33, label %8
5: ; preds = %26
%6 = load i8*, i8** %13
%7 = icmp eq i8* %6, null
br i1 %7, label %33, label %8
8: ; preds = %2, %5
%9 = phi i8* [ %6, %5 ], [ %3, %2 ]
%10 = phi i8** [ %13, %5 ], [ getelementptr inbounds ([140 x i8*], [140 x i8*]* @main.tags, i64 0, i64 0), %2 ]
%11 = phi i64 [ %12, %5 ], [ 0, %2 ]
%12 = add i64 %11, 1
%13 = getelementptr inbounds [140 x i8*], [140 x i8*]* @main.tags, i64 0, i64 %12
%14 = load i8*, i8** %13
%15 = icmp eq i8* %14, null
br i1 %15, label %33, label %16
16: ; preds = %8, %31
%17 = phi i8* [ %32, %31 ], [ %9, %8 ]
%18 = phi i8* [ %29, %31 ], [ %14, %8 ]
%19 = phi i8** [ %28, %31 ], [ %13, %8 ]
%20 = phi i64 [ %27, %31 ], [ %12, %8 ]
%21 = tail call i64 @strcmp(i8* %17, i8* %18)
%22 = icmp sgt i64 %21, 0
br i1 %22, label %23, label %26
23: ; preds = %16
%24 = load i8*, i8** %19
%25 = load i8*, i8** %10
store i8* %25, i8** %19
store i8* %24, i8** %10
br label %26
26: ; preds = %16, %23
%27 = add i64 %20, 1
%28 = getelementptr inbounds [140 x i8*], [140 x i8*]* @main.tags, i64 0, i64 %27
%29 = load i8*, i8** %28
%30 = icmp eq i8* %29, null
br i1 %30, label %5, label %31
31: ; preds = %26
%32 = load i8*, i8** %10
br label %16
33: ; preds = %5, %8, %2
%34 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([33 x i8], [33 x i8]* @.str.139, i64 0, i64 0))
%35 = load i8*, i8** getelementptr inbounds ([140 x i8*], [140 x i8*]* @main.tags, i64 0, i64 0)
%36 = icmp eq i8* %35, null
br i1 %36, label %58, label %37
37: ; preds = %33, %49
%38 = phi i8* [ %56, %49 ], [ %35, %33 ]
%39 = phi i8** [ %55, %49 ], [ getelementptr inbounds ([140 x i8*], [140 x i8*]* @main.tags, i64 0, i64 0), %33 ]
%40 = phi i64 [ %54, %49 ], [ 0, %33 ]
%41 = phi i64 [ %53, %49 ], [ 60, %33 ]
%42 = tail call i32 @strlen(i8* %38)
%43 = add nsw i32 %42, 4
%44 = sext i32 %43 to i64
%45 = add i64 %41, %44
%46 = icmp ugt i64 %45, 60
br i1 %46, label %47, label %49
47: ; preds = %37
%48 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([9 x i8], [9 x i8]* @.str.140, i64 0, i64 0))
br label %49
49: ; preds = %47, %37
%50 = phi i64 [ 0, %47 ], [ %41, %37 ]
%51 = load i8*, i8** %39
%52 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([7 x i8], [7 x i8]* @.str.141, i64 0, i64 0), i8* %51)
%53 = add i64 %50, %44
%54 = add i64 %40, 1
%55 = getelementptr inbounds [140 x i8*], [140 x i8*]* @main.tags, i64 0, i64 %54
%56 = load i8*, i8** %55
%57 = icmp eq i8* %56, null
br i1 %57, label %58, label %37
58: ; preds = %49, %33
%59 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @str, i64 0, i64 0))
%60 = load i8*, i8** getelementptr inbounds ([140 x i8*], [140 x i8*]* @main.tags, i64 0, i64 0)
%61 = icmp eq i8* %60, null
br i1 %61, label %72, label %62
62: ; preds = %58, %62
%63 = phi i8* [ %70, %62 ], [ %60, %58 ]
%64 = phi i64 [ %68, %62 ], [ 0, %58 ]
%65 = trunc i64 %64 to i32
%66 = add nsw i32 %65, 1
%67 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([23 x i8], [23 x i8]* @.str.143, i64 0, i64 0), i8* %63, i32 %66)
%68 = add i64 %64, 1
%69 = getelementptr inbounds [140 x i8*], [140 x i8*]* @main.tags, i64 0, i64 %68
%70 = load i8*, i8** %69
%71 = icmp eq i8* %70, null
br i1 %71, label %72, label %62
72: ; preds = %62, %58
ret i32 0
}