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

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ assert(int);
double det6x6(double *);
void solve6x6(double M[6 * 6], double P[6], double C[6]) {
  double detM = det6x6(M);
  double minorM1[6 * 6] = {
      P[0],  M[1],  M[2],  M[3],  M[4],  M[5],  P[1],  M[7],  M[8],
      M[9],  M[10], M[11], P[2],  M[13], M[14], M[15], M[16], M[17],
      P[3],  M[19], M[20], M[21], M[22], M[23], P[4],  M[25], M[26],
      M[27], M[28], M[29], P[5],  M[31], M[32], M[33], M[34], M[35]};
  double minorM2[6 * 6] = {
      M[0],  P[0],  M[2],  M[3],  M[4],  M[5],  M[6],  P[1],  M[8],
      M[9],  M[10], M[11], M[12], P[2],  M[14], M[15], M[16], M[17],
      M[18], P[3],  M[20], M[21], M[22], M[23], M[24], P[4],  M[26],
      M[27], M[28], M[29], M[30], P[5],  M[32], M[33], M[34], M[35]};
  double minorM3[6 * 6] = {
      M[0],  M[1],  P[0],  M[3],  M[4],  M[5],  M[6],  M[7],  P[1],
      M[9],  M[10], M[11], M[12], M[13], P[2],  M[15], M[16], M[17],
      M[18], M[19], P[3],  M[21], M[22], M[23], M[24], M[25], P[4],
      M[27], M[28], M[29], M[30], M[31], P[5],  M[33], M[34], M[35]};
  double minorM4[6 * 6] = {
      M[0],  M[1],  M[2],  P[0],  M[4],  M[5],  M[6],  M[7],  M[8],
      P[1],  M[10], M[11], M[12], M[13], M[14], P[2],  M[16], M[17],
      M[18], M[19], M[20], P[3],  M[22], M[23], M[24], M[25], M[26],
      P[4],  M[28], M[29], M[30], M[31], M[32], P[5],  M[34], M[35]};
  double minorM5[6 * 6] = {
      M[0],  M[1],  M[2],  M[3],  P[0],  M[5],  M[6],  M[7],  M[8],
      M[9],  P[1],  M[11], M[12], M[13], M[14], M[15], P[2],  M[17],
      M[18], M[19], M[20], M[21], P[3],  M[23], M[24], M[25], M[26],
      M[27], P[4],  M[29], M[30], M[31], M[32], M[33], P[5],  M[35]};
  double minorM6[6 * 6] = {
      M[0],  M[1],  M[2],  M[3],  M[4],  P[0],  M[6],  M[7],  M[8],
      M[9],  M[10], P[1],  M[12], M[13], M[14], M[15], M[16], P[2],
      M[18], M[19], M[20], M[21], M[22], P[3],  M[24], M[25], M[26],
      M[27], M[28], P[4],  M[30], M[31], M[32], M[33], M[34], P[5]};
  assert(detM != 0.f);
  C[0] = det6x6(minorM1) / detM;
  C[1] = det6x6(minorM2) / detM;
  C[2] = det6x6(minorM3) / detM;
  C[3] = det6x6(minorM4) / detM;
  C[4] = det6x6(minorM5) / detM;
  C[5] = det6x6(minorM6) / detM;
}


x86 assembly (clang, -O0):
<solve6x6>:
push   %rbp
mov    %rsp,%rbp
sub    $0x6e0,%rsp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    %rdx,-0x18(%rbp)
mov    -0x8(%rbp),%rdi
call   1030 <det6x6@plt>
movsd  %xmm0,-0x20(%rbp)
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x140(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x138(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  %xmm0,-0x108(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x40(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x48(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x50(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x68(%rax),%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x70(%rax),%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x78(%rax),%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x80(%rax),%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x88(%rax),%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x98(%rax),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xa0(%rax),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xa8(%rax),%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xb0(%rax),%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xb8(%rax),%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0x80(%rbp)
mov    -0x8(%rbp),%rax
movsd  0xc8(%rax),%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x8(%rbp),%rax
movsd  0xd0(%rax),%xmm0
movsd  %xmm0,-0x70(%rbp)
mov    -0x8(%rbp),%rax
movsd  0xd8(%rax),%xmm0
movsd  %xmm0,-0x68(%rbp)
mov    -0x8(%rbp),%rax
movsd  0xe0(%rax),%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    -0x8(%rbp),%rax
movsd  0xe8(%rax),%xmm0
movsd  %xmm0,-0x58(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x50(%rbp)
mov    -0x8(%rbp),%rax
movsd  0xf8(%rax),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x100(%rax),%xmm0
movsd  %xmm0,-0x40(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x108(%rax),%xmm0
movsd  %xmm0,-0x38(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x110(%rax),%xmm0
movsd  %xmm0,-0x30(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x118(%rax),%xmm0
movsd  %xmm0,-0x28(%rbp)
mov    -0x8(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x260(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x258(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x250(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x248(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0x240(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x238(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  %xmm0,-0x230(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x228(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x40(%rax),%xmm0
movsd  %xmm0,-0x220(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x48(%rax),%xmm0
movsd  %xmm0,-0x218(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x50(%rax),%xmm0
movsd  %xmm0,-0x210(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  %xmm0,-0x208(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x60(%rax),%xmm0
movsd  %xmm0,-0x200(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x1f8(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x70(%rax),%xmm0
movsd  %xmm0,-0x1f0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x78(%rax),%xmm0
movsd  %xmm0,-0x1e8(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x80(%rax),%xmm0
movsd  %xmm0,-0x1e0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x88(%rax),%xmm0
movsd  %xmm0,-0x1d8(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x90(%rax),%xmm0
movsd  %xmm0,-0x1d0(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x1c8(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xa0(%rax),%xmm0
movsd  %xmm0,-0x1c0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xa8(%rax),%xmm0
movsd  %xmm0,-0x1b8(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xb0(%rax),%xmm0
movsd  %xmm0,-0x1b0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xb8(%rax),%xmm0
movsd  %xmm0,-0x1a8(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xc0(%rax),%xmm0
movsd  %xmm0,-0x1a0(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0x198(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xd0(%rax),%xmm0
movsd  %xmm0,-0x190(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xd8(%rax),%xmm0
movsd  %xmm0,-0x188(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xe0(%rax),%xmm0
movsd  %xmm0,-0x180(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xe8(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xf0(%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x168(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x100(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x108(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x110(%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x118(%rax),%xmm0
movsd  %xmm0,-0x148(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x380(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x378(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x370(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x368(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0x360(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x358(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  %xmm0,-0x350(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  %xmm0,-0x348(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x340(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x48(%rax),%xmm0
movsd  %xmm0,-0x338(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x50(%rax),%xmm0
movsd  %xmm0,-0x330(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  %xmm0,-0x328(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x60(%rax),%xmm0
movsd  %xmm0,-0x320(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x68(%rax),%xmm0
movsd  %xmm0,-0x318(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x310(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x78(%rax),%xmm0
movsd  %xmm0,-0x308(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x80(%rax),%xmm0
movsd  %xmm0,-0x300(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x88(%rax),%xmm0
movsd  %xmm0,-0x2f8(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x90(%rax),%xmm0
movsd  %xmm0,-0x2f0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x98(%rax),%xmm0
movsd  %xmm0,-0x2e8(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x2e0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xa8(%rax),%xmm0
movsd  %xmm0,-0x2d8(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xb0(%rax),%xmm0
movsd  %xmm0,-0x2d0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xb8(%rax),%xmm0
movsd  %xmm0,-0x2c8(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xc0(%rax),%xmm0
movsd  %xmm0,-0x2c0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xc8(%rax),%xmm0
movsd  %xmm0,-0x2b8(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0x2b0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xd8(%rax),%xmm0
movsd  %xmm0,-0x2a8(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xe0(%rax),%xmm0
movsd  %xmm0,-0x2a0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xe8(%rax),%xmm0
movsd  %xmm0,-0x298(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xf0(%rax),%xmm0
movsd  %xmm0,-0x290(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xf8(%rax),%xmm0
movsd  %xmm0,-0x288(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x280(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x108(%rax),%xmm0
movsd  %xmm0,-0x278(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x110(%rax),%xmm0
movsd  %xmm0,-0x270(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x118(%rax),%xmm0
movsd  %xmm0,-0x268(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x4a0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x498(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x490(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x488(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0x480(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x478(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  %xmm0,-0x470(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  %xmm0,-0x468(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x40(%rax),%xmm0
movsd  %xmm0,-0x460(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x458(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x50(%rax),%xmm0
movsd  %xmm0,-0x450(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  %xmm0,-0x448(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x60(%rax),%xmm0
movsd  %xmm0,-0x440(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x68(%rax),%xmm0
movsd  %xmm0,-0x438(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x70(%rax),%xmm0
movsd  %xmm0,-0x430(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x428(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x80(%rax),%xmm0
movsd  %xmm0,-0x420(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x88(%rax),%xmm0
movsd  %xmm0,-0x418(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x90(%rax),%xmm0
movsd  %xmm0,-0x410(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x98(%rax),%xmm0
movsd  %xmm0,-0x408(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xa0(%rax),%xmm0
movsd  %xmm0,-0x400(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x3f8(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xb0(%rax),%xmm0
movsd  %xmm0,-0x3f0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xb8(%rax),%xmm0
movsd  %xmm0,-0x3e8(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xc0(%rax),%xmm0
movsd  %xmm0,-0x3e0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xc8(%rax),%xmm0
movsd  %xmm0,-0x3d8(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xd0(%rax),%xmm0
movsd  %xmm0,-0x3d0(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0x3c8(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xe0(%rax),%xmm0
movsd  %xmm0,-0x3c0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xe8(%rax),%xmm0
movsd  %xmm0,-0x3b8(%rbp)
mov    -0x8(%rbp),%rax
movsd  0xf0(%rax),%xmm0
movsd  %xmm0,-0x3b0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xf8(%rax),%xmm0
movsd  %xmm0,-0x3a8(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x100(%rax),%xmm0
movsd  %xmm0,-0x3a0(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x398(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x110(%rax),%xmm0
movsd  %xmm0,-0x390(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x118(%rax),%xmm0
movsd  %xmm0,-0x388(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x5c0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x5b8(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x5b0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x5a8(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x5a0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x598(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  %xmm0,-0x590(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  %xmm0,-0x588(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x40(%rax),%xmm0
movsd  %xmm0,-0x580(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x48(%rax),%xmm0
movsd  %xmm0,-0x578(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x570(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  %xmm0,-0x568(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x60(%rax),%xmm0
movsd  %xmm0,-0x560(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x68(%rax),%xmm0
movsd  %xmm0,-0x558(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x70(%rax),%xmm0
movsd  %xmm0,-0x550(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x78(%rax),%xmm0
movsd  %xmm0,-0x548(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x540(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x88(%rax),%xmm0
movsd  %xmm0,-0x538(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x90(%rax),%xmm0
movsd  %xmm0,-0x530(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x98(%rax),%xmm0
movsd  %xmm0,-0x528(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xa0(%rax),%xmm0
movsd  %xmm0,-0x520(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xa8(%rax),%xmm0
movsd  %xmm0,-0x518(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x510(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xb8(%rax),%xmm0
movsd  %xmm0,-0x508(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xc0(%rax),%xmm0
movsd  %xmm0,-0x500(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xc8(%rax),%xmm0
movsd  %xmm0,-0x4f8(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xd0(%rax),%xmm0
movsd  %xmm0,-0x4f0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xd8(%rax),%xmm0
movsd  %xmm0,-0x4e8(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0x4e0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xe8(%rax),%xmm0
movsd  %xmm0,-0x4d8(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xf0(%rax),%xmm0
movsd  %xmm0,-0x4d0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xf8(%rax),%xmm0
movsd  %xmm0,-0x4c8(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x100(%rax),%xmm0
movsd  %xmm0,-0x4c0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x108(%rax),%xmm0
movsd  %xmm0,-0x4b8(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x4b0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x118(%rax),%xmm0
movsd  %xmm0,-0x4a8(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x6e0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x6d8(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x6d0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x6c8(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0x6c0(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x6b8(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  %xmm0,-0x6b0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  %xmm0,-0x6a8(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x40(%rax),%xmm0
movsd  %xmm0,-0x6a0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x48(%rax),%xmm0
movsd  %xmm0,-0x698(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x50(%rax),%xmm0
movsd  %xmm0,-0x690(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x688(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x60(%rax),%xmm0
movsd  %xmm0,-0x680(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x68(%rax),%xmm0
movsd  %xmm0,-0x678(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x70(%rax),%xmm0
movsd  %xmm0,-0x670(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x78(%rax),%xmm0
movsd  %xmm0,-0x668(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x80(%rax),%xmm0
movsd  %xmm0,-0x660(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x658(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x90(%rax),%xmm0
movsd  %xmm0,-0x650(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x98(%rax),%xmm0
movsd  %xmm0,-0x648(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xa0(%rax),%xmm0
movsd  %xmm0,-0x640(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xa8(%rax),%xmm0
movsd  %xmm0,-0x638(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xb0(%rax),%xmm0
movsd  %xmm0,-0x630(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x628(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xc0(%rax),%xmm0
movsd  %xmm0,-0x620(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xc8(%rax),%xmm0
movsd  %xmm0,-0x618(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xd0(%rax),%xmm0
movsd  %xmm0,-0x610(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xd8(%rax),%xmm0
movsd  %xmm0,-0x608(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xe0(%rax),%xmm0
movsd  %xmm0,-0x600(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0x5f8(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xf0(%rax),%xmm0
movsd  %xmm0,-0x5f0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0xf8(%rax),%xmm0
movsd  %xmm0,-0x5e8(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x100(%rax),%xmm0
movsd  %xmm0,-0x5e0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x108(%rax),%xmm0
movsd  %xmm0,-0x5d8(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x110(%rax),%xmm0
movsd  %xmm0,-0x5d0(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x5c8(%rbp)
ff
movsd  -0x20(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %al
setp   %cl
or     %cl,%al
and    $0x1,%al
movzbl %al,%edi
call   1040 <assert@plt>
lea    -0x140(%rbp),%rdi
call   1030 <det6x6@plt>
divsd  -0x20(%rbp),%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,(%rax)
lea    -0x260(%rbp),%rdi
call   1030 <det6x6@plt>
divsd  -0x20(%rbp),%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x8(%rax)
lea    -0x380(%rbp),%rdi
call   1030 <det6x6@plt>
divsd  -0x20(%rbp),%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x10(%rax)
lea    -0x4a0(%rbp),%rdi
call   1030 <det6x6@plt>
divsd  -0x20(%rbp),%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x18(%rax)
lea    -0x5c0(%rbp),%rdi
call   1030 <det6x6@plt>
divsd  -0x20(%rbp),%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x20(%rax)
lea    -0x6e0(%rbp),%rdi
call   1030 <det6x6@plt>
divsd  -0x20(%rbp),%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x28(%rax)
add    $0x6e0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<solve6x6>:
push   %r15
push   %r14
push   %rbx
sub    $0x730,%rsp
mov    %rdx,%r14
mov    %rsi,%r15
mov    %rdi,%rbx
call   1030 <det6x6@plt>
movsd  %xmm0,(%rsp)
movsd  (%r15),%xmm12
movsd  %xmm12,0x610(%rsp)
movupd 0x8(%rbx),%xmm4
movupd %xmm4,0x618(%rsp)
movupd 0x18(%rbx),%xmm0
movupd %xmm0,0x628(%rsp)
movupd 0x28(%rbx),%xmm9
movlpd %xmm9,0x638(%rsp)
movsd  0x8(%r15),%xmm15
movsd  %xmm15,0x640(%rsp)
movupd 0x38(%rbx),%xmm8
movupd %xmm8,0x648(%rsp)
movupd 0x48(%rbx),%xmm2
movupd %xmm2,0x658(%rsp)
movupd 0x58(%rbx),%xmm10
movlpd %xmm10,0x668(%rsp)
movsd  0x10(%r15),%xmm1
movsd  %xmm1,0x8(%rsp)
movsd  %xmm1,0x670(%rsp)
movupd 0x68(%rbx),%xmm11
movupd %xmm11,0x678(%rsp)
movupd 0x78(%rbx),%xmm3
movupd %xmm3,0x688(%rsp)
movupd 0x88(%rbx),%xmm14
movlpd %xmm14,0x698(%rsp)
movsd  0x18(%r15),%xmm1
movsd  %xmm1,0x10(%rsp)
movsd  %xmm1,0x6a0(%rsp)
movupd 0x98(%rbx),%xmm13
movupd %xmm13,0x6a8(%rsp)
movupd 0xa8(%rbx),%xmm5
movupd %xmm5,0x6b8(%rsp)
movups 0xb8(%rbx),%xmm1
movaps %xmm1,0x40(%rsp)
movlps %xmm1,0x6c8(%rsp)
movsd  0x20(%r15),%xmm1
movsd  %xmm1,0x18(%rsp)
movsd  %xmm1,0x6d0(%rsp)
movups 0xc8(%rbx),%xmm1
movaps %xmm1,0x30(%rsp)
movups %xmm1,0x6d8(%rsp)
movupd 0xd8(%rbx),%xmm7
movupd %xmm7,0x6e8(%rsp)
movups 0xe8(%rbx),%xmm1
movaps %xmm1,0x60(%rsp)
movlps %xmm1,0x6f8(%rsp)
movsd  0x28(%r15),%xmm1
movsd  %xmm1,0x20(%rsp)
movsd  %xmm1,0x700(%rsp)
movups 0xf8(%rbx),%xmm1
movaps %xmm1,0x50(%rsp)
movups %xmm1,0x708(%rsp)
movupd 0x108(%rbx),%xmm6
movupd %xmm6,0x718(%rsp)
movsd  0x118(%rbx),%xmm1
movsd  %xmm1,0x28(%rsp)
movsd  %xmm1,0x728(%rsp)
movsd  (%rbx),%xmm1
movsd  %xmm1,0x3d0(%rsp)
movsd  %xmm1,0x2b0(%rsp)
movsd  %xmm1,0x190(%rsp)
movsd  %xmm1,0x70(%rsp)
movsd  %xmm1,0x4f0(%rsp)
movsd  %xmm12,0x3d8(%rsp)
movlpd %xmm4,0x2b8(%rsp)
movupd %xmm4,0x198(%rsp)
movupd %xmm4,0x78(%rsp)
movupd %xmm4,0x4f8(%rsp)
shufpd $0x1,%xmm0,%xmm4
movapd %xmm4,0x3e0(%rsp)
movhpd %xmm0,0x3f0(%rsp)
movsd  %xmm12,0x2c0(%rsp)
movupd %xmm0,0x2c8(%rsp)
movsd  %xmm12,0x1a8(%rsp)
movlpd %xmm0,0x88(%rsp)
movupd %xmm0,0x508(%rsp)
shufpd $0x1,%xmm9,%xmm0
movapd %xmm0,0x1b0(%rsp)
movsd  %xmm12,0x90(%rsp)
movsd  %xmm12,0x518(%rsp)
movupd %xmm9,0x3f8(%rsp)
movupd %xmm9,0x2d8(%rsp)
movupd %xmm9,0x98(%rsp)
shufpd $0x1,%xmm8,%xmm9
movapd %xmm9,0x1c0(%rsp)
movapd %xmm9,0x520(%rsp)
movsd  %xmm15,0x408(%rsp)
movlpd %xmm8,0x2e8(%rsp)
movhpd %xmm8,0x1d0(%rsp)
movupd %xmm8,0xa8(%rsp)
shufpd $0x1,%xmm2,%xmm8
movapd %xmm8,0x410(%rsp)
movapd %xmm8,0x530(%rsp)
movhpd %xmm2,0x420(%rsp)
movsd  %xmm15,0x2f0(%rsp)
movupd %xmm2,0x2f8(%rsp)
movsd  %xmm15,0x1d8(%rsp)
movlpd %xmm2,0xb8(%rsp)
movhpd %xmm2,0x540(%rsp)
shufpd $0x1,%xmm10,%xmm2
movapd %xmm2,0x1e0(%rsp)
movsd  %xmm15,0xc0(%rsp)
movsd  %xmm15,0x548(%rsp)
movupd %xmm10,0x428(%rsp)
movupd %xmm10,0x308(%rsp)
movupd %xmm10,0xc8(%rsp)
shufpd $0x1,%xmm11,%xmm10
movapd %xmm10,0x1f0(%rsp)
movapd %xmm10,0x550(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  %xmm0,0x438(%rsp)
movlpd %xmm11,0x318(%rsp)
movhpd %xmm11,0x200(%rsp)
movupd %xmm11,0xd8(%rsp)
shufpd $0x1,%xmm3,%xmm11
movapd %xmm11,0x440(%rsp)
movapd %xmm11,0x560(%rsp)
movhpd %xmm3,0x450(%rsp)
movsd  %xmm0,0x320(%rsp)
movupd %xmm3,0x328(%rsp)
movsd  %xmm0,0x208(%rsp)
movlpd %xmm3,0xe8(%rsp)
movhpd %xmm3,0x570(%rsp)
shufpd $0x1,%xmm14,%xmm3
movapd %xmm3,0x210(%rsp)
movsd  %xmm0,0xf0(%rsp)
movsd  %xmm0,0x578(%rsp)
movupd %xmm14,0x458(%rsp)
movupd %xmm14,0x338(%rsp)
movupd %xmm14,0xf8(%rsp)
shufpd $0x1,%xmm13,%xmm14
movapd %xmm14,0x220(%rsp)
movapd %xmm14,0x580(%rsp)
movsd  0x10(%rsp),%xmm0
movsd  %xmm0,0x468(%rsp)
movlpd %xmm13,0x348(%rsp)
movhpd %xmm13,0x230(%rsp)
movupd %xmm13,0x108(%rsp)
shufpd $0x1,%xmm5,%xmm13
movapd %xmm13,0x470(%rsp)
movapd %xmm13,0x590(%rsp)
movhpd %xmm5,0x480(%rsp)
movsd  %xmm0,0x350(%rsp)
movupd %xmm5,0x358(%rsp)
movsd  %xmm0,0x238(%rsp)
movlpd %xmm5,0x118(%rsp)
movhpd %xmm5,0x5a0(%rsp)
movapd 0x40(%rsp),%xmm1
shufpd $0x1,%xmm1,%xmm5
movapd %xmm5,0x240(%rsp)
movsd  %xmm0,0x120(%rsp)
movsd  %xmm0,0x5a8(%rsp)
movupd %xmm1,0x488(%rsp)
movupd %xmm1,0x368(%rsp)
movupd %xmm1,0x128(%rsp)
movapd %xmm1,%xmm0
movapd 0x30(%rsp),%xmm2
shufpd $0x1,%xmm2,%xmm0
movapd %xmm0,0x250(%rsp)
movapd %xmm0,0x5b0(%rsp)
movsd  0x18(%rsp),%xmm1
movsd  %xmm1,0x498(%rsp)
movlpd %xmm2,0x378(%rsp)
movhpd %xmm2,0x260(%rsp)
movupd %xmm2,0x138(%rsp)
movapd %xmm2,%xmm0
shufpd $0x1,%xmm7,%xmm0
movapd %xmm0,0x4a0(%rsp)
movapd %xmm0,0x5c0(%rsp)
movhpd %xmm7,0x4b0(%rsp)
movsd  %xmm1,0x380(%rsp)
movupd %xmm7,0x388(%rsp)
movsd  %xmm1,0x268(%rsp)
movlpd %xmm7,0x148(%rsp)
movhpd %xmm7,0x5d0(%rsp)
movapd 0x60(%rsp),%xmm0
shufpd $0x1,%xmm0,%xmm7
movapd %xmm7,0x270(%rsp)
movupd %xmm0,0x4b8(%rsp)
movsd  0x20(%rsp),%xmm3
movsd  %xmm3,0x4c8(%rsp)
movupd %xmm0,0x398(%rsp)
movapd 0x50(%rsp),%xmm4
movlpd %xmm4,0x3a8(%rsp)
movsd  %xmm1,0x150(%rsp)
movaps %xmm1,%xmm2
movupd %xmm0,0x158(%rsp)
shufpd $0x1,%xmm4,%xmm0
movapd %xmm0,0x280(%rsp)
movhpd %xmm4,0x290(%rsp)
movupd %xmm4,0x168(%rsp)
movapd %xmm4,%xmm1
shufpd $0x1,%xmm6,%xmm1
movapd %xmm1,0x4d0(%rsp)
movhpd %xmm6,0x4e0(%rsp)
movsd  0x28(%rsp),%xmm4
movsd  %xmm4,0x4e8(%rsp)
movsd  %xmm3,0x3b0(%rsp)
movupd %xmm6,0x3b8(%rsp)
movsd  %xmm4,0x3c8(%rsp)
movsd  %xmm3,0x298(%rsp)
movhpd %xmm6,0x2a0(%rsp)
movsd  %xmm4,0x2a8(%rsp)
movlpd %xmm6,0x178(%rsp)
movsd  %xmm3,0x180(%rsp)
movsd  %xmm4,0x188(%rsp)
movsd  %xmm2,0x5d8(%rsp)
movapd %xmm0,0x5e0(%rsp)
movapd %xmm1,0x5f0(%rsp)
movhpd %xmm6,0x600(%rsp)
movsd  %xmm3,0x608(%rsp)
xorpd  %xmm0,%xmm0
cmpneqsd (%rsp),%xmm0
movq   %xmm0,%rdi
and    $0x1,%edi
call   1040 <assert@plt>
lea    0x610(%rsp),%rdi
call   1030 <det6x6@plt>
divsd  (%rsp),%xmm0
movsd  %xmm0,(%r14)
lea    0x3d0(%rsp),%rdi
call   1030 <det6x6@plt>
divsd  (%rsp),%xmm0
movsd  %xmm0,0x8(%r14)
lea    0x2b0(%rsp),%rdi
call   1030 <det6x6@plt>
divsd  (%rsp),%xmm0
movsd  %xmm0,0x10(%r14)
lea    0x190(%rsp),%rdi
call   1030 <det6x6@plt>
divsd  (%rsp),%xmm0
movsd  %xmm0,0x18(%r14)
lea    0x70(%rsp),%rdi
call   1030 <det6x6@plt>
divsd  (%rsp),%xmm0
movsd  %xmm0,0x20(%r14)
lea    0x4f0(%rsp),%rdi
call   1030 <det6x6@plt>
divsd  (%rsp),%xmm0
movsd  %xmm0,0x28(%r14)
add    $0x730,%rsp
pop    %rbx
pop    %r14
pop    %r15
ret

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

LLVM IR (-O2):
define void @solve6x6(double* %0, double* nocapture %1, double* nocapture writeonly %2) {
%4 = alloca [36 x double]
%5 = alloca [36 x double]
%6 = alloca [36 x double]
%7 = alloca [36 x double]
%8 = alloca [36 x double]
%9 = alloca [36 x double]
%10 = tail call double @det6x6(double* %0)
%11 = bitcast [36 x double]* %4 to i8*
%12 = getelementptr inbounds [36 x double], [36 x double]* %4, i64 0, i64 0
%13 = load double, double* %1
store double %13, double* %12
%14 = getelementptr inbounds [36 x double], [36 x double]* %4, i64 0, i64 1
%15 = getelementptr inbounds double, double* %0, i64 1
%16 = bitcast double* %15 to <2 x double>*
%17 = load <2 x double>, <2 x double>* %16
%18 = bitcast double* %14 to <2 x double>*
store <2 x double> %17, <2 x double>* %18
%19 = getelementptr inbounds [36 x double], [36 x double]* %4, i64 0, i64 3
%20 = getelementptr inbounds double, double* %0, i64 3
%21 = bitcast double* %20 to <2 x double>*
%22 = load <2 x double>, <2 x double>* %21
%23 = bitcast double* %19 to <2 x double>*
store <2 x double> %22, <2 x double>* %23
%24 = getelementptr inbounds [36 x double], [36 x double]* %4, i64 0, i64 5
%25 = getelementptr inbounds double, double* %0, i64 5
%26 = bitcast [36 x double]* %5 to i8*
%27 = bitcast double* %25 to <2 x double>*
%28 = load <2 x double>, <2 x double>* %27
%29 = extractelement <2 x double> %28, i64 0
store double %29, double* %24
%30 = getelementptr inbounds [36 x double], [36 x double]* %4, i64 0, i64 6
%31 = getelementptr inbounds double, double* %1, i64 1
%32 = load double, double* %31
store double %32, double* %30
%33 = getelementptr inbounds [36 x double], [36 x double]* %4, i64 0, i64 7
%34 = getelementptr inbounds double, double* %0, i64 7
%35 = bitcast double* %34 to <2 x double>*
%36 = load <2 x double>, <2 x double>* %35
%37 = bitcast double* %33 to <2 x double>*
store <2 x double> %36, <2 x double>* %37
%38 = getelementptr inbounds [36 x double], [36 x double]* %4, i64 0, i64 9
%39 = getelementptr inbounds double, double* %0, i64 9
%40 = bitcast double* %39 to <2 x double>*
%41 = load <2 x double>, <2 x double>* %40
%42 = bitcast double* %38 to <2 x double>*
store <2 x double> %41, <2 x double>* %42
%43 = getelementptr inbounds [36 x double], [36 x double]* %4, i64 0, i64 11
%44 = getelementptr inbounds double, double* %0, i64 11
%45 = bitcast double* %44 to <2 x double>*
%46 = load <2 x double>, <2 x double>* %45
%47 = extractelement <2 x double> %46, i64 0
store double %47, double* %43
%48 = getelementptr inbounds [36 x double], [36 x double]* %4, i64 0, i64 12
%49 = getelementptr inbounds double, double* %1, i64 2
%50 = load double, double* %49
store double %50, double* %48
%51 = getelementptr inbounds [36 x double], [36 x double]* %4, i64 0, i64 13
%52 = getelementptr inbounds double, double* %0, i64 13
%53 = bitcast double* %52 to <2 x double>*
%54 = load <2 x double>, <2 x double>* %53
%55 = bitcast double* %51 to <2 x double>*
store <2 x double> %54, <2 x double>* %55
%56 = getelementptr inbounds [36 x double], [36 x double]* %4, i64 0, i64 15
%57 = getelementptr inbounds double, double* %0, i64 15
%58 = bitcast double* %57 to <2 x double>*
%59 = load <2 x double>, <2 x double>* %58
%60 = bitcast double* %56 to <2 x double>*
store <2 x double> %59, <2 x double>* %60
%61 = getelementptr inbounds [36 x double], [36 x double]* %4, i64 0, i64 17
%62 = getelementptr inbounds double, double* %0, i64 17
%63 = bitcast double* %62 to <2 x double>*
%64 = load <2 x double>, <2 x double>* %63
%65 = extractelement <2 x double> %64, i64 0
store double %65, double* %61
%66 = getelementptr inbounds [36 x double], [36 x double]* %4, i64 0, i64 18
%67 = getelementptr inbounds double, double* %1, i64 3
%68 = load double, double* %67
store double %68, double* %66
%69 = getelementptr inbounds [36 x double], [36 x double]* %4, i64 0, i64 19
%70 = getelementptr inbounds double, double* %0, i64 19
%71 = bitcast double* %70 to <2 x double>*
%72 = load <2 x double>, <2 x double>* %71
%73 = bitcast double* %69 to <2 x double>*
store <2 x double> %72, <2 x double>* %73
%74 = getelementptr inbounds [36 x double], [36 x double]* %4, i64 0, i64 21
%75 = getelementptr inbounds double, double* %0, i64 21
%76 = bitcast double* %75 to <2 x double>*
%77 = load <2 x double>, <2 x double>* %76
%78 = bitcast double* %74 to <2 x double>*
store <2 x double> %77, <2 x double>* %78
%79 = getelementptr inbounds [36 x double], [36 x double]* %4, i64 0, i64 23
%80 = getelementptr inbounds double, double* %0, i64 23
%81 = bitcast double* %80 to <2 x double>*
%82 = load <2 x double>, <2 x double>* %81
%83 = extractelement <2 x double> %82, i64 0
store double %83, double* %79
%84 = getelementptr inbounds [36 x double], [36 x double]* %4, i64 0, i64 24
%85 = getelementptr inbounds double, double* %1, i64 4
%86 = load double, double* %85
store double %86, double* %84
%87 = getelementptr inbounds [36 x double], [36 x double]* %4, i64 0, i64 25
%88 = getelementptr inbounds double, double* %0, i64 25
%89 = bitcast double* %88 to <2 x double>*
%90 = load <2 x double>, <2 x double>* %89
%91 = bitcast double* %87 to <2 x double>*
store <2 x double> %90, <2 x double>* %91
%92 = getelementptr inbounds [36 x double], [36 x double]* %4, i64 0, i64 27
%93 = getelementptr inbounds double, double* %0, i64 27
%94 = bitcast double* %93 to <2 x double>*
%95 = load <2 x double>, <2 x double>* %94
%96 = bitcast double* %92 to <2 x double>*
store <2 x double> %95, <2 x double>* %96
%97 = getelementptr inbounds [36 x double], [36 x double]* %4, i64 0, i64 29
%98 = getelementptr inbounds double, double* %0, i64 29
%99 = bitcast double* %98 to <2 x double>*
%100 = load <2 x double>, <2 x double>* %99
%101 = extractelement <2 x double> %100, i64 0
store double %101, double* %97
%102 = getelementptr inbounds [36 x double], [36 x double]* %4, i64 0, i64 30
%103 = getelementptr inbounds double, double* %1, i64 5
%104 = load double, double* %103
store double %104, double* %102
%105 = getelementptr inbounds [36 x double], [36 x double]* %4, i64 0, i64 31
%106 = getelementptr inbounds double, double* %0, i64 31
%107 = bitcast double* %106 to <2 x double>*
%108 = load <2 x double>, <2 x double>* %107
%109 = bitcast double* %105 to <2 x double>*
store <2 x double> %108, <2 x double>* %109
%110 = getelementptr inbounds [36 x double], [36 x double]* %4, i64 0, i64 33
%111 = getelementptr inbounds double, double* %0, i64 33
%112 = bitcast double* %111 to <2 x double>*
%113 = load <2 x double>, <2 x double>* %112
%114 = bitcast double* %110 to <2 x double>*
store <2 x double> %113, <2 x double>* %114
%115 = getelementptr inbounds [36 x double], [36 x double]* %4, i64 0, i64 35
%116 = getelementptr inbounds double, double* %0, i64 35
%117 = load double, double* %116
store double %117, double* %115
%118 = getelementptr inbounds [36 x double], [36 x double]* %5, i64 0, i64 0
%119 = load double, double* %0
store double %119, double* %118
%120 = getelementptr inbounds [36 x double], [36 x double]* %5, i64 0, i64 1
store double %13, double* %120
%121 = getelementptr inbounds [36 x double], [36 x double]* %5, i64 0, i64 2
%122 = extractelement <2 x double> %22, i64 0
%123 = shufflevector <2 x double> %17, <2 x double> %22, <2 x i32> <i32 1, i32 2>
%124 = bitcast double* %121 to <2 x double>*
store <2 x double> %123, <2 x double>* %124
%125 = getelementptr inbounds [36 x double], [36 x double]* %5, i64 0, i64 4
%126 = extractelement <2 x double> %22, i64 1
store double %126, double* %125
%127 = getelementptr inbounds [36 x double], [36 x double]* %5, i64 0, i64 5
%128 = bitcast double* %127 to <2 x double>*
store <2 x double> %28, <2 x double>* %128
%129 = getelementptr inbounds [36 x double], [36 x double]* %5, i64 0, i64 7
store double %32, double* %129
%130 = getelementptr inbounds [36 x double], [36 x double]* %5, i64 0, i64 8
%131 = extractelement <2 x double> %36, i64 1
%132 = extractelement <2 x double> %41, i64 0
%133 = shufflevector <2 x double> %36, <2 x double> %41, <2 x i32> <i32 1, i32 2>
%134 = bitcast double* %130 to <2 x double>*
store <2 x double> %133, <2 x double>* %134
%135 = getelementptr inbounds [36 x double], [36 x double]* %5, i64 0, i64 10
%136 = extractelement <2 x double> %41, i64 1
store double %136, double* %135
%137 = getelementptr inbounds [36 x double], [36 x double]* %5, i64 0, i64 11
%138 = bitcast double* %137 to <2 x double>*
store <2 x double> %46, <2 x double>* %138
%139 = getelementptr inbounds [36 x double], [36 x double]* %5, i64 0, i64 13
store double %50, double* %139
%140 = getelementptr inbounds [36 x double], [36 x double]* %5, i64 0, i64 14
%141 = extractelement <2 x double> %54, i64 1
%142 = extractelement <2 x double> %59, i64 0
%143 = shufflevector <2 x double> %54, <2 x double> %59, <2 x i32> <i32 1, i32 2>
%144 = bitcast double* %140 to <2 x double>*
store <2 x double> %143, <2 x double>* %144
%145 = getelementptr inbounds [36 x double], [36 x double]* %5, i64 0, i64 16
%146 = extractelement <2 x double> %59, i64 1
store double %146, double* %145
%147 = getelementptr inbounds [36 x double], [36 x double]* %5, i64 0, i64 17
%148 = bitcast double* %147 to <2 x double>*
store <2 x double> %64, <2 x double>* %148
%149 = getelementptr inbounds [36 x double], [36 x double]* %5, i64 0, i64 19
store double %68, double* %149
%150 = getelementptr inbounds [36 x double], [36 x double]* %5, i64 0, i64 20
%151 = extractelement <2 x double> %72, i64 1
%152 = extractelement <2 x double> %77, i64 0
%153 = shufflevector <2 x double> %72, <2 x double> %77, <2 x i32> <i32 1, i32 2>
%154 = bitcast double* %150 to <2 x double>*
store <2 x double> %153, <2 x double>* %154
%155 = getelementptr inbounds [36 x double], [36 x double]* %5, i64 0, i64 22
%156 = extractelement <2 x double> %77, i64 1
store double %156, double* %155
%157 = getelementptr inbounds [36 x double], [36 x double]* %5, i64 0, i64 23
%158 = bitcast double* %157 to <2 x double>*
store <2 x double> %82, <2 x double>* %158
%159 = getelementptr inbounds [36 x double], [36 x double]* %5, i64 0, i64 25
store double %86, double* %159
%160 = getelementptr inbounds [36 x double], [36 x double]* %5, i64 0, i64 26
%161 = extractelement <2 x double> %90, i64 1
%162 = extractelement <2 x double> %95, i64 0
%163 = shufflevector <2 x double> %90, <2 x double> %95, <2 x i32> <i32 1, i32 2>
%164 = bitcast double* %160 to <2 x double>*
store <2 x double> %163, <2 x double>* %164
%165 = getelementptr inbounds [36 x double], [36 x double]* %5, i64 0, i64 28
%166 = extractelement <2 x double> %95, i64 1
store double %166, double* %165
%167 = getelementptr inbounds [36 x double], [36 x double]* %5, i64 0, i64 29
%168 = bitcast double* %167 to <2 x double>*
store <2 x double> %100, <2 x double>* %168
%169 = getelementptr inbounds [36 x double], [36 x double]* %5, i64 0, i64 31
store double %104, double* %169
%170 = getelementptr inbounds [36 x double], [36 x double]* %5, i64 0, i64 32
%171 = extractelement <2 x double> %108, i64 1
%172 = extractelement <2 x double> %113, i64 0
%173 = shufflevector <2 x double> %108, <2 x double> %113, <2 x i32> <i32 1, i32 2>
%174 = bitcast double* %170 to <2 x double>*
store <2 x double> %173, <2 x double>* %174
%175 = getelementptr inbounds [36 x double], [36 x double]* %5, i64 0, i64 34
%176 = extractelement <2 x double> %113, i64 1
store double %176, double* %175
%177 = getelementptr inbounds [36 x double], [36 x double]* %5, i64 0, i64 35
store double %117, double* %177
%178 = bitcast [36 x double]* %6 to i8*
%179 = getelementptr inbounds [36 x double], [36 x double]* %6, i64 0, i64 0
store double %119, double* %179
%180 = getelementptr inbounds [36 x double], [36 x double]* %6, i64 0, i64 1
%181 = extractelement <2 x double> %17, i64 0
store double %181, double* %180
%182 = getelementptr inbounds [36 x double], [36 x double]* %6, i64 0, i64 2
store double %13, double* %182
%183 = getelementptr inbounds [36 x double], [36 x double]* %6, i64 0, i64 3
%184 = bitcast double* %183 to <2 x double>*
store <2 x double> %22, <2 x double>* %184
%185 = getelementptr inbounds [36 x double], [36 x double]* %6, i64 0, i64 5
%186 = bitcast double* %185 to <2 x double>*
store <2 x double> %28, <2 x double>* %186
%187 = getelementptr inbounds [36 x double], [36 x double]* %6, i64 0, i64 7
%188 = extractelement <2 x double> %36, i64 0
store double %188, double* %187
%189 = getelementptr inbounds [36 x double], [36 x double]* %6, i64 0, i64 8
store double %32, double* %189
%190 = getelementptr inbounds [36 x double], [36 x double]* %6, i64 0, i64 9
%191 = bitcast double* %190 to <2 x double>*
store <2 x double> %41, <2 x double>* %191
%192 = getelementptr inbounds [36 x double], [36 x double]* %6, i64 0, i64 11
%193 = bitcast double* %192 to <2 x double>*
store <2 x double> %46, <2 x double>* %193
%194 = getelementptr inbounds [36 x double], [36 x double]* %6, i64 0, i64 13
%195 = extractelement <2 x double> %54, i64 0
store double %195, double* %194
%196 = getelementptr inbounds [36 x double], [36 x double]* %6, i64 0, i64 14
store double %50, double* %196
%197 = getelementptr inbounds [36 x double], [36 x double]* %6, i64 0, i64 15
%198 = bitcast double* %197 to <2 x double>*
store <2 x double> %59, <2 x double>* %198
%199 = getelementptr inbounds [36 x double], [36 x double]* %6, i64 0, i64 17
%200 = bitcast double* %199 to <2 x double>*
store <2 x double> %64, <2 x double>* %200
%201 = getelementptr inbounds [36 x double], [36 x double]* %6, i64 0, i64 19
%202 = extractelement <2 x double> %72, i64 0
store double %202, double* %201
%203 = getelementptr inbounds [36 x double], [36 x double]* %6, i64 0, i64 20
store double %68, double* %203
%204 = getelementptr inbounds [36 x double], [36 x double]* %6, i64 0, i64 21
%205 = bitcast double* %204 to <2 x double>*
store <2 x double> %77, <2 x double>* %205
%206 = getelementptr inbounds [36 x double], [36 x double]* %6, i64 0, i64 23
%207 = bitcast double* %206 to <2 x double>*
store <2 x double> %82, <2 x double>* %207
%208 = getelementptr inbounds [36 x double], [36 x double]* %6, i64 0, i64 25
%209 = extractelement <2 x double> %90, i64 0
store double %209, double* %208
%210 = getelementptr inbounds [36 x double], [36 x double]* %6, i64 0, i64 26
store double %86, double* %210
%211 = getelementptr inbounds [36 x double], [36 x double]* %6, i64 0, i64 27
%212 = bitcast double* %211 to <2 x double>*
store <2 x double> %95, <2 x double>* %212
%213 = getelementptr inbounds [36 x double], [36 x double]* %6, i64 0, i64 29
%214 = bitcast double* %213 to <2 x double>*
store <2 x double> %100, <2 x double>* %214
%215 = getelementptr inbounds [36 x double], [36 x double]* %6, i64 0, i64 31
%216 = extractelement <2 x double> %108, i64 0
store double %216, double* %215
%217 = getelementptr inbounds [36 x double], [36 x double]* %6, i64 0, i64 32
store double %104, double* %217
%218 = getelementptr inbounds [36 x double], [36 x double]* %6, i64 0, i64 33
%219 = bitcast double* %218 to <2 x double>*
store <2 x double> %113, <2 x double>* %219
%220 = getelementptr inbounds [36 x double], [36 x double]* %6, i64 0, i64 35
store double %117, double* %220
%221 = bitcast [36 x double]* %7 to i8*
%222 = getelementptr inbounds [36 x double], [36 x double]* %7, i64 0, i64 0
store double %119, double* %222
%223 = getelementptr inbounds [36 x double], [36 x double]* %7, i64 0, i64 1
%224 = bitcast double* %223 to <2 x double>*
store <2 x double> %17, <2 x double>* %224
%225 = getelementptr inbounds [36 x double], [36 x double]* %7, i64 0, i64 3
store double %13, double* %225
%226 = getelementptr inbounds [36 x double], [36 x double]* %7, i64 0, i64 4
%227 = shufflevector <2 x double> %22, <2 x double> %28, <2 x i32> <i32 1, i32 2>
%228 = bitcast double* %226 to <2 x double>*
store <2 x double> %227, <2 x double>* %228
%229 = getelementptr inbounds [36 x double], [36 x double]* %7, i64 0, i64 6
%230 = shufflevector <2 x double> %28, <2 x double> %36, <2 x i32> <i32 1, i32 2>
%231 = bitcast double* %229 to <2 x double>*
store <2 x double> %230, <2 x double>* %231
%232 = getelementptr inbounds [36 x double], [36 x double]* %7, i64 0, i64 8
store double %131, double* %232
%233 = getelementptr inbounds [36 x double], [36 x double]* %7, i64 0, i64 9
store double %32, double* %233
%234 = getelementptr inbounds [36 x double], [36 x double]* %7, i64 0, i64 10
%235 = shufflevector <2 x double> %41, <2 x double> %46, <2 x i32> <i32 1, i32 2>
%236 = bitcast double* %234 to <2 x double>*
store <2 x double> %235, <2 x double>* %236
%237 = getelementptr inbounds [36 x double], [36 x double]* %7, i64 0, i64 12
%238 = shufflevector <2 x double> %46, <2 x double> %54, <2 x i32> <i32 1, i32 2>
%239 = bitcast double* %237 to <2 x double>*
store <2 x double> %238, <2 x double>* %239
%240 = getelementptr inbounds [36 x double], [36 x double]* %7, i64 0, i64 14
store double %141, double* %240
%241 = getelementptr inbounds [36 x double], [36 x double]* %7, i64 0, i64 15
store double %50, double* %241
%242 = getelementptr inbounds [36 x double], [36 x double]* %7, i64 0, i64 16
%243 = shufflevector <2 x double> %59, <2 x double> %64, <2 x i32> <i32 1, i32 2>
%244 = bitcast double* %242 to <2 x double>*
store <2 x double> %243, <2 x double>* %244
%245 = getelementptr inbounds [36 x double], [36 x double]* %7, i64 0, i64 18
%246 = shufflevector <2 x double> %64, <2 x double> %72, <2 x i32> <i32 1, i32 2>
%247 = bitcast double* %245 to <2 x double>*
store <2 x double> %246, <2 x double>* %247
%248 = getelementptr inbounds [36 x double], [36 x double]* %7, i64 0, i64 20
store double %151, double* %248
%249 = getelementptr inbounds [36 x double], [36 x double]* %7, i64 0, i64 21
store double %68, double* %249
%250 = getelementptr inbounds [36 x double], [36 x double]* %7, i64 0, i64 22
%251 = shufflevector <2 x double> %77, <2 x double> %82, <2 x i32> <i32 1, i32 2>
%252 = bitcast double* %250 to <2 x double>*
store <2 x double> %251, <2 x double>* %252
%253 = getelementptr inbounds [36 x double], [36 x double]* %7, i64 0, i64 24
%254 = shufflevector <2 x double> %82, <2 x double> %90, <2 x i32> <i32 1, i32 2>
%255 = bitcast double* %253 to <2 x double>*
store <2 x double> %254, <2 x double>* %255
%256 = getelementptr inbounds [36 x double], [36 x double]* %7, i64 0, i64 26
store double %161, double* %256
%257 = getelementptr inbounds [36 x double], [36 x double]* %7, i64 0, i64 27
store double %86, double* %257
%258 = getelementptr inbounds [36 x double], [36 x double]* %7, i64 0, i64 28
%259 = shufflevector <2 x double> %95, <2 x double> %100, <2 x i32> <i32 1, i32 2>
%260 = bitcast double* %258 to <2 x double>*
store <2 x double> %259, <2 x double>* %260
%261 = getelementptr inbounds [36 x double], [36 x double]* %7, i64 0, i64 30
%262 = shufflevector <2 x double> %100, <2 x double> %108, <2 x i32> <i32 1, i32 2>
%263 = bitcast double* %261 to <2 x double>*
store <2 x double> %262, <2 x double>* %263
%264 = getelementptr inbounds [36 x double], [36 x double]* %7, i64 0, i64 32
store double %171, double* %264
%265 = getelementptr inbounds [36 x double], [36 x double]* %7, i64 0, i64 33
store double %104, double* %265
%266 = getelementptr inbounds [36 x double], [36 x double]* %7, i64 0, i64 34
store double %176, double* %266
%267 = getelementptr inbounds [36 x double], [36 x double]* %7, i64 0, i64 35
store double %117, double* %267
%268 = bitcast [36 x double]* %8 to i8*
%269 = getelementptr inbounds [36 x double], [36 x double]* %8, i64 0, i64 0
store double %119, double* %269
%270 = getelementptr inbounds [36 x double], [36 x double]* %8, i64 0, i64 1
%271 = bitcast double* %270 to <2 x double>*
store <2 x double> %17, <2 x double>* %271
%272 = getelementptr inbounds [36 x double], [36 x double]* %8, i64 0, i64 3
store double %122, double* %272
%273 = getelementptr inbounds [36 x double], [36 x double]* %8, i64 0, i64 4
store double %13, double* %273
%274 = getelementptr inbounds [36 x double], [36 x double]* %8, i64 0, i64 5
%275 = bitcast double* %274 to <2 x double>*
store <2 x double> %28, <2 x double>* %275
%276 = getelementptr inbounds [36 x double], [36 x double]* %8, i64 0, i64 7
%277 = bitcast double* %276 to <2 x double>*
store <2 x double> %36, <2 x double>* %277
%278 = getelementptr inbounds [36 x double], [36 x double]* %8, i64 0, i64 9
store double %132, double* %278
%279 = getelementptr inbounds [36 x double], [36 x double]* %8, i64 0, i64 10
store double %32, double* %279
%280 = getelementptr inbounds [36 x double], [36 x double]* %8, i64 0, i64 11
%281 = bitcast double* %280 to <2 x double>*
store <2 x double> %46, <2 x double>* %281
%282 = getelementptr inbounds [36 x double], [36 x double]* %8, i64 0, i64 13
%283 = bitcast double* %282 to <2 x double>*
store <2 x double> %54, <2 x double>* %283
%284 = getelementptr inbounds [36 x double], [36 x double]* %8, i64 0, i64 15
store double %142, double* %284
%285 = getelementptr inbounds [36 x double], [36 x double]* %8, i64 0, i64 16
store double %50, double* %285
%286 = getelementptr inbounds [36 x double], [36 x double]* %8, i64 0, i64 17
%287 = bitcast double* %286 to <2 x double>*
store <2 x double> %64, <2 x double>* %287
%288 = getelementptr inbounds [36 x double], [36 x double]* %8, i64 0, i64 19
%289 = bitcast double* %288 to <2 x double>*
store <2 x double> %72, <2 x double>* %289
%290 = getelementptr inbounds [36 x double], [36 x double]* %8, i64 0, i64 21
store double %152, double* %290
%291 = getelementptr inbounds [36 x double], [36 x double]* %8, i64 0, i64 22
store double %68, double* %291
%292 = getelementptr inbounds [36 x double], [36 x double]* %8, i64 0, i64 23
%293 = bitcast double* %292 to <2 x double>*
store <2 x double> %82, <2 x double>* %293
%294 = getelementptr inbounds [36 x double], [36 x double]* %8, i64 0, i64 25
%295 = bitcast double* %294 to <2 x double>*
store <2 x double> %90, <2 x double>* %295
%296 = getelementptr inbounds [36 x double], [36 x double]* %8, i64 0, i64 27
store double %162, double* %296
%297 = getelementptr inbounds [36 x double], [36 x double]* %8, i64 0, i64 28
store double %86, double* %297
%298 = getelementptr inbounds [36 x double], [36 x double]* %8, i64 0, i64 29
%299 = bitcast double* %298 to <2 x double>*
store <2 x double> %100, <2 x double>* %299
%300 = getelementptr inbounds [36 x double], [36 x double]* %8, i64 0, i64 31
%301 = bitcast double* %300 to <2 x double>*
store <2 x double> %108, <2 x double>* %301
%302 = getelementptr inbounds [36 x double], [36 x double]* %8, i64 0, i64 33
store double %172, double* %302
%303 = getelementptr inbounds [36 x double], [36 x double]* %8, i64 0, i64 34
store double %104, double* %303
%304 = getelementptr inbounds [36 x double], [36 x double]* %8, i64 0, i64 35
store double %117, double* %304
%305 = bitcast [36 x double]* %9 to i8*
%306 = getelementptr inbounds [36 x double], [36 x double]* %9, i64 0, i64 0
store double %119, double* %306
%307 = getelementptr inbounds [36 x double], [36 x double]* %9, i64 0, i64 1
%308 = bitcast double* %307 to <2 x double>*
store <2 x double> %17, <2 x double>* %308
%309 = getelementptr inbounds [36 x double], [36 x double]* %9, i64 0, i64 3
%310 = bitcast double* %309 to <2 x double>*
store <2 x double> %22, <2 x double>* %310
%311 = getelementptr inbounds [36 x double], [36 x double]* %9, i64 0, i64 5
store double %13, double* %311
%312 = getelementptr inbounds [36 x double], [36 x double]* %9, i64 0, i64 6
%313 = bitcast double* %312 to <2 x double>*
store <2 x double> %230, <2 x double>* %313
%314 = getelementptr inbounds [36 x double], [36 x double]* %9, i64 0, i64 8
%315 = bitcast double* %314 to <2 x double>*
store <2 x double> %133, <2 x double>* %315
%316 = getelementptr inbounds [36 x double], [36 x double]* %9, i64 0, i64 10
store double %136, double* %316
%317 = getelementptr inbounds [36 x double], [36 x double]* %9, i64 0, i64 11
store double %32, double* %317
%318 = getelementptr inbounds [36 x double], [36 x double]* %9, i64 0, i64 12
%319 = bitcast double* %318 to <2 x double>*
store <2 x double> %238, <2 x double>* %319
%320 = getelementptr inbounds [36 x double], [36 x double]* %9, i64 0, i64 14
%321 = bitcast double* %320 to <2 x double>*
store <2 x double> %143, <2 x double>* %321
%322 = getelementptr inbounds [36 x double], [36 x double]* %9, i64 0, i64 16
store double %146, double* %322
%323 = getelementptr inbounds [36 x double], [36 x double]* %9, i64 0, i64 17
store double %50, double* %323
%324 = getelementptr inbounds [36 x double], [36 x double]* %9, i64 0, i64 18
%325 = bitcast double* %324 to <2 x double>*
store <2 x double> %246, <2 x double>* %325
%326 = getelementptr inbounds [36 x double], [36 x double]* %9, i64 0, i64 20
%327 = bitcast double* %326 to <2 x double>*
store <2 x double> %153, <2 x double>* %327
%328 = getelementptr inbounds [36 x double], [36 x double]* %9, i64 0, i64 22
store double %156, double* %328
%329 = getelementptr inbounds [36 x double], [36 x double]* %9, i64 0, i64 23
store double %68, double* %329
%330 = getelementptr inbounds [36 x double], [36 x double]* %9, i64 0, i64 24
%331 = bitcast double* %330 to <2 x double>*
store <2 x double> %254, <2 x double>* %331
%332 = getelementptr inbounds [36 x double], [36 x double]* %9, i64 0, i64 26
%333 = bitcast double* %332 to <2 x double>*
store <2 x double> %163, <2 x double>* %333
%334 = getelementptr inbounds [36 x double], [36 x double]* %9, i64 0, i64 28
store double %166, double* %334
%335 = getelementptr inbounds [36 x double], [36 x double]* %9, i64 0, i64 29
store double %86, double* %335
%336 = getelementptr inbounds [36 x double], [36 x double]* %9, i64 0, i64 30
%337 = bitcast double* %336 to <2 x double>*
store <2 x double> %262, <2 x double>* %337
%338 = getelementptr inbounds [36 x double], [36 x double]* %9, i64 0, i64 32
%339 = bitcast double* %338 to <2 x double>*
store <2 x double> %173, <2 x double>* %339
%340 = getelementptr inbounds [36 x double], [36 x double]* %9, i64 0, i64 34
store double %176, double* %340
%341 = getelementptr inbounds [36 x double], [36 x double]* %9, i64 0, i64 35
store double %104, double* %341
%342 = fcmp une double %10, 0.000000e+00
%343 = zext i1 %342 to i32
%344 = tail call i32 @assert(i32 %343)
%345 = call double @det6x6(double* %12)
%346 = fdiv double %345, %10
store double %346, double* %2
%347 = call double @det6x6(double* %118)
%348 = fdiv double %347, %10
%349 = getelementptr inbounds double, double* %2, i64 1
store double %348, double* %349
%350 = call double @det6x6(double* %179)
%351 = fdiv double %350, %10
%352 = getelementptr inbounds double, double* %2, i64 2
store double %351, double* %352
%353 = call double @det6x6(double* %222)
%354 = fdiv double %353, %10
%355 = getelementptr inbounds double, double* %2, i64 3
store double %354, double* %355
%356 = call double @det6x6(double* %269)
%357 = fdiv double %356, %10
%358 = getelementptr inbounds double, double* %2, i64 4
store double %357, double* %358
%359 = call double @det6x6(double* %306)
%360 = fdiv double %359, %10
%361 = getelementptr inbounds double, double* %2, i64 5
store double %360, double* %361
ret void
}