int main(int argc, char *argv[]) {
  __attribute__((vector_size((4) * sizeof(float)))) float f0 = {1., 2., 3., 4.};
  __attribute__((vector_size((4) * sizeof(float)))) float f1, f2;
  __attribute__((vector_size((2) * sizeof(double)))) double d0 = {1., 2.};
  __attribute__((vector_size((2) * sizeof(double)))) double d1, d2;
  f1 = 2 + f0;
  f2 = (__attribute__((vector_size((4) * sizeof(float)))) float){2., 2., 2.,
                                                                 2.} +
       f0;
  do {
    int __i;
    for (__i = 0; __i < 4; __i++) {
      if ((*((float *)&(f1) + __i)) != (*((float *)&(f2) + __i)))
        __builtin_abort();
    }
  } while (0);
  f1 = 2 - f0;
  f2 = (__attribute__((vector_size((4) * sizeof(float)))) float){2., 2., 2.,
                                                                 2.} -
       f0;
  do {
    int __i;
    for (__i = 0; __i < 4; __i++) {
      if ((*((float *)&(f1) + __i)) != (*((float *)&(f2) + __i)))
        __builtin_abort();
    }
  } while (0);
  f1 = 2 * f0;
  f2 = (__attribute__((vector_size((4) * sizeof(float)))) float){2., 2., 2.,
                                                                 2.} *
       f0;
  do {
    int __i;
    for (__i = 0; __i < 4; __i++) {
      if ((*((float *)&(f1) + __i)) != (*((float *)&(f2) + __i)))
        __builtin_abort();
    }
  } while (0);
  f1 = 2 / f0;
  f2 = (__attribute__((vector_size((4) * sizeof(float)))) float){2., 2., 2.,
                                                                 2.} /
       f0;
  do {
    int __i;
    for (__i = 0; __i < 4; __i++) {
      if ((*((float *)&(f1) + __i)) != (*((float *)&(f2) + __i)))
        __builtin_abort();
    }
  } while (0);
  f1 = f0 + 2;
  f2 = f0 + (__attribute__((vector_size((4) * sizeof(float)))) float){2., 2.,
                                                                      2., 2.};
  do {
    int __i;
    for (__i = 0; __i < 4; __i++) {
      if ((*((float *)&(f1) + __i)) != (*((float *)&(f2) + __i)))
        __builtin_abort();
    }
  } while (0);
  f1 = f0 - 2;
  f2 = f0 - (__attribute__((vector_size((4) * sizeof(float)))) float){2., 2.,
                                                                      2., 2.};
  do {
    int __i;
    for (__i = 0; __i < 4; __i++) {
      if ((*((float *)&(f1) + __i)) != (*((float *)&(f2) + __i)))
        __builtin_abort();
    }
  } while (0);
  f1 = f0 * 2;
  f2 = f0 * (__attribute__((vector_size((4) * sizeof(float)))) float){2., 2.,
                                                                      2., 2.};
  do {
    int __i;
    for (__i = 0; __i < 4; __i++) {
      if ((*((float *)&(f1) + __i)) != (*((float *)&(f2) + __i)))
        __builtin_abort();
    }
  } while (0);
  f1 = f0 / 2;
  f2 = f0 / (__attribute__((vector_size((4) * sizeof(float)))) float){2., 2.,
                                                                      2., 2.};
  do {
    int __i;
    for (__i = 0; __i < 4; __i++) {
      if ((*((float *)&(f1) + __i)) != (*((float *)&(f2) + __i)))
        __builtin_abort();
    }
  } while (0);
  d1 = 2 + d0;
  d2 = (__attribute__((vector_size((2) * sizeof(double)))) double){2., 2.} + d0;
  do {
    int __i;
    for (__i = 0; __i < 2; __i++) {
      if ((*((double *)&(d1) + __i)) != (*((double *)&(d2) + __i)))
        __builtin_abort();
    }
  } while (0);
  d1 = 2 - d0;
  d2 = (__attribute__((vector_size((2) * sizeof(double)))) double){2., 2.} - d0;
  do {
    int __i;
    for (__i = 0; __i < 2; __i++) {
      if ((*((double *)&(d1) + __i)) != (*((double *)&(d2) + __i)))
        __builtin_abort();
    }
  } while (0);
  d1 = 2 * d0;
  d2 = (__attribute__((vector_size((2) * sizeof(double)))) double){2., 2.} * d0;
  do {
    int __i;
    for (__i = 0; __i < 2; __i++) {
      if ((*((double *)&(d1) + __i)) != (*((double *)&(d2) + __i)))
        __builtin_abort();
    }
  } while (0);
  d1 = 2 / d0;
  d2 = (__attribute__((vector_size((2) * sizeof(double)))) double){2., 2.} / d0;
  do {
    int __i;
    for (__i = 0; __i < 2; __i++) {
      if ((*((double *)&(d1) + __i)) != (*((double *)&(d2) + __i)))
        __builtin_abort();
    }
  } while (0);
  d1 = d0 + 2;
  d2 = d0 + (__attribute__((vector_size((2) * sizeof(double)))) double){2., 2.};
  do {
    int __i;
    for (__i = 0; __i < 2; __i++) {
      if ((*((double *)&(d1) + __i)) != (*((double *)&(d2) + __i)))
        __builtin_abort();
    }
  } while (0);
  d1 = d0 - 2;
  d2 = d0 - (__attribute__((vector_size((2) * sizeof(double)))) double){2., 2.};
  do {
    int __i;
    for (__i = 0; __i < 2; __i++) {
      if ((*((double *)&(d1) + __i)) != (*((double *)&(d2) + __i)))
        __builtin_abort();
    }
  } while (0);
  d1 = d0 * 2;
  d2 = d0 * (__attribute__((vector_size((2) * sizeof(double)))) double){2., 2.};
  do {
    int __i;
    for (__i = 0; __i < 2; __i++) {
      if ((*((double *)&(d1) + __i)) != (*((double *)&(d2) + __i)))
        __builtin_abort();
    }
  } while (0);
  d1 = d0 / 2;
  d2 = d0 / (__attribute__((vector_size((2) * sizeof(double)))) double){2., 2.};
  do {
    int __i;
    for (__i = 0; __i < 2; __i++) {
      if ((*((double *)&(d1) + __i)) != (*((double *)&(d2) + __i)))
        __builtin_abort();
    }
  } while (0);
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x270,%rsp
movl   $0x0,-0x4(%rbp)
mov    %edi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
movaps 0xed0(%rip),%xmm0
movaps %xmm0,-0x20(%rbp)
movapd 0xed4(%rip),%xmm0
movapd %xmm0,-0x50(%rbp)
movaps -0x20(%rbp),%xmm1
movaps 0xed4(%rip),%xmm0
addps  %xmm0,%xmm1
movaps %xmm1,-0x30(%rbp)
movaps %xmm0,-0x80(%rbp)
movaps -0x80(%rbp),%xmm0
addps  -0x20(%rbp),%xmm0
movaps %xmm0,-0x40(%rbp)
movl   $0x0,-0x84(%rbp)
cmpl   $0x4,-0x84(%rbp)
jge    11c2 <main+0xb2>
movslq -0x84(%rbp),%rax
movss  -0x30(%rbp,%rax,4),%xmm0
movslq -0x84(%rbp),%rax
ucomiss -0x40(%rbp,%rax,4),%xmm0
jne    11a4 <main+0x94>
jp     11a4 <main+0x94>
jmp    11a9 <main+0x99>
call   1030 <abort@plt>
jmp    11ae <main+0x9e>
mov    -0x84(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x84(%rbp)
jmp    116d <main+0x5d>
jmp    11c7 <main+0xb7>
movaps -0x20(%rbp),%xmm2
movaps 0xe4e(%rip),%xmm0
movaps %xmm0,%xmm1
subps  %xmm2,%xmm1
movaps %xmm1,-0x30(%rbp)
movaps %xmm0,-0xa0(%rbp)
movaps -0xa0(%rbp),%xmm0
subps  -0x20(%rbp),%xmm0
movaps %xmm0,-0x40(%rbp)
movl   $0x0,-0xa4(%rbp)
cmpl   $0x4,-0xa4(%rbp)
jge    1251 <main+0x141>
movslq -0xa4(%rbp),%rax
movss  -0x30(%rbp,%rax,4),%xmm0
movslq -0xa4(%rbp),%rax
ucomiss -0x40(%rbp,%rax,4),%xmm0
jne    1233 <main+0x123>
jp     1233 <main+0x123>
jmp    1238 <main+0x128>
call   1030 <abort@plt>
jmp    123d <main+0x12d>
mov    -0xa4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xa4(%rbp)
jmp    11fc <main+0xec>
jmp    1256 <main+0x146>
movaps -0x20(%rbp),%xmm1
addps  %xmm1,%xmm1
movaps 0xdbc(%rip),%xmm0
movaps %xmm1,-0x30(%rbp)
movaps %xmm0,-0xc0(%rbp)
movaps -0xc0(%rbp),%xmm0
mulps  -0x20(%rbp),%xmm0
movaps %xmm0,-0x40(%rbp)
movl   $0x0,-0xc4(%rbp)
cmpl   $0x4,-0xc4(%rbp)
jge    12dd <main+0x1cd>
movslq -0xc4(%rbp),%rax
movss  -0x30(%rbp,%rax,4),%xmm0
movslq -0xc4(%rbp),%rax
ucomiss -0x40(%rbp,%rax,4),%xmm0
jne    12bf <main+0x1af>
jp     12bf <main+0x1af>
jmp    12c4 <main+0x1b4>
call   1030 <abort@plt>
jmp    12c9 <main+0x1b9>
mov    -0xc4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc4(%rbp)
jmp    1288 <main+0x178>
jmp    12e2 <main+0x1d2>
movaps -0x20(%rbp),%xmm2
movaps 0xd33(%rip),%xmm0
movaps %xmm0,%xmm1
divps  %xmm2,%xmm1
movaps %xmm1,-0x30(%rbp)
movaps %xmm0,-0xe0(%rbp)
movaps -0xe0(%rbp),%xmm0
divps  -0x20(%rbp),%xmm0
movaps %xmm0,-0x40(%rbp)
movl   $0x0,-0xe4(%rbp)
cmpl   $0x4,-0xe4(%rbp)
jge    136c <main+0x25c>
movslq -0xe4(%rbp),%rax
movss  -0x30(%rbp,%rax,4),%xmm0
movslq -0xe4(%rbp),%rax
ucomiss -0x40(%rbp,%rax,4),%xmm0
jne    134e <main+0x23e>
jp     134e <main+0x23e>
jmp    1353 <main+0x243>
call   1030 <abort@plt>
jmp    1358 <main+0x248>
mov    -0xe4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xe4(%rbp)
jmp    1317 <main+0x207>
jmp    1371 <main+0x261>
movaps -0x20(%rbp),%xmm0
movaps 0xca4(%rip),%xmm1
addps  %xmm1,%xmm0
movaps %xmm0,-0x30(%rbp)
movaps -0x20(%rbp),%xmm0
movaps %xmm1,-0x100(%rbp)
addps  -0x100(%rbp),%xmm0
movaps %xmm0,-0x40(%rbp)
movl   $0x0,-0x104(%rbp)
cmpl   $0x4,-0x104(%rbp)
jge    13f8 <main+0x2e8>
movslq -0x104(%rbp),%rax
movss  -0x30(%rbp,%rax,4),%xmm0
movslq -0x104(%rbp),%rax
ucomiss -0x40(%rbp,%rax,4),%xmm0
jne    13da <main+0x2ca>
jp     13da <main+0x2ca>
jmp    13df <main+0x2cf>
call   1030 <abort@plt>
jmp    13e4 <main+0x2d4>
mov    -0x104(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x104(%rbp)
jmp    13a3 <main+0x293>
jmp    13fd <main+0x2ed>
movaps -0x20(%rbp),%xmm0
movaps 0xc18(%rip),%xmm1
subps  %xmm1,%xmm0
movaps %xmm0,-0x30(%rbp)
movaps -0x20(%rbp),%xmm0
movaps %xmm1,-0x120(%rbp)
subps  -0x120(%rbp),%xmm0
movaps %xmm0,-0x40(%rbp)
movl   $0x0,-0x124(%rbp)
cmpl   $0x4,-0x124(%rbp)
jge    1484 <main+0x374>
movslq -0x124(%rbp),%rax
movss  -0x30(%rbp,%rax,4),%xmm0
movslq -0x124(%rbp),%rax
ucomiss -0x40(%rbp,%rax,4),%xmm0
jne    1466 <main+0x356>
jp     1466 <main+0x356>
jmp    146b <main+0x35b>
call   1030 <abort@plt>
jmp    1470 <main+0x360>
mov    -0x124(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x124(%rbp)
jmp    142f <main+0x31f>
jmp    1489 <main+0x379>
movaps -0x20(%rbp),%xmm0
addps  %xmm0,%xmm0
movaps 0xb89(%rip),%xmm1
movaps %xmm0,-0x30(%rbp)
movaps -0x20(%rbp),%xmm0
movaps %xmm1,-0x140(%rbp)
mulps  -0x140(%rbp),%xmm0
movaps %xmm0,-0x40(%rbp)
movl   $0x0,-0x144(%rbp)
cmpl   $0x4,-0x144(%rbp)
jge    1510 <main+0x400>
movslq -0x144(%rbp),%rax
movss  -0x30(%rbp,%rax,4),%xmm0
movslq -0x144(%rbp),%rax
ucomiss -0x40(%rbp,%rax,4),%xmm0
jne    14f2 <main+0x3e2>
jp     14f2 <main+0x3e2>
jmp    14f7 <main+0x3e7>
call   1030 <abort@plt>
jmp    14fc <main+0x3ec>
mov    -0x144(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x144(%rbp)
jmp    14bb <main+0x3ab>
jmp    1515 <main+0x405>
movaps -0x20(%rbp),%xmm0
movaps 0xb00(%rip),%xmm1
divps  %xmm1,%xmm0
movaps %xmm0,-0x30(%rbp)
movaps -0x20(%rbp),%xmm0
movaps %xmm1,-0x160(%rbp)
divps  -0x160(%rbp),%xmm0
movaps %xmm0,-0x40(%rbp)
movl   $0x0,-0x164(%rbp)
cmpl   $0x4,-0x164(%rbp)
jge    159c <main+0x48c>
movslq -0x164(%rbp),%rax
movss  -0x30(%rbp,%rax,4),%xmm0
movslq -0x164(%rbp),%rax
ucomiss -0x40(%rbp,%rax,4),%xmm0
jne    157e <main+0x46e>
jp     157e <main+0x46e>
jmp    1583 <main+0x473>
call   1030 <abort@plt>
jmp    1588 <main+0x478>
mov    -0x164(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x164(%rbp)
jmp    1547 <main+0x437>
jmp    15a1 <main+0x491>
movapd -0x50(%rbp),%xmm1
movapd 0xa82(%rip),%xmm0
addpd  %xmm0,%xmm1
movapd %xmm1,-0x60(%rbp)
movapd %xmm0,-0x180(%rbp)
ff
movapd -0x180(%rbp),%xmm0
ff
addpd  -0x50(%rbp),%xmm0
movapd %xmm0,-0x70(%rbp)
movl   $0x0,-0x184(%rbp)
cmpl   $0x2,-0x184(%rbp)
jge    1631 <main+0x521>
movslq -0x184(%rbp),%rax
movsd  -0x60(%rbp,%rax,8),%xmm0
movslq -0x184(%rbp),%rax
ucomisd -0x70(%rbp,%rax,8),%xmm0
jne    1613 <main+0x503>
jp     1613 <main+0x503>
jmp    1618 <main+0x508>
call   1030 <abort@plt>
jmp    161d <main+0x50d>
mov    -0x184(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x184(%rbp)
jmp    15db <main+0x4cb>
jmp    1636 <main+0x526>
movapd -0x50(%rbp),%xmm2
movapd 0x9ed(%rip),%xmm0
movaps %xmm0,%xmm1
subpd  %xmm2,%xmm1
movapd %xmm1,-0x60(%rbp)
movapd %xmm0,-0x1a0(%rbp)
ff
movapd -0x1a0(%rbp),%xmm0
ff
subpd  -0x50(%rbp),%xmm0
movapd %xmm0,-0x70(%rbp)
movl   $0x0,-0x1a4(%rbp)
cmpl   $0x2,-0x1a4(%rbp)
jge    16c9 <main+0x5b9>
movslq -0x1a4(%rbp),%rax
movsd  -0x60(%rbp,%rax,8),%xmm0
movslq -0x1a4(%rbp),%rax
ucomisd -0x70(%rbp,%rax,8),%xmm0
jne    16ab <main+0x59b>
jp     16ab <main+0x59b>
jmp    16b0 <main+0x5a0>
call   1030 <abort@plt>
jmp    16b5 <main+0x5a5>
mov    -0x1a4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1a4(%rbp)
jmp    1673 <main+0x563>
jmp    16ce <main+0x5be>
movapd -0x50(%rbp),%xmm1
addpd  %xmm1,%xmm1
movapd 0x951(%rip),%xmm0
movapd %xmm1,-0x60(%rbp)
movapd %xmm0,-0x1c0(%rbp)
ff
movapd -0x1c0(%rbp),%xmm0
ff
mulpd  -0x50(%rbp),%xmm0
movapd %xmm0,-0x70(%rbp)
movl   $0x0,-0x1c4(%rbp)
cmpl   $0x2,-0x1c4(%rbp)
jge    175e <main+0x64e>
movslq -0x1c4(%rbp),%rax
movsd  -0x60(%rbp,%rax,8),%xmm0
movslq -0x1c4(%rbp),%rax
ucomisd -0x70(%rbp,%rax,8),%xmm0
jne    1740 <main+0x630>
jp     1740 <main+0x630>
jmp    1745 <main+0x635>
call   1030 <abort@plt>
jmp    174a <main+0x63a>
mov    -0x1c4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1c4(%rbp)
jmp    1708 <main+0x5f8>
jmp    1763 <main+0x653>
movapd -0x50(%rbp),%xmm2
movapd 0x8c0(%rip),%xmm0
movaps %xmm0,%xmm1
divpd  %xmm2,%xmm1
movapd %xmm1,-0x60(%rbp)
movapd %xmm0,-0x1e0(%rbp)
ff
movapd -0x1e0(%rbp),%xmm0
ff
divpd  -0x50(%rbp),%xmm0
movapd %xmm0,-0x70(%rbp)
movl   $0x0,-0x1e4(%rbp)
cmpl   $0x2,-0x1e4(%rbp)
jge    17f6 <main+0x6e6>
movslq -0x1e4(%rbp),%rax
movsd  -0x60(%rbp,%rax,8),%xmm0
movslq -0x1e4(%rbp),%rax
ucomisd -0x70(%rbp,%rax,8),%xmm0
jne    17d8 <main+0x6c8>
jp     17d8 <main+0x6c8>
jmp    17dd <main+0x6cd>
call   1030 <abort@plt>
jmp    17e2 <main+0x6d2>
mov    -0x1e4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1e4(%rbp)
jmp    17a0 <main+0x690>
jmp    17fb <main+0x6eb>
movapd -0x50(%rbp),%xmm0
movapd 0x828(%rip),%xmm1
addpd  %xmm1,%xmm0
movapd %xmm0,-0x60(%rbp)
movapd -0x50(%rbp),%xmm0
movapd %xmm1,-0x200(%rbp)
ff
addpd  -0x200(%rbp),%xmm0
ff
movapd %xmm0,-0x70(%rbp)
movl   $0x0,-0x204(%rbp)
cmpl   $0x2,-0x204(%rbp)
jge    188b <main+0x77b>
movslq -0x204(%rbp),%rax
movsd  -0x60(%rbp,%rax,8),%xmm0
movslq -0x204(%rbp),%rax
ucomisd -0x70(%rbp,%rax,8),%xmm0
jne    186d <main+0x75d>
jp     186d <main+0x75d>
jmp    1872 <main+0x762>
call   1030 <abort@plt>
jmp    1877 <main+0x767>
mov    -0x204(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x204(%rbp)
jmp    1835 <main+0x725>
jmp    1890 <main+0x780>
movapd -0x50(%rbp),%xmm0
movapd 0x793(%rip),%xmm1
subpd  %xmm1,%xmm0
movapd %xmm0,-0x60(%rbp)
movapd -0x50(%rbp),%xmm0
movapd %xmm1,-0x220(%rbp)
ff
subpd  -0x220(%rbp),%xmm0
ff
movapd %xmm0,-0x70(%rbp)
movl   $0x0,-0x224(%rbp)
cmpl   $0x2,-0x224(%rbp)
jge    1920 <main+0x810>
movslq -0x224(%rbp),%rax
movsd  -0x60(%rbp,%rax,8),%xmm0
movslq -0x224(%rbp),%rax
ucomisd -0x70(%rbp,%rax,8),%xmm0
jne    1902 <main+0x7f2>
jp     1902 <main+0x7f2>
jmp    1907 <main+0x7f7>
call   1030 <abort@plt>
jmp    190c <main+0x7fc>
mov    -0x224(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x224(%rbp)
jmp    18ca <main+0x7ba>
jmp    1925 <main+0x815>
movapd -0x50(%rbp),%xmm0
addpd  %xmm0,%xmm0
movapd 0x6fa(%rip),%xmm1
movapd %xmm0,-0x60(%rbp)
movapd -0x50(%rbp),%xmm0
movapd %xmm1,-0x240(%rbp)
ff
mulpd  -0x240(%rbp),%xmm0
ff
movapd %xmm0,-0x70(%rbp)
movl   $0x0,-0x244(%rbp)
cmpl   $0x2,-0x244(%rbp)
jge    19b5 <main+0x8a5>
movslq -0x244(%rbp),%rax
movsd  -0x60(%rbp,%rax,8),%xmm0
movslq -0x244(%rbp),%rax
ucomisd -0x70(%rbp,%rax,8),%xmm0
jne    1997 <main+0x887>
jp     1997 <main+0x887>
jmp    199c <main+0x88c>
call   1030 <abort@plt>
jmp    19a1 <main+0x891>
mov    -0x244(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x244(%rbp)
jmp    195f <main+0x84f>
jmp    19ba <main+0x8aa>
movapd -0x50(%rbp),%xmm0
movapd 0x669(%rip),%xmm1
divpd  %xmm1,%xmm0
movapd %xmm0,-0x60(%rbp)
movapd -0x50(%rbp),%xmm0
movapd %xmm1,-0x260(%rbp)
ff
divpd  -0x260(%rbp),%xmm0
ff
movapd %xmm0,-0x70(%rbp)
movl   $0x0,-0x264(%rbp)
cmpl   $0x2,-0x264(%rbp)
jge    1a4a <main+0x93a>
movslq -0x264(%rbp),%rax
movsd  -0x60(%rbp,%rax,8),%xmm0
movslq -0x264(%rbp),%rax
ucomisd -0x70(%rbp,%rax,8),%xmm0
jne    1a2c <main+0x91c>
jp     1a2c <main+0x91c>
jmp    1a31 <main+0x921>
call   1030 <abort@plt>
jmp    1a36 <main+0x926>
mov    -0x264(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x264(%rbp)
jmp    19f4 <main+0x8e4>
jmp    1a4f <main+0x93f>
xor    %eax,%eax
add    $0x270,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
xor    %eax,%eax
ret

LLVM IR (-O0):
define i32 @main(i32 %0, i8** %1) {
%3 = alloca i32
%4 = alloca i32
%5 = alloca i8**
%6 = alloca <4 x float>
%7 = alloca <4 x float>
%8 = alloca <4 x float>
%9 = alloca <2 x double>
%10 = alloca <2 x double>
%11 = alloca <2 x double>
%12 = alloca <4 x float>
%13 = alloca i32
%14 = alloca <4 x float>
%15 = alloca i32
%16 = alloca <4 x float>
%17 = alloca i32
%18 = alloca <4 x float>
%19 = alloca i32
%20 = alloca <4 x float>
%21 = alloca i32
%22 = alloca <4 x float>
%23 = alloca i32
%24 = alloca <4 x float>
%25 = alloca i32
%26 = alloca <4 x float>
%27 = alloca i32
%28 = alloca <2 x double>
%29 = alloca i32
%30 = alloca <2 x double>
%31 = alloca i32
%32 = alloca <2 x double>
%33 = alloca i32
%34 = alloca <2 x double>
%35 = alloca i32
%36 = alloca <2 x double>
%37 = alloca i32
%38 = alloca <2 x double>
%39 = alloca i32
%40 = alloca <2 x double>
%41 = alloca i32
%42 = alloca <2 x double>
%43 = alloca i32
store i32 0, i32* %3
store i32 %0, i32* %4
store i8** %1, i8*** %5
store <4 x float> <float 1.000000e+00, float 2.000000e+00, float 3.000000e+00, float 4.000000e+00>, <4 x float>* %6
store <2 x double> <double 1.000000e+00, double 2.000000e+00>, <2 x double>* %9
%44 = load <4 x float>, <4 x float>* %6
%45 = fadd <4 x float> <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>, %44
store <4 x float> %45, <4 x float>* %7
store <4 x float> <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>, <4 x float>* %12
%46 = load <4 x float>, <4 x float>* %12
%47 = load <4 x float>, <4 x float>* %6
%48 = fadd <4 x float> %46, %47
store <4 x float> %48, <4 x float>* %8
br label %49
49: ; preds = %2
store i32 0, i32* %13
br label %50
50: ; preds = %67, %49
%51 = load i32, i32* %13
%52 = icmp slt i32 %51, 4
br i1 %52, label %53, label %70
53: ; preds = %50
%54 = bitcast <4 x float>* %7 to float*
%55 = load i32, i32* %13
%56 = sext i32 %55 to i64
%57 = getelementptr inbounds float, float* %54, i64 %56
%58 = load float, float* %57
%59 = bitcast <4 x float>* %8 to float*
%60 = load i32, i32* %13
%61 = sext i32 %60 to i64
%62 = getelementptr inbounds float, float* %59, i64 %61
%63 = load float, float* %62
%64 = fcmp une float %58, %63
br i1 %64, label %65, label %66
65: ; preds = %53
unreachable
66: ; preds = %53
br label %67
67: ; preds = %66
%68 = load i32, i32* %13
%69 = add nsw i32 %68, 1
store i32 %69, i32* %13
br label %50
70: ; preds = %50
br label %71
71: ; preds = %70
%72 = load <4 x float>, <4 x float>* %6
%73 = fsub <4 x float> <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>, %72
store <4 x float> %73, <4 x float>* %7
store <4 x float> <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>, <4 x float>* %14
%74 = load <4 x float>, <4 x float>* %14
%75 = load <4 x float>, <4 x float>* %6
%76 = fsub <4 x float> %74, %75
store <4 x float> %76, <4 x float>* %8
br label %77
77: ; preds = %71
store i32 0, i32* %15
br label %78
78: ; preds = %95, %77
%79 = load i32, i32* %15
%80 = icmp slt i32 %79, 4
br i1 %80, label %81, label %98
81: ; preds = %78
%82 = bitcast <4 x float>* %7 to float*
%83 = load i32, i32* %15
%84 = sext i32 %83 to i64
%85 = getelementptr inbounds float, float* %82, i64 %84
%86 = load float, float* %85
%87 = bitcast <4 x float>* %8 to float*
%88 = load i32, i32* %15
%89 = sext i32 %88 to i64
%90 = getelementptr inbounds float, float* %87, i64 %89
%91 = load float, float* %90
%92 = fcmp une float %86, %91
br i1 %92, label %93, label %94
93: ; preds = %81
unreachable
94: ; preds = %81
br label %95
95: ; preds = %94
%96 = load i32, i32* %15
%97 = add nsw i32 %96, 1
store i32 %97, i32* %15
br label %78
98: ; preds = %78
br label %99
99: ; preds = %98
%100 = load <4 x float>, <4 x float>* %6
%101 = fmul <4 x float> <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>, %100
store <4 x float> %101, <4 x float>* %7
store <4 x float> <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>, <4 x float>* %16
%102 = load <4 x float>, <4 x float>* %16
%103 = load <4 x float>, <4 x float>* %6
%104 = fmul <4 x float> %102, %103
store <4 x float> %104, <4 x float>* %8
br label %105
105: ; preds = %99
store i32 0, i32* %17
br label %106
106: ; preds = %123, %105
%107 = load i32, i32* %17
%108 = icmp slt i32 %107, 4
br i1 %108, label %109, label %126
109: ; preds = %106
%110 = bitcast <4 x float>* %7 to float*
%111 = load i32, i32* %17
%112 = sext i32 %111 to i64
%113 = getelementptr inbounds float, float* %110, i64 %112
%114 = load float, float* %113
%115 = bitcast <4 x float>* %8 to float*
%116 = load i32, i32* %17
%117 = sext i32 %116 to i64
%118 = getelementptr inbounds float, float* %115, i64 %117
%119 = load float, float* %118
%120 = fcmp une float %114, %119
br i1 %120, label %121, label %122
121: ; preds = %109
unreachable
122: ; preds = %109
br label %123
123: ; preds = %122
%124 = load i32, i32* %17
%125 = add nsw i32 %124, 1
store i32 %125, i32* %17
br label %106
126: ; preds = %106
br label %127
127: ; preds = %126
%128 = load <4 x float>, <4 x float>* %6
%129 = fdiv <4 x float> <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>, %128
store <4 x float> %129, <4 x float>* %7
store <4 x float> <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>, <4 x float>* %18
%130 = load <4 x float>, <4 x float>* %18
%131 = load <4 x float>, <4 x float>* %6
%132 = fdiv <4 x float> %130, %131
store <4 x float> %132, <4 x float>* %8
br label %133
133: ; preds = %127
store i32 0, i32* %19
br label %134
134: ; preds = %151, %133
%135 = load i32, i32* %19
%136 = icmp slt i32 %135, 4
br i1 %136, label %137, label %154
137: ; preds = %134
%138 = bitcast <4 x float>* %7 to float*
%139 = load i32, i32* %19
%140 = sext i32 %139 to i64
%141 = getelementptr inbounds float, float* %138, i64 %140
%142 = load float, float* %141
%143 = bitcast <4 x float>* %8 to float*
%144 = load i32, i32* %19
%145 = sext i32 %144 to i64
%146 = getelementptr inbounds float, float* %143, i64 %145
%147 = load float, float* %146
%148 = fcmp une float %142, %147
br i1 %148, label %149, label %150
149: ; preds = %137
unreachable
150: ; preds = %137
br label %151
151: ; preds = %150
%152 = load i32, i32* %19
%153 = add nsw i32 %152, 1
store i32 %153, i32* %19
br label %134
154: ; preds = %134
br label %155
155: ; preds = %154
%156 = load <4 x float>, <4 x float>* %6
%157 = fadd <4 x float> %156, <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>
store <4 x float> %157, <4 x float>* %7
%158 = load <4 x float>, <4 x float>* %6
store <4 x float> <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>, <4 x float>* %20
%159 = load <4 x float>, <4 x float>* %20
%160 = fadd <4 x float> %158, %159
store <4 x float> %160, <4 x float>* %8
br label %161
161: ; preds = %155
store i32 0, i32* %21
br label %162
162: ; preds = %179, %161
%163 = load i32, i32* %21
%164 = icmp slt i32 %163, 4
br i1 %164, label %165, label %182
165: ; preds = %162
%166 = bitcast <4 x float>* %7 to float*
%167 = load i32, i32* %21
%168 = sext i32 %167 to i64
%169 = getelementptr inbounds float, float* %166, i64 %168
%170 = load float, float* %169
%171 = bitcast <4 x float>* %8 to float*
%172 = load i32, i32* %21
%173 = sext i32 %172 to i64
%174 = getelementptr inbounds float, float* %171, i64 %173
%175 = load float, float* %174
%176 = fcmp une float %170, %175
br i1 %176, label %177, label %178
177: ; preds = %165
unreachable
178: ; preds = %165
br label %179
179: ; preds = %178
%180 = load i32, i32* %21
%181 = add nsw i32 %180, 1
store i32 %181, i32* %21
br label %162
182: ; preds = %162
br label %183
183: ; preds = %182
%184 = load <4 x float>, <4 x float>* %6
%185 = fsub <4 x float> %184, <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>
store <4 x float> %185, <4 x float>* %7
%186 = load <4 x float>, <4 x float>* %6
store <4 x float> <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>, <4 x float>* %22
%187 = load <4 x float>, <4 x float>* %22
%188 = fsub <4 x float> %186, %187
store <4 x float> %188, <4 x float>* %8
br label %189
189: ; preds = %183
store i32 0, i32* %23
br label %190
190: ; preds = %207, %189
%191 = load i32, i32* %23
%192 = icmp slt i32 %191, 4
br i1 %192, label %193, label %210
193: ; preds = %190
%194 = bitcast <4 x float>* %7 to float*
%195 = load i32, i32* %23
%196 = sext i32 %195 to i64
%197 = getelementptr inbounds float, float* %194, i64 %196
%198 = load float, float* %197
%199 = bitcast <4 x float>* %8 to float*
%200 = load i32, i32* %23
%201 = sext i32 %200 to i64
%202 = getelementptr inbounds float, float* %199, i64 %201
%203 = load float, float* %202
%204 = fcmp une float %198, %203
br i1 %204, label %205, label %206
205: ; preds = %193
unreachable
206: ; preds = %193
br label %207
207: ; preds = %206
%208 = load i32, i32* %23
%209 = add nsw i32 %208, 1
store i32 %209, i32* %23
br label %190
210: ; preds = %190
br label %211
211: ; preds = %210
%212 = load <4 x float>, <4 x float>* %6
%213 = fmul <4 x float> %212, <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>
store <4 x float> %213, <4 x float>* %7
%214 = load <4 x float>, <4 x float>* %6
store <4 x float> <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>, <4 x float>* %24
%215 = load <4 x float>, <4 x float>* %24
%216 = fmul <4 x float> %214, %215
store <4 x float> %216, <4 x float>* %8
br label %217
217: ; preds = %211
store i32 0, i32* %25
br label %218
218: ; preds = %235, %217
%219 = load i32, i32* %25
%220 = icmp slt i32 %219, 4
br i1 %220, label %221, label %238
221: ; preds = %218
%222 = bitcast <4 x float>* %7 to float*
%223 = load i32, i32* %25
%224 = sext i32 %223 to i64
%225 = getelementptr inbounds float, float* %222, i64 %224
%226 = load float, float* %225
%227 = bitcast <4 x float>* %8 to float*
%228 = load i32, i32* %25
%229 = sext i32 %228 to i64
%230 = getelementptr inbounds float, float* %227, i64 %229
%231 = load float, float* %230
%232 = fcmp une float %226, %231
br i1 %232, label %233, label %234
233: ; preds = %221
unreachable
234: ; preds = %221
br label %235
235: ; preds = %234
%236 = load i32, i32* %25
%237 = add nsw i32 %236, 1
store i32 %237, i32* %25
br label %218
238: ; preds = %218
br label %239
239: ; preds = %238
%240 = load <4 x float>, <4 x float>* %6
%241 = fdiv <4 x float> %240, <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>
store <4 x float> %241, <4 x float>* %7
%242 = load <4 x float>, <4 x float>* %6
store <4 x float> <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>, <4 x float>* %26
%243 = load <4 x float>, <4 x float>* %26
%244 = fdiv <4 x float> %242, %243
store <4 x float> %244, <4 x float>* %8
br label %245
245: ; preds = %239
store i32 0, i32* %27
br label %246
246: ; preds = %263, %245
%247 = load i32, i32* %27
%248 = icmp slt i32 %247, 4
br i1 %248, label %249, label %266
249: ; preds = %246
%250 = bitcast <4 x float>* %7 to float*
%251 = load i32, i32* %27
%252 = sext i32 %251 to i64
%253 = getelementptr inbounds float, float* %250, i64 %252
%254 = load float, float* %253
%255 = bitcast <4 x float>* %8 to float*
%256 = load i32, i32* %27
%257 = sext i32 %256 to i64
%258 = getelementptr inbounds float, float* %255, i64 %257
%259 = load float, float* %258
%260 = fcmp une float %254, %259
br i1 %260, label %261, label %262
261: ; preds = %249
unreachable
262: ; preds = %249
br label %263
263: ; preds = %262
%264 = load i32, i32* %27
%265 = add nsw i32 %264, 1
store i32 %265, i32* %27
br label %246
266: ; preds = %246
br label %267
267: ; preds = %266
%268 = load <2 x double>, <2 x double>* %9
%269 = fadd <2 x double> <double 2.000000e+00, double 2.000000e+00>, %268
store <2 x double> %269, <2 x double>* %10
store <2 x double> <double 2.000000e+00, double 2.000000e+00>, <2 x double>* %28
%270 = load <2 x double>, <2 x double>* %28
%271 = load <2 x double>, <2 x double>* %9
%272 = fadd <2 x double> %270, %271
store <2 x double> %272, <2 x double>* %11
br label %273
273: ; preds = %267
store i32 0, i32* %29
br label %274
274: ; preds = %291, %273
%275 = load i32, i32* %29
%276 = icmp slt i32 %275, 2
br i1 %276, label %277, label %294
277: ; preds = %274
%278 = bitcast <2 x double>* %10 to double*
%279 = load i32, i32* %29
%280 = sext i32 %279 to i64
%281 = getelementptr inbounds double, double* %278, i64 %280
%282 = load double, double* %281
%283 = bitcast <2 x double>* %11 to double*
%284 = load i32, i32* %29
%285 = sext i32 %284 to i64
%286 = getelementptr inbounds double, double* %283, i64 %285
%287 = load double, double* %286
%288 = fcmp une double %282, %287
br i1 %288, label %289, label %290
289: ; preds = %277
unreachable
290: ; preds = %277
br label %291
291: ; preds = %290
%292 = load i32, i32* %29
%293 = add nsw i32 %292, 1
store i32 %293, i32* %29
br label %274
294: ; preds = %274
br label %295
295: ; preds = %294
%296 = load <2 x double>, <2 x double>* %9
%297 = fsub <2 x double> <double 2.000000e+00, double 2.000000e+00>, %296
store <2 x double> %297, <2 x double>* %10
store <2 x double> <double 2.000000e+00, double 2.000000e+00>, <2 x double>* %30
%298 = load <2 x double>, <2 x double>* %30
%299 = load <2 x double>, <2 x double>* %9
%300 = fsub <2 x double> %298, %299
store <2 x double> %300, <2 x double>* %11
br label %301
301: ; preds = %295
store i32 0, i32* %31
br label %302
302: ; preds = %319, %301
%303 = load i32, i32* %31
%304 = icmp slt i32 %303, 2
br i1 %304, label %305, label %322
305: ; preds = %302
%306 = bitcast <2 x double>* %10 to double*
%307 = load i32, i32* %31
%308 = sext i32 %307 to i64
%309 = getelementptr inbounds double, double* %306, i64 %308
%310 = load double, double* %309
%311 = bitcast <2 x double>* %11 to double*
%312 = load i32, i32* %31
%313 = sext i32 %312 to i64
%314 = getelementptr inbounds double, double* %311, i64 %313
%315 = load double, double* %314
%316 = fcmp une double %310, %315
br i1 %316, label %317, label %318
317: ; preds = %305
unreachable
318: ; preds = %305
br label %319
319: ; preds = %318
%320 = load i32, i32* %31
%321 = add nsw i32 %320, 1
store i32 %321, i32* %31
br label %302
322: ; preds = %302
br label %323
323: ; preds = %322
%324 = load <2 x double>, <2 x double>* %9
%325 = fmul <2 x double> <double 2.000000e+00, double 2.000000e+00>, %324
store <2 x double> %325, <2 x double>* %10
store <2 x double> <double 2.000000e+00, double 2.000000e+00>, <2 x double>* %32
%326 = load <2 x double>, <2 x double>* %32
%327 = load <2 x double>, <2 x double>* %9
%328 = fmul <2 x double> %326, %327
store <2 x double> %328, <2 x double>* %11
br label %329
329: ; preds = %323
store i32 0, i32* %33
br label %330
330: ; preds = %347, %329
%331 = load i32, i32* %33
%332 = icmp slt i32 %331, 2
br i1 %332, label %333, label %350
333: ; preds = %330
%334 = bitcast <2 x double>* %10 to double*
%335 = load i32, i32* %33
%336 = sext i32 %335 to i64
%337 = getelementptr inbounds double, double* %334, i64 %336
%338 = load double, double* %337
%339 = bitcast <2 x double>* %11 to double*
%340 = load i32, i32* %33
%341 = sext i32 %340 to i64
%342 = getelementptr inbounds double, double* %339, i64 %341
%343 = load double, double* %342
%344 = fcmp une double %338, %343
br i1 %344, label %345, label %346
345: ; preds = %333
unreachable
346: ; preds = %333
br label %347
347: ; preds = %346
%348 = load i32, i32* %33
%349 = add nsw i32 %348, 1
store i32 %349, i32* %33
br label %330
350: ; preds = %330
br label %351
351: ; preds = %350
%352 = load <2 x double>, <2 x double>* %9
%353 = fdiv <2 x double> <double 2.000000e+00, double 2.000000e+00>, %352
store <2 x double> %353, <2 x double>* %10
store <2 x double> <double 2.000000e+00, double 2.000000e+00>, <2 x double>* %34
%354 = load <2 x double>, <2 x double>* %34
%355 = load <2 x double>, <2 x double>* %9
%356 = fdiv <2 x double> %354, %355
store <2 x double> %356, <2 x double>* %11
br label %357
357: ; preds = %351
store i32 0, i32* %35
br label %358
358: ; preds = %375, %357
%359 = load i32, i32* %35
%360 = icmp slt i32 %359, 2
br i1 %360, label %361, label %378
361: ; preds = %358
%362 = bitcast <2 x double>* %10 to double*
%363 = load i32, i32* %35
%364 = sext i32 %363 to i64
%365 = getelementptr inbounds double, double* %362, i64 %364
%366 = load double, double* %365
%367 = bitcast <2 x double>* %11 to double*
%368 = load i32, i32* %35
%369 = sext i32 %368 to i64
%370 = getelementptr inbounds double, double* %367, i64 %369
%371 = load double, double* %370
%372 = fcmp une double %366, %371
br i1 %372, label %373, label %374
373: ; preds = %361
unreachable
374: ; preds = %361
br label %375
375: ; preds = %374
%376 = load i32, i32* %35
%377 = add nsw i32 %376, 1
store i32 %377, i32* %35
br label %358
378: ; preds = %358
br label %379
379: ; preds = %378
%380 = load <2 x double>, <2 x double>* %9
%381 = fadd <2 x double> %380, <double 2.000000e+00, double 2.000000e+00>
store <2 x double> %381, <2 x double>* %10
%382 = load <2 x double>, <2 x double>* %9
store <2 x double> <double 2.000000e+00, double 2.000000e+00>, <2 x double>* %36
%383 = load <2 x double>, <2 x double>* %36
%384 = fadd <2 x double> %382, %383
store <2 x double> %384, <2 x double>* %11
br label %385
385: ; preds = %379
store i32 0, i32* %37
br label %386
386: ; preds = %403, %385
%387 = load i32, i32* %37
%388 = icmp slt i32 %387, 2
br i1 %388, label %389, label %406
389: ; preds = %386
%390 = bitcast <2 x double>* %10 to double*
%391 = load i32, i32* %37
%392 = sext i32 %391 to i64
%393 = getelementptr inbounds double, double* %390, i64 %392
%394 = load double, double* %393
%395 = bitcast <2 x double>* %11 to double*
%396 = load i32, i32* %37
%397 = sext i32 %396 to i64
%398 = getelementptr inbounds double, double* %395, i64 %397
%399 = load double, double* %398
%400 = fcmp une double %394, %399
br i1 %400, label %401, label %402
401: ; preds = %389
unreachable
402: ; preds = %389
br label %403
403: ; preds = %402
%404 = load i32, i32* %37
%405 = add nsw i32 %404, 1
store i32 %405, i32* %37
br label %386
406: ; preds = %386
br label %407
407: ; preds = %406
%408 = load <2 x double>, <2 x double>* %9
%409 = fsub <2 x double> %408, <double 2.000000e+00, double 2.000000e+00>
store <2 x double> %409, <2 x double>* %10
%410 = load <2 x double>, <2 x double>* %9
store <2 x double> <double 2.000000e+00, double 2.000000e+00>, <2 x double>* %38
%411 = load <2 x double>, <2 x double>* %38
%412 = fsub <2 x double> %410, %411
store <2 x double> %412, <2 x double>* %11
br label %413
413: ; preds = %407
store i32 0, i32* %39
br label %414
414: ; preds = %431, %413
%415 = load i32, i32* %39
%416 = icmp slt i32 %415, 2
br i1 %416, label %417, label %434
417: ; preds = %414
%418 = bitcast <2 x double>* %10 to double*
%419 = load i32, i32* %39
%420 = sext i32 %419 to i64
%421 = getelementptr inbounds double, double* %418, i64 %420
%422 = load double, double* %421
%423 = bitcast <2 x double>* %11 to double*
%424 = load i32, i32* %39
%425 = sext i32 %424 to i64
%426 = getelementptr inbounds double, double* %423, i64 %425
%427 = load double, double* %426
%428 = fcmp une double %422, %427
br i1 %428, label %429, label %430
429: ; preds = %417
unreachable
430: ; preds = %417
br label %431
431: ; preds = %430
%432 = load i32, i32* %39
%433 = add nsw i32 %432, 1
store i32 %433, i32* %39
br label %414
434: ; preds = %414
br label %435
435: ; preds = %434
%436 = load <2 x double>, <2 x double>* %9
%437 = fmul <2 x double> %436, <double 2.000000e+00, double 2.000000e+00>
store <2 x double> %437, <2 x double>* %10
%438 = load <2 x double>, <2 x double>* %9
store <2 x double> <double 2.000000e+00, double 2.000000e+00>, <2 x double>* %40
%439 = load <2 x double>, <2 x double>* %40
%440 = fmul <2 x double> %438, %439
store <2 x double> %440, <2 x double>* %11
br label %441
441: ; preds = %435
store i32 0, i32* %41
br label %442
442: ; preds = %459, %441
%443 = load i32, i32* %41
%444 = icmp slt i32 %443, 2
br i1 %444, label %445, label %462
445: ; preds = %442
%446 = bitcast <2 x double>* %10 to double*
%447 = load i32, i32* %41
%448 = sext i32 %447 to i64
%449 = getelementptr inbounds double, double* %446, i64 %448
%450 = load double, double* %449
%451 = bitcast <2 x double>* %11 to double*
%452 = load i32, i32* %41
%453 = sext i32 %452 to i64
%454 = getelementptr inbounds double, double* %451, i64 %453
%455 = load double, double* %454
%456 = fcmp une double %450, %455
br i1 %456, label %457, label %458
457: ; preds = %445
unreachable
458: ; preds = %445
br label %459
459: ; preds = %458
%460 = load i32, i32* %41
%461 = add nsw i32 %460, 1
store i32 %461, i32* %41
br label %442
462: ; preds = %442
br label %463
463: ; preds = %462
%464 = load <2 x double>, <2 x double>* %9
%465 = fdiv <2 x double> %464, <double 2.000000e+00, double 2.000000e+00>
store <2 x double> %465, <2 x double>* %10
%466 = load <2 x double>, <2 x double>* %9
store <2 x double> <double 2.000000e+00, double 2.000000e+00>, <2 x double>* %42
%467 = load <2 x double>, <2 x double>* %42
%468 = fdiv <2 x double> %466, %467
store <2 x double> %468, <2 x double>* %11
br label %469
469: ; preds = %463
store i32 0, i32* %43
br label %470
470: ; preds = %487, %469
%471 = load i32, i32* %43
%472 = icmp slt i32 %471, 2
br i1 %472, label %473, label %490
473: ; preds = %470
%474 = bitcast <2 x double>* %10 to double*
%475 = load i32, i32* %43
%476 = sext i32 %475 to i64
%477 = getelementptr inbounds double, double* %474, i64 %476
%478 = load double, double* %477
%479 = bitcast <2 x double>* %11 to double*
%480 = load i32, i32* %43
%481 = sext i32 %480 to i64
%482 = getelementptr inbounds double, double* %479, i64 %481
%483 = load double, double* %482
%484 = fcmp une double %478, %483
br i1 %484, label %485, label %486
485: ; preds = %473
unreachable
486: ; preds = %473
br label %487
487: ; preds = %486
%488 = load i32, i32* %43
%489 = add nsw i32 %488, 1
store i32 %489, i32* %43
br label %470
490: ; preds = %470
br label %491
491: ; preds = %490
ret i32 0
}

LLVM IR (-O2):
define i32 @main(i32 %0, i8** nocapture readnone %1) {
ret i32 0
}