void ddct16x16s(int isgn, double **a) {
  int j;
  double x0r, x0i, x1r, x1i, x2r, x2i, x3r, x3i;
  double x4r, x4i, x5r, x5i, x6r, x6i, x7r, x7i;
  double xr, xi;
  if (isgn < 0) {
    for (j = 0; j <= 15; j++) {
      x4r = a[0][j] - a[15][j];
      xr = a[0][j] + a[15][j];
      x4i = a[8][j] - a[7][j];
      xi = a[8][j] + a[7][j];
      x0r = xr + xi;
      x0i = xr - xi;
      x5r = a[2][j] - a[13][j];
      xr = a[2][j] + a[13][j];
      x5i = a[10][j] - a[5][j];
      xi = a[10][j] + a[5][j];
      x1r = xr + xi;
      x1i = xr - xi;
      x6r = a[4][j] - a[11][j];
      xr = a[4][j] + a[11][j];
      x6i = a[12][j] - a[3][j];
      xi = a[12][j] + a[3][j];
      x2r = xr + xi;
      x2i = xr - xi;
      x7r = a[6][j] - a[9][j];
      xr = a[6][j] + a[9][j];
      x7i = a[14][j] - a[1][j];
      xi = a[14][j] + a[1][j];
      x3r = xr + xi;
      x3i = xr - xi;
      xr = x0r + x2r;
      xi = x1r + x3r;
      a[0][j] = 0.25 * (xr + xi);
      a[8][j] = 0.25 * (xr - xi);
      xr = x0r - x2r;
      xi = x1r - x3r;
      a[4][j] = 0.32664074121909413196 * xr - 0.13529902503654924610 * xi;
      a[12][j] = 0.32664074121909413196 * xi + 0.13529902503654924610 * xr;
      x0r = 0.70710678118654752440 * (x1i - x3i);
      x2r = 0.70710678118654752440 * (x1i + x3i);
      xr = x0i + x0r;
      xi = x2r + x2i;
      a[2][j] = 0.34675996133053686546 * xr - 0.06897484482073575308 * xi;
      a[14][j] = 0.34675996133053686546 * xi + 0.06897484482073575308 * xr;
      xr = x0i - x0r;
      xi = x2r - x2i;
      a[6][j] = 0.29396890060483967924 * xr - 0.19642373959677554532 * xi;
      a[10][j] = 0.29396890060483967924 * xi + 0.19642373959677554532 * xr;
      xr = 0.70710678118654752440 * (x6r - x6i);
      xi = 0.70710678118654752440 * (x6i + x6r);
      x6r = x4r - xr;
      x6i = x4i - xi;
      x4r += xr;
      x4i += xi;
      xr = 0.38268343236508977173 * x7r - 0.92387953251128675613 * x7i;
      xi = 0.38268343236508977173 * x7i + 0.92387953251128675613 * x7r;
      x7r = 0.92387953251128675613 * x5r - 0.38268343236508977173 * x5i;
      x7i = 0.92387953251128675613 * x5i + 0.38268343236508977173 * x5r;
      x5r = x7r + xr;
      x5i = x7i + xi;
      x7r -= xr;
      x7i -= xi;
      xr = x4r + x5r;
      xi = x5i + x4i;
      a[1][j] = 0.35185093438159561476 * xr - 0.03465429229977286565 * xi;
      a[15][j] = 0.35185093438159561476 * xi + 0.03465429229977286565 * xr;
      xr = x4r - x5r;
      xi = x5i - x4i;
      a[7][j] = 0.27330046675043937206 * xr - 0.22429189658565907106 * xi;
      a[9][j] = 0.27330046675043937206 * xi + 0.22429189658565907106 * xr;
      xr = x6r - x7i;
      xi = x7r + x6i;
      a[5][j] = 0.31180625324666780814 * xr - 0.16666391461943662432 * xi;
      a[11][j] = 0.31180625324666780814 * xi + 0.16666391461943662432 * xr;
      xr = x6r + x7i;
      xi = x7r - x6i;
      a[3][j] = 0.33832950029358816957 * xr - 0.10263113188058934529 * xi;
      a[13][j] = 0.33832950029358816957 * xi + 0.10263113188058934529 * xr;
    }
    for (j = 0; j <= 15; j++) {
      x4r = a[j][0] - a[j][15];
      xr = a[j][0] + a[j][15];
      x4i = a[j][8] - a[j][7];
      xi = a[j][8] + a[j][7];
      x0r = xr + xi;
      x0i = xr - xi;
      x5r = a[j][2] - a[j][13];
      xr = a[j][2] + a[j][13];
      x5i = a[j][10] - a[j][5];
      xi = a[j][10] + a[j][5];
      x1r = xr + xi;
      x1i = xr - xi;
      x6r = a[j][4] - a[j][11];
      xr = a[j][4] + a[j][11];
      x6i = a[j][12] - a[j][3];
      xi = a[j][12] + a[j][3];
      x2r = xr + xi;
      x2i = xr - xi;
      x7r = a[j][6] - a[j][9];
      xr = a[j][6] + a[j][9];
      x7i = a[j][14] - a[j][1];
      xi = a[j][14] + a[j][1];
      x3r = xr + xi;
      x3i = xr - xi;
      xr = x0r + x2r;
      xi = x1r + x3r;
      a[j][0] = 0.25 * (xr + xi);
      a[j][8] = 0.25 * (xr - xi);
      xr = x0r - x2r;
      xi = x1r - x3r;
      a[j][4] = 0.32664074121909413196 * xr - 0.13529902503654924610 * xi;
      a[j][12] = 0.32664074121909413196 * xi + 0.13529902503654924610 * xr;
      x0r = 0.70710678118654752440 * (x1i - x3i);
      x2r = 0.70710678118654752440 * (x1i + x3i);
      xr = x0i + x0r;
      xi = x2r + x2i;
      a[j][2] = 0.34675996133053686546 * xr - 0.06897484482073575308 * xi;
      a[j][14] = 0.34675996133053686546 * xi + 0.06897484482073575308 * xr;
      xr = x0i - x0r;
      xi = x2r - x2i;
      a[j][6] = 0.29396890060483967924 * xr - 0.19642373959677554532 * xi;
      a[j][10] = 0.29396890060483967924 * xi + 0.19642373959677554532 * xr;
      xr = 0.70710678118654752440 * (x6r - x6i);
      xi = 0.70710678118654752440 * (x6i + x6r);
      x6r = x4r - xr;
      x6i = x4i - xi;
      x4r += xr;
      x4i += xi;
      xr = 0.38268343236508977173 * x7r - 0.92387953251128675613 * x7i;
      xi = 0.38268343236508977173 * x7i + 0.92387953251128675613 * x7r;
      x7r = 0.92387953251128675613 * x5r - 0.38268343236508977173 * x5i;
      x7i = 0.92387953251128675613 * x5i + 0.38268343236508977173 * x5r;
      x5r = x7r + xr;
      x5i = x7i + xi;
      x7r -= xr;
      x7i -= xi;
      xr = x4r + x5r;
      xi = x5i + x4i;
      a[j][1] = 0.35185093438159561476 * xr - 0.03465429229977286565 * xi;
      a[j][15] = 0.35185093438159561476 * xi + 0.03465429229977286565 * xr;
      xr = x4r - x5r;
      xi = x5i - x4i;
      a[j][7] = 0.27330046675043937206 * xr - 0.22429189658565907106 * xi;
      a[j][9] = 0.27330046675043937206 * xi + 0.22429189658565907106 * xr;
      xr = x6r - x7i;
      xi = x7r + x6i;
      a[j][5] = 0.31180625324666780814 * xr - 0.16666391461943662432 * xi;
      a[j][11] = 0.31180625324666780814 * xi + 0.16666391461943662432 * xr;
      xr = x6r + x7i;
      xi = x7r - x6i;
      a[j][3] = 0.33832950029358816957 * xr - 0.10263113188058934529 * xi;
      a[j][13] = 0.33832950029358816957 * xi + 0.10263113188058934529 * xr;
    }
  } else {
    for (j = 0; j <= 15; j++) {
      x5r =
          0.35185093438159561476 * a[1][j] + 0.03465429229977286565 * a[15][j];
      x5i =
          0.35185093438159561476 * a[15][j] - 0.03465429229977286565 * a[1][j];
      xr = 0.27330046675043937206 * a[7][j] + 0.22429189658565907106 * a[9][j];
      xi = 0.27330046675043937206 * a[9][j] - 0.22429189658565907106 * a[7][j];
      x4r = x5r + xr;
      x4i = x5i - xi;
      x5r -= xr;
      x5i += xi;
      x7r =
          0.31180625324666780814 * a[5][j] + 0.16666391461943662432 * a[11][j];
      x7i =
          0.31180625324666780814 * a[11][j] - 0.16666391461943662432 * a[5][j];
      xr = 0.33832950029358816957 * a[3][j] + 0.10263113188058934529 * a[13][j];
      xi = 0.33832950029358816957 * a[13][j] - 0.10263113188058934529 * a[3][j];
      x6r = x7r + xr;
      x6i = x7i - xi;
      x7r -= xr;
      x7i += xi;
      xr = x4r - x6r;
      xi = x4i - x6i;
      x4r += x6r;
      x4i += x6i;
      x6r = 0.70710678118654752440 * (xi + xr);
      x6i = 0.70710678118654752440 * (xi - xr);
      xr = x5r + x7i;
      xi = x5i - x7r;
      x5r -= x7i;
      x5i += x7r;
      x7r = 0.38268343236508977173 * x5r + 0.92387953251128675613 * x5i;
      x7i = 0.38268343236508977173 * x5i - 0.92387953251128675613 * x5r;
      x5r = 0.92387953251128675613 * xr + 0.38268343236508977173 * xi;
      x5i = 0.92387953251128675613 * xi - 0.38268343236508977173 * xr;
      xr = 0.32664074121909413196 * a[4][j] + 0.13529902503654924610 * a[12][j];
      xi = 0.32664074121909413196 * a[12][j] - 0.13529902503654924610 * a[4][j];
      x2r = 0.25 * (a[0][j] + a[8][j]);
      x3r = 0.25 * (a[0][j] - a[8][j]);
      x0r = x2r + xr;
      x1r = x3r + xi;
      x2r -= xr;
      x3r -= xi;
      x0i =
          0.34675996133053686546 * a[2][j] + 0.06897484482073575308 * a[14][j];
      x2i =
          0.34675996133053686546 * a[14][j] - 0.06897484482073575308 * a[2][j];
      x1i =
          0.29396890060483967924 * a[6][j] + 0.19642373959677554532 * a[10][j];
      x3i =
          0.29396890060483967924 * a[10][j] - 0.19642373959677554532 * a[6][j];
      xr = x0i - x1i;
      xi = x2i + x3i;
      x0i += x1i;
      x2i -= x3i;
      x1i = 0.70710678118654752440 * (xi + xr);
      x3i = 0.70710678118654752440 * (xi - xr);
      xr = x0r + x0i;
      xi = x0r - x0i;
      a[0][j] = xr + x4r;
      a[15][j] = xr - x4r;
      a[8][j] = xi + x4i;
      a[7][j] = xi - x4i;
      xr = x1r + x1i;
      xi = x1r - x1i;
      a[2][j] = xr + x5r;
      a[13][j] = xr - x5r;
      a[10][j] = xi + x5i;
      a[5][j] = xi - x5i;
      xr = x2r + x2i;
      xi = x2r - x2i;
      a[4][j] = xr + x6r;
      a[11][j] = xr - x6r;
      a[12][j] = xi + x6i;
      a[3][j] = xi - x6i;
      xr = x3r + x3i;
      xi = x3r - x3i;
      a[6][j] = xr + x7r;
      a[9][j] = xr - x7r;
      a[14][j] = xi + x7i;
      a[1][j] = xi - x7i;
    }
    for (j = 0; j <= 15; j++) {
      x5r =
          0.35185093438159561476 * a[j][1] + 0.03465429229977286565 * a[j][15];
      x5i =
          0.35185093438159561476 * a[j][15] - 0.03465429229977286565 * a[j][1];
      xr = 0.27330046675043937206 * a[j][7] + 0.22429189658565907106 * a[j][9];
      xi = 0.27330046675043937206 * a[j][9] - 0.22429189658565907106 * a[j][7];
      x4r = x5r + xr;
      x4i = x5i - xi;
      x5r -= xr;
      x5i += xi;
      x7r =
          0.31180625324666780814 * a[j][5] + 0.16666391461943662432 * a[j][11];
      x7i =
          0.31180625324666780814 * a[j][11] - 0.16666391461943662432 * a[j][5];
      xr = 0.33832950029358816957 * a[j][3] + 0.10263113188058934529 * a[j][13];
      xi = 0.33832950029358816957 * a[j][13] - 0.10263113188058934529 * a[j][3];
      x6r = x7r + xr;
      x6i = x7i - xi;
      x7r -= xr;
      x7i += xi;
      xr = x4r - x6r;
      xi = x4i - x6i;
      x4r += x6r;
      x4i += x6i;
      x6r = 0.70710678118654752440 * (xi + xr);
      x6i = 0.70710678118654752440 * (xi - xr);
      xr = x5r + x7i;
      xi = x5i - x7r;
      x5r -= x7i;
      x5i += x7r;
      x7r = 0.38268343236508977173 * x5r + 0.92387953251128675613 * x5i;
      x7i = 0.38268343236508977173 * x5i - 0.92387953251128675613 * x5r;
      x5r = 0.92387953251128675613 * xr + 0.38268343236508977173 * xi;
      x5i = 0.92387953251128675613 * xi - 0.38268343236508977173 * xr;
      xr = 0.32664074121909413196 * a[j][4] + 0.13529902503654924610 * a[j][12];
      xi = 0.32664074121909413196 * a[j][12] - 0.13529902503654924610 * a[j][4];
      x2r = 0.25 * (a[j][0] + a[j][8]);
      x3r = 0.25 * (a[j][0] - a[j][8]);
      x0r = x2r + xr;
      x1r = x3r + xi;
      x2r -= xr;
      x3r -= xi;
      x0i =
          0.34675996133053686546 * a[j][2] + 0.06897484482073575308 * a[j][14];
      x2i =
          0.34675996133053686546 * a[j][14] - 0.06897484482073575308 * a[j][2];
      x1i =
          0.29396890060483967924 * a[j][6] + 0.19642373959677554532 * a[j][10];
      x3i =
          0.29396890060483967924 * a[j][10] - 0.19642373959677554532 * a[j][6];
      xr = x0i - x1i;
      xi = x2i + x3i;
      x0i += x1i;
      x2i -= x3i;
      x1i = 0.70710678118654752440 * (xi + xr);
      x3i = 0.70710678118654752440 * (xi - xr);
      xr = x0r + x0i;
      xi = x0r - x0i;
      a[j][0] = xr + x4r;
      a[j][15] = xr - x4r;
      a[j][8] = xi + x4i;
      a[j][7] = xi - x4i;
      xr = x1r + x1i;
      xi = x1r - x1i;
      a[j][2] = xr + x5r;
      a[j][13] = xr - x5r;
      a[j][10] = xi + x5i;
      a[j][5] = xi - x5i;
      xr = x2r + x2i;
      xi = x2r - x2i;
      a[j][4] = xr + x6r;
      a[j][11] = xr - x6r;
      a[j][12] = xi + x6i;
      a[j][3] = xi - x6i;
      xr = x3r + x3i;
      xi = x3r - x3i;
      a[j][6] = xr + x7r;
      a[j][9] = xr - x7r;
      a[j][14] = xi + x7i;
      a[j][1] = xi - x7i;
    }
  }
}


x86 assembly (clang, -O0):
<ddct16x16s>:
push   %rbp
mov    %rsp,%rbp
sub    $0x28,%rsp
mov    %edi,-0x4(%rbp)
mov    %rsi,-0x10(%rbp)
cmpl   $0x0,-0x4(%rbp)
jge    266c <ddct16x16s+0x156c>
movl   $0x0,-0x14(%rbp)
cmpl   $0xf,-0x14(%rbp)
jg     1bc0 <ddct16x16s+0xac0>
mov    -0x10(%rbp),%rax
mov    (%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    0x78(%rax),%rax
movslq -0x14(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    -0x10(%rbp),%rax
mov    (%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    0x78(%rax),%rax
movslq -0x14(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    0x40(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    0x38(%rax),%rax
movslq -0x14(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x68(%rbp)
mov    -0x10(%rbp),%rax
mov    0x40(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    0x38(%rax),%rax
movslq -0x14(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x20(%rbp)
movsd  -0xa0(%rbp),%xmm0
ff
subsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x28(%rbp)
mov    -0x10(%rbp),%rax
mov    0x10(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    0x68(%rax),%rax
movslq -0x14(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x70(%rbp)
mov    -0x10(%rbp),%rax
mov    0x10(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    0x68(%rax),%rax
movslq -0x14(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    0x50(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    0x28(%rax),%rax
movslq -0x14(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x10(%rbp),%rax
mov    0x50(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    0x28(%rax),%rax
movslq -0x14(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x30(%rbp)
movsd  -0xa0(%rbp),%xmm0
ff
subsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x38(%rbp)
mov    -0x10(%rbp),%rax
mov    0x20(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    0x58(%rax),%rax
movslq -0x14(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x80(%rbp)
mov    -0x10(%rbp),%rax
mov    0x20(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    0x58(%rax),%rax
movslq -0x14(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    0x60(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    0x18(%rax),%rax
movslq -0x14(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    0x60(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    0x18(%rax),%rax
movslq -0x14(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x40(%rbp)
movsd  -0xa0(%rbp),%xmm0
ff
subsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x48(%rbp)
mov    -0x10(%rbp),%rax
mov    0x30(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    0x48(%rax),%rax
movslq -0x14(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    0x30(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    0x48(%rax),%rax
movslq -0x14(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    0x70(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    0x8(%rax),%rax
movslq -0x14(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    0x70(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    0x8(%rax),%rax
movslq -0x14(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x50(%rbp)
movsd  -0xa0(%rbp),%xmm0
ff
subsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x58(%rbp)
movsd  -0x20(%rbp),%xmm0
addsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x30(%rbp),%xmm0
addsd  -0x50(%rbp),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm1
ff
addsd  -0xa8(%rbp),%xmm1
ff
movsd  0x2b8b(%rip),%xmm0
mulsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
mov    (%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0xa0(%rbp),%xmm1
ff
subsd  -0xa8(%rbp),%xmm1
ff
movsd  0x2b5f(%rip),%xmm0
mulsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
mov    0x40(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x20(%rbp),%xmm0
subsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x30(%rbp),%xmm0
subsd  -0x50(%rbp),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
movsd  0x2b26(%rip),%xmm1
mulsd  -0xa8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x2af7(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
mov    0x20(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0xa8(%rbp),%xmm0
ff
movsd  0x2ad6(%rip),%xmm1
mulsd  -0xa0(%rbp),%xmm1
ff
movsd  0x2abe(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
mov    0x60(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x38(%rbp),%xmm1
subsd  -0x58(%rbp),%xmm1
movsd  0x2a63(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x20(%rbp)
movsd  -0x38(%rbp),%xmm1
addsd  -0x58(%rbp),%xmm1
movsd  0x2a48(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x28(%rbp),%xmm0
addsd  -0x20(%rbp),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
addsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
movsd  0x2a2b(%rip),%xmm1
mulsd  -0xa8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x29fc(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
mov    0x10(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0xa8(%rbp),%xmm0
ff
movsd  0x29db(%rip),%xmm1
mulsd  -0xa0(%rbp),%xmm1
ff
movsd  0x29c3(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
mov    0x70(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x28(%rbp),%xmm0
subsd  -0x20(%rbp),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
subsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
movsd  0x296e(%rip),%xmm1
mulsd  -0xa8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x293f(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
mov    0x30(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0xa8(%rbp),%xmm0
ff
movsd  0x291e(%rip),%xmm1
mulsd  -0xa0(%rbp),%xmm1
ff
movsd  0x2906(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
mov    0x50(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x80(%rbp),%xmm1
subsd  -0x88(%rbp),%xmm1
ff
movsd  0x28d0(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x88(%rbp),%xmm1
ff
addsd  -0x80(%rbp),%xmm1
movsd  0x28af(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0x60(%rbp),%xmm0
subsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0x80(%rbp)
movsd  -0x68(%rbp),%xmm0
subsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
addsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  -0xa8(%rbp),%xmm0
ff
addsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x90(%rbp),%xmm0
ff
movsd  0x2888(%rip),%xmm1
mulsd  -0x98(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x2869(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x98(%rbp),%xmm0
ff
movsd  0x2841(%rip),%xmm1
mulsd  -0x90(%rbp),%xmm1
ff
movsd  0x2839(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0x70(%rbp),%xmm0
movsd  0x281c(%rip),%xmm1
mulsd  -0x78(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x27f0(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x78(%rbp),%xmm0
movsd  0x27db(%rip),%xmm1
mulsd  -0x70(%rbp),%xmm1
movsd  0x27c6(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0x90(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0x70(%rbp)
movsd  -0x98(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x78(%rbp)
movsd  -0xa0(%rbp),%xmm1
ff
movsd  -0x90(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xa8(%rbp),%xmm1
ff
movsd  -0x98(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0x60(%rbp),%xmm0
addsd  -0x70(%rbp),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x78(%rbp),%xmm0
addsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
movsd  0x2768(%rip),%xmm1
mulsd  -0xa8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x2739(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
mov    0x8(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0xa8(%rbp),%xmm0
ff
movsd  0x2718(%rip),%xmm1
mulsd  -0xa0(%rbp),%xmm1
ff
movsd  0x2700(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
mov    0x78(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x60(%rbp),%xmm0
subsd  -0x70(%rbp),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x78(%rbp),%xmm0
subsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
movsd  0x26ab(%rip),%xmm1
mulsd  -0xa8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x267c(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
mov    0x38(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0xa8(%rbp),%xmm0
ff
movsd  0x265b(%rip),%xmm1
mulsd  -0xa0(%rbp),%xmm1
ff
movsd  0x2643(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
mov    0x48(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x80(%rbp),%xmm0
subsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x90(%rbp),%xmm0
ff
addsd  -0x88(%rbp),%xmm0
ff
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
movsd  0x25e5(%rip),%xmm1
mulsd  -0xa8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x25b6(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
mov    0x28(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0xa8(%rbp),%xmm0
ff
movsd  0x2595(%rip),%xmm1
mulsd  -0xa0(%rbp),%xmm1
ff
movsd  0x257d(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
mov    0x58(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x80(%rbp),%xmm0
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x90(%rbp),%xmm0
ff
subsd  -0x88(%rbp),%xmm0
ff
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
movsd  0x251f(%rip),%xmm1
mulsd  -0xa8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x24f0(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
mov    0x18(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0xa8(%rbp),%xmm0
ff
movsd  0x24cf(%rip),%xmm1
mulsd  -0xa0(%rbp),%xmm1
ff
movsd  0x24b7(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
mov    0x68(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x14(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x14(%rbp)
jmp    1120 <ddct16x16s+0x20>
movl   $0x0,-0x14(%rbp)
cmpl   $0xf,-0x14(%rbp)
jg     2667 <ddct16x16s+0x1567>
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  (%rax),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
subsd  0x78(%rax),%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  (%rax),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
addsd  0x78(%rax),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0x40(%rax),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
subsd  0x38(%rax),%xmm0
movsd  %xmm0,-0x68(%rbp)
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0x40(%rax),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
addsd  0x38(%rax),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x20(%rbp)
movsd  -0xa0(%rbp),%xmm0
ff
subsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x28(%rbp)
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0x10(%rax),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
subsd  0x68(%rax),%xmm0
movsd  %xmm0,-0x70(%rbp)
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0x10(%rax),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
addsd  0x68(%rax),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0x50(%rax),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
subsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0x50(%rax),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
addsd  0x28(%rax),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x30(%rbp)
movsd  -0xa0(%rbp),%xmm0
ff
subsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x38(%rbp)
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0x20(%rax),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
subsd  0x58(%rax),%xmm0
movsd  %xmm0,-0x80(%rbp)
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0x20(%rax),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
addsd  0x58(%rax),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0x60(%rax),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
subsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0x60(%rax),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
addsd  0x18(%rax),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x40(%rbp)
movsd  -0xa0(%rbp),%xmm0
ff
subsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x48(%rbp)
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0x30(%rax),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
subsd  0x48(%rax),%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0x30(%rax),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
addsd  0x48(%rax),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0x70(%rax),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
subsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0x70(%rax),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
addsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x50(%rbp)
movsd  -0xa0(%rbp),%xmm0
ff
subsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x58(%rbp)
movsd  -0x20(%rbp),%xmm0
addsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x30(%rbp),%xmm0
addsd  -0x50(%rbp),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm1
ff
addsd  -0xa8(%rbp),%xmm1
ff
movsd  0x20e4(%rip),%xmm0
mulsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  %xmm0,(%rax)
movsd  -0xa0(%rbp),%xmm1
ff
subsd  -0xa8(%rbp),%xmm1
ff
movsd  0x20b8(%rip),%xmm0
mulsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  %xmm0,0x40(%rax)
movsd  -0x20(%rbp),%xmm0
subsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x30(%rbp),%xmm0
subsd  -0x50(%rbp),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
movsd  0x207f(%rip),%xmm1
mulsd  -0xa8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x2050(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  %xmm0,0x20(%rax)
movsd  -0xa8(%rbp),%xmm0
movsd  0x202f(%rip),%xmm1
mulsd  -0xa0(%rbp),%xmm1
ff
movsd  0x2017(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  %xmm0,0x60(%rax)
movsd  -0x38(%rbp),%xmm1
subsd  -0x58(%rbp),%xmm1
movsd  0x1fbc(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x20(%rbp)
movsd  -0x38(%rbp),%xmm1
addsd  -0x58(%rbp),%xmm1
movsd  0x1fa1(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x28(%rbp),%xmm0
addsd  -0x20(%rbp),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
addsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
movsd  0x1f84(%rip),%xmm1
mulsd  -0xa8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x1f55(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  %xmm0,0x10(%rax)
movsd  -0xa8(%rbp),%xmm0
ff
movsd  0x1f34(%rip),%xmm1
mulsd  -0xa0(%rbp),%xmm1
ff
movsd  0x1f1c(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  %xmm0,0x70(%rax)
movsd  -0x28(%rbp),%xmm0
subsd  -0x20(%rbp),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
subsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
movsd  0x1ec7(%rip),%xmm1
mulsd  -0xa8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x1e98(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  %xmm0,0x30(%rax)
movsd  -0xa8(%rbp),%xmm0
ff
movsd  0x1e77(%rip),%xmm1
mulsd  -0xa0(%rbp),%xmm1
ff
movsd  0x1e5f(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  %xmm0,0x50(%rax)
movsd  -0x80(%rbp),%xmm1
subsd  -0x88(%rbp),%xmm1
ff
movsd  0x1e29(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x88(%rbp),%xmm1
ff
addsd  -0x80(%rbp),%xmm1
movsd  0x1e08(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0x60(%rbp),%xmm0
subsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0x80(%rbp)
movsd  -0x68(%rbp),%xmm0
subsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
addsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  -0xa8(%rbp),%xmm0
ff
addsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x90(%rbp),%xmm0
ff
movsd  0x1de1(%rip),%xmm1
mulsd  -0x98(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x1dc2(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x98(%rbp),%xmm0
ff
movsd  0x1d9a(%rip),%xmm1
mulsd  -0x90(%rbp),%xmm1
ff
movsd  0x1d92(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0x70(%rbp),%xmm0
movsd  0x1d75(%rip),%xmm1
mulsd  -0x78(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x1d49(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x78(%rbp),%xmm0
movsd  0x1d34(%rip),%xmm1
mulsd  -0x70(%rbp),%xmm1
movsd  0x1d1f(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0x90(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0x70(%rbp)
movsd  -0x98(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x78(%rbp)
movsd  -0xa0(%rbp),%xmm1
ff
movsd  -0x90(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xa8(%rbp),%xmm1
ff
movsd  -0x98(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0x60(%rbp),%xmm0
addsd  -0x70(%rbp),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x78(%rbp),%xmm0
addsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
movsd  0x1cc1(%rip),%xmm1
mulsd  -0xa8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x1c92(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  %xmm0,0x8(%rax)
movsd  -0xa8(%rbp),%xmm0
ff
movsd  0x1c71(%rip),%xmm1
mulsd  -0xa0(%rbp),%xmm1
ff
movsd  0x1c59(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  %xmm0,0x78(%rax)
movsd  -0x60(%rbp),%xmm0
subsd  -0x70(%rbp),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x78(%rbp),%xmm0
subsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
movsd  0x1c04(%rip),%xmm1
mulsd  -0xa8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x1bd5(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  %xmm0,0x38(%rax)
movsd  -0xa8(%rbp),%xmm0
ff
movsd  0x1bb4(%rip),%xmm1
mulsd  -0xa0(%rbp),%xmm1
ff
movsd  0x1b9c(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  %xmm0,0x48(%rax)
movsd  -0x80(%rbp),%xmm0
subsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x90(%rbp),%xmm0
ff
addsd  -0x88(%rbp),%xmm0
ff
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
movsd  0x1b3e(%rip),%xmm1
mulsd  -0xa8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x1b0f(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  %xmm0,0x28(%rax)
movsd  -0xa8(%rbp),%xmm0
ff
movsd  0x1aee(%rip),%xmm1
mulsd  -0xa0(%rbp),%xmm1
ff
movsd  0x1ad6(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  %xmm0,0x58(%rax)
movsd  -0x80(%rbp),%xmm0
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x90(%rbp),%xmm0
ff
subsd  -0x88(%rbp),%xmm0
ff
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
movsd  0x1a78(%rip),%xmm1
mulsd  -0xa8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x1a49(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  %xmm0,0x18(%rax)
movsd  -0xa8(%rbp),%xmm0
ff
movsd  0x1a28(%rip),%xmm1
mulsd  -0xa0(%rbp),%xmm1
ff
movsd  0x1a10(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  %xmm0,0x68(%rax)
mov    -0x14(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x14(%rbp)
jmp    1bc7 <ddct16x16s+0xac7>
jmp    3b4f <ddct16x16s+0x2a4f>
movl   $0x0,-0x14(%rbp)
cmpl   $0xf,-0x14(%rbp)
jg     30db <ddct16x16s+0x1fdb>
mov    -0x10(%rbp),%rax
mov    0x8(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    0x78(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  0x19e6(%rip),%xmm1
mulsd  (%rax,%rcx,8),%xmm1
movsd  0x19d1(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
mov    -0x10(%rbp),%rax
mov    0x78(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    0x8(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  0x19a7(%rip),%xmm1
mulsd  (%rax,%rcx,8),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x197b(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x10(%rbp),%rax
mov    0x38(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    0x48(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  0x1941(%rip),%xmm1
mulsd  (%rax,%rcx,8),%xmm1
movsd  0x192c(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    0x48(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    0x38(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  0x18ff(%rip),%xmm1
mulsd  (%rax,%rcx,8),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x18d3(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0x70(%rbp),%xmm0
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0x60(%rbp)
movsd  -0x78(%rbp),%xmm0
subsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x68(%rbp)
movsd  -0xa0(%rbp),%xmm1
ff
movsd  -0x70(%rbp),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0xa8(%rbp),%xmm0
ff
addsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x10(%rbp),%rax
mov    0x28(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    0x58(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  0x184a(%rip),%xmm1
mulsd  (%rax,%rcx,8),%xmm1
movsd  0x1835(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    0x58(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    0x28(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  0x1808(%rip),%xmm1
mulsd  (%rax,%rcx,8),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x17dc(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    0x18(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    0x68(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  0x179f(%rip),%xmm1
mulsd  (%rax,%rcx,8),%xmm1
movsd  0x178a(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    0x68(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    0x18(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  0x175d(%rip),%xmm1
mulsd  (%rax,%rcx,8),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x1731(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0x90(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0x80(%rbp)
movsd  -0x98(%rbp),%xmm0
ff
subsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0xa0(%rbp),%xmm1
ff
movsd  -0x90(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xa8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0x60(%rbp),%xmm0
subsd  -0x80(%rbp),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x68(%rbp),%xmm0
subsd  -0x88(%rbp),%xmm0
ff
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0x80(%rbp),%xmm0
addsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  -0x88(%rbp),%xmm0
ff
addsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0xa8(%rbp),%xmm1
ff
addsd  -0xa0(%rbp),%xmm1
ff
movsd  0x1610(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0xa8(%rbp),%xmm1
subsd  -0xa0(%rbp),%xmm1
ff
movsd  0x15ef(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x70(%rbp),%xmm0
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x78(%rbp),%xmm0
subsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0x98(%rbp),%xmm1
ff
movsd  -0x70(%rbp),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x90(%rbp),%xmm0
ff
addsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0x70(%rbp),%xmm0
movsd  0x15c4(%rip),%xmm1
mulsd  -0x78(%rbp),%xmm1
movsd  0x15bf(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x78(%rbp),%xmm0
movsd  0x159a(%rip),%xmm1
mulsd  -0x70(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x157e(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
movsd  0x155e(%rip),%xmm1
mulsd  -0xa8(%rbp),%xmm1
ff
movsd  0x1546(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0xa8(%rbp),%xmm0
ff
movsd  0x1531(%rip),%xmm1
mulsd  -0xa0(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x1502(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x10(%rbp),%rax
mov    0x20(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    0x60(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  0x14c8(%rip),%xmm1
mulsd  (%rax,%rcx,8),%xmm1
movsd  0x14b3(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    0x60(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    0x20(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  0x1486(%rip),%xmm1
mulsd  (%rax,%rcx,8),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x145a(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    (%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    -0x10(%rbp),%rax
mov    0x40(%rax),%rax
movslq -0x14(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm1
movsd  0x1419(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x40(%rbp)
mov    -0x10(%rbp),%rax
mov    (%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    -0x10(%rbp),%rax
mov    0x40(%rax),%rax
movslq -0x14(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm1
movsd  0x13e7(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x50(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0x20(%rbp)
movsd  -0x50(%rbp),%xmm0
addsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x30(%rbp)
movsd  -0xa0(%rbp),%xmm1
ff
movsd  -0x40(%rbp),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0xa8(%rbp),%xmm1
ff
movsd  -0x50(%rbp),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x50(%rbp)
mov    -0x10(%rbp),%rax
mov    0x10(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    0x70(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  0x1361(%rip),%xmm1
mulsd  (%rax,%rcx,8),%xmm1
movsd  0x134c(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x28(%rbp)
mov    -0x10(%rbp),%rax
mov    0x70(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    0x10(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  0x1322(%rip),%xmm1
mulsd  (%rax,%rcx,8),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x12f6(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x10(%rbp),%rax
mov    0x30(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    0x50(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  0x12bc(%rip),%xmm1
mulsd  (%rax,%rcx,8),%xmm1
movsd  0x12a7(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x38(%rbp)
mov    -0x10(%rbp),%rax
mov    0x50(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    0x30(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  0x127d(%rip),%xmm1
mulsd  (%rax,%rcx,8),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x1251(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x58(%rbp)
movsd  -0x28(%rbp),%xmm0
subsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x48(%rbp),%xmm0
addsd  -0x58(%rbp),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0x38(%rbp),%xmm0
addsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0x28(%rbp)
movsd  -0x58(%rbp),%xmm1
movsd  -0x48(%rbp),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  -0xa8(%rbp),%xmm1
ff
addsd  -0xa0(%rbp),%xmm1
ff
movsd  0x11de(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  -0xa8(%rbp),%xmm1
ff
subsd  -0xa0(%rbp),%xmm1
ff
movsd  0x11bd(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x58(%rbp)
movsd  -0x20(%rbp),%xmm0
addsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x20(%rbp),%xmm0
subsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
addsd  -0x60(%rbp),%xmm0
mov    -0x10(%rbp),%rax
mov    (%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0xa0(%rbp),%xmm0
ff
subsd  -0x60(%rbp),%xmm0
mov    -0x10(%rbp),%rax
mov    0x78(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0xa8(%rbp),%xmm0
ff
addsd  -0x68(%rbp),%xmm0
mov    -0x10(%rbp),%rax
mov    0x40(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0xa8(%rbp),%xmm0
ff
subsd  -0x68(%rbp),%xmm0
mov    -0x10(%rbp),%rax
mov    0x38(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x30(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x30(%rbp),%xmm0
subsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
addsd  -0x70(%rbp),%xmm0
mov    -0x10(%rbp),%rax
mov    0x10(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0xa0(%rbp),%xmm0
ff
subsd  -0x70(%rbp),%xmm0
mov    -0x10(%rbp),%rax
mov    0x68(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0xa8(%rbp),%xmm0
ff
addsd  -0x78(%rbp),%xmm0
mov    -0x10(%rbp),%rax
mov    0x50(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0xa8(%rbp),%xmm0
ff
subsd  -0x78(%rbp),%xmm0
mov    -0x10(%rbp),%rax
mov    0x28(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x40(%rbp),%xmm0
addsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
subsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
addsd  -0x80(%rbp),%xmm0
mov    -0x10(%rbp),%rax
mov    0x20(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0xa0(%rbp),%xmm0
ff
subsd  -0x80(%rbp),%xmm0
mov    -0x10(%rbp),%rax
mov    0x58(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0xa8(%rbp),%xmm0
ff
addsd  -0x88(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    0x60(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0xa8(%rbp),%xmm0
subsd  -0x88(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    0x18(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x50(%rbp),%xmm0
addsd  -0x58(%rbp),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x50(%rbp),%xmm0
subsd  -0x58(%rbp),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    0x30(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0xa0(%rbp),%xmm0
ff
subsd  -0x90(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    0x48(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0xa8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    0x70(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0xa8(%rbp),%xmm0
ff
subsd  -0x98(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    0x8(%rax),%rax
movslq -0x14(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x14(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x14(%rbp)
jmp    2673 <ddct16x16s+0x1573>
movl   $0x0,-0x14(%rbp)
cmpl   $0xf,-0x14(%rbp)
jg     3b4a <ddct16x16s+0x2a4a>
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0x8(%rax),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0xf77(%rip),%xmm1
mulsd  0x78(%rax),%xmm1
movsd  0xf62(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0x78(%rax),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0xf38(%rip),%xmm1
mulsd  0x8(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0xf0c(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0x38(%rax),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0xed2(%rip),%xmm1
mulsd  0x48(%rax),%xmm1
movsd  0xebd(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0x48(%rax),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0xe90(%rip),%xmm1
mulsd  0x38(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0xe64(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0x70(%rbp),%xmm0
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0x60(%rbp)
movsd  -0x78(%rbp),%xmm0
subsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x68(%rbp)
movsd  -0xa0(%rbp),%xmm1
ff
movsd  -0x70(%rbp),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0xa8(%rbp),%xmm0
ff
addsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0x28(%rax),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0xddb(%rip),%xmm1
mulsd  0x58(%rax),%xmm1
movsd  0xdc6(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0x58(%rax),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0xd99(%rip),%xmm1
mulsd  0x28(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0xd6d(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0x18(%rax),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0xd30(%rip),%xmm1
mulsd  0x68(%rax),%xmm1
movsd  0xd1b(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0x68(%rax),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0xcee(%rip),%xmm1
mulsd  0x18(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0xcc2(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0x90(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0x80(%rbp)
movsd  -0x98(%rbp),%xmm0
ff
subsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0xa0(%rbp),%xmm1
ff
movsd  -0x90(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xa8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0x60(%rbp),%xmm0
subsd  -0x80(%rbp),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x68(%rbp),%xmm0
subsd  -0x88(%rbp),%xmm0
ff
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0x80(%rbp),%xmm0
addsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  -0x88(%rbp),%xmm0
ff
addsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0xa8(%rbp),%xmm1
ff
addsd  -0xa0(%rbp),%xmm1
ff
movsd  0xba1(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0xa8(%rbp),%xmm1
ff
subsd  -0xa0(%rbp),%xmm1
ff
movsd  0xb80(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x70(%rbp),%xmm0
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x78(%rbp),%xmm0
subsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0x98(%rbp),%xmm1
ff
movsd  -0x70(%rbp),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x90(%rbp),%xmm0
ff
addsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0x70(%rbp),%xmm0
movsd  0xb55(%rip),%xmm1
mulsd  -0x78(%rbp),%xmm1
movsd  0xb50(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x78(%rbp),%xmm0
movsd  0xb2b(%rip),%xmm1
mulsd  -0x70(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0xb0f(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
movsd  0xaef(%rip),%xmm1
mulsd  -0xa8(%rbp),%xmm1
ff
movsd  0xad7(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0xa8(%rbp),%xmm0
ff
movsd  0xac2(%rip),%xmm1
mulsd  -0xa0(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0xa93(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0x20(%rax),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0xa59(%rip),%xmm1
mulsd  0x60(%rax),%xmm1
movsd  0xa44(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0x60(%rax),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0xa17(%rip),%xmm1
mulsd  0x20(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x9eb(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  (%rax),%xmm1
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
addsd  0x40(%rax),%xmm1
movsd  0x9aa(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x40(%rbp)
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  (%rax),%xmm1
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
subsd  0x40(%rax),%xmm1
movsd  0x978(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x50(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0x20(%rbp)
movsd  -0x50(%rbp),%xmm0
addsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x30(%rbp)
movsd  -0xa0(%rbp),%xmm1
ff
movsd  -0x40(%rbp),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0xa8(%rbp),%xmm1
ff
movsd  -0x50(%rbp),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x50(%rbp)
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0x10(%rax),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0x8f2(%rip),%xmm1
mulsd  0x70(%rax),%xmm1
movsd  0x8dd(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x28(%rbp)
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0x70(%rax),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0x8b3(%rip),%xmm1
mulsd  0x10(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x887(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0x30(%rax),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0x84d(%rip),%xmm1
mulsd  0x50(%rax),%xmm1
movsd  0x838(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x38(%rbp)
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0x50(%rax),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  0x80e(%rip),%xmm1
mulsd  0x30(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x7e2(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x58(%rbp)
movsd  -0x28(%rbp),%xmm0
subsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x48(%rbp),%xmm0
addsd  -0x58(%rbp),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0x38(%rbp),%xmm0
addsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0x28(%rbp)
movsd  -0x58(%rbp),%xmm1
movsd  -0x48(%rbp),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  -0xa8(%rbp),%xmm1
ff
addsd  -0xa0(%rbp),%xmm1
ff
movsd  0x76f(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  -0xa8(%rbp),%xmm1
ff
subsd  -0xa0(%rbp),%xmm1
ff
movsd  0x74e(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x58(%rbp)
movsd  -0x20(%rbp),%xmm0
addsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x20(%rbp),%xmm0
subsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
addsd  -0x60(%rbp),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  %xmm0,(%rax)
movsd  -0xa0(%rbp),%xmm0
ff
subsd  -0x60(%rbp),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  %xmm0,0x78(%rax)
movsd  -0xa8(%rbp),%xmm0
ff
addsd  -0x68(%rbp),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  %xmm0,0x40(%rax)
movsd  -0xa8(%rbp),%xmm0
ff
subsd  -0x68(%rbp),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  %xmm0,0x38(%rax)
movsd  -0x30(%rbp),%xmm0
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x30(%rbp),%xmm0
subsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
addsd  -0x70(%rbp),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  %xmm0,0x10(%rax)
movsd  -0xa0(%rbp),%xmm0
ff
subsd  -0x70(%rbp),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  %xmm0,0x68(%rax)
movsd  -0xa8(%rbp),%xmm0
ff
addsd  -0x78(%rbp),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  %xmm0,0x50(%rax)
movsd  -0xa8(%rbp),%xmm0
ff
subsd  -0x78(%rbp),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  %xmm0,0x28(%rax)
movsd  -0x40(%rbp),%xmm0
addsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
subsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
addsd  -0x80(%rbp),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  %xmm0,0x20(%rax)
movsd  -0xa0(%rbp),%xmm0
ff
subsd  -0x80(%rbp),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  %xmm0,0x58(%rax)
movsd  -0xa8(%rbp),%xmm0
ff
addsd  -0x88(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  %xmm0,0x60(%rax)
movsd  -0xa8(%rbp),%xmm0
ff
subsd  -0x88(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  %xmm0,0x18(%rax)
movsd  -0x50(%rbp),%xmm0
addsd  -0x58(%rbp),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x50(%rbp),%xmm0
subsd  -0x58(%rbp),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  %xmm0,0x30(%rax)
movsd  -0xa0(%rbp),%xmm0
ff
subsd  -0x90(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  %xmm0,0x48(%rax)
movsd  -0xa8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  %xmm0,0x70(%rax)
movsd  -0xa8(%rbp),%xmm0
ff
subsd  -0x98(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x14(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x14(%rbp)
jmp    30e2 <ddct16x16s+0x1fe2>
jmp    3b4f <ddct16x16s+0x2a4f>
add    $0x28,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<ddct16x16s>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x28,%rsp
test   %edi,%edi
mov    %rsi,0x18(%rsp)
js     1b3e <ddct16x16s+0xa3e>
mov    (%rsi),%rax
mov    %rax,0x8(%rsp)
mov    0x8(%rsi),%rax
mov    %rax,-0x78(%rsp)
mov    0x78(%rsi),%rax
mov    %rax,(%rsp)
mov    0x38(%rsi),%rax
mov    %rax,-0x8(%rsp)
mov    0x48(%rsi),%rax
mov    %rax,-0x80(%rsp)
mov    0x28(%rsi),%rax
mov    %rax,-0x10(%rsp)
mov    0x58(%rsi),%rax
mov    %rax,-0x18(%rsp)
mov    0x18(%rsi),%rax
mov    %rax,-0x20(%rsp)
mov    0x68(%rsi),%rax
mov    %rax,-0x28(%rsp)
mov    0x20(%rsi),%rax
mov    %rax,-0x30(%rsp)
mov    0x60(%rsi),%rax
mov    %rax,-0x38(%rsp)
mov    0x40(%rsi),%rax
mov    %rax,-0x40(%rsp)
mov    0x10(%rsi),%rax
mov    %rax,-0x48(%rsp)
mov    0x70(%rsi),%rax
mov    %rax,-0x50(%rsp)
mov    0x30(%rsi),%rax
mov    %rax,-0x58(%rsp)
movsd  0x1e58(%rip),%xmm3
movsd  0x1e58(%rip),%xmm5
movsd  0x1e58(%rip),%xmm6
movsd  0x1e58(%rip),%xmm7
movsd  0x1e57(%rip),%xmm8
movsd  0x1e56(%rip),%xmm9
movsd  0x1e55(%rip),%xmm11
movsd  0x1e54(%rip),%xmm14
movsd  0x1e53(%rip),%xmm15
mov    0x50(%rsi),%rax
mov    %rax,-0x60(%rsp)
xor    %r9d,%r9d
mov    (%rsp),%r12
mov    -0x8(%rsp),%r15
mov    -0x10(%rsp),%r13
mov    -0x18(%rsp),%r14
mov    -0x20(%rsp),%rbx
mov    -0x28(%rsp),%r11
mov    -0x30(%rsp),%rdx
mov    -0x38(%rsp),%rdi
mov    0x8(%rsp),%r10
mov    -0x40(%rsp),%rbp
mov    -0x48(%rsp),%r8
mov    -0x50(%rsp),%rsi
mov    -0x58(%rsp),%rcx
nopl   0x0(%rax)
mov    -0x78(%rsp),%rax
movsd  (%rax,%r9,1),%xmm1
movsd  (%r12,%r9,1),%xmm0
movapd %xmm0,%xmm2
mulsd  %xmm3,%xmm2
movapd %xmm1,%xmm13
mulsd  %xmm5,%xmm13
addsd  %xmm2,%xmm13
mulsd  %xmm6,%xmm1
mulsd  %xmm5,%xmm0
addsd  %xmm1,%xmm0
movsd  (%r15,%r9,1),%xmm1
mov    -0x80(%rsp),%rax
movsd  (%rax,%r9,1),%xmm12
movapd %xmm12,%xmm2
mulsd  %xmm7,%xmm2
movapd %xmm1,%xmm3
mulsd  %xmm8,%xmm3
addsd  %xmm2,%xmm3
mulsd  %xmm9,%xmm1
mulsd  %xmm8,%xmm12
addsd  %xmm1,%xmm12
movapd %xmm13,%xmm10
addsd  %xmm3,%xmm10
movapd %xmm0,%xmm8
subsd  %xmm12,%xmm8
subsd  %xmm3,%xmm13
addsd  %xmm0,%xmm12
movsd  0x0(%r13,%r9,1),%xmm0
movsd  (%r14,%r9,1),%xmm1
movapd %xmm1,%xmm3
mulsd  %xmm11,%xmm3
movapd %xmm0,%xmm5
mulsd  %xmm14,%xmm5
addsd  %xmm3,%xmm5
mulsd  %xmm15,%xmm0
mulsd  %xmm14,%xmm1
addsd  %xmm0,%xmm1
movsd  (%rbx,%r9,1),%xmm0
movsd  (%r11,%r9,1),%xmm7
movapd %xmm7,%xmm3
mulsd  0x1d37(%rip),%xmm3
movapd %xmm0,%xmm2
movsd  0x1d33(%rip),%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  0x1d2b(%rip),%xmm0
mulsd  %xmm4,%xmm7
addsd  %xmm0,%xmm7
movapd %xmm5,%xmm11
addsd  %xmm2,%xmm11
movapd %xmm1,%xmm0
subsd  %xmm7,%xmm0
subsd  %xmm2,%xmm5
addsd  %xmm1,%xmm7
movapd %xmm10,%xmm2
subsd  %xmm11,%xmm2
movapd %xmm8,%xmm3
subsd  %xmm0,%xmm3
addsd  %xmm10,%xmm11
addsd  %xmm8,%xmm0
movsd  %xmm0,0x10(%rsp)
movapd %xmm3,%xmm0
addsd  %xmm2,%xmm0
movsd  %xmm0,-0x68(%rsp)
subsd  %xmm2,%xmm3
movapd %xmm13,%xmm8
addsd  %xmm7,%xmm8
movapd %xmm12,%xmm2
subsd  %xmm5,%xmm2
subsd  %xmm7,%xmm13
addsd  %xmm12,%xmm5
movapd %xmm5,%xmm4
movsd  0x1cbb(%rip),%xmm0
mulsd  %xmm0,%xmm4
movapd %xmm13,%xmm6
movsd  0x1cb2(%rip),%xmm1
mulsd  %xmm1,%xmm6
addsd  %xmm4,%xmm6
movsd  %xmm6,-0x70(%rsp)
mulsd  0x1ca3(%rip),%xmm13
mulsd  %xmm1,%xmm5
addsd  %xmm13,%xmm5
movapd %xmm2,%xmm6
mulsd  %xmm1,%xmm6
movapd %xmm8,%xmm4
mulsd  %xmm0,%xmm4
addsd  %xmm6,%xmm4
mulsd  0x1c84(%rip),%xmm8
mulsd  %xmm0,%xmm2
addsd  %xmm8,%xmm2
movsd  (%rdx,%r9,1),%xmm8
movsd  (%rdi,%r9,1),%xmm13
movapd %xmm13,%xmm6
mulsd  0x1c6a(%rip),%xmm6
movapd %xmm8,%xmm14
movsd  0x1c65(%rip),%xmm0
mulsd  %xmm0,%xmm14
addsd  %xmm6,%xmm14
mulsd  0x1c5a(%rip),%xmm8
mulsd  %xmm0,%xmm13
addsd  %xmm8,%xmm13
movsd  (%r10,%r9,1),%xmm10
movsd  0x0(%rbp,%r9,1),%xmm8
movapd %xmm10,%xmm6
addsd  %xmm8,%xmm6
movsd  0x1c39(%rip),%xmm0
mulsd  %xmm0,%xmm6
subsd  %xmm8,%xmm10
mulsd  %xmm0,%xmm10
movapd %xmm14,%xmm8
addsd  %xmm6,%xmm8
movapd %xmm13,%xmm12
addsd  %xmm10,%xmm12
subsd  %xmm14,%xmm6
subsd  %xmm13,%xmm10
movsd  (%r8,%r9,1),%xmm14
movsd  (%rsi,%r9,1),%xmm9
movapd %xmm9,%xmm13
mulsd  0x1bfb(%rip),%xmm13
movapd %xmm14,%xmm15
movsd  0x1bf6(%rip),%xmm0
mulsd  %xmm0,%xmm15
addsd  %xmm13,%xmm15
mulsd  0x1beb(%rip),%xmm14
mulsd  %xmm0,%xmm9
addsd  %xmm14,%xmm9
mov    -0x60(%rsp),%rax
movsd  (%rax,%r9,1),%xmm13
movapd %xmm13,%xmm14
mulsd  0x1bd0(%rip),%xmm14
movsd  (%rcx,%r9,1),%xmm1
movapd %xmm1,%xmm0
movsd  0x1bc6(%rip),%xmm7
mulsd  %xmm7,%xmm0
addsd  %xmm14,%xmm0
mulsd  0x1bbd(%rip),%xmm1
mulsd  %xmm7,%xmm13
addsd  %xmm1,%xmm13
movapd %xmm15,%xmm1
subsd  %xmm0,%xmm1
addsd  %xmm15,%xmm0
movsd  0x1b0c(%rip),%xmm15
movapd %xmm9,%xmm14
addsd  %xmm13,%xmm14
subsd  %xmm13,%xmm9
movapd %xmm14,%xmm13
addsd  %xmm1,%xmm13
subsd  %xmm1,%xmm14
movapd %xmm8,%xmm1
addsd  %xmm0,%xmm1
subsd  %xmm0,%xmm8
movapd %xmm11,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,(%r10,%r9,1)
subsd  %xmm11,%xmm1
movsd  0x1ab3(%rip),%xmm11
movsd  %xmm1,(%r12,%r9,1)
movsd  0x10(%rsp),%xmm1
movapd %xmm1,%xmm0
addsd  %xmm8,%xmm0
movsd  %xmm0,0x0(%rbp,%r9,1)
subsd  %xmm1,%xmm8
mulsd  0x1ab9(%rip),%xmm13
movsd  %xmm8,(%r15,%r9,1)
movsd  0x1a6a(%rip),%xmm8
movapd %xmm12,%xmm0
addsd  %xmm13,%xmm0
subsd  %xmm13,%xmm12
movapd %xmm4,%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,(%r8,%r9,1)
subsd  %xmm4,%xmm0
movsd  %xmm0,(%r11,%r9,1)
movapd %xmm2,%xmm0
addsd  %xmm12,%xmm0
movsd  %xmm0,(%rax,%r9,1)
subsd  %xmm2,%xmm12
movsd  0x1a67(%rip),%xmm2
movsd  -0x68(%rsp),%xmm4
mulsd  %xmm2,%xmm4
movsd  %xmm12,0x0(%r13,%r9,1)
movapd %xmm6,%xmm0
addsd  %xmm9,%xmm0
subsd  %xmm9,%xmm6
movsd  0x1a07(%rip),%xmm9
movapd %xmm4,%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,(%rdx,%r9,1)
subsd  %xmm4,%xmm0
mulsd  %xmm2,%xmm3
movsd  %xmm0,(%r14,%r9,1)
movapd %xmm3,%xmm0
addsd  %xmm6,%xmm0
movsd  %xmm0,(%rdi,%r9,1)
subsd  %xmm3,%xmm6
movsd  0x19a9(%rip),%xmm3
mulsd  %xmm2,%xmm14
movsd  %xmm6,(%rbx,%r9,1)
movsd  0x19a6(%rip),%xmm6
movapd %xmm10,%xmm0
addsd  %xmm14,%xmm0
subsd  %xmm14,%xmm10
movsd  0x19b6(%rip),%xmm14
movsd  -0x70(%rsp),%xmm2
movapd %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,(%rcx,%r9,1)
subsd  %xmm2,%xmm0
movsd  0x1976(%rip),%xmm7
mov    -0x80(%rsp),%rax
movsd  %xmm0,(%rax,%r9,1)
movapd %xmm5,%xmm0
addsd  %xmm10,%xmm0
movsd  %xmm0,(%rsi,%r9,1)
subsd  %xmm5,%xmm10
movsd  0x193f(%rip),%xmm5
mov    -0x78(%rsp),%rax
movsd  %xmm10,(%rax,%r9,1)
add    $0x8,%r9
cmp    $0x80,%r9
jne    1240 <ddct16x16s+0x140>
xor    %eax,%eax
mov    0x18(%rsp),%rdx
nopl   0x0(%rax)
mov    (%rdx,%rax,8),%rcx
movsd  (%rcx),%xmm12
movsd  0x8(%rcx),%xmm0
movsd  0x78(%rcx),%xmm2
movapd %xmm2,%xmm1
mulsd  %xmm3,%xmm1
movapd %xmm0,%xmm4
mulsd  %xmm5,%xmm4
addsd  %xmm1,%xmm4
mulsd  %xmm6,%xmm0
mulsd  %xmm5,%xmm2
addsd  %xmm0,%xmm2
movsd  0x38(%rcx),%xmm0
movsd  0x48(%rcx),%xmm6
movapd %xmm6,%xmm1
mulsd  %xmm7,%xmm1
movapd %xmm0,%xmm3
mulsd  %xmm8,%xmm3
addsd  %xmm1,%xmm3
mulsd  %xmm9,%xmm0
mulsd  %xmm8,%xmm6
addsd  %xmm0,%xmm6
movapd %xmm4,%xmm9
addsd  %xmm3,%xmm9
movapd %xmm2,%xmm10
subsd  %xmm6,%xmm10
subsd  %xmm3,%xmm4
addsd  %xmm2,%xmm6
movsd  0x28(%rcx),%xmm3
movsd  0x58(%rcx),%xmm2
movapd %xmm2,%xmm7
mulsd  %xmm11,%xmm7
movapd %xmm3,%xmm8
mulsd  %xmm14,%xmm8
addsd  %xmm7,%xmm8
mulsd  %xmm15,%xmm3
mulsd  %xmm14,%xmm2
addsd  %xmm3,%xmm2
movsd  0x18(%rcx),%xmm1
movsd  0x68(%rcx),%xmm3
movapd %xmm3,%xmm0
mulsd  0x1896(%rip),%xmm0
movapd %xmm1,%xmm7
movsd  0x1892(%rip),%xmm5
mulsd  %xmm5,%xmm7
addsd  %xmm0,%xmm7
mulsd  0x188a(%rip),%xmm1
mulsd  %xmm5,%xmm3
addsd  %xmm1,%xmm3
movapd %xmm8,%xmm14
addsd  %xmm7,%xmm14
movapd %xmm2,%xmm1
subsd  %xmm3,%xmm1
subsd  %xmm7,%xmm8
addsd  %xmm2,%xmm3
movapd %xmm9,%xmm0
subsd  %xmm14,%xmm0
movapd %xmm10,%xmm13
subsd  %xmm1,%xmm13
addsd  %xmm9,%xmm14
addsd  %xmm10,%xmm1
movsd  %xmm1,-0x70(%rsp)
movapd %xmm13,%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,-0x80(%rsp)
subsd  %xmm0,%xmm13
movapd %xmm4,%xmm0
addsd  %xmm3,%xmm0
movapd %xmm6,%xmm15
subsd  %xmm8,%xmm15
subsd  %xmm3,%xmm4
addsd  %xmm6,%xmm8
movapd %xmm8,%xmm1
movsd  0x1817(%rip),%xmm2
mulsd  %xmm2,%xmm1
movapd %xmm4,%xmm5
movsd  0x180f(%rip),%xmm3
mulsd  %xmm3,%xmm5
addsd  %xmm1,%xmm5
movsd  %xmm5,-0x78(%rsp)
mulsd  0x1801(%rip),%xmm4
mulsd  %xmm3,%xmm8
addsd  %xmm4,%xmm8
movapd %xmm15,%xmm1
mulsd  %xmm3,%xmm1
movapd %xmm0,%xmm9
mulsd  %xmm2,%xmm9
addsd  %xmm1,%xmm9
mulsd  0x17df(%rip),%xmm0
mulsd  %xmm2,%xmm15
addsd  %xmm0,%xmm15
movsd  0x20(%rcx),%xmm4
movsd  0x60(%rcx),%xmm1
movapd %xmm1,%xmm3
mulsd  0x17c7(%rip),%xmm3
movapd %xmm4,%xmm0
movsd  0x17c3(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm3,%xmm0
mulsd  0x17bb(%rip),%xmm4
mulsd  %xmm2,%xmm1
addsd  %xmm4,%xmm1
movsd  0x40(%rcx),%xmm3
movapd %xmm12,%xmm11
addsd  %xmm3,%xmm11
movsd  0x17a4(%rip),%xmm2
mulsd  %xmm2,%xmm11
subsd  %xmm3,%xmm12
mulsd  %xmm2,%xmm12
movapd %xmm0,%xmm6
addsd  %xmm11,%xmm6
movapd %xmm1,%xmm7
addsd  %xmm12,%xmm7
subsd  %xmm0,%xmm11
subsd  %xmm1,%xmm12
movsd  0x10(%rcx),%xmm0
movsd  0x70(%rcx),%xmm5
movapd %xmm5,%xmm3
mulsd  0x176b(%rip),%xmm3
movapd %xmm0,%xmm4
movsd  0x1767(%rip),%xmm1
mulsd  %xmm1,%xmm4
addsd  %xmm3,%xmm4
mulsd  0x175f(%rip),%xmm0
mulsd  %xmm1,%xmm5
addsd  %xmm0,%xmm5
movsd  0x50(%rcx),%xmm0
movapd %xmm0,%xmm3
mulsd  0x174e(%rip),%xmm3
movsd  0x30(%rcx),%xmm2
movapd %xmm2,%xmm1
movsd  0x1744(%rip),%xmm10
mulsd  %xmm10,%xmm1
addsd  %xmm3,%xmm1
mulsd  0x173b(%rip),%xmm2
mulsd  %xmm10,%xmm0
addsd  %xmm2,%xmm0
movapd %xmm4,%xmm2
subsd  %xmm1,%xmm2
addsd  %xmm4,%xmm1
movapd %xmm5,%xmm3
addsd  %xmm0,%xmm3
subsd  %xmm0,%xmm5
movapd %xmm3,%xmm0
addsd  %xmm2,%xmm0
subsd  %xmm2,%xmm3
movapd %xmm6,%xmm2
addsd  %xmm1,%xmm2
subsd  %xmm1,%xmm6
movapd %xmm14,%xmm1
addsd  %xmm2,%xmm1
movsd  %xmm1,(%rcx)
subsd  %xmm14,%xmm2
movsd  0x164f(%rip),%xmm14
movsd  %xmm2,0x78(%rcx)
movsd  0x166a(%rip),%xmm2
movsd  -0x70(%rsp),%xmm4
movapd %xmm4,%xmm1
addsd  %xmm6,%xmm1
movsd  %xmm1,0x40(%rcx)
subsd  %xmm4,%xmm6
mulsd  %xmm2,%xmm0
movsd  %xmm6,0x38(%rcx)
movsd  0x15f2(%rip),%xmm6
movapd %xmm7,%xmm1
addsd  %xmm0,%xmm1
subsd  %xmm0,%xmm7
movapd %xmm9,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,0x10(%rcx)
subsd  %xmm9,%xmm1
movsd  0x15e2(%rip),%xmm9
movsd  %xmm1,0x68(%rcx)
movapd %xmm15,%xmm0
addsd  %xmm7,%xmm0
movsd  %xmm0,0x50(%rcx)
subsd  %xmm15,%xmm7
movsd  0x15d9(%rip),%xmm15
movsd  -0x80(%rsp),%xmm4
mulsd  %xmm2,%xmm4
movsd  %xmm7,0x28(%rcx)
movsd  0x159a(%rip),%xmm7
movapd %xmm11,%xmm0
addsd  %xmm5,%xmm0
subsd  %xmm5,%xmm11
movsd  0x1574(%rip),%xmm5
movapd %xmm4,%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,0x20(%rcx)
subsd  %xmm4,%xmm0
mulsd  %xmm2,%xmm13
movsd  %xmm0,0x58(%rcx)
movapd %xmm13,%xmm0
addsd  %xmm11,%xmm0
movsd  %xmm0,0x60(%rcx)
subsd  %xmm13,%xmm11
mulsd  %xmm2,%xmm3
movsd  %xmm11,0x18(%rcx)
movsd  0x155a(%rip),%xmm11
movapd %xmm12,%xmm0
addsd  %xmm3,%xmm0
subsd  %xmm3,%xmm12
movsd  0x1514(%rip),%xmm3
movsd  -0x78(%rsp),%xmm2
movapd %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,0x30(%rcx)
subsd  %xmm2,%xmm0
movsd  %xmm0,0x48(%rcx)
movapd %xmm8,%xmm0
addsd  %xmm12,%xmm0
movsd  %xmm0,0x70(%rcx)
subsd  %xmm8,%xmm12
movsd  0x14fb(%rip),%xmm8
movsd  %xmm12,0x8(%rcx)
add    $0x1,%rax
cmp    $0x10,%rax
jne    16f0 <ddct16x16s+0x5f0>
jmp    2518 <ddct16x16s+0x1418>
mov    (%rsi),%rax
mov    %rax,-0x60(%rsp)
mov    0x8(%rsi),%rax
mov    %rax,(%rsp)
mov    0x78(%rsi),%rax
mov    %rax,-0x8(%rsp)
mov    0x40(%rsi),%rax
mov    %rax,-0x10(%rsp)
mov    0x38(%rsi),%rax
mov    %rax,-0x18(%rsp)
mov    0x10(%rsi),%rax
mov    %rax,-0x20(%rsp)
mov    0x68(%rsi),%rax
mov    %rax,-0x78(%rsp)
mov    0x50(%rsi),%rax
mov    %rax,-0x28(%rsp)
mov    0x28(%rsi),%rax
mov    %rax,-0x30(%rsp)
mov    0x20(%rsi),%rax
mov    %rax,-0x38(%rsp)
mov    0x58(%rsi),%rax
mov    %rax,-0x40(%rsp)
mov    0x60(%rsi),%rax
mov    %rax,-0x48(%rsp)
mov    0x18(%rsi),%rax
mov    %rax,-0x80(%rsp)
mov    0x30(%rsi),%rax
mov    %rax,-0x50(%rsp)
mov    0x48(%rsi),%rax
mov    %rax,-0x58(%rsp)
mov    0x70(%rsi),%rax
mov    %rax,0x20(%rsp)
xor    %r9d,%r9d
mov    -0x60(%rsp),%rcx
mov    -0x8(%rsp),%r14
mov    -0x10(%rsp),%r15
mov    -0x18(%rsp),%r12
mov    -0x20(%rsp),%r13
mov    -0x28(%rsp),%rsi
mov    -0x30(%rsp),%rbx
mov    -0x38(%rsp),%rdx
mov    -0x40(%rsp),%rbp
mov    -0x48(%rsp),%r10
mov    -0x50(%rsp),%r8
mov    -0x58(%rsp),%rdi
mov    (%rsp),%r11
nop
movsd  (%rcx,%r9,1),%xmm6
movsd  (%r14,%r9,1),%xmm0
movapd %xmm6,%xmm1
subsd  %xmm0,%xmm1
movsd  %xmm1,-0x68(%rsp)
addsd  %xmm0,%xmm6
movsd  (%r15,%r9,1),%xmm0
movsd  (%r12,%r9,1),%xmm1
movapd %xmm0,%xmm2
subsd  %xmm1,%xmm2
movsd  %xmm2,0x10(%rsp)
addsd  %xmm1,%xmm0
movapd %xmm6,%xmm9
addsd  %xmm0,%xmm9
subsd  %xmm0,%xmm6
movsd  0x0(%r13,%r9,1),%xmm13
mov    -0x78(%rsp),%rax
movsd  (%rax,%r9,1),%xmm0
movapd %xmm13,%xmm1
subsd  %xmm0,%xmm1
movsd  %xmm1,-0x70(%rsp)
addsd  %xmm0,%xmm13
movsd  (%rsi,%r9,1),%xmm1
movsd  (%rbx,%r9,1),%xmm0
movapd %xmm1,%xmm12
subsd  %xmm0,%xmm12
addsd  %xmm0,%xmm1
movapd %xmm13,%xmm14
addsd  %xmm1,%xmm14
subsd  %xmm1,%xmm13
movsd  (%rdx,%r9,1),%xmm10
movsd  0x0(%rbp,%r9,1),%xmm1
movapd %xmm10,%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,0x8(%rsp)
addsd  %xmm1,%xmm10
movsd  (%r10,%r9,1),%xmm1
mov    -0x80(%rsp),%rax
movsd  (%rax,%r9,1),%xmm4
movapd %xmm1,%xmm7
subsd  %xmm4,%xmm7
addsd  %xmm4,%xmm1
movapd %xmm10,%xmm4
addsd  %xmm1,%xmm4
subsd  %xmm1,%xmm10
movsd  (%r8,%r9,1),%xmm5
movsd  (%rdi,%r9,1),%xmm1
movapd %xmm5,%xmm11
subsd  %xmm1,%xmm11
addsd  %xmm1,%xmm5
mov    0x20(%rsp),%rax
movsd  (%rax,%r9,1),%xmm1
movsd  (%r11,%r9,1),%xmm2
movapd %xmm1,%xmm15
subsd  %xmm2,%xmm15
addsd  %xmm2,%xmm1
movapd %xmm5,%xmm2
addsd  %xmm1,%xmm2
subsd  %xmm1,%xmm5
movapd %xmm9,%xmm3
addsd  %xmm4,%xmm3
movapd %xmm14,%xmm0
addsd  %xmm2,%xmm0
movapd %xmm3,%xmm1
addsd  %xmm0,%xmm1
movsd  0x1343(%rip),%xmm8
mulsd  %xmm8,%xmm1
movsd  %xmm1,(%rcx,%r9,1)
subsd  %xmm0,%xmm3
mulsd  %xmm8,%xmm3
movsd  %xmm3,(%r15,%r9,1)
subsd  %xmm4,%xmm9
subsd  %xmm2,%xmm14
movapd %xmm14,%xmm0
mulsd  0x130a(%rip),%xmm0
movapd %xmm9,%xmm1
movsd  0x12f5(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,(%rdx,%r9,1)
mulsd  0x12d6(%rip),%xmm9
mulsd  %xmm2,%xmm14
addsd  %xmm9,%xmm14
movsd  %xmm14,(%r10,%r9,1)
movsd  0x12dd(%rip),%xmm14
movsd  0x12dc(%rip),%xmm9
movsd  0x12dc(%rip),%xmm4
movapd %xmm13,%xmm0
subsd  %xmm5,%xmm0
mulsd  0x1273(%rip),%xmm0
addsd  %xmm13,%xmm5
movsd  0x127d(%rip),%xmm13
movsd  0x125c(%rip),%xmm8
mulsd  %xmm8,%xmm5
movapd %xmm6,%xmm1
addsd  %xmm0,%xmm1
movapd %xmm10,%xmm2
addsd  %xmm5,%xmm2
movapd %xmm2,%xmm3
mulsd  %xmm4,%xmm3
movapd %xmm1,%xmm4
mulsd  %xmm9,%xmm4
addsd  %xmm3,%xmm4
movsd  %xmm4,0x0(%r13,%r9,1)
mulsd  %xmm14,%xmm1
movsd  0x1285(%rip),%xmm4
movsd  0x1285(%rip),%xmm3
mulsd  %xmm9,%xmm2
addsd  %xmm1,%xmm2
movsd  %xmm2,(%rax,%r9,1)
subsd  %xmm0,%xmm6
subsd  %xmm10,%xmm5
movapd %xmm5,%xmm0
mulsd  %xmm3,%xmm0
movapd %xmm6,%xmm1
mulsd  %xmm4,%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,(%r8,%r9,1)
mulsd  0x123b(%rip),%xmm6
mulsd  %xmm4,%xmm5
addsd  %xmm6,%xmm5
movsd  %xmm5,(%rsi,%r9,1)
movsd  0x8(%rsp),%xmm0
movapd %xmm0,%xmm1
subsd  %xmm7,%xmm1
mulsd  %xmm8,%xmm1
addsd  %xmm0,%xmm7
mulsd  %xmm8,%xmm7
movsd  -0x68(%rsp),%xmm0
movapd %xmm0,%xmm9
subsd  %xmm1,%xmm9
movsd  0x10(%rsp),%xmm2
movapd %xmm2,%xmm10
subsd  %xmm7,%xmm10
addsd  %xmm0,%xmm1
addsd  %xmm2,%xmm7
movapd %xmm15,%xmm0
mulsd  %xmm13,%xmm0
movsd  0x1126(%rip),%xmm13
movsd  0x118e(%rip),%xmm5
movsd  0x116e(%rip),%xmm4
movsd  0x116e(%rip),%xmm3
movapd %xmm11,%xmm6
mulsd  %xmm3,%xmm6
addsd  %xmm0,%xmm6
mulsd  %xmm4,%xmm11
mulsd  %xmm3,%xmm15
addsd  %xmm11,%xmm15
movapd %xmm12,%xmm0
mulsd  %xmm5,%xmm0
movsd  -0x70(%rsp),%xmm5
movapd %xmm5,%xmm2
mulsd  %xmm4,%xmm2
addsd  %xmm0,%xmm2
mulsd  %xmm3,%xmm5
mulsd  %xmm4,%xmm12
addsd  %xmm5,%xmm12
movapd %xmm2,%xmm8
addsd  %xmm6,%xmm8
movapd %xmm12,%xmm5
addsd  %xmm15,%xmm5
subsd  %xmm6,%xmm2
subsd  %xmm15,%xmm12
movapd %xmm1,%xmm0
addsd  %xmm8,%xmm0
movapd %xmm7,%xmm3
addsd  %xmm5,%xmm3
movapd %xmm3,%xmm4
mulsd  %xmm13,%xmm4
movsd  0x1091(%rip),%xmm13
movsd  0x1078(%rip),%xmm11
movapd %xmm0,%xmm6
mulsd  %xmm11,%xmm6
addsd  %xmm4,%xmm6
movsd  %xmm6,(%r11,%r9,1)
movsd  0x107d(%rip),%xmm6
movsd  0x104d(%rip),%xmm4
mulsd  %xmm4,%xmm0
mulsd  %xmm11,%xmm3
addsd  %xmm0,%xmm3
movsd  %xmm3,(%r14,%r9,1)
subsd  %xmm8,%xmm1
subsd  %xmm7,%xmm5
movapd %xmm5,%xmm0
mulsd  %xmm6,%xmm0
movsd  0x1041(%rip),%xmm4
movapd %xmm1,%xmm3
mulsd  %xmm4,%xmm3
addsd  %xmm0,%xmm3
movsd  %xmm3,(%r12,%r9,1)
mulsd  %xmm13,%xmm1
mulsd  %xmm4,%xmm5
addsd  %xmm1,%xmm5
movsd  %xmm5,(%rdi,%r9,1)
movsd  0x102c(%rip),%xmm5
movsd  0x102c(%rip),%xmm4
movapd %xmm9,%xmm0
subsd  %xmm12,%xmm0
movapd %xmm10,%xmm1
addsd  %xmm2,%xmm1
movapd %xmm1,%xmm3
mulsd  %xmm4,%xmm3
movapd %xmm0,%xmm4
mulsd  %xmm5,%xmm4
addsd  %xmm3,%xmm4
movsd  %xmm4,(%rbx,%r9,1)
movsd  0x100f(%rip),%xmm4
movsd  0xfdf(%rip),%xmm3
mulsd  %xmm3,%xmm0
mulsd  %xmm5,%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,0x0(%rbp,%r9,1)
addsd  %xmm9,%xmm12
subsd  %xmm10,%xmm2
movapd %xmm2,%xmm0
mulsd  %xmm4,%xmm0
movsd  0xfd2(%rip),%xmm3
movapd %xmm12,%xmm1
mulsd  %xmm3,%xmm1
addsd  %xmm0,%xmm1
movsd  0xfb5(%rip),%xmm0
mov    -0x80(%rsp),%rax
movsd  %xmm1,(%rax,%r9,1)
mulsd  %xmm0,%xmm12
mulsd  %xmm3,%xmm2
addsd  %xmm12,%xmm2
mov    -0x78(%rsp),%rax
movsd  %xmm2,(%rax,%r9,1)
add    $0x8,%r9
cmp    $0x80,%r9
jne    1c10 <ddct16x16s+0xb10>
xor    %eax,%eax
mov    0x18(%rsp),%rdx
movsd  0xfc8(%rip),%xmm15
nopl   0x0(%rax,%rax,1)
mov    (%rdx,%rax,8),%rcx
movsd  0x78(%rcx),%xmm0
movsd  (%rcx),%xmm7
movsd  0x8(%rcx),%xmm10
movapd %xmm7,%xmm1
subsd  %xmm0,%xmm1
movsd  %xmm1,-0x80(%rsp)
addsd  %xmm0,%xmm7
movsd  0x40(%rcx),%xmm0
movsd  0x38(%rcx),%xmm1
movapd %xmm0,%xmm2
subsd  %xmm1,%xmm2
movsd  %xmm2,-0x70(%rsp)
addsd  %xmm1,%xmm0
movapd %xmm7,%xmm3
addsd  %xmm0,%xmm3
subsd  %xmm0,%xmm7
movsd  0x10(%rcx),%xmm14
movsd  0x68(%rcx),%xmm0
movapd %xmm14,%xmm1
subsd  %xmm0,%xmm1
movsd  %xmm1,-0x78(%rsp)
addsd  %xmm0,%xmm14
movsd  0x50(%rcx),%xmm0
movsd  0x28(%rcx),%xmm1
movapd %xmm0,%xmm8
subsd  %xmm1,%xmm8
addsd  %xmm1,%xmm0
movapd %xmm14,%xmm5
addsd  %xmm0,%xmm5
subsd  %xmm0,%xmm14
movsd  0x20(%rcx),%xmm11
movsd  0x58(%rcx),%xmm0
movapd %xmm11,%xmm1
subsd  %xmm0,%xmm1
movsd  %xmm1,-0x68(%rsp)
addsd  %xmm0,%xmm11
movsd  0x60(%rcx),%xmm4
movsd  0x18(%rcx),%xmm1
movapd %xmm4,%xmm0
subsd  %xmm1,%xmm0
addsd  %xmm1,%xmm4
movapd %xmm11,%xmm1
addsd  %xmm4,%xmm1
subsd  %xmm4,%xmm11
movsd  0x30(%rcx),%xmm4
movsd  0x48(%rcx),%xmm13
movapd %xmm4,%xmm12
subsd  %xmm13,%xmm12
addsd  %xmm13,%xmm4
movsd  0x70(%rcx),%xmm13
movapd %xmm13,%xmm9
subsd  %xmm10,%xmm9
addsd  %xmm10,%xmm13
movapd %xmm4,%xmm10
addsd  %xmm13,%xmm10
subsd  %xmm13,%xmm4
movapd %xmm3,%xmm6
addsd  %xmm1,%xmm6
movapd %xmm5,%xmm2
addsd  %xmm10,%xmm2
movapd %xmm6,%xmm13
addsd  %xmm2,%xmm13
mulsd  %xmm15,%xmm13
movsd  %xmm13,(%rcx)
movsd  0xe3f(%rip),%xmm13
subsd  %xmm2,%xmm6
mulsd  %xmm15,%xmm6
movsd  %xmm6,0x40(%rcx)
subsd  %xmm1,%xmm3
subsd  %xmm10,%xmm5
movapd %xmm5,%xmm1
mulsd  0xe54(%rip),%xmm1
movapd %xmm3,%xmm2
movsd  0xe40(%rip),%xmm6
mulsd  %xmm6,%xmm2
addsd  %xmm1,%xmm2
movsd  %xmm2,0x20(%rcx)
mulsd  0xe23(%rip),%xmm3
mulsd  %xmm6,%xmm5
addsd  %xmm3,%xmm5
movsd  %xmm5,0x60(%rcx)
movapd %xmm14,%xmm1
subsd  %xmm4,%xmm1
mulsd  %xmm13,%xmm1
addsd  %xmm14,%xmm4
movsd  0xe3a(%rip),%xmm14
movsd  0xe19(%rip),%xmm10
mulsd  %xmm13,%xmm4
movapd %xmm7,%xmm2
addsd  %xmm1,%xmm2
movapd %xmm11,%xmm3
addsd  %xmm4,%xmm3
movapd %xmm3,%xmm5
mulsd  0xdff(%rip),%xmm5
movapd %xmm2,%xmm6
mulsd  %xmm10,%xmm6
addsd  %xmm5,%xmm6
movsd  %xmm6,0x10(%rcx)
mulsd  0xdd5(%rip),%xmm2
mulsd  %xmm10,%xmm3
addsd  %xmm2,%xmm3
movsd  %xmm3,0x70(%rcx)
subsd  %xmm1,%xmm7
subsd  %xmm11,%xmm4
movapd %xmm4,%xmm1
mulsd  0xdda(%rip),%xmm1
movapd %xmm7,%xmm2
mulsd  %xmm14,%xmm2
addsd  %xmm1,%xmm2
movsd  %xmm2,0x30(%rcx)
mulsd  0xdb0(%rip),%xmm7
mulsd  %xmm14,%xmm4
addsd  %xmm7,%xmm4
movsd  %xmm4,0x50(%rcx)
movsd  -0x68(%rsp),%xmm1
movapd %xmm1,%xmm7
subsd  %xmm0,%xmm7
mulsd  %xmm13,%xmm7
addsd  %xmm1,%xmm0
mulsd  %xmm13,%xmm0
movsd  0xcc5(%rip),%xmm13
movsd  0xd1d(%rip),%xmm2
movsd  0xd1d(%rip),%xmm1
movsd  -0x80(%rsp),%xmm3
movapd %xmm3,%xmm10
subsd  %xmm7,%xmm10
movsd  -0x70(%rsp),%xmm4
movapd %xmm4,%xmm11
subsd  %xmm0,%xmm11
addsd  %xmm3,%xmm7
addsd  %xmm4,%xmm0
movapd %xmm9,%xmm3
mulsd  0xcf0(%rip),%xmm3
movapd %xmm12,%xmm5
mulsd  %xmm1,%xmm5
addsd  %xmm3,%xmm5
mulsd  %xmm2,%xmm12
mulsd  %xmm1,%xmm9
addsd  %xmm12,%xmm9
movapd %xmm8,%xmm4
mulsd  0xccf(%rip),%xmm4
movsd  -0x78(%rsp),%xmm6
movapd %xmm6,%xmm3
mulsd  %xmm2,%xmm3
addsd  %xmm4,%xmm3
mulsd  %xmm1,%xmm6
mulsd  %xmm2,%xmm8
addsd  %xmm6,%xmm8
movapd %xmm3,%xmm12
addsd  %xmm5,%xmm12
movapd %xmm8,%xmm4
addsd  %xmm9,%xmm4
subsd  %xmm5,%xmm3
subsd  %xmm9,%xmm8
movapd %xmm7,%xmm2
addsd  %xmm12,%xmm2
movapd %xmm0,%xmm1
addsd  %xmm4,%xmm1
movapd %xmm1,%xmm6
mulsd  0xc05(%rip),%xmm6
movapd %xmm2,%xmm5
mulsd  %xmm13,%xmm5
addsd  %xmm6,%xmm5
movsd  0xc00(%rip),%xmm6
movsd  %xmm5,0x8(%rcx)
movsd  0xc0b(%rip),%xmm5
mulsd  0xbcb(%rip),%xmm2
mulsd  %xmm13,%xmm1
addsd  %xmm2,%xmm1
movsd  %xmm1,0x78(%rcx)
subsd  %xmm12,%xmm7
subsd  %xmm0,%xmm4
movapd %xmm4,%xmm0
mulsd  0xbd0(%rip),%xmm0
movapd %xmm7,%xmm1
mulsd  %xmm6,%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,0x38(%rcx)
mulsd  0xba7(%rip),%xmm7
mulsd  %xmm6,%xmm4
addsd  %xmm7,%xmm4
movsd  %xmm4,0x48(%rcx)
movapd %xmm10,%xmm0
subsd  %xmm8,%xmm0
movapd %xmm11,%xmm1
addsd  %xmm3,%xmm1
movapd %xmm1,%xmm2
mulsd  0xba3(%rip),%xmm2
movapd %xmm0,%xmm4
mulsd  %xmm5,%xmm4
addsd  %xmm2,%xmm4
movsd  %xmm4,0x28(%rcx)
movsd  0xb9a(%rip),%xmm2
mulsd  0xb72(%rip),%xmm0
mulsd  %xmm5,%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,0x58(%rcx)
addsd  %xmm10,%xmm8
subsd  %xmm11,%xmm3
movapd %xmm3,%xmm0
mulsd  0xb77(%rip),%xmm0
movapd %xmm8,%xmm1
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,0x18(%rcx)
mulsd  0xb4c(%rip),%xmm8
mulsd  %xmm2,%xmm3
addsd  %xmm8,%xmm3
movsd  %xmm3,0x68(%rcx)
add    $0x1,%rax
cmp    $0x10,%rax
jne    20e0 <ddct16x16s+0xfe0>
add    $0x28,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
define void @ddct16x16s(i32 %0, double** %1) {
%3 = alloca i32
%4 = alloca double**
%5 = alloca i32
%6 = alloca double
%7 = alloca double
%8 = alloca double
%9 = alloca double
%10 = alloca double
%11 = alloca double
%12 = alloca double
%13 = alloca double
%14 = alloca double
%15 = alloca double
%16 = alloca double
%17 = alloca double
%18 = alloca double
%19 = alloca double
%20 = alloca double
%21 = alloca double
%22 = alloca double
%23 = alloca double
store i32 %0, i32* %3
store double** %1, double*** %4
%24 = load i32, i32* %3
%25 = icmp slt i32 %24, 0
br i1 %25, label %26, label %1117
26: ; preds = %2
store i32 0, i32* %5
br label %27
27: ; preds = %568, %26
%28 = load i32, i32* %5
%29 = icmp sle i32 %28, 15
br i1 %29, label %30, label %571
30: ; preds = %27
%31 = load double**, double*** %4
%32 = getelementptr inbounds double*, double** %31, i64 0
%33 = load double*, double** %32
%34 = load i32, i32* %5
%35 = sext i32 %34 to i64
%36 = getelementptr inbounds double, double* %33, i64 %35
%37 = load double, double* %36
%38 = load double**, double*** %4
%39 = getelementptr inbounds double*, double** %38, i64 15
%40 = load double*, double** %39
%41 = load i32, i32* %5
%42 = sext i32 %41 to i64
%43 = getelementptr inbounds double, double* %40, i64 %42
%44 = load double, double* %43
%45 = fsub double %37, %44
store double %45, double* %14
%46 = load double**, double*** %4
%47 = getelementptr inbounds double*, double** %46, i64 0
%48 = load double*, double** %47
%49 = load i32, i32* %5
%50 = sext i32 %49 to i64
%51 = getelementptr inbounds double, double* %48, i64 %50
%52 = load double, double* %51
%53 = load double**, double*** %4
%54 = getelementptr inbounds double*, double** %53, i64 15
%55 = load double*, double** %54
%56 = load i32, i32* %5
%57 = sext i32 %56 to i64
%58 = getelementptr inbounds double, double* %55, i64 %57
%59 = load double, double* %58
%60 = fadd double %52, %59
store double %60, double* %22
%61 = load double**, double*** %4
%62 = getelementptr inbounds double*, double** %61, i64 8
%63 = load double*, double** %62
%64 = load i32, i32* %5
%65 = sext i32 %64 to i64
%66 = getelementptr inbounds double, double* %63, i64 %65
%67 = load double, double* %66
%68 = load double**, double*** %4
%69 = getelementptr inbounds double*, double** %68, i64 7
%70 = load double*, double** %69
%71 = load i32, i32* %5
%72 = sext i32 %71 to i64
%73 = getelementptr inbounds double, double* %70, i64 %72
%74 = load double, double* %73
%75 = fsub double %67, %74
store double %75, double* %15
%76 = load double**, double*** %4
%77 = getelementptr inbounds double*, double** %76, i64 8
%78 = load double*, double** %77
%79 = load i32, i32* %5
%80 = sext i32 %79 to i64
%81 = getelementptr inbounds double, double* %78, i64 %80
%82 = load double, double* %81
%83 = load double**, double*** %4
%84 = getelementptr inbounds double*, double** %83, i64 7
%85 = load double*, double** %84
%86 = load i32, i32* %5
%87 = sext i32 %86 to i64
%88 = getelementptr inbounds double, double* %85, i64 %87
%89 = load double, double* %88
%90 = fadd double %82, %89
store double %90, double* %23
%91 = load double, double* %22
%92 = load double, double* %23
%93 = fadd double %91, %92
store double %93, double* %6
%94 = load double, double* %22
%95 = load double, double* %23
%96 = fsub double %94, %95
store double %96, double* %7
%97 = load double**, double*** %4
%98 = getelementptr inbounds double*, double** %97, i64 2
%99 = load double*, double** %98
%100 = load i32, i32* %5
%101 = sext i32 %100 to i64
%102 = getelementptr inbounds double, double* %99, i64 %101
%103 = load double, double* %102
%104 = load double**, double*** %4
%105 = getelementptr inbounds double*, double** %104, i64 13
%106 = load double*, double** %105
%107 = load i32, i32* %5
%108 = sext i32 %107 to i64
%109 = getelementptr inbounds double, double* %106, i64 %108
%110 = load double, double* %109
%111 = fsub double %103, %110
store double %111, double* %16
%112 = load double**, double*** %4
%113 = getelementptr inbounds double*, double** %112, i64 2
%114 = load double*, double** %113
%115 = load i32, i32* %5
%116 = sext i32 %115 to i64
%117 = getelementptr inbounds double, double* %114, i64 %116
%118 = load double, double* %117
%119 = load double**, double*** %4
%120 = getelementptr inbounds double*, double** %119, i64 13
%121 = load double*, double** %120
%122 = load i32, i32* %5
%123 = sext i32 %122 to i64
%124 = getelementptr inbounds double, double* %121, i64 %123
%125 = load double, double* %124
%126 = fadd double %118, %125
store double %126, double* %22
%127 = load double**, double*** %4
%128 = getelementptr inbounds double*, double** %127, i64 10
%129 = load double*, double** %128
%130 = load i32, i32* %5
%131 = sext i32 %130 to i64
%132 = getelementptr inbounds double, double* %129, i64 %131
%133 = load double, double* %132
%134 = load double**, double*** %4
%135 = getelementptr inbounds double*, double** %134, i64 5
%136 = load double*, double** %135
%137 = load i32, i32* %5
%138 = sext i32 %137 to i64
%139 = getelementptr inbounds double, double* %136, i64 %138
%140 = load double, double* %139
%141 = fsub double %133, %140
store double %141, double* %17
%142 = load double**, double*** %4
%143 = getelementptr inbounds double*, double** %142, i64 10
%144 = load double*, double** %143
%145 = load i32, i32* %5
%146 = sext i32 %145 to i64
%147 = getelementptr inbounds double, double* %144, i64 %146
%148 = load double, double* %147
%149 = load double**, double*** %4
%150 = getelementptr inbounds double*, double** %149, i64 5
%151 = load double*, double** %150
%152 = load i32, i32* %5
%153 = sext i32 %152 to i64
%154 = getelementptr inbounds double, double* %151, i64 %153
%155 = load double, double* %154
%156 = fadd double %148, %155
store double %156, double* %23
%157 = load double, double* %22
%158 = load double, double* %23
%159 = fadd double %157, %158
store double %159, double* %8
%160 = load double, double* %22
%161 = load double, double* %23
%162 = fsub double %160, %161
store double %162, double* %9
%163 = load double**, double*** %4
%164 = getelementptr inbounds double*, double** %163, i64 4
%165 = load double*, double** %164
%166 = load i32, i32* %5
%167 = sext i32 %166 to i64
%168 = getelementptr inbounds double, double* %165, i64 %167
%169 = load double, double* %168
%170 = load double**, double*** %4
%171 = getelementptr inbounds double*, double** %170, i64 11
%172 = load double*, double** %171
%173 = load i32, i32* %5
%174 = sext i32 %173 to i64
%175 = getelementptr inbounds double, double* %172, i64 %174
%176 = load double, double* %175
%177 = fsub double %169, %176
store double %177, double* %18
%178 = load double**, double*** %4
%179 = getelementptr inbounds double*, double** %178, i64 4
%180 = load double*, double** %179
%181 = load i32, i32* %5
%182 = sext i32 %181 to i64
%183 = getelementptr inbounds double, double* %180, i64 %182
%184 = load double, double* %183
%185 = load double**, double*** %4
%186 = getelementptr inbounds double*, double** %185, i64 11
%187 = load double*, double** %186
%188 = load i32, i32* %5
%189 = sext i32 %188 to i64
%190 = getelementptr inbounds double, double* %187, i64 %189
%191 = load double, double* %190
%192 = fadd double %184, %191
store double %192, double* %22
%193 = load double**, double*** %4
%194 = getelementptr inbounds double*, double** %193, i64 12
%195 = load double*, double** %194
%196 = load i32, i32* %5
%197 = sext i32 %196 to i64
%198 = getelementptr inbounds double, double* %195, i64 %197
%199 = load double, double* %198
%200 = load double**, double*** %4
%201 = getelementptr inbounds double*, double** %200, i64 3
%202 = load double*, double** %201
%203 = load i32, i32* %5
%204 = sext i32 %203 to i64
%205 = getelementptr inbounds double, double* %202, i64 %204
%206 = load double, double* %205
%207 = fsub double %199, %206
store double %207, double* %19
%208 = load double**, double*** %4
%209 = getelementptr inbounds double*, double** %208, i64 12
%210 = load double*, double** %209
%211 = load i32, i32* %5
%212 = sext i32 %211 to i64
%213 = getelementptr inbounds double, double* %210, i64 %212
%214 = load double, double* %213
%215 = load double**, double*** %4
%216 = getelementptr inbounds double*, double** %215, i64 3
%217 = load double*, double** %216
%218 = load i32, i32* %5
%219 = sext i32 %218 to i64
%220 = getelementptr inbounds double, double* %217, i64 %219
%221 = load double, double* %220
%222 = fadd double %214, %221
store double %222, double* %23
%223 = load double, double* %22
%224 = load double, double* %23
%225 = fadd double %223, %224
store double %225, double* %10
%226 = load double, double* %22
%227 = load double, double* %23
%228 = fsub double %226, %227
store double %228, double* %11
%229 = load double**, double*** %4
%230 = getelementptr inbounds double*, double** %229, i64 6
%231 = load double*, double** %230
%232 = load i32, i32* %5
%233 = sext i32 %232 to i64
%234 = getelementptr inbounds double, double* %231, i64 %233
%235 = load double, double* %234
%236 = load double**, double*** %4
%237 = getelementptr inbounds double*, double** %236, i64 9
%238 = load double*, double** %237
%239 = load i32, i32* %5
%240 = sext i32 %239 to i64
%241 = getelementptr inbounds double, double* %238, i64 %240
%242 = load double, double* %241
%243 = fsub double %235, %242
store double %243, double* %20
%244 = load double**, double*** %4
%245 = getelementptr inbounds double*, double** %244, i64 6
%246 = load double*, double** %245
%247 = load i32, i32* %5
%248 = sext i32 %247 to i64
%249 = getelementptr inbounds double, double* %246, i64 %248
%250 = load double, double* %249
%251 = load double**, double*** %4
%252 = getelementptr inbounds double*, double** %251, i64 9
%253 = load double*, double** %252
%254 = load i32, i32* %5
%255 = sext i32 %254 to i64
%256 = getelementptr inbounds double, double* %253, i64 %255
%257 = load double, double* %256
%258 = fadd double %250, %257
store double %258, double* %22
%259 = load double**, double*** %4
%260 = getelementptr inbounds double*, double** %259, i64 14
%261 = load double*, double** %260
%262 = load i32, i32* %5
%263 = sext i32 %262 to i64
%264 = getelementptr inbounds double, double* %261, i64 %263
%265 = load double, double* %264
%266 = load double**, double*** %4
%267 = getelementptr inbounds double*, double** %266, i64 1
%268 = load double*, double** %267
%269 = load i32, i32* %5
%270 = sext i32 %269 to i64
%271 = getelementptr inbounds double, double* %268, i64 %270
%272 = load double, double* %271
%273 = fsub double %265, %272
store double %273, double* %21
%274 = load double**, double*** %4
%275 = getelementptr inbounds double*, double** %274, i64 14
%276 = load double*, double** %275
%277 = load i32, i32* %5
%278 = sext i32 %277 to i64
%279 = getelementptr inbounds double, double* %276, i64 %278
%280 = load double, double* %279
%281 = load double**, double*** %4
%282 = getelementptr inbounds double*, double** %281, i64 1
%283 = load double*, double** %282
%284 = load i32, i32* %5
%285 = sext i32 %284 to i64
%286 = getelementptr inbounds double, double* %283, i64 %285
%287 = load double, double* %286
%288 = fadd double %280, %287
store double %288, double* %23
%289 = load double, double* %22
%290 = load double, double* %23
%291 = fadd double %289, %290
store double %291, double* %12
%292 = load double, double* %22
%293 = load double, double* %23
%294 = fsub double %292, %293
store double %294, double* %13
%295 = load double, double* %6
%296 = load double, double* %10
%297 = fadd double %295, %296
store double %297, double* %22
%298 = load double, double* %8
%299 = load double, double* %12
%300 = fadd double %298, %299
store double %300, double* %23
%301 = load double, double* %22
%302 = load double, double* %23
%303 = fadd double %301, %302
%304 = fmul double 2.500000e-01, %303
%305 = load double**, double*** %4
%306 = getelementptr inbounds double*, double** %305, i64 0
%307 = load double*, double** %306
%308 = load i32, i32* %5
%309 = sext i32 %308 to i64
%310 = getelementptr inbounds double, double* %307, i64 %309
store double %304, double* %310
%311 = load double, double* %22
%312 = load double, double* %23
%313 = fsub double %311, %312
%314 = fmul double 2.500000e-01, %313
%315 = load double**, double*** %4
%316 = getelementptr inbounds double*, double** %315, i64 8
%317 = load double*, double** %316
%318 = load i32, i32* %5
%319 = sext i32 %318 to i64
%320 = getelementptr inbounds double, double* %317, i64 %319
store double %314, double* %320
%321 = load double, double* %6
%322 = load double, double* %10
%323 = fsub double %321, %322
store double %323, double* %22
%324 = load double, double* %8
%325 = load double, double* %12
%326 = fsub double %324, %325
store double %326, double* %23
%327 = load double, double* %22
%328 = load double, double* %23
%329 = fmul double 0x3FC1517A7BDB3895, %328
%330 = fneg double %329
%331 = call double @llvm.fmuladd.f64(double 0x3FD4E7AE9144F0FC, double %327, double %330)
%332 = load double**, double*** %4
%333 = getelementptr inbounds double*, double** %332, i64 4
%334 = load double*, double** %333
%335 = load i32, i32* %5
%336 = sext i32 %335 to i64
%337 = getelementptr inbounds double, double* %334, i64 %336
store double %331, double* %337
%338 = load double, double* %23
%339 = load double, double* %22
%340 = fmul double 0x3FC1517A7BDB3895, %339
%341 = call double @llvm.fmuladd.f64(double 0x3FD4E7AE9144F0FC, double %338, double %340)
%342 = load double**, double*** %4
%343 = getelementptr inbounds double*, double** %342, i64 12
%344 = load double*, double** %343
%345 = load i32, i32* %5
%346 = sext i32 %345 to i64
%347 = getelementptr inbounds double, double* %344, i64 %346
store double %341, double* %347
%348 = load double, double* %9
%349 = load double, double* %13
%350 = fsub double %348, %349
%351 = fmul double 0x3FE6A09E667F3BCD, %350
store double %351, double* %6
%352 = load double, double* %9
%353 = load double, double* %13
%354 = fadd double %352, %353
%355 = fmul double 0x3FE6A09E667F3BCD, %354
store double %355, double* %10
%356 = load double, double* %7
%357 = load double, double* %6
%358 = fadd double %356, %357
store double %358, double* %22
%359 = load double, double* %10
%360 = load double, double* %11
%361 = fadd double %359, %360
store double %361, double* %23
%362 = load double, double* %22
%363 = load double, double* %23
%364 = fmul double 0x3FB1A855DEC071B5, %363
%365 = fneg double %364
%366 = call double @llvm.fmuladd.f64(double 0x3FD63150B15E8536, double %362, double %365)
%367 = load double**, double*** %4
%368 = getelementptr inbounds double*, double** %367, i64 2
%369 = load double*, double** %368
%370 = load i32, i32* %5
%371 = sext i32 %370 to i64
%372 = getelementptr inbounds double, double* %369, i64 %371
store double %366, double* %372
%373 = load double, double* %23
%374 = load double, double* %22
%375 = fmul double 0x3FB1A855DEC071B5, %374
%376 = call double @llvm.fmuladd.f64(double 0x3FD63150B15E8536, double %373, double %375)
%377 = load double**, double*** %4
%378 = getelementptr inbounds double*, double** %377, i64 14
%379 = load double*, double** %378
%380 = load i32, i32* %5
%381 = sext i32 %380 to i64
%382 = getelementptr inbounds double, double* %379, i64 %381
store double %376, double* %382
%383 = load double, double* %7
%384 = load double, double* %6
%385 = fsub double %383, %384
store double %385, double* %22
%386 = load double, double* %10
%387 = load double, double* %11
%388 = fsub double %386, %387
store double %388, double* %23
%389 = load double, double* %22
%390 = load double, double* %23
%391 = fmul double 0x3FC92469C0DCF32D, %390
%392 = fneg double %391
%393 = call double @llvm.fmuladd.f64(double 0x3FD2D062EF88E319, double %389, double %392)
%394 = load double**, double*** %4
%395 = getelementptr inbounds double*, double** %394, i64 6
%396 = load double*, double** %395
%397 = load i32, i32* %5
%398 = sext i32 %397 to i64
%399 = getelementptr inbounds double, double* %396, i64 %398
store double %393, double* %399
%400 = load double, double* %23
%401 = load double, double* %22
%402 = fmul double 0x3FC92469C0DCF32D, %401
%403 = call double @llvm.fmuladd.f64(double 0x3FD2D062EF88E319, double %400, double %402)
%404 = load double**, double*** %4
%405 = getelementptr inbounds double*, double** %404, i64 10
%406 = load double*, double** %405
%407 = load i32, i32* %5
%408 = sext i32 %407 to i64
%409 = getelementptr inbounds double, double* %406, i64 %408
store double %403, double* %409
%410 = load double, double* %18
%411 = load double, double* %19
%412 = fsub double %410, %411
%413 = fmul double 0x3FE6A09E667F3BCD, %412
store double %413, double* %22
%414 = load double, double* %19
%415 = load double, double* %18
%416 = fadd double %414, %415
%417 = fmul double 0x3FE6A09E667F3BCD, %416
store double %417, double* %23
%418 = load double, double* %14
%419 = load double, double* %22
%420 = fsub double %418, %419
store double %420, double* %18
%421 = load double, double* %15
%422 = load double, double* %23
%423 = fsub double %421, %422
store double %423, double* %19
%424 = load double, double* %22
%425 = load double, double* %14
%426 = fadd double %425, %424
store double %426, double* %14
%427 = load double, double* %23
%428 = load double, double* %15
%429 = fadd double %428, %427
store double %429, double* %15
%430 = load double, double* %20
%431 = load double, double* %21
%432 = fmul double 0x3FED906BCF328D46, %431
%433 = fneg double %432
%434 = call double @llvm.fmuladd.f64(double 0x3FD87DE2A6AEA963, double %430, double %433)
store double %434, double* %22
%435 = load double, double* %21
%436 = load double, double* %20
%437 = fmul double 0x3FED906BCF328D46, %436
%438 = call double @llvm.fmuladd.f64(double 0x3FD87DE2A6AEA963, double %435, double %437)
store double %438, double* %23
%439 = load double, double* %16
%440 = load double, double* %17
%441 = fmul double 0x3FD87DE2A6AEA963, %440
%442 = fneg double %441
%443 = call double @llvm.fmuladd.f64(double 0x3FED906BCF328D46, double %439, double %442)
store double %443, double* %20
%444 = load double, double* %17
%445 = load double, double* %16
%446 = fmul double 0x3FD87DE2A6AEA963, %445
%447 = call double @llvm.fmuladd.f64(double 0x3FED906BCF328D46, double %444, double %446)
store double %447, double* %21
%448 = load double, double* %20
%449 = load double, double* %22
%450 = fadd double %448, %449
store double %450, double* %16
%451 = load double, double* %21
%452 = load double, double* %23
%453 = fadd double %451, %452
store double %453, double* %17
%454 = load double, double* %22
%455 = load double, double* %20
%456 = fsub double %455, %454
store double %456, double* %20
%457 = load double, double* %23
%458 = load double, double* %21
%459 = fsub double %458, %457
store double %459, double* %21
%460 = load double, double* %14
%461 = load double, double* %16
%462 = fadd double %460, %461
store double %462, double* %22
%463 = load double, double* %17
%464 = load double, double* %15
%465 = fadd double %463, %464
store double %465, double* %23
%466 = load double, double* %22
%467 = load double, double* %23
%468 = fmul double 0x3FA1BE35182FE5AA, %467
%469 = fneg double %468
%470 = call double @llvm.fmuladd.f64(double 0x3FD684B9C80F1A8B, double %466, double %469)
%471 = load double**, double*** %4
%472 = getelementptr inbounds double*, double** %471, i64 1
%473 = load double*, double** %472
%474 = load i32, i32* %5
%475 = sext i32 %474 to i64
%476 = getelementptr inbounds double, double* %473, i64 %475
store double %470, double* %476
%477 = load double, double* %23
%478 = load double, double* %22
%479 = fmul double 0x3FA1BE35182FE5AA, %478
%480 = call double @llvm.fmuladd.f64(double 0x3FD684B9C80F1A8B, double %477, double %479)
%481 = load double**, double*** %4
%482 = getelementptr inbounds double*, double** %481, i64 15
%483 = load double*, double** %482
%484 = load i32, i32* %5
%485 = sext i32 %484 to i64
%486 = getelementptr inbounds double, double* %483, i64 %485
store double %480, double* %486
%487 = load double, double* %14
%488 = load double, double* %16
%489 = fsub double %487, %488
store double %489, double* %22
%490 = load double, double* %17
%491 = load double, double* %15
%492 = fsub double %490, %491
store double %492, double* %23
%493 = load double, double* %22
%494 = load double, double* %23
%495 = fmul double 0x3FCCB598CC4BEEA0, %494
%496 = fneg double %495
%497 = call double @llvm.fmuladd.f64(double 0x3FD17DC13DAB2DD6, double %493, double %496)
%498 = load double**, double*** %4
%499 = getelementptr inbounds double*, double** %498, i64 7
%500 = load double*, double** %499
%501 = load i32, i32* %5
%502 = sext i32 %501 to i64
%503 = getelementptr inbounds double, double* %500, i64 %502
store double %497, double* %503
%504 = load double, double* %23
%505 = load double, double* %22
%506 = fmul double 0x3FCCB598CC4BEEA0, %505
%507 = call double @llvm.fmuladd.f64(double 0x3FD17DC13DAB2DD6, double %504, double %506)
%508 = load double**, double*** %4
%509 = getelementptr inbounds double*, double** %508, i64 9
%510 = load double*, double** %509
%511 = load i32, i32* %5
%512 = sext i32 %511 to i64
%513 = getelementptr inbounds double, double* %510, i64 %512
store double %507, double* %513
%514 = load double, double* %18
%515 = load double, double* %21
%516 = fsub double %514, %515
store double %516, double* %22
%517 = load double, double* %20
%518 = load double, double* %19
%519 = fadd double %517, %518
store double %519, double* %23
%520 = load double, double* %22
%521 = load double, double* %23
%522 = fmul double 0x3FC5553E3F5B5E58, %521
%523 = fneg double %522
%524 = call double @llvm.fmuladd.f64(double 0x3FD3F4A237187EAF, double %520, double %523)
%525 = load double**, double*** %4
%526 = getelementptr inbounds double*, double** %525, i64 5
%527 = load double*, double** %526
%528 = load i32, i32* %5
%529 = sext i32 %528 to i64
%530 = getelementptr inbounds double, double* %527, i64 %529
store double %524, double* %530
%531 = load double, double* %23
%532 = load double, double* %22
%533 = fmul double 0x3FC5553E3F5B5E58, %532
%534 = call double @llvm.fmuladd.f64(double 0x3FD3F4A237187EAF, double %531, double %533)
%535 = load double**, double*** %4
%536 = getelementptr inbounds double*, double** %535, i64 11
%537 = load double*, double** %536
%538 = load i32, i32* %5
%539 = sext i32 %538 to i64
%540 = getelementptr inbounds double, double* %537, i64 %539
store double %534, double* %540
%541 = load double, double* %18
%542 = load double, double* %21
%543 = fadd double %541, %542
store double %543, double* %22
%544 = load double, double* %20
%545 = load double, double* %19
%546 = fsub double %544, %545
store double %546, double* %23
%547 = load double, double* %22
%548 = load double, double* %23
%549 = fmul double 0x3FBA4608AAFA8527, %548
%550 = fneg double %549
%551 = call double @llvm.fmuladd.f64(double 0x3FD5A730C6C21C67, double %547, double %550)
%552 = load double**, double*** %4
%553 = getelementptr inbounds double*, double** %552, i64 3
%554 = load double*, double** %553
%555 = load i32, i32* %5
%556 = sext i32 %555 to i64
%557 = getelementptr inbounds double, double* %554, i64 %556
store double %551, double* %557
%558 = load double, double* %23
%559 = load double, double* %22
%560 = fmul double 0x3FBA4608AAFA8527, %559
%561 = call double @llvm.fmuladd.f64(double 0x3FD5A730C6C21C67, double %558, double %560)
%562 = load double**, double*** %4
%563 = getelementptr inbounds double*, double** %562, i64 13
%564 = load double*, double** %563
%565 = load i32, i32* %5
%566 = sext i32 %565 to i64
%567 = getelementptr inbounds double, double* %564, i64 %566
store double %561, double* %567
br label %568
568: ; preds = %30
%569 = load i32, i32* %5
%570 = add nsw i32 %569, 1
store i32 %570, i32* %5
br label %27
571: ; preds = %27
store i32 0, i32* %5
br label %572
572: ; preds = %1113, %571
%573 = load i32, i32* %5
%574 = icmp sle i32 %573, 15
br i1 %574, label %575, label %1116
575: ; preds = %572
%576 = load double**, double*** %4
%577 = load i32, i32* %5
%578 = sext i32 %577 to i64
%579 = getelementptr inbounds double*, double** %576, i64 %578
%580 = load double*, double** %579
%581 = getelementptr inbounds double, double* %580, i64 0
%582 = load double, double* %581
%583 = load double**, double*** %4
%584 = load i32, i32* %5
%585 = sext i32 %584 to i64
%586 = getelementptr inbounds double*, double** %583, i64 %585
%587 = load double*, double** %586
%588 = getelementptr inbounds double, double* %587, i64 15
%589 = load double, double* %588
%590 = fsub double %582, %589
store double %590, double* %14
%591 = load double**, double*** %4
%592 = load i32, i32* %5
%593 = sext i32 %592 to i64
%594 = getelementptr inbounds double*, double** %591, i64 %593
%595 = load double*, double** %594
%596 = getelementptr inbounds double, double* %595, i64 0
%597 = load double, double* %596
%598 = load double**, double*** %4
%599 = load i32, i32* %5
%600 = sext i32 %599 to i64
%601 = getelementptr inbounds double*, double** %598, i64 %600
%602 = load double*, double** %601
%603 = getelementptr inbounds double, double* %602, i64 15
%604 = load double, double* %603
%605 = fadd double %597, %604
store double %605, double* %22
%606 = load double**, double*** %4
%607 = load i32, i32* %5
%608 = sext i32 %607 to i64
%609 = getelementptr inbounds double*, double** %606, i64 %608
%610 = load double*, double** %609
%611 = getelementptr inbounds double, double* %610, i64 8
%612 = load double, double* %611
%613 = load double**, double*** %4
%614 = load i32, i32* %5
%615 = sext i32 %614 to i64
%616 = getelementptr inbounds double*, double** %613, i64 %615
%617 = load double*, double** %616
%618 = getelementptr inbounds double, double* %617, i64 7
%619 = load double, double* %618
%620 = fsub double %612, %619
store double %620, double* %15
%621 = load double**, double*** %4
%622 = load i32, i32* %5
%623 = sext i32 %622 to i64
%624 = getelementptr inbounds double*, double** %621, i64 %623
%625 = load double*, double** %624
%626 = getelementptr inbounds double, double* %625, i64 8
%627 = load double, double* %626
%628 = load double**, double*** %4
%629 = load i32, i32* %5
%630 = sext i32 %629 to i64
%631 = getelementptr inbounds double*, double** %628, i64 %630
%632 = load double*, double** %631
%633 = getelementptr inbounds double, double* %632, i64 7
%634 = load double, double* %633
%635 = fadd double %627, %634
store double %635, double* %23
%636 = load double, double* %22
%637 = load double, double* %23
%638 = fadd double %636, %637
store double %638, double* %6
%639 = load double, double* %22
%640 = load double, double* %23
%641 = fsub double %639, %640
store double %641, double* %7
%642 = load double**, double*** %4
%643 = load i32, i32* %5
%644 = sext i32 %643 to i64
%645 = getelementptr inbounds double*, double** %642, i64 %644
%646 = load double*, double** %645
%647 = getelementptr inbounds double, double* %646, i64 2
%648 = load double, double* %647
%649 = load double**, double*** %4
%650 = load i32, i32* %5
%651 = sext i32 %650 to i64
%652 = getelementptr inbounds double*, double** %649, i64 %651
%653 = load double*, double** %652
%654 = getelementptr inbounds double, double* %653, i64 13
%655 = load double, double* %654
%656 = fsub double %648, %655
store double %656, double* %16
%657 = load double**, double*** %4
%658 = load i32, i32* %5
%659 = sext i32 %658 to i64
%660 = getelementptr inbounds double*, double** %657, i64 %659
%661 = load double*, double** %660
%662 = getelementptr inbounds double, double* %661, i64 2
%663 = load double, double* %662
%664 = load double**, double*** %4
%665 = load i32, i32* %5
%666 = sext i32 %665 to i64
%667 = getelementptr inbounds double*, double** %664, i64 %666
%668 = load double*, double** %667
%669 = getelementptr inbounds double, double* %668, i64 13
%670 = load double, double* %669
%671 = fadd double %663, %670
store double %671, double* %22
%672 = load double**, double*** %4
%673 = load i32, i32* %5
%674 = sext i32 %673 to i64
%675 = getelementptr inbounds double*, double** %672, i64 %674
%676 = load double*, double** %675
%677 = getelementptr inbounds double, double* %676, i64 10
%678 = load double, double* %677
%679 = load double**, double*** %4
%680 = load i32, i32* %5
%681 = sext i32 %680 to i64
%682 = getelementptr inbounds double*, double** %679, i64 %681
%683 = load double*, double** %682
%684 = getelementptr inbounds double, double* %683, i64 5
%685 = load double, double* %684
%686 = fsub double %678, %685
store double %686, double* %17
%687 = load double**, double*** %4
%688 = load i32, i32* %5
%689 = sext i32 %688 to i64
%690 = getelementptr inbounds double*, double** %687, i64 %689
%691 = load double*, double** %690
%692 = getelementptr inbounds double, double* %691, i64 10
%693 = load double, double* %692
%694 = load double**, double*** %4
%695 = load i32, i32* %5
%696 = sext i32 %695 to i64
%697 = getelementptr inbounds double*, double** %694, i64 %696
%698 = load double*, double** %697
%699 = getelementptr inbounds double, double* %698, i64 5
%700 = load double, double* %699
%701 = fadd double %693, %700
store double %701, double* %23
%702 = load double, double* %22
%703 = load double, double* %23
%704 = fadd double %702, %703
store double %704, double* %8
%705 = load double, double* %22
%706 = load double, double* %23
%707 = fsub double %705, %706
store double %707, double* %9
%708 = load double**, double*** %4
%709 = load i32, i32* %5
%710 = sext i32 %709 to i64
%711 = getelementptr inbounds double*, double** %708, i64 %710
%712 = load double*, double** %711
%713 = getelementptr inbounds double, double* %712, i64 4
%714 = load double, double* %713
%715 = load double**, double*** %4
%716 = load i32, i32* %5
%717 = sext i32 %716 to i64
%718 = getelementptr inbounds double*, double** %715, i64 %717
%719 = load double*, double** %718
%720 = getelementptr inbounds double, double* %719, i64 11
%721 = load double, double* %720
%722 = fsub double %714, %721
store double %722, double* %18
%723 = load double**, double*** %4
%724 = load i32, i32* %5
%725 = sext i32 %724 to i64
%726 = getelementptr inbounds double*, double** %723, i64 %725
%727 = load double*, double** %726
%728 = getelementptr inbounds double, double* %727, i64 4
%729 = load double, double* %728
%730 = load double**, double*** %4
%731 = load i32, i32* %5
%732 = sext i32 %731 to i64
%733 = getelementptr inbounds double*, double** %730, i64 %732
%734 = load double*, double** %733
%735 = getelementptr inbounds double, double* %734, i64 11
%736 = load double, double* %735
%737 = fadd double %729, %736
store double %737, double* %22
%738 = load double**, double*** %4
%739 = load i32, i32* %5
%740 = sext i32 %739 to i64
%741 = getelementptr inbounds double*, double** %738, i64 %740
%742 = load double*, double** %741
%743 = getelementptr inbounds double, double* %742, i64 12
%744 = load double, double* %743
%745 = load double**, double*** %4
%746 = load i32, i32* %5
%747 = sext i32 %746 to i64
%748 = getelementptr inbounds double*, double** %745, i64 %747
%749 = load double*, double** %748
%750 = getelementptr inbounds double, double* %749, i64 3
%751 = load double, double* %750
%752 = fsub double %744, %751
store double %752, double* %19
%753 = load double**, double*** %4
%754 = load i32, i32* %5
%755 = sext i32 %754 to i64
%756 = getelementptr inbounds double*, double** %753, i64 %755
%757 = load double*, double** %756
%758 = getelementptr inbounds double, double* %757, i64 12
%759 = load double, double* %758
%760 = load double**, double*** %4
%761 = load i32, i32* %5
%762 = sext i32 %761 to i64
%763 = getelementptr inbounds double*, double** %760, i64 %762
%764 = load double*, double** %763
%765 = getelementptr inbounds double, double* %764, i64 3
%766 = load double, double* %765
%767 = fadd double %759, %766
store double %767, double* %23
%768 = load double, double* %22
%769 = load double, double* %23
%770 = fadd double %768, %769
store double %770, double* %10
%771 = load double, double* %22
%772 = load double, double* %23
%773 = fsub double %771, %772
store double %773, double* %11
%774 = load double**, double*** %4
%775 = load i32, i32* %5
%776 = sext i32 %775 to i64
%777 = getelementptr inbounds double*, double** %774, i64 %776
%778 = load double*, double** %777
%779 = getelementptr inbounds double, double* %778, i64 6
%780 = load double, double* %779
%781 = load double**, double*** %4
%782 = load i32, i32* %5
%783 = sext i32 %782 to i64
%784 = getelementptr inbounds double*, double** %781, i64 %783
%785 = load double*, double** %784
%786 = getelementptr inbounds double, double* %785, i64 9
%787 = load double, double* %786
%788 = fsub double %780, %787
store double %788, double* %20
%789 = load double**, double*** %4
%790 = load i32, i32* %5
%791 = sext i32 %790 to i64
%792 = getelementptr inbounds double*, double** %789, i64 %791
%793 = load double*, double** %792
%794 = getelementptr inbounds double, double* %793, i64 6
%795 = load double, double* %794
%796 = load double**, double*** %4
%797 = load i32, i32* %5
%798 = sext i32 %797 to i64
%799 = getelementptr inbounds double*, double** %796, i64 %798
%800 = load double*, double** %799
%801 = getelementptr inbounds double, double* %800, i64 9
%802 = load double, double* %801
%803 = fadd double %795, %802
store double %803, double* %22
%804 = load double**, double*** %4
%805 = load i32, i32* %5
%806 = sext i32 %805 to i64
%807 = getelementptr inbounds double*, double** %804, i64 %806
%808 = load double*, double** %807
%809 = getelementptr inbounds double, double* %808, i64 14
%810 = load double, double* %809
%811 = load double**, double*** %4
%812 = load i32, i32* %5
%813 = sext i32 %812 to i64
%814 = getelementptr inbounds double*, double** %811, i64 %813
%815 = load double*, double** %814
%816 = getelementptr inbounds double, double* %815, i64 1
%817 = load double, double* %816
%818 = fsub double %810, %817
store double %818, double* %21
%819 = load double**, double*** %4
%820 = load i32, i32* %5
%821 = sext i32 %820 to i64
%822 = getelementptr inbounds double*, double** %819, i64 %821
%823 = load double*, double** %822
%824 = getelementptr inbounds double, double* %823, i64 14
%825 = load double, double* %824
%826 = load double**, double*** %4
%827 = load i32, i32* %5
%828 = sext i32 %827 to i64
%829 = getelementptr inbounds double*, double** %826, i64 %828
%830 = load double*, double** %829
%831 = getelementptr inbounds double, double* %830, i64 1
%832 = load double, double* %831
%833 = fadd double %825, %832
store double %833, double* %23
%834 = load double, double* %22
%835 = load double, double* %23
%836 = fadd double %834, %835
store double %836, double* %12
%837 = load double, double* %22
%838 = load double, double* %23
%839 = fsub double %837, %838
store double %839, double* %13
%840 = load double, double* %6
%841 = load double, double* %10
%842 = fadd double %840, %841
store double %842, double* %22
%843 = load double, double* %8
%844 = load double, double* %12
%845 = fadd double %843, %844
store double %845, double* %23
%846 = load double, double* %22
%847 = load double, double* %23
%848 = fadd double %846, %847
%849 = fmul double 2.500000e-01, %848
%850 = load double**, double*** %4
%851 = load i32, i32* %5
%852 = sext i32 %851 to i64
%853 = getelementptr inbounds double*, double** %850, i64 %852
%854 = load double*, double** %853
%855 = getelementptr inbounds double, double* %854, i64 0
store double %849, double* %855
%856 = load double, double* %22
%857 = load double, double* %23
%858 = fsub double %856, %857
%859 = fmul double 2.500000e-01, %858
%860 = load double**, double*** %4
%861 = load i32, i32* %5
%862 = sext i32 %861 to i64
%863 = getelementptr inbounds double*, double** %860, i64 %862
%864 = load double*, double** %863
%865 = getelementptr inbounds double, double* %864, i64 8
store double %859, double* %865
%866 = load double, double* %6
%867 = load double, double* %10
%868 = fsub double %866, %867
store double %868, double* %22
%869 = load double, double* %8
%870 = load double, double* %12
%871 = fsub double %869, %870
store double %871, double* %23
%872 = load double, double* %22
%873 = load double, double* %23
%874 = fmul double 0x3FC1517A7BDB3895, %873
%875 = fneg double %874
%876 = call double @llvm.fmuladd.f64(double 0x3FD4E7AE9144F0FC, double %872, double %875)
%877 = load double**, double*** %4
%878 = load i32, i32* %5
%879 = sext i32 %878 to i64
%880 = getelementptr inbounds double*, double** %877, i64 %879
%881 = load double*, double** %880
%882 = getelementptr inbounds double, double* %881, i64 4
store double %876, double* %882
%883 = load double, double* %23
%884 = load double, double* %22
%885 = fmul double 0x3FC1517A7BDB3895, %884
%886 = call double @llvm.fmuladd.f64(double 0x3FD4E7AE9144F0FC, double %883, double %885)
%887 = load double**, double*** %4
%888 = load i32, i32* %5
%889 = sext i32 %888 to i64
%890 = getelementptr inbounds double*, double** %887, i64 %889
%891 = load double*, double** %890
%892 = getelementptr inbounds double, double* %891, i64 12
store double %886, double* %892
%893 = load double, double* %9
%894 = load double, double* %13
%895 = fsub double %893, %894
%896 = fmul double 0x3FE6A09E667F3BCD, %895
store double %896, double* %6
%897 = load double, double* %9
%898 = load double, double* %13
%899 = fadd double %897, %898
%900 = fmul double 0x3FE6A09E667F3BCD, %899
store double %900, double* %10
%901 = load double, double* %7
%902 = load double, double* %6
%903 = fadd double %901, %902
store double %903, double* %22
%904 = load double, double* %10
%905 = load double, double* %11
%906 = fadd double %904, %905
store double %906, double* %23
%907 = load double, double* %22
%908 = load double, double* %23
%909 = fmul double 0x3FB1A855DEC071B5, %908
%910 = fneg double %909
%911 = call double @llvm.fmuladd.f64(double 0x3FD63150B15E8536, double %907, double %910)
%912 = load double**, double*** %4
%913 = load i32, i32* %5
%914 = sext i32 %913 to i64
%915 = getelementptr inbounds double*, double** %912, i64 %914
%916 = load double*, double** %915
%917 = getelementptr inbounds double, double* %916, i64 2
store double %911, double* %917
%918 = load double, double* %23
%919 = load double, double* %22
%920 = fmul double 0x3FB1A855DEC071B5, %919
%921 = call double @llvm.fmuladd.f64(double 0x3FD63150B15E8536, double %918, double %920)
%922 = load double**, double*** %4
%923 = load i32, i32* %5
%924 = sext i32 %923 to i64
%925 = getelementptr inbounds double*, double** %922, i64 %924
%926 = load double*, double** %925
%927 = getelementptr inbounds double, double* %926, i64 14
store double %921, double* %927
%928 = load double, double* %7
%929 = load double, double* %6
%930 = fsub double %928, %929
store double %930, double* %22
%931 = load double, double* %10
%932 = load double, double* %11
%933 = fsub double %931, %932
store double %933, double* %23
%934 = load double, double* %22
%935 = load double, double* %23
%936 = fmul double 0x3FC92469C0DCF32D, %935
%937 = fneg double %936
%938 = call double @llvm.fmuladd.f64(double 0x3FD2D062EF88E319, double %934, double %937)
%939 = load double**, double*** %4
%940 = load i32, i32* %5
%941 = sext i32 %940 to i64
%942 = getelementptr inbounds double*, double** %939, i64 %941
%943 = load double*, double** %942
%944 = getelementptr inbounds double, double* %943, i64 6
store double %938, double* %944
%945 = load double, double* %23
%946 = load double, double* %22
%947 = fmul double 0x3FC92469C0DCF32D, %946
%948 = call double @llvm.fmuladd.f64(double 0x3FD2D062EF88E319, double %945, double %947)
%949 = load double**, double*** %4
%950 = load i32, i32* %5
%951 = sext i32 %950 to i64
%952 = getelementptr inbounds double*, double** %949, i64 %951
%953 = load double*, double** %952
%954 = getelementptr inbounds double, double* %953, i64 10
store double %948, double* %954
%955 = load double, double* %18
%956 = load double, double* %19
%957 = fsub double %955, %956
%958 = fmul double 0x3FE6A09E667F3BCD, %957
store double %958, double* %22
%959 = load double, double* %19
%960 = load double, double* %18
%961 = fadd double %959, %960
%962 = fmul double 0x3FE6A09E667F3BCD, %961
store double %962, double* %23
%963 = load double, double* %14
%964 = load double, double* %22
%965 = fsub double %963, %964
store double %965, double* %18
%966 = load double, double* %15
%967 = load double, double* %23
%968 = fsub double %966, %967
store double %968, double* %19
%969 = load double, double* %22
%970 = load double, double* %14
%971 = fadd double %970, %969
store double %971, double* %14
%972 = load double, double* %23
%973 = load double, double* %15
%974 = fadd double %973, %972
store double %974, double* %15
%975 = load double, double* %20
%976 = load double, double* %21
%977 = fmul double 0x3FED906BCF328D46, %976
%978 = fneg double %977
%979 = call double @llvm.fmuladd.f64(double 0x3FD87DE2A6AEA963, double %975, double %978)
store double %979, double* %22
%980 = load double, double* %21
%981 = load double, double* %20
%982 = fmul double 0x3FED906BCF328D46, %981
%983 = call double @llvm.fmuladd.f64(double 0x3FD87DE2A6AEA963, double %980, double %982)
store double %983, double* %23
%984 = load double, double* %16
%985 = load double, double* %17
%986 = fmul double 0x3FD87DE2A6AEA963, %985
%987 = fneg double %986
%988 = call double @llvm.fmuladd.f64(double 0x3FED906BCF328D46, double %984, double %987)
store double %988, double* %20
%989 = load double, double* %17
%990 = load double, double* %16
%991 = fmul double 0x3FD87DE2A6AEA963, %990
%992 = call double @llvm.fmuladd.f64(double 0x3FED906BCF328D46, double %989, double %991)
store double %992, double* %21
%993 = load double, double* %20
%994 = load double, double* %22
%995 = fadd double %993, %994
store double %995, double* %16
%996 = load double, double* %21
%997 = load double, double* %23
%998 = fadd double %996, %997
store double %998, double* %17
%999 = load double, double* %22
%1000 = load double, double* %20
%1001 = fsub double %1000, %999
store double %1001, double* %20
%1002 = load double, double* %23
%1003 = load double, double* %21
%1004 = fsub double %1003, %1002
store double %1004, double* %21
%1005 = load double, double* %14
%1006 = load double, double* %16
%1007 = fadd double %1005, %1006
store double %1007, double* %22
%1008 = load double, double* %17
%1009 = load double, double* %15
%1010 = fadd double %1008, %1009
store double %1010, double* %23
%1011 = load double, double* %22
%1012 = load double, double* %23
%1013 = fmul double 0x3FA1BE35182FE5AA, %1012
%1014 = fneg double %1013
%1015 = call double @llvm.fmuladd.f64(double 0x3FD684B9C80F1A8B, double %1011, double %1014)
%1016 = load double**, double*** %4
%1017 = load i32, i32* %5
%1018 = sext i32 %1017 to i64
%1019 = getelementptr inbounds double*, double** %1016, i64 %1018
%1020 = load double*, double** %1019
%1021 = getelementptr inbounds double, double* %1020, i64 1
store double %1015, double* %1021
%1022 = load double, double* %23
%1023 = load double, double* %22
%1024 = fmul double 0x3FA1BE35182FE5AA, %1023
%1025 = call double @llvm.fmuladd.f64(double 0x3FD684B9C80F1A8B, double %1022, double %1024)
%1026 = load double**, double*** %4
%1027 = load i32, i32* %5
%1028 = sext i32 %1027 to i64
%1029 = getelementptr inbounds double*, double** %1026, i64 %1028
%1030 = load double*, double** %1029
%1031 = getelementptr inbounds double, double* %1030, i64 15
store double %1025, double* %1031
%1032 = load double, double* %14
%1033 = load double, double* %16
%1034 = fsub double %1032, %1033
store double %1034, double* %22
%1035 = load double, double* %17
%1036 = load double, double* %15
%1037 = fsub double %1035, %1036
store double %1037, double* %23
%1038 = load double, double* %22
%1039 = load double, double* %23
%1040 = fmul double 0x3FCCB598CC4BEEA0, %1039
%1041 = fneg double %1040
%1042 = call double @llvm.fmuladd.f64(double 0x3FD17DC13DAB2DD6, double %1038, double %1041)
%1043 = load double**, double*** %4
%1044 = load i32, i32* %5
%1045 = sext i32 %1044 to i64
%1046 = getelementptr inbounds double*, double** %1043, i64 %1045
%1047 = load double*, double** %1046
%1048 = getelementptr inbounds double, double* %1047, i64 7
store double %1042, double* %1048
%1049 = load double, double* %23
%1050 = load double, double* %22
%1051 = fmul double 0x3FCCB598CC4BEEA0, %1050
%1052 = call double @llvm.fmuladd.f64(double 0x3FD17DC13DAB2DD6, double %1049, double %1051)
%1053 = load double**, double*** %4
%1054 = load i32, i32* %5
%1055 = sext i32 %1054 to i64
%1056 = getelementptr inbounds double*, double** %1053, i64 %1055
%1057 = load double*, double** %1056
%1058 = getelementptr inbounds double, double* %1057, i64 9
store double %1052, double* %1058
%1059 = load double, double* %18
%1060 = load double, double* %21
%1061 = fsub double %1059, %1060
store double %1061, double* %22
%1062 = load double, double* %20
%1063 = load double, double* %19
%1064 = fadd double %1062, %1063
store double %1064, double* %23
%1065 = load double, double* %22
%1066 = load double, double* %23
%1067 = fmul double 0x3FC5553E3F5B5E58, %1066
%1068 = fneg double %1067
%1069 = call double @llvm.fmuladd.f64(double 0x3FD3F4A237187EAF, double %1065, double %1068)
%1070 = load double**, double*** %4
%1071 = load i32, i32* %5
%1072 = sext i32 %1071 to i64
%1073 = getelementptr inbounds double*, double** %1070, i64 %1072
%1074 = load double*, double** %1073
%1075 = getelementptr inbounds double, double* %1074, i64 5
store double %1069, double* %1075
%1076 = load double, double* %23
%1077 = load double, double* %22
%1078 = fmul double 0x3FC5553E3F5B5E58, %1077
%1079 = call double @llvm.fmuladd.f64(double 0x3FD3F4A237187EAF, double %1076, double %1078)
%1080 = load double**, double*** %4
%1081 = load i32, i32* %5
%1082 = sext i32 %1081 to i64
%1083 = getelementptr inbounds double*, double** %1080, i64 %1082
%1084 = load double*, double** %1083
%1085 = getelementptr inbounds double, double* %1084, i64 11
store double %1079, double* %1085
%1086 = load double, double* %18
%1087 = load double, double* %21
%1088 = fadd double %1086, %1087
store double %1088, double* %22
%1089 = load double, double* %20
%1090 = load double, double* %19
%1091 = fsub double %1089, %1090
store double %1091, double* %23
%1092 = load double, double* %22
%1093 = load double, double* %23
%1094 = fmul double 0x3FBA4608AAFA8527, %1093
%1095 = fneg double %1094
%1096 = call double @llvm.fmuladd.f64(double 0x3FD5A730C6C21C67, double %1092, double %1095)
%1097 = load double**, double*** %4
%1098 = load i32, i32* %5
%1099 = sext i32 %1098 to i64
%1100 = getelementptr inbounds double*, double** %1097, i64 %1099
%1101 = load double*, double** %1100
%1102 = getelementptr inbounds double, double* %1101, i64 3
store double %1096, double* %1102
%1103 = load double, double* %23
%1104 = load double, double* %22
%1105 = fmul double 0x3FBA4608AAFA8527, %1104
%1106 = call double @llvm.fmuladd.f64(double 0x3FD5A730C6C21C67, double %1103, double %1105)
%1107 = load double**, double*** %4
%1108 = load i32, i32* %5
%1109 = sext i32 %1108 to i64
%1110 = getelementptr inbounds double*, double** %1107, i64 %1109
%1111 = load double*, double** %1110
%1112 = getelementptr inbounds double, double* %1111, i64 13
store double %1106, double* %1112
br label %1113
1113: ; preds = %575
%1114 = load i32, i32* %5
%1115 = add nsw i32 %1114, 1
store i32 %1115, i32* %5
br label %572
1116: ; preds = %572
br label %2208
1117: ; preds = %2
store i32 0, i32* %5
br label %1118
1118: ; preds = %1659, %1117
%1119 = load i32, i32* %5
%1120 = icmp sle i32 %1119, 15
br i1 %1120, label %1121, label %1662
1121: ; preds = %1118
%1122 = load double**, double*** %4
%1123 = getelementptr inbounds double*, double** %1122, i64 1
%1124 = load double*, double** %1123
%1125 = load i32, i32* %5
%1126 = sext i32 %1125 to i64
%1127 = getelementptr inbounds double, double* %1124, i64 %1126
%1128 = load double, double* %1127
%1129 = load double**, double*** %4
%1130 = getelementptr inbounds double*, double** %1129, i64 15
%1131 = load double*, double** %1130
%1132 = load i32, i32* %5
%1133 = sext i32 %1132 to i64
%1134 = getelementptr inbounds double, double* %1131, i64 %1133
%1135 = load double, double* %1134
%1136 = fmul double 0x3FA1BE35182FE5AA, %1135
%1137 = call double @llvm.fmuladd.f64(double 0x3FD684B9C80F1A8B, double %1128, double %1136)
store double %1137, double* %16
%1138 = load double**, double*** %4
%1139 = getelementptr inbounds double*, double** %1138, i64 15
%1140 = load double*, double** %1139
%1141 = load i32, i32* %5
%1142 = sext i32 %1141 to i64
%1143 = getelementptr inbounds double, double* %1140, i64 %1142
%1144 = load double, double* %1143
%1145 = load double**, double*** %4
%1146 = getelementptr inbounds double*, double** %1145, i64 1
%1147 = load double*, double** %1146
%1148 = load i32, i32* %5
%1149 = sext i32 %1148 to i64
%1150 = getelementptr inbounds double, double* %1147, i64 %1149
%1151 = load double, double* %1150
%1152 = fmul double 0x3FA1BE35182FE5AA, %1151
%1153 = fneg double %1152
%1154 = call double @llvm.fmuladd.f64(double 0x3FD684B9C80F1A8B, double %1144, double %1153)
store double %1154, double* %17
%1155 = load double**, double*** %4
%1156 = getelementptr inbounds double*, double** %1155, i64 7
%1157 = load double*, double** %1156
%1158 = load i32, i32* %5
%1159 = sext i32 %1158 to i64
%1160 = getelementptr inbounds double, double* %1157, i64 %1159
%1161 = load double, double* %1160
%1162 = load double**, double*** %4
%1163 = getelementptr inbounds double*, double** %1162, i64 9
%1164 = load double*, double** %1163
%1165 = load i32, i32* %5
%1166 = sext i32 %1165 to i64
%1167 = getelementptr inbounds double, double* %1164, i64 %1166
%1168 = load double, double* %1167
%1169 = fmul double 0x3FCCB598CC4BEEA0, %1168
%1170 = call double @llvm.fmuladd.f64(double 0x3FD17DC13DAB2DD6, double %1161, double %1169)
store double %1170, double* %22
%1171 = load double**, double*** %4
%1172 = getelementptr inbounds double*, double** %1171, i64 9
%1173 = load double*, double** %1172
%1174 = load i32, i32* %5
%1175 = sext i32 %1174 to i64
%1176 = getelementptr inbounds double, double* %1173, i64 %1175
%1177 = load double, double* %1176
%1178 = load double**, double*** %4
%1179 = getelementptr inbounds double*, double** %1178, i64 7
%1180 = load double*, double** %1179
%1181 = load i32, i32* %5
%1182 = sext i32 %1181 to i64
%1183 = getelementptr inbounds double, double* %1180, i64 %1182
%1184 = load double, double* %1183
%1185 = fmul double 0x3FCCB598CC4BEEA0, %1184
%1186 = fneg double %1185
%1187 = call double @llvm.fmuladd.f64(double 0x3FD17DC13DAB2DD6, double %1177, double %1186)
store double %1187, double* %23
%1188 = load double, double* %16
%1189 = load double, double* %22
%1190 = fadd double %1188, %1189
store double %1190, double* %14
%1191 = load double, double* %17
%1192 = load double, double* %23
%1193 = fsub double %1191, %1192
store double %1193, double* %15
%1194 = load double, double* %22
%1195 = load double, double* %16
%1196 = fsub double %1195, %1194
store double %1196, double* %16
%1197 = load double, double* %23
%1198 = load double, double* %17
%1199 = fadd double %1198, %1197
store double %1199, double* %17
%1200 = load double**, double*** %4
%1201 = getelementptr inbounds double*, double** %1200, i64 5
%1202 = load double*, double** %1201
%1203 = load i32, i32* %5
%1204 = sext i32 %1203 to i64
%1205 = getelementptr inbounds double, double* %1202, i64 %1204
%1206 = load double, double* %1205
%1207 = load double**, double*** %4
%1208 = getelementptr inbounds double*, double** %1207, i64 11
%1209 = load double*, double** %1208
%1210 = load i32, i32* %5
%1211 = sext i32 %1210 to i64
%1212 = getelementptr inbounds double, double* %1209, i64 %1211
%1213 = load double, double* %1212
%1214 = fmul double 0x3FC5553E3F5B5E58, %1213
%1215 = call double @llvm.fmuladd.f64(double 0x3FD3F4A237187EAF, double %1206, double %1214)
store double %1215, double* %20
%1216 = load double**, double*** %4
%1217 = getelementptr inbounds double*, double** %1216, i64 11
%1218 = load double*, double** %1217
%1219 = load i32, i32* %5
%1220 = sext i32 %1219 to i64
%1221 = getelementptr inbounds double, double* %1218, i64 %1220
%1222 = load double, double* %1221
%1223 = load double**, double*** %4
%1224 = getelementptr inbounds double*, double** %1223, i64 5
%1225 = load double*, double** %1224
%1226 = load i32, i32* %5
%1227 = sext i32 %1226 to i64
%1228 = getelementptr inbounds double, double* %1225, i64 %1227
%1229 = load double, double* %1228
%1230 = fmul double 0x3FC5553E3F5B5E58, %1229
%1231 = fneg double %1230
%1232 = call double @llvm.fmuladd.f64(double 0x3FD3F4A237187EAF, double %1222, double %1231)
store double %1232, double* %21
%1233 = load double**, double*** %4
%1234 = getelementptr inbounds double*, double** %1233, i64 3
%1235 = load double*, double** %1234
%1236 = load i32, i32* %5
%1237 = sext i32 %1236 to i64
%1238 = getelementptr inbounds double, double* %1235, i64 %1237
%1239 = load double, double* %1238
%1240 = load double**, double*** %4
%1241 = getelementptr inbounds double*, double** %1240, i64 13
%1242 = load double*, double** %1241
%1243 = load i32, i32* %5
%1244 = sext i32 %1243 to i64
%1245 = getelementptr inbounds double, double* %1242, i64 %1244
%1246 = load double, double* %1245
%1247 = fmul double 0x3FBA4608AAFA8527, %1246
%1248 = call double @llvm.fmuladd.f64(double 0x3FD5A730C6C21C67, double %1239, double %1247)
store double %1248, double* %22
%1249 = load double**, double*** %4
%1250 = getelementptr inbounds double*, double** %1249, i64 13
%1251 = load double*, double** %1250
%1252 = load i32, i32* %5
%1253 = sext i32 %1252 to i64
%1254 = getelementptr inbounds double, double* %1251, i64 %1253
%1255 = load double, double* %1254
%1256 = load double**, double*** %4
%1257 = getelementptr inbounds double*, double** %1256, i64 3
%1258 = load double*, double** %1257
%1259 = load i32, i32* %5
%1260 = sext i32 %1259 to i64
%1261 = getelementptr inbounds double, double* %1258, i64 %1260
%1262 = load double, double* %1261
%1263 = fmul double 0x3FBA4608AAFA8527, %1262
%1264 = fneg double %1263
%1265 = call double @llvm.fmuladd.f64(double 0x3FD5A730C6C21C67, double %1255, double %1264)
store double %1265, double* %23
%1266 = load double, double* %20
%1267 = load double, double* %22
%1268 = fadd double %1266, %1267
store double %1268, double* %18
%1269 = load double, double* %21
%1270 = load double, double* %23
%1271 = fsub double %1269, %1270
store double %1271, double* %19
%1272 = load double, double* %22
%1273 = load double, double* %20
%1274 = fsub double %1273, %1272
store double %1274, double* %20
%1275 = load double, double* %23
%1276 = load double, double* %21
%1277 = fadd double %1276, %1275
store double %1277, double* %21
%1278 = load double, double* %14
%1279 = load double, double* %18
%1280 = fsub double %1278, %1279
store double %1280, double* %22
%1281 = load double, double* %15
%1282 = load double, double* %19
%1283 = fsub double %1281, %1282
store double %1283, double* %23
%1284 = load double, double* %18
%1285 = load double, double* %14
%1286 = fadd double %1285, %1284
store double %1286, double* %14
%1287 = load double, double* %19
%1288 = load double, double* %15
%1289 = fadd double %1288, %1287
store double %1289, double* %15
%1290 = load double, double* %23
%1291 = load double, double* %22
%1292 = fadd double %1290, %1291
%1293 = fmul double 0x3FE6A09E667F3BCD, %1292
store double %1293, double* %18
%1294 = load double, double* %23
%1295 = load double, double* %22
%1296 = fsub double %1294, %1295
%1297 = fmul double 0x3FE6A09E667F3BCD, %1296
store double %1297, double* %19
%1298 = load double, double* %16
%1299 = load double, double* %21
%1300 = fadd double %1298, %1299
store double %1300, double* %22
%1301 = load double, double* %17
%1302 = load double, double* %20
%1303 = fsub double %1301, %1302
store double %1303, double* %23
%1304 = load double, double* %21
%1305 = load double, double* %16
%1306 = fsub double %1305, %1304
store double %1306, double* %16
%1307 = load double, double* %20
%1308 = load double, double* %17
%1309 = fadd double %1308, %1307
store double %1309, double* %17
%1310 = load double, double* %16
%1311 = load double, double* %17
%1312 = fmul double 0x3FED906BCF328D46, %1311
%1313 = call double @llvm.fmuladd.f64(double 0x3FD87DE2A6AEA963, double %1310, double %1312)
store double %1313, double* %20
%1314 = load double, double* %17
%1315 = load double, double* %16
%1316 = fmul double 0x3FED906BCF328D46, %1315
%1317 = fneg double %1316
%1318 = call double @llvm.fmuladd.f64(double 0x3FD87DE2A6AEA963, double %1314, double %1317)
store double %1318, double* %21
%1319 = load double, double* %22
%1320 = load double, double* %23
%1321 = fmul double 0x3FD87DE2A6AEA963, %1320
%1322 = call double @llvm.fmuladd.f64(double 0x3FED906BCF328D46, double %1319, double %1321)
store double %1322, double* %16
%1323 = load double, double* %23
%1324 = load double, double* %22
%1325 = fmul double 0x3FD87DE2A6AEA963, %1324
%1326 = fneg double %1325
%1327 = call double @llvm.fmuladd.f64(double 0x3FED906BCF328D46, double %1323, double %1326)
store double %1327, double* %17
%1328 = load double**, double*** %4
%1329 = getelementptr inbounds double*, double** %1328, i64 4
%1330 = load double*, double** %1329
%1331 = load i32, i32* %5
%1332 = sext i32 %1331 to i64
%1333 = getelementptr inbounds double, double* %1330, i64 %1332
%1334 = load double, double* %1333
%1335 = load double**, double*** %4
%1336 = getelementptr inbounds double*, double** %1335, i64 12
%1337 = load double*, double** %1336
%1338 = load i32, i32* %5
%1339 = sext i32 %1338 to i64
%1340 = getelementptr inbounds double, double* %1337, i64 %1339
%1341 = load double, double* %1340
%1342 = fmul double 0x3FC1517A7BDB3895, %1341
%1343 = call double @llvm.fmuladd.f64(double 0x3FD4E7AE9144F0FC, double %1334, double %1342)
store double %1343, double* %22
%1344 = load double**, double*** %4
%1345 = getelementptr inbounds double*, double** %1344, i64 12
%1346 = load double*, double** %1345
%1347 = load i32, i32* %5
%1348 = sext i32 %1347 to i64
%1349 = getelementptr inbounds double, double* %1346, i64 %1348
%1350 = load double, double* %1349
%1351 = load double**, double*** %4
%1352 = getelementptr inbounds double*, double** %1351, i64 4
%1353 = load double*, double** %1352
%1354 = load i32, i32* %5
%1355 = sext i32 %1354 to i64
%1356 = getelementptr inbounds double, double* %1353, i64 %1355
%1357 = load double, double* %1356
%1358 = fmul double 0x3FC1517A7BDB3895, %1357
%1359 = fneg double %1358
%1360 = call double @llvm.fmuladd.f64(double 0x3FD4E7AE9144F0FC, double %1350, double %1359)
store double %1360, double* %23
%1361 = load double**, double*** %4
%1362 = getelementptr inbounds double*, double** %1361, i64 0
%1363 = load double*, double** %1362
%1364 = load i32, i32* %5
%1365 = sext i32 %1364 to i64
%1366 = getelementptr inbounds double, double* %1363, i64 %1365
%1367 = load double, double* %1366
%1368 = load double**, double*** %4
%1369 = getelementptr inbounds double*, double** %1368, i64 8
%1370 = load double*, double** %1369
%1371 = load i32, i32* %5
%1372 = sext i32 %1371 to i64
%1373 = getelementptr inbounds double, double* %1370, i64 %1372
%1374 = load double, double* %1373
%1375 = fadd double %1367, %1374
%1376 = fmul double 2.500000e-01, %1375
store double %1376, double* %10
%1377 = load double**, double*** %4
%1378 = getelementptr inbounds double*, double** %1377, i64 0
%1379 = load double*, double** %1378
%1380 = load i32, i32* %5
%1381 = sext i32 %1380 to i64
%1382 = getelementptr inbounds double, double* %1379, i64 %1381
%1383 = load double, double* %1382
%1384 = load double**, double*** %4
%1385 = getelementptr inbounds double*, double** %1384, i64 8
%1386 = load double*, double** %1385
%1387 = load i32, i32* %5
%1388 = sext i32 %1387 to i64
%1389 = getelementptr inbounds double, double* %1386, i64 %1388
%1390 = load double, double* %1389
%1391 = fsub double %1383, %1390
%1392 = fmul double 2.500000e-01, %1391
store double %1392, double* %12
%1393 = load double, double* %10
%1394 = load double, double* %22
%1395 = fadd double %1393, %1394
store double %1395, double* %6
%1396 = load double, double* %12
%1397 = load double, double* %23
%1398 = fadd double %1396, %1397
store double %1398, double* %8
%1399 = load double, double* %22
%1400 = load double, double* %10
%1401 = fsub double %1400, %1399
store double %1401, double* %10
%1402 = load double, double* %23
%1403 = load double, double* %12
%1404 = fsub double %1403, %1402
store double %1404, double* %12
%1405 = load double**, double*** %4
%1406 = getelementptr inbounds double*, double** %1405, i64 2
%1407 = load double*, double** %1406
%1408 = load i32, i32* %5
%1409 = sext i32 %1408 to i64
%1410 = getelementptr inbounds double, double* %1407, i64 %1409
%1411 = load double, double* %1410
%1412 = load double**, double*** %4
%1413 = getelementptr inbounds double*, double** %1412, i64 14
%1414 = load double*, double** %1413
%1415 = load i32, i32* %5
%1416 = sext i32 %1415 to i64
%1417 = getelementptr inbounds double, double* %1414, i64 %1416
%1418 = load double, double* %1417
%1419 = fmul double 0x3FB1A855DEC071B5, %1418
%1420 = call double @llvm.fmuladd.f64(double 0x3FD63150B15E8536, double %1411, double %1419)
store double %1420, double* %7
%1421 = load double**, double*** %4
%1422 = getelementptr inbounds double*, double** %1421, i64 14
%1423 = load double*, double** %1422
%1424 = load i32, i32* %5
%1425 = sext i32 %1424 to i64
%1426 = getelementptr inbounds double, double* %1423, i64 %1425
%1427 = load double, double* %1426
%1428 = load double**, double*** %4
%1429 = getelementptr inbounds double*, double** %1428, i64 2
%1430 = load double*, double** %1429
%1431 = load i32, i32* %5
%1432 = sext i32 %1431 to i64
%1433 = getelementptr inbounds double, double* %1430, i64 %1432
%1434 = load double, double* %1433
%1435 = fmul double 0x3FB1A855DEC071B5, %1434
%1436 = fneg double %1435
%1437 = call double @llvm.fmuladd.f64(double 0x3FD63150B15E8536, double %1427, double %1436)
store double %1437, double* %11
%1438 = load double**, double*** %4
%1439 = getelementptr inbounds double*, double** %1438, i64 6
%1440 = load double*, double** %1439
%1441 = load i32, i32* %5
%1442 = sext i32 %1441 to i64
%1443 = getelementptr inbounds double, double* %1440, i64 %1442
%1444 = load double, double* %1443
%1445 = load double**, double*** %4
%1446 = getelementptr inbounds double*, double** %1445, i64 10
%1447 = load double*, double** %1446
%1448 = load i32, i32* %5
%1449 = sext i32 %1448 to i64
%1450 = getelementptr inbounds double, double* %1447, i64 %1449
%1451 = load double, double* %1450
%1452 = fmul double 0x3FC92469C0DCF32D, %1451
%1453 = call double @llvm.fmuladd.f64(double 0x3FD2D062EF88E319, double %1444, double %1452)
store double %1453, double* %9
%1454 = load double**, double*** %4
%1455 = getelementptr inbounds double*, double** %1454, i64 10
%1456 = load double*, double** %1455
%1457 = load i32, i32* %5
%1458 = sext i32 %1457 to i64
%1459 = getelementptr inbounds double, double* %1456, i64 %1458
%1460 = load double, double* %1459
%1461 = load double**, double*** %4
%1462 = getelementptr inbounds double*, double** %1461, i64 6
%1463 = load double*, double** %1462
%1464 = load i32, i32* %5
%1465 = sext i32 %1464 to i64
%1466 = getelementptr inbounds double, double* %1463, i64 %1465
%1467 = load double, double* %1466
%1468 = fmul double 0x3FC92469C0DCF32D, %1467
%1469 = fneg double %1468
%1470 = call double @llvm.fmuladd.f64(double 0x3FD2D062EF88E319, double %1460, double %1469)
store double %1470, double* %13
%1471 = load double, double* %7
%1472 = load double, double* %9
%1473 = fsub double %1471, %1472
store double %1473, double* %22
%1474 = load double, double* %11
%1475 = load double, double* %13
%1476 = fadd double %1474, %1475
store double %1476, double* %23
%1477 = load double, double* %9
%1478 = load double, double* %7
%1479 = fadd double %1478, %1477
store double %1479, double* %7
%1480 = load double, double* %13
%1481 = load double, double* %11
%1482 = fsub double %1481, %1480
store double %1482, double* %11
%1483 = load double, double* %23
%1484 = load double, double* %22
%1485 = fadd double %1483, %1484
%1486 = fmul double 0x3FE6A09E667F3BCD, %1485
store double %1486, double* %9
%1487 = load double, double* %23
%1488 = load double, double* %22
%1489 = fsub double %1487, %1488
%1490 = fmul double 0x3FE6A09E667F3BCD, %1489
store double %1490, double* %13
%1491 = load double, double* %6
%1492 = load double, double* %7
%1493 = fadd double %1491, %1492
store double %1493, double* %22
%1494 = load double, double* %6
%1495 = load double, double* %7
%1496 = fsub double %1494, %1495
store double %1496, double* %23
%1497 = load double, double* %22
%1498 = load double, double* %14
%1499 = fadd double %1497, %1498
%1500 = load double**, double*** %4
%1501 = getelementptr inbounds double*, double** %1500, i64 0
%1502 = load double*, double** %1501
%1503 = load i32, i32* %5
%1504 = sext i32 %1503 to i64
%1505 = getelementptr inbounds double, double* %1502, i64 %1504
store double %1499, double* %1505
%1506 = load double, double* %22
%1507 = load double, double* %14
%1508 = fsub double %1506, %1507
%1509 = load double**, double*** %4
%1510 = getelementptr inbounds double*, double** %1509, i64 15
%1511 = load double*, double** %1510
%1512 = load i32, i32* %5
%1513 = sext i32 %1512 to i64
%1514 = getelementptr inbounds double, double* %1511, i64 %1513
store double %1508, double* %1514
%1515 = load double, double* %23
%1516 = load double, double* %15
%1517 = fadd double %1515, %1516
%1518 = load double**, double*** %4
%1519 = getelementptr inbounds double*, double** %1518, i64 8
%1520 = load double*, double** %1519
%1521 = load i32, i32* %5
%1522 = sext i32 %1521 to i64
%1523 = getelementptr inbounds double, double* %1520, i64 %1522
store double %1517, double* %1523
%1524 = load double, double* %23
%1525 = load double, double* %15
%1526 = fsub double %1524, %1525
%1527 = load double**, double*** %4
%1528 = getelementptr inbounds double*, double** %1527, i64 7
%1529 = load double*, double** %1528
%1530 = load i32, i32* %5
%1531 = sext i32 %1530 to i64
%1532 = getelementptr inbounds double, double* %1529, i64 %1531
store double %1526, double* %1532
%1533 = load double, double* %8
%1534 = load double, double* %9
%1535 = fadd double %1533, %1534
store double %1535, double* %22
%1536 = load double, double* %8
%1537 = load double, double* %9
%1538 = fsub double %1536, %1537
store double %1538, double* %23
%1539 = load double, double* %22
%1540 = load double, double* %16
%1541 = fadd double %1539, %1540
%1542 = load double**, double*** %4
%1543 = getelementptr inbounds double*, double** %1542, i64 2
%1544 = load double*, double** %1543
%1545 = load i32, i32* %5
%1546 = sext i32 %1545 to i64
%1547 = getelementptr inbounds double, double* %1544, i64 %1546
store double %1541, double* %1547
%1548 = load double, double* %22
%1549 = load double, double* %16
%1550 = fsub double %1548, %1549
%1551 = load double**, double*** %4
%1552 = getelementptr inbounds double*, double** %1551, i64 13
%1553 = load double*, double** %1552
%1554 = load i32, i32* %5
%1555 = sext i32 %1554 to i64
%1556 = getelementptr inbounds double, double* %1553, i64 %1555
store double %1550, double* %1556
%1557 = load double, double* %23
%1558 = load double, double* %17
%1559 = fadd double %1557, %1558
%1560 = load double**, double*** %4
%1561 = getelementptr inbounds double*, double** %1560, i64 10
%1562 = load double*, double** %1561
%1563 = load i32, i32* %5
%1564 = sext i32 %1563 to i64
%1565 = getelementptr inbounds double, double* %1562, i64 %1564
store double %1559, double* %1565
%1566 = load double, double* %23
%1567 = load double, double* %17
%1568 = fsub double %1566, %1567
%1569 = load double**, double*** %4
%1570 = getelementptr inbounds double*, double** %1569, i64 5
%1571 = load double*, double** %1570
%1572 = load i32, i32* %5
%1573 = sext i32 %1572 to i64
%1574 = getelementptr inbounds double, double* %1571, i64 %1573
store double %1568, double* %1574
%1575 = load double, double* %10
%1576 = load double, double* %11
%1577 = fadd double %1575, %1576
store double %1577, double* %22
%1578 = load double, double* %10
%1579 = load double, double* %11
%1580 = fsub double %1578, %1579
store double %1580, double* %23
%1581 = load double, double* %22
%1582 = load double, double* %18
%1583 = fadd double %1581, %1582
%1584 = load double**, double*** %4
%1585 = getelementptr inbounds double*, double** %1584, i64 4
%1586 = load double*, double** %1585
%1587 = load i32, i32* %5
%1588 = sext i32 %1587 to i64
%1589 = getelementptr inbounds double, double* %1586, i64 %1588
store double %1583, double* %1589
%1590 = load double, double* %22
%1591 = load double, double* %18
%1592 = fsub double %1590, %1591
%1593 = load double**, double*** %4
%1594 = getelementptr inbounds double*, double** %1593, i64 11
%1595 = load double*, double** %1594
%1596 = load i32, i32* %5
%1597 = sext i32 %1596 to i64
%1598 = getelementptr inbounds double, double* %1595, i64 %1597
store double %1592, double* %1598
%1599 = load double, double* %23
%1600 = load double, double* %19
%1601 = fadd double %1599, %1600
%1602 = load double**, double*** %4
%1603 = getelementptr inbounds double*, double** %1602, i64 12
%1604 = load double*, double** %1603
%1605 = load i32, i32* %5
%1606 = sext i32 %1605 to i64
%1607 = getelementptr inbounds double, double* %1604, i64 %1606
store double %1601, double* %1607
%1608 = load double, double* %23
%1609 = load double, double* %19
%1610 = fsub double %1608, %1609
%1611 = load double**, double*** %4
%1612 = getelementptr inbounds double*, double** %1611, i64 3
%1613 = load double*, double** %1612
%1614 = load i32, i32* %5
%1615 = sext i32 %1614 to i64
%1616 = getelementptr inbounds double, double* %1613, i64 %1615
store double %1610, double* %1616
%1617 = load double, double* %12
%1618 = load double, double* %13
%1619 = fadd double %1617, %1618
store double %1619, double* %22
%1620 = load double, double* %12
%1621 = load double, double* %13
%1622 = fsub double %1620, %1621
store double %1622, double* %23
%1623 = load double, double* %22
%1624 = load double, double* %20
%1625 = fadd double %1623, %1624
%1626 = load double**, double*** %4
%1627 = getelementptr inbounds double*, double** %1626, i64 6
%1628 = load double*, double** %1627
%1629 = load i32, i32* %5
%1630 = sext i32 %1629 to i64
%1631 = getelementptr inbounds double, double* %1628, i64 %1630
store double %1625, double* %1631
%1632 = load double, double* %22
%1633 = load double, double* %20
%1634 = fsub double %1632, %1633
%1635 = load double**, double*** %4
%1636 = getelementptr inbounds double*, double** %1635, i64 9
%1637 = load double*, double** %1636
%1638 = load i32, i32* %5
%1639 = sext i32 %1638 to i64
%1640 = getelementptr inbounds double, double* %1637, i64 %1639
store double %1634, double* %1640
%1641 = load double, double* %23
%1642 = load double, double* %21
%1643 = fadd double %1641, %1642
%1644 = load double**, double*** %4
%1645 = getelementptr inbounds double*, double** %1644, i64 14
%1646 = load double*, double** %1645
%1647 = load i32, i32* %5
%1648 = sext i32 %1647 to i64
%1649 = getelementptr inbounds double, double* %1646, i64 %1648
store double %1643, double* %1649
%1650 = load double, double* %23
%1651 = load double, double* %21
%1652 = fsub double %1650, %1651
%1653 = load double**, double*** %4
%1654 = getelementptr inbounds double*, double** %1653, i64 1
%1655 = load double*, double** %1654
%1656 = load i32, i32* %5
%1657 = sext i32 %1656 to i64
%1658 = getelementptr inbounds double, double* %1655, i64 %1657
store double %1652, double* %1658
br label %1659
1659: ; preds = %1121
%1660 = load i32, i32* %5
%1661 = add nsw i32 %1660, 1
store i32 %1661, i32* %5
br label %1118
1662: ; preds = %1118
store i32 0, i32* %5
br label %1663
1663: ; preds = %2204, %1662
%1664 = load i32, i32* %5
%1665 = icmp sle i32 %1664, 15
br i1 %1665, label %1666, label %2207
1666: ; preds = %1663
%1667 = load double**, double*** %4
%1668 = load i32, i32* %5
%1669 = sext i32 %1668 to i64
%1670 = getelementptr inbounds double*, double** %1667, i64 %1669
%1671 = load double*, double** %1670
%1672 = getelementptr inbounds double, double* %1671, i64 1
%1673 = load double, double* %1672
%1674 = load double**, double*** %4
%1675 = load i32, i32* %5
%1676 = sext i32 %1675 to i64
%1677 = getelementptr inbounds double*, double** %1674, i64 %1676
%1678 = load double*, double** %1677
%1679 = getelementptr inbounds double, double* %1678, i64 15
%1680 = load double, double* %1679
%1681 = fmul double 0x3FA1BE35182FE5AA, %1680
%1682 = call double @llvm.fmuladd.f64(double 0x3FD684B9C80F1A8B, double %1673, double %1681)
store double %1682, double* %16
%1683 = load double**, double*** %4
%1684 = load i32, i32* %5
%1685 = sext i32 %1684 to i64
%1686 = getelementptr inbounds double*, double** %1683, i64 %1685
%1687 = load double*, double** %1686
%1688 = getelementptr inbounds double, double* %1687, i64 15
%1689 = load double, double* %1688
%1690 = load double**, double*** %4
%1691 = load i32, i32* %5
%1692 = sext i32 %1691 to i64
%1693 = getelementptr inbounds double*, double** %1690, i64 %1692
%1694 = load double*, double** %1693
%1695 = getelementptr inbounds double, double* %1694, i64 1
%1696 = load double, double* %1695
%1697 = fmul double 0x3FA1BE35182FE5AA, %1696
%1698 = fneg double %1697
%1699 = call double @llvm.fmuladd.f64(double 0x3FD684B9C80F1A8B, double %1689, double %1698)
store double %1699, double* %17
%1700 = load double**, double*** %4
%1701 = load i32, i32* %5
%1702 = sext i32 %1701 to i64
%1703 = getelementptr inbounds double*, double** %1700, i64 %1702
%1704 = load double*, double** %1703
%1705 = getelementptr inbounds double, double* %1704, i64 7
%1706 = load double, double* %1705
%1707 = load double**, double*** %4
%1708 = load i32, i32* %5
%1709 = sext i32 %1708 to i64
%1710 = getelementptr inbounds double*, double** %1707, i64 %1709
%1711 = load double*, double** %1710
%1712 = getelementptr inbounds double, double* %1711, i64 9
%1713 = load double, double* %1712
%1714 = fmul double 0x3FCCB598CC4BEEA0, %1713
%1715 = call double @llvm.fmuladd.f64(double 0x3FD17DC13DAB2DD6, double %1706, double %1714)
store double %1715, double* %22
%1716 = load double**, double*** %4
%1717 = load i32, i32* %5
%1718 = sext i32 %1717 to i64
%1719 = getelementptr inbounds double*, double** %1716, i64 %1718
%1720 = load double*, double** %1719
%1721 = getelementptr inbounds double, double* %1720, i64 9
%1722 = load double, double* %1721
%1723 = load double**, double*** %4
%1724 = load i32, i32* %5
%1725 = sext i32 %1724 to i64
%1726 = getelementptr inbounds double*, double** %1723, i64 %1725
%1727 = load double*, double** %1726
%1728 = getelementptr inbounds double, double* %1727, i64 7
%1729 = load double, double* %1728
%1730 = fmul double 0x3FCCB598CC4BEEA0, %1729
%1731 = fneg double %1730
%1732 = call double @llvm.fmuladd.f64(double 0x3FD17DC13DAB2DD6, double %1722, double %1731)
store double %1732, double* %23
%1733 = load double, double* %16
%1734 = load double, double* %22
%1735 = fadd double %1733, %1734
store double %1735, double* %14
%1736 = load double, double* %17
%1737 = load double, double* %23
%1738 = fsub double %1736, %1737
store double %1738, double* %15
%1739 = load double, double* %22
%1740 = load double, double* %16
%1741 = fsub double %1740, %1739
store double %1741, double* %16
%1742 = load double, double* %23
%1743 = load double, double* %17
%1744 = fadd double %1743, %1742
store double %1744, double* %17
%1745 = load double**, double*** %4
%1746 = load i32, i32* %5
%1747 = sext i32 %1746 to i64
%1748 = getelementptr inbounds double*, double** %1745, i64 %1747
%1749 = load double*, double** %1748
%1750 = getelementptr inbounds double, double* %1749, i64 5
%1751 = load double, double* %1750
%1752 = load double**, double*** %4
%1753 = load i32, i32* %5
%1754 = sext i32 %1753 to i64
%1755 = getelementptr inbounds double*, double** %1752, i64 %1754
%1756 = load double*, double** %1755
%1757 = getelementptr inbounds double, double* %1756, i64 11
%1758 = load double, double* %1757
%1759 = fmul double 0x3FC5553E3F5B5E58, %1758
%1760 = call double @llvm.fmuladd.f64(double 0x3FD3F4A237187EAF, double %1751, double %1759)
store double %1760, double* %20
%1761 = load double**, double*** %4
%1762 = load i32, i32* %5
%1763 = sext i32 %1762 to i64
%1764 = getelementptr inbounds double*, double** %1761, i64 %1763
%1765 = load double*, double** %1764
%1766 = getelementptr inbounds double, double* %1765, i64 11
%1767 = load double, double* %1766
%1768 = load double**, double*** %4
%1769 = load i32, i32* %5
%1770 = sext i32 %1769 to i64
%1771 = getelementptr inbounds double*, double** %1768, i64 %1770
%1772 = load double*, double** %1771
%1773 = getelementptr inbounds double, double* %1772, i64 5
%1774 = load double, double* %1773
%1775 = fmul double 0x3FC5553E3F5B5E58, %1774
%1776 = fneg double %1775
%1777 = call double @llvm.fmuladd.f64(double 0x3FD3F4A237187EAF, double %1767, double %1776)
store double %1777, double* %21
%1778 = load double**, double*** %4
%1779 = load i32, i32* %5
%1780 = sext i32 %1779 to i64
%1781 = getelementptr inbounds double*, double** %1778, i64 %1780
%1782 = load double*, double** %1781
%1783 = getelementptr inbounds double, double* %1782, i64 3
%1784 = load double, double* %1783
%1785 = load double**, double*** %4
%1786 = load i32, i32* %5
%1787 = sext i32 %1786 to i64
%1788 = getelementptr inbounds double*, double** %1785, i64 %1787
%1789 = load double*, double** %1788
%1790 = getelementptr inbounds double, double* %1789, i64 13
%1791 = load double, double* %1790
%1792 = fmul double 0x3FBA4608AAFA8527, %1791
%1793 = call double @llvm.fmuladd.f64(double 0x3FD5A730C6C21C67, double %1784, double %1792)
store double %1793, double* %22
%1794 = load double**, double*** %4
%1795 = load i32, i32* %5
%1796 = sext i32 %1795 to i64
%1797 = getelementptr inbounds double*, double** %1794, i64 %1796
%1798 = load double*, double** %1797
%1799 = getelementptr inbounds double, double* %1798, i64 13
%1800 = load double, double* %1799
%1801 = load double**, double*** %4
%1802 = load i32, i32* %5
%1803 = sext i32 %1802 to i64
%1804 = getelementptr inbounds double*, double** %1801, i64 %1803
%1805 = load double*, double** %1804
%1806 = getelementptr inbounds double, double* %1805, i64 3
%1807 = load double, double* %1806
%1808 = fmul double 0x3FBA4608AAFA8527, %1807
%1809 = fneg double %1808
%1810 = call double @llvm.fmuladd.f64(double 0x3FD5A730C6C21C67, double %1800, double %1809)
store double %1810, double* %23
%1811 = load double, double* %20
%1812 = load double, double* %22
%1813 = fadd double %1811, %1812
store double %1813, double* %18
%1814 = load double, double* %21
%1815 = load double, double* %23
%1816 = fsub double %1814, %1815
store double %1816, double* %19
%1817 = load double, double* %22
%1818 = load double, double* %20
%1819 = fsub double %1818, %1817
store double %1819, double* %20
%1820 = load double, double* %23
%1821 = load double, double* %21
%1822 = fadd double %1821, %1820
store double %1822, double* %21
%1823 = load double, double* %14
%1824 = load double, double* %18
%1825 = fsub double %1823, %1824
store double %1825, double* %22
%1826 = load double, double* %15
%1827 = load double, double* %19
%1828 = fsub double %1826, %1827
store double %1828, double* %23
%1829 = load double, double* %18
%1830 = load double, double* %14
%1831 = fadd double %1830, %1829
store double %1831, double* %14
%1832 = load double, double* %19
%1833 = load double, double* %15
%1834 = fadd double %1833, %1832
store double %1834, double* %15
%1835 = load double, double* %23
%1836 = load double, double* %22
%1837 = fadd double %1835, %1836
%1838 = fmul double 0x3FE6A09E667F3BCD, %1837
store double %1838, double* %18
%1839 = load double, double* %23
%1840 = load double, double* %22
%1841 = fsub double %1839, %1840
%1842 = fmul double 0x3FE6A09E667F3BCD, %1841
store double %1842, double* %19
%1843 = load double, double* %16
%1844 = load double, double* %21
%1845 = fadd double %1843, %1844
store double %1845, double* %22
%1846 = load double, double* %17
%1847 = load double, double* %20
%1848 = fsub double %1846, %1847
store double %1848, double* %23
%1849 = load double, double* %21
%1850 = load double, double* %16
%1851 = fsub double %1850, %1849
store double %1851, double* %16
%1852 = load double, double* %20
%1853 = load double, double* %17
%1854 = fadd double %1853, %1852
store double %1854, double* %17
%1855 = load double, double* %16
%1856 = load double, double* %17
%1857 = fmul double 0x3FED906BCF328D46, %1856
%1858 = call double @llvm.fmuladd.f64(double 0x3FD87DE2A6AEA963, double %1855, double %1857)
store double %1858, double* %20
%1859 = load double, double* %17
%1860 = load double, double* %16
%1861 = fmul double 0x3FED906BCF328D46, %1860
%1862 = fneg double %1861
%1863 = call double @llvm.fmuladd.f64(double 0x3FD87DE2A6AEA963, double %1859, double %1862)
store double %1863, double* %21
%1864 = load double, double* %22
%1865 = load double, double* %23
%1866 = fmul double 0x3FD87DE2A6AEA963, %1865
%1867 = call double @llvm.fmuladd.f64(double 0x3FED906BCF328D46, double %1864, double %1866)
store double %1867, double* %16
%1868 = load double, double* %23
%1869 = load double, double* %22
%1870 = fmul double 0x3FD87DE2A6AEA963, %1869
%1871 = fneg double %1870
%1872 = call double @llvm.fmuladd.f64(double 0x3FED906BCF328D46, double %1868, double %1871)
store double %1872, double* %17
%1873 = load double**, double*** %4
%1874 = load i32, i32* %5
%1875 = sext i32 %1874 to i64
%1876 = getelementptr inbounds double*, double** %1873, i64 %1875
%1877 = load double*, double** %1876
%1878 = getelementptr inbounds double, double* %1877, i64 4
%1879 = load double, double* %1878
%1880 = load double**, double*** %4
%1881 = load i32, i32* %5
%1882 = sext i32 %1881 to i64
%1883 = getelementptr inbounds double*, double** %1880, i64 %1882
%1884 = load double*, double** %1883
%1885 = getelementptr inbounds double, double* %1884, i64 12
%1886 = load double, double* %1885
%1887 = fmul double 0x3FC1517A7BDB3895, %1886
%1888 = call double @llvm.fmuladd.f64(double 0x3FD4E7AE9144F0FC, double %1879, double %1887)
store double %1888, double* %22
%1889 = load double**, double*** %4
%1890 = load i32, i32* %5
%1891 = sext i32 %1890 to i64
%1892 = getelementptr inbounds double*, double** %1889, i64 %1891
%1893 = load double*, double** %1892
%1894 = getelementptr inbounds double, double* %1893, i64 12
%1895 = load double, double* %1894
%1896 = load double**, double*** %4
%1897 = load i32, i32* %5
%1898 = sext i32 %1897 to i64
%1899 = getelementptr inbounds double*, double** %1896, i64 %1898
%1900 = load double*, double** %1899
%1901 = getelementptr inbounds double, double* %1900, i64 4
%1902 = load double, double* %1901
%1903 = fmul double 0x3FC1517A7BDB3895, %1902
%1904 = fneg double %1903
%1905 = call double @llvm.fmuladd.f64(double 0x3FD4E7AE9144F0FC, double %1895, double %1904)
store double %1905, double* %23
%1906 = load double**, double*** %4
%1907 = load i32, i32* %5
%1908 = sext i32 %1907 to i64
%1909 = getelementptr inbounds double*, double** %1906, i64 %1908
%1910 = load double*, double** %1909
%1911 = getelementptr inbounds double, double* %1910, i64 0
%1912 = load double, double* %1911
%1913 = load double**, double*** %4
%1914 = load i32, i32* %5
%1915 = sext i32 %1914 to i64
%1916 = getelementptr inbounds double*, double** %1913, i64 %1915
%1917 = load double*, double** %1916
%1918 = getelementptr inbounds double, double* %1917, i64 8
%1919 = load double, double* %1918
%1920 = fadd double %1912, %1919
%1921 = fmul double 2.500000e-01, %1920
store double %1921, double* %10
%1922 = load double**, double*** %4
%1923 = load i32, i32* %5
%1924 = sext i32 %1923 to i64
%1925 = getelementptr inbounds double*, double** %1922, i64 %1924
%1926 = load double*, double** %1925
%1927 = getelementptr inbounds double, double* %1926, i64 0
%1928 = load double, double* %1927
%1929 = load double**, double*** %4
%1930 = load i32, i32* %5
%1931 = sext i32 %1930 to i64
%1932 = getelementptr inbounds double*, double** %1929, i64 %1931
%1933 = load double*, double** %1932
%1934 = getelementptr inbounds double, double* %1933, i64 8
%1935 = load double, double* %1934
%1936 = fsub double %1928, %1935
%1937 = fmul double 2.500000e-01, %1936
store double %1937, double* %12
%1938 = load double, double* %10
%1939 = load double, double* %22
%1940 = fadd double %1938, %1939
store double %1940, double* %6
%1941 = load double, double* %12
%1942 = load double, double* %23
%1943 = fadd double %1941, %1942
store double %1943, double* %8
%1944 = load double, double* %22
%1945 = load double, double* %10
%1946 = fsub double %1945, %1944
store double %1946, double* %10
%1947 = load double, double* %23
%1948 = load double, double* %12
%1949 = fsub double %1948, %1947
store double %1949, double* %12
%1950 = load double**, double*** %4
%1951 = load i32, i32* %5
%1952 = sext i32 %1951 to i64
%1953 = getelementptr inbounds double*, double** %1950, i64 %1952
%1954 = load double*, double** %1953
%1955 = getelementptr inbounds double, double* %1954, i64 2
%1956 = load double, double* %1955
%1957 = load double**, double*** %4
%1958 = load i32, i32* %5
%1959 = sext i32 %1958 to i64
%1960 = getelementptr inbounds double*, double** %1957, i64 %1959
%1961 = load double*, double** %1960
%1962 = getelementptr inbounds double, double* %1961, i64 14
%1963 = load double, double* %1962
%1964 = fmul double 0x3FB1A855DEC071B5, %1963
%1965 = call double @llvm.fmuladd.f64(double 0x3FD63150B15E8536, double %1956, double %1964)
store double %1965, double* %7
%1966 = load double**, double*** %4
%1967 = load i32, i32* %5
%1968 = sext i32 %1967 to i64
%1969 = getelementptr inbounds double*, double** %1966, i64 %1968
%1970 = load double*, double** %1969
%1971 = getelementptr inbounds double, double* %1970, i64 14
%1972 = load double, double* %1971
%1973 = load double**, double*** %4
%1974 = load i32, i32* %5
%1975 = sext i32 %1974 to i64
%1976 = getelementptr inbounds double*, double** %1973, i64 %1975
%1977 = load double*, double** %1976
%1978 = getelementptr inbounds double, double* %1977, i64 2
%1979 = load double, double* %1978
%1980 = fmul double 0x3FB1A855DEC071B5, %1979
%1981 = fneg double %1980
%1982 = call double @llvm.fmuladd.f64(double 0x3FD63150B15E8536, double %1972, double %1981)
store double %1982, double* %11
%1983 = load double**, double*** %4
%1984 = load i32, i32* %5
%1985 = sext i32 %1984 to i64
%1986 = getelementptr inbounds double*, double** %1983, i64 %1985
%1987 = load double*, double** %1986
%1988 = getelementptr inbounds double, double* %1987, i64 6
%1989 = load double, double* %1988
%1990 = load double**, double*** %4
%1991 = load i32, i32* %5
%1992 = sext i32 %1991 to i64
%1993 = getelementptr inbounds double*, double** %1990, i64 %1992
%1994 = load double*, double** %1993
%1995 = getelementptr inbounds double, double* %1994, i64 10
%1996 = load double, double* %1995
%1997 = fmul double 0x3FC92469C0DCF32D, %1996
%1998 = call double @llvm.fmuladd.f64(double 0x3FD2D062EF88E319, double %1989, double %1997)
store double %1998, double* %9
%1999 = load double**, double*** %4
%2000 = load i32, i32* %5
%2001 = sext i32 %2000 to i64
%2002 = getelementptr inbounds double*, double** %1999, i64 %2001
%2003 = load double*, double** %2002
%2004 = getelementptr inbounds double, double* %2003, i64 10
%2005 = load double, double* %2004
%2006 = load double**, double*** %4
%2007 = load i32, i32* %5
%2008 = sext i32 %2007 to i64
%2009 = getelementptr inbounds double*, double** %2006, i64 %2008
%2010 = load double*, double** %2009
%2011 = getelementptr inbounds double, double* %2010, i64 6
%2012 = load double, double* %2011
%2013 = fmul double 0x3FC92469C0DCF32D, %2012
%2014 = fneg double %2013
%2015 = call double @llvm.fmuladd.f64(double 0x3FD2D062EF88E319, double %2005, double %2014)
store double %2015, double* %13
%2016 = load double, double* %7
%2017 = load double, double* %9
%2018 = fsub double %2016, %2017
store double %2018, double* %22
%2019 = load double, double* %11
%2020 = load double, double* %13
%2021 = fadd double %2019, %2020
store double %2021, double* %23
%2022 = load double, double* %9
%2023 = load double, double* %7
%2024 = fadd double %2023, %2022
store double %2024, double* %7
%2025 = load double, double* %13
%2026 = load double, double* %11
%2027 = fsub double %2026, %2025
store double %2027, double* %11
%2028 = load double, double* %23
%2029 = load double, double* %22
%2030 = fadd double %2028, %2029
%2031 = fmul double 0x3FE6A09E667F3BCD, %2030
store double %2031, double* %9
%2032 = load double, double* %23
%2033 = load double, double* %22
%2034 = fsub double %2032, %2033
%2035 = fmul double 0x3FE6A09E667F3BCD, %2034
store double %2035, double* %13
%2036 = load double, double* %6
%2037 = load double, double* %7
%2038 = fadd double %2036, %2037
store double %2038, double* %22
%2039 = load double, double* %6
%2040 = load double, double* %7
%2041 = fsub double %2039, %2040
store double %2041, double* %23
%2042 = load double, double* %22
%2043 = load double, double* %14
%2044 = fadd double %2042, %2043
%2045 = load double**, double*** %4
%2046 = load i32, i32* %5
%2047 = sext i32 %2046 to i64
%2048 = getelementptr inbounds double*, double** %2045, i64 %2047
%2049 = load double*, double** %2048
%2050 = getelementptr inbounds double, double* %2049, i64 0
store double %2044, double* %2050
%2051 = load double, double* %22
%2052 = load double, double* %14
%2053 = fsub double %2051, %2052
%2054 = load double**, double*** %4
%2055 = load i32, i32* %5
%2056 = sext i32 %2055 to i64
%2057 = getelementptr inbounds double*, double** %2054, i64 %2056
%2058 = load double*, double** %2057
%2059 = getelementptr inbounds double, double* %2058, i64 15
store double %2053, double* %2059
%2060 = load double, double* %23
%2061 = load double, double* %15
%2062 = fadd double %2060, %2061
%2063 = load double**, double*** %4
%2064 = load i32, i32* %5
%2065 = sext i32 %2064 to i64
%2066 = getelementptr inbounds double*, double** %2063, i64 %2065
%2067 = load double*, double** %2066
%2068 = getelementptr inbounds double, double* %2067, i64 8
store double %2062, double* %2068
%2069 = load double, double* %23
%2070 = load double, double* %15
%2071 = fsub double %2069, %2070
%2072 = load double**, double*** %4
%2073 = load i32, i32* %5
%2074 = sext i32 %2073 to i64
%2075 = getelementptr inbounds double*, double** %2072, i64 %2074
%2076 = load double*, double** %2075
%2077 = getelementptr inbounds double, double* %2076, i64 7
store double %2071, double* %2077
%2078 = load double, double* %8
%2079 = load double, double* %9
%2080 = fadd double %2078, %2079
store double %2080, double* %22
%2081 = load double, double* %8
%2082 = load double, double* %9
%2083 = fsub double %2081, %2082
store double %2083, double* %23
%2084 = load double, double* %22
%2085 = load double, double* %16
%2086 = fadd double %2084, %2085
%2087 = load double**, double*** %4
%2088 = load i32, i32* %5
%2089 = sext i32 %2088 to i64
%2090 = getelementptr inbounds double*, double** %2087, i64 %2089
%2091 = load double*, double** %2090
%2092 = getelementptr inbounds double, double* %2091, i64 2
store double %2086, double* %2092
%2093 = load double, double* %22
%2094 = load double, double* %16
%2095 = fsub double %2093, %2094
%2096 = load double**, double*** %4
%2097 = load i32, i32* %5
%2098 = sext i32 %2097 to i64
%2099 = getelementptr inbounds double*, double** %2096, i64 %2098
%2100 = load double*, double** %2099
%2101 = getelementptr inbounds double, double* %2100, i64 13
store double %2095, double* %2101
%2102 = load double, double* %23
%2103 = load double, double* %17
%2104 = fadd double %2102, %2103
%2105 = load double**, double*** %4
%2106 = load i32, i32* %5
%2107 = sext i32 %2106 to i64
%2108 = getelementptr inbounds double*, double** %2105, i64 %2107
%2109 = load double*, double** %2108
%2110 = getelementptr inbounds double, double* %2109, i64 10
store double %2104, double* %2110
%2111 = load double, double* %23
%2112 = load double, double* %17
%2113 = fsub double %2111, %2112
%2114 = load double**, double*** %4
%2115 = load i32, i32* %5
%2116 = sext i32 %2115 to i64
%2117 = getelementptr inbounds double*, double** %2114, i64 %2116
%2118 = load double*, double** %2117
%2119 = getelementptr inbounds double, double* %2118, i64 5
store double %2113, double* %2119
%2120 = load double, double* %10
%2121 = load double, double* %11
%2122 = fadd double %2120, %2121
store double %2122, double* %22
%2123 = load double, double* %10
%2124 = load double, double* %11
%2125 = fsub double %2123, %2124
store double %2125, double* %23
%2126 = load double, double* %22
%2127 = load double, double* %18
%2128 = fadd double %2126, %2127
%2129 = load double**, double*** %4
%2130 = load i32, i32* %5
%2131 = sext i32 %2130 to i64
%2132 = getelementptr inbounds double*, double** %2129, i64 %2131
%2133 = load double*, double** %2132
%2134 = getelementptr inbounds double, double* %2133, i64 4
store double %2128, double* %2134
%2135 = load double, double* %22
%2136 = load double, double* %18
%2137 = fsub double %2135, %2136
%2138 = load double**, double*** %4
%2139 = load i32, i32* %5
%2140 = sext i32 %2139 to i64
%2141 = getelementptr inbounds double*, double** %2138, i64 %2140
%2142 = load double*, double** %2141
%2143 = getelementptr inbounds double, double* %2142, i64 11
store double %2137, double* %2143
%2144 = load double, double* %23
%2145 = load double, double* %19
%2146 = fadd double %2144, %2145
%2147 = load double**, double*** %4
%2148 = load i32, i32* %5
%2149 = sext i32 %2148 to i64
%2150 = getelementptr inbounds double*, double** %2147, i64 %2149
%2151 = load double*, double** %2150
%2152 = getelementptr inbounds double, double* %2151, i64 12
store double %2146, double* %2152
%2153 = load double, double* %23
%2154 = load double, double* %19
%2155 = fsub double %2153, %2154
%2156 = load double**, double*** %4
%2157 = load i32, i32* %5
%2158 = sext i32 %2157 to i64
%2159 = getelementptr inbounds double*, double** %2156, i64 %2158
%2160 = load double*, double** %2159
%2161 = getelementptr inbounds double, double* %2160, i64 3
store double %2155, double* %2161
%2162 = load double, double* %12
%2163 = load double, double* %13
%2164 = fadd double %2162, %2163
store double %2164, double* %22
%2165 = load double, double* %12
%2166 = load double, double* %13
%2167 = fsub double %2165, %2166
store double %2167, double* %23
%2168 = load double, double* %22
%2169 = load double, double* %20
%2170 = fadd double %2168, %2169
%2171 = load double**, double*** %4
%2172 = load i32, i32* %5
%2173 = sext i32 %2172 to i64
%2174 = getelementptr inbounds double*, double** %2171, i64 %2173
%2175 = load double*, double** %2174
%2176 = getelementptr inbounds double, double* %2175, i64 6
store double %2170, double* %2176
%2177 = load double, double* %22
%2178 = load double, double* %20
%2179 = fsub double %2177, %2178
%2180 = load double**, double*** %4
%2181 = load i32, i32* %5
%2182 = sext i32 %2181 to i64
%2183 = getelementptr inbounds double*, double** %2180, i64 %2182
%2184 = load double*, double** %2183
%2185 = getelementptr inbounds double, double* %2184, i64 9
store double %2179, double* %2185
%2186 = load double, double* %23
%2187 = load double, double* %21
%2188 = fadd double %2186, %2187
%2189 = load double**, double*** %4
%2190 = load i32, i32* %5
%2191 = sext i32 %2190 to i64
%2192 = getelementptr inbounds double*, double** %2189, i64 %2191
%2193 = load double*, double** %2192
%2194 = getelementptr inbounds double, double* %2193, i64 14
store double %2188, double* %2194
%2195 = load double, double* %23
%2196 = load double, double* %21
%2197 = fsub double %2195, %2196
%2198 = load double**, double*** %4
%2199 = load i32, i32* %5
%2200 = sext i32 %2199 to i64
%2201 = getelementptr inbounds double*, double** %2198, i64 %2200
%2202 = load double*, double** %2201
%2203 = getelementptr inbounds double, double* %2202, i64 1
store double %2197, double* %2203
br label %2204
2204: ; preds = %1666
%2205 = load i32, i32* %5
%2206 = add nsw i32 %2205, 1
store i32 %2206, i32* %5
br label %1663
2207: ; preds = %1663
br label %2208
2208: ; preds = %2207, %1116
ret void
}

LLVM IR (-O2):
define void @ddct16x16s(i32 %0, double** %1) {
%3 = icmp slt i32 %0, 0
br i1 %3, label %36, label %4
4: ; preds = %2
%5 = getelementptr inbounds double*, double** %1, i64 1
%6 = load double*, double** %5
%7 = getelementptr inbounds double*, double** %1, i64 15
%8 = load double*, double** %7
%9 = getelementptr inbounds double*, double** %1, i64 7
%10 = load double*, double** %9
%11 = getelementptr inbounds double*, double** %1, i64 9
%12 = load double*, double** %11
%13 = getelementptr inbounds double*, double** %1, i64 5
%14 = load double*, double** %13
%15 = getelementptr inbounds double*, double** %1, i64 11
%16 = load double*, double** %15
%17 = getelementptr inbounds double*, double** %1, i64 3
%18 = load double*, double** %17
%19 = getelementptr inbounds double*, double** %1, i64 13
%20 = load double*, double** %19
%21 = getelementptr inbounds double*, double** %1, i64 4
%22 = load double*, double** %21
%23 = getelementptr inbounds double*, double** %1, i64 12
%24 = load double*, double** %23
%25 = load double*, double** %1
%26 = getelementptr inbounds double*, double** %1, i64 8
%27 = load double*, double** %26
%28 = getelementptr inbounds double*, double** %1, i64 2
%29 = load double*, double** %28
%30 = getelementptr inbounds double*, double** %1, i64 14
%31 = load double*, double** %30
%32 = getelementptr inbounds double*, double** %1, i64 6
%33 = load double*, double** %32
%34 = getelementptr inbounds double*, double** %1, i64 10
%35 = load double*, double** %34
br label %333
36: ; preds = %2
%37 = load double*, double** %1
%38 = getelementptr inbounds double*, double** %1, i64 15
%39 = load double*, double** %38
%40 = getelementptr inbounds double*, double** %1, i64 8
%41 = load double*, double** %40
%42 = getelementptr inbounds double*, double** %1, i64 7
%43 = load double*, double** %42
%44 = getelementptr inbounds double*, double** %1, i64 2
%45 = load double*, double** %44
%46 = getelementptr inbounds double*, double** %1, i64 13
%47 = load double*, double** %46
%48 = getelementptr inbounds double*, double** %1, i64 10
%49 = load double*, double** %48
%50 = getelementptr inbounds double*, double** %1, i64 5
%51 = load double*, double** %50
%52 = getelementptr inbounds double*, double** %1, i64 4
%53 = load double*, double** %52
%54 = getelementptr inbounds double*, double** %1, i64 11
%55 = load double*, double** %54
%56 = getelementptr inbounds double*, double** %1, i64 12
%57 = load double*, double** %56
%58 = getelementptr inbounds double*, double** %1, i64 3
%59 = load double*, double** %58
%60 = getelementptr inbounds double*, double** %1, i64 6
%61 = load double*, double** %60
%62 = getelementptr inbounds double*, double** %1, i64 9
%63 = load double*, double** %62
%64 = getelementptr inbounds double*, double** %1, i64 14
%65 = load double*, double** %64
%66 = getelementptr inbounds double*, double** %1, i64 1
%67 = load double*, double** %66
br label %68
68: ; preds = %36, %68
%69 = phi i64 [ 0, %36 ], [ %198, %68 ]
%70 = getelementptr inbounds double, double* %37, i64 %69
%71 = load double, double* %70
%72 = getelementptr inbounds double, double* %39, i64 %69
%73 = load double, double* %72
%74 = fsub double %71, %73
%75 = fadd double %71, %73
%76 = getelementptr inbounds double, double* %41, i64 %69
%77 = load double, double* %76
%78 = getelementptr inbounds double, double* %43, i64 %69
%79 = load double, double* %78
%80 = fsub double %77, %79
%81 = fadd double %77, %79
%82 = fadd double %75, %81
%83 = fsub double %75, %81
%84 = getelementptr inbounds double, double* %45, i64 %69
%85 = load double, double* %84
%86 = getelementptr inbounds double, double* %47, i64 %69
%87 = load double, double* %86
%88 = fsub double %85, %87
%89 = fadd double %85, %87
%90 = getelementptr inbounds double, double* %49, i64 %69
%91 = load double, double* %90
%92 = getelementptr inbounds double, double* %51, i64 %69
%93 = load double, double* %92
%94 = fsub double %91, %93
%95 = fadd double %91, %93
%96 = fadd double %89, %95
%97 = fsub double %89, %95
%98 = getelementptr inbounds double, double* %53, i64 %69
%99 = load double, double* %98
%100 = getelementptr inbounds double, double* %55, i64 %69
%101 = load double, double* %100
%102 = fsub double %99, %101
%103 = fadd double %99, %101
%104 = getelementptr inbounds double, double* %57, i64 %69
%105 = load double, double* %104
%106 = getelementptr inbounds double, double* %59, i64 %69
%107 = load double, double* %106
%108 = fsub double %105, %107
%109 = fadd double %105, %107
%110 = fadd double %103, %109
%111 = fsub double %103, %109
%112 = getelementptr inbounds double, double* %61, i64 %69
%113 = load double, double* %112
%114 = getelementptr inbounds double, double* %63, i64 %69
%115 = load double, double* %114
%116 = fsub double %113, %115
%117 = fadd double %113, %115
%118 = getelementptr inbounds double, double* %65, i64 %69
%119 = load double, double* %118
%120 = getelementptr inbounds double, double* %67, i64 %69
%121 = load double, double* %120
%122 = fsub double %119, %121
%123 = fadd double %119, %121
%124 = fadd double %117, %123
%125 = fsub double %117, %123
%126 = fadd double %82, %110
%127 = fadd double %96, %124
%128 = fadd double %126, %127
%129 = fmul double %128, 2.500000e-01
store double %129, double* %70
%130 = fsub double %126, %127
%131 = fmul double %130, 2.500000e-01
store double %131, double* %76
%132 = fsub double %82, %110
%133 = fsub double %96, %124
%134 = fmul double %133, 0xBFC1517A7BDB3895
%135 = tail call double @llvm.fmuladd.f64(double %132, double 0x3FD4E7AE9144F0FC, double %134)
store double %135, double* %98
%136 = fmul double %132, 0x3FC1517A7BDB3895
%137 = tail call double @llvm.fmuladd.f64(double %133, double 0x3FD4E7AE9144F0FC, double %136)
store double %137, double* %104
%138 = fsub double %97, %125
%139 = fmul double %138, 0x3FE6A09E667F3BCD
%140 = fadd double %97, %125
%141 = fmul double %140, 0x3FE6A09E667F3BCD
%142 = fadd double %83, %139
%143 = fadd double %111, %141
%144 = fmul double %143, 0xBFB1A855DEC071B5
%145 = tail call double @llvm.fmuladd.f64(double %142, double 0x3FD63150B15E8536, double %144)
store double %145, double* %84
%146 = fmul double %142, 0x3FB1A855DEC071B5
%147 = tail call double @llvm.fmuladd.f64(double %143, double 0x3FD63150B15E8536, double %146)
store double %147, double* %118
%148 = fsub double %83, %139
%149 = fsub double %141, %111
%150 = fmul double %149, 0xBFC92469C0DCF32D
%151 = tail call double @llvm.fmuladd.f64(double %148, double 0x3FD2D062EF88E319, double %150)
store double %151, double* %112
%152 = fmul double %148, 0x3FC92469C0DCF32D
%153 = tail call double @llvm.fmuladd.f64(double %149, double 0x3FD2D062EF88E319, double %152)
store double %153, double* %90
%154 = fsub double %102, %108
%155 = fmul double %154, 0x3FE6A09E667F3BCD
%156 = fadd double %102, %108
%157 = fmul double %156, 0x3FE6A09E667F3BCD
%158 = fsub double %74, %155
%159 = fsub double %80, %157
%160 = fadd double %74, %155
%161 = fadd double %80, %157
%162 = fmul double %122, 0xBFED906BCF328D46
%163 = tail call double @llvm.fmuladd.f64(double %116, double 0x3FD87DE2A6AEA963, double %162)
%164 = fmul double %116, 0x3FED906BCF328D46
%165 = tail call double @llvm.fmuladd.f64(double %122, double 0x3FD87DE2A6AEA963, double %164)
%166 = fmul double %94, 0xBFD87DE2A6AEA963
%167 = tail call double @llvm.fmuladd.f64(double %88, double 0x3FED906BCF328D46, double %166)
%168 = fmul double %88, 0x3FD87DE2A6AEA963
%169 = tail call double @llvm.fmuladd.f64(double %94, double 0x3FED906BCF328D46, double %168)
%170 = fadd double %167, %163
%171 = fadd double %169, %165
%172 = fsub double %167, %163
%173 = fsub double %169, %165
%174 = fadd double %160, %170
%175 = fadd double %161, %171
%176 = fmul double %175, 0xBFA1BE35182FE5AA
%177 = tail call double @llvm.fmuladd.f64(double %174, double 0x3FD684B9C80F1A8B, double %176)
store double %177, double* %120
%178 = fmul double %174, 0x3FA1BE35182FE5AA
%179 = tail call double @llvm.fmuladd.f64(double %175, double 0x3FD684B9C80F1A8B, double %178)
store double %179, double* %72
%180 = fsub double %160, %170
%181 = fsub double %171, %161
%182 = fmul double %181, 0xBFCCB598CC4BEEA0
%183 = tail call double @llvm.fmuladd.f64(double %180, double 0x3FD17DC13DAB2DD6, double %182)
store double %183, double* %78
%184 = fmul double %180, 0x3FCCB598CC4BEEA0
%185 = tail call double @llvm.fmuladd.f64(double %181, double 0x3FD17DC13DAB2DD6, double %184)
store double %185, double* %114
%186 = fsub double %158, %173
%187 = fadd double %159, %172
%188 = fmul double %187, 0xBFC5553E3F5B5E58
%189 = tail call double @llvm.fmuladd.f64(double %186, double 0x3FD3F4A237187EAF, double %188)
store double %189, double* %92
%190 = fmul double %186, 0x3FC5553E3F5B5E58
%191 = tail call double @llvm.fmuladd.f64(double %187, double 0x3FD3F4A237187EAF, double %190)
store double %191, double* %100
%192 = fadd double %158, %173
%193 = fsub double %172, %159
%194 = fmul double %193, 0xBFBA4608AAFA8527
%195 = tail call double @llvm.fmuladd.f64(double %192, double 0x3FD5A730C6C21C67, double %194)
store double %195, double* %106
%196 = fmul double %192, 0x3FBA4608AAFA8527
%197 = tail call double @llvm.fmuladd.f64(double %193, double 0x3FD5A730C6C21C67, double %196)
store double %197, double* %86
%198 = add nuw nsw i64 %69, 1
%199 = icmp eq i64 %198, 16
br i1 %199, label %200, label %68
200: ; preds = %68, %200
%201 = phi i64 [ %331, %200 ], [ 0, %68 ]
%202 = getelementptr inbounds double*, double** %1, i64 %201
%203 = load double*, double** %202
%204 = load double, double* %203
%205 = getelementptr inbounds double, double* %203, i64 15
%206 = load double, double* %205
%207 = fsub double %204, %206
%208 = fadd double %204, %206
%209 = getelementptr inbounds double, double* %203, i64 8
%210 = load double, double* %209
%211 = getelementptr inbounds double, double* %203, i64 7
%212 = load double, double* %211
%213 = fsub double %210, %212
%214 = fadd double %210, %212
%215 = fadd double %208, %214
%216 = fsub double %208, %214
%217 = getelementptr inbounds double, double* %203, i64 2
%218 = load double, double* %217
%219 = getelementptr inbounds double, double* %203, i64 13
%220 = load double, double* %219
%221 = fsub double %218, %220
%222 = fadd double %218, %220
%223 = getelementptr inbounds double, double* %203, i64 10
%224 = load double, double* %223
%225 = getelementptr inbounds double, double* %203, i64 5
%226 = load double, double* %225
%227 = fsub double %224, %226
%228 = fadd double %224, %226
%229 = fadd double %222, %228
%230 = fsub double %222, %228
%231 = getelementptr inbounds double, double* %203, i64 4
%232 = load double, double* %231
%233 = getelementptr inbounds double, double* %203, i64 11
%234 = load double, double* %233
%235 = fsub double %232, %234
%236 = fadd double %232, %234
%237 = getelementptr inbounds double, double* %203, i64 12
%238 = load double, double* %237
%239 = getelementptr inbounds double, double* %203, i64 3
%240 = load double, double* %239
%241 = fsub double %238, %240
%242 = fadd double %238, %240
%243 = fadd double %236, %242
%244 = fsub double %236, %242
%245 = getelementptr inbounds double, double* %203, i64 6
%246 = load double, double* %245
%247 = getelementptr inbounds double, double* %203, i64 9
%248 = load double, double* %247
%249 = fsub double %246, %248
%250 = fadd double %246, %248
%251 = getelementptr inbounds double, double* %203, i64 14
%252 = load double, double* %251
%253 = getelementptr inbounds double, double* %203, i64 1
%254 = load double, double* %253
%255 = fsub double %252, %254
%256 = fadd double %252, %254
%257 = fadd double %250, %256
%258 = fsub double %250, %256
%259 = fadd double %215, %243
%260 = fadd double %229, %257
%261 = fadd double %259, %260
%262 = fmul double %261, 2.500000e-01
store double %262, double* %203
%263 = fsub double %259, %260
%264 = fmul double %263, 2.500000e-01
store double %264, double* %209
%265 = fsub double %215, %243
%266 = fsub double %229, %257
%267 = fmul double %266, 0xBFC1517A7BDB3895
%268 = tail call double @llvm.fmuladd.f64(double %265, double 0x3FD4E7AE9144F0FC, double %267)
store double %268, double* %231
%269 = fmul double %265, 0x3FC1517A7BDB3895
%270 = tail call double @llvm.fmuladd.f64(double %266, double 0x3FD4E7AE9144F0FC, double %269)
store double %270, double* %237
%271 = fsub double %230, %258
%272 = fmul double %271, 0x3FE6A09E667F3BCD
%273 = fadd double %230, %258
%274 = fmul double %273, 0x3FE6A09E667F3BCD
%275 = fadd double %216, %272
%276 = fadd double %244, %274
%277 = fmul double %276, 0xBFB1A855DEC071B5
%278 = tail call double @llvm.fmuladd.f64(double %275, double 0x3FD63150B15E8536, double %277)
store double %278, double* %217
%279 = fmul double %275, 0x3FB1A855DEC071B5
%280 = tail call double @llvm.fmuladd.f64(double %276, double 0x3FD63150B15E8536, double %279)
store double %280, double* %251
%281 = fsub double %216, %272
%282 = fsub double %274, %244
%283 = fmul double %282, 0xBFC92469C0DCF32D
%284 = tail call double @llvm.fmuladd.f64(double %281, double 0x3FD2D062EF88E319, double %283)
store double %284, double* %245
%285 = fmul double %281, 0x3FC92469C0DCF32D
%286 = tail call double @llvm.fmuladd.f64(double %282, double 0x3FD2D062EF88E319, double %285)
store double %286, double* %223
%287 = fsub double %235, %241
%288 = fmul double %287, 0x3FE6A09E667F3BCD
%289 = fadd double %235, %241
%290 = fmul double %289, 0x3FE6A09E667F3BCD
%291 = fsub double %207, %288
%292 = fsub double %213, %290
%293 = fadd double %207, %288
%294 = fadd double %213, %290
%295 = fmul double %255, 0xBFED906BCF328D46
%296 = tail call double @llvm.fmuladd.f64(double %249, double 0x3FD87DE2A6AEA963, double %295)
%297 = fmul double %249, 0x3FED906BCF328D46
%298 = tail call double @llvm.fmuladd.f64(double %255, double 0x3FD87DE2A6AEA963, double %297)
%299 = fmul double %227, 0xBFD87DE2A6AEA963
%300 = tail call double @llvm.fmuladd.f64(double %221, double 0x3FED906BCF328D46, double %299)
%301 = fmul double %221, 0x3FD87DE2A6AEA963
%302 = tail call double @llvm.fmuladd.f64(double %227, double 0x3FED906BCF328D46, double %301)
%303 = fadd double %300, %296
%304 = fadd double %302, %298
%305 = fsub double %300, %296
%306 = fsub double %302, %298
%307 = fadd double %293, %303
%308 = fadd double %294, %304
%309 = fmul double %308, 0xBFA1BE35182FE5AA
%310 = tail call double @llvm.fmuladd.f64(double %307, double 0x3FD684B9C80F1A8B, double %309)
store double %310, double* %253
%311 = fmul double %307, 0x3FA1BE35182FE5AA
%312 = tail call double @llvm.fmuladd.f64(double %308, double 0x3FD684B9C80F1A8B, double %311)
store double %312, double* %205
%313 = fsub double %293, %303
%314 = fsub double %304, %294
%315 = fmul double %314, 0xBFCCB598CC4BEEA0
%316 = tail call double @llvm.fmuladd.f64(double %313, double 0x3FD17DC13DAB2DD6, double %315)
store double %316, double* %211
%317 = fmul double %313, 0x3FCCB598CC4BEEA0
%318 = tail call double @llvm.fmuladd.f64(double %314, double 0x3FD17DC13DAB2DD6, double %317)
store double %318, double* %247
%319 = fsub double %291, %306
%320 = fadd double %292, %305
%321 = fmul double %320, 0xBFC5553E3F5B5E58
%322 = tail call double @llvm.fmuladd.f64(double %319, double 0x3FD3F4A237187EAF, double %321)
store double %322, double* %225
%323 = fmul double %319, 0x3FC5553E3F5B5E58
%324 = tail call double @llvm.fmuladd.f64(double %320, double 0x3FD3F4A237187EAF, double %323)
store double %324, double* %233
%325 = fadd double %291, %306
%326 = fsub double %305, %292
%327 = fmul double %326, 0xBFBA4608AAFA8527
%328 = tail call double @llvm.fmuladd.f64(double %325, double 0x3FD5A730C6C21C67, double %327)
store double %328, double* %239
%329 = fmul double %325, 0x3FBA4608AAFA8527
%330 = tail call double @llvm.fmuladd.f64(double %326, double 0x3FD5A730C6C21C67, double %329)
store double %330, double* %219
%331 = add nuw nsw i64 %201, 1
%332 = icmp eq i64 %331, 16
br i1 %332, label %598, label %200
333: ; preds = %4, %333
%334 = phi i64 [ 0, %4 ], [ %463, %333 ]
%335 = getelementptr inbounds double, double* %6, i64 %334
%336 = load double, double* %335
%337 = getelementptr inbounds double, double* %8, i64 %334
%338 = load double, double* %337
%339 = fmul double %338, 0x3FA1BE35182FE5AA
%340 = tail call double @llvm.fmuladd.f64(double %336, double 0x3FD684B9C80F1A8B, double %339)
%341 = fmul double %336, 0xBFA1BE35182FE5AA
%342 = tail call double @llvm.fmuladd.f64(double %338, double 0x3FD684B9C80F1A8B, double %341)
%343 = getelementptr inbounds double, double* %10, i64 %334
%344 = load double, double* %343
%345 = getelementptr inbounds double, double* %12, i64 %334
%346 = load double, double* %345
%347 = fmul double %346, 0x3FCCB598CC4BEEA0
%348 = tail call double @llvm.fmuladd.f64(double %344, double 0x3FD17DC13DAB2DD6, double %347)
%349 = fmul double %344, 0xBFCCB598CC4BEEA0
%350 = tail call double @llvm.fmuladd.f64(double %346, double 0x3FD17DC13DAB2DD6, double %349)
%351 = fadd double %340, %348
%352 = fsub double %342, %350
%353 = fsub double %340, %348
%354 = fadd double %342, %350
%355 = getelementptr inbounds double, double* %14, i64 %334
%356 = load double, double* %355
%357 = getelementptr inbounds double, double* %16, i64 %334
%358 = load double, double* %357
%359 = fmul double %358, 0x3FC5553E3F5B5E58
%360 = tail call double @llvm.fmuladd.f64(double %356, double 0x3FD3F4A237187EAF, double %359)
%361 = fmul double %356, 0xBFC5553E3F5B5E58
%362 = tail call double @llvm.fmuladd.f64(double %358, double 0x3FD3F4A237187EAF, double %361)
%363 = getelementptr inbounds double, double* %18, i64 %334
%364 = load double, double* %363
%365 = getelementptr inbounds double, double* %20, i64 %334
%366 = load double, double* %365
%367 = fmul double %366, 0x3FBA4608AAFA8527
%368 = tail call double @llvm.fmuladd.f64(double %364, double 0x3FD5A730C6C21C67, double %367)
%369 = fmul double %364, 0xBFBA4608AAFA8527
%370 = tail call double @llvm.fmuladd.f64(double %366, double 0x3FD5A730C6C21C67, double %369)
%371 = fadd double %360, %368
%372 = fsub double %362, %370
%373 = fsub double %360, %368
%374 = fadd double %362, %370
%375 = fsub double %351, %371
%376 = fsub double %352, %372
%377 = fadd double %351, %371
%378 = fadd double %352, %372
%379 = fadd double %376, %375
%380 = fmul double %379, 0x3FE6A09E667F3BCD
%381 = fsub double %376, %375
%382 = fmul double %381, 0x3FE6A09E667F3BCD
%383 = fadd double %353, %374
%384 = fsub double %354, %373
%385 = fsub double %353, %374
%386 = fadd double %354, %373
%387 = fmul double %386, 0x3FED906BCF328D46
%388 = tail call double @llvm.fmuladd.f64(double %385, double 0x3FD87DE2A6AEA963, double %387)
%389 = fmul double %385, 0xBFED906BCF328D46
%390 = tail call double @llvm.fmuladd.f64(double %386, double 0x3FD87DE2A6AEA963, double %389)
%391 = fmul double %384, 0x3FD87DE2A6AEA963
%392 = tail call double @llvm.fmuladd.f64(double %383, double 0x3FED906BCF328D46, double %391)
%393 = fmul double %383, 0xBFD87DE2A6AEA963
%394 = tail call double @llvm.fmuladd.f64(double %384, double 0x3FED906BCF328D46, double %393)
%395 = getelementptr inbounds double, double* %22, i64 %334
%396 = load double, double* %395
%397 = getelementptr inbounds double, double* %24, i64 %334
%398 = load double, double* %397
%399 = fmul double %398, 0x3FC1517A7BDB3895
%400 = tail call double @llvm.fmuladd.f64(double %396, double 0x3FD4E7AE9144F0FC, double %399)
%401 = fmul double %396, 0xBFC1517A7BDB3895
%402 = tail call double @llvm.fmuladd.f64(double %398, double 0x3FD4E7AE9144F0FC, double %401)
%403 = getelementptr inbounds double, double* %25, i64 %334
%404 = load double, double* %403
%405 = getelementptr inbounds double, double* %27, i64 %334
%406 = load double, double* %405
%407 = fadd double %404, %406
%408 = fmul double %407, 2.500000e-01
%409 = fsub double %404, %406
%410 = fmul double %409, 2.500000e-01
%411 = fadd double %400, %408
%412 = fadd double %402, %410
%413 = fsub double %408, %400
%414 = fsub double %410, %402
%415 = getelementptr inbounds double, double* %29, i64 %334
%416 = load double, double* %415
%417 = getelementptr inbounds double, double* %31, i64 %334
%418 = load double, double* %417
%419 = fmul double %418, 0x3FB1A855DEC071B5
%420 = tail call double @llvm.fmuladd.f64(double %416, double 0x3FD63150B15E8536, double %419)
%421 = fmul double %416, 0xBFB1A855DEC071B5
%422 = tail call double @llvm.fmuladd.f64(double %418, double 0x3FD63150B15E8536, double %421)
%423 = getelementptr inbounds double, double* %33, i64 %334
%424 = load double, double* %423
%425 = getelementptr inbounds double, double* %35, i64 %334
%426 = load double, double* %425
%427 = fmul double %426, 0x3FC92469C0DCF32D
%428 = tail call double @llvm.fmuladd.f64(double %424, double 0x3FD2D062EF88E319, double %427)
%429 = fmul double %424, 0xBFC92469C0DCF32D
%430 = tail call double @llvm.fmuladd.f64(double %426, double 0x3FD2D062EF88E319, double %429)
%431 = fsub double %420, %428
%432 = fadd double %422, %430
%433 = fadd double %420, %428
%434 = fsub double %422, %430
%435 = fadd double %432, %431
%436 = fmul double %435, 0x3FE6A09E667F3BCD
%437 = fsub double %432, %431
%438 = fmul double %437, 0x3FE6A09E667F3BCD
%439 = fadd double %411, %433
%440 = fsub double %411, %433
%441 = fadd double %377, %439
store double %441, double* %403
%442 = fsub double %439, %377
store double %442, double* %337
%443 = fadd double %378, %440
store double %443, double* %405
%444 = fsub double %440, %378
store double %444, double* %343
%445 = fadd double %412, %436
%446 = fsub double %412, %436
%447 = fadd double %392, %445
store double %447, double* %415
%448 = fsub double %445, %392
store double %448, double* %365
%449 = fadd double %394, %446
store double %449, double* %425
%450 = fsub double %446, %394
store double %450, double* %355
%451 = fadd double %413, %434
%452 = fsub double %413, %434
%453 = fadd double %380, %451
store double %453, double* %395
%454 = fsub double %451, %380
store double %454, double* %357
%455 = fadd double %382, %452
store double %455, double* %397
%456 = fsub double %452, %382
store double %456, double* %363
%457 = fadd double %414, %438
%458 = fsub double %414, %438
%459 = fadd double %388, %457
store double %459, double* %423
%460 = fsub double %457, %388
store double %460, double* %345
%461 = fadd double %390, %458
store double %461, double* %417
%462 = fsub double %458, %390
store double %462, double* %335
%463 = add nuw nsw i64 %334, 1
%464 = icmp eq i64 %463, 16
br i1 %464, label %465, label %333
465: ; preds = %333, %465
%466 = phi i64 [ %596, %465 ], [ 0, %333 ]
%467 = getelementptr inbounds double*, double** %1, i64 %466
%468 = load double*, double** %467
%469 = getelementptr inbounds double, double* %468, i64 1
%470 = load double, double* %469
%471 = getelementptr inbounds double, double* %468, i64 15
%472 = load double, double* %471
%473 = fmul double %472, 0x3FA1BE35182FE5AA
%474 = tail call double @llvm.fmuladd.f64(double %470, double 0x3FD684B9C80F1A8B, double %473)
%475 = fmul double %470, 0xBFA1BE35182FE5AA
%476 = tail call double @llvm.fmuladd.f64(double %472, double 0x3FD684B9C80F1A8B, double %475)
%477 = getelementptr inbounds double, double* %468, i64 7
%478 = load double, double* %477
%479 = getelementptr inbounds double, double* %468, i64 9
%480 = load double, double* %479
%481 = fmul double %480, 0x3FCCB598CC4BEEA0
%482 = tail call double @llvm.fmuladd.f64(double %478, double 0x3FD17DC13DAB2DD6, double %481)
%483 = fmul double %478, 0xBFCCB598CC4BEEA0
%484 = tail call double @llvm.fmuladd.f64(double %480, double 0x3FD17DC13DAB2DD6, double %483)
%485 = fadd double %474, %482
%486 = fsub double %476, %484
%487 = fsub double %474, %482
%488 = fadd double %476, %484
%489 = getelementptr inbounds double, double* %468, i64 5
%490 = load double, double* %489
%491 = getelementptr inbounds double, double* %468, i64 11
%492 = load double, double* %491
%493 = fmul double %492, 0x3FC5553E3F5B5E58
%494 = tail call double @llvm.fmuladd.f64(double %490, double 0x3FD3F4A237187EAF, double %493)
%495 = fmul double %490, 0xBFC5553E3F5B5E58
%496 = tail call double @llvm.fmuladd.f64(double %492, double 0x3FD3F4A237187EAF, double %495)
%497 = getelementptr inbounds double, double* %468, i64 3
%498 = load double, double* %497
%499 = getelementptr inbounds double, double* %468, i64 13
%500 = load double, double* %499
%501 = fmul double %500, 0x3FBA4608AAFA8527
%502 = tail call double @llvm.fmuladd.f64(double %498, double 0x3FD5A730C6C21C67, double %501)
%503 = fmul double %498, 0xBFBA4608AAFA8527
%504 = tail call double @llvm.fmuladd.f64(double %500, double 0x3FD5A730C6C21C67, double %503)
%505 = fadd double %494, %502
%506 = fsub double %496, %504
%507 = fsub double %494, %502
%508 = fadd double %496, %504
%509 = fsub double %485, %505
%510 = fsub double %486, %506
%511 = fadd double %485, %505
%512 = fadd double %486, %506
%513 = fadd double %510, %509
%514 = fmul double %513, 0x3FE6A09E667F3BCD
%515 = fsub double %510, %509
%516 = fmul double %515, 0x3FE6A09E667F3BCD
%517 = fadd double %487, %508
%518 = fsub double %488, %507
%519 = fsub double %487, %508
%520 = fadd double %488, %507
%521 = fmul double %520, 0x3FED906BCF328D46
%522 = tail call double @llvm.fmuladd.f64(double %519, double 0x3FD87DE2A6AEA963, double %521)
%523 = fmul double %519, 0xBFED906BCF328D46
%524 = tail call double @llvm.fmuladd.f64(double %520, double 0x3FD87DE2A6AEA963, double %523)
%525 = fmul double %518, 0x3FD87DE2A6AEA963
%526 = tail call double @llvm.fmuladd.f64(double %517, double 0x3FED906BCF328D46, double %525)
%527 = fmul double %517, 0xBFD87DE2A6AEA963
%528 = tail call double @llvm.fmuladd.f64(double %518, double 0x3FED906BCF328D46, double %527)
%529 = getelementptr inbounds double, double* %468, i64 4
%530 = load double, double* %529
%531 = getelementptr inbounds double, double* %468, i64 12
%532 = load double, double* %531
%533 = fmul double %532, 0x3FC1517A7BDB3895
%534 = tail call double @llvm.fmuladd.f64(double %530, double 0x3FD4E7AE9144F0FC, double %533)
%535 = fmul double %530, 0xBFC1517A7BDB3895
%536 = tail call double @llvm.fmuladd.f64(double %532, double 0x3FD4E7AE9144F0FC, double %535)
%537 = load double, double* %468
%538 = getelementptr inbounds double, double* %468, i64 8
%539 = load double, double* %538
%540 = fadd double %537, %539
%541 = fmul double %540, 2.500000e-01
%542 = fsub double %537, %539
%543 = fmul double %542, 2.500000e-01
%544 = fadd double %534, %541
%545 = fadd double %536, %543
%546 = fsub double %541, %534
%547 = fsub double %543, %536
%548 = getelementptr inbounds double, double* %468, i64 2
%549 = load double, double* %548
%550 = getelementptr inbounds double, double* %468, i64 14
%551 = load double, double* %550
%552 = fmul double %551, 0x3FB1A855DEC071B5
%553 = tail call double @llvm.fmuladd.f64(double %549, double 0x3FD63150B15E8536, double %552)
%554 = fmul double %549, 0xBFB1A855DEC071B5
%555 = tail call double @llvm.fmuladd.f64(double %551, double 0x3FD63150B15E8536, double %554)
%556 = getelementptr inbounds double, double* %468, i64 6
%557 = load double, double* %556
%558 = getelementptr inbounds double, double* %468, i64 10
%559 = load double, double* %558
%560 = fmul double %559, 0x3FC92469C0DCF32D
%561 = tail call double @llvm.fmuladd.f64(double %557, double 0x3FD2D062EF88E319, double %560)
%562 = fmul double %557, 0xBFC92469C0DCF32D
%563 = tail call double @llvm.fmuladd.f64(double %559, double 0x3FD2D062EF88E319, double %562)
%564 = fsub double %553, %561
%565 = fadd double %555, %563
%566 = fadd double %553, %561
%567 = fsub double %555, %563
%568 = fadd double %565, %564
%569 = fmul double %568, 0x3FE6A09E667F3BCD
%570 = fsub double %565, %564
%571 = fmul double %570, 0x3FE6A09E667F3BCD
%572 = fadd double %544, %566
%573 = fsub double %544, %566
%574 = fadd double %511, %572
store double %574, double* %468
%575 = fsub double %572, %511
store double %575, double* %471
%576 = fadd double %512, %573
store double %576, double* %538
%577 = fsub double %573, %512
store double %577, double* %477
%578 = fadd double %545, %569
%579 = fsub double %545, %569
%580 = fadd double %526, %578
store double %580, double* %548
%581 = fsub double %578, %526
store double %581, double* %499
%582 = fadd double %528, %579
store double %582, double* %558
%583 = fsub double %579, %528
store double %583, double* %489
%584 = fadd double %546, %567
%585 = fsub double %546, %567
%586 = fadd double %514, %584
store double %586, double* %529
%587 = fsub double %584, %514
store double %587, double* %491
%588 = fadd double %516, %585
store double %588, double* %531
%589 = fsub double %585, %516
store double %589, double* %497
%590 = fadd double %547, %571
%591 = fsub double %547, %571
%592 = fadd double %522, %590
store double %592, double* %556
%593 = fsub double %590, %522
store double %593, double* %479
%594 = fadd double %524, %591
store double %594, double* %550
%595 = fsub double %591, %524
store double %595, double* %469
%596 = add nuw nsw i64 %466, 1
%597 = icmp eq i64 %596, 16
br i1 %597, label %598, label %465
598: ; preds = %465, %200
ret void
}