int vde_chain_nm2(void *mem, const double **arg, double **res, int *iw,
                  double *w) {
  mem = 0;
  mem += 0;
  w = 0;
  w += 0;
  iw = 0;
  iw += 0;
  double a0 = arg[0] ? arg[0][3] : 0;
  if (res[0] != 0)
    res[0][0] = a0;
  a0 = arg[0] ? arg[0][4] : 0;
  if (res[0] != 0)
    res[0][1] = a0;
  a0 = arg[0] ? arg[0][5] : 0;
  if (res[0] != 0)
    res[0][2] = a0;
  a0 = arg[3] ? arg[3][0] : 0;
  if (res[0] != 0)
    res[0][3] = a0;
  a0 = arg[3] ? arg[3][1] : 0;
  if (res[0] != 0)
    res[0][4] = a0;
  a0 = arg[3] ? arg[3][2] : 0;
  if (res[0] != 0)
    res[0][5] = a0;
  a0 = arg[1] ? arg[1][3] : 0;
  if (res[1] != 0)
    res[1][0] = a0;
  a0 = arg[1] ? arg[1][4] : 0;
  if (res[1] != 0)
    res[1][1] = a0;
  a0 = arg[1] ? arg[1][5] : 0;
  if (res[1] != 0)
    res[1][2] = a0;
  a0 = 0.;
  if (res[1] != 0)
    res[1][3] = a0;
  if (res[1] != 0)
    res[1][4] = a0;
  if (res[1] != 0)
    res[1][5] = a0;
  double a1 = arg[1] ? arg[1][9] : 0;
  if (res[1] != 0)
    res[1][6] = a1;
  a1 = arg[1] ? arg[1][10] : 0;
  if (res[1] != 0)
    res[1][7] = a1;
  a1 = arg[1] ? arg[1][11] : 0;
  if (res[1] != 0)
    res[1][8] = a1;
  if (res[1] != 0)
    res[1][9] = a0;
  if (res[1] != 0)
    res[1][10] = a0;
  if (res[1] != 0)
    res[1][11] = a0;
  a1 = arg[1] ? arg[1][15] : 0;
  if (res[1] != 0)
    res[1][12] = a1;
  a1 = arg[1] ? arg[1][16] : 0;
  if (res[1] != 0)
    res[1][13] = a1;
  a1 = arg[1] ? arg[1][17] : 0;
  if (res[1] != 0)
    res[1][14] = a1;
  if (res[1] != 0)
    res[1][15] = a0;
  if (res[1] != 0)
    res[1][16] = a0;
  if (res[1] != 0)
    res[1][17] = a0;
  a1 = arg[1] ? arg[1][21] : 0;
  if (res[1] != 0)
    res[1][18] = a1;
  a1 = arg[1] ? arg[1][22] : 0;
  if (res[1] != 0)
    res[1][19] = a1;
  a1 = arg[1] ? arg[1][23] : 0;
  if (res[1] != 0)
    res[1][20] = a1;
  if (res[1] != 0)
    res[1][21] = a0;
  if (res[1] != 0)
    res[1][22] = a0;
  if (res[1] != 0)
    res[1][23] = a0;
  a1 = arg[1] ? arg[1][27] : 0;
  if (res[1] != 0)
    res[1][24] = a1;
  a1 = arg[1] ? arg[1][28] : 0;
  if (res[1] != 0)
    res[1][25] = a1;
  a1 = arg[1] ? arg[1][29] : 0;
  if (res[1] != 0)
    res[1][26] = a1;
  if (res[1] != 0)
    res[1][27] = a0;
  if (res[1] != 0)
    res[1][28] = a0;
  if (res[1] != 0)
    res[1][29] = a0;
  a1 = arg[1] ? arg[1][33] : 0;
  if (res[1] != 0)
    res[1][30] = a1;
  a1 = arg[1] ? arg[1][34] : 0;
  if (res[1] != 0)
    res[1][31] = a1;
  a1 = arg[1] ? arg[1][35] : 0;
  if (res[1] != 0)
    res[1][32] = a1;
  if (res[1] != 0)
    res[1][33] = a0;
  if (res[1] != 0)
    res[1][34] = a0;
  if (res[1] != 0)
    res[1][35] = a0;
  a1 = arg[2] ? arg[2][3] : 0;
  if (res[2] != 0)
    res[2][0] = a1;
  a1 = arg[2] ? arg[2][4] : 0;
  if (res[2] != 0)
    res[2][1] = a1;
  a1 = arg[2] ? arg[2][5] : 0;
  if (res[2] != 0)
    res[2][2] = a1;
  a1 = 1.;
  if (res[2] != 0)
    res[2][3] = a1;
  if (res[2] != 0)
    res[2][4] = a0;
  if (res[2] != 0)
    res[2][5] = a0;
  double a2 = arg[2] ? arg[2][9] : 0;
  if (res[2] != 0)
    res[2][6] = a2;
  a2 = arg[2] ? arg[2][10] : 0;
  if (res[2] != 0)
    res[2][7] = a2;
  a2 = arg[2] ? arg[2][11] : 0;
  if (res[2] != 0)
    res[2][8] = a2;
  if (res[2] != 0)
    res[2][9] = a0;
  if (res[2] != 0)
    res[2][10] = a1;
  if (res[2] != 0)
    res[2][11] = a0;
  a2 = arg[2] ? arg[2][15] : 0;
  if (res[2] != 0)
    res[2][12] = a2;
  a2 = arg[2] ? arg[2][16] : 0;
  if (res[2] != 0)
    res[2][13] = a2;
  a2 = arg[2] ? arg[2][17] : 0;
  if (res[2] != 0)
    res[2][14] = a2;
  if (res[2] != 0)
    res[2][15] = a0;
  if (res[2] != 0)
    res[2][16] = a0;
  if (res[2] != 0)
    res[2][17] = a1;
  return 0;
}


x86 assembly (clang, -O0):
<vde_chain_nm2>:
push   %rbp
mov    %rsp,%rbp
sub    $0xc8,%rsp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    %rdx,-0x18(%rbp)
mov    %rcx,-0x20(%rbp)
mov    %r8,-0x28(%rbp)
movq   $0x0,-0x8(%rbp)
mov    -0x8(%rbp),%rax
mov    %rax,-0x8(%rbp)
movq   $0x0,-0x28(%rbp)
mov    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
movq   $0x0,-0x20(%rbp)
mov    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x10(%rbp),%rax
cmpq   $0x0,(%rax)
je     1173 <vde_chain_nm2+0x73>
mov    -0x10(%rbp),%rax
mov    (%rax),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x48(%rbp)
jmp    1180 <vde_chain_nm2+0x80>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x48(%rbp)
jmp    1180 <vde_chain_nm2+0x80>
movsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x30(%rbp)
mov    -0x18(%rbp),%rax
cmpq   $0x0,(%rax)
je     11a8 <vde_chain_nm2+0xa8>
movsd  -0x30(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    (%rax),%rax
movsd  %xmm0,(%rax)
mov    -0x10(%rbp),%rax
cmpq   $0x0,(%rax)
je     11cc <vde_chain_nm2+0xcc>
mov    -0x10(%rbp),%rax
mov    (%rax),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0x50(%rbp)
jmp    11d9 <vde_chain_nm2+0xd9>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x50(%rbp)
jmp    11d9 <vde_chain_nm2+0xd9>
movsd  -0x50(%rbp),%xmm0
movsd  %xmm0,-0x30(%rbp)
mov    -0x18(%rbp),%rax
cmpq   $0x0,(%rax)
je     1202 <vde_chain_nm2+0x102>
movsd  -0x30(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    (%rax),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x10(%rbp),%rax
cmpq   $0x0,(%rax)
je     1226 <vde_chain_nm2+0x126>
mov    -0x10(%rbp),%rax
mov    (%rax),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x58(%rbp)
jmp    1233 <vde_chain_nm2+0x133>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x58(%rbp)
jmp    1233 <vde_chain_nm2+0x133>
movsd  -0x58(%rbp),%xmm0
movsd  %xmm0,-0x30(%rbp)
mov    -0x18(%rbp),%rax
cmpq   $0x0,(%rax)
je     125c <vde_chain_nm2+0x15c>
movsd  -0x30(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    (%rax),%rax
movsd  %xmm0,0x10(%rax)
mov    -0x10(%rbp),%rax
cmpq   $0x0,0x18(%rax)
je     1281 <vde_chain_nm2+0x181>
mov    -0x10(%rbp),%rax
mov    0x18(%rax),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x60(%rbp)
jmp    128e <vde_chain_nm2+0x18e>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x60(%rbp)
jmp    128e <vde_chain_nm2+0x18e>
movsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0x30(%rbp)
mov    -0x18(%rbp),%rax
cmpq   $0x0,(%rax)
je     12b7 <vde_chain_nm2+0x1b7>
movsd  -0x30(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    (%rax),%rax
movsd  %xmm0,0x18(%rax)
mov    -0x10(%rbp),%rax
cmpq   $0x0,0x18(%rax)
je     12dd <vde_chain_nm2+0x1dd>
mov    -0x10(%rbp),%rax
mov    0x18(%rax),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x68(%rbp)
jmp    12ea <vde_chain_nm2+0x1ea>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x68(%rbp)
jmp    12ea <vde_chain_nm2+0x1ea>
movsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0x30(%rbp)
mov    -0x18(%rbp),%rax
cmpq   $0x0,(%rax)
je     1313 <vde_chain_nm2+0x213>
movsd  -0x30(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    (%rax),%rax
movsd  %xmm0,0x20(%rax)
mov    -0x10(%rbp),%rax
cmpq   $0x0,0x18(%rax)
je     1339 <vde_chain_nm2+0x239>
mov    -0x10(%rbp),%rax
mov    0x18(%rax),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x70(%rbp)
jmp    1346 <vde_chain_nm2+0x246>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x70(%rbp)
jmp    1346 <vde_chain_nm2+0x246>
movsd  -0x70(%rbp),%xmm0
movsd  %xmm0,-0x30(%rbp)
mov    -0x18(%rbp),%rax
cmpq   $0x0,(%rax)
je     136f <vde_chain_nm2+0x26f>
movsd  -0x30(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    (%rax),%rax
movsd  %xmm0,0x28(%rax)
mov    -0x10(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     1395 <vde_chain_nm2+0x295>
mov    -0x10(%rbp),%rax
mov    0x8(%rax),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x78(%rbp)
jmp    13a2 <vde_chain_nm2+0x2a2>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x78(%rbp)
jmp    13a2 <vde_chain_nm2+0x2a2>
movsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x30(%rbp)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     13cc <vde_chain_nm2+0x2cc>
movsd  -0x30(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,(%rax)
mov    -0x10(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     13f2 <vde_chain_nm2+0x2f2>
mov    -0x10(%rbp),%rax
mov    0x8(%rax),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0x80(%rbp)
jmp    13ff <vde_chain_nm2+0x2ff>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x80(%rbp)
jmp    13ff <vde_chain_nm2+0x2ff>
movsd  -0x80(%rbp),%xmm0
movsd  %xmm0,-0x30(%rbp)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     142a <vde_chain_nm2+0x32a>
movsd  -0x30(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x10(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     1453 <vde_chain_nm2+0x353>
mov    -0x10(%rbp),%rax
mov    0x8(%rax),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
jmp    1463 <vde_chain_nm2+0x363>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
jmp    1463 <vde_chain_nm2+0x363>
movsd  -0x88(%rbp),%xmm0
ff
movsd  %xmm0,-0x30(%rbp)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     1491 <vde_chain_nm2+0x391>
movsd  -0x30(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,0x10(%rax)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x30(%rbp)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     14ba <vde_chain_nm2+0x3ba>
movsd  -0x30(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,0x18(%rax)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     14db <vde_chain_nm2+0x3db>
movsd  -0x30(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,0x20(%rax)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     14fc <vde_chain_nm2+0x3fc>
movsd  -0x30(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,0x28(%rax)
mov    -0x10(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     1525 <vde_chain_nm2+0x425>
mov    -0x10(%rbp),%rax
mov    0x8(%rax),%rax
movsd  0x48(%rax),%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
jmp    1535 <vde_chain_nm2+0x435>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
jmp    1535 <vde_chain_nm2+0x435>
movsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x38(%rbp)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     1563 <vde_chain_nm2+0x463>
movsd  -0x38(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,0x30(%rax)
mov    -0x10(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     158c <vde_chain_nm2+0x48c>
mov    -0x10(%rbp),%rax
mov    0x8(%rax),%rax
movsd  0x50(%rax),%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
jmp    159c <vde_chain_nm2+0x49c>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
jmp    159c <vde_chain_nm2+0x49c>
movsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x38(%rbp)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     15ca <vde_chain_nm2+0x4ca>
movsd  -0x38(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,0x38(%rax)
mov    -0x10(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     15f3 <vde_chain_nm2+0x4f3>
mov    -0x10(%rbp),%rax
mov    0x8(%rax),%rax
movsd  0x58(%rax),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
jmp    1603 <vde_chain_nm2+0x503>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
jmp    1603 <vde_chain_nm2+0x503>
movsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0x38(%rbp)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     1631 <vde_chain_nm2+0x531>
movsd  -0x38(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,0x40(%rax)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     1652 <vde_chain_nm2+0x552>
movsd  -0x30(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,0x48(%rax)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     1673 <vde_chain_nm2+0x573>
movsd  -0x30(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,0x50(%rax)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     1694 <vde_chain_nm2+0x594>
movsd  -0x30(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,0x58(%rax)
mov    -0x10(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     16bd <vde_chain_nm2+0x5bd>
mov    -0x10(%rbp),%rax
mov    0x8(%rax),%rax
movsd  0x78(%rax),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
jmp    16cd <vde_chain_nm2+0x5cd>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
jmp    16cd <vde_chain_nm2+0x5cd>
movsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x38(%rbp)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     16fb <vde_chain_nm2+0x5fb>
movsd  -0x38(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,0x60(%rax)
mov    -0x10(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     1727 <vde_chain_nm2+0x627>
mov    -0x10(%rbp),%rax
mov    0x8(%rax),%rax
movsd  0x80(%rax),%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
jmp    1737 <vde_chain_nm2+0x637>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
jmp    1737 <vde_chain_nm2+0x637>
movsd  -0xb0(%rbp),%xmm0
ff
movsd  %xmm0,-0x38(%rbp)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     1765 <vde_chain_nm2+0x665>
movsd  -0x38(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,0x68(%rax)
mov    -0x10(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     1791 <vde_chain_nm2+0x691>
mov    -0x10(%rbp),%rax
mov    0x8(%rax),%rax
movsd  0x88(%rax),%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
jmp    17a1 <vde_chain_nm2+0x6a1>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
jmp    17a1 <vde_chain_nm2+0x6a1>
movsd  -0xb8(%rbp),%xmm0
ff
movsd  %xmm0,-0x38(%rbp)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     17cf <vde_chain_nm2+0x6cf>
movsd  -0x38(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,0x70(%rax)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     17f0 <vde_chain_nm2+0x6f0>
movsd  -0x30(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,0x78(%rax)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     1814 <vde_chain_nm2+0x714>
movsd  -0x30(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,0x80(%rax)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     1838 <vde_chain_nm2+0x738>
movsd  -0x30(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,0x88(%rax)
mov    -0x10(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     1864 <vde_chain_nm2+0x764>
mov    -0x10(%rbp),%rax
mov    0x8(%rax),%rax
movsd  0xa8(%rax),%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
jmp    1874 <vde_chain_nm2+0x774>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
jmp    1874 <vde_chain_nm2+0x774>
movsd  -0xc0(%rbp),%xmm0
ff
movsd  %xmm0,-0x38(%rbp)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     18a5 <vde_chain_nm2+0x7a5>
movsd  -0x38(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,0x90(%rax)
mov    -0x10(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     18d1 <vde_chain_nm2+0x7d1>
mov    -0x10(%rbp),%rax
mov    0x8(%rax),%rax
movsd  0xb0(%rax),%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
jmp    18e1 <vde_chain_nm2+0x7e1>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
jmp    18e1 <vde_chain_nm2+0x7e1>
movsd  -0xc8(%rbp),%xmm0
ff
movsd  %xmm0,-0x38(%rbp)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     1912 <vde_chain_nm2+0x812>
movsd  -0x38(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,0x98(%rax)
mov    -0x10(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     193e <vde_chain_nm2+0x83e>
mov    -0x10(%rbp),%rax
mov    0x8(%rax),%rax
movsd  0xb8(%rax),%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
jmp    194e <vde_chain_nm2+0x84e>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
jmp    194e <vde_chain_nm2+0x84e>
movsd  -0xd0(%rbp),%xmm0
ff
movsd  %xmm0,-0x38(%rbp)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     197f <vde_chain_nm2+0x87f>
movsd  -0x38(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,0xa0(%rax)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     19a3 <vde_chain_nm2+0x8a3>
movsd  -0x30(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,0xa8(%rax)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     19c7 <vde_chain_nm2+0x8c7>
movsd  -0x30(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,0xb0(%rax)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     19eb <vde_chain_nm2+0x8eb>
movsd  -0x30(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,0xb8(%rax)
mov    -0x10(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     1a17 <vde_chain_nm2+0x917>
mov    -0x10(%rbp),%rax
mov    0x8(%rax),%rax
movsd  0xd8(%rax),%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
jmp    1a27 <vde_chain_nm2+0x927>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
jmp    1a27 <vde_chain_nm2+0x927>
movsd  -0xd8(%rbp),%xmm0
ff
movsd  %xmm0,-0x38(%rbp)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     1a58 <vde_chain_nm2+0x958>
movsd  -0x38(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,0xc0(%rax)
mov    -0x10(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     1a84 <vde_chain_nm2+0x984>
mov    -0x10(%rbp),%rax
mov    0x8(%rax),%rax
movsd  0xe0(%rax),%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
jmp    1a94 <vde_chain_nm2+0x994>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
jmp    1a94 <vde_chain_nm2+0x994>
movsd  -0xe0(%rbp),%xmm0
ff
movsd  %xmm0,-0x38(%rbp)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     1ac5 <vde_chain_nm2+0x9c5>
movsd  -0x38(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,0xc8(%rax)
mov    -0x10(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     1af1 <vde_chain_nm2+0x9f1>
mov    -0x10(%rbp),%rax
mov    0x8(%rax),%rax
movsd  0xe8(%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
jmp    1b01 <vde_chain_nm2+0xa01>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
jmp    1b01 <vde_chain_nm2+0xa01>
movsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0x38(%rbp)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     1b32 <vde_chain_nm2+0xa32>
movsd  -0x38(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,0xd0(%rax)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     1b56 <vde_chain_nm2+0xa56>
movsd  -0x30(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,0xd8(%rax)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     1b7a <vde_chain_nm2+0xa7a>
movsd  -0x30(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,0xe0(%rax)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     1b9e <vde_chain_nm2+0xa9e>
movsd  -0x30(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,0xe8(%rax)
mov    -0x10(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     1bca <vde_chain_nm2+0xaca>
mov    -0x10(%rbp),%rax
mov    0x8(%rax),%rax
movsd  0x108(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
jmp    1bda <vde_chain_nm2+0xada>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
jmp    1bda <vde_chain_nm2+0xada>
movsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0x38(%rbp)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     1c0b <vde_chain_nm2+0xb0b>
movsd  -0x38(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,0xf0(%rax)
mov    -0x10(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     1c37 <vde_chain_nm2+0xb37>
mov    -0x10(%rbp),%rax
mov    0x8(%rax),%rax
movsd  0x110(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
jmp    1c47 <vde_chain_nm2+0xb47>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
jmp    1c47 <vde_chain_nm2+0xb47>
movsd  -0xf8(%rbp),%xmm0
ff
movsd  %xmm0,-0x38(%rbp)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     1c78 <vde_chain_nm2+0xb78>
movsd  -0x38(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,0xf8(%rax)
mov    -0x10(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     1ca4 <vde_chain_nm2+0xba4>
mov    -0x10(%rbp),%rax
mov    0x8(%rax),%rax
movsd  0x118(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
jmp    1cb4 <vde_chain_nm2+0xbb4>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
jmp    1cb4 <vde_chain_nm2+0xbb4>
movsd  -0x100(%rbp),%xmm0
ff
movsd  %xmm0,-0x38(%rbp)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     1ce5 <vde_chain_nm2+0xbe5>
movsd  -0x38(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,0x100(%rax)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     1d09 <vde_chain_nm2+0xc09>
movsd  -0x30(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,0x108(%rax)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     1d2d <vde_chain_nm2+0xc2d>
movsd  -0x30(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,0x110(%rax)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x8(%rax)
je     1d51 <vde_chain_nm2+0xc51>
movsd  -0x30(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%rax
movsd  %xmm0,0x118(%rax)
mov    -0x10(%rbp),%rax
cmpq   $0x0,0x10(%rax)
je     1d7a <vde_chain_nm2+0xc7a>
mov    -0x10(%rbp),%rax
mov    0x10(%rax),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x108(%rbp)
ff
jmp    1d8a <vde_chain_nm2+0xc8a>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x108(%rbp)
ff
jmp    1d8a <vde_chain_nm2+0xc8a>
movsd  -0x108(%rbp),%xmm0
ff
movsd  %xmm0,-0x38(%rbp)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x10(%rax)
je     1db7 <vde_chain_nm2+0xcb7>
movsd  -0x38(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x10(%rax),%rax
movsd  %xmm0,(%rax)
mov    -0x10(%rbp),%rax
cmpq   $0x0,0x10(%rax)
je     1de0 <vde_chain_nm2+0xce0>
mov    -0x10(%rbp),%rax
mov    0x10(%rax),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
jmp    1df0 <vde_chain_nm2+0xcf0>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
jmp    1df0 <vde_chain_nm2+0xcf0>
movsd  -0x110(%rbp),%xmm0
ff
movsd  %xmm0,-0x38(%rbp)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x10(%rax)
je     1e1e <vde_chain_nm2+0xd1e>
movsd  -0x38(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x10(%rax),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x10(%rbp),%rax
cmpq   $0x0,0x10(%rax)
je     1e47 <vde_chain_nm2+0xd47>
mov    -0x10(%rbp),%rax
mov    0x10(%rax),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
jmp    1e57 <vde_chain_nm2+0xd57>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
jmp    1e57 <vde_chain_nm2+0xd57>
movsd  -0x118(%rbp),%xmm0
ff
movsd  %xmm0,-0x38(%rbp)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x10(%rax)
je     1e85 <vde_chain_nm2+0xd85>
movsd  -0x38(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x10(%rax),%rax
movsd  %xmm0,0x10(%rax)
movsd  0x1173(%rip),%xmm0
movsd  %xmm0,-0x38(%rbp)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x10(%rax)
je     1eb3 <vde_chain_nm2+0xdb3>
movsd  -0x38(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x10(%rax),%rax
movsd  %xmm0,0x18(%rax)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x10(%rax)
je     1ed4 <vde_chain_nm2+0xdd4>
movsd  -0x30(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x10(%rax),%rax
movsd  %xmm0,0x20(%rax)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x10(%rax)
je     1ef5 <vde_chain_nm2+0xdf5>
movsd  -0x30(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x10(%rax),%rax
movsd  %xmm0,0x28(%rax)
mov    -0x10(%rbp),%rax
cmpq   $0x0,0x10(%rax)
je     1f1e <vde_chain_nm2+0xe1e>
mov    -0x10(%rbp),%rax
mov    0x10(%rax),%rax
movsd  0x48(%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
jmp    1f2e <vde_chain_nm2+0xe2e>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
jmp    1f2e <vde_chain_nm2+0xe2e>
movsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0x40(%rbp)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x10(%rax)
je     1f5c <vde_chain_nm2+0xe5c>
movsd  -0x40(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x10(%rax),%rax
movsd  %xmm0,0x30(%rax)
mov    -0x10(%rbp),%rax
cmpq   $0x0,0x10(%rax)
je     1f85 <vde_chain_nm2+0xe85>
mov    -0x10(%rbp),%rax
mov    0x10(%rax),%rax
movsd  0x50(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
jmp    1f95 <vde_chain_nm2+0xe95>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
jmp    1f95 <vde_chain_nm2+0xe95>
movsd  -0x128(%rbp),%xmm0
ff
movsd  %xmm0,-0x40(%rbp)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x10(%rax)
je     1fc3 <vde_chain_nm2+0xec3>
movsd  -0x40(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x10(%rax),%rax
movsd  %xmm0,0x38(%rax)
mov    -0x10(%rbp),%rax
cmpq   $0x0,0x10(%rax)
je     1fec <vde_chain_nm2+0xeec>
mov    -0x10(%rbp),%rax
mov    0x10(%rax),%rax
movsd  0x58(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
jmp    1ffc <vde_chain_nm2+0xefc>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
jmp    1ffc <vde_chain_nm2+0xefc>
movsd  -0x130(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x10(%rax)
je     202a <vde_chain_nm2+0xf2a>
movsd  -0x40(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x10(%rax),%rax
movsd  %xmm0,0x40(%rax)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x10(%rax)
je     204b <vde_chain_nm2+0xf4b>
movsd  -0x30(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x10(%rax),%rax
movsd  %xmm0,0x48(%rax)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x10(%rax)
je     206c <vde_chain_nm2+0xf6c>
movsd  -0x38(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x10(%rax),%rax
movsd  %xmm0,0x50(%rax)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x10(%rax)
je     208d <vde_chain_nm2+0xf8d>
movsd  -0x30(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x10(%rax),%rax
movsd  %xmm0,0x58(%rax)
mov    -0x10(%rbp),%rax
cmpq   $0x0,0x10(%rax)
je     20b6 <vde_chain_nm2+0xfb6>
mov    -0x10(%rbp),%rax
mov    0x10(%rax),%rax
movsd  0x78(%rax),%xmm0
movsd  %xmm0,-0x138(%rbp)
ff
jmp    20c6 <vde_chain_nm2+0xfc6>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x138(%rbp)
ff
jmp    20c6 <vde_chain_nm2+0xfc6>
movsd  -0x138(%rbp),%xmm0
ff
movsd  %xmm0,-0x40(%rbp)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x10(%rax)
je     20f4 <vde_chain_nm2+0xff4>
movsd  -0x40(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x10(%rax),%rax
movsd  %xmm0,0x60(%rax)
mov    -0x10(%rbp),%rax
cmpq   $0x0,0x10(%rax)
je     2120 <vde_chain_nm2+0x1020>
mov    -0x10(%rbp),%rax
mov    0x10(%rax),%rax
movsd  0x80(%rax),%xmm0
movsd  %xmm0,-0x140(%rbp)
ff
jmp    2130 <vde_chain_nm2+0x1030>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x140(%rbp)
ff
jmp    2130 <vde_chain_nm2+0x1030>
movsd  -0x140(%rbp),%xmm0
ff
movsd  %xmm0,-0x40(%rbp)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x10(%rax)
je     215e <vde_chain_nm2+0x105e>
movsd  -0x40(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x10(%rax),%rax
movsd  %xmm0,0x68(%rax)
mov    -0x10(%rbp),%rax
cmpq   $0x0,0x10(%rax)
je     218a <vde_chain_nm2+0x108a>
mov    -0x10(%rbp),%rax
mov    0x10(%rax),%rax
movsd  0x88(%rax),%xmm0
movsd  %xmm0,-0x148(%rbp)
ff
jmp    219a <vde_chain_nm2+0x109a>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x148(%rbp)
ff
jmp    219a <vde_chain_nm2+0x109a>
movsd  -0x148(%rbp),%xmm0
ff
movsd  %xmm0,-0x40(%rbp)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x10(%rax)
je     21c8 <vde_chain_nm2+0x10c8>
movsd  -0x40(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x10(%rax),%rax
movsd  %xmm0,0x70(%rax)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x10(%rax)
je     21e9 <vde_chain_nm2+0x10e9>
movsd  -0x30(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x10(%rax),%rax
movsd  %xmm0,0x78(%rax)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x10(%rax)
je     220d <vde_chain_nm2+0x110d>
movsd  -0x30(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x10(%rax),%rax
movsd  %xmm0,0x80(%rax)
mov    -0x18(%rbp),%rax
cmpq   $0x0,0x10(%rax)
je     2231 <vde_chain_nm2+0x1131>
movsd  -0x38(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    0x10(%rax),%rax
movsd  %xmm0,0x88(%rax)
xor    %eax,%eax
add    $0xc8,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<vde_chain_nm2>:
mov    (%rsi),%rcx
test   %rcx,%rcx
je     110f <vde_chain_nm2+0xf>
movsd  0x18(%rcx),%xmm0
jmp    1112 <vde_chain_nm2+0x12>
xorps  %xmm0,%xmm0
mov    (%rdx),%rax
test   %rax,%rax
je     111e <vde_chain_nm2+0x1e>
movsd  %xmm0,(%rax)
test   %rcx,%rcx
je     1195 <vde_chain_nm2+0x95>
movsd  0x20(%rcx),%xmm0
test   %rax,%rax
je     1132 <vde_chain_nm2+0x32>
movsd  %xmm0,0x8(%rax)
test   %rcx,%rcx
je     119f <vde_chain_nm2+0x9f>
movsd  0x28(%rcx),%xmm0
test   %rax,%rax
je     1146 <vde_chain_nm2+0x46>
movsd  %xmm0,0x10(%rax)
mov    0x18(%rsi),%rcx
test   %rcx,%rcx
je     11a9 <vde_chain_nm2+0xa9>
movsd  (%rcx),%xmm0
test   %rax,%rax
je     115d <vde_chain_nm2+0x5d>
movsd  %xmm0,0x18(%rax)
test   %rcx,%rcx
je     11b3 <vde_chain_nm2+0xb3>
movsd  0x8(%rcx),%xmm0
test   %rax,%rax
je     1171 <vde_chain_nm2+0x71>
movsd  %xmm0,0x20(%rax)
test   %rcx,%rcx
je     11bd <vde_chain_nm2+0xbd>
movsd  0x10(%rcx),%xmm0
test   %rax,%rax
je     1185 <vde_chain_nm2+0x85>
movsd  %xmm0,0x28(%rax)
mov    0x8(%rsi),%rcx
test   %rcx,%rcx
je     11c7 <vde_chain_nm2+0xc7>
movsd  0x18(%rcx),%xmm0
jmp    11ca <vde_chain_nm2+0xca>
xorps  %xmm0,%xmm0
test   %rax,%rax
jne    112d <vde_chain_nm2+0x2d>
jmp    1132 <vde_chain_nm2+0x32>
xorps  %xmm0,%xmm0
test   %rax,%rax
jne    1141 <vde_chain_nm2+0x41>
jmp    1146 <vde_chain_nm2+0x46>
xorps  %xmm0,%xmm0
test   %rax,%rax
jne    1158 <vde_chain_nm2+0x58>
jmp    115d <vde_chain_nm2+0x5d>
xorps  %xmm0,%xmm0
test   %rax,%rax
jne    116c <vde_chain_nm2+0x6c>
jmp    1171 <vde_chain_nm2+0x71>
xorps  %xmm0,%xmm0
test   %rax,%rax
jne    1180 <vde_chain_nm2+0x80>
jmp    1185 <vde_chain_nm2+0x85>
xorps  %xmm0,%xmm0
mov    0x8(%rdx),%rax
test   %rax,%rax
je     11d7 <vde_chain_nm2+0xd7>
movsd  %xmm0,(%rax)
test   %rcx,%rcx
je     1431 <vde_chain_nm2+0x331>
movsd  0x20(%rcx),%xmm0
test   %rax,%rax
je     11ef <vde_chain_nm2+0xef>
movsd  %xmm0,0x8(%rax)
test   %rcx,%rcx
je     1442 <vde_chain_nm2+0x342>
movsd  0x28(%rcx),%xmm0
test   %rax,%rax
je     1216 <vde_chain_nm2+0x116>
movsd  %xmm0,0x10(%rax)
xorps  %xmm0,%xmm0
movups %xmm0,0x18(%rax)
movq   $0x0,0x28(%rax)
test   %rcx,%rcx
je     1453 <vde_chain_nm2+0x353>
movsd  0x48(%rcx),%xmm0
test   %rax,%rax
je     122e <vde_chain_nm2+0x12e>
movsd  %xmm0,0x30(%rax)
test   %rcx,%rcx
je     1464 <vde_chain_nm2+0x364>
movsd  0x50(%rcx),%xmm0
test   %rax,%rax
je     1246 <vde_chain_nm2+0x146>
movsd  %xmm0,0x38(%rax)
test   %rcx,%rcx
je     1475 <vde_chain_nm2+0x375>
movsd  0x58(%rcx),%xmm0
test   %rax,%rax
je     126d <vde_chain_nm2+0x16d>
movsd  %xmm0,0x40(%rax)
xorps  %xmm0,%xmm0
movups %xmm0,0x48(%rax)
movq   $0x0,0x58(%rax)
test   %rcx,%rcx
je     1486 <vde_chain_nm2+0x386>
movsd  0x78(%rcx),%xmm0
test   %rax,%rax
je     1285 <vde_chain_nm2+0x185>
movsd  %xmm0,0x60(%rax)
test   %rcx,%rcx
je     1497 <vde_chain_nm2+0x397>
movsd  0x80(%rcx),%xmm0
test   %rax,%rax
je     12a0 <vde_chain_nm2+0x1a0>
movsd  %xmm0,0x68(%rax)
test   %rcx,%rcx
je     14a8 <vde_chain_nm2+0x3a8>
movsd  0x88(%rcx),%xmm0
test   %rax,%rax
je     12cd <vde_chain_nm2+0x1cd>
movsd  %xmm0,0x70(%rax)
xorps  %xmm0,%xmm0
movups %xmm0,0x78(%rax)
movq   $0x0,0x88(%rax)
test   %rcx,%rcx
je     14b9 <vde_chain_nm2+0x3b9>
movsd  0xa8(%rcx),%xmm0
test   %rax,%rax
je     12eb <vde_chain_nm2+0x1eb>
movsd  %xmm0,0x90(%rax)
test   %rcx,%rcx
je     14ca <vde_chain_nm2+0x3ca>
movsd  0xb0(%rcx),%xmm0
test   %rax,%rax
je     1309 <vde_chain_nm2+0x209>
movsd  %xmm0,0x98(%rax)
test   %rcx,%rcx
je     14db <vde_chain_nm2+0x3db>
movsd  0xb8(%rcx),%xmm0
test   %rax,%rax
je     133c <vde_chain_nm2+0x23c>
movsd  %xmm0,0xa0(%rax)
xorps  %xmm0,%xmm0
movups %xmm0,0xa8(%rax)
movq   $0x0,0xb8(%rax)
test   %rcx,%rcx
je     14ec <vde_chain_nm2+0x3ec>
movsd  0xd8(%rcx),%xmm0
test   %rax,%rax
je     135a <vde_chain_nm2+0x25a>
movsd  %xmm0,0xc0(%rax)
test   %rcx,%rcx
je     14fd <vde_chain_nm2+0x3fd>
movsd  0xe0(%rcx),%xmm0
test   %rax,%rax
je     1378 <vde_chain_nm2+0x278>
movsd  %xmm0,0xc8(%rax)
test   %rcx,%rcx
je     150e <vde_chain_nm2+0x40e>
movsd  0xe8(%rcx),%xmm0
test   %rax,%rax
je     13ab <vde_chain_nm2+0x2ab>
movsd  %xmm0,0xd0(%rax)
xorps  %xmm0,%xmm0
movups %xmm0,0xd8(%rax)
movq   $0x0,0xe8(%rax)
test   %rcx,%rcx
je     151f <vde_chain_nm2+0x41f>
movsd  0x108(%rcx),%xmm0
test   %rax,%rax
je     13c9 <vde_chain_nm2+0x2c9>
movsd  %xmm0,0xf0(%rax)
test   %rcx,%rcx
je     1530 <vde_chain_nm2+0x430>
movsd  0x110(%rcx),%xmm0
test   %rax,%rax
je     13e7 <vde_chain_nm2+0x2e7>
movsd  %xmm0,0xf8(%rax)
test   %rcx,%rcx
je     1541 <vde_chain_nm2+0x441>
movsd  0x118(%rcx),%xmm0
test   %rax,%rax
je     141a <vde_chain_nm2+0x31a>
movsd  %xmm0,0x100(%rax)
xorps  %xmm0,%xmm0
movups %xmm0,0x108(%rax)
movq   $0x0,0x118(%rax)
mov    0x10(%rsi),%rcx
test   %rcx,%rcx
je     1552 <vde_chain_nm2+0x452>
movsd  0x18(%rcx),%xmm0
jmp    1555 <vde_chain_nm2+0x455>
xorps  %xmm0,%xmm0
test   %rax,%rax
jne    11ea <vde_chain_nm2+0xea>
jmp    11ef <vde_chain_nm2+0xef>
xorps  %xmm0,%xmm0
test   %rax,%rax
jne    1202 <vde_chain_nm2+0x102>
jmp    1216 <vde_chain_nm2+0x116>
xorps  %xmm0,%xmm0
test   %rax,%rax
jne    1229 <vde_chain_nm2+0x129>
jmp    122e <vde_chain_nm2+0x12e>
xorps  %xmm0,%xmm0
test   %rax,%rax
jne    1241 <vde_chain_nm2+0x141>
jmp    1246 <vde_chain_nm2+0x146>
xorps  %xmm0,%xmm0
test   %rax,%rax
jne    1259 <vde_chain_nm2+0x159>
jmp    126d <vde_chain_nm2+0x16d>
xorps  %xmm0,%xmm0
test   %rax,%rax
jne    1280 <vde_chain_nm2+0x180>
jmp    1285 <vde_chain_nm2+0x185>
xorps  %xmm0,%xmm0
test   %rax,%rax
jne    129b <vde_chain_nm2+0x19b>
jmp    12a0 <vde_chain_nm2+0x1a0>
xorps  %xmm0,%xmm0
test   %rax,%rax
jne    12b6 <vde_chain_nm2+0x1b6>
jmp    12cd <vde_chain_nm2+0x1cd>
xorps  %xmm0,%xmm0
test   %rax,%rax
jne    12e3 <vde_chain_nm2+0x1e3>
jmp    12eb <vde_chain_nm2+0x1eb>
xorps  %xmm0,%xmm0
test   %rax,%rax
jne    1301 <vde_chain_nm2+0x201>
jmp    1309 <vde_chain_nm2+0x209>
xorps  %xmm0,%xmm0
test   %rax,%rax
jne    131f <vde_chain_nm2+0x21f>
jmp    133c <vde_chain_nm2+0x23c>
xorps  %xmm0,%xmm0
test   %rax,%rax
jne    1352 <vde_chain_nm2+0x252>
jmp    135a <vde_chain_nm2+0x25a>
xorps  %xmm0,%xmm0
test   %rax,%rax
jne    1370 <vde_chain_nm2+0x270>
jmp    1378 <vde_chain_nm2+0x278>
xorps  %xmm0,%xmm0
test   %rax,%rax
jne    138e <vde_chain_nm2+0x28e>
jmp    13ab <vde_chain_nm2+0x2ab>
xorps  %xmm0,%xmm0
test   %rax,%rax
jne    13c1 <vde_chain_nm2+0x2c1>
jmp    13c9 <vde_chain_nm2+0x2c9>
xorps  %xmm0,%xmm0
test   %rax,%rax
jne    13df <vde_chain_nm2+0x2df>
jmp    13e7 <vde_chain_nm2+0x2e7>
xorps  %xmm0,%xmm0
test   %rax,%rax
jne    13fd <vde_chain_nm2+0x2fd>
jmp    141a <vde_chain_nm2+0x31a>
xorps  %xmm0,%xmm0
mov    0x10(%rdx),%rax
test   %rax,%rax
je     1562 <vde_chain_nm2+0x462>
movsd  %xmm0,(%rax)
test   %rcx,%rcx
je     1582 <vde_chain_nm2+0x482>
movsd  0x20(%rcx),%xmm0
test   %rax,%rax
je     1576 <vde_chain_nm2+0x476>
movsd  %xmm0,0x8(%rax)
test   %rcx,%rcx
je     158c <vde_chain_nm2+0x48c>
movsd  0x28(%rcx),%xmm0
jmp    158f <vde_chain_nm2+0x48f>
xorps  %xmm0,%xmm0
test   %rax,%rax
jne    1571 <vde_chain_nm2+0x471>
jmp    1576 <vde_chain_nm2+0x476>
xorps  %xmm0,%xmm0
movabs $0x3ff0000000000000,%rdx
test   %rax,%rax
je     15ae <vde_chain_nm2+0x4ae>
movsd  %xmm0,0x10(%rax)
mov    %rdx,0x18(%rax)
xorps  %xmm0,%xmm0
movups %xmm0,0x20(%rax)
test   %rcx,%rcx
je     1663 <vde_chain_nm2+0x563>
movsd  0x48(%rcx),%xmm0
test   %rax,%rax
je     15c6 <vde_chain_nm2+0x4c6>
movsd  %xmm0,0x30(%rax)
test   %rcx,%rcx
je     1674 <vde_chain_nm2+0x574>
movsd  0x50(%rcx),%xmm0
test   %rax,%rax
je     15de <vde_chain_nm2+0x4de>
movsd  %xmm0,0x38(%rax)
test   %rcx,%rcx
je     1685 <vde_chain_nm2+0x585>
movsd  0x58(%rcx),%xmm0
test   %rax,%rax
je     160c <vde_chain_nm2+0x50c>
movsd  %xmm0,0x40(%rax)
xorps  %xmm0,%xmm0
movhps 0xa00(%rip),%xmm0
movups %xmm0,0x48(%rax)
movq   $0x0,0x58(%rax)
test   %rcx,%rcx
je     1696 <vde_chain_nm2+0x596>
movsd  0x78(%rcx),%xmm0
test   %rax,%rax
je     1624 <vde_chain_nm2+0x524>
movsd  %xmm0,0x60(%rax)
test   %rcx,%rcx
je     16a0 <vde_chain_nm2+0x5a0>
movsd  0x80(%rcx),%xmm0
test   %rax,%rax
je     163b <vde_chain_nm2+0x53b>
movsd  %xmm0,0x68(%rax)
test   %rcx,%rcx
je     16aa <vde_chain_nm2+0x5aa>
movsd  0x88(%rcx),%xmm0
test   %rax,%rax
je     1660 <vde_chain_nm2+0x560>
movsd  %xmm0,0x70(%rax)
xorps  %xmm0,%xmm0
movups %xmm0,0x78(%rax)
mov    %rdx,0x88(%rax)
xor    %eax,%eax
ret
xorps  %xmm0,%xmm0
test   %rax,%rax
jne    15c1 <vde_chain_nm2+0x4c1>
jmp    15c6 <vde_chain_nm2+0x4c6>
xorps  %xmm0,%xmm0
test   %rax,%rax
jne    15d9 <vde_chain_nm2+0x4d9>
jmp    15de <vde_chain_nm2+0x4de>
xorps  %xmm0,%xmm0
test   %rax,%rax
jne    15f1 <vde_chain_nm2+0x4f1>
jmp    160c <vde_chain_nm2+0x50c>
xorps  %xmm0,%xmm0
test   %rax,%rax
jne    161f <vde_chain_nm2+0x51f>
jmp    1624 <vde_chain_nm2+0x524>
xorps  %xmm0,%xmm0
test   %rax,%rax
jne    1636 <vde_chain_nm2+0x536>
jmp    163b <vde_chain_nm2+0x53b>
xorps  %xmm0,%xmm0
test   %rax,%rax
jne    164d <vde_chain_nm2+0x54d>
jmp    1660 <vde_chain_nm2+0x560>

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

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