int mainlb_(int n, int m, double *x, double *l, double *u, int *nbd, double *f,
            double *g, double *factr, double *pgtol, double *ws, double *wy,
            double *sy, double *ss, double *yy, double *wt, double *wn,
            double *snd, double *z, double *r, double *d, double *t, double *wa,
            double *sg, double *sgo, double *yg, double *ygo, int *index,
            int *iwhere, int *indx2, char *task, char *csave, int *lsave,
            int *isave, double *dsave) {
  double d1, d2, gd, dr, rr, dtd = 0;
  double tol, stp, cpu1 = 0, cpu2 = 0;
  double ddum, fold = 0;
  double time1, time2;
  double theta, dnorm = 0;
  double xstep, stpmx = 0;
  double cachyt, epsmch;
  double sbtime, sbgnrm;
  double lnscht, gdold = 0;
  int nfgv, iter, nint, ifun = 0;
  int info, iback = 0;
  int nskip, nfree, boxed;
  int ileave, updatd, iupdat;
  int prjctd, cnstnd, nenter;
  int col, wrk, head;
  int nintol;
  int i, k;
  static int iword, itail, nact, itfile;
  --lsave;
  --isave;
  --dsave;
  if (strncmp(task, "START", 5) == 0) {
    timer_(&time1);
    epsmch = dpmeps_();
    col = 0;
    head = 1;
    theta = 1.;
    iupdat = 0;
    updatd = 0;
    iter = 0;
    nfgv = 0;
    nint = 0;
    nintol = 0;
    nskip = 0;
    nenter = 0;
    ileave = 0;
    nfree = n;
    tol = *factr / 100.0;
    cachyt = 0.;
    sbtime = 0.;
    lnscht = 0.;
    info = 0;
    errclb_(n, m, *factr, l, u, nbd, task, &info, &k);
    if (strncmp(task, "ERROR", 5) == 0) {
      return 0;
    }
    active_(n, l, u, nbd, x, iwhere, &prjctd, &cnstnd, &boxed);
  } else {
    prjctd = lsave[1];
    cnstnd = lsave[2];
    boxed = lsave[3];
    updatd = lsave[4];
    nintol = isave[1];
    itfile = isave[3];
    iback = isave[4];
    nskip = isave[5];
    head = isave[6];
    col = isave[7];
    itail = isave[8];
    iter = isave[9];
    iupdat = isave[10];
    nint = isave[12];
    nfgv = isave[13];
    info = isave[14];
    ifun = isave[15];
    iword = isave[16];
    nfree = isave[17];
    nact = isave[18];
    ileave = isave[19];
    nenter = isave[20];
    theta = dsave[1];
    fold = dsave[2];
    tol = dsave[3];
    dnorm = dsave[4];
    epsmch = dsave[5];
    cpu1 = dsave[6];
    cachyt = dsave[7];
    sbtime = dsave[8];
    lnscht = dsave[9];
    time1 = dsave[10];
    gd = dsave[11];
    stpmx = dsave[12];
    sbgnrm = dsave[13];
    stp = dsave[14];
    gdold = dsave[15];
    dtd = dsave[16];
    if (strncmp(task, "FG_LN", 5) == 0) {
      goto L666;
    }
    if (strncmp(task, "NEW_X", 5) == 0) {
      goto L777;
    }
    if (strncmp(task, "FG_ST", 5) == 0) {
      goto L111;
    }
    if (strncmp(task, "STOP", 4) == 0) {
      goto L999;
    }
  }
  strcpy(task, "FG_START");
  goto L1000;
L111:
  nfgv = 1;
  projgr_(n, l, u, nbd, x, g, &sbgnrm);
  if (sbgnrm <= *pgtol) {
    strcpy(task, "CONVERGENCE: NORM OF PROJECTED GRADIENT <= PGTOL");
    goto L999;
  }
L222:
  iword = -1;
  if (!cnstnd && col > 0) {
    dcopy_(n, x, z);
    wrk = updatd;
    nint = 0;
    goto L333;
  }
  timer_(&cpu1);
  cauchy_(n, x, l, u, nbd, g, indx2, iwhere, t, d, z, m, wy, ws, sy, wt, theta,
          col, head, wa, wa + 2 * m, wa + 4 * m, wa + 6 * m, &nint, sg, yg,
          &sbgnrm, &info, epsmch);
  if (info != 0) {
    info = 0;
    col = 0;
    head = 1;
    theta = 1.;
    iupdat = 0;
    updatd = 0;
    timer_(&cpu2);
    cachyt = cachyt + cpu2 - cpu1;
    goto L222;
  }
  timer_(&cpu2);
  cachyt = cachyt + cpu2 - cpu1;
  nintol += nint;
  freev_(n, &nfree, index, &nenter, &ileave, indx2, iwhere, &wrk, &updatd,
         cnstnd, iter);
  nact = n - nfree;
L333:
  if (nfree == 0 || col == 0) {
    goto L555;
  }
  timer_(&cpu1);
  if (wrk) {
    formk_(n, &nfree, index, &nenter, &ileave, indx2, &iupdat, &updatd, wn, snd,
           m, ws, wy, sy, theta, col, &head, &info);
  }
  if (info != 0) {
    info = 0;
    col = 0;
    head = 1;
    theta = 1.;
    iupdat = 0;
    updatd = 0;
    timer_(&cpu2);
    sbtime = sbtime + cpu2 - cpu1;
    goto L222;
  }
  cmprlb_(n, m, x, g, ws, wy, sy, wt, z, r, wa, index, theta, col, head, nfree,
          cnstnd, &info);
  if (info != 0) {
    goto L444;
  }
  subsm_(n, m, nfree, index, l, u, nbd, z, r, ws, wy, theta, col, head, &iword,
         wa, wn, &info);
L444:
  if (info != 0) {
    info = 0;
    col = 0;
    head = 1;
    theta = 1.;
    iupdat = 0;
    updatd = 0;
    timer_(&cpu2);
    sbtime = sbtime + cpu2 - cpu1;
    goto L222;
  }
  timer_(&cpu2);
  sbtime = sbtime + cpu2 - cpu1;
L555:
  for (i = 0; i < n; ++i) {
    d[i] = z[i] - x[i];
  }
  timer_(&cpu1);
L666:
  lnsrlb_(n, l, u, nbd, x, f, &fold, &gd, &gdold, g, d, r, t, z, &stp, &dnorm,
          &dtd, &xstep, &stpmx, &iter, &ifun, &iback, &nfgv, &info, task,
          &boxed, &cnstnd, csave, &isave[22], &dsave[17]);
  if (info != 0 || iback >= 20) {
    dcopy_(n, t, x);
    dcopy_(n, r, g);
    *f = fold;
    if (col == 0) {
      if (info == 0) {
        info = -9;
        --nfgv;
        --ifun;
        --iback;
      }
      strcpy(task, "ABNORMAL_TERMINATION_IN_LNSRCH");
      ++iter;
      goto L999;
    } else {
      if (info == 0) {
        --nfgv;
      }
      info = 0;
      col = 0;
      head = 1;
      theta = 1.;
      iupdat = 0;
      updatd = 0;
      strcpy(task, "RESTART_FROM_LNSRCH");
      timer_(&cpu2);
      lnscht = lnscht + cpu2 - cpu1;
      goto L222;
    }
  } else if (strncmp(task, "FG_LN", 5) == 0) {
    goto L1000;
  } else {
    timer_(&cpu2);
    lnscht = lnscht + cpu2 - cpu1;
    ++iter;
    projgr_(n, l, u, nbd, x, g, &sbgnrm);
    goto L1000;
  }
L777:
  if (sbgnrm <= *pgtol) {
    strcpy(task, "CONVERGENCE: NORM OF PROJECTED GRADIENT <= PGTOL");
    goto L999;
  }
  d1 = fabs(fold), d2 = fabs(*f), d1 = ((d1) >= (d2) ? (d1) : (d2));
  ddum = ((d1) >= (1) ? (d1) : (1));
  if (fold - *f <= tol * ddum) {
    strcpy(task, "CONVERGENCE: REL_REDUCTION_OF_F <= FACTR*EPSMCH");
    if (iback >= 10) {
      info = -5;
    }
    goto L999;
  }
  for (i = 0; i < n; ++i) {
    r[i] = g[i] - r[i];
  }
  rr = ddot_(n, r, r);
  if (stp == 1.) {
    dr = gd - gdold;
    ddum = -gdold;
  } else {
    dr = (gd - gdold) * stp;
    dscal_(n, stp, d);
    ddum = -gdold * stp;
  }
  if (dr <= epsmch * ddum) {
    ++nskip;
    updatd = 0;
    goto L888;
  }
  updatd = 1;
  ++iupdat;
  matupd_(n, m, ws, wy, sy, ss, d, r, &itail, iupdat, &col, &head, &theta, rr,
          dr, stp, dtd);
  formt_(m, wt, sy, ss, col, theta, &info);
  if (info != 0) {
    info = 0;
    col = 0;
    head = 1;
    theta = 1.;
    iupdat = 0;
    updatd = 0;
    goto L222;
  }
L888:
  goto L222;
L999:
  timer_(&time2);
L1000:
  lsave[1] = prjctd;
  lsave[2] = cnstnd;
  lsave[3] = boxed;
  lsave[4] = updatd;
  isave[1] = nintol;
  isave[3] = itfile;
  isave[4] = iback;
  isave[5] = nskip;
  isave[6] = head;
  isave[7] = col;
  isave[8] = itail;
  isave[9] = iter;
  isave[10] = iupdat;
  isave[12] = nint;
  isave[13] = nfgv;
  isave[14] = info;
  isave[15] = ifun;
  isave[16] = iword;
  isave[17] = nfree;
  isave[18] = nact;
  isave[19] = ileave;
  isave[20] = nenter;
  dsave[1] = theta;
  dsave[2] = fold;
  dsave[3] = tol;
  dsave[4] = dnorm;
  dsave[5] = epsmch;
  dsave[6] = cpu1;
  dsave[7] = cachyt;
  dsave[8] = sbtime;
  dsave[9] = lnscht;
  dsave[10] = time1;
  dsave[11] = gd;
  dsave[12] = stpmx;
  dsave[13] = sbgnrm;
  dsave[14] = stp;
  dsave[15] = gdold;
  dsave[16] = dtd;
  return 0;
}


x86 assembly (clang, -O0):
<mainlb_>:
push   %rbp
mov    %rsp,%rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x368,%rsp
mov    0xf0(%rbp),%rax
mov    0xe8(%rbp),%rax
mov    0xe0(%rbp),%rax
mov    0xd8(%rbp),%rax
mov    0xd0(%rbp),%rax
mov    0xc8(%rbp),%rax
mov    0xc0(%rbp),%rax
mov    0xb8(%rbp),%rax
mov    0xb0(%rbp),%rax
mov    0xa8(%rbp),%rax
mov    0xa0(%rbp),%rax
mov    0x98(%rbp),%rax
mov    0x90(%rbp),%rax
mov    0x88(%rbp),%rax
mov    0x80(%rbp),%rax
mov    0x78(%rbp),%rax
mov    0x70(%rbp),%rax
mov    0x68(%rbp),%rax
mov    0x60(%rbp),%rax
mov    0x58(%rbp),%rax
mov    0x50(%rbp),%rax
mov    0x48(%rbp),%rax
mov    0x40(%rbp),%rax
mov    0x38(%rbp),%rax
mov    0x30(%rbp),%rax
mov    0x28(%rbp),%rax
mov    0x20(%rbp),%rax
mov    0x18(%rbp),%rax
mov    0x10(%rbp),%rax
mov    %edi,-0x30(%rbp)
mov    %esi,-0x34(%rbp)
mov    %rdx,-0x40(%rbp)
mov    %rcx,-0x48(%rbp)
mov    %r8,-0x50(%rbp)
mov    %r9,-0x58(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xa0(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
movl   $0x0,-0x128(%rbp)
movl   $0x0,-0x130(%rbp)
mov    0xe0(%rbp),%rax
add    $0xfffffffffffffffc,%rax
mov    %rax,0xe0(%rbp)
mov    0xe8(%rbp),%rax
add    $0xfffffffffffffffc,%rax
mov    %rax,0xe8(%rbp)
mov    0xf0(%rbp),%rax
add    $0xfffffffffffffff8,%rax
mov    %rax,0xf0(%rbp)
mov    0xd0(%rbp),%rdi
lea    0x1cb0(%rip),%rsi
mov    $0x5,%edx
call   1030 <strncmp@plt>
cmp    $0x0,%eax
jne    1547 <mainlb_+0x327>
lea    -0xc0(%rbp),%rdi
mov    $0x0,%al
call   1140 <timer_@plt>
mov    $0x0,%al
call   1130 <dpmeps_@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movl   $0x0,-0x158(%rbp)
movl   $0x1,-0x160(%rbp)
movsd  0x1c30(%rip),%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
movl   $0x0,-0x148(%rbp)
movl   $0x0,-0x144(%rbp)
movl   $0x0,-0x120(%rbp)
movl   $0x0,-0x11c(%rbp)
movl   $0x0,-0x124(%rbp)
movl   $0x0,-0x164(%rbp)
movl   $0x0,-0x134(%rbp)
movl   $0x0,-0x154(%rbp)
movl   $0x0,-0x140(%rbp)
mov    -0x30(%rbp),%eax
mov    %eax,-0x138(%rbp)
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
movsd  0x1bbd(%rip),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
movl   $0x0,-0x12c(%rbp)
mov    -0x30(%rbp),%edi
mov    -0x34(%rbp),%esi
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x48(%rbp),%rdx
mov    -0x50(%rbp),%rcx
mov    -0x58(%rbp),%r8
mov    0xd0(%rbp),%r9
lea    -0x12c(%rbp),%r10
lea    -0x16c(%rbp),%rax
mov    %r10,(%rsp)
mov    %rax,0x8(%rsp)
mov    $0x1,%al
call   1100 <errclb_@plt>
mov    0xd0(%rbp),%rdi
lea    0x1b41(%rip),%rsi
mov    $0x5,%edx
call   1030 <strncmp@plt>
cmp    $0x0,%eax
jne    14fe <mainlb_+0x2de>
movl   $0x0,-0x2c(%rbp)
jmp    2bdc <mainlb_+0x19bc>
mov    -0x30(%rbp),%edi
mov    -0x48(%rbp),%rsi
mov    -0x50(%rbp),%rdx
mov    -0x58(%rbp),%rcx
mov    -0x40(%rbp),%r8
mov    0xc0(%rbp),%r9
lea    -0x14c(%rbp),%r11
lea    -0x150(%rbp),%r10
lea    -0x13c(%rbp),%rax
mov    %r11,(%rsp)
mov    %r10,0x8(%rsp)
mov    %rax,0x10(%rsp)
mov    $0x0,%al
call   10a0 <active_@plt>
jmp    1884 <mainlb_+0x664>
mov    0xe0(%rbp),%rax
mov    0x4(%rax),%eax
mov    %eax,-0x14c(%rbp)
mov    0xe0(%rbp),%rax
mov    0x8(%rax),%eax
mov    %eax,-0x150(%rbp)
mov    0xe0(%rbp),%rax
mov    0xc(%rax),%eax
mov    %eax,-0x13c(%rbp)
mov    0xe0(%rbp),%rax
mov    0x10(%rax),%eax
mov    %eax,-0x144(%rbp)
mov    0xe8(%rbp),%rax
mov    0x4(%rax),%eax
mov    %eax,-0x164(%rbp)
mov    0xe8(%rbp),%rax
mov    0xc(%rax),%eax
mov    %eax,0x3b19(%rip)
mov    0xe8(%rbp),%rax
mov    0x10(%rax),%eax
mov    %eax,-0x130(%rbp)
mov    0xe8(%rbp),%rax
mov    0x14(%rax),%eax
mov    %eax,-0x134(%rbp)
mov    0xe8(%rbp),%rax
mov    0x18(%rax),%eax
mov    %eax,-0x160(%rbp)
mov    0xe8(%rbp),%rax
mov    0x1c(%rax),%eax
mov    %eax,-0x158(%rbp)
mov    0xe8(%rbp),%rax
mov    0x20(%rax),%eax
mov    %eax,0x3ac1(%rip)
mov    0xe8(%rbp),%rax
mov    0x24(%rax),%eax
mov    %eax,-0x120(%rbp)
mov    0xe8(%rbp),%rax
mov    0x28(%rax),%eax
mov    %eax,-0x148(%rbp)
mov    0xe8(%rbp),%rax
mov    0x30(%rax),%eax
mov    %eax,-0x124(%rbp)
mov    0xe8(%rbp),%rax
mov    0x34(%rax),%eax
mov    %eax,-0x11c(%rbp)
mov    0xe8(%rbp),%rax
mov    0x38(%rax),%eax
mov    %eax,-0x12c(%rbp)
mov    0xe8(%rbp),%rax
mov    0x3c(%rax),%eax
mov    %eax,-0x128(%rbp)
mov    0xe8(%rbp),%rax
mov    0x40(%rax),%eax
mov    %eax,0x3a4d(%rip)
mov    0xe8(%rbp),%rax
mov    0x44(%rax),%eax
mov    %eax,-0x138(%rbp)
mov    0xe8(%rbp),%rax
mov    0x48(%rax),%eax
mov    %eax,0x3a35(%rip)
mov    0xe8(%rbp),%rax
mov    0x4c(%rax),%eax
mov    %eax,-0x140(%rbp)
mov    0xe8(%rbp),%rax
mov    0x50(%rax),%eax
mov    %eax,-0x154(%rbp)
mov    0xf0(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
mov    0xf0(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
mov    0xf0(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    0xf0(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
mov    0xf0(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
mov    0xf0(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    0xf0(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    0xf0(%rbp),%rax
movsd  0x40(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
mov    0xf0(%rbp),%rax
movsd  0x48(%rax),%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
mov    0xf0(%rbp),%rax
movsd  0x50(%rax),%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
mov    0xf0(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  %xmm0,-0x70(%rbp)
mov    0xf0(%rbp),%rax
movsd  0x60(%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    0xf0(%rbp),%rax
movsd  0x68(%rax),%xmm0
movsd  %xmm0,-0x108(%rbp)
ff
mov    0xf0(%rbp),%rax
movsd  0x70(%rax),%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    0xf0(%rbp),%rax
movsd  0x78(%rax),%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
mov    0xf0(%rbp),%rax
movsd  0x80(%rax),%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
mov    0xd0(%rbp),%rdi
lea    0x1831(%rip),%rsi
mov    $0x5,%edx
call   1030 <strncmp@plt>
cmp    $0x0,%eax
jne    180d <mainlb_+0x5ed>
jmp    2114 <mainlb_+0xef4>
mov    0xd0(%rbp),%rdi
lea    0x1811(%rip),%rsi
mov    $0x5,%edx
call   1030 <strncmp@plt>
cmp    $0x0,%eax
jne    1833 <mainlb_+0x613>
jmp    2545 <mainlb_+0x1325>
mov    0xd0(%rbp),%rdi
lea    0x17f1(%rip),%rsi
mov    $0x5,%edx
call   1030 <strncmp@plt>
cmp    $0x0,%eax
jne    1859 <mainlb_+0x639>
jmp    189c <mainlb_+0x67c>
mov    0xd0(%rbp),%rdi
lea    0x17d1(%rip),%rsi
mov    $0x4,%edx
call   1030 <strncmp@plt>
cmp    $0x0,%eax
jne    187f <mainlb_+0x65f>
jmp    2927 <mainlb_+0x1707>
jmp    1884 <mainlb_+0x664>
mov    0xd0(%rbp),%rdi
lea    0x17ab(%rip),%rsi
call   1040 <strcpy@plt>
jmp    2935 <mainlb_+0x1715>
movl   $0x1,-0x11c(%rbp)
mov    -0x30(%rbp),%edi
mov    -0x48(%rbp),%rsi
mov    -0x50(%rbp),%rdx
mov    -0x58(%rbp),%rcx
mov    -0x40(%rbp),%r8
mov    0x18(%rbp),%r9
lea    -0x108(%rbp),%rax
mov    %rax,(%rsp)
mov    $0x0,%al
call   10f0 <projgr_@plt>
movsd  -0x108(%rbp),%xmm1
ff
mov    0x28(%rbp),%rax
movsd  (%rax),%xmm0
ucomisd %xmm1,%xmm0
jb     1901 <mainlb_+0x6e1>
mov    0xd0(%rbp),%rdi
lea    0x174f(%rip),%rsi
call   1040 <strcpy@plt>
jmp    2927 <mainlb_+0x1707>
jmp    1906 <mainlb_+0x6e6>
movl   $0xffffffff,0x37a4(%rip)
ff ff ff
cmpl   $0x0,-0x150(%rbp)
jne    1957 <mainlb_+0x737>
cmpl   $0x0,-0x158(%rbp)
jle    1957 <mainlb_+0x737>
mov    -0x30(%rbp),%edi
mov    -0x40(%rbp),%rsi
mov    0x70(%rbp),%rdx
mov    $0x0,%al
call   1050 <dcopy_@plt>
mov    -0x144(%rbp),%eax
mov    %eax,-0x15c(%rbp)
movl   $0x0,-0x124(%rbp)
jmp    1ca5 <mainlb_+0xa85>
lea    -0xa0(%rbp),%rdi
mov    $0x0,%al
call   1140 <timer_@plt>
mov    -0x30(%rbp),%edi
mov    -0x40(%rbp),%rsi
mov    -0x48(%rbp),%rdx
mov    -0x50(%rbp),%rcx
mov    -0x58(%rbp),%r8
mov    0x18(%rbp),%r9
mov    0xc8(%rbp),%rax
mov    %rax,-0x1d8(%rbp)
mov    0xc0(%rbp),%rax
mov    %rax,-0x1d0(%rbp)
mov    0x88(%rbp),%rax
mov    %rax,-0x1c8(%rbp)
mov    0x80(%rbp),%rax
mov    %rax,-0x1c0(%rbp)
mov    0x70(%rbp),%rax
mov    %rax,-0x1b8(%rbp)
mov    -0x34(%rbp),%eax
mov    %eax,-0x1ac(%rbp)
mov    0x38(%rbp),%rax
mov    %rax,-0x1a8(%rbp)
mov    0x30(%rbp),%rax
mov    %rax,-0x1a0(%rbp)
mov    0x40(%rbp),%rax
mov    %rax,-0x198(%rbp)
mov    0x58(%rbp),%rax
mov    %rax,-0x190(%rbp)
movsd  -0xd0(%rbp),%xmm0
ff
mov    -0x158(%rbp),%eax
mov    %eax,-0x188(%rbp)
mov    -0x160(%rbp),%eax
mov    %eax,-0x184(%rbp)
mov    0x90(%rbp),%rax
mov    %rax,-0x180(%rbp)
mov    0x90(%rbp),%r13
mov    -0x34(%rbp),%eax
shl    $0x1,%eax
cltq
shl    $0x3,%rax
add    %rax,%r13
mov    0x90(%rbp),%r12
mov    -0x34(%rbp),%eax
shl    $0x2,%eax
cltq
shl    $0x3,%rax
add    %rax,%r12
mov    0x90(%rbp),%r15
imul   $0x6,-0x34(%rbp),%eax
cltq
shl    $0x3,%rax
add    %rax,%r15
mov    0x98(%rbp),%rbx
mov    0xa8(%rbp),%r11
movsd  -0xf8(%rbp),%xmm1
ff
lea    -0x124(%rbp),%r14
lea    -0x108(%rbp),%r10
lea    -0x12c(%rbp),%rax
mov    %rax,-0x178(%rbp)
mov    -0x1d8(%rbp),%rax
mov    %rax,(%rsp)
mov    -0x1d0(%rbp),%rax
mov    %rax,0x8(%rsp)
mov    -0x1c8(%rbp),%rax
mov    %rax,0x10(%rsp)
mov    -0x1c0(%rbp),%rax
mov    %rax,0x18(%rsp)
mov    -0x1b8(%rbp),%rax
mov    %rax,0x20(%rsp)
mov    -0x1ac(%rbp),%eax
mov    %eax,0x28(%rsp)
mov    -0x1a8(%rbp),%rax
mov    %rax,0x30(%rsp)
mov    -0x1a0(%rbp),%rax
mov    %rax,0x38(%rsp)
mov    -0x198(%rbp),%rax
mov    %rax,0x40(%rsp)
mov    -0x190(%rbp),%rax
mov    %rax,0x48(%rsp)
mov    -0x188(%rbp),%eax
mov    %eax,0x50(%rsp)
mov    -0x184(%rbp),%eax
mov    %eax,0x58(%rsp)
mov    -0x180(%rbp),%rax
mov    %rax,0x60(%rsp)
mov    -0x178(%rbp),%rax
mov    %r13,0x68(%rsp)
mov    %r12,0x70(%rsp)
mov    %r15,0x78(%rsp)
mov    %r14,0x80(%rsp)
mov    %rbx,0x88(%rsp)
mov    %r11,0x90(%rsp)
mov    %r10,0x98(%rsp)
mov    %rax,0xa0(%rsp)
mov    $0x2,%al
call   10d0 <cauchy_@plt>
cmpl   $0x0,-0x12c(%rbp)
je     1bf0 <mainlb_+0x9d0>
movl   $0x0,-0x12c(%rbp)
movl   $0x0,-0x158(%rbp)
movl   $0x1,-0x160(%rbp)
movsd  0x146f(%rip),%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
movl   $0x0,-0x148(%rbp)
movl   $0x0,-0x144(%rbp)
lea    -0xa8(%rbp),%rdi
mov    $0x0,%al
call   1140 <timer_@plt>
movsd  -0xf0(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
subsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xf0(%rbp)
ff
jmp    1906 <mainlb_+0x6e6>
lea    -0xa8(%rbp),%rdi
mov    $0x0,%al
call   1140 <timer_@plt>
movsd  -0xf0(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
subsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xf0(%rbp)
ff
mov    -0x124(%rbp),%eax
add    -0x164(%rbp),%eax
mov    %eax,-0x164(%rbp)
mov    -0x30(%rbp),%edi
mov    0xb8(%rbp),%rdx
mov    0xc8(%rbp),%r9
mov    0xc0(%rbp),%r14
mov    -0x150(%rbp),%r10d
mov    -0x120(%rbp),%eax
lea    -0x138(%rbp),%rsi
lea    -0x154(%rbp),%rcx
lea    -0x140(%rbp),%r8
lea    -0x15c(%rbp),%rbx
lea    -0x144(%rbp),%r11
mov    %r14,(%rsp)
mov    %rbx,0x8(%rsp)
mov    %r11,0x10(%rsp)
mov    %r10d,0x18(%rsp)
mov    %eax,0x20(%rsp)
mov    $0x0,%al
call   1060 <freev_@plt>
mov    -0x30(%rbp),%eax
sub    -0x138(%rbp),%eax
mov    %eax,0x3417(%rip)
cmpl   $0x0,-0x138(%rbp)
je     1cbf <mainlb_+0xa9f>
cmpl   $0x0,-0x158(%rbp)
jne    1cc4 <mainlb_+0xaa4>
jmp    20a6 <mainlb_+0xe86>
lea    -0xa0(%rbp),%rdi
mov    $0x0,%al
call   1140 <timer_@plt>
cmpl   $0x0,-0x15c(%rbp)
je     1dbd <mainlb_+0xb9d>
mov    -0x30(%rbp),%edi
mov    0xb8(%rbp),%rdx
mov    0xc8(%rbp),%r9
mov    0x60(%rbp),%rax
mov    %rax,-0x1e8(%rbp)
mov    0x68(%rbp),%r13
mov    -0x34(%rbp),%r12d
mov    0x30(%rbp),%r15
mov    0x38(%rbp),%r14
mov    0x40(%rbp),%rbx
movsd  -0xd0(%rbp),%xmm0
ff
mov    -0x158(%rbp),%r11d
lea    -0x138(%rbp),%rsi
lea    -0x154(%rbp),%rcx
lea    -0x140(%rbp),%r8
lea    -0x148(%rbp),%rax
mov    %rax,-0x1f8(%rbp)
lea    -0x144(%rbp),%rax
mov    %rax,-0x1f0(%rbp)
lea    -0x160(%rbp),%r10
lea    -0x12c(%rbp),%rax
mov    %rax,-0x1e0(%rbp)
mov    -0x1f8(%rbp),%rax
mov    %rax,(%rsp)
mov    -0x1f0(%rbp),%rax
mov    %rax,0x8(%rsp)
mov    -0x1e8(%rbp),%rax
mov    %rax,0x10(%rsp)
mov    -0x1e0(%rbp),%rax
mov    %r13,0x18(%rsp)
mov    %r12d,0x20(%rsp)
mov    %r15,0x28(%rsp)
mov    %r14,0x30(%rsp)
mov    %rbx,0x38(%rsp)
mov    %r11d,0x40(%rsp)
mov    %r10,0x48(%rsp)
mov    %rax,0x50(%rsp)
mov    $0x1,%al
call   10e0 <formk_@plt>
cmpl   $0x0,-0x12c(%rbp)
je     1e3f <mainlb_+0xc1f>
movl   $0x0,-0x12c(%rbp)
movl   $0x0,-0x158(%rbp)
movl   $0x1,-0x160(%rbp)
movsd  0x1220(%rip),%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
movl   $0x0,-0x148(%rbp)
movl   $0x0,-0x144(%rbp)
lea    -0xa8(%rbp),%rdi
mov    $0x0,%al
call   1140 <timer_@plt>
movsd  -0x100(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
subsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0x100(%rbp)
ff
jmp    1906 <mainlb_+0x6e6>
mov    -0x30(%rbp),%edi
mov    -0x34(%rbp),%esi
mov    -0x40(%rbp),%rdx
mov    0x18(%rbp),%rcx
mov    0x30(%rbp),%r8
mov    0x38(%rbp),%r9
mov    0x40(%rbp),%rax
mov    %rax,-0x218(%rbp)
mov    0x58(%rbp),%rax
mov    %rax,-0x210(%rbp)
mov    0x70(%rbp),%rax
mov    %rax,-0x208(%rbp)
mov    0x78(%rbp),%r13
mov    0x90(%rbp),%r12
mov    0xb8(%rbp),%r15
movsd  -0xd0(%rbp),%xmm0
ff
mov    -0x158(%rbp),%r14d
mov    -0x160(%rbp),%ebx
mov    -0x138(%rbp),%r11d
mov    -0x150(%rbp),%r10d
lea    -0x12c(%rbp),%rax
mov    %rax,-0x200(%rbp)
mov    -0x218(%rbp),%rax
mov    %rax,(%rsp)
mov    -0x210(%rbp),%rax
mov    %rax,0x8(%rsp)
mov    -0x208(%rbp),%rax
mov    %rax,0x10(%rsp)
mov    -0x200(%rbp),%rax
mov    %r13,0x18(%rsp)
mov    %r12,0x20(%rsp)
mov    %r15,0x28(%rsp)
mov    %r14d,0x30(%rsp)
mov    %ebx,0x38(%rsp)
mov    %r11d,0x40(%rsp)
mov    %r10d,0x48(%rsp)
mov    %rax,0x50(%rsp)
mov    $0x1,%al
call   1110 <cmprlb_@plt>
cmpl   $0x0,-0x12c(%rbp)
je     1f23 <mainlb_+0xd03>
jmp    1ff6 <mainlb_+0xdd6>
mov    -0x30(%rbp),%edi
mov    -0x34(%rbp),%esi
mov    -0x138(%rbp),%edx
mov    0xb8(%rbp),%rcx
mov    -0x48(%rbp),%r8
mov    -0x50(%rbp),%r9
mov    -0x58(%rbp),%rax
mov    %rax,-0x238(%rbp)
mov    0x70(%rbp),%rax
mov    %rax,-0x230(%rbp)
mov    0x78(%rbp),%rax
mov    %rax,-0x228(%rbp)
mov    0x30(%rbp),%r13
mov    0x38(%rbp),%r12
movsd  -0xd0(%rbp),%xmm0
ff
mov    -0x158(%rbp),%r15d
mov    -0x160(%rbp),%r14d
mov    0x90(%rbp),%r11
mov    0x60(%rbp),%r10
lea    0x3125(%rip),%rbx
lea    -0x12c(%rbp),%rax
mov    %rax,-0x220(%rbp)
mov    -0x238(%rbp),%rax
mov    %rax,(%rsp)
mov    -0x230(%rbp),%rax
mov    %rax,0x8(%rsp)
mov    -0x228(%rbp),%rax
mov    %rax,0x10(%rsp)
mov    -0x220(%rbp),%rax
mov    %r13,0x18(%rsp)
mov    %r12,0x20(%rsp)
mov    %r15d,0x28(%rsp)
mov    %r14d,0x30(%rsp)
mov    %rbx,0x38(%rsp)
mov    %r11,0x40(%rsp)
mov    %r10,0x48(%rsp)
mov    %rax,0x50(%rsp)
mov    $0x1,%al
call   1120 <subsm_@plt>
cmpl   $0x0,-0x12c(%rbp)
je     2078 <mainlb_+0xe58>
movl   $0x0,-0x12c(%rbp)
movl   $0x0,-0x158(%rbp)
movl   $0x1,-0x160(%rbp)
movsd  0xfe7(%rip),%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
movl   $0x0,-0x148(%rbp)
movl   $0x0,-0x144(%rbp)
lea    -0xa8(%rbp),%rdi
mov    $0x0,%al
call   1140 <timer_@plt>
movsd  -0x100(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
subsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0x100(%rbp)
ff
jmp    1906 <mainlb_+0x6e6>
lea    -0xa8(%rbp),%rdi
mov    $0x0,%al
call   1140 <timer_@plt>
movsd  -0x100(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
subsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0x100(%rbp)
ff
movl   $0x0,-0x168(%rbp)
mov    -0x168(%rbp),%eax
cmp    -0x30(%rbp),%eax
jge    2106 <mainlb_+0xee6>
mov    0x70(%rbp),%rax
movslq -0x168(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x40(%rbp),%rax
movslq -0x168(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
mov    0x80(%rbp),%rax
movslq -0x168(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x168(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x168(%rbp)
jmp    20b0 <mainlb_+0xe90>
lea    -0xa0(%rbp),%rdi
mov    $0x0,%al
call   1140 <timer_@plt>
mov    -0x30(%rbp),%edi
mov    -0x48(%rbp),%rsi
mov    -0x50(%rbp),%rdx
mov    -0x58(%rbp),%rcx
mov    -0x40(%rbp),%r8
mov    0x10(%rbp),%r9
mov    0x18(%rbp),%rax
mov    %rax,-0x2a8(%rbp)
mov    0x80(%rbp),%rax
mov    %rax,-0x2a0(%rbp)
mov    0x78(%rbp),%rax
mov    %rax,-0x298(%rbp)
mov    0x88(%rbp),%rax
mov    %rax,-0x290(%rbp)
mov    0x70(%rbp),%rax
mov    %rax,-0x288(%rbp)
mov    0xd0(%rbp),%r15
mov    0xd8(%rbp),%r11
mov    0xe8(%rbp),%r10
add    $0x58,%r10
mov    0xf0(%rbp),%rax
add    $0x88,%rax
mov    %rax,-0x240(%rbp)
lea    -0xb8(%rbp),%rax
lea    -0x70(%rbp),%rbx
mov    %rbx,-0x2b8(%rbp)
lea    -0x118(%rbp),%rbx
mov    %rbx,-0x2b0(%rbp)
lea    -0x98(%rbp),%rbx
mov    %rbx,-0x280(%rbp)
lea    -0xd8(%rbp),%rbx
mov    %rbx,-0x278(%rbp)
lea    -0x88(%rbp),%rbx
mov    %rbx,-0x270(%rbp)
lea    -0xe0(%rbp),%rbx
mov    %rbx,-0x268(%rbp)
lea    -0xe8(%rbp),%rbx
mov    %rbx,-0x260(%rbp)
lea    -0x120(%rbp),%rbx
mov    %rbx,-0x258(%rbp)
lea    -0x128(%rbp),%rbx
mov    %rbx,-0x250(%rbp)
lea    -0x130(%rbp),%rbx
mov    %rbx,-0x248(%rbp)
lea    -0x11c(%rbp),%r13
lea    -0x12c(%rbp),%r12
lea    -0x13c(%rbp),%r14
lea    -0x150(%rbp),%rbx
mov    %rax,(%rsp)
mov    -0x2b8(%rbp),%rax
mov    %rax,0x8(%rsp)
mov    -0x2b0(%rbp),%rax
mov    %rax,0x10(%rsp)
mov    -0x2a8(%rbp),%rax
mov    %rax,0x18(%rsp)
mov    -0x2a0(%rbp),%rax
mov    %rax,0x20(%rsp)
mov    -0x298(%rbp),%rax
mov    %rax,0x28(%rsp)
mov    -0x290(%rbp),%rax
mov    %rax,0x30(%rsp)
mov    -0x288(%rbp),%rax
mov    %rax,0x38(%rsp)
mov    -0x280(%rbp),%rax
mov    %rax,0x40(%rsp)
mov    -0x278(%rbp),%rax
mov    %rax,0x48(%rsp)
mov    -0x270(%rbp),%rax
mov    %rax,0x50(%rsp)
mov    -0x268(%rbp),%rax
mov    %rax,0x58(%rsp)
mov    -0x260(%rbp),%rax
mov    %rax,0x60(%rsp)
mov    -0x258(%rbp),%rax
mov    %rax,0x68(%rsp)
mov    -0x250(%rbp),%rax
mov    %rax,0x70(%rsp)
mov    -0x248(%rbp),%rax
mov    %rax,0x78(%rsp)
mov    -0x240(%rbp),%rax
mov    %r13,0x80(%rsp)
mov    %r12,0x88(%rsp)
mov    %r15,0x90(%rsp)
mov    %r14,0x98(%rsp)
mov    %rbx,0xa0(%rsp)
mov    %r11,0xa8(%rsp)
mov    %r10,0xb0(%rsp)
mov    %rax,0xb8(%rsp)
mov    $0x0,%al
call   10c0 <lnsrlb_@plt>
cmpl   $0x0,-0x12c(%rbp)
jne    2361 <mainlb_+0x1141>
cmpl   $0x14,-0x130(%rbp)
jl     24b4 <mainlb_+0x1294>
mov    -0x30(%rbp),%edi
mov    0x88(%rbp),%rsi
mov    -0x40(%rbp),%rdx
mov    $0x0,%al
call   1050 <dcopy_@plt>
mov    -0x30(%rbp),%edi
mov    0x78(%rbp),%rsi
mov    0x18(%rbp),%rdx
mov    $0x0,%al
call   1050 <dcopy_@plt>
movsd  -0xb8(%rbp),%xmm0
ff
mov    0x10(%rbp),%rax
movsd  %xmm0,(%rax)
cmpl   $0x0,-0x158(%rbp)
jne    2410 <mainlb_+0x11f0>
cmpl   $0x0,-0x12c(%rbp)
jne    23e9 <mainlb_+0x11c9>
movl   $0xfffffff7,-0x12c(%rbp)
ff ff ff
mov    -0x11c(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x11c(%rbp)
mov    -0x128(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x128(%rbp)
mov    -0x130(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x130(%rbp)
mov    0xd0(%rbp),%rdi
lea    0xc80(%rip),%rsi
call   1040 <strcpy@plt>
mov    -0x120(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x120(%rbp)
jmp    2927 <mainlb_+0x1707>
cmpl   $0x0,-0x12c(%rbp)
jne    242c <mainlb_+0x120c>
mov    -0x11c(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x11c(%rbp)
movl   $0x0,-0x12c(%rbp)
movl   $0x0,-0x158(%rbp)
movl   $0x1,-0x160(%rbp)
movsd  0xbbe(%rip),%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
movl   $0x0,-0x148(%rbp)
movl   $0x0,-0x144(%rbp)
mov    0xd0(%rbp),%rdi
lea    0xc1a(%rip),%rsi
call   1040 <strcpy@plt>
lea    -0xa8(%rbp),%rdi
mov    $0x0,%al
call   1140 <timer_@plt>
movsd  -0x110(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
subsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0x110(%rbp)
ff
jmp    1906 <mainlb_+0x6e6>
mov    0xd0(%rbp),%rdi
lea    0xb64(%rip),%rsi
mov    $0x5,%edx
call   1030 <strncmp@plt>
cmp    $0x0,%eax
jne    24da <mainlb_+0x12ba>
jmp    2935 <mainlb_+0x1715>
lea    -0xa8(%rbp),%rdi
mov    $0x0,%al
call   1140 <timer_@plt>
movsd  -0x110(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
subsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0x110(%rbp)
ff
mov    -0x120(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x120(%rbp)
mov    -0x30(%rbp),%edi
mov    -0x48(%rbp),%rsi
mov    -0x50(%rbp),%rdx
mov    -0x58(%rbp),%rcx
mov    -0x40(%rbp),%r8
mov    0x18(%rbp),%r9
lea    -0x108(%rbp),%rax
mov    %rax,(%rsp)
mov    $0x0,%al
call   10f0 <projgr_@plt>
jmp    2935 <mainlb_+0x1715>
movsd  -0x108(%rbp),%xmm1
ff
mov    0x28(%rbp),%rax
movsd  (%rax),%xmm0
ucomisd %xmm1,%xmm0
jb     2577 <mainlb_+0x1357>
mov    0xd0(%rbp),%rdi
lea    0xad9(%rip),%rsi
call   1040 <strcpy@plt>
jmp    2927 <mainlb_+0x1707>
movsd  -0xb8(%rbp),%xmm0
ff
movaps 0xa7a(%rip),%xmm1
pand   %xmm1,%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    0x10(%rbp),%rax
movsd  (%rax),%xmm0
movaps 0xa62(%rip),%xmm1
pand   %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x60(%rbp),%xmm0
ucomisd -0x68(%rbp),%xmm0
jb     25c9 <mainlb_+0x13a9>
movsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0x2c0(%rbp)
ff
jmp    25d6 <mainlb_+0x13b6>
movsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0x2c0(%rbp)
ff
movsd  -0x2c0(%rbp),%xmm0
ff
movsd  %xmm0,-0x60(%rbp)
movsd  -0x60(%rbp),%xmm0
movsd  0xa20(%rip),%xmm1
ucomisd %xmm1,%xmm0
jb     260c <mainlb_+0x13ec>
movsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0x2c8(%rbp)
ff
jmp    2621 <mainlb_+0x1401>
movsd  0x9fc(%rip),%xmm0
movsd  %xmm0,-0x2c8(%rbp)
ff
jmp    2621 <mainlb_+0x1401>
movsd  -0x2c8(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xb8(%rbp),%xmm1
ff
mov    0x10(%rbp),%rax
subsd  (%rax),%xmm1
movsd  -0x90(%rbp),%xmm0
ff
mulsd  -0xb0(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jb     268a <mainlb_+0x146a>
mov    0xd0(%rbp),%rdi
lea    0xa41(%rip),%rsi
call   1040 <strcpy@plt>
cmpl   $0xa,-0x130(%rbp)
jl     2685 <mainlb_+0x1465>
movl   $0xfffffffb,-0x12c(%rbp)
ff ff ff
jmp    2927 <mainlb_+0x1707>
movl   $0x0,-0x168(%rbp)
mov    -0x168(%rbp),%eax
cmp    -0x30(%rbp),%eax
jge    26e7 <mainlb_+0x14c7>
mov    0x18(%rbp),%rax
movslq -0x168(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x78(%rbp),%rax
movslq -0x168(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
mov    0x78(%rbp),%rax
movslq -0x168(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x168(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x168(%rbp)
jmp    2694 <mainlb_+0x1474>
mov    -0x30(%rbp),%edi
mov    0x78(%rbp),%rsi
mov    0x78(%rbp),%rdx
mov    $0x0,%al
call   1070 <ddot_@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0x98(%rbp),%xmm0
ff
movsd  0x8fe(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2760 <mainlb_+0x1540>
jp     2760 <mainlb_+0x1540>
movsd  -0x70(%rbp),%xmm0
subsd  -0x118(%rbp),%xmm0
ff
movsd  %xmm0,-0x78(%rbp)
movsd  -0x118(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
jmp    27c2 <mainlb_+0x15a2>
movsd  -0x70(%rbp),%xmm0
subsd  -0x118(%rbp),%xmm0
ff
mulsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x78(%rbp)
mov    -0x30(%rbp),%edi
movsd  -0x98(%rbp),%xmm0
ff
mov    0x80(%rbp),%rsi
mov    $0x1,%al
call   1090 <dscal_@plt>
movsd  -0x118(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x78(%rbp),%xmm1
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  -0xb0(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jb     27ff <mainlb_+0x15df>
mov    -0x134(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x134(%rbp)
movl   $0x0,-0x144(%rbp)
jmp    2922 <mainlb_+0x1702>
movl   $0x1,-0x144(%rbp)
mov    -0x148(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x148(%rbp)
mov    -0x30(%rbp),%edi
mov    -0x34(%rbp),%esi
mov    0x30(%rbp),%rdx
mov    0x38(%rbp),%rcx
mov    0x40(%rbp),%r8
mov    0x48(%rbp),%r9
mov    0x80(%rbp),%r12
mov    0x78(%rbp),%r15
mov    -0x148(%rbp),%ebx
movsd  -0x80(%rbp),%xmm0
movsd  -0x78(%rbp),%xmm1
movsd  -0x98(%rbp),%xmm2
ff
movsd  -0x88(%rbp),%xmm3
ff
lea    0x2858(%rip),%r14
lea    -0x158(%rbp),%r11
lea    -0x160(%rbp),%r10
lea    -0xd0(%rbp),%rax
mov    %r12,(%rsp)
mov    %r15,0x8(%rsp)
mov    %r14,0x10(%rsp)
mov    %ebx,0x18(%rsp)
mov    %r11,0x20(%rsp)
mov    %r10,0x28(%rsp)
mov    %rax,0x30(%rsp)
mov    $0x4,%al
call   10b0 <matupd_@plt>
mov    -0x34(%rbp),%edi
mov    0x58(%rbp),%rsi
mov    0x40(%rbp),%rdx
mov    0x48(%rbp),%rcx
mov    -0x158(%rbp),%r8d
movsd  -0xd0(%rbp),%xmm0
ff
lea    -0x12c(%rbp),%r9
mov    $0x1,%al
call   1080 <formt_@plt>
cmpl   $0x0,-0x12c(%rbp)
je     291d <mainlb_+0x16fd>
movl   $0x0,-0x12c(%rbp)
movl   $0x0,-0x158(%rbp)
movl   $0x1,-0x160(%rbp)
movsd  0x714(%rip),%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
movl   $0x0,-0x148(%rbp)
movl   $0x0,-0x144(%rbp)
jmp    1906 <mainlb_+0x6e6>
jmp    2922 <mainlb_+0x1702>
jmp    1906 <mainlb_+0x6e6>
lea    -0xc8(%rbp),%rdi
mov    $0x0,%al
call   1140 <timer_@plt>
mov    -0x14c(%rbp),%ecx
mov    0xe0(%rbp),%rax
mov    %ecx,0x4(%rax)
mov    -0x150(%rbp),%ecx
mov    0xe0(%rbp),%rax
mov    %ecx,0x8(%rax)
mov    -0x13c(%rbp),%ecx
mov    0xe0(%rbp),%rax
mov    %ecx,0xc(%rax)
mov    -0x144(%rbp),%ecx
mov    0xe0(%rbp),%rax
mov    %ecx,0x10(%rax)
mov    -0x164(%rbp),%ecx
mov    0xe8(%rbp),%rax
mov    %ecx,0x4(%rax)
mov    0x2735(%rip),%ecx
mov    0xe8(%rbp),%rax
mov    %ecx,0xc(%rax)
mov    -0x130(%rbp),%ecx
mov    0xe8(%rbp),%rax
mov    %ecx,0x10(%rax)
mov    -0x134(%rbp),%ecx
mov    0xe8(%rbp),%rax
mov    %ecx,0x14(%rax)
mov    -0x160(%rbp),%ecx
mov    0xe8(%rbp),%rax
mov    %ecx,0x18(%rax)
mov    -0x158(%rbp),%ecx
mov    0xe8(%rbp),%rax
mov    %ecx,0x1c(%rax)
mov    0x26dd(%rip),%ecx
mov    0xe8(%rbp),%rax
mov    %ecx,0x20(%rax)
mov    -0x120(%rbp),%ecx
mov    0xe8(%rbp),%rax
mov    %ecx,0x24(%rax)
mov    -0x148(%rbp),%ecx
mov    0xe8(%rbp),%rax
mov    %ecx,0x28(%rax)
mov    -0x124(%rbp),%ecx
mov    0xe8(%rbp),%rax
mov    %ecx,0x30(%rax)
mov    -0x11c(%rbp),%ecx
mov    0xe8(%rbp),%rax
mov    %ecx,0x34(%rax)
mov    -0x12c(%rbp),%ecx
mov    0xe8(%rbp),%rax
mov    %ecx,0x38(%rax)
mov    -0x128(%rbp),%ecx
mov    0xe8(%rbp),%rax
mov    %ecx,0x3c(%rax)
mov    0x2669(%rip),%ecx
mov    0xe8(%rbp),%rax
mov    %ecx,0x40(%rax)
mov    -0x138(%rbp),%ecx
mov    0xe8(%rbp),%rax
mov    %ecx,0x44(%rax)
mov    0x2651(%rip),%ecx
mov    0xe8(%rbp),%rax
mov    %ecx,0x48(%rax)
mov    -0x140(%rbp),%ecx
mov    0xe8(%rbp),%rax
mov    %ecx,0x4c(%rax)
mov    -0x154(%rbp),%ecx
mov    0xe8(%rbp),%rax
mov    %ecx,0x50(%rax)
movsd  -0xd0(%rbp),%xmm0
ff
mov    0xf0(%rbp),%rax
movsd  %xmm0,0x8(%rax)
movsd  -0xb8(%rbp),%xmm0
ff
mov    0xf0(%rbp),%rax
movsd  %xmm0,0x10(%rax)
movsd  -0x90(%rbp),%xmm0
ff
mov    0xf0(%rbp),%rax
movsd  %xmm0,0x18(%rax)
movsd  -0xd8(%rbp),%xmm0
ff
mov    0xf0(%rbp),%rax
movsd  %xmm0,0x20(%rax)
movsd  -0xf8(%rbp),%xmm0
ff
mov    0xf0(%rbp),%rax
movsd  %xmm0,0x28(%rax)
movsd  -0xa0(%rbp),%xmm0
mov    0xf0(%rbp),%rax
movsd  %xmm0,0x30(%rax)
movsd  -0xf0(%rbp),%xmm0
ff
mov    0xf0(%rbp),%rax
movsd  %xmm0,0x38(%rax)
movsd  -0x100(%rbp),%xmm0
ff
mov    0xf0(%rbp),%rax
movsd  %xmm0,0x40(%rax)
movsd  -0x110(%rbp),%xmm0
ff
mov    0xf0(%rbp),%rax
movsd  %xmm0,0x48(%rax)
movsd  -0xc0(%rbp),%xmm0
ff
mov    0xf0(%rbp),%rax
movsd  %xmm0,0x50(%rax)
movsd  -0x70(%rbp),%xmm0
mov    0xf0(%rbp),%rax
movsd  %xmm0,0x58(%rax)
movsd  -0xe8(%rbp),%xmm0
ff
mov    0xf0(%rbp),%rax
movsd  %xmm0,0x60(%rax)
movsd  -0x108(%rbp),%xmm0
ff
mov    0xf0(%rbp),%rax
movsd  %xmm0,0x68(%rax)
movsd  -0x98(%rbp),%xmm0
ff
mov    0xf0(%rbp),%rax
movsd  %xmm0,0x70(%rax)
movsd  -0x118(%rbp),%xmm0
ff
mov    0xf0(%rbp),%rax
movsd  %xmm0,0x78(%rax)
movsd  -0x88(%rbp),%xmm0
ff
mov    0xf0(%rbp),%rax
movsd  %xmm0,0x80(%rax)
movl   $0x0,-0x2c(%rbp)
mov    -0x2c(%rbp),%eax
add    $0x368,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

x86 assembly (clang, -O2):
<mainlb_>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x178,%rsp
mov    %r9,0xa0(%rsp)
mov    %r8,0x98(%rsp)
mov    %rcx,%r14
mov    %rdx,0x50(%rsp)
mov    %esi,%ebp
mov    %edi,0x14(%rsp)
mov    0x290(%rsp),%r12
mov    0x288(%rsp),%r15
mov    0x280(%rsp),%rbx
mov    0x270(%rsp),%r13
movq   $0x0,0x128(%rsp)
movq   $0x0,0x48(%rsp)
movq   $0x0,0x38(%rsp)
movq   $0x0,0xe8(%rsp)
movq   $0x0,0x120(%rsp)
movq   $0x0,0x118(%rsp)
movq   $0x0,0x110(%rsp)
movl   $0x0,0x74(%rsp)
movl   $0x0,0x58(%rsp)
lea    0x1d8c(%rip),%rsi
mov    $0x5,%edx
mov    %r13,%rdi
call   1030 <strncmp@plt>
test   %eax,%eax
je     156b <mainlb_+0x35b>
mov    %rbp,0x80(%rsp)
mov    %r14,0xb8(%rsp)
mov    (%rbx),%eax
mov    %eax,0xcc(%rsp)
mov    0x4(%rbx),%eax
mov    %eax,0x2c(%rsp)
mov    0x8(%rbx),%eax
mov    %eax,0x8c(%rsp)
mov    0xc(%rbx),%eax
mov    %eax,0x1c(%rsp)
mov    (%r15),%eax
mov    %eax,0x20(%rsp)
mov    0x8(%r15),%eax
mov    %eax,0x3d9d(%rip)
mov    0xc(%r15),%ebx
mov    %ebx,0x58(%rsp)
mov    0x10(%r15),%ebp
mov    0x14(%r15),%eax
mov    %eax,0x18(%rsp)
mov    0x18(%r15),%eax
mov    %eax,0x10(%rsp)
mov    0x1c(%r15),%eax
mov    %eax,0x3d6f(%rip)
mov    0x20(%r15),%eax
mov    %eax,0x40(%rsp)
mov    0x24(%r15),%r14d
mov    %r14d,0x24(%rsp)
mov    0x2c(%r15),%eax
mov    %eax,0x5c(%rsp)
mov    0x30(%r15),%eax
mov    %eax,0x44(%rsp)
mov    0x34(%r15),%eax
mov    %eax,0xc(%rsp)
mov    0x38(%r15),%eax
mov    %eax,0x74(%rsp)
mov    0x3c(%r15),%eax
mov    %eax,0x3d30(%rip)
mov    0x40(%r15),%eax
mov    %eax,0x28(%rsp)
mov    0x44(%r15),%eax
mov    %eax,0x3d26(%rip)
mov    0x48(%r15),%eax
mov    %eax,0x70(%rsp)
mov    0x4c(%r15),%eax
mov    %eax,0x6c(%rsp)
movsd  (%r12),%xmm0
movsd  %xmm0,0x30(%rsp)
movsd  0x8(%r12),%xmm0
movaps %xmm0,0xf0(%rsp)
movsd  %xmm0,0xe8(%rsp)
movsd  0x10(%r12),%xmm0
movsd  %xmm0,0xa8(%rsp)
movsd  0x18(%r12),%xmm0
movsd  %xmm0,0x120(%rsp)
movsd  0x20(%r12),%xmm0
movsd  %xmm0,0xe0(%rsp)
movsd  0x28(%r12),%xmm0
movsd  %xmm0,0x48(%rsp)
movsd  0x30(%r12),%xmm0
movsd  %xmm0,0x60(%rsp)
movsd  0x38(%r12),%xmm0
movsd  %xmm0,0x78(%rsp)
movsd  0x40(%r12),%xmm0
movsd  %xmm0,0x90(%rsp)
movsd  0x48(%r12),%xmm0
movsd  %xmm0,0xd0(%rsp)
movsd  %xmm0,0x138(%rsp)
movsd  0x50(%r12),%xmm0
movsd  %xmm0,0x108(%rsp)
movsd  %xmm0,0x148(%rsp)
movsd  0x58(%r12),%xmm0
movsd  %xmm0,0x118(%rsp)
movsd  0x60(%r12),%xmm0
movsd  %xmm0,0xb0(%rsp)
movsd  %xmm0,0xc0(%rsp)
movsd  0x68(%r12),%xmm0
movsd  %xmm0,0x130(%rsp)
movsd  %xmm0,0x140(%rsp)
movsd  0x70(%r12),%xmm0
movaps %xmm0,0x160(%rsp)
movsd  %xmm0,0x110(%rsp)
movsd  0x78(%r12),%xmm0
movsd  %xmm0,0x150(%rsp)
movsd  %xmm0,0x128(%rsp)
lea    0x1b61(%rip),%rsi
mov    $0x5,%edx
mov    %r13,%rdi
call   1030 <strncmp@plt>
mov    0x14(%rsp),%ecx
mov    %rcx,0xd8(%rsp)
test   %eax,%eax
je     171b <mainlb_+0x50b>
lea    0x1b3f(%rip),%rsi
mov    $0x5,%edx
mov    %r13,%rdi
call   1030 <strncmp@plt>
test   %eax,%eax
je     1727 <mainlb_+0x517>
lea    0x1b29(%rip),%rsi
mov    $0x5,%edx
mov    %r13,%rdi
call   1030 <strncmp@plt>
test   %eax,%eax
je     19bd <mainlb_+0x7ad>
lea    0x1b13(%rip),%rsi
mov    $0x4,%edx
mov    %r13,%rdi
call   1030 <strncmp@plt>
test   %eax,%eax
je     1a57 <mainlb_+0x847>
mov    0x280(%rsp),%rbx
movsd  0x60(%rsp),%xmm1
movsd  0xd0(%rsp),%xmm2
mov    0x20(%rsp),%r14d
jmp    16fd <mainlb_+0x4ed>
lea    0x138(%rsp),%rdi
xor    %eax,%eax
call   1130 <timer_@plt>
xor    %eax,%eax
call   1120 <dpmeps_@plt>
mov    %eax,0x60(%rsp)
movl   $0x0,0x10(%rsp)
movl   $0x1,0x18(%rsp)
movabs $0x3ff0000000000000,%rax
mov    %rax,0x30(%rsp)
movl   $0x0,0x24(%rsp)
movl   $0x0,0x1c(%rsp)
movl   $0x0,0x40(%rsp)
movl   $0x0,0x44(%rsp)
movl   $0x0,0x5c(%rsp)
movl   $0x0,0x6c(%rsp)
movl   $0x0,0x70(%rsp)
mov    0x14(%rsp),%edi
mov    %edi,0x28(%rsp)
mov    0x1c0(%rsp),%rax
movsd  (%rax),%xmm0
movl   $0x0,0xc(%rsp)
lea    0x158(%rsp),%r11
lea    0xc(%rsp),%r10
mov    %ebp,%esi
movsd  %xmm0,0xa8(%rsp)
mov    %r14,%r13
mov    %r14,%rdx
mov    0x98(%rsp),%r14
mov    %r14,%rcx
mov    0xa0(%rsp),%rbp
mov    %rbp,%r8
mov    0x270(%rsp),%r9
mov    $0x1,%al
push   %r11
push   %r10
call   10f0 <errclb_@plt>
add    $0x10,%rsp
lea    0x19e6(%rip),%rsi
mov    $0x5,%edx
mov    0x270(%rsp),%rdi
call   1030 <strncmp@plt>
test   %eax,%eax
je     1da6 <mainlb_+0xb96>
movsd  0xa8(%rsp),%xmm0
divsd  0x19b3(%rip),%xmm0
movsd  %xmm0,0xa8(%rsp)
xorps  %xmm0,%xmm0
cvtsi2sdl 0x60(%rsp),%xmm0
movsd  %xmm0,0xe0(%rsp)
sub    $0x8,%rsp
mov    %r14,%rdx
lea    0x94(%rsp),%r14
lea    0x34(%rsp),%r11
lea    0xd4(%rsp),%r10
mov    0x1c(%rsp),%edi
mov    %r13,%rsi
mov    %rbp,%rcx
mov    0x58(%rsp),%r8
mov    0x268(%rsp),%r9
xor    %eax,%eax
push   %r14
push   %r11
push   %r10
call   1090 <active_@plt>
add    $0x20,%rsp
xorpd  %xmm1,%xmm1
movsd  0x138(%rsp),%xmm2
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x78(%rsp)
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x90(%rsp)
xor    %r14d,%r14d
xor    %ebp,%ebp
movabs $0x54524154535f4746,%rax
41 52 54
mov    0x270(%rsp),%rcx
mov    %rax,(%rcx)
movb   $0x0,0x8(%rcx)
jmp    1c12 <mainlb_+0xa02>
mov    %ebp,0xf0(%rsp)
jmp    248f <mainlb_+0x127f>
mov    0x1c8(%rsp),%rax
movsd  (%rax),%xmm0
ucomisd 0xb0(%rsp),%xmm0
jae    1a29 <mainlb_+0x819>
movapd 0x18b6(%rip),%xmm0
movapd 0xf0(%rsp),%xmm4
movapd %xmm4,%xmm1
andpd  %xmm0,%xmm1
mov    0x1b0(%rsp),%rax
movsd  (%rax),%xmm2
andpd  %xmm2,%xmm0
movapd %xmm0,%xmm3
cmplesd %xmm1,%xmm3
andpd  %xmm3,%xmm1
andnpd %xmm0,%xmm3
orpd   %xmm1,%xmm3
maxsd  0x1898(%rip),%xmm3
subsd  %xmm2,%xmm4
mulsd  0xa8(%rsp),%xmm3
ucomisd %xmm4,%xmm3
jae    1a64 <mainlb_+0x854>
mov    %ebp,0xf0(%rsp)
mov    0x14(%rsp),%r12d
test   %r12d,%r12d
mov    0x80(%rsp),%rbp
mov    0x1b8(%rsp),%rdi
mov    0x218(%rsp),%r15
mov    0xd8(%rsp),%r8
jle    1966 <mainlb_+0x756>
xor    %eax,%eax
cmp    $0x4,%r12d
jb     18bf <mainlb_+0x6af>
lea    (%r15,%r8,8),%rcx
lea    (%rdi,%r8,8),%rdx
xor    %eax,%eax
cmp    %r15,%rdx
jbe    17f8 <mainlb_+0x5e8>
cmp    %rdi,%rcx
ja     18bf <mainlb_+0x6af>
mov    %r8d,%eax
and    $0xfffffffc,%eax
lea    -0x4(%rax),%rsi
mov    %rsi,%rdx
shr    $0x2,%rdx
add    $0x1,%rdx
xor    %ecx,%ecx
test   %rsi,%rsi
je     1884 <mainlb_+0x674>
mov    %rdx,%rsi
and    $0xfffffffffffffffe,%rsi
xor    %ecx,%ecx
movupd (%rdi,%rcx,8),%xmm0
movupd 0x10(%rdi,%rcx,8),%xmm1
movupd (%r15,%rcx,8),%xmm2
subpd  %xmm2,%xmm0
movupd 0x10(%r15,%rcx,8),%xmm2
subpd  %xmm2,%xmm1
movupd 0x20(%r15,%rcx,8),%xmm2
movupd 0x30(%r15,%rcx,8),%xmm3
movupd %xmm0,(%r15,%rcx,8)
movupd %xmm1,0x10(%r15,%rcx,8)
movupd 0x20(%rdi,%rcx,8),%xmm0
subpd  %xmm2,%xmm0
movupd 0x30(%rdi,%rcx,8),%xmm1
subpd  %xmm3,%xmm1
movupd %xmm0,0x20(%r15,%rcx,8)
movupd %xmm1,0x30(%r15,%rcx,8)
add    $0x8,%rcx
add    $0xfffffffffffffffe,%rsi
jne    181d <mainlb_+0x60d>
test   $0x1,%dl
je     18b6 <mainlb_+0x6a6>
movupd (%rdi,%rcx,8),%xmm0
movupd 0x10(%rdi,%rcx,8),%xmm1
movupd (%r15,%rcx,8),%xmm2
subpd  %xmm2,%xmm0
movupd 0x10(%r15,%rcx,8),%xmm2
subpd  %xmm2,%xmm1
movupd %xmm0,(%r15,%rcx,8)
movupd %xmm1,0x10(%r15,%rcx,8)
cmp    %r8,%rax
je     1966 <mainlb_+0x756>
mov    %rax,%rcx
not    %rcx
add    %r8,%rcx
mov    %r8,%rdx
and    $0x3,%rdx
je     18fb <mainlb_+0x6eb>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
movsd  (%rdi,%rax,8),%xmm0
subsd  (%r15,%rax,8),%xmm0
movsd  %xmm0,(%r15,%rax,8)
add    $0x1,%rax
add    $0xffffffffffffffff,%rdx
jne    18e0 <mainlb_+0x6d0>
cmp    $0x3,%rcx
jb     1966 <mainlb_+0x756>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
movsd  (%rdi,%rax,8),%xmm0
subsd  (%r15,%rax,8),%xmm0
movsd  %xmm0,(%r15,%rax,8)
movsd  0x8(%rdi,%rax,8),%xmm0
subsd  0x8(%r15,%rax,8),%xmm0
movsd  %xmm0,0x8(%r15,%rax,8)
movsd  0x10(%rdi,%rax,8),%xmm0
subsd  0x10(%r15,%rax,8),%xmm0
movsd  %xmm0,0x10(%r15,%rax,8)
movsd  0x18(%rdi,%rax,8),%xmm0
subsd  0x18(%r15,%rax,8),%xmm0
movsd  %xmm0,0x18(%r15,%rax,8)
add    $0x4,%rax
cmp    %rax,%r8
jne    1910 <mainlb_+0x700>
mov    %r12d,%edi
mov    %r15,%rsi
mov    %r15,%rdx
xor    %eax,%eax
call   1060 <ddot_@plt>
xorps  %xmm3,%xmm3
cvtsi2sd %eax,%xmm3
movsd  0x130(%rsp),%xmm2
ucomisd 0x1692(%rip),%xmm2
movsd  0x108(%rsp),%xmm1
movapd 0x160(%rsp),%xmm0
subsd  %xmm0,%xmm1
jne    1aac <mainlb_+0x89c>
jp     1aac <mainlb_+0x89c>
xorpd  0x1658(%rip),%xmm0
jmp    1b08 <mainlb_+0x8f8>
movl   $0x1,0x44(%rsp)
sub    $0x8,%rsp
lea    0xc8(%rsp),%rbx
mov    0x1c(%rsp),%edi
mov    0xc0(%rsp),%rsi
mov    0xa0(%rsp),%rdx
mov    0xa8(%rsp),%rcx
mov    0x58(%rsp),%r8
mov    0x1c0(%rsp),%r9
xor    %eax,%eax
push   %rbx
call   10e0 <projgr_@plt>
add    $0x10,%rsp
mov    0x1c8(%rsp),%rax
movsd  (%rax),%xmm0
ucomisd 0xc0(%rsp),%xmm0
jae    1a29 <mainlb_+0x819>
mov    %ebp,0xf0(%rsp)
jmp    1dba <mainlb_+0xbaa>
movups 0x1646(%rip),%xmm0
mov    0x270(%rsp),%rax
movups %xmm0,0x20(%rax)
movups 0x1623(%rip),%xmm0
movups %xmm0,0x10(%rax)
movupd 0x1607(%rip),%xmm0
movupd %xmm0,(%rax)
movb   $0x0,0x30(%rax)
mov    0x280(%rsp),%rbx
jmp    2787 <mainlb_+0x1577>
movups 0x166f(%rip),%xmm0
mov    0x270(%rsp),%rax
movups %xmm0,0x20(%rax)
movups 0x164c(%rip),%xmm0
movups %xmm0,0x10(%rax)
movupd 0x1630(%rip),%xmm0
movupd %xmm0,(%rax)
cmp    $0xa,%ebx
mov    0x280(%rsp),%rbx
jl     2787 <mainlb_+0x1577>
movl   $0xfffffffb,0xc(%rsp)
ff
jmp    2787 <mainlb_+0x1577>
mulsd  %xmm2,%xmm1
movsd  %xmm1,0x108(%rsp)
mov    %r12d,%edi
movapd %xmm2,%xmm0
mov    0x220(%rsp),%rsi
mov    $0x1,%al
movsd  %xmm3,0xb0(%rsp)
call   1080 <dscal_@plt>
movsd  0xb0(%rsp),%xmm3
movapd 0x160(%rsp),%xmm0
movsd  0x130(%rsp),%xmm2
movsd  0x108(%rsp),%xmm1
xorpd  0x150c(%rip),%xmm0
mulsd  %xmm2,%xmm0
mulsd  0xe0(%rsp),%xmm0
ucomisd %xmm1,%xmm0
jae    1bfd <mainlb_+0x9ed>
movl   $0x1,0x1c(%rsp)
add    $0x1,%r14d
mov    %r14d,0x24(%rsp)
sub    $0x8,%rsp
lea    0x38(%rsp),%rbx
lea    0x20(%rsp),%r11
lea    0x18(%rsp),%r10
mov    %r12d,%edi
mov    %ebp,%esi
mov    0x1d8(%rsp),%rdx
mov    0x1e0(%rsp),%rcx
mov    0x1e8(%rsp),%r13
mov    %r13,%r8
mov    0x1f0(%rsp),%r12
mov    %r12,%r9
movapd %xmm3,%xmm0
movsd  0x158(%rsp),%xmm3
mov    $0x4,%al
push   %rbx
push   %r11
push   %r10
push   %r14
lea    0x3529(%rip),%rbx
push   %rbx
push   %r15
push   0x258(%rsp)
call   10a0 <matupd_@plt>
add    $0x40,%rsp
mov    0x10(%rsp),%r8d
movsd  0x30(%rsp),%xmm0
lea    0xc(%rsp),%r9
mov    %ebp,%edi
mov    0x1f8(%rsp),%rsi
mov    %r13,%rdx
mov    %r12,%rcx
mov    $0x1,%al
call   1070 <formt_@plt>
cmpl   $0x0,0xc(%rsp)
je     1dc2 <mainlb_+0xbb2>
movl   $0x0,0xc(%rsp)
movl   $0x0,0x10(%rsp)
movl   $0x1,0x18(%rsp)
movabs $0x3ff0000000000000,%rax
mov    %rax,0x30(%rsp)
movl   $0x0,0x24(%rsp)
jmp    1c05 <mainlb_+0x9f5>
addl   $0x1,0xf0(%rsp)
01
movl   $0x0,0x1c(%rsp)
jmp    1dc2 <mainlb_+0xbb2>
mov    0xcc(%rsp),%eax
mov    %eax,(%rbx)
mov    0x2c(%rsp),%eax
mov    %eax,0x4(%rbx)
mov    0x8c(%rsp),%eax
mov    %eax,0x8(%rbx)
mov    0x1c(%rsp),%eax
mov    %eax,0xc(%rbx)
mov    %r14d,(%r15)
mov    0x347c(%rip),%eax
mov    %eax,0x8(%r15)
mov    0x58(%rsp),%eax
mov    %eax,0xc(%r15)
mov    %ebp,0x10(%r15)
mov    0x18(%rsp),%eax
mov    %eax,0x14(%r15)
mov    0x10(%rsp),%eax
mov    %eax,0x18(%r15)
mov    0x344e(%rip),%eax
mov    %eax,0x1c(%r15)
mov    0x40(%rsp),%eax
mov    %eax,0x20(%r15)
mov    0x24(%rsp),%eax
mov    %eax,0x24(%r15)
mov    0x5c(%rsp),%eax
mov    %eax,0x2c(%r15)
mov    0x44(%rsp),%eax
mov    %eax,0x30(%r15)
mov    0xc(%rsp),%eax
mov    %eax,0x34(%r15)
mov    0x74(%rsp),%eax
mov    %eax,0x38(%r15)
mov    0x3410(%rip),%eax
mov    %eax,0x3c(%r15)
mov    0x28(%rsp),%eax
mov    %eax,0x40(%r15)
mov    0x3406(%rip),%eax
mov    %eax,0x44(%r15)
mov    0x70(%rsp),%eax
mov    %eax,0x48(%r15)
mov    0x6c(%rsp),%eax
mov    %eax,0x4c(%r15)
movsd  0x30(%rsp),%xmm0
movsd  %xmm0,(%r12)
movsd  0xe8(%rsp),%xmm0
movsd  %xmm0,0x8(%r12)
movsd  0xa8(%rsp),%xmm0
movsd  %xmm0,0x10(%r12)
movsd  0x120(%rsp),%xmm0
movsd  %xmm0,0x18(%r12)
movsd  0xe0(%rsp),%xmm0
movsd  %xmm0,0x20(%r12)
movsd  0x48(%rsp),%xmm0
movsd  %xmm0,0x28(%r12)
movsd  %xmm1,0x30(%r12)
movsd  0x78(%rsp),%xmm0
movsd  %xmm0,0x38(%r12)
movsd  0x90(%rsp),%xmm0
movsd  %xmm0,0x40(%r12)
movsd  %xmm2,0x48(%r12)
movsd  0x148(%rsp),%xmm0
movsd  %xmm0,0x50(%r12)
movsd  0x118(%rsp),%xmm0
movsd  %xmm0,0x58(%r12)
movsd  0xc0(%rsp),%xmm0
movsd  %xmm0,0x60(%r12)
movsd  0x140(%rsp),%xmm0
movsd  %xmm0,0x68(%r12)
movsd  0x110(%rsp),%xmm0
movsd  %xmm0,0x70(%r12)
movsd  0x128(%rsp),%xmm0
movsd  %xmm0,0x78(%r12)
xor    %eax,%eax
add    $0x178,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret
mov    0x80(%rsp),%rbp
lea    0x0(%rbp,%rbp,1),%eax
cltq
mov    0x230(%rsp),%rdx
lea    (%rdx,%rax,8),%r12
lea    0x0(,%rbp,4),%ecx
movslq %ecx,%rcx
lea    (%rdx,%rcx,8),%r14
lea    (%rax,%rax,2),%eax
cltq
lea    (%rdx,%rax,8),%r15
lea    0x38(%rsp),%r13
jmp    1e50 <mainlb_+0xc40>
movl   $0x0,0xc(%rsp)
movl   $0x0,0x10(%rsp)
movl   $0x1,0x18(%rsp)
movabs $0x3ff0000000000000,%rax
mov    %rax,0x30(%rsp)
movl   $0x0,0x24(%rsp)
movl   $0x0,0x1c(%rsp)
lea    0x38(%rsp),%r13
mov    %r13,%rdi
xor    %eax,%eax
call   1130 <timer_@plt>
movsd  0x78(%rsp),%xmm0
addsd  0x38(%rsp),%xmm0
subsd  0x48(%rsp),%xmm0
movsd  %xmm0,0x78(%rsp)
movl   $0xffffffff,0x3252(%rip)
ff ff ff
cmpl   $0x0,0x2c(%rsp)
mov    0x10(%rsp),%eax
jne    1e6d <mainlb_+0xc5d>
test   %eax,%eax
jg     1fb1 <mainlb_+0xda1>
lea    0x48(%rsp),%rdi
xor    %eax,%eax
call   1130 <timer_@plt>
movsd  0x30(%rsp),%xmm0
mov    0x10(%rsp),%r10d
mov    0x18(%rsp),%ebp
sub    $0x8,%rsp
mov    0x1c(%rsp),%edi
mov    0x58(%rsp),%rsi
mov    0xc0(%rsp),%rdx
mov    0xa0(%rsp),%rcx
mov    0xa8(%rsp),%r8
mov    0x1c0(%rsp),%r9
movsd  0xe8(%rsp),%xmm1
mov    $0x2,%al
lea    0x14(%rsp),%rbx
push   %rbx
lea    0xd0(%rsp),%rbx
push   %rbx
push   0x260(%rsp)
push   0x258(%rsp)
lea    0x84(%rsp),%rbx
push   %rbx
push   %r15
push   %r14
push   %r12
push   0x278(%rsp)
push   %rbp
push   %r10
push   0x258(%rsp)
push   0x248(%rsp)
push   0x240(%rsp)
push   0x250(%rsp)
push   0x100(%rsp)
push   0x298(%rsp)
push   0x2b0(%rsp)
push   0x2c0(%rsp)
push   0x300(%rsp)
push   0x310(%rsp)
call   10c0 <cauchy_@plt>
add    $0xb0,%rsp
cmpl   $0x0,0xc(%rsp)
je     1fe9 <mainlb_+0xdd9>
movl   $0x0,0xc(%rsp)
movl   $0x0,0x10(%rsp)
movl   $0x1,0x18(%rsp)
movabs $0x3ff0000000000000,%rax
mov    %rax,0x30(%rsp)
movl   $0x0,0x24(%rsp)
movl   $0x0,0x1c(%rsp)
mov    %r13,%rdi
xor    %eax,%eax
call   1130 <timer_@plt>
movsd  0x60(%rsp),%xmm0
addsd  0x38(%rsp),%xmm0
subsd  0x48(%rsp),%xmm0
movsd  %xmm0,0x60(%rsp)
jmp    1e50 <mainlb_+0xc40>
mov    0x14(%rsp),%r13d
mov    %r13d,%edi
mov    0x50(%rsp),%rsi
mov    0x210(%rsp),%rdx
xor    %eax,%eax
call   1040 <dcopy_@plt>
mov    0x1c(%rsp),%eax
mov    %eax,0xc8(%rsp)
movl   $0x0,0x5c(%rsp)
mov    0x28(%rsp),%eax
jmp    207c <mainlb_+0xe6c>
mov    %r13,%rdi
xor    %eax,%eax
call   1130 <timer_@plt>
movsd  0x60(%rsp),%xmm0
addsd  0x38(%rsp),%xmm0
subsd  0x48(%rsp),%xmm0
movsd  %xmm0,0x60(%rsp)
mov    0x20(%rsp),%eax
add    0x5c(%rsp),%eax
mov    %eax,0x20(%rsp)
mov    0x2c(%rsp),%ebp
mov    0x40(%rsp),%ebx
sub    $0x8,%rsp
mov    0x1c(%rsp),%r13d
mov    %r13d,%edi
lea    0x30(%rsp),%rsi
mov    0x260(%rsp),%rdx
lea    0x74(%rsp),%rcx
lea    0x78(%rsp),%r8
mov    0x270(%rsp),%r9
xor    %eax,%eax
push   %rbx
push   %rbp
lea    0x34(%rsp),%rbp
push   %rbp
lea    0xe8(%rsp),%rbp
push   %rbp
push   0x288(%rsp)
call   1050 <freev_@plt>
add    $0x30,%rsp
mov    0x28(%rsp),%eax
mov    %r13d,%ecx
sub    %eax,%ecx
mov    %ecx,0x3038(%rip)
mov    0x10(%rsp),%ecx
test   %eax,%eax
je     22a0 <mainlb_+0x1090>
test   %ecx,%ecx
je     22a0 <mainlb_+0x1090>
lea    0x48(%rsp),%rdi
xor    %eax,%eax
call   1130 <timer_@plt>
cmpl   $0x0,0xc8(%rsp)
je     2124 <mainlb_+0xf14>
movsd  0x30(%rsp),%xmm0
mov    0x10(%rsp),%ebp
sub    $0x8,%rsp
mov    %r13d,%edi
lea    0x30(%rsp),%rsi
mov    0x260(%rsp),%rdx
lea    0x74(%rsp),%rcx
lea    0x78(%rsp),%r8
mov    0x270(%rsp),%r9
mov    $0x1,%al
lea    0x14(%rsp),%rbx
push   %rbx
lea    0x28(%rsp),%rbx
push   %rbx
push   %rbp
push   0x200(%rsp)
push   0x200(%rsp)
push   0x200(%rsp)
push   0xb8(%rsp)
push   0x248(%rsp)
push   0x248(%rsp)
lea    0x6c(%rsp),%rbp
push   %rbp
lea    0x7c(%rsp),%rbp
push   %rbp
call   10d0 <formk_@plt>
add    $0x60,%rsp
cmpl   $0x0,0xc(%rsp)
jne    1df2 <mainlb_+0xbe2>
movsd  0x30(%rsp),%xmm0
mov    0x10(%rsp),%eax
mov    %rax,0xb0(%rsp)
mov    0x18(%rsp),%r11d
mov    0x28(%rsp),%r10d
mov    0x2c(%rsp),%ebx
sub    $0x8,%rsp
mov    %r13d,%edi
mov    0x88(%rsp),%rsi
mov    0x58(%rsp),%rdx
mov    0x1c0(%rsp),%rcx
mov    0x1d8(%rsp),%r8
mov    0x1e0(%rsp),%r9
mov    $0x1,%al
lea    0x14(%rsp),%rbp
push   %rbp
push   %rbx
push   %r10
push   %r11
push   0xd8(%rsp)
push   0x288(%rsp)
push   0x268(%rsp)
push   0x258(%rsp)
push   0x258(%rsp)
push   0x248(%rsp)
push   0x238(%rsp)
call   1100 <cmprlb_@plt>
add    $0x60,%rsp
cmpl   $0x0,0xc(%rsp)
jne    1df2 <mainlb_+0xbe2>
mov    0x28(%rsp),%edx
movsd  0x30(%rsp),%xmm0
mov    0x10(%rsp),%r10d
mov    0x18(%rsp),%ebx
sub    $0x8,%rsp
mov    0x1c(%rsp),%edi
mov    0x88(%rsp),%rsi
mov    0x260(%rsp),%rcx
mov    0xc0(%rsp),%r8
mov    0xa0(%rsp),%r9
mov    $0x1,%al
lea    0x14(%rsp),%rbp
push   %rbp
push   0x210(%rsp)
push   0x248(%rsp)
lea    0x2e87(%rip),%rbp
push   %rbp
push   %rbx
push   %r10
push   0x210(%rsp)
push   0x210(%rsp)
push   0x260(%rsp)
push   0x260(%rsp)
push   0xf8(%rsp)
call   1110 <subsm_@plt>
add    $0x60,%rsp
cmpl   $0x0,0xc(%rsp)
jne    1df2 <mainlb_+0xbe2>
lea    0x38(%rsp),%rdi
xor    %eax,%eax
call   1130 <timer_@plt>
movsd  0x78(%rsp),%xmm0
addsd  0x38(%rsp),%xmm0
subsd  0x48(%rsp),%xmm0
movsd  %xmm0,0x78(%rsp)
mov    0x290(%rsp),%r12
mov    0x288(%rsp),%r15
mov    0x50(%rsp),%r8
mov    0x14(%rsp),%r13d
jmp    22b5 <mainlb_+0x10a5>
mov    0x290(%rsp),%r12
mov    0x288(%rsp),%r15
mov    0x50(%rsp),%r8
mov    0x220(%rsp),%rbp
mov    0x210(%rsp),%rdi
mov    0xd8(%rsp),%r9
test   %r13d,%r13d
jle    2483 <mainlb_+0x1273>
xor    %eax,%eax
cmp    $0x4,%r13d
jb     23ee <mainlb_+0x11de>
lea    (%rdi,%r9,8),%rax
cmp    %rbp,%rax
seta   %sil
lea    0x0(,%r9,8),%rax
add    %rbp,%rax
cmp    %rdi,%rax
seta   %bl
lea    (%r8,%r9,8),%rcx
cmp    %rbp,%rcx
seta   %dl
cmp    %r8,%rax
seta   %cl
and    %dl,%cl
xor    %eax,%eax
test   %bl,%sil
jne    23ee <mainlb_+0x11de>
test   %cl,%cl
jne    23ee <mainlb_+0x11de>
mov    %r9d,%eax
and    $0xfffffffc,%eax
lea    -0x4(%rax),%rsi
mov    %rsi,%rdx
shr    $0x2,%rdx
add    $0x1,%rdx
xor    %ecx,%ecx
test   %rsi,%rsi
je     23b4 <mainlb_+0x11a4>
mov    %rdx,%rsi
and    $0xfffffffffffffffe,%rsi
xor    %ecx,%ecx
nopl   0x0(%rax,%rax,1)
movupd (%rdi,%rcx,8),%xmm0
movupd 0x10(%rdi,%rcx,8),%xmm1
movupd (%r8,%rcx,8),%xmm2
subpd  %xmm2,%xmm0
movupd 0x10(%r8,%rcx,8),%xmm2
subpd  %xmm2,%xmm1
movupd %xmm0,0x0(%rbp,%rcx,8)
movupd %xmm1,0x10(%rbp,%rcx,8)
movupd 0x20(%rdi,%rcx,8),%xmm0
movupd 0x30(%rdi,%rcx,8),%xmm1
movupd 0x20(%r8,%rcx,8),%xmm2
subpd  %xmm2,%xmm0
movupd 0x30(%r8,%rcx,8),%xmm2
subpd  %xmm2,%xmm1
movupd %xmm0,0x20(%rbp,%rcx,8)
movupd %xmm1,0x30(%rbp,%rcx,8)
add    $0x8,%rcx
add    $0xfffffffffffffffe,%rsi
jne    2350 <mainlb_+0x1140>
test   $0x1,%dl
je     23e5 <mainlb_+0x11d5>
movupd (%rdi,%rcx,8),%xmm0
movupd 0x10(%rdi,%rcx,8),%xmm1
movupd (%r8,%rcx,8),%xmm2
subpd  %xmm2,%xmm0
movupd 0x10(%r8,%rcx,8),%xmm2
subpd  %xmm2,%xmm1
movupd %xmm0,0x0(%rbp,%rcx,8)
movupd %xmm1,0x10(%rbp,%rcx,8)
cmp    %r9,%rax
je     2483 <mainlb_+0x1273>
mov    %rax,%rcx
not    %rcx
add    %r9,%rcx
mov    %r9,%rdx
and    $0x3,%rdx
je     241b <mainlb_+0x120b>
movsd  (%rdi,%rax,8),%xmm0
subsd  (%r8,%rax,8),%xmm0
movsd  %xmm0,0x0(%rbp,%rax,8)
add    $0x1,%rax
add    $0xffffffffffffffff,%rdx
jne    2400 <mainlb_+0x11f0>
cmp    $0x3,%rcx
jb     2483 <mainlb_+0x1273>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
movsd  (%rdi,%rax,8),%xmm0
subsd  (%r8,%rax,8),%xmm0
movsd  %xmm0,0x0(%rbp,%rax,8)
movsd  0x8(%rdi,%rax,8),%xmm0
subsd  0x8(%r8,%rax,8),%xmm0
movsd  %xmm0,0x8(%rbp,%rax,8)
movsd  0x10(%rdi,%rax,8),%xmm0
subsd  0x10(%r8,%rax,8),%xmm0
movsd  %xmm0,0x10(%rbp,%rax,8)
movsd  0x18(%rdi,%rax,8),%xmm0
subsd  0x18(%r8,%rax,8),%xmm0
movsd  %xmm0,0x18(%rbp,%rax,8)
add    $0x4,%rax
cmp    %rax,%r9
jne    2430 <mainlb_+0x1220>
lea    0x48(%rsp),%rdi
xor    %eax,%eax
call   1130 <timer_@plt>
lea    0x54(%r15),%rbp
lea    0x80(%r12),%rbx
lea    0x2c(%rsp),%r10
lea    0x8c(%rsp),%r13
lea    0xc(%rsp),%r12
lea    0x44(%rsp),%r15
lea    0x58(%rsp),%r14
lea    0x74(%rsp),%r11
mov    0xb8(%rsp),%rsi
mov    0x98(%rsp),%rdx
mov    0xa0(%rsp),%rcx
xor    %eax,%eax
mov    0x14(%rsp),%edi
mov    0x50(%rsp),%r8
mov    0x1b0(%rsp),%r9
push   %rbx
push   %rbp
push   0x288(%rsp)
push   %r10
push   %r13
mov    0x298(%rsp),%r13
push   %r13
push   %r12
push   %r15
push   %r14
push   %r11
lea    0x90(%rsp),%rbp
push   %rbp
lea    0x170(%rsp),%rbp
push   %rbp
lea    0x1d0(%rsp),%rbp
push   %rbp
lea    0x190(%rsp),%rbp
push   %rbp
lea    0x190(%rsp),%rbp
push   %rbp
lea    0x1b8(%rsp),%rbp
push   %rbp
push   0x290(%rsp)
push   0x2b0(%rsp)
mov    0x2a8(%rsp),%r14
push   %r14
push   0x2b8(%rsp)
mov    0x258(%rsp),%rbx
push   %rbx
lea    0x1b8(%rsp),%rbp
push   %rbp
lea    0x1f8(%rsp),%rbp
push   %rbp
lea    0x1a0(%rsp),%rbp
push   %rbp
call   10b0 <lnsrlb_@plt>
add    $0xc0,%rsp
cmpl   $0x0,0xc(%rsp)
mov    0x58(%rsp),%eax
jne    259f <mainlb_+0x138f>
cmp    $0x14,%eax
jl     266f <mainlb_+0x145f>
mov    0x14(%rsp),%ebp
mov    %ebp,%edi
mov    0x228(%rsp),%rsi
mov    0x50(%rsp),%rdx
xor    %eax,%eax
call   1040 <dcopy_@plt>
mov    %ebp,%edi
mov    %r14,%rsi
mov    %rbx,%rdx
xor    %eax,%eax
call   1040 <dcopy_@plt>
movsd  0xe8(%rsp),%xmm0
mov    0x1b0(%rsp),%rax
movsd  %xmm0,(%rax)
cmpl   $0x0,0x10(%rsp)
mov    0xc(%rsp),%eax
je     272e <mainlb_+0x151e>
test   %eax,%eax
jne    25f5 <mainlb_+0x13e5>
addl   $0xffffffff,0x44(%rsp)
movl   $0x0,0xc(%rsp)
movl   $0x0,0x10(%rsp)
movl   $0x1,0x18(%rsp)
movabs $0x3ff0000000000000,%rax
mov    %rax,0x30(%rsp)
movl   $0x0,0x24(%rsp)
movl   $0x0,0x1c(%rsp)
movups 0xa73(%rip),%xmm0
movups %xmm0,0x0(%r13)
movl   $0x484352,0x10(%r13)
lea    0x38(%rsp),%rdi
xor    %eax,%eax
call   1130 <timer_@plt>
movsd  0x90(%rsp),%xmm0
addsd  0x38(%rsp),%xmm0
subsd  0x48(%rsp),%xmm0
movsd  %xmm0,0x90(%rsp)
jmp    1dba <mainlb_+0xbaa>
lea    0x9c0(%rip),%rsi
mov    $0x5,%edx
mov    %r13,%rdi
call   1030 <strncmp@plt>
test   %eax,%eax
mov    0xf0(%rsp),%r13d
je     26fa <mainlb_+0x14ea>
lea    0x38(%rsp),%rdi
xor    %eax,%eax
call   1130 <timer_@plt>
movsd  0x90(%rsp),%xmm0
addsd  0x38(%rsp),%xmm0
subsd  0x48(%rsp),%xmm0
movsd  %xmm0,0x90(%rsp)
addl   $0x1,0x40(%rsp)
sub    $0x8,%rsp
lea    0xc8(%rsp),%rbp
mov    0x1c(%rsp),%edi
mov    0xc0(%rsp),%rsi
mov    0xa0(%rsp),%rdx
mov    0xa8(%rsp),%rcx
mov    0x58(%rsp),%r8
mov    %rbx,%r9
xor    %eax,%eax
push   %rbp
call   10e0 <projgr_@plt>
add    $0x10,%rsp
mov    0x290(%rsp),%r12
mov    0x288(%rsp),%r15
mov    0x280(%rsp),%rbx
movsd  0x60(%rsp),%xmm1
movsd  0xd0(%rsp),%xmm2
mov    0x20(%rsp),%r14d
mov    %r13d,%ebp
jmp    1c12 <mainlb_+0xa02>
test   %eax,%eax
jne    2749 <mainlb_+0x1539>
addl   $0xffffffff,0x44(%rsp)
addl   $0xffffffff,0x74(%rsp)
movl   $0xfffffff7,0xc(%rsp)
ff
addl   $0xffffffff,0x58(%rsp)
movups 0x946(%rip),%xmm0
movups %xmm0,0xf(%r13)
movupd 0x92a(%rip),%xmm0
movupd %xmm0,0x0(%r13)
addl   $0x1,0x40(%rsp)
mov    0x290(%rsp),%r12
mov    0x288(%rsp),%r15
mov    0x280(%rsp),%rbx
mov    0xf0(%rsp),%ebp
mov    0x20(%rsp),%r14d
lea    0x158(%rsp),%rdi
xor    %eax,%eax
call   1130 <timer_@plt>
movsd  0x60(%rsp),%xmm1
movsd  0xd0(%rsp),%xmm2
jmp    1c12 <mainlb_+0xa02>

LLVM IR (-O0):
@mainlb_.iword = internal global i32 0
@mainlb_.itail = internal global i32 0
@mainlb_.nact = internal global i32 0
@mainlb_.itfile = internal global i32 0
@.str = [6 x i8] c"START\00"
@.str.1 = [6 x i8] c"ERROR\00"
@.str.2 = [6 x i8] c"FG_LN\00"
@.str.3 = [6 x i8] c"NEW_X\00"
@.str.4 = [6 x i8] c"FG_ST\00"
@.str.5 = [5 x i8] c"STOP\00"
@.str.6 = [9 x i8] c"FG_START\00"
@.str.7 = [49 x i8] c"CONVERGENCE: NORM OF PROJECTED GRADIENT <= PGTOL\00"
@.str.8 = [31 x i8] c"ABNORMAL_TERMINATION_IN_LNSRCH\00"
@.str.9 = [20 x i8] c"RESTART_FROM_LNSRCH\00"
@.str.10 = [48 x i8] c"CONVERGENCE: REL_REDUCTION_OF_F <= FACTR*EPSMCH\00"
define i32 @mainlb_(i32 %0, i32 %1, double* %2, double* %3, double* %4, i32* %5, double* %6, double* %7, double* %8, double* %9, double* %10, double* %11, double* %12, double* %13, double* %14, double* %15, double* %16, double* %17, double* %18, double* %19, double* %20, double* %21, double* %22, double* %23, double* %24, double* %25, double* %26, i32* %27, i32* %28, i32* %29, i8* %30, i8* %31, i32* %32, i32* %33, double* %34) {
%36 = alloca i32
%37 = alloca i32
%38 = alloca i32
%39 = alloca double*
%40 = alloca double*
%41 = alloca double*
%42 = alloca i32*
%43 = alloca double*
%44 = alloca double*
%45 = alloca double*
%46 = alloca double*
%47 = alloca double*
%48 = alloca double*
%49 = alloca double*
%50 = alloca double*
%51 = alloca double*
%52 = alloca double*
%53 = alloca double*
%54 = alloca double*
%55 = alloca double*
%56 = alloca double*
%57 = alloca double*
%58 = alloca double*
%59 = alloca double*
%60 = alloca double*
%61 = alloca double*
%62 = alloca double*
%63 = alloca double*
%64 = alloca i32*
%65 = alloca i32*
%66 = alloca i32*
%67 = alloca i8*
%68 = alloca i8*
%69 = alloca i32*
%70 = alloca i32*
%71 = alloca double*
%72 = alloca double
%73 = alloca double
%74 = alloca double
%75 = alloca double
%76 = alloca double
%77 = alloca double
%78 = alloca double
%79 = alloca double
%80 = alloca double
%81 = alloca double
%82 = alloca double
%83 = alloca double
%84 = alloca double
%85 = alloca double
%86 = alloca double
%87 = alloca double
%88 = alloca double
%89 = alloca double
%90 = alloca double
%91 = alloca double
%92 = alloca double
%93 = alloca double
%94 = alloca double
%95 = alloca double
%96 = alloca i32
%97 = alloca i32
%98 = alloca i32
%99 = alloca i32
%100 = alloca i32
%101 = alloca i32
%102 = alloca i32
%103 = alloca i32
%104 = alloca i32
%105 = alloca i32
%106 = alloca i32
%107 = alloca i32
%108 = alloca i32
%109 = alloca i32
%110 = alloca i32
%111 = alloca i32
%112 = alloca i32
%113 = alloca i32
%114 = alloca i32
%115 = alloca i32
%116 = alloca i32
store i32 %0, i32* %37
store i32 %1, i32* %38
store double* %2, double** %39
store double* %3, double** %40
store double* %4, double** %41
store i32* %5, i32** %42
store double* %6, double** %43
store double* %7, double** %44
store double* %8, double** %45
store double* %9, double** %46
store double* %10, double** %47
store double* %11, double** %48
store double* %12, double** %49
store double* %13, double** %50
store double* %14, double** %51
store double* %15, double** %52
store double* %16, double** %53
store double* %17, double** %54
store double* %18, double** %55
store double* %19, double** %56
store double* %20, double** %57
store double* %21, double** %58
store double* %22, double** %59
store double* %23, double** %60
store double* %24, double** %61
store double* %25, double** %62
store double* %26, double** %63
store i32* %27, i32** %64
store i32* %28, i32** %65
store i32* %29, i32** %66
store i8* %30, i8** %67
store i8* %31, i8** %68
store i32* %32, i32** %69
store i32* %33, i32** %70
store double* %34, double** %71
store double 0.000000e+00, double* %77
store double 0.000000e+00, double* %80
store double 0.000000e+00, double* %81
store double 0.000000e+00, double* %83
store double 0.000000e+00, double* %87
store double 0.000000e+00, double* %89
store double 0.000000e+00, double* %95
store i32 0, i32* %99
store i32 0, i32* %101
%117 = load i32*, i32** %69
%118 = getelementptr inbounds i32, i32* %117, i32 -1
store i32* %118, i32** %69
%119 = load i32*, i32** %70
%120 = getelementptr inbounds i32, i32* %119, i32 -1
store i32* %120, i32** %70
%121 = load double*, double** %71
%122 = getelementptr inbounds double, double* %121, i32 -1
store double* %122, double** %71
%123 = load i8*, i8** %67
%124 = call i32 @strncmp(i8* %123, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i64 5)
%125 = icmp eq i32 %124, 0
br i1 %125, label %126, label %155
126: ; preds = %35
%127 = call i32 (double*, ...) bitcast (i32 (...)* @timer_ to i32 (double*, ...)*)(double* %84)
%128 = call i32 (...) @dpmeps_()
%129 = sitofp i32 %128 to double
store double %129, double* %91
store i32 0, i32* %111
store i32 1, i32* %113
store double 1.000000e+00, double* %86
store i32 0, i32* %107
store i32 0, i32* %106
store i32 0, i32* %97
store i32 0, i32* %96
store i32 0, i32* %98
store i32 0, i32* %114
store i32 0, i32* %102
store i32 0, i32* %110
store i32 0, i32* %105
%130 = load i32, i32* %37
store i32 %130, i32* %103
%131 = load double*, double** %45
%132 = load double, double* %131
%133 = fdiv double %132, 1.000000e+02
store double %133, double* %78
store double 0.000000e+00, double* %90
store double 0.000000e+00, double* %92
store double 0.000000e+00, double* %94
store i32 0, i32* %100
%134 = load i32, i32* %37
%135 = load i32, i32* %38
%136 = load double*, double** %45
%137 = load double, double* %136
%138 = load double*, double** %40
%139 = load double*, double** %41
%140 = load i32*, i32** %42
%141 = load i8*, i8** %67
%142 = call i32 (i32, i32, double, double*, double*, i32*, i8*, i32*, i32*, ...) bitcast (i32 (...)* @errclb_ to i32 (i32, i32, double, double*, double*, i32*, i8*, i32*, i32*, ...)*)(i32 %134, i32 %135, double %137, double* %138, double* %139, i32* %140, i8* %141, i32* %100, i32* %116)
%143 = load i8*, i8** %67
%144 = call i32 @strncmp(i8* %143, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1, i64 0, i64 0), i64 5)
%145 = icmp eq i32 %144, 0
br i1 %145, label %146, label %147
146: ; preds = %126
store i32 0, i32* %36
br label %848
147: ; preds = %126
%148 = load i32, i32* %37
%149 = load double*, double** %40
%150 = load double*, double** %41
%151 = load i32*, i32** %42
%152 = load double*, double** %39
%153 = load i32*, i32** %65
%154 = call i32 (i32, double*, double*, i32*, double*, i32*, i32*, i32*, i32*, ...) bitcast (i32 (...)* @active_ to i32 (i32, double*, double*, i32*, double*, i32*, i32*, i32*, i32*, ...)*)(i32 %148, double* %149, double* %150, i32* %151, double* %152, i32* %153, i32* %108, i32* %109, i32* %104)
br label %290
155: ; preds = %35
%156 = load i32*, i32** %69
%157 = getelementptr inbounds i32, i32* %156, i64 1
%158 = load i32, i32* %157
store i32 %158, i32* %108
%159 = load i32*, i32** %69
%160 = getelementptr inbounds i32, i32* %159, i64 2
%161 = load i32, i32* %160
store i32 %161, i32* %109
%162 = load i32*, i32** %69
%163 = getelementptr inbounds i32, i32* %162, i64 3
%164 = load i32, i32* %163
store i32 %164, i32* %104
%165 = load i32*, i32** %69
%166 = getelementptr inbounds i32, i32* %165, i64 4
%167 = load i32, i32* %166
store i32 %167, i32* %106
%168 = load i32*, i32** %70
%169 = getelementptr inbounds i32, i32* %168, i64 1
%170 = load i32, i32* %169
store i32 %170, i32* %114
%171 = load i32*, i32** %70
%172 = getelementptr inbounds i32, i32* %171, i64 3
%173 = load i32, i32* %172
store i32 %173, i32* @mainlb_.itfile
%174 = load i32*, i32** %70
%175 = getelementptr inbounds i32, i32* %174, i64 4
%176 = load i32, i32* %175
store i32 %176, i32* %101
%177 = load i32*, i32** %70
%178 = getelementptr inbounds i32, i32* %177, i64 5
%179 = load i32, i32* %178
store i32 %179, i32* %102
%180 = load i32*, i32** %70
%181 = getelementptr inbounds i32, i32* %180, i64 6
%182 = load i32, i32* %181
store i32 %182, i32* %113
%183 = load i32*, i32** %70
%184 = getelementptr inbounds i32, i32* %183, i64 7
%185 = load i32, i32* %184
store i32 %185, i32* %111
%186 = load i32*, i32** %70
%187 = getelementptr inbounds i32, i32* %186, i64 8
%188 = load i32, i32* %187
store i32 %188, i32* @mainlb_.itail
%189 = load i32*, i32** %70
%190 = getelementptr inbounds i32, i32* %189, i64 9
%191 = load i32, i32* %190
store i32 %191, i32* %97
%192 = load i32*, i32** %70
%193 = getelementptr inbounds i32, i32* %192, i64 10
%194 = load i32, i32* %193
store i32 %194, i32* %107
%195 = load i32*, i32** %70
%196 = getelementptr inbounds i32, i32* %195, i64 12
%197 = load i32, i32* %196
store i32 %197, i32* %98
%198 = load i32*, i32** %70
%199 = getelementptr inbounds i32, i32* %198, i64 13
%200 = load i32, i32* %199
store i32 %200, i32* %96
%201 = load i32*, i32** %70
%202 = getelementptr inbounds i32, i32* %201, i64 14
%203 = load i32, i32* %202
store i32 %203, i32* %100
%204 = load i32*, i32** %70
%205 = getelementptr inbounds i32, i32* %204, i64 15
%206 = load i32, i32* %205
store i32 %206, i32* %99
%207 = load i32*, i32** %70
%208 = getelementptr inbounds i32, i32* %207, i64 16
%209 = load i32, i32* %208
store i32 %209, i32* @mainlb_.iword
%210 = load i32*, i32** %70
%211 = getelementptr inbounds i32, i32* %210, i64 17
%212 = load i32, i32* %211
store i32 %212, i32* %103
%213 = load i32*, i32** %70
%214 = getelementptr inbounds i32, i32* %213, i64 18
%215 = load i32, i32* %214
store i32 %215, i32* @mainlb_.nact
%216 = load i32*, i32** %70
%217 = getelementptr inbounds i32, i32* %216, i64 19
%218 = load i32, i32* %217
store i32 %218, i32* %105
%219 = load i32*, i32** %70
%220 = getelementptr inbounds i32, i32* %219, i64 20
%221 = load i32, i32* %220
store i32 %221, i32* %110
%222 = load double*, double** %71
%223 = getelementptr inbounds double, double* %222, i64 1
%224 = load double, double* %223
store double %224, double* %86
%225 = load double*, double** %71
%226 = getelementptr inbounds double, double* %225, i64 2
%227 = load double, double* %226
store double %227, double* %83
%228 = load double*, double** %71
%229 = getelementptr inbounds double, double* %228, i64 3
%230 = load double, double* %229
store double %230, double* %78
%231 = load double*, double** %71
%232 = getelementptr inbounds double, double* %231, i64 4
%233 = load double, double* %232
store double %233, double* %87
%234 = load double*, double** %71
%235 = getelementptr inbounds double, double* %234, i64 5
%236 = load double, double* %235
store double %236, double* %91
%237 = load double*, double** %71
%238 = getelementptr inbounds double, double* %237, i64 6
%239 = load double, double* %238
store double %239, double* %80
%240 = load double*, double** %71
%241 = getelementptr inbounds double, double* %240, i64 7
%242 = load double, double* %241
store double %242, double* %90
%243 = load double*, double** %71
%244 = getelementptr inbounds double, double* %243, i64 8
%245 = load double, double* %244
store double %245, double* %92
%246 = load double*, double** %71
%247 = getelementptr inbounds double, double* %246, i64 9
%248 = load double, double* %247
store double %248, double* %94
%249 = load double*, double** %71
%250 = getelementptr inbounds double, double* %249, i64 10
%251 = load double, double* %250
store double %251, double* %84
%252 = load double*, double** %71
%253 = getelementptr inbounds double, double* %252, i64 11
%254 = load double, double* %253
store double %254, double* %74
%255 = load double*, double** %71
%256 = getelementptr inbounds double, double* %255, i64 12
%257 = load double, double* %256
store double %257, double* %89
%258 = load double*, double** %71
%259 = getelementptr inbounds double, double* %258, i64 13
%260 = load double, double* %259
store double %260, double* %93
%261 = load double*, double** %71
%262 = getelementptr inbounds double, double* %261, i64 14
%263 = load double, double* %262
store double %263, double* %79
%264 = load double*, double** %71
%265 = getelementptr inbounds double, double* %264, i64 15
%266 = load double, double* %265
store double %266, double* %95
%267 = load double*, double** %71
%268 = getelementptr inbounds double, double* %267, i64 16
%269 = load double, double* %268
store double %269, double* %77
%270 = load i8*, i8** %67
%271 = call i32 @strncmp(i8* %270, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.2, i64 0, i64 0), i64 5)
%272 = icmp eq i32 %271, 0
br i1 %272, label %273, label %274
273: ; preds = %155
br label %508
274: ; preds = %155
%275 = load i8*, i8** %67
%276 = call i32 @strncmp(i8* %275, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.3, i64 0, i64 0), i64 5)
%277 = icmp eq i32 %276, 0
br i1 %277, label %278, label %279
278: ; preds = %274
br label %596
279: ; preds = %274
%280 = load i8*, i8** %67
%281 = call i32 @strncmp(i8* %280, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.4, i64 0, i64 0), i64 5)
%282 = icmp eq i32 %281, 0
br i1 %282, label %283, label %284
283: ; preds = %279
br label %293
284: ; preds = %279
%285 = load i8*, i8** %67
%286 = call i32 @strncmp(i8* %285, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.5, i64 0, i64 0), i64 4)
%287 = icmp eq i32 %286, 0
br i1 %287, label %288, label %289
288: ; preds = %284
br label %731
289: ; preds = %284
br label %290
290: ; preds = %289, %147
%291 = load i8*, i8** %67
%292 = call i8* @strcpy(i8* %291, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.6, i64 0, i64 0))
br label %733
293: ; preds = %283
store i32 1, i32* %96
%294 = load i32, i32* %37
%295 = load double*, double** %40
%296 = load double*, double** %41
%297 = load i32*, i32** %42
%298 = load double*, double** %39
%299 = load double*, double** %44
%300 = call i32 (i32, double*, double*, i32*, double*, double*, double*, ...) bitcast (i32 (...)* @projgr_ to i32 (i32, double*, double*, i32*, double*, double*, double*, ...)*)(i32 %294, double* %295, double* %296, i32* %297, double* %298, double* %299, double* %93)
%301 = load double, double* %93
%302 = load double*, double** %46
%303 = load double, double* %302
%304 = fcmp ole double %301, %303
br i1 %304, label %305, label %308
305: ; preds = %293
%306 = load i8*, i8** %67
%307 = call i8* @strcpy(i8* %306, i8* getelementptr inbounds ([49 x i8], [49 x i8]* @.str.7, i64 0, i64 0))
br label %731
308: ; preds = %293
br label %309
309: ; preds = %730, %728, %566, %468, %418, %364, %308
store i32 -1, i32* @mainlb_.iword
%310 = load i32, i32* %109
%311 = icmp ne i32 %310, 0
br i1 %311, label %321, label %312
312: ; preds = %309
%313 = load i32, i32* %111
%314 = icmp sgt i32 %313, 0
br i1 %314, label %315, label %321
315: ; preds = %312
%316 = load i32, i32* %37
%317 = load double*, double** %39
%318 = load double*, double** %55
%319 = call i32 (i32, double*, double*, ...) bitcast (i32 (...)* @dcopy_ to i32 (i32, double*, double*, ...)*)(i32 %316, double* %317, double* %318)
%320 = load i32, i32* %106
store i32 %320, i32* %112
store i32 0, i32* %98
br label %391
321: ; preds = %312, %309
%322 = call i32 (double*, ...) bitcast (i32 (...)* @timer_ to i32 (double*, ...)*)(double* %80)
%323 = load i32, i32* %37
%324 = load double*, double** %39
%325 = load double*, double** %40
%326 = load double*, double** %41
%327 = load i32*, i32** %42
%328 = load double*, double** %44
%329 = load i32*, i32** %66
%330 = load i32*, i32** %65
%331 = load double*, double** %58
%332 = load double*, double** %57
%333 = load double*, double** %55
%334 = load i32, i32* %38
%335 = load double*, double** %48
%336 = load double*, double** %47
%337 = load double*, double** %49
%338 = load double*, double** %52
%339 = load double, double* %86
%340 = load i32, i32* %111
%341 = load i32, i32* %113
%342 = load double*, double** %59
%343 = load double*, double** %59
%344 = load i32, i32* %38
%345 = mul nsw i32 2, %344
%346 = sext i32 %345 to i64
%347 = getelementptr inbounds double, double* %343, i64 %346
%348 = load double*, double** %59
%349 = load i32, i32* %38
%350 = mul nsw i32 4, %349
%351 = sext i32 %350 to i64
%352 = getelementptr inbounds double, double* %348, i64 %351
%353 = load double*, double** %59
%354 = load i32, i32* %38
%355 = mul nsw i32 6, %354
%356 = sext i32 %355 to i64
%357 = getelementptr inbounds double, double* %353, i64 %356
%358 = load double*, double** %60
%359 = load double*, double** %62
%360 = load double, double* %91
%361 = call i32 (i32, double*, double*, double*, i32*, double*, i32*, i32*, double*, double*, double*, i32, double*, double*, double*, double*, double, i32, i32, double*, double*, double*, double*, i32*, double*, double*, double*, i32*, double, ...) bitcast (i32 (...)* @cauchy_ to i32 (i32, double*, double*, double*, i32*, double*, i32*, i32*, double*, double*, double*, i32, double*, double*, double*, double*, double, i32, i32, double*, double*, double*, double*, i32*, double*, double*, double*, i32*, double, ...)*)(i32 %323, double* %324, double* %325, double* %326, i32* %327, double* %328, i32* %329, i32* %330, double* %331, double* %332, double* %333, i32 %334, double* %335, double* %336, double* %337, double* %338, double %339, i32 %340, i32 %341, double* %342, double* %347, double* %352, double* %357, i32* %98, double* %358, double* %359, double* %93, i32* %100, double %360)
%362 = load i32, i32* %100
%363 = icmp ne i32 %362, 0
br i1 %363, label %364, label %371
364: ; preds = %321
store i32 0, i32* %100
store i32 0, i32* %111
store i32 1, i32* %113
store double 1.000000e+00, double* %86
store i32 0, i32* %107
store i32 0, i32* %106
%365 = call i32 (double*, ...) bitcast (i32 (...)* @timer_ to i32 (double*, ...)*)(double* %81)
%366 = load double, double* %90
%367 = load double, double* %81
%368 = fadd double %366, %367
%369 = load double, double* %80
%370 = fsub double %368, %369
store double %370, double* %90
br label %309
371: ; preds = %321
%372 = call i32 (double*, ...) bitcast (i32 (...)* @timer_ to i32 (double*, ...)*)(double* %81)
%373 = load double, double* %90
%374 = load double, double* %81
%375 = fadd double %373, %374
%376 = load double, double* %80
%377 = fsub double %375, %376
store double %377, double* %90
%378 = load i32, i32* %98
%379 = load i32, i32* %114
%380 = add nsw i32 %379, %378
store i32 %380, i32* %114
%381 = load i32, i32* %37
%382 = load i32*, i32** %64
%383 = load i32*, i32** %66
%384 = load i32*, i32** %65
%385 = load i32, i32* %109
%386 = load i32, i32* %97
%387 = call i32 (i32, i32*, i32*, i32*, i32*, i32*, i32*, i32*, i32*, i32, i32, ...) bitcast (i32 (...)* @freev_ to i32 (i32, i32*, i32*, i32*, i32*, i32*, i32*, i32*, i32*, i32, i32, ...)*)(i32 %381, i32* %103, i32* %382, i32* %110, i32* %105, i32* %383, i32* %384, i32* %112, i32* %106, i32 %385, i32 %386)
%388 = load i32, i32* %37
%389 = load i32, i32* %103
%390 = sub nsw i32 %388, %389
store i32 %390, i32* @mainlb_.nact
br label %391
391: ; preds = %371, %315
%392 = load i32, i32* %103
%393 = icmp eq i32 %392, 0
br i1 %393, label %397, label %394
394: ; preds = %391
%395 = load i32, i32* %111
%396 = icmp eq i32 %395, 0
br i1 %396, label %397, label %398
397: ; preds = %394, %391
br label %482
398: ; preds = %394
%399 = call i32 (double*, ...) bitcast (i32 (...)* @timer_ to i32 (double*, ...)*)(double* %80)
%400 = load i32, i32* %112
%401 = icmp ne i32 %400, 0
br i1 %401, label %402, label %415
402: ; preds = %398
%403 = load i32, i32* %37
%404 = load i32*, i32** %64
%405 = load i32*, i32** %66
%406 = load double*, double** %53
%407 = load double*, double** %54
%408 = load i32, i32* %38
%409 = load double*, double** %47
%410 = load double*, double** %48
%411 = load double*, double** %49
%412 = load double, double* %86
%413 = load i32, i32* %111
%414 = call i32 (i32, i32*, i32*, i32*, i32*, i32*, i32*, i32*, double*, double*, i32, double*, double*, double*, double, i32, i32*, i32*, ...) bitcast (i32 (...)* @formk_ to i32 (i32, i32*, i32*, i32*, i32*, i32*, i32*, i32*, double*, double*, i32, double*, double*, double*, double, i32, i32*, i32*, ...)*)(i32 %403, i32* %103, i32* %404, i32* %110, i32* %105, i32* %405, i32* %107, i32* %106, double* %406, double* %407, i32 %408, double* %409, double* %410, double* %411, double %412, i32 %413, i32* %113, i32* %100)
br label %415
415: ; preds = %402, %398
%416 = load i32, i32* %100
%417 = icmp ne i32 %416, 0
br i1 %417, label %418, label %425
418: ; preds = %415
store i32 0, i32* %100
store i32 0, i32* %111
store i32 1, i32* %113
store double 1.000000e+00, double* %86
store i32 0, i32* %107
store i32 0, i32* %106
%419 = call i32 (double*, ...) bitcast (i32 (...)* @timer_ to i32 (double*, ...)*)(double* %81)
%420 = load double, double* %92
%421 = load double, double* %81
%422 = fadd double %420, %421
%423 = load double, double* %80
%424 = fsub double %422, %423
store double %424, double* %92
br label %309
425: ; preds = %415
%426 = load i32, i32* %37
%427 = load i32, i32* %38
%428 = load double*, double** %39
%429 = load double*, double** %44
%430 = load double*, double** %47
%431 = load double*, double** %48
%432 = load double*, double** %49
%433 = load double*, double** %52
%434 = load double*, double** %55
%435 = load double*, double** %56
%436 = load double*, double** %59
%437 = load i32*, i32** %64
%438 = load double, double* %86
%439 = load i32, i32* %111
%440 = load i32, i32* %113
%441 = load i32, i32* %103
%442 = load i32, i32* %109
%443 = call i32 (i32, i32, double*, double*, double*, double*, double*, double*, double*, double*, double*, i32*, double, i32, i32, i32, i32, i32*, ...) bitcast (i32 (...)* @cmprlb_ to i32 (i32, i32, double*, double*, double*, double*, double*, double*, double*, double*, double*, i32*, double, i32, i32, i32, i32, i32*, ...)*)(i32 %426, i32 %427, double* %428, double* %429, double* %430, double* %431, double* %432, double* %433, double* %434, double* %435, double* %436, i32* %437, double %438, i32 %439, i32 %440, i32 %441, i32 %442, i32* %100)
%444 = load i32, i32* %100
%445 = icmp ne i32 %444, 0
br i1 %445, label %446, label %447
446: ; preds = %425
br label %465
447: ; preds = %425
%448 = load i32, i32* %37
%449 = load i32, i32* %38
%450 = load i32, i32* %103
%451 = load i32*, i32** %64
%452 = load double*, double** %40
%453 = load double*, double** %41
%454 = load i32*, i32** %42
%455 = load double*, double** %55
%456 = load double*, double** %56
%457 = load double*, double** %47
%458 = load double*, double** %48
%459 = load double, double* %86
%460 = load i32, i32* %111
%461 = load i32, i32* %113
%462 = load double*, double** %59
%463 = load double*, double** %53
%464 = call i32 (i32, i32, i32, i32*, double*, double*, i32*, double*, double*, double*, double*, double, i32, i32, i32*, double*, double*, i32*, ...) bitcast (i32 (...)* @subsm_ to i32 (i32, i32, i32, i32*, double*, double*, i32*, double*, double*, double*, double*, double, i32, i32, i32*, double*, double*, i32*, ...)*)(i32 %448, i32 %449, i32 %450, i32* %451, double* %452, double* %453, i32* %454, double* %455, double* %456, double* %457, double* %458, double %459, i32 %460, i32 %461, i32* @mainlb_.iword, double* %462, double* %463, i32* %100)
br label %465
465: ; preds = %447, %446
%466 = load i32, i32* %100
%467 = icmp ne i32 %466, 0
br i1 %467, label %468, label %475
468: ; preds = %465
store i32 0, i32* %100
store i32 0, i32* %111
store i32 1, i32* %113
store double 1.000000e+00, double* %86
store i32 0, i32* %107
store i32 0, i32* %106
%469 = call i32 (double*, ...) bitcast (i32 (...)* @timer_ to i32 (double*, ...)*)(double* %81)
%470 = load double, double* %92
%471 = load double, double* %81
%472 = fadd double %470, %471
%473 = load double, double* %80
%474 = fsub double %472, %473
store double %474, double* %92
br label %309
475: ; preds = %465
%476 = call i32 (double*, ...) bitcast (i32 (...)* @timer_ to i32 (double*, ...)*)(double* %81)
%477 = load double, double* %92
%478 = load double, double* %81
%479 = fadd double %477, %478
%480 = load double, double* %80
%481 = fsub double %479, %480
store double %481, double* %92
br label %482
482: ; preds = %475, %397
store i32 0, i32* %115
br label %483
483: ; preds = %503, %482
%484 = load i32, i32* %115
%485 = load i32, i32* %37
%486 = icmp slt i32 %484, %485
br i1 %486, label %487, label %506
487: ; preds = %483
%488 = load double*, double** %55
%489 = load i32, i32* %115
%490 = sext i32 %489 to i64
%491 = getelementptr inbounds double, double* %488, i64 %490
%492 = load double, double* %491
%493 = load double*, double** %39
%494 = load i32, i32* %115
%495 = sext i32 %494 to i64
%496 = getelementptr inbounds double, double* %493, i64 %495
%497 = load double, double* %496
%498 = fsub double %492, %497
%499 = load double*, double** %57
%500 = load i32, i32* %115
%501 = sext i32 %500 to i64
%502 = getelementptr inbounds double, double* %499, i64 %501
store double %498, double* %502
br label %503
503: ; preds = %487
%504 = load i32, i32* %115
%505 = add nsw i32 %504, 1
store i32 %505, i32* %115
br label %483
506: ; preds = %483
%507 = call i32 (double*, ...) bitcast (i32 (...)* @timer_ to i32 (double*, ...)*)(double* %80)
br label %508
508: ; preds = %506, %273
%509 = load i32, i32* %37
%510 = load double*, double** %40
%511 = load double*, double** %41
%512 = load i32*, i32** %42
%513 = load double*, double** %39
%514 = load double*, double** %43
%515 = load double*, double** %44
%516 = load double*, double** %57
%517 = load double*, double** %56
%518 = load double*, double** %58
%519 = load double*, double** %55
%520 = load i8*, i8** %67
%521 = load i8*, i8** %68
%522 = load i32*, i32** %70
%523 = getelementptr inbounds i32, i32* %522, i64 22
%524 = load double*, double** %71
%525 = getelementptr inbounds double, double* %524, i64 17
%526 = call i32 (i32, double*, double*, i32*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, i32*, i32*, i32*, i32*, i32*, i8*, i32*, i32*, i8*, i32*, double*, ...) bitcast (i32 (...)* @lnsrlb_ to i32 (i32, double*, double*, i32*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, i32*, i32*, i32*, i32*, i32*, i8*, i32*, i32*, i8*, i32*, double*, ...)*)(i32 %509, double* %510, double* %511, i32* %512, double* %513, double* %514, double* %83, double* %74, double* %95, double* %515, double* %516, double* %517, double* %518, double* %519, double* %79, double* %87, double* %77, double* %88, double* %89, i32* %97, i32* %99, i32* %101, i32* %96, i32* %100, i8* %520, i32* %104, i32* %109, i8* %521, i32* %523, double* %525)
%527 = load i32, i32* %100
%528 = icmp ne i32 %527, 0
br i1 %528, label %532, label %529
529: ; preds = %508
%530 = load i32, i32* %101
%531 = icmp sge i32 %530, 20
br i1 %531, label %532, label %575
532: ; preds = %529, %508
%533 = load i32, i32* %37
%534 = load double*, double** %58
%535 = load double*, double** %39
%536 = call i32 (i32, double*, double*, ...) bitcast (i32 (...)* @dcopy_ to i32 (i32, double*, double*, ...)*)(i32 %533, double* %534, double* %535)
%537 = load i32, i32* %37
%538 = load double*, double** %56
%539 = load double*, double** %44
%540 = call i32 (i32, double*, double*, ...) bitcast (i32 (...)* @dcopy_ to i32 (i32, double*, double*, ...)*)(i32 %537, double* %538, double* %539)
%541 = load double, double* %83
%542 = load double*, double** %43
store double %541, double* %542
%543 = load i32, i32* %111
%544 = icmp eq i32 %543, 0
br i1 %544, label %545, label %560
545: ; preds = %532
%546 = load i32, i32* %100
%547 = icmp eq i32 %546, 0
br i1 %547, label %548, label %555
548: ; preds = %545
store i32 -9, i32* %100
%549 = load i32, i32* %96
%550 = add nsw i32 %549, -1
store i32 %550, i32* %96
%551 = load i32, i32* %99
%552 = add nsw i32 %551, -1
store i32 %552, i32* %99
%553 = load i32, i32* %101
%554 = add nsw i32 %553, -1
store i32 %554, i32* %101
br label %555
555: ; preds = %548, %545
%556 = load i8*, i8** %67
%557 = call i8* @strcpy(i8* %556, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.8, i64 0, i64 0))
%558 = load i32, i32* %97
%559 = add nsw i32 %558, 1
store i32 %559, i32* %97
br label %731
560: ; preds = %532
%561 = load i32, i32* %100
%562 = icmp eq i32 %561, 0
br i1 %562, label %563, label %566
563: ; preds = %560
%564 = load i32, i32* %96
%565 = add nsw i32 %564, -1
store i32 %565, i32* %96
br label %566
566: ; preds = %563, %560
store i32 0, i32* %100
store i32 0, i32* %111
store i32 1, i32* %113
store double 1.000000e+00, double* %86
store i32 0, i32* %107
store i32 0, i32* %106
%567 = load i8*, i8** %67
%568 = call i8* @strcpy(i8* %567, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.9, i64 0, i64 0))
%569 = call i32 (double*, ...) bitcast (i32 (...)* @timer_ to i32 (double*, ...)*)(double* %81)
%570 = load double, double* %94
%571 = load double, double* %81
%572 = fadd double %570, %571
%573 = load double, double* %80
%574 = fsub double %572, %573
store double %574, double* %94
br label %309
575: ; preds = %529
%576 = load i8*, i8** %67
%577 = call i32 @strncmp(i8* %576, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.2, i64 0, i64 0), i64 5)
%578 = icmp eq i32 %577, 0
br i1 %578, label %579, label %580
579: ; preds = %575
br label %733
580: ; preds = %575
%581 = call i32 (double*, ...) bitcast (i32 (...)* @timer_ to i32 (double*, ...)*)(double* %81)
%582 = load double, double* %94
%583 = load double, double* %81
%584 = fadd double %582, %583
%585 = load double, double* %80
%586 = fsub double %584, %585
store double %586, double* %94
%587 = load i32, i32* %97
%588 = add nsw i32 %587, 1
store i32 %588, i32* %97
%589 = load i32, i32* %37
%590 = load double*, double** %40
%591 = load double*, double** %41
%592 = load i32*, i32** %42
%593 = load double*, double** %39
%594 = load double*, double** %44
%595 = call i32 (i32, double*, double*, i32*, double*, double*, double*, ...) bitcast (i32 (...)* @projgr_ to i32 (i32, double*, double*, i32*, double*, double*, double*, ...)*)(i32 %589, double* %590, double* %591, i32* %592, double* %593, double* %594, double* %93)
br label %733
596: ; preds = %278
%597 = load double, double* %93
%598 = load double*, double** %46
%599 = load double, double* %598
%600 = fcmp ole double %597, %599
br i1 %600, label %601, label %604
601: ; preds = %596
%602 = load i8*, i8** %67
%603 = call i8* @strcpy(i8* %602, i8* getelementptr inbounds ([49 x i8], [49 x i8]* @.str.7, i64 0, i64 0))
br label %731
604: ; preds = %596
%605 = load double, double* %83
%606 = call double @llvm.fabs.f64(double %605)
store double %606, double* %72
%607 = load double*, double** %43
%608 = load double, double* %607
%609 = call double @llvm.fabs.f64(double %608)
store double %609, double* %73
%610 = load double, double* %72
%611 = load double, double* %73
%612 = fcmp oge double %610, %611
br i1 %612, label %613, label %615
613: ; preds = %604
%614 = load double, double* %72
br label %617
615: ; preds = %604
%616 = load double, double* %73
br label %617
617: ; preds = %615, %613
%618 = phi double [ %614, %613 ], [ %616, %615 ]
store double %618, double* %72
%619 = load double, double* %72
%620 = fcmp oge double %619, 1.000000e+00
br i1 %620, label %621, label %623
621: ; preds = %617
%622 = load double, double* %72
br label %624
623: ; preds = %617
br label %624
624: ; preds = %623, %621
%625 = phi double [ %622, %621 ], [ 1.000000e+00, %623 ]
store double %625, double* %82
%626 = load double, double* %83
%627 = load double*, double** %43
%628 = load double, double* %627
%629 = fsub double %626, %628
%630 = load double, double* %78
%631 = load double, double* %82
%632 = fmul double %630, %631
%633 = fcmp ole double %629, %632
br i1 %633, label %634, label %641
634: ; preds = %624
%635 = load i8*, i8** %67
%636 = call i8* @strcpy(i8* %635, i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.10, i64 0, i64 0))
%637 = load i32, i32* %101
%638 = icmp sge i32 %637, 10
br i1 %638, label %639, label %640
639: ; preds = %634
store i32 -5, i32* %100
br label %640
640: ; preds = %639, %634
br label %731
641: ; preds = %624
store i32 0, i32* %115
br label %642
642: ; preds = %662, %641
%643 = load i32, i32* %115
%644 = load i32, i32* %37
%645 = icmp slt i32 %643, %644
br i1 %645, label %646, label %665
646: ; preds = %642
%647 = load double*, double** %44
%648 = load i32, i32* %115
%649 = sext i32 %648 to i64
%650 = getelementptr inbounds double, double* %647, i64 %649
%651 = load double, double* %650
%652 = load double*, double** %56
%653 = load i32, i32* %115
%654 = sext i32 %653 to i64
%655 = getelementptr inbounds double, double* %652, i64 %654
%656 = load double, double* %655
%657 = fsub double %651, %656
%658 = load double*, double** %56
%659 = load i32, i32* %115
%660 = sext i32 %659 to i64
%661 = getelementptr inbounds double, double* %658, i64 %660
store double %657, double* %661
br label %662
662: ; preds = %646
%663 = load i32, i32* %115
%664 = add nsw i32 %663, 1
store i32 %664, i32* %115
br label %642
665: ; preds = %642
%666 = load i32, i32* %37
%667 = load double*, double** %56
%668 = load double*, double** %56
%669 = call i32 (i32, double*, double*, ...) bitcast (i32 (...)* @ddot_ to i32 (i32, double*, double*, ...)*)(i32 %666, double* %667, double* %668)
%670 = sitofp i32 %669 to double
store double %670, double* %76
%671 = load double, double* %79
%672 = fcmp oeq double %671, 1.000000e+00
br i1 %672, label %673, label %679
673: ; preds = %665
%674 = load double, double* %74
%675 = load double, double* %95
%676 = fsub double %674, %675
store double %676, double* %75
%677 = load double, double* %95
%678 = fneg double %677
store double %678, double* %82
br label %693
679: ; preds = %665
%680 = load double, double* %74
%681 = load double, double* %95
%682 = fsub double %680, %681
%683 = load double, double* %79
%684 = fmul double %682, %683
store double %684, double* %75
%685 = load i32, i32* %37
%686 = load double, double* %79
%687 = load double*, double** %57
%688 = call i32 (i32, double, double*, ...) bitcast (i32 (...)* @dscal_ to i32 (i32, double, double*, ...)*)(i32 %685, double %686, double* %687)
%689 = load double, double* %95
%690 = fneg double %689
%691 = load double, double* %79
%692 = fmul double %690, %691
store double %692, double* %82
br label %693
693: ; preds = %679, %673
%694 = load double, double* %75
%695 = load double, double* %91
%696 = load double, double* %82
%697 = fmul double %695, %696
%698 = fcmp ole double %694, %697
br i1 %698, label %699, label %702
699: ; preds = %693
%700 = load i32, i32* %102
%701 = add nsw i32 %700, 1
store i32 %701, i32* %102
store i32 0, i32* %106
br label %730
702: ; preds = %693
store i32 1, i32* %106
%703 = load i32, i32* %107
%704 = add nsw i32 %703, 1
store i32 %704, i32* %107
%705 = load i32, i32* %37
%706 = load i32, i32* %38
%707 = load double*, double** %47
%708 = load double*, double** %48
%709 = load double*, double** %49
%710 = load double*, double** %50
%711 = load double*, double** %57
%712 = load double*, double** %56
%713 = load i32, i32* %107
%714 = load double, double* %76
%715 = load double, double* %75
%716 = load double, double* %79
%717 = load double, double* %77
%718 = call i32 (i32, i32, double*, double*, double*, double*, double*, double*, i32*, i32, i32*, i32*, double*, double, double, double, double, ...) bitcast (i32 (...)* @matupd_ to i32 (i32, i32, double*, double*, double*, double*, double*, double*, i32*, i32, i32*, i32*, double*, double, double, double, double, ...)*)(i32 %705, i32 %706, double* %707, double* %708, double* %709, double* %710, double* %711, double* %712, i32* @mainlb_.itail, i32 %713, i32* %111, i32* %113, double* %86, double %714, double %715, double %716, double %717)
%719 = load i32, i32* %38
%720 = load double*, double** %52
%721 = load double*, double** %49
%722 = load double*, double** %50
%723 = load i32, i32* %111
%724 = load double, double* %86
%725 = call i32 (i32, double*, double*, double*, i32, double, i32*, ...) bitcast (i32 (...)* @formt_ to i32 (i32, double*, double*, double*, i32, double, i32*, ...)*)(i32 %719, double* %720, double* %721, double* %722, i32 %723, double %724, i32* %100)
%726 = load i32, i32* %100
%727 = icmp ne i32 %726, 0
br i1 %727, label %728, label %729
728: ; preds = %702
store i32 0, i32* %100
store i32 0, i32* %111
store i32 1, i32* %113
store double 1.000000e+00, double* %86
store i32 0, i32* %107
store i32 0, i32* %106
br label %309
729: ; preds = %702
br label %730
730: ; preds = %729, %699
br label %309
731: ; preds = %640, %601, %555, %305, %288
%732 = call i32 (double*, ...) bitcast (i32 (...)* @timer_ to i32 (double*, ...)*)(double* %85)
br label %733
733: ; preds = %731, %580, %579, %290
%734 = load i32, i32* %108
%735 = load i32*, i32** %69
%736 = getelementptr inbounds i32, i32* %735, i64 1
store i32 %734, i32* %736
%737 = load i32, i32* %109
%738 = load i32*, i32** %69
%739 = getelementptr inbounds i32, i32* %738, i64 2
store i32 %737, i32* %739
%740 = load i32, i32* %104
%741 = load i32*, i32** %69
%742 = getelementptr inbounds i32, i32* %741, i64 3
store i32 %740, i32* %742
%743 = load i32, i32* %106
%744 = load i32*, i32** %69
%745 = getelementptr inbounds i32, i32* %744, i64 4
store i32 %743, i32* %745
%746 = load i32, i32* %114
%747 = load i32*, i32** %70
%748 = getelementptr inbounds i32, i32* %747, i64 1
store i32 %746, i32* %748
%749 = load i32, i32* @mainlb_.itfile
%750 = load i32*, i32** %70
%751 = getelementptr inbounds i32, i32* %750, i64 3
store i32 %749, i32* %751
%752 = load i32, i32* %101
%753 = load i32*, i32** %70
%754 = getelementptr inbounds i32, i32* %753, i64 4
store i32 %752, i32* %754
%755 = load i32, i32* %102
%756 = load i32*, i32** %70
%757 = getelementptr inbounds i32, i32* %756, i64 5
store i32 %755, i32* %757
%758 = load i32, i32* %113
%759 = load i32*, i32** %70
%760 = getelementptr inbounds i32, i32* %759, i64 6
store i32 %758, i32* %760
%761 = load i32, i32* %111
%762 = load i32*, i32** %70
%763 = getelementptr inbounds i32, i32* %762, i64 7
store i32 %761, i32* %763
%764 = load i32, i32* @mainlb_.itail
%765 = load i32*, i32** %70
%766 = getelementptr inbounds i32, i32* %765, i64 8
store i32 %764, i32* %766
%767 = load i32, i32* %97
%768 = load i32*, i32** %70
%769 = getelementptr inbounds i32, i32* %768, i64 9
store i32 %767, i32* %769
%770 = load i32, i32* %107
%771 = load i32*, i32** %70
%772 = getelementptr inbounds i32, i32* %771, i64 10
store i32 %770, i32* %772
%773 = load i32, i32* %98
%774 = load i32*, i32** %70
%775 = getelementptr inbounds i32, i32* %774, i64 12
store i32 %773, i32* %775
%776 = load i32, i32* %96
%777 = load i32*, i32** %70
%778 = getelementptr inbounds i32, i32* %777, i64 13
store i32 %776, i32* %778
%779 = load i32, i32* %100
%780 = load i32*, i32** %70
%781 = getelementptr inbounds i32, i32* %780, i64 14
store i32 %779, i32* %781
%782 = load i32, i32* %99
%783 = load i32*, i32** %70
%784 = getelementptr inbounds i32, i32* %783, i64 15
store i32 %782, i32* %784
%785 = load i32, i32* @mainlb_.iword
%786 = load i32*, i32** %70
%787 = getelementptr inbounds i32, i32* %786, i64 16
store i32 %785, i32* %787
%788 = load i32, i32* %103
%789 = load i32*, i32** %70
%790 = getelementptr inbounds i32, i32* %789, i64 17
store i32 %788, i32* %790
%791 = load i32, i32* @mainlb_.nact
%792 = load i32*, i32** %70
%793 = getelementptr inbounds i32, i32* %792, i64 18
store i32 %791, i32* %793
%794 = load i32, i32* %105
%795 = load i32*, i32** %70
%796 = getelementptr inbounds i32, i32* %795, i64 19
store i32 %794, i32* %796
%797 = load i32, i32* %110
%798 = load i32*, i32** %70
%799 = getelementptr inbounds i32, i32* %798, i64 20
store i32 %797, i32* %799
%800 = load double, double* %86
%801 = load double*, double** %71
%802 = getelementptr inbounds double, double* %801, i64 1
store double %800, double* %802
%803 = load double, double* %83
%804 = load double*, double** %71
%805 = getelementptr inbounds double, double* %804, i64 2
store double %803, double* %805
%806 = load double, double* %78
%807 = load double*, double** %71
%808 = getelementptr inbounds double, double* %807, i64 3
store double %806, double* %808
%809 = load double, double* %87
%810 = load double*, double** %71
%811 = getelementptr inbounds double, double* %810, i64 4
store double %809, double* %811
%812 = load double, double* %91
%813 = load double*, double** %71
%814 = getelementptr inbounds double, double* %813, i64 5
store double %812, double* %814
%815 = load double, double* %80
%816 = load double*, double** %71
%817 = getelementptr inbounds double, double* %816, i64 6
store double %815, double* %817
%818 = load double, double* %90
%819 = load double*, double** %71
%820 = getelementptr inbounds double, double* %819, i64 7
store double %818, double* %820
%821 = load double, double* %92
%822 = load double*, double** %71
%823 = getelementptr inbounds double, double* %822, i64 8
store double %821, double* %823
%824 = load double, double* %94
%825 = load double*, double** %71
%826 = getelementptr inbounds double, double* %825, i64 9
store double %824, double* %826
%827 = load double, double* %84
%828 = load double*, double** %71
%829 = getelementptr inbounds double, double* %828, i64 10
store double %827, double* %829
%830 = load double, double* %74
%831 = load double*, double** %71
%832 = getelementptr inbounds double, double* %831, i64 11
store double %830, double* %832
%833 = load double, double* %89
%834 = load double*, double** %71
%835 = getelementptr inbounds double, double* %834, i64 12
store double %833, double* %835
%836 = load double, double* %93
%837 = load double*, double** %71
%838 = getelementptr inbounds double, double* %837, i64 13
store double %836, double* %838
%839 = load double, double* %79
%840 = load double*, double** %71
%841 = getelementptr inbounds double, double* %840, i64 14
store double %839, double* %841
%842 = load double, double* %95
%843 = load double*, double** %71
%844 = getelementptr inbounds double, double* %843, i64 15
store double %842, double* %844
%845 = load double, double* %77
%846 = load double*, double** %71
%847 = getelementptr inbounds double, double* %846, i64 16
store double %845, double* %847
store i32 0, i32* %36
br label %848
848: ; preds = %733, %146
%849 = load i32, i32* %36
ret i32 %849
}

LLVM IR (-O2):
@mainlb_.iword = internal global i32 0
@mainlb_.itail = internal global i32 0
@mainlb_.nact = internal unnamed_addr global i32 0
@mainlb_.itfile = internal unnamed_addr global i32 0
@.str = [6 x i8] c"START\00"
@.str.1 = [6 x i8] c"ERROR\00"
@.str.2 = [6 x i8] c"FG_LN\00"
@.str.3 = [6 x i8] c"NEW_X\00"
@.str.4 = [6 x i8] c"FG_ST\00"
@.str.5 = [5 x i8] c"STOP\00"
@.str.6 = [9 x i8] c"FG_START\00"
@.str.7 = [49 x i8] c"CONVERGENCE: NORM OF PROJECTED GRADIENT <= PGTOL\00"
@.str.8 = [31 x i8] c"ABNORMAL_TERMINATION_IN_LNSRCH\00"
@.str.9 = [20 x i8] c"RESTART_FROM_LNSRCH\00"
@.str.10 = [48 x i8] c"CONVERGENCE: REL_REDUCTION_OF_F <= FACTR*EPSMCH\00"
define i32 @mainlb_(i32 %0, i32 %1, double* %2, double* %3, double* %4, i32* %5, double* %6, double* %7, double* nocapture %8, double* nocapture %9, double* %10, double* %11, double* %12, double* %13, double* nocapture readnone %14, double* %15, double* %16, double* %17, double* %18, double* %19, double* %20, double* %21, double* %22, double* %23, double* nocapture readnone %24, double* %25, double* nocapture readnone %26, i32* %27, i32* %28, i32* %29, i8* %30, i8* %31, i32* nocapture %32, i32* %33, double* %34) {
%36 = alloca double
%37 = alloca double
%38 = alloca double
%39 = alloca double
%40 = alloca double
%41 = alloca double
%42 = alloca double
%43 = alloca double
%44 = alloca double
%45 = alloca double
%46 = alloca double
%47 = alloca double
%48 = alloca double
%49 = alloca double
%50 = alloca i32
%51 = alloca i32
%52 = alloca i32
%53 = alloca i32
%54 = alloca i32
%55 = alloca i32
%56 = alloca i32
%57 = alloca i32
%58 = alloca i32
%59 = alloca i32
%60 = alloca i32
%61 = alloca i32
%62 = alloca i32
%63 = alloca i32
%64 = alloca i32
%65 = alloca i32
%66 = alloca i32
%67 = alloca i32
%68 = bitcast double* %36 to i8*
%69 = bitcast double* %37 to i8*
store double 0.000000e+00, double* %37
%70 = bitcast double* %38 to i8*
%71 = bitcast double* %39 to i8*
store double 0.000000e+00, double* %39
%72 = bitcast double* %40 to i8*
store double 0.000000e+00, double* %40
%73 = bitcast double* %41 to i8*
store double 0.000000e+00, double* %41
%74 = bitcast double* %42 to i8*
%75 = bitcast double* %43 to i8*
%76 = bitcast double* %44 to i8*
%77 = bitcast double* %45 to i8*
store double 0.000000e+00, double* %45
%78 = bitcast double* %46 to i8*
%79 = bitcast double* %47 to i8*
store double 0.000000e+00, double* %47
%80 = bitcast double* %48 to i8*
%81 = bitcast double* %49 to i8*
store double 0.000000e+00, double* %49
%82 = bitcast i32* %50 to i8*
%83 = bitcast i32* %51 to i8*
%84 = bitcast i32* %52 to i8*
%85 = bitcast i32* %53 to i8*
store i32 0, i32* %53
%86 = bitcast i32* %54 to i8*
%87 = bitcast i32* %55 to i8*
store i32 0, i32* %55
%88 = bitcast i32* %56 to i8*
%89 = bitcast i32* %57 to i8*
%90 = bitcast i32* %58 to i8*
%91 = bitcast i32* %59 to i8*
%92 = bitcast i32* %60 to i8*
%93 = bitcast i32* %61 to i8*
%94 = bitcast i32* %62 to i8*
%95 = bitcast i32* %63 to i8*
%96 = bitcast i32* %64 to i8*
%97 = bitcast i32* %65 to i8*
%98 = bitcast i32* %66 to i8*
%99 = bitcast i32* %67 to i8*
%100 = tail call i32 @strncmp(i8* dereferenceable(1) %30, i8* dereferenceable(6) getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i64 5)
%101 = icmp eq i32 %100, 0
br i1 %101, label %102, label %114
102: ; preds = %35
%103 = call i32 (double*, ...) bitcast (i32 (...)* @timer_ to i32 (double*, ...)*)(double* %42)
%104 = call i32 (...) @dpmeps_()
store i32 0, i32* %64
store i32 1, i32* %66
store double 1.000000e+00, double* %44
store i32 0, i32* %60
store i32 0, i32* %59
store i32 0, i32* %51
store i32 0, i32* %50
store i32 0, i32* %52
store i32 0, i32* %63
store i32 0, i32* %58
store i32 %0, i32* %56
%105 = load double, double* %8
store i32 0, i32* %54
%106 = call i32 (i32, i32, double, double*, double*, i32*, i8*, i32*, i32*, ...) bitcast (i32 (...)* @errclb_ to i32 (i32, i32, double, double*, double*, i32*, i8*, i32*, i32*, ...)*)(i32 %0, i32 %1, double %105, double* %3, double* %4, i32* %5, i8* %30, i32* %54, i32* %67)
%107 = call i32 @strncmp(i8* dereferenceable(1) %30, i8* dereferenceable(6) getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1, i64 0, i64 0), i64 5)
%108 = icmp eq i32 %107, 0
br i1 %108, label %789, label %109
109: ; preds = %102
%110 = fdiv double %105, 1.000000e+02
%111 = sitofp i32 %104 to double
%112 = call i32 (i32, double*, double*, i32*, double*, i32*, i32*, i32*, i32*, ...) bitcast (i32 (...)* @active_ to i32 (i32, double*, double*, i32*, double*, i32*, i32*, i32*, i32*, ...)*)(i32 %0, double* %3, double* %4, i32* %5, double* %2, i32* %28, i32* %61, i32* %62, i32* %57)
%113 = load double, double* %42
br label %199
114: ; preds = %35
%115 = load i32, i32* %32
store i32 %115, i32* %61
%116 = getelementptr inbounds i32, i32* %32, i64 1
%117 = load i32, i32* %116
store i32 %117, i32* %62
%118 = getelementptr inbounds i32, i32* %32, i64 2
%119 = load i32, i32* %118
store i32 %119, i32* %57
%120 = getelementptr inbounds i32, i32* %32, i64 3
%121 = load i32, i32* %120
store i32 %121, i32* %59
%122 = load i32, i32* %33
%123 = getelementptr inbounds i32, i32* %33, i64 2
%124 = load i32, i32* %123
store i32 %124, i32* @mainlb_.itfile
%125 = getelementptr inbounds i32, i32* %33, i64 3
%126 = load i32, i32* %125
store i32 %126, i32* %55
%127 = getelementptr inbounds i32, i32* %33, i64 4
%128 = load i32, i32* %127
%129 = getelementptr inbounds i32, i32* %33, i64 5
%130 = load i32, i32* %129
store i32 %130, i32* %66
%131 = getelementptr inbounds i32, i32* %33, i64 6
%132 = load i32, i32* %131
store i32 %132, i32* %64
%133 = getelementptr inbounds i32, i32* %33, i64 7
%134 = load i32, i32* %133
store i32 %134, i32* @mainlb_.itail
%135 = getelementptr inbounds i32, i32* %33, i64 8
%136 = load i32, i32* %135
store i32 %136, i32* %51
%137 = getelementptr inbounds i32, i32* %33, i64 9
%138 = load i32, i32* %137
store i32 %138, i32* %60
%139 = getelementptr inbounds i32, i32* %33, i64 11
%140 = load i32, i32* %139
store i32 %140, i32* %52
%141 = getelementptr inbounds i32, i32* %33, i64 12
%142 = load i32, i32* %141
store i32 %142, i32* %50
%143 = getelementptr inbounds i32, i32* %33, i64 13
%144 = load i32, i32* %143
store i32 %144, i32* %54
%145 = getelementptr inbounds i32, i32* %33, i64 14
%146 = load i32, i32* %145
store i32 %146, i32* %53
%147 = getelementptr inbounds i32, i32* %33, i64 15
%148 = load i32, i32* %147
store i32 %148, i32* @mainlb_.iword
%149 = getelementptr inbounds i32, i32* %33, i64 16
%150 = load i32, i32* %149
store i32 %150, i32* %56
%151 = getelementptr inbounds i32, i32* %33, i64 17
%152 = load i32, i32* %151
store i32 %152, i32* @mainlb_.nact
%153 = getelementptr inbounds i32, i32* %33, i64 18
%154 = load i32, i32* %153
store i32 %154, i32* %58
%155 = getelementptr inbounds i32, i32* %33, i64 19
%156 = load i32, i32* %155
store i32 %156, i32* %63
%157 = load double, double* %34
store double %157, double* %44
%158 = getelementptr inbounds double, double* %34, i64 1
%159 = load double, double* %158
store double %159, double* %41
%160 = getelementptr inbounds double, double* %34, i64 2
%161 = load double, double* %160
%162 = getelementptr inbounds double, double* %34, i64 3
%163 = load double, double* %162
store double %163, double* %45
%164 = getelementptr inbounds double, double* %34, i64 4
%165 = load double, double* %164
%166 = getelementptr inbounds double, double* %34, i64 5
%167 = load double, double* %166
store double %167, double* %39
%168 = getelementptr inbounds double, double* %34, i64 6
%169 = load double, double* %168
%170 = getelementptr inbounds double, double* %34, i64 7
%171 = load double, double* %170
%172 = getelementptr inbounds double, double* %34, i64 8
%173 = load double, double* %172
%174 = getelementptr inbounds double, double* %34, i64 9
%175 = load double, double* %174
store double %175, double* %42
%176 = getelementptr inbounds double, double* %34, i64 10
%177 = load double, double* %176
store double %177, double* %36
%178 = getelementptr inbounds double, double* %34, i64 11
%179 = load double, double* %178
store double %179, double* %47
%180 = getelementptr inbounds double, double* %34, i64 12
%181 = load double, double* %180
store double %181, double* %48
%182 = getelementptr inbounds double, double* %34, i64 13
%183 = load double, double* %182
store double %183, double* %38
%184 = getelementptr inbounds double, double* %34, i64 14
%185 = load double, double* %184
store double %185, double* %49
%186 = getelementptr inbounds double, double* %34, i64 15
%187 = load double, double* %186
store double %187, double* %37
%188 = tail call i32 @strncmp(i8* dereferenceable(1) %30, i8* dereferenceable(6) getelementptr inbounds ([6 x i8], [6 x i8]* @.str.2, i64 0, i64 0), i64 5)
%189 = icmp eq i32 %188, 0
br i1 %189, label %479, label %190
190: ; preds = %114
%191 = tail call i32 @strncmp(i8* dereferenceable(1) %30, i8* dereferenceable(6) getelementptr inbounds ([6 x i8], [6 x i8]* @.str.3, i64 0, i64 0), i64 5)
%192 = icmp eq i32 %191, 0
br i1 %192, label %534, label %193
193: ; preds = %190
%194 = tail call i32 @strncmp(i8* dereferenceable(1) %30, i8* dereferenceable(6) getelementptr inbounds ([6 x i8], [6 x i8]* @.str.4, i64 0, i64 0), i64 5)
%195 = icmp eq i32 %194, 0
br i1 %195, label %208, label %196
196: ; preds = %193
%197 = tail call i32 @strncmp(i8* dereferenceable(1) %30, i8* dereferenceable(5) getelementptr inbounds ([5 x i8], [5 x i8]* @.str.5, i64 0, i64 0), i64 4)
%198 = icmp eq i32 %197, 0
br i1 %198, label %708, label %199
199: ; preds = %196, %109
%200 = phi double [ %113, %109 ], [ %175, %196 ]
%201 = phi double [ %110, %109 ], [ %161, %196 ]
%202 = phi double [ 0.000000e+00, %109 ], [ %169, %196 ]
%203 = phi double [ %111, %109 ], [ %165, %196 ]
%204 = phi double [ 0.000000e+00, %109 ], [ %171, %196 ]
%205 = phi double [ 0.000000e+00, %109 ], [ %173, %196 ]
%206 = phi i32 [ 0, %109 ], [ %128, %196 ]
%207 = phi i32 [ 0, %109 ], [ %122, %196 ]
br label %715
208: ; preds = %193
store i32 1, i32* %50
%209 = call i32 (i32, double*, double*, i32*, double*, double*, double*, ...) bitcast (i32 (...)* @projgr_ to i32 (i32, double*, double*, i32*, double*, double*, double*, ...)*)(i32 %0, double* %3, double* %4, i32* %5, double* %2, double* %7, double* %48)
%210 = load double, double* %48
%211 = load double, double* %9
%212 = fcmp ugt double %210, %211
br i1 %212, label %213, label %228
213: ; preds = %697, %699, %516, %707, %208
%214 = phi double [ %169, %208 ], [ %169, %707 ], [ %480, %516 ], [ %169, %699 ], [ %169, %697 ]
%215 = phi double [ %171, %208 ], [ %171, %707 ], [ %481, %516 ], [ %171, %699 ], [ %171, %697 ]
%216 = phi double [ %173, %208 ], [ %173, %707 ], [ %521, %516 ], [ %173, %699 ], [ %173, %697 ]
%217 = phi i32 [ %128, %208 ], [ %128, %707 ], [ %483, %516 ], [ %128, %699 ], [ %698, %697 ]
%218 = phi i32 [ %122, %208 ], [ %122, %707 ], [ %484, %516 ], [ %122, %699 ], [ %122, %697 ]
%219 = shl nsw i32 %1, 1
%220 = sext i32 %219 to i64
%221 = getelementptr inbounds double, double* %22, i64 %220
%222 = shl nsw i32 %1, 2
%223 = sext i32 %222 to i64
%224 = getelementptr inbounds double, double* %22, i64 %223
%225 = mul nsw i32 %1, 6
%226 = sext i32 %225 to i64
%227 = getelementptr inbounds double, double* %22, i64 %226
br label %294
228: ; preds = %208
br label %708
229: ; preds = %243, %294
%230 = phi double [ %295, %294 ], [ %248, %243 ]
%231 = call i32 (i32, double*, double*, ...) bitcast (i32 (...)* @dcopy_ to i32 (i32, double*, double*, ...)*)(i32 %0, double* %2, double* %18)
%232 = load i32, i32* %59
store i32 %232, i32* %65
store i32 0, i32* %52
%233 = load i32, i32* %56
br label %267
234: ; preds = %294, %243
%235 = phi double [ %248, %243 ], [ %295, %294 ]
%236 = call i32 (double*, ...) bitcast (i32 (...)* @timer_ to i32 (double*, ...)*)(double* %39)
%237 = load double, double* %44
%238 = load i32, i32* %64
%239 = load i32, i32* %66
%240 = call i32 (i32, double*, double*, double*, i32*, double*, i32*, i32*, double*, double*, double*, i32, double*, double*, double*, double*, double, i32, i32, double*, double*, double*, double*, i32*, double*, double*, double*, i32*, double, ...) bitcast (i32 (...)* @cauchy_ to i32 (i32, double*, double*, double*, i32*, double*, i32*, i32*, double*, double*, double*, i32, double*, double*, double*, double*, double, i32, i32, double*, double*, double*, double*, i32*, double*, double*, double*, i32*, double, ...)*)(i32 %0, double* %2, double* %3, double* %4, i32* %5, double* %7, i32* %29, i32* %28, double* %21, double* %20, double* %18, i32 %1, double* %11, double* %10, double* %12, double* %15, double %237, i32 %238, i32 %239, double* %22, double* %221, double* %224, double* %227, i32* %52, double* %23, double* %25, double* %48, i32* %54, double %165)
%241 = load i32, i32* %54
%242 = icmp eq i32 %241, 0
br i1 %242, label %254, label %243
243: ; preds = %234
store i32 0, i32* %54
store i32 0, i32* %64
store i32 1, i32* %66
store double 1.000000e+00, double* %44
store i32 0, i32* %60
store i32 0, i32* %59
%244 = call i32 (double*, ...) bitcast (i32 (...)* @timer_ to i32 (double*, ...)*)(double* %40)
%245 = load double, double* %40
%246 = fadd double %235, %245
%247 = load double, double* %39
%248 = fsub double %246, %247
store i32 -1, i32* @mainlb_.iword
%249 = load i32, i32* %62
%250 = icmp eq i32 %249, 0
%251 = load i32, i32* %64
%252 = icmp sgt i32 %251, 0
%253 = select i1 %250, i1 %252, i1 false
br i1 %253, label %229, label %234
254: ; preds = %234
%255 = call i32 (double*, ...) bitcast (i32 (...)* @timer_ to i32 (double*, ...)*)(double* %40)
%256 = load double, double* %40
%257 = fadd double %235, %256
%258 = load double, double* %39
%259 = fsub double %257, %258
%260 = load i32, i32* %52
%261 = add nsw i32 %260, %297
%262 = load i32, i32* %62
%263 = load i32, i32* %51
%264 = call i32 (i32, i32*, i32*, i32*, i32*, i32*, i32*, i32*, i32*, i32, i32, ...) bitcast (i32 (...)* @freev_ to i32 (i32, i32*, i32*, i32*, i32*, i32*, i32*, i32*, i32*, i32, i32, ...)*)(i32 %0, i32* %56, i32* %27, i32* %63, i32* %58, i32* %29, i32* %28, i32* %65, i32* %59, i32 %262, i32 %263)
%265 = load i32, i32* %56
%266 = sub nsw i32 %0, %265
store i32 %266, i32* @mainlb_.nact
br label %267
267: ; preds = %254, %229
%268 = phi i32 [ %233, %229 ], [ %265, %254 ]
%269 = phi double [ %230, %229 ], [ %259, %254 ]
%270 = phi i32 [ %297, %229 ], [ %261, %254 ]
%271 = icmp eq i32 %268, 0
%272 = load i32, i32* %64
%273 = icmp eq i32 %272, 0
%274 = select i1 %271, i1 true, i1 %273
br i1 %274, label %332, label %275
275: ; preds = %267
%276 = call i32 (double*, ...) bitcast (i32 (...)* @timer_ to i32 (double*, ...)*)(double* %39)
%277 = load i32, i32* %65
%278 = icmp eq i32 %277, 0
br i1 %278, label %283, label %279
279: ; preds = %275
%280 = load double, double* %44
%281 = load i32, i32* %64
%282 = call i32 (i32, i32*, i32*, i32*, i32*, i32*, i32*, i32*, double*, double*, i32, double*, double*, double*, double, i32, i32*, i32*, ...) bitcast (i32 (...)* @formk_ to i32 (i32, i32*, i32*, i32*, i32*, i32*, i32*, i32*, double*, double*, i32, double*, double*, double*, double, i32, i32*, i32*, ...)*)(i32 %0, i32* %56, i32* %27, i32* %63, i32* %58, i32* %29, i32* %60, i32* %59, double* %16, double* %17, i32 %1, double* %10, double* %11, double* %12, double %280, i32 %281, i32* %66, i32* %54)
br label %283
283: ; preds = %279, %275
%284 = load i32, i32* %54
%285 = icmp eq i32 %284, 0
br i1 %285, label %303, label %286
286: ; preds = %283
store i32 0, i32* %54
store i32 0, i32* %64
store i32 1, i32* %66
store double 1.000000e+00, double* %44
store i32 0, i32* %60
store i32 0, i32* %59
%287 = call i32 (double*, ...) bitcast (i32 (...)* @timer_ to i32 (double*, ...)*)(double* %40)
%288 = load double, double* %40
%289 = fadd double %296, %288
%290 = load double, double* %39
%291 = fsub double %289, %290
br label %292
292: ; preds = %286, %320
%293 = phi double [ %291, %286 ], [ %325, %320 ]
br label %294
294: ; preds = %292, %213
%295 = phi double [ %214, %213 ], [ %269, %292 ]
%296 = phi double [ %215, %213 ], [ %293, %292 ]
%297 = phi i32 [ %218, %213 ], [ %270, %292 ]
store i32 -1, i32* @mainlb_.iword
%298 = load i32, i32* %62
%299 = icmp eq i32 %298, 0
%300 = load i32, i32* %64
%301 = icmp sgt i32 %300, 0
%302 = select i1 %299, i1 %301, i1 false
br i1 %302, label %229, label %234
303: ; preds = %283
%304 = load double, double* %44
%305 = load i32, i32* %64
%306 = load i32, i32* %66
%307 = load i32, i32* %56
%308 = load i32, i32* %62
%309 = call i32 (i32, i32, double*, double*, double*, double*, double*, double*, double*, double*, double*, i32*, double, i32, i32, i32, i32, i32*, ...) bitcast (i32 (...)* @cmprlb_ to i32 (i32, i32, double*, double*, double*, double*, double*, double*, double*, double*, double*, i32*, double, i32, i32, i32, i32, i32*, ...)*)(i32 %0, i32 %1, double* %2, double* %7, double* %10, double* %11, double* %12, double* %15, double* %18, double* %19, double* %22, i32* %27, double %304, i32 %305, i32 %306, i32 %307, i32 %308, i32* %54)
%310 = load i32, i32* %54
%311 = icmp eq i32 %310, 0
br i1 %311, label %312, label %320
312: ; preds = %303
%313 = load i32, i32* %56
%314 = load double, double* %44
%315 = load i32, i32* %64
%316 = load i32, i32* %66
%317 = call i32 (i32, i32, i32, i32*, double*, double*, i32*, double*, double*, double*, double*, double, i32, i32, i32*, double*, double*, i32*, ...) bitcast (i32 (...)* @subsm_ to i32 (i32, i32, i32, i32*, double*, double*, i32*, double*, double*, double*, double*, double, i32, i32, i32*, double*, double*, i32*, ...)*)(i32 %0, i32 %1, i32 %313, i32* %27, double* %3, double* %4, i32* %5, double* %18, double* %19, double* %10, double* %11, double %314, i32 %315, i32 %316, i32* @mainlb_.iword, double* %22, double* %16, i32* %54)
%318 = load i32, i32* %54
%319 = icmp eq i32 %318, 0
br i1 %319, label %326, label %320
320: ; preds = %303, %312
store i32 0, i32* %54
store i32 0, i32* %64
store i32 1, i32* %66
store double 1.000000e+00, double* %44
store i32 0, i32* %60
store i32 0, i32* %59
%321 = call i32 (double*, ...) bitcast (i32 (...)* @timer_ to i32 (double*, ...)*)(double* %40)
%322 = load double, double* %40
%323 = fadd double %296, %322
%324 = load double, double* %39
%325 = fsub double %323, %324
br label %292
326: ; preds = %312
%327 = call i32 (double*, ...) bitcast (i32 (...)* @timer_ to i32 (double*, ...)*)(double* %40)
%328 = load double, double* %40
%329 = fadd double %296, %328
%330 = load double, double* %39
%331 = fsub double %329, %330
br label %332
332: ; preds = %267, %326
%333 = phi double [ %331, %326 ], [ %296, %267 ]
%334 = icmp sgt i32 %0, 0
br i1 %334, label %335, label %477
335: ; preds = %332
%336 = zext i32 %0 to i64
%337 = icmp ult i32 %0, 4
br i1 %337, label %425, label %338
338: ; preds = %335
%339 = getelementptr double, double* %20, i64 %336
%340 = getelementptr double, double* %18, i64 %336
%341 = getelementptr double, double* %2, i64 %336
%342 = icmp ugt double* %340, %20
%343 = icmp ugt double* %339, %18
%344 = and i1 %342, %343
%345 = icmp ugt double* %341, %20
%346 = icmp ugt double* %339, %2
%347 = and i1 %345, %346
%348 = or i1 %344, %347
br i1 %348, label %425, label %349
349: ; preds = %338
%350 = and i64 %336, 4294967292
%351 = add nsw i64 %350, -4
%352 = lshr exact i64 %351, 2
%353 = add nuw nsw i64 %352, 1
%354 = and i64 %353, 1
%355 = icmp eq i64 %351, 0
br i1 %355, label %401, label %356
356: ; preds = %349
%357 = and i64 %353, 9223372036854775806
br label %358
358: ; preds = %358, %356
%359 = phi i64 [ 0, %356 ], [ %398, %358 ]
%360 = phi i64 [ 0, %356 ], [ %399, %358 ]
%361 = getelementptr inbounds double, double* %18, i64 %359
%362 = bitcast double* %361 to <2 x double>*
%363 = load <2 x double>, <2 x double>* %362
%364 = getelementptr inbounds double, double* %361, i64 2
%365 = bitcast double* %364 to <2 x double>*
%366 = load <2 x double>, <2 x double>* %365
%367 = getelementptr inbounds double, double* %2, i64 %359
%368 = bitcast double* %367 to <2 x double>*
%369 = load <2 x double>, <2 x double>* %368
%370 = getelementptr inbounds double, double* %367, i64 2
%371 = bitcast double* %370 to <2 x double>*
%372 = load <2 x double>, <2 x double>* %371
%373 = fsub <2 x double> %363, %369
%374 = fsub <2 x double> %366, %372
%375 = getelementptr inbounds double, double* %20, i64 %359
%376 = bitcast double* %375 to <2 x double>*
store <2 x double> %373, <2 x double>* %376
%377 = getelementptr inbounds double, double* %375, i64 2
%378 = bitcast double* %377 to <2 x double>*
store <2 x double> %374, <2 x double>* %378
%379 = or i64 %359, 4
%380 = getelementptr inbounds double, double* %18, i64 %379
%381 = bitcast double* %380 to <2 x double>*
%382 = load <2 x double>, <2 x double>* %381
%383 = getelementptr inbounds double, double* %380, i64 2
%384 = bitcast double* %383 to <2 x double>*
%385 = load <2 x double>, <2 x double>* %384
%386 = getelementptr inbounds double, double* %2, i64 %379
%387 = bitcast double* %386 to <2 x double>*
%388 = load <2 x double>, <2 x double>* %387
%389 = getelementptr inbounds double, double* %386, i64 2
%390 = bitcast double* %389 to <2 x double>*
%391 = load <2 x double>, <2 x double>* %390
%392 = fsub <2 x double> %382, %388
%393 = fsub <2 x double> %385, %391
%394 = getelementptr inbounds double, double* %20, i64 %379
%395 = bitcast double* %394 to <2 x double>*
store <2 x double> %392, <2 x double>* %395
%396 = getelementptr inbounds double, double* %394, i64 2
%397 = bitcast double* %396 to <2 x double>*
store <2 x double> %393, <2 x double>* %397
%398 = add nuw i64 %359, 8
%399 = add i64 %360, 2
%400 = icmp eq i64 %399, %357
br i1 %400, label %401, label %358
401: ; preds = %358, %349
%402 = phi i64 [ 0, %349 ], [ %398, %358 ]
%403 = icmp eq i64 %354, 0
br i1 %403, label %423, label %404
404: ; preds = %401
%405 = getelementptr inbounds double, double* %18, i64 %402
%406 = bitcast double* %405 to <2 x double>*
%407 = load <2 x double>, <2 x double>* %406
%408 = getelementptr inbounds double, double* %405, i64 2
%409 = bitcast double* %408 to <2 x double>*
%410 = load <2 x double>, <2 x double>* %409
%411 = getelementptr inbounds double, double* %2, i64 %402
%412 = bitcast double* %411 to <2 x double>*
%413 = load <2 x double>, <2 x double>* %412
%414 = getelementptr inbounds double, double* %411, i64 2
%415 = bitcast double* %414 to <2 x double>*
%416 = load <2 x double>, <2 x double>* %415
%417 = fsub <2 x double> %407, %413
%418 = fsub <2 x double> %410, %416
%419 = getelementptr inbounds double, double* %20, i64 %402
%420 = bitcast double* %419 to <2 x double>*
store <2 x double> %417, <2 x double>* %420
%421 = getelementptr inbounds double, double* %419, i64 2
%422 = bitcast double* %421 to <2 x double>*
store <2 x double> %418, <2 x double>* %422
br label %423
423: ; preds = %401, %404
%424 = icmp eq i64 %350, %336
br i1 %424, label %477, label %425
425: ; preds = %338, %335, %423
%426 = phi i64 [ 0, %338 ], [ 0, %335 ], [ %350, %423 ]
%427 = xor i64 %426, -1
%428 = add nsw i64 %427, %336
%429 = and i64 %336, 3
%430 = icmp eq i64 %429, 0
br i1 %430, label %443, label %431
431: ; preds = %425, %431
%432 = phi i64 [ %440, %431 ], [ %426, %425 ]
%433 = phi i64 [ %441, %431 ], [ 0, %425 ]
%434 = getelementptr inbounds double, double* %18, i64 %432
%435 = load double, double* %434
%436 = getelementptr inbounds double, double* %2, i64 %432
%437 = load double, double* %436
%438 = fsub double %435, %437
%439 = getelementptr inbounds double, double* %20, i64 %432
store double %438, double* %439
%440 = add nuw nsw i64 %432, 1
%441 = add i64 %433, 1
%442 = icmp eq i64 %441, %429
br i1 %442, label %443, label %431
443: ; preds = %431, %425
%444 = phi i64 [ %426, %425 ], [ %440, %431 ]
%445 = icmp ult i64 %428, 3
br i1 %445, label %477, label %446
446: ; preds = %443, %446
%447 = phi i64 [ %475, %446 ], [ %444, %443 ]
%448 = getelementptr inbounds double, double* %18, i64 %447
%449 = load double, double* %448
%450 = getelementptr inbounds double, double* %2, i64 %447
%451 = load double, double* %450
%452 = fsub double %449, %451
%453 = getelementptr inbounds double, double* %20, i64 %447
store double %452, double* %453
%454 = add nuw nsw i64 %447, 1
%455 = getelementptr inbounds double, double* %18, i64 %454
%456 = load double, double* %455
%457 = getelementptr inbounds double, double* %2, i64 %454
%458 = load double, double* %457
%459 = fsub double %456, %458
%460 = getelementptr inbounds double, double* %20, i64 %454
store double %459, double* %460
%461 = add nuw nsw i64 %447, 2
%462 = getelementptr inbounds double, double* %18, i64 %461
%463 = load double, double* %462
%464 = getelementptr inbounds double, double* %2, i64 %461
%465 = load double, double* %464
%466 = fsub double %463, %465
%467 = getelementptr inbounds double, double* %20, i64 %461
store double %466, double* %467
%468 = add nuw nsw i64 %447, 3
%469 = getelementptr inbounds double, double* %18, i64 %468
%470 = load double, double* %469
%471 = getelementptr inbounds double, double* %2, i64 %468
%472 = load double, double* %471
%473 = fsub double %470, %472
%474 = getelementptr inbounds double, double* %20, i64 %468
store double %473, double* %474
%475 = add nuw nsw i64 %447, 4
%476 = icmp eq i64 %475, %336
br i1 %476, label %477, label %446
477: ; preds = %443, %446, %423, %332
%478 = call i32 (double*, ...) bitcast (i32 (...)* @timer_ to i32 (double*, ...)*)(double* %39)
br label %479
479: ; preds = %114, %477
%480 = phi double [ %169, %114 ], [ %269, %477 ]
%481 = phi double [ %171, %114 ], [ %333, %477 ]
%482 = phi double [ %173, %114 ], [ %216, %477 ]
%483 = phi i32 [ %128, %114 ], [ %217, %477 ]
%484 = phi i32 [ %122, %114 ], [ %270, %477 ]
%485 = getelementptr inbounds i32, i32* %33, i64 21
%486 = getelementptr inbounds double, double* %34, i64 16
%487 = call i32 (i32, double*, double*, i32*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, i32*, i32*, i32*, i32*, i32*, i8*, i32*, i32*, i8*, i32*, double*, ...) bitcast (i32 (...)* @lnsrlb_ to i32 (i32, double*, double*, i32*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, i32*, i32*, i32*, i32*, i32*, i8*, i32*, i32*, i8*, i32*, double*, ...)*)(i32 %0, double* %3, double* %4, i32* %5, double* %2, double* %6, double* %41, double* %36, double* %49, double* %7, double* %20, double* %19, double* %21, double* %18, double* %38, double* %45, double* %37, double* %46, double* %47, i32* %51, i32* %53, i32* %55, i32* %50, i32* %54, i8* %30, i32* %57, i32* %62, i8* %31, i32* %485, double* %486)
%488 = load i32, i32* %54
%489 = icmp ne i32 %488, 0
%490 = load i32, i32* %55
%491 = icmp sgt i32 %490, 19
%492 = select i1 %489, i1 true, i1 %491
br i1 %492, label %493, label %522
493: ; preds = %479
%494 = call i32 (i32, double*, double*, ...) bitcast (i32 (...)* @dcopy_ to i32 (i32, double*, double*, ...)*)(i32 %0, double* %21, double* %2)
%495 = call i32 (i32, double*, double*, ...) bitcast (i32 (...)* @dcopy_ to i32 (i32, double*, double*, ...)*)(i32 %0, double* %19, double* %7)
%496 = load double, double* %41
store double %496, double* %6
%497 = load i32, i32* %64
%498 = icmp eq i32 %497, 0
%499 = load i32, i32* %54
%500 = icmp eq i32 %499, 0
br i1 %498, label %501, label %512
501: ; preds = %493
br i1 %500, label %502, label %509
502: ; preds = %501
store i32 -9, i32* %54
%503 = load i32, i32* %50
%504 = add nsw i32 %503, -1
store i32 %504, i32* %50
%505 = load i32, i32* %53
%506 = add nsw i32 %505, -1
store i32 %506, i32* %53
%507 = load i32, i32* %55
%508 = add nsw i32 %507, -1
store i32 %508, i32* %55
br label %509
509: ; preds = %502, %501
%510 = load i32, i32* %51
%511 = add nsw i32 %510, 1
store i32 %511, i32* %51
br label %708
512: ; preds = %493
br i1 %500, label %513, label %516
513: ; preds = %512
%514 = load i32, i32* %50
%515 = add nsw i32 %514, -1
store i32 %515, i32* %50
br label %516
516: ; preds = %513, %512
store i32 0, i32* %54
store i32 0, i32* %64
store i32 1, i32* %66
store double 1.000000e+00, double* %44
store i32 0, i32* %60
store i32 0, i32* %59
%517 = call i32 (double*, ...) bitcast (i32 (...)* @timer_ to i32 (double*, ...)*)(double* %40)
%518 = load double, double* %40
%519 = fadd double %482, %518
%520 = load double, double* %39
%521 = fsub double %519, %520
br label %213
522: ; preds = %479
%523 = call i32 @strncmp(i8* dereferenceable(1) %30, i8* dereferenceable(6) getelementptr inbounds ([6 x i8], [6 x i8]* @.str.2, i64 0, i64 0), i64 5)
%524 = icmp eq i32 %523, 0
br i1 %524, label %715, label %525
525: ; preds = %522
%526 = call i32 (double*, ...) bitcast (i32 (...)* @timer_ to i32 (double*, ...)*)(double* %40)
%527 = load double, double* %40
%528 = fadd double %482, %527
%529 = load double, double* %39
%530 = fsub double %528, %529
%531 = load i32, i32* %51
%532 = add nsw i32 %531, 1
store i32 %532, i32* %51
%533 = call i32 (i32, double*, double*, i32*, double*, double*, double*, ...) bitcast (i32 (...)* @projgr_ to i32 (i32, double*, double*, i32*, double*, double*, double*, ...)*)(i32 %0, double* %3, double* %4, i32* %5, double* %2, double* %7, double* %48)
br label %715
534: ; preds = %190
%535 = load double, double* %9
%536 = fcmp ugt double %181, %535
br i1 %536, label %538, label %537
537: ; preds = %534
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 dereferenceable(49) %30, i8* align 1 dereferenceable(49) getelementptr inbounds ([49 x i8], [49 x i8]* @.str.7, i64 0, i64 0), i64 49, i1 false)
br label %708
538: ; preds = %534
%539 = tail call double @llvm.fabs.f64(double %159)
%540 = load double, double* %6
%541 = tail call double @llvm.fabs.f64(double %540)
%542 = fcmp oge double %539, %541
%543 = select i1 %542, double %539, double %541
%544 = fcmp oge double %543, 1.000000e+00
%545 = select i1 %544, double %543, double 1.000000e+00
%546 = fsub double %159, %540
%547 = fmul double %161, %545
%548 = fcmp ugt double %546, %547
br i1 %548, label %549, label %650
549: ; preds = %538
%550 = icmp sgt i32 %0, 0
br i1 %550, label %551, label %680
551: ; preds = %549
%552 = zext i32 %0 to i64
%553 = icmp ult i32 %0, 4
br i1 %553, label %630, label %554
554: ; preds = %551
%555 = getelementptr double, double* %19, i64 %552
%556 = getelementptr double, double* %7, i64 %552
%557 = icmp ugt double* %556, %19
%558 = icmp ugt double* %555, %7
%559 = and i1 %557, %558
br i1 %559, label %630, label %560
560: ; preds = %554
%561 = and i64 %552, 4294967292
%562 = add nsw i64 %561, -4
%563 = lshr exact i64 %562, 2
%564 = add nuw nsw i64 %563, 1
%565 = and i64 %564, 1
%566 = icmp eq i64 %562, 0
br i1 %566, label %608, label %567
567: ; preds = %560
%568 = and i64 %564, 9223372036854775806
br label %569
569: ; preds = %569, %567
%570 = phi i64 [ 0, %567 ], [ %605, %569 ]
%571 = phi i64 [ 0, %567 ], [ %606, %569 ]
%572 = getelementptr inbounds double, double* %7, i64 %570
%573 = bitcast double* %572 to <2 x double>*
%574 = load <2 x double>, <2 x double>* %573
%575 = getelementptr inbounds double, double* %572, i64 2
%576 = bitcast double* %575 to <2 x double>*
%577 = load <2 x double>, <2 x double>* %576
%578 = getelementptr inbounds double, double* %19, i64 %570
%579 = bitcast double* %578 to <2 x double>*
%580 = load <2 x double>, <2 x double>* %579
%581 = getelementptr inbounds double, double* %578, i64 2
%582 = bitcast double* %581 to <2 x double>*
%583 = load <2 x double>, <2 x double>* %582
%584 = fsub <2 x double> %574, %580
%585 = fsub <2 x double> %577, %583
%586 = bitcast double* %578 to <2 x double>*
store <2 x double> %584, <2 x double>* %586
%587 = bitcast double* %581 to <2 x double>*
store <2 x double> %585, <2 x double>* %587
%588 = or i64 %570, 4
%589 = getelementptr inbounds double, double* %7, i64 %588
%590 = bitcast double* %589 to <2 x double>*
%591 = load <2 x double>, <2 x double>* %590
%592 = getelementptr inbounds double, double* %589, i64 2
%593 = bitcast double* %592 to <2 x double>*
%594 = load <2 x double>, <2 x double>* %593
%595 = getelementptr inbounds double, double* %19, i64 %588
%596 = bitcast double* %595 to <2 x double>*
%597 = load <2 x double>, <2 x double>* %596
%598 = getelementptr inbounds double, double* %595, i64 2
%599 = bitcast double* %598 to <2 x double>*
%600 = load <2 x double>, <2 x double>* %599
%601 = fsub <2 x double> %591, %597
%602 = fsub <2 x double> %594, %600
%603 = bitcast double* %595 to <2 x double>*
store <2 x double> %601, <2 x double>* %603
%604 = bitcast double* %598 to <2 x double>*
store <2 x double> %602, <2 x double>* %604
%605 = add nuw i64 %570, 8
%606 = add i64 %571, 2
%607 = icmp eq i64 %606, %568
br i1 %607, label %608, label %569
608: ; preds = %569, %560
%609 = phi i64 [ 0, %560 ], [ %605, %569 ]
%610 = icmp eq i64 %565, 0
br i1 %610, label %628, label %611
611: ; preds = %608
%612 = getelementptr inbounds double, double* %7, i64 %609
%613 = bitcast double* %612 to <2 x double>*
%614 = load <2 x double>, <2 x double>* %613
%615 = getelementptr inbounds double, double* %612, i64 2
%616 = bitcast double* %615 to <2 x double>*
%617 = load <2 x double>, <2 x double>* %616
%618 = getelementptr inbounds double, double* %19, i64 %609
%619 = bitcast double* %618 to <2 x double>*
%620 = load <2 x double>, <2 x double>* %619
%621 = getelementptr inbounds double, double* %618, i64 2
%622 = bitcast double* %621 to <2 x double>*
%623 = load <2 x double>, <2 x double>* %622
%624 = fsub <2 x double> %614, %620
%625 = fsub <2 x double> %617, %623
%626 = bitcast double* %618 to <2 x double>*
store <2 x double> %624, <2 x double>* %626
%627 = bitcast double* %621 to <2 x double>*
store <2 x double> %625, <2 x double>* %627
br label %628
628: ; preds = %608, %611
%629 = icmp eq i64 %561, %552
br i1 %629, label %680, label %630
630: ; preds = %554, %551, %628
%631 = phi i64 [ 0, %554 ], [ 0, %551 ], [ %561, %628 ]
%632 = xor i64 %631, -1
%633 = add nsw i64 %632, %552
%634 = and i64 %552, 3
%635 = icmp eq i64 %634, 0
br i1 %635, label %647, label %636
636: ; preds = %630, %636
%637 = phi i64 [ %644, %636 ], [ %631, %630 ]
%638 = phi i64 [ %645, %636 ], [ 0, %630 ]
%639 = getelementptr inbounds double, double* %7, i64 %637
%640 = load double, double* %639
%641 = getelementptr inbounds double, double* %19, i64 %637
%642 = load double, double* %641
%643 = fsub double %640, %642
store double %643, double* %641
%644 = add nuw nsw i64 %637, 1
%645 = add i64 %638, 1
%646 = icmp eq i64 %645, %634
br i1 %646, label %647, label %636
647: ; preds = %636, %630
%648 = phi i64 [ %631, %630 ], [ %644, %636 ]
%649 = icmp ult i64 %633, 3
br i1 %649, label %680, label %653
650: ; preds = %538
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 dereferenceable(48) %30, i8* align 1 dereferenceable(48) getelementptr inbounds ([48 x i8], [48 x i8]* @.str.10, i64 0, i64 0), i64 48, i1 false)
%651 = icmp sgt i32 %126, 9
br i1 %651, label %652, label %708
652: ; preds = %650
store i32 -5, i32* %54
br label %708
653: ; preds = %647, %653
%654 = phi i64 [ %678, %653 ], [ %648, %647 ]
%655 = getelementptr inbounds double, double* %7, i64 %654
%656 = load double, double* %655
%657 = getelementptr inbounds double, double* %19, i64 %654
%658 = load double, double* %657
%659 = fsub double %656, %658
store double %659, double* %657
%660 = add nuw nsw i64 %654, 1
%661 = getelementptr inbounds double, double* %7, i64 %660
%662 = load double, double* %661
%663 = getelementptr inbounds double, double* %19, i64 %660
%664 = load double, double* %663
%665 = fsub double %662, %664
store double %665, double* %663
%666 = add nuw nsw i64 %654, 2
%667 = getelementptr inbounds double, double* %7, i64 %666
%668 = load double, double* %667
%669 = getelementptr inbounds double, double* %19, i64 %666
%670 = load double, double* %669
%671 = fsub double %668, %670
store double %671, double* %669
%672 = add nuw nsw i64 %654, 3
%673 = getelementptr inbounds double, double* %7, i64 %672
%674 = load double, double* %673
%675 = getelementptr inbounds double, double* %19, i64 %672
%676 = load double, double* %675
%677 = fsub double %674, %676
store double %677, double* %675
%678 = add nuw nsw i64 %654, 4
%679 = icmp eq i64 %678, %552
br i1 %679, label %680, label %653
680: ; preds = %647, %653, %628, %549
%681 = tail call i32 (i32, double*, double*, ...) bitcast (i32 (...)* @ddot_ to i32 (i32, double*, double*, ...)*)(i32 %0, double* %19, double* %19)
%682 = sitofp i32 %681 to double
%683 = fcmp oeq double %183, 1.000000e+00
%684 = fsub double %177, %185
br i1 %683, label %685, label %687
685: ; preds = %680
%686 = fneg double %185
br label %692
687: ; preds = %680
%688 = fmul double %183, %684
%689 = tail call i32 (i32, double, double*, ...) bitcast (i32 (...)* @dscal_ to i32 (i32, double, double*, ...)*)(i32 %0, double %183, double* %20)
%690 = fneg double %185
%691 = fmul double %183, %690
br label %692
692: ; preds = %687, %685
%693 = phi double [ %684, %685 ], [ %688, %687 ]
%694 = phi double [ %686, %685 ], [ %691, %687 ]
%695 = fmul double %165, %694
%696 = fcmp ugt double %693, %695
br i1 %696, label %699, label %697
697: ; preds = %692
%698 = add nsw i32 %128, 1
store i32 0, i32* %59
br label %213
699: ; preds = %692
store i32 1, i32* %59
%700 = add nsw i32 %138, 1
store i32 %700, i32* %60
%701 = call i32 (i32, i32, double*, double*, double*, double*, double*, double*, i32*, i32, i32*, i32*, double*, double, double, double, double, ...) bitcast (i32 (...)* @matupd_ to i32 (i32, i32, double*, double*, double*, double*, double*, double*, i32*, i32, i32*, i32*, double*, double, double, double, double, ...)*)(i32 %0, i32 %1, double* %10, double* %11, double* %12, double* %13, double* %20, double* %19, i32* @mainlb_.itail, i32 %700, i32* %64, i32* %66, double* %44, double %682, double %693, double %183, double %187)
%702 = load i32, i32* %64
%703 = load double, double* %44
%704 = call i32 (i32, double*, double*, double*, i32, double, i32*, ...) bitcast (i32 (...)* @formt_ to i32 (i32, double*, double*, double*, i32, double, i32*, ...)*)(i32 %1, double* %15, double* %12, double* %13, i32 %702, double %703, i32* %54)
%705 = load i32, i32* %54
%706 = icmp eq i32 %705, 0
br i1 %706, label %213, label %707
707: ; preds = %699
store i32 0, i32* %54
store i32 0, i32* %64
store i32 1, i32* %66
store double 1.000000e+00, double* %44
store i32 0, i32* %60
store i32 0, i32* %59
br label %213
708: ; preds = %650, %652, %196, %537, %509, %228
%709 = phi double [ %480, %509 ], [ %169, %537 ], [ %169, %652 ], [ %169, %650 ], [ %169, %228 ], [ %169, %196 ]
%710 = phi double [ %481, %509 ], [ %171, %537 ], [ %171, %652 ], [ %171, %650 ], [ %171, %228 ], [ %171, %196 ]
%711 = phi double [ %482, %509 ], [ %173, %537 ], [ %173, %652 ], [ %173, %650 ], [ %173, %228 ], [ %173, %196 ]
%712 = phi i32 [ %483, %509 ], [ %128, %537 ], [ %128, %652 ], [ %128, %650 ], [ %128, %228 ], [ %128, %196 ]
%713 = phi i32 [ %484, %509 ], [ %122, %537 ], [ %122, %652 ], [ %122, %650 ], [ %122, %228 ], [ %122, %196 ]
%714 = call i32 (double*, ...) bitcast (i32 (...)* @timer_ to i32 (double*, ...)*)(double* %43)
br label %715
715: ; preds = %522, %708, %525, %199
%716 = phi double [ %200, %199 ], [ %175, %708 ], [ %175, %522 ], [ %175, %525 ]
%717 = phi double [ %201, %199 ], [ %161, %708 ], [ %161, %522 ], [ %161, %525 ]
%718 = phi double [ %202, %199 ], [ %709, %708 ], [ %480, %522 ], [ %480, %525 ]
%719 = phi double [ %203, %199 ], [ %165, %708 ], [ %165, %522 ], [ %165, %525 ]
%720 = phi double [ %204, %199 ], [ %710, %708 ], [ %481, %522 ], [ %481, %525 ]
%721 = phi double [ %205, %199 ], [ %711, %708 ], [ %482, %522 ], [ %530, %525 ]
%722 = phi i32 [ %206, %199 ], [ %712, %708 ], [ %483, %522 ], [ %483, %525 ]
%723 = phi i32 [ %207, %199 ], [ %713, %708 ], [ %484, %522 ], [ %484, %525 ]
%724 = load i32, i32* %61
store i32 %724, i32* %32
%725 = load i32, i32* %62
%726 = getelementptr inbounds i32, i32* %32, i64 1
store i32 %725, i32* %726
%727 = load i32, i32* %57
%728 = getelementptr inbounds i32, i32* %32, i64 2
store i32 %727, i32* %728
%729 = load i32, i32* %59
%730 = getelementptr inbounds i32, i32* %32, i64 3
store i32 %729, i32* %730
store i32 %723, i32* %33
%731 = load i32, i32* @mainlb_.itfile
%732 = getelementptr inbounds i32, i32* %33, i64 2
store i32 %731, i32* %732
%733 = load i32, i32* %55
%734 = getelementptr inbounds i32, i32* %33, i64 3
store i32 %733, i32* %734
%735 = getelementptr inbounds i32, i32* %33, i64 4
store i32 %722, i32* %735
%736 = load i32, i32* %66
%737 = getelementptr inbounds i32, i32* %33, i64 5
store i32 %736, i32* %737
%738 = load i32, i32* %64
%739 = getelementptr inbounds i32, i32* %33, i64 6
store i32 %738, i32* %739
%740 = load i32, i32* @mainlb_.itail
%741 = getelementptr inbounds i32, i32* %33, i64 7
store i32 %740, i32* %741
%742 = load i32, i32* %51
%743 = getelementptr inbounds i32, i32* %33, i64 8
store i32 %742, i32* %743
%744 = load i32, i32* %60
%745 = getelementptr inbounds i32, i32* %33, i64 9
store i32 %744, i32* %745
%746 = load i32, i32* %52
%747 = getelementptr inbounds i32, i32* %33, i64 11
store i32 %746, i32* %747
%748 = load i32, i32* %50
%749 = getelementptr inbounds i32, i32* %33, i64 12
store i32 %748, i32* %749
%750 = load i32, i32* %54
%751 = getelementptr inbounds i32, i32* %33, i64 13
store i32 %750, i32* %751
%752 = load i32, i32* %53
%753 = getelementptr inbounds i32, i32* %33, i64 14
store i32 %752, i32* %753
%754 = load i32, i32* @mainlb_.iword
%755 = getelementptr inbounds i32, i32* %33, i64 15
store i32 %754, i32* %755
%756 = load i32, i32* %56
%757 = getelementptr inbounds i32, i32* %33, i64 16
store i32 %756, i32* %757
%758 = load i32, i32* @mainlb_.nact
%759 = getelementptr inbounds i32, i32* %33, i64 17
store i32 %758, i32* %759
%760 = load i32, i32* %58
%761 = getelementptr inbounds i32, i32* %33, i64 18
store i32 %760, i32* %761
%762 = load i32, i32* %63
%763 = getelementptr inbounds i32, i32* %33, i64 19
store i32 %762, i32* %763
%764 = load double, double* %44
store double %764, double* %34
%765 = load double, double* %41
%766 = getelementptr inbounds double, double* %34, i64 1
store double %765, double* %766
%767 = getelementptr inbounds double, double* %34, i64 2
store double %717, double* %767
%768 = load double, double* %45
%769 = getelementptr inbounds double, double* %34, i64 3
store double %768, double* %769
%770 = getelementptr inbounds double, double* %34, i64 4
store double %719, double* %770
%771 = load double, double* %39
%772 = getelementptr inbounds double, double* %34, i64 5
store double %771, double* %772
%773 = getelementptr inbounds double, double* %34, i64 6
store double %718, double* %773
%774 = getelementptr inbounds double, double* %34, i64 7
store double %720, double* %774
%775 = getelementptr inbounds double, double* %34, i64 8
store double %721, double* %775
%776 = getelementptr inbounds double, double* %34, i64 9
store double %716, double* %776
%777 = load double, double* %36
%778 = getelementptr inbounds double, double* %34, i64 10
store double %777, double* %778
%779 = load double, double* %47
%780 = getelementptr inbounds double, double* %34, i64 11
store double %779, double* %780
%781 = load double, double* %48
%782 = getelementptr inbounds double, double* %34, i64 12
store double %781, double* %782
%783 = load double, double* %38
%784 = getelementptr inbounds double, double* %34, i64 13
store double %783, double* %784
%785 = load double, double* %49
%786 = getelementptr inbounds double, double* %34, i64 14
store double %785, double* %786
%787 = load double, double* %37
%788 = getelementptr inbounds double, double* %34, i64 15
store double %787, double* %788
br label %789
789: ; preds = %102, %715
ret i32 0
}