void revbin_permute_64(double _Complex *f) {
  {
    double _Complex t = f[1];
    f[1] = f[32];
    f[32] = t;
  };
  {
    double _Complex t = f[2];
    f[2] = f[16];
    f[16] = t;
  };
  {
    double _Complex t = f[3];
    f[3] = f[48];
    f[48] = t;
  };
  {
    double _Complex t = f[4];
    f[4] = f[8];
    f[8] = t;
  };
  {
    double _Complex t = f[5];
    f[5] = f[40];
    f[40] = t;
  };
  {
    double _Complex t = f[6];
    f[6] = f[24];
    f[24] = t;
  };
  {
    double _Complex t = f[7];
    f[7] = f[56];
    f[56] = t;
  };
  {
    double _Complex t = f[9];
    f[9] = f[36];
    f[36] = t;
  };
  {
    double _Complex t = f[10];
    f[10] = f[20];
    f[20] = t;
  };
  {
    double _Complex t = f[11];
    f[11] = f[52];
    f[52] = t;
  };
  {
    double _Complex t = f[13];
    f[13] = f[44];
    f[44] = t;
  };
  {
    double _Complex t = f[14];
    f[14] = f[28];
    f[28] = t;
  };
  {
    double _Complex t = f[15];
    f[15] = f[60];
    f[60] = t;
  };
  {
    double _Complex t = f[17];
    f[17] = f[34];
    f[34] = t;
  };
  {
    double _Complex t = f[19];
    f[19] = f[50];
    f[50] = t;
  };
  {
    double _Complex t = f[21];
    f[21] = f[42];
    f[42] = t;
  };
  {
    double _Complex t = f[22];
    f[22] = f[26];
    f[26] = t;
  };
  {
    double _Complex t = f[23];
    f[23] = f[58];
    f[58] = t;
  };
  {
    double _Complex t = f[25];
    f[25] = f[38];
    f[38] = t;
  };
  {
    double _Complex t = f[27];
    f[27] = f[54];
    f[54] = t;
  };
  {
    double _Complex t = f[29];
    f[29] = f[46];
    f[46] = t;
  };
  {
    double _Complex t = f[31];
    f[31] = f[62];
    f[62] = t;
  };
  {
    double _Complex t = f[35];
    f[35] = f[49];
    f[49] = t;
  };
  {
    double _Complex t = f[37];
    f[37] = f[41];
    f[41] = t;
  };
  {
    double _Complex t = f[39];
    f[39] = f[57];
    f[57] = t;
  };
  {
    double _Complex t = f[43];
    f[43] = f[53];
    f[53] = t;
  };
  {
    double _Complex t = f[47];
    f[47] = f[61];
    f[61] = t;
  };
  {
    double _Complex t = f[55];
    f[55] = f[59];
    f[59] = t;
  };
}


x86 assembly (clang, -O0):
<revbin_permute_64>:
push   %rbp
mov    %rsp,%rbp
sub    $0x148,%rsp
mov    %rdi,-0x8(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x10(%rax),%xmm1
movsd  0x18(%rax),%xmm0
movsd  %xmm1,-0x18(%rbp)
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x200(%rax),%xmm1
movsd  0x208(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x10(%rax)
movsd  %xmm0,0x18(%rax)
movsd  -0x18(%rbp),%xmm1
movsd  -0x10(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x200(%rax)
movsd  %xmm0,0x208(%rax)
mov    -0x8(%rbp),%rax
movsd  0x20(%rax),%xmm1
movsd  0x28(%rax),%xmm0
movsd  %xmm1,-0x28(%rbp)
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x100(%rax),%xmm1
movsd  0x108(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x20(%rax)
movsd  %xmm0,0x28(%rax)
movsd  -0x28(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x100(%rax)
movsd  %xmm0,0x108(%rax)
mov    -0x8(%rbp),%rax
movsd  0x30(%rax),%xmm1
movsd  0x38(%rax),%xmm0
movsd  %xmm1,-0x38(%rbp)
movsd  %xmm0,-0x30(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x300(%rax),%xmm1
movsd  0x308(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x30(%rax)
movsd  %xmm0,0x38(%rax)
movsd  -0x38(%rbp),%xmm1
movsd  -0x30(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x300(%rax)
movsd  %xmm0,0x308(%rax)
mov    -0x8(%rbp),%rax
movsd  0x40(%rax),%xmm1
movsd  0x48(%rax),%xmm0
movsd  %xmm1,-0x48(%rbp)
movsd  %xmm0,-0x40(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x80(%rax),%xmm1
movsd  0x88(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x40(%rax)
movsd  %xmm0,0x48(%rax)
movsd  -0x48(%rbp),%xmm1
movsd  -0x40(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x80(%rax)
movsd  %xmm0,0x88(%rax)
mov    -0x8(%rbp),%rax
movsd  0x50(%rax),%xmm1
movsd  0x58(%rax),%xmm0
movsd  %xmm1,-0x58(%rbp)
movsd  %xmm0,-0x50(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x280(%rax),%xmm1
movsd  0x288(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x50(%rax)
movsd  %xmm0,0x58(%rax)
movsd  -0x58(%rbp),%xmm1
movsd  -0x50(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x280(%rax)
movsd  %xmm0,0x288(%rax)
mov    -0x8(%rbp),%rax
movsd  0x60(%rax),%xmm1
movsd  0x68(%rax),%xmm0
movsd  %xmm1,-0x68(%rbp)
movsd  %xmm0,-0x60(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x180(%rax),%xmm1
movsd  0x188(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x60(%rax)
movsd  %xmm0,0x68(%rax)
movsd  -0x68(%rbp),%xmm1
movsd  -0x60(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x180(%rax)
movsd  %xmm0,0x188(%rax)
mov    -0x8(%rbp),%rax
movsd  0x70(%rax),%xmm1
movsd  0x78(%rax),%xmm0
movsd  %xmm1,-0x78(%rbp)
movsd  %xmm0,-0x70(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x380(%rax),%xmm1
movsd  0x388(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x70(%rax)
movsd  %xmm0,0x78(%rax)
movsd  -0x78(%rbp),%xmm1
movsd  -0x70(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x380(%rax)
movsd  %xmm0,0x388(%rax)
mov    -0x8(%rbp),%rax
movsd  0x90(%rax),%xmm1
movsd  0x98(%rax),%xmm0
movsd  %xmm1,-0x88(%rbp)
ff
movsd  %xmm0,-0x80(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x240(%rax),%xmm1
movsd  0x248(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x90(%rax)
movsd  %xmm0,0x98(%rax)
movsd  -0x88(%rbp),%xmm1
ff
movsd  -0x80(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x240(%rax)
movsd  %xmm0,0x248(%rax)
mov    -0x8(%rbp),%rax
movsd  0xa0(%rax),%xmm1
movsd  0xa8(%rax),%xmm0
movsd  %xmm1,-0x98(%rbp)
ff
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x140(%rax),%xmm1
movsd  0x148(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0xa0(%rax)
movsd  %xmm0,0xa8(%rax)
movsd  -0x98(%rbp),%xmm1
ff
movsd  -0x90(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x140(%rax)
movsd  %xmm0,0x148(%rax)
mov    -0x8(%rbp),%rax
movsd  0xb0(%rax),%xmm1
movsd  0xb8(%rax),%xmm0
movsd  %xmm1,-0xa8(%rbp)
ff
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x340(%rax),%xmm1
movsd  0x348(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0xb0(%rax)
movsd  %xmm0,0xb8(%rax)
movsd  -0xa8(%rbp),%xmm1
ff
movsd  -0xa0(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x340(%rax)
movsd  %xmm0,0x348(%rax)
mov    -0x8(%rbp),%rax
movsd  0xd0(%rax),%xmm1
movsd  0xd8(%rax),%xmm0
movsd  %xmm1,-0xb8(%rbp)
ff
movsd  %xmm0,-0xb0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x2c0(%rax),%xmm1
movsd  0x2c8(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0xd0(%rax)
movsd  %xmm0,0xd8(%rax)
movsd  -0xb8(%rbp),%xmm1
ff
movsd  -0xb0(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x2c0(%rax)
movsd  %xmm0,0x2c8(%rax)
mov    -0x8(%rbp),%rax
movsd  0xe0(%rax),%xmm1
movsd  0xe8(%rax),%xmm0
movsd  %xmm1,-0xc8(%rbp)
ff
movsd  %xmm0,-0xc0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x1c0(%rax),%xmm1
movsd  0x1c8(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0xe0(%rax)
movsd  %xmm0,0xe8(%rax)
movsd  -0xc8(%rbp),%xmm1
ff
movsd  -0xc0(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x1c0(%rax)
movsd  %xmm0,0x1c8(%rax)
mov    -0x8(%rbp),%rax
movsd  0xf0(%rax),%xmm1
movsd  0xf8(%rax),%xmm0
movsd  %xmm1,-0xd8(%rbp)
ff
movsd  %xmm0,-0xd0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x3c0(%rax),%xmm1
movsd  0x3c8(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0xf0(%rax)
movsd  %xmm0,0xf8(%rax)
movsd  -0xd8(%rbp),%xmm1
ff
movsd  -0xd0(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x3c0(%rax)
movsd  %xmm0,0x3c8(%rax)
mov    -0x8(%rbp),%rax
movsd  0x110(%rax),%xmm1
movsd  0x118(%rax),%xmm0
movsd  %xmm1,-0xe8(%rbp)
ff
movsd  %xmm0,-0xe0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x220(%rax),%xmm1
movsd  0x228(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x110(%rax)
movsd  %xmm0,0x118(%rax)
movsd  -0xe8(%rbp),%xmm1
ff
movsd  -0xe0(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x220(%rax)
movsd  %xmm0,0x228(%rax)
mov    -0x8(%rbp),%rax
movsd  0x130(%rax),%xmm1
movsd  0x138(%rax),%xmm0
movsd  %xmm1,-0xf8(%rbp)
ff
movsd  %xmm0,-0xf0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x320(%rax),%xmm1
movsd  0x328(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x130(%rax)
movsd  %xmm0,0x138(%rax)
movsd  -0xf8(%rbp),%xmm1
ff
movsd  -0xf0(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x320(%rax)
movsd  %xmm0,0x328(%rax)
mov    -0x8(%rbp),%rax
movsd  0x150(%rax),%xmm1
movsd  0x158(%rax),%xmm0
movsd  %xmm1,-0x108(%rbp)
ff
movsd  %xmm0,-0x100(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x2a0(%rax),%xmm1
movsd  0x2a8(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x150(%rax)
movsd  %xmm0,0x158(%rax)
movsd  -0x108(%rbp),%xmm1
ff
movsd  -0x100(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x2a0(%rax)
movsd  %xmm0,0x2a8(%rax)
mov    -0x8(%rbp),%rax
movsd  0x160(%rax),%xmm1
movsd  0x168(%rax),%xmm0
movsd  %xmm1,-0x118(%rbp)
ff
movsd  %xmm0,-0x110(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x1a0(%rax),%xmm1
movsd  0x1a8(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x160(%rax)
movsd  %xmm0,0x168(%rax)
movsd  -0x118(%rbp),%xmm1
ff
movsd  -0x110(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x1a0(%rax)
movsd  %xmm0,0x1a8(%rax)
mov    -0x8(%rbp),%rax
movsd  0x170(%rax),%xmm1
movsd  0x178(%rax),%xmm0
movsd  %xmm1,-0x128(%rbp)
ff
movsd  %xmm0,-0x120(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x3a0(%rax),%xmm1
movsd  0x3a8(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x170(%rax)
movsd  %xmm0,0x178(%rax)
movsd  -0x128(%rbp),%xmm1
ff
movsd  -0x120(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x3a0(%rax)
movsd  %xmm0,0x3a8(%rax)
mov    -0x8(%rbp),%rax
movsd  0x190(%rax),%xmm1
movsd  0x198(%rax),%xmm0
movsd  %xmm1,-0x138(%rbp)
ff
movsd  %xmm0,-0x130(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x260(%rax),%xmm1
movsd  0x268(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x190(%rax)
movsd  %xmm0,0x198(%rax)
movsd  -0x138(%rbp),%xmm1
ff
movsd  -0x130(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x260(%rax)
movsd  %xmm0,0x268(%rax)
mov    -0x8(%rbp),%rax
movsd  0x1b0(%rax),%xmm1
movsd  0x1b8(%rax),%xmm0
movsd  %xmm1,-0x148(%rbp)
ff
movsd  %xmm0,-0x140(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x360(%rax),%xmm1
movsd  0x368(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x1b0(%rax)
movsd  %xmm0,0x1b8(%rax)
movsd  -0x148(%rbp),%xmm1
ff
movsd  -0x140(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x360(%rax)
movsd  %xmm0,0x368(%rax)
mov    -0x8(%rbp),%rax
movsd  0x1d0(%rax),%xmm1
movsd  0x1d8(%rax),%xmm0
movsd  %xmm1,-0x158(%rbp)
ff
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x2e0(%rax),%xmm1
movsd  0x2e8(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x1d0(%rax)
movsd  %xmm0,0x1d8(%rax)
movsd  -0x158(%rbp),%xmm1
ff
movsd  -0x150(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x2e0(%rax)
movsd  %xmm0,0x2e8(%rax)
mov    -0x8(%rbp),%rax
movsd  0x1f0(%rax),%xmm1
movsd  0x1f8(%rax),%xmm0
movsd  %xmm1,-0x168(%rbp)
ff
movsd  %xmm0,-0x160(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x3e0(%rax),%xmm1
movsd  0x3e8(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x1f0(%rax)
movsd  %xmm0,0x1f8(%rax)
movsd  -0x168(%rbp),%xmm1
ff
movsd  -0x160(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x3e0(%rax)
movsd  %xmm0,0x3e8(%rax)
mov    -0x8(%rbp),%rax
movsd  0x230(%rax),%xmm1
movsd  0x238(%rax),%xmm0
movsd  %xmm1,-0x178(%rbp)
ff
movsd  %xmm0,-0x170(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x310(%rax),%xmm1
movsd  0x318(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x230(%rax)
movsd  %xmm0,0x238(%rax)
movsd  -0x178(%rbp),%xmm1
ff
movsd  -0x170(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x310(%rax)
movsd  %xmm0,0x318(%rax)
mov    -0x8(%rbp),%rax
movsd  0x250(%rax),%xmm1
movsd  0x258(%rax),%xmm0
movsd  %xmm1,-0x188(%rbp)
ff
movsd  %xmm0,-0x180(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x290(%rax),%xmm1
movsd  0x298(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x250(%rax)
movsd  %xmm0,0x258(%rax)
movsd  -0x188(%rbp),%xmm1
ff
movsd  -0x180(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x290(%rax)
movsd  %xmm0,0x298(%rax)
mov    -0x8(%rbp),%rax
movsd  0x270(%rax),%xmm1
movsd  0x278(%rax),%xmm0
movsd  %xmm1,-0x198(%rbp)
ff
movsd  %xmm0,-0x190(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x390(%rax),%xmm1
movsd  0x398(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x270(%rax)
movsd  %xmm0,0x278(%rax)
movsd  -0x198(%rbp),%xmm1
ff
movsd  -0x190(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x390(%rax)
movsd  %xmm0,0x398(%rax)
mov    -0x8(%rbp),%rax
movsd  0x2b0(%rax),%xmm1
movsd  0x2b8(%rax),%xmm0
movsd  %xmm1,-0x1a8(%rbp)
ff
movsd  %xmm0,-0x1a0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x350(%rax),%xmm1
movsd  0x358(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x2b0(%rax)
movsd  %xmm0,0x2b8(%rax)
movsd  -0x1a8(%rbp),%xmm1
ff
movsd  -0x1a0(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x350(%rax)
movsd  %xmm0,0x358(%rax)
mov    -0x8(%rbp),%rax
movsd  0x2f0(%rax),%xmm1
movsd  0x2f8(%rax),%xmm0
movsd  %xmm1,-0x1b8(%rbp)
ff
movsd  %xmm0,-0x1b0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x3d0(%rax),%xmm1
movsd  0x3d8(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x2f0(%rax)
movsd  %xmm0,0x2f8(%rax)
movsd  -0x1b8(%rbp),%xmm1
ff
movsd  -0x1b0(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x3d0(%rax)
movsd  %xmm0,0x3d8(%rax)
mov    -0x8(%rbp),%rax
movsd  0x370(%rax),%xmm1
movsd  0x378(%rax),%xmm0
movsd  %xmm1,-0x1c8(%rbp)
ff
movsd  %xmm0,-0x1c0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x3b0(%rax),%xmm1
movsd  0x3b8(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x370(%rax)
movsd  %xmm0,0x378(%rax)
movsd  -0x1c8(%rbp),%xmm1
ff
movsd  -0x1c0(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
movsd  %xmm1,0x3b0(%rax)
movsd  %xmm0,0x3b8(%rax)
add    $0x148,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<revbin_permute_64>:
movups 0x200(%rdi),%xmm0
movups 0x10(%rdi),%xmm1
movups 0x20(%rdi),%xmm2
movups 0x30(%rdi),%xmm3
movups 0x40(%rdi),%xmm4
movups %xmm0,0x10(%rdi)
movups %xmm1,0x200(%rdi)
movups 0x100(%rdi),%xmm0
movups %xmm0,0x20(%rdi)
movups %xmm2,0x100(%rdi)
movups 0x300(%rdi),%xmm0
movups %xmm0,0x30(%rdi)
movups %xmm3,0x300(%rdi)
movups 0x80(%rdi),%xmm0
movups %xmm0,0x40(%rdi)
movups %xmm4,0x80(%rdi)
movups 0x50(%rdi),%xmm0
movups 0x280(%rdi),%xmm1
movups %xmm1,0x50(%rdi)
movups %xmm0,0x280(%rdi)
movups 0x60(%rdi),%xmm0
movups 0x180(%rdi),%xmm1
movups %xmm1,0x60(%rdi)
movups %xmm0,0x180(%rdi)
movups 0x70(%rdi),%xmm0
movups 0x380(%rdi),%xmm1
movups %xmm1,0x70(%rdi)
movups %xmm0,0x380(%rdi)
movups 0x90(%rdi),%xmm0
movups 0x240(%rdi),%xmm1
movups %xmm1,0x90(%rdi)
movups %xmm0,0x240(%rdi)
movups 0xa0(%rdi),%xmm0
movups 0x140(%rdi),%xmm1
movups %xmm1,0xa0(%rdi)
movups %xmm0,0x140(%rdi)
movups 0xb0(%rdi),%xmm0
movups 0x340(%rdi),%xmm1
movups %xmm1,0xb0(%rdi)
movups %xmm0,0x340(%rdi)
movups 0xd0(%rdi),%xmm0
movups 0x2c0(%rdi),%xmm1
movups %xmm1,0xd0(%rdi)
movups %xmm0,0x2c0(%rdi)
movups 0xe0(%rdi),%xmm0
movups 0x1c0(%rdi),%xmm1
movups %xmm1,0xe0(%rdi)
movups %xmm0,0x1c0(%rdi)
movups 0xf0(%rdi),%xmm0
movups 0x3c0(%rdi),%xmm1
movups %xmm1,0xf0(%rdi)
movups %xmm0,0x3c0(%rdi)
movups 0x110(%rdi),%xmm0
movups 0x220(%rdi),%xmm1
movups %xmm1,0x110(%rdi)
movups %xmm0,0x220(%rdi)
movups 0x130(%rdi),%xmm0
movups 0x320(%rdi),%xmm1
movups %xmm1,0x130(%rdi)
movups %xmm0,0x320(%rdi)
movups 0x150(%rdi),%xmm0
movups 0x2a0(%rdi),%xmm1
movups %xmm1,0x150(%rdi)
movups %xmm0,0x2a0(%rdi)
movups 0x160(%rdi),%xmm0
movups 0x1a0(%rdi),%xmm1
movups %xmm1,0x160(%rdi)
movups %xmm0,0x1a0(%rdi)
movups 0x170(%rdi),%xmm0
movups 0x3a0(%rdi),%xmm1
movups %xmm1,0x170(%rdi)
movups %xmm0,0x3a0(%rdi)
movups 0x190(%rdi),%xmm0
movups 0x260(%rdi),%xmm1
movups %xmm1,0x190(%rdi)
movups %xmm0,0x260(%rdi)
movups 0x1b0(%rdi),%xmm0
movups 0x360(%rdi),%xmm1
movups %xmm1,0x1b0(%rdi)
movups %xmm0,0x360(%rdi)
movups 0x1d0(%rdi),%xmm0
movups 0x2e0(%rdi),%xmm1
movups %xmm1,0x1d0(%rdi)
movups %xmm0,0x2e0(%rdi)
movups 0x1f0(%rdi),%xmm0
movups 0x3e0(%rdi),%xmm1
movups %xmm1,0x1f0(%rdi)
movups %xmm0,0x3e0(%rdi)
movups 0x230(%rdi),%xmm0
movups 0x310(%rdi),%xmm1
movups %xmm1,0x230(%rdi)
movups %xmm0,0x310(%rdi)
movups 0x250(%rdi),%xmm0
movups 0x290(%rdi),%xmm1
movups %xmm1,0x250(%rdi)
movups %xmm0,0x290(%rdi)
movups 0x270(%rdi),%xmm0
movups 0x390(%rdi),%xmm1
movups %xmm1,0x270(%rdi)
movups %xmm0,0x390(%rdi)
movups 0x2b0(%rdi),%xmm0
movups 0x350(%rdi),%xmm1
movups %xmm1,0x2b0(%rdi)
movups %xmm0,0x350(%rdi)
movups 0x2f0(%rdi),%xmm0
movups 0x3d0(%rdi),%xmm1
movups %xmm1,0x2f0(%rdi)
movups %xmm0,0x3d0(%rdi)
movups 0x370(%rdi),%xmm0
movups 0x3b0(%rdi),%xmm1
movups %xmm1,0x370(%rdi)
movups %xmm0,0x3b0(%rdi)
ret

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

LLVM IR (-O2):
define void @revbin_permute_64({ double, double }* %0) {
%2 = getelementptr inbounds { double, double }, { double, double }* %0, i64 1, i32 0
%3 = load double, double* %2
%4 = getelementptr inbounds { double, double }, { double, double }* %0, i64 1, i32 1
%5 = load double, double* %4
%6 = getelementptr inbounds { double, double }, { double, double }* %0, i64 32, i32 0
%7 = getelementptr inbounds { double, double }, { double, double }* %0, i64 32, i32 1
%8 = bitcast double* %6 to <2 x double>*
%9 = load <2 x double>, <2 x double>* %8
%10 = bitcast double* %2 to <2 x double>*
store <2 x double> %9, <2 x double>* %10
store double %3, double* %6
store double %5, double* %7
%11 = getelementptr inbounds { double, double }, { double, double }* %0, i64 2, i32 0
%12 = load double, double* %11
%13 = getelementptr inbounds { double, double }, { double, double }* %0, i64 2, i32 1
%14 = load double, double* %13
%15 = getelementptr inbounds { double, double }, { double, double }* %0, i64 16, i32 0
%16 = getelementptr inbounds { double, double }, { double, double }* %0, i64 16, i32 1
%17 = bitcast double* %15 to <2 x double>*
%18 = load <2 x double>, <2 x double>* %17
%19 = bitcast double* %11 to <2 x double>*
store <2 x double> %18, <2 x double>* %19
store double %12, double* %15
store double %14, double* %16
%20 = getelementptr inbounds { double, double }, { double, double }* %0, i64 3, i32 0
%21 = load double, double* %20
%22 = getelementptr inbounds { double, double }, { double, double }* %0, i64 3, i32 1
%23 = load double, double* %22
%24 = getelementptr inbounds { double, double }, { double, double }* %0, i64 48, i32 0
%25 = getelementptr inbounds { double, double }, { double, double }* %0, i64 48, i32 1
%26 = bitcast double* %24 to <2 x double>*
%27 = load <2 x double>, <2 x double>* %26
%28 = bitcast double* %20 to <2 x double>*
store <2 x double> %27, <2 x double>* %28
store double %21, double* %24
store double %23, double* %25
%29 = getelementptr inbounds { double, double }, { double, double }* %0, i64 4, i32 0
%30 = bitcast double* %29 to <2 x double>*
%31 = load <2 x double>, <2 x double>* %30
%32 = getelementptr inbounds { double, double }, { double, double }* %0, i64 8, i32 0
%33 = bitcast double* %32 to <2 x double>*
%34 = load <2 x double>, <2 x double>* %33
%35 = bitcast double* %29 to <2 x double>*
store <2 x double> %34, <2 x double>* %35
%36 = bitcast double* %32 to <2 x double>*
store <2 x double> %31, <2 x double>* %36
%37 = getelementptr inbounds { double, double }, { double, double }* %0, i64 5, i32 0
%38 = load double, double* %37
%39 = getelementptr inbounds { double, double }, { double, double }* %0, i64 5, i32 1
%40 = load double, double* %39
%41 = getelementptr inbounds { double, double }, { double, double }* %0, i64 40, i32 0
%42 = getelementptr inbounds { double, double }, { double, double }* %0, i64 40, i32 1
%43 = bitcast double* %41 to <2 x double>*
%44 = load <2 x double>, <2 x double>* %43
%45 = bitcast double* %37 to <2 x double>*
store <2 x double> %44, <2 x double>* %45
store double %38, double* %41
store double %40, double* %42
%46 = getelementptr inbounds { double, double }, { double, double }* %0, i64 6, i32 0
%47 = load double, double* %46
%48 = getelementptr inbounds { double, double }, { double, double }* %0, i64 6, i32 1
%49 = load double, double* %48
%50 = getelementptr inbounds { double, double }, { double, double }* %0, i64 24, i32 0
%51 = getelementptr inbounds { double, double }, { double, double }* %0, i64 24, i32 1
%52 = bitcast double* %50 to <2 x double>*
%53 = load <2 x double>, <2 x double>* %52
%54 = bitcast double* %46 to <2 x double>*
store <2 x double> %53, <2 x double>* %54
store double %47, double* %50
store double %49, double* %51
%55 = getelementptr inbounds { double, double }, { double, double }* %0, i64 7, i32 0
%56 = load double, double* %55
%57 = getelementptr inbounds { double, double }, { double, double }* %0, i64 7, i32 1
%58 = load double, double* %57
%59 = getelementptr inbounds { double, double }, { double, double }* %0, i64 56, i32 0
%60 = getelementptr inbounds { double, double }, { double, double }* %0, i64 56, i32 1
%61 = bitcast double* %59 to <2 x double>*
%62 = load <2 x double>, <2 x double>* %61
%63 = bitcast double* %55 to <2 x double>*
store <2 x double> %62, <2 x double>* %63
store double %56, double* %59
store double %58, double* %60
%64 = getelementptr inbounds { double, double }, { double, double }* %0, i64 9, i32 0
%65 = load double, double* %64
%66 = getelementptr inbounds { double, double }, { double, double }* %0, i64 9, i32 1
%67 = load double, double* %66
%68 = getelementptr inbounds { double, double }, { double, double }* %0, i64 36, i32 0
%69 = getelementptr inbounds { double, double }, { double, double }* %0, i64 36, i32 1
%70 = bitcast double* %68 to <2 x double>*
%71 = load <2 x double>, <2 x double>* %70
%72 = bitcast double* %64 to <2 x double>*
store <2 x double> %71, <2 x double>* %72
store double %65, double* %68
store double %67, double* %69
%73 = getelementptr inbounds { double, double }, { double, double }* %0, i64 10, i32 0
%74 = load double, double* %73
%75 = getelementptr inbounds { double, double }, { double, double }* %0, i64 10, i32 1
%76 = load double, double* %75
%77 = getelementptr inbounds { double, double }, { double, double }* %0, i64 20, i32 0
%78 = getelementptr inbounds { double, double }, { double, double }* %0, i64 20, i32 1
%79 = bitcast double* %77 to <2 x double>*
%80 = load <2 x double>, <2 x double>* %79
%81 = bitcast double* %73 to <2 x double>*
store <2 x double> %80, <2 x double>* %81
store double %74, double* %77
store double %76, double* %78
%82 = getelementptr inbounds { double, double }, { double, double }* %0, i64 11, i32 0
%83 = load double, double* %82
%84 = getelementptr inbounds { double, double }, { double, double }* %0, i64 11, i32 1
%85 = load double, double* %84
%86 = getelementptr inbounds { double, double }, { double, double }* %0, i64 52, i32 0
%87 = getelementptr inbounds { double, double }, { double, double }* %0, i64 52, i32 1
%88 = bitcast double* %86 to <2 x double>*
%89 = load <2 x double>, <2 x double>* %88
%90 = bitcast double* %82 to <2 x double>*
store <2 x double> %89, <2 x double>* %90
store double %83, double* %86
store double %85, double* %87
%91 = getelementptr inbounds { double, double }, { double, double }* %0, i64 13, i32 0
%92 = load double, double* %91
%93 = getelementptr inbounds { double, double }, { double, double }* %0, i64 13, i32 1
%94 = load double, double* %93
%95 = getelementptr inbounds { double, double }, { double, double }* %0, i64 44, i32 0
%96 = getelementptr inbounds { double, double }, { double, double }* %0, i64 44, i32 1
%97 = bitcast double* %95 to <2 x double>*
%98 = load <2 x double>, <2 x double>* %97
%99 = bitcast double* %91 to <2 x double>*
store <2 x double> %98, <2 x double>* %99
store double %92, double* %95
store double %94, double* %96
%100 = getelementptr inbounds { double, double }, { double, double }* %0, i64 14, i32 0
%101 = load double, double* %100
%102 = getelementptr inbounds { double, double }, { double, double }* %0, i64 14, i32 1
%103 = load double, double* %102
%104 = getelementptr inbounds { double, double }, { double, double }* %0, i64 28, i32 0
%105 = getelementptr inbounds { double, double }, { double, double }* %0, i64 28, i32 1
%106 = bitcast double* %104 to <2 x double>*
%107 = load <2 x double>, <2 x double>* %106
%108 = bitcast double* %100 to <2 x double>*
store <2 x double> %107, <2 x double>* %108
store double %101, double* %104
store double %103, double* %105
%109 = getelementptr inbounds { double, double }, { double, double }* %0, i64 15, i32 0
%110 = load double, double* %109
%111 = getelementptr inbounds { double, double }, { double, double }* %0, i64 15, i32 1
%112 = load double, double* %111
%113 = getelementptr inbounds { double, double }, { double, double }* %0, i64 60, i32 0
%114 = getelementptr inbounds { double, double }, { double, double }* %0, i64 60, i32 1
%115 = bitcast double* %113 to <2 x double>*
%116 = load <2 x double>, <2 x double>* %115
%117 = bitcast double* %109 to <2 x double>*
store <2 x double> %116, <2 x double>* %117
store double %110, double* %113
store double %112, double* %114
%118 = getelementptr inbounds { double, double }, { double, double }* %0, i64 17, i32 0
%119 = load double, double* %118
%120 = getelementptr inbounds { double, double }, { double, double }* %0, i64 17, i32 1
%121 = load double, double* %120
%122 = getelementptr inbounds { double, double }, { double, double }* %0, i64 34, i32 0
%123 = getelementptr inbounds { double, double }, { double, double }* %0, i64 34, i32 1
%124 = bitcast double* %122 to <2 x double>*
%125 = load <2 x double>, <2 x double>* %124
%126 = bitcast double* %118 to <2 x double>*
store <2 x double> %125, <2 x double>* %126
store double %119, double* %122
store double %121, double* %123
%127 = getelementptr inbounds { double, double }, { double, double }* %0, i64 19, i32 0
%128 = load double, double* %127
%129 = getelementptr inbounds { double, double }, { double, double }* %0, i64 19, i32 1
%130 = load double, double* %129
%131 = getelementptr inbounds { double, double }, { double, double }* %0, i64 50, i32 0
%132 = getelementptr inbounds { double, double }, { double, double }* %0, i64 50, i32 1
%133 = bitcast double* %131 to <2 x double>*
%134 = load <2 x double>, <2 x double>* %133
%135 = bitcast double* %127 to <2 x double>*
store <2 x double> %134, <2 x double>* %135
store double %128, double* %131
store double %130, double* %132
%136 = getelementptr inbounds { double, double }, { double, double }* %0, i64 21, i32 0
%137 = load double, double* %136
%138 = getelementptr inbounds { double, double }, { double, double }* %0, i64 21, i32 1
%139 = load double, double* %138
%140 = getelementptr inbounds { double, double }, { double, double }* %0, i64 42, i32 0
%141 = getelementptr inbounds { double, double }, { double, double }* %0, i64 42, i32 1
%142 = bitcast double* %140 to <2 x double>*
%143 = load <2 x double>, <2 x double>* %142
%144 = bitcast double* %136 to <2 x double>*
store <2 x double> %143, <2 x double>* %144
store double %137, double* %140
store double %139, double* %141
%145 = getelementptr inbounds { double, double }, { double, double }* %0, i64 22, i32 0
%146 = bitcast double* %145 to <2 x double>*
%147 = load <2 x double>, <2 x double>* %146
%148 = getelementptr inbounds { double, double }, { double, double }* %0, i64 26, i32 0
%149 = bitcast double* %148 to <2 x double>*
%150 = load <2 x double>, <2 x double>* %149
%151 = bitcast double* %145 to <2 x double>*
store <2 x double> %150, <2 x double>* %151
%152 = bitcast double* %148 to <2 x double>*
store <2 x double> %147, <2 x double>* %152
%153 = getelementptr inbounds { double, double }, { double, double }* %0, i64 23, i32 0
%154 = load double, double* %153
%155 = getelementptr inbounds { double, double }, { double, double }* %0, i64 23, i32 1
%156 = load double, double* %155
%157 = getelementptr inbounds { double, double }, { double, double }* %0, i64 58, i32 0
%158 = getelementptr inbounds { double, double }, { double, double }* %0, i64 58, i32 1
%159 = bitcast double* %157 to <2 x double>*
%160 = load <2 x double>, <2 x double>* %159
%161 = bitcast double* %153 to <2 x double>*
store <2 x double> %160, <2 x double>* %161
store double %154, double* %157
store double %156, double* %158
%162 = getelementptr inbounds { double, double }, { double, double }* %0, i64 25, i32 0
%163 = bitcast double* %162 to <2 x double>*
%164 = load <2 x double>, <2 x double>* %163
%165 = getelementptr inbounds { double, double }, { double, double }* %0, i64 38, i32 0
%166 = bitcast double* %165 to <2 x double>*
%167 = load <2 x double>, <2 x double>* %166
%168 = bitcast double* %162 to <2 x double>*
store <2 x double> %167, <2 x double>* %168
%169 = bitcast double* %165 to <2 x double>*
store <2 x double> %164, <2 x double>* %169
%170 = getelementptr inbounds { double, double }, { double, double }* %0, i64 27, i32 0
%171 = load double, double* %170
%172 = getelementptr inbounds { double, double }, { double, double }* %0, i64 27, i32 1
%173 = load double, double* %172
%174 = getelementptr inbounds { double, double }, { double, double }* %0, i64 54, i32 0
%175 = getelementptr inbounds { double, double }, { double, double }* %0, i64 54, i32 1
%176 = bitcast double* %174 to <2 x double>*
%177 = load <2 x double>, <2 x double>* %176
%178 = bitcast double* %170 to <2 x double>*
store <2 x double> %177, <2 x double>* %178
store double %171, double* %174
store double %173, double* %175
%179 = getelementptr inbounds { double, double }, { double, double }* %0, i64 29, i32 0
%180 = bitcast double* %179 to <2 x double>*
%181 = load <2 x double>, <2 x double>* %180
%182 = getelementptr inbounds { double, double }, { double, double }* %0, i64 46, i32 0
%183 = bitcast double* %182 to <2 x double>*
%184 = load <2 x double>, <2 x double>* %183
%185 = bitcast double* %179 to <2 x double>*
store <2 x double> %184, <2 x double>* %185
%186 = bitcast double* %182 to <2 x double>*
store <2 x double> %181, <2 x double>* %186
%187 = getelementptr inbounds { double, double }, { double, double }* %0, i64 31, i32 0
%188 = bitcast double* %187 to <2 x double>*
%189 = load <2 x double>, <2 x double>* %188
%190 = getelementptr inbounds { double, double }, { double, double }* %0, i64 62, i32 0
%191 = bitcast double* %190 to <2 x double>*
%192 = load <2 x double>, <2 x double>* %191
%193 = bitcast double* %187 to <2 x double>*
store <2 x double> %192, <2 x double>* %193
%194 = bitcast double* %190 to <2 x double>*
store <2 x double> %189, <2 x double>* %194
%195 = getelementptr inbounds { double, double }, { double, double }* %0, i64 35, i32 0
%196 = bitcast double* %195 to <2 x double>*
%197 = load <2 x double>, <2 x double>* %196
%198 = getelementptr inbounds { double, double }, { double, double }* %0, i64 49, i32 0
%199 = bitcast double* %198 to <2 x double>*
%200 = load <2 x double>, <2 x double>* %199
%201 = bitcast double* %195 to <2 x double>*
store <2 x double> %200, <2 x double>* %201
%202 = bitcast double* %198 to <2 x double>*
store <2 x double> %197, <2 x double>* %202
%203 = getelementptr inbounds { double, double }, { double, double }* %0, i64 37, i32 0
%204 = bitcast double* %203 to <2 x double>*
%205 = load <2 x double>, <2 x double>* %204
%206 = getelementptr inbounds { double, double }, { double, double }* %0, i64 41, i32 0
%207 = bitcast double* %206 to <2 x double>*
%208 = load <2 x double>, <2 x double>* %207
%209 = bitcast double* %203 to <2 x double>*
store <2 x double> %208, <2 x double>* %209
%210 = bitcast double* %206 to <2 x double>*
store <2 x double> %205, <2 x double>* %210
%211 = getelementptr inbounds { double, double }, { double, double }* %0, i64 39, i32 0
%212 = bitcast double* %211 to <2 x double>*
%213 = load <2 x double>, <2 x double>* %212
%214 = getelementptr inbounds { double, double }, { double, double }* %0, i64 57, i32 0
%215 = bitcast double* %214 to <2 x double>*
%216 = load <2 x double>, <2 x double>* %215
%217 = bitcast double* %211 to <2 x double>*
store <2 x double> %216, <2 x double>* %217
%218 = bitcast double* %214 to <2 x double>*
store <2 x double> %213, <2 x double>* %218
%219 = getelementptr inbounds { double, double }, { double, double }* %0, i64 43, i32 0
%220 = bitcast double* %219 to <2 x double>*
%221 = load <2 x double>, <2 x double>* %220
%222 = getelementptr inbounds { double, double }, { double, double }* %0, i64 53, i32 0
%223 = bitcast double* %222 to <2 x double>*
%224 = load <2 x double>, <2 x double>* %223
%225 = bitcast double* %219 to <2 x double>*
store <2 x double> %224, <2 x double>* %225
%226 = bitcast double* %222 to <2 x double>*
store <2 x double> %221, <2 x double>* %226
%227 = getelementptr inbounds { double, double }, { double, double }* %0, i64 47, i32 0
%228 = bitcast double* %227 to <2 x double>*
%229 = load <2 x double>, <2 x double>* %228
%230 = getelementptr inbounds { double, double }, { double, double }* %0, i64 61, i32 0
%231 = bitcast double* %230 to <2 x double>*
%232 = load <2 x double>, <2 x double>* %231
%233 = bitcast double* %227 to <2 x double>*
store <2 x double> %232, <2 x double>* %233
%234 = bitcast double* %230 to <2 x double>*
store <2 x double> %229, <2 x double>* %234
%235 = getelementptr inbounds { double, double }, { double, double }* %0, i64 55, i32 0
%236 = bitcast double* %235 to <2 x double>*
%237 = load <2 x double>, <2 x double>* %236
%238 = getelementptr inbounds { double, double }, { double, double }* %0, i64 59, i32 0
%239 = bitcast double* %238 to <2 x double>*
%240 = load <2 x double>, <2 x double>* %239
%241 = bitcast double* %235 to <2 x double>*
store <2 x double> %240, <2 x double>* %241
%242 = bitcast double* %238 to <2 x double>*
store <2 x double> %237, <2 x double>* %242
ret void
}