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

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ abort();
scalar_t__ acc_copyin(float *, int);
int /*<<< orphan*/ acc_copyout(float *, int);
scalar_t__ acc_deviceptr(float *);
int /*<<< orphan*/ acc_free(float *);
scalar_t__ acc_is_present(float *, int);
scalar_t__ acc_malloc(int);
int /*<<< orphan*/ acc_map_data(float *, float *, int);
int /*<<< orphan*/ acc_unmap_data(float *);
scalar_t__ malloc(int);
int main(int argc, char **argv) {
  int N = 8;
  float *a, *b, *c, *d;
  int i;
  a = (float *)malloc(N * sizeof(float));
  b = (float *)malloc(N * sizeof(float));
  c = (float *)malloc(N * sizeof(float));
  for (i = 0; i < N; i++) {
    a[i] = 3.0;
    b[i] = 0.0;
  }
#pragma acc data copyin(a [0:N]) copyout(b [0:N])
  {
#pragma acc parallel
    {
      int ii;
      for (ii = 0; ii < N; ii++)
        b[ii] = a[ii];
    }
  }
  for (i = 0; i < N; i++) {
    if (b[i] != 3.0)
      abort();
  }
  if (acc_is_present(&a[0], (N * sizeof(float))))
    abort();
  if (acc_is_present(&b[0], (N * sizeof(float))))
    abort();
  for (i = 0; i < N; i++) {
    a[i] = 5.0;
    b[i] = 1.0;
  }
#pragma acc data copyin(a [0:N]) copyout(b [0:N])
  {
#pragma acc parallel
    {
      int ii;
      for (ii = 0; ii < N; ii++)
        b[ii] = a[ii];
    }
  }
  for (i = 0; i < N; i++) {
    if (b[i] != 5.0)
      abort();
  }
  if (acc_is_present(&a[0], (N * sizeof(float))))
    abort();
  if (acc_is_present(&b[0], (N * sizeof(float))))
    abort();
  for (i = 0; i < N; i++) {
    a[i] = 6.0;
    b[i] = 0.0;
  }
  d = (float *)acc_copyin(&a[0], N * sizeof(float));
  for (i = 0; i < N; i++) {
    a[i] = 9.0;
  }
#pragma acc data present_or_copyin(a [0:N]) copyout(b [0:N])
  {
#pragma acc parallel
    {
      int ii;
      for (ii = 0; ii < N; ii++)
        b[ii] = a[ii];
    }
  }
  for (i = 0; i < N; i++) {
    if (b[i] != 6.0)
      abort();
  }
  if (!acc_is_present(&a[0], (N * sizeof(float))))
    abort();
  if (acc_is_present(&b[0], (N * sizeof(float))))
    abort();
  acc_free(d);
  for (i = 0; i < N; i++) {
    a[i] = 6.0;
    b[i] = 0.0;
  }
#pragma acc data copyin(a [0:N]) present_or_copyout(b [0:N])
  {
#pragma acc parallel
    {
      int ii;
      for (ii = 0; ii < N; ii++)
        b[ii] = a[ii];
    }
  }
  for (i = 0; i < N; i++) {
    if (b[i] != 6.0)
      abort();
  }
  if (acc_is_present(&a[0], (N * sizeof(float))))
    abort();
  if (acc_is_present(&b[0], (N * sizeof(float))))
    abort();
  for (i = 0; i < N; i++) {
    a[i] = 5.0;
    b[i] = 2.0;
  }
  d = (float *)acc_copyin(&b[0], N * sizeof(float));
#pragma acc data copyin(a [0:N]) present_or_copyout(b [0:N])
  {
#pragma acc parallel
    {
      int ii;
      for (ii = 0; ii < N; ii++)
        b[ii] = a[ii];
    }
  }
  for (i = 0; i < N; i++) {
    if (a[i] != 5.0)
      abort();
    if (b[i] != 2.0)
      abort();
  }
  if (acc_is_present(&a[0], (N * sizeof(float))))
    abort();
  if (!acc_is_present(&b[0], (N * sizeof(float))))
    abort();
  acc_free(d);
  if (acc_is_present(&b[0], (N * sizeof(float))))
    abort();
  for (i = 0; i < N; i++) {
    a[i] = 3.0;
    b[i] = 4.0;
  }
#pragma acc data copy(a [0:N]) copyout(b [0:N])
  {
#pragma acc parallel
    {
      int ii;
      for (ii = 0; ii < N; ii++) {
        a[ii] = a[ii] + 1;
        b[ii] = a[ii] + 2;
      }
    }
  }
  for (i = 0; i < N; i++) {
    if (a[i] != 4.0)
      abort();
    if (b[i] != 6.0)
      abort();
  }
  if (acc_is_present(&a[0], (N * sizeof(float))))
    abort();
  if (acc_is_present(&b[0], (N * sizeof(float))))
    abort();
  for (i = 0; i < N; i++) {
    a[i] = 4.0;
    b[i] = 7.0;
  }
#pragma acc data present_or_copy(a [0:N]) present_or_copy(b [0:N])
  {
#pragma acc parallel
    {
      int ii;
      for (ii = 0; ii < N; ii++) {
        a[ii] = a[ii] + 1;
        b[ii] = b[ii] + 2;
      }
    }
  }
  for (i = 0; i < N; i++) {
    if (a[i] != 5.0)
      abort();
    if (b[i] != 9.0)
      abort();
  }
  if (acc_is_present(&a[0], (N * sizeof(float))))
    abort();
  if (acc_is_present(&b[0], (N * sizeof(float))))
    abort();
  for (i = 0; i < N; i++) {
    a[i] = 3.0;
    b[i] = 7.0;
  }
  d = (float *)acc_copyin(&a[0], N * sizeof(float));
  d = (float *)acc_copyin(&b[0], N * sizeof(float));
#pragma acc data present_or_copy(a [0:N]) present_or_copy(b [0:N])
  {
#pragma acc parallel
    {
      int ii;
      for (ii = 0; ii < N; ii++) {
        a[ii] = a[ii] + 1;
        b[ii] = b[ii] + 2;
      }
    }
  }
  for (i = 0; i < N; i++) {
    if (a[i] != 3.0)
      abort();
    if (b[i] != 7.0)
      abort();
  }
  if (!acc_is_present(&a[0], (N * sizeof(float))))
    abort();
  if (!acc_is_present(&b[0], (N * sizeof(float))))
    abort();
  d = (float *)acc_deviceptr(&a[0]);
  acc_unmap_data(&a[0]);
  acc_free(d);
  d = (float *)acc_deviceptr(&b[0]);
  acc_unmap_data(&b[0]);
  acc_free(d);
  for (i = 0; i < N; i++) {
    a[i] = 3.0;
    b[i] = 7.0;
  }
#pragma acc data copyin(a [0:N]) create(c [0:N]) copyout(b [0:N])
  {
#pragma acc parallel
    {
      int ii;
      for (ii = 0; ii < N; ii++) {
        c[ii] = a[ii];
        b[ii] = c[ii];
      }
    }
  }
  for (i = 0; i < N; i++) {
    if (a[i] != 3.0)
      abort();
    if (b[i] != 3.0)
      abort();
  }
  if (acc_is_present(&a[0], (N * sizeof(float))))
    abort();
  if (acc_is_present(&b[0], (N * sizeof(float))))
    abort();
  if (acc_is_present(&c[0], (N * sizeof(float))))
    abort();
  for (i = 0; i < N; i++) {
    a[i] = 4.0;
    b[i] = 8.0;
  }
#pragma acc data copyin(a [0:N]) present_or_create(c [0:N]) copyout(b [0:N])
  {
#pragma acc parallel
    {
      int ii;
      for (ii = 0; ii < N; ii++) {
        c[ii] = a[ii];
        b[ii] = c[ii];
      }
    }
  }
  for (i = 0; i < N; i++) {
    if (a[i] != 4.0)
      abort();
    if (b[i] != 4.0)
      abort();
  }
  if (acc_is_present(&a[0], (N * sizeof(float))))
    abort();
  if (acc_is_present(&b[0], (N * sizeof(float))))
    abort();
  if (acc_is_present(&c[0], (N * sizeof(float))))
    abort();
  for (i = 0; i < N; i++) {
    a[i] = 2.0;
    b[i] = 5.0;
  }
  d = (float *)acc_malloc(N * sizeof(float));
  acc_map_data(c, d, N * sizeof(float));
#pragma acc data copyin(a [0:N]) present_or_create(c [0:N]) copyout(b [0:N])
  {
#pragma acc parallel
    {
      int ii;
      for (ii = 0; ii < N; ii++) {
        c[ii] = a[ii];
        b[ii] = c[ii];
      }
    }
  }
  for (i = 0; i < N; i++) {
    if (a[i] != 2.0)
      abort();
    if (b[i] != 2.0)
      abort();
  }
  if (acc_is_present(a, (N * sizeof(float))))
    abort();
  if (acc_is_present(b, (N * sizeof(float))))
    abort();
  if (!acc_is_present(c, (N * sizeof(float))))
    abort();
  d = (float *)acc_deviceptr(c);
  acc_unmap_data(c);
  acc_free(d);
  for (i = 0; i < N; i++) {
    a[i] = 4.0;
    b[i] = 8.0;
  }
  d = (float *)acc_malloc(N * sizeof(float));
  acc_map_data(c, d, N * sizeof(float));
#pragma acc data copyin(a [0:N]) present(c [0:N]) copyout(b [0:N])
  {
#pragma acc parallel
    {
      int ii;
      for (ii = 0; ii < N; ii++) {
        c[ii] = a[ii];
        b[ii] = c[ii];
      }
    }
  }
  for (i = 0; i < N; i++) {
    if (a[i] != 4.0)
      abort();
    if (b[i] != 4.0)
      abort();
  }
  if (acc_is_present(a, (N * sizeof(float))))
    abort();
  if (acc_is_present(b, (N * sizeof(float))))
    abort();
  if (!acc_is_present(c, (N * sizeof(float))))
    abort();
  acc_unmap_data(c);
  if (acc_is_present(c, (N * sizeof(float))))
    abort();
  acc_free(d);
  d = (float *)acc_malloc(N * sizeof(float));
  acc_map_data(c, d, N * sizeof(float));
  if (!acc_is_present(c, (N * sizeof(float))))
    abort();
  d = (float *)acc_malloc(N * sizeof(float));
  acc_map_data(b, d, N * sizeof(float));
  if (!acc_is_present(b, (N * sizeof(float))))
    abort();
  d = (float *)acc_malloc(N * sizeof(float));
  acc_map_data(a, d, N * sizeof(float));
  if (!acc_is_present(a, (N * sizeof(float))))
    abort();
#pragma acc data present(a [0:N]) present(c [0:N]) present(b [0:N])
  {
#pragma acc parallel
    {
      int ii;
      for (ii = 0; ii < N; ii++) {
        a[ii] = 1.0;
        c[ii] = 2.0;
        b[ii] = 4.0;
      }
    }
  }
  if (!acc_is_present(a, (N * sizeof(float))))
    abort();
  if (!acc_is_present(b, (N * sizeof(float))))
    abort();
  if (!acc_is_present(c, (N * sizeof(float))))
    abort();
  acc_copyout(b, N * sizeof(float));
  for (i = 0; i < N; i++) {
    if (a[i] != 4.0)
      abort();
    if (b[i] != 4.0)
      abort();
  }
  d = (float *)acc_deviceptr(a);
  acc_unmap_data(a);
  acc_free(d);
  d = (float *)acc_deviceptr(c);
  acc_unmap_data(c);
  acc_free(d);
  for (i = 0; i < N; i++) {
    a[i] = 3.0;
    b[i] = 6.0;
  }
  d = (float *)acc_malloc(N * sizeof(float));
#pragma acc parallel copyin(a [0:N]) deviceptr(d) copyout(b [0:N])
  {
    int ii;
    for (ii = 0; ii < N; ii++) {
      d[ii] = a[ii];
      b[ii] = d[ii];
    }
  }
  for (i = 0; i < N; i++) {
    if (a[i] != 3.0)
      abort();
    if (b[i] != 3.0)
      abort();
  }
  if (acc_is_present(a, (N * sizeof(float))))
    abort();
  if (acc_is_present(b, (N * sizeof(float))))
    abort();
  acc_free(d);
  for (i = 0; i < N; i++) {
    a[i] = 6.0;
    b[i] = 0.0;
  }
  d = (float *)acc_copyin(&a[0], N * sizeof(float));
  for (i = 0; i < N; i++) {
    a[i] = 9.0;
  }
#pragma acc data pcopyin(a [0:N]) copyout(b [0:N])
  {
#pragma acc parallel
    {
      int ii;
      for (ii = 0; ii < N; ii++)
        b[ii] = a[ii];
    }
  }
  for (i = 0; i < N; i++) {
    if (b[i] != 6.0)
      abort();
  }
  if (!acc_is_present(&a[0], (N * sizeof(float))))
    abort();
  if (acc_is_present(&b[0], (N * sizeof(float))))
    abort();
  acc_free(d);
  for (i = 0; i < N; i++) {
    a[i] = 6.0;
    b[i] = 0.0;
  }
#pragma acc data copyin(a [0:N]) pcopyout(b [0:N])
  {
#pragma acc parallel
    {
      int ii;
      for (ii = 0; ii < N; ii++)
        b[ii] = a[ii];
    }
  }
  for (i = 0; i < N; i++) {
    if (b[i] != 6.0)
      abort();
  }
  if (acc_is_present(&a[0], (N * sizeof(float))))
    abort();
  if (acc_is_present(&b[0], (N * sizeof(float))))
    abort();
  for (i = 0; i < N; i++) {
    a[i] = 5.0;
    b[i] = 7.0;
  }
#pragma acc data copyin(a [0:N]) pcreate(c [0:N]) copyout(b [0:N])
  {
#pragma acc parallel
    {
      int ii;
      for (ii = 0; ii < N; ii++) {
        c[ii] = a[ii];
        b[ii] = c[ii];
      }
    }
  }
  for (i = 0; i < N; i++) {
    if (a[i] != 5.0)
      abort();
    if (b[i] != 5.0)
      abort();
  }
  if (acc_is_present(&a[0], (N * sizeof(float))))
    abort();
  if (acc_is_present(&b[0], (N * sizeof(float))))
    abort();
  if (acc_is_present(&c[0], (N * sizeof(float))))
    abort();
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x80,%rsp
movl   $0x0,-0x4(%rbp)
mov    %edi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
movl   $0x8,-0x14(%rbp)
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%edi
call   1090 <malloc@plt>
mov    %rax,-0x20(%rbp)
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%edi
call   1090 <malloc@plt>
mov    %rax,-0x28(%rbp)
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%edi
call   1090 <malloc@plt>
mov    %rax,-0x30(%rbp)
movl   $0x0,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    123f <main+0x9f>
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  0x1e2c(%rip),%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
xorps  %xmm0,%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    1200 <main+0x60>
movl   $0x0,-0x40(%rbp)
mov    -0x40(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    127a <main+0xda>
mov    -0x20(%rbp),%rax
movslq -0x40(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
mov    -0x28(%rbp),%rax
movslq -0x40(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x40(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x40(%rbp)
jmp    1246 <main+0xa6>
movl   $0x0,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    12d5 <main+0x135>
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x1d6a(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    12bb <main+0x11b>
jp     12bb <main+0x11b>
jmp    12c2 <main+0x122>
mov    $0x0,%al
call   1030 <abort@plt>
jmp    12c7 <main+0x127>
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    1281 <main+0xe1>
mov    -0x20(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
je     12f9 <main+0x159>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x28(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
je     131d <main+0x17d>
mov    $0x0,%al
call   1030 <abort@plt>
movl   $0x0,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1368 <main+0x1c8>
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  0x1cfc(%rip),%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  0x1cff(%rip),%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    1324 <main+0x184>
movl   $0x0,-0x44(%rbp)
mov    -0x44(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    13a3 <main+0x203>
mov    -0x20(%rbp),%rax
movslq -0x44(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
mov    -0x28(%rbp),%rax
movslq -0x44(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x44(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x44(%rbp)
jmp    136f <main+0x1cf>
movl   $0x0,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    13fe <main+0x25e>
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x1c31(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    13e4 <main+0x244>
jp     13e4 <main+0x244>
jmp    13eb <main+0x24b>
mov    $0x0,%al
call   1030 <abort@plt>
jmp    13f0 <main+0x250>
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    13aa <main+0x20a>
mov    -0x20(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
je     1422 <main+0x282>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x28(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
je     1446 <main+0x2a6>
mov    $0x0,%al
call   1030 <abort@plt>
movl   $0x0,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    148c <main+0x2ec>
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  0x1bd7(%rip),%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
xorps  %xmm0,%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    144d <main+0x2ad>
mov    -0x20(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1050 <acc_copyin@plt>
mov    %rax,-0x38(%rbp)
movl   $0x0,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    14d9 <main+0x339>
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  0x1b7e(%rip),%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    14aa <main+0x30a>
movl   $0x0,-0x48(%rbp)
mov    -0x48(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1514 <main+0x374>
mov    -0x20(%rbp),%rax
movslq -0x48(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
mov    -0x28(%rbp),%rax
movslq -0x48(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x48(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x48(%rbp)
jmp    14e0 <main+0x340>
movl   $0x0,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    156f <main+0x3cf>
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x1ac8(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1555 <main+0x3b5>
jp     1555 <main+0x3b5>
jmp    155c <main+0x3bc>
mov    $0x0,%al
call   1030 <abort@plt>
jmp    1561 <main+0x3c1>
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    151b <main+0x37b>
mov    -0x20(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
jne    1593 <main+0x3f3>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x28(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
je     15b7 <main+0x417>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x38(%rbp),%rdi
call   10b0 <acc_free@plt>
movl   $0x0,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1606 <main+0x466>
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  0x1a5d(%rip),%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
xorps  %xmm0,%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    15c7 <main+0x427>
movl   $0x0,-0x4c(%rbp)
mov    -0x4c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1641 <main+0x4a1>
mov    -0x20(%rbp),%rax
movslq -0x4c(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
mov    -0x28(%rbp),%rax
movslq -0x4c(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x4c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4c(%rbp)
jmp    160d <main+0x46d>
movl   $0x0,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    169c <main+0x4fc>
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x199b(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1682 <main+0x4e2>
jp     1682 <main+0x4e2>
jmp    1689 <main+0x4e9>
mov    $0x0,%al
call   1030 <abort@plt>
jmp    168e <main+0x4ee>
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    1648 <main+0x4a8>
mov    -0x20(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
je     16c0 <main+0x520>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x28(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
je     16e4 <main+0x544>
mov    $0x0,%al
call   1030 <abort@plt>
movl   $0x0,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    172f <main+0x58f>
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  0x1935(%rip),%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  0x1934(%rip),%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    16eb <main+0x54b>
mov    -0x28(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1050 <acc_copyin@plt>
mov    %rax,-0x38(%rbp)
movl   $0x0,-0x50(%rbp)
mov    -0x50(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1781 <main+0x5e1>
mov    -0x20(%rbp),%rax
movslq -0x50(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
mov    -0x28(%rbp),%rax
movslq -0x50(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x50(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x50(%rbp)
jmp    174d <main+0x5ad>
movl   $0x0,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1811 <main+0x671>
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x1853(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    17c2 <main+0x622>
jp     17c2 <main+0x622>
jmp    17c9 <main+0x629>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x183e(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    17f7 <main+0x657>
jp     17f7 <main+0x657>
jmp    17fe <main+0x65e>
mov    $0x0,%al
call   1030 <abort@plt>
jmp    1803 <main+0x663>
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    1788 <main+0x5e8>
mov    -0x20(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
je     1835 <main+0x695>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x28(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
jne    1859 <main+0x6b9>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x38(%rbp),%rdi
call   10b0 <acc_free@plt>
mov    -0x28(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
je     1886 <main+0x6e6>
mov    $0x0,%al
call   1030 <abort@plt>
movl   $0x0,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    18d1 <main+0x731>
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  0x179f(%rip),%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  0x178e(%rip),%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    188d <main+0x6ed>
movl   $0x0,-0x54(%rbp)
mov    -0x54(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1936 <main+0x796>
mov    -0x20(%rbp),%rax
movslq -0x54(%rbp),%rcx
movss  0x1760(%rip),%xmm0
addss  (%rax,%rcx,4),%xmm0
mov    -0x20(%rbp),%rax
movslq -0x54(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x20(%rbp),%rax
movslq -0x54(%rbp),%rcx
movss  0x173a(%rip),%xmm0
addss  (%rax,%rcx,4),%xmm0
mov    -0x28(%rbp),%rax
movslq -0x54(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x54(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x54(%rbp)
jmp    18d8 <main+0x738>
movl   $0x0,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    19c6 <main+0x826>
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x16b6(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1977 <main+0x7d7>
jp     1977 <main+0x7d7>
jmp    197e <main+0x7de>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x1671(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    19ac <main+0x80c>
jp     19ac <main+0x80c>
jmp    19b3 <main+0x813>
mov    $0x0,%al
call   1030 <abort@plt>
jmp    19b8 <main+0x818>
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    193d <main+0x79d>
mov    -0x20(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
je     19ea <main+0x84a>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x28(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
je     1a0e <main+0x86e>
mov    $0x0,%al
call   1030 <abort@plt>
movl   $0x0,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1a59 <main+0x8b9>
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  0x161b(%rip),%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  0x15f2(%rip),%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    1a15 <main+0x875>
movl   $0x0,-0x58(%rbp)
mov    -0x58(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1abe <main+0x91e>
mov    -0x20(%rbp),%rax
movslq -0x58(%rbp),%rcx
movss  0x15d8(%rip),%xmm0
addss  (%rax,%rcx,4),%xmm0
mov    -0x20(%rbp),%rax
movslq -0x58(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x28(%rbp),%rax
movslq -0x58(%rbp),%rcx
movss  0x15b2(%rip),%xmm0
addss  (%rax,%rcx,4),%xmm0
mov    -0x28(%rbp),%rax
movslq -0x58(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x58(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x58(%rbp)
jmp    1a60 <main+0x8c0>
movl   $0x0,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1b4e <main+0x9ae>
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x1516(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1aff <main+0x95f>
jp     1aff <main+0x95f>
jmp    1b06 <main+0x966>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x1511(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1b34 <main+0x994>
jp     1b34 <main+0x994>
jmp    1b3b <main+0x99b>
mov    $0x0,%al
call   1030 <abort@plt>
jmp    1b40 <main+0x9a0>
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    1ac5 <main+0x925>
mov    -0x20(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
je     1b72 <main+0x9d2>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x28(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
je     1b96 <main+0x9f6>
mov    $0x0,%al
call   1030 <abort@plt>
movl   $0x0,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1be1 <main+0xa41>
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  0x148f(%rip),%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  0x146a(%rip),%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    1b9d <main+0x9fd>
mov    -0x20(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1050 <acc_copyin@plt>
mov    %rax,-0x38(%rbp)
mov    -0x28(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1050 <acc_copyin@plt>
mov    %rax,-0x38(%rbp)
movl   $0x0,-0x5c(%rbp)
mov    -0x5c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1c74 <main+0xad4>
mov    -0x20(%rbp),%rax
movslq -0x5c(%rbp),%rcx
movss  0x1422(%rip),%xmm0
addss  (%rax,%rcx,4),%xmm0
mov    -0x20(%rbp),%rax
movslq -0x5c(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x28(%rbp),%rax
movslq -0x5c(%rbp),%rcx
movss  0x13fc(%rip),%xmm0
addss  (%rax,%rcx,4),%xmm0
mov    -0x28(%rbp),%rax
movslq -0x5c(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x5c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x5c(%rbp)
jmp    1c16 <main+0xa76>
movl   $0x0,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1d04 <main+0xb64>
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x1370(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1cb5 <main+0xb15>
jp     1cb5 <main+0xb15>
jmp    1cbc <main+0xb1c>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x1353(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1cea <main+0xb4a>
jp     1cea <main+0xb4a>
jmp    1cf1 <main+0xb51>
mov    $0x0,%al
call   1030 <abort@plt>
jmp    1cf6 <main+0xb56>
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    1c7b <main+0xadb>
mov    -0x20(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
jne    1d28 <main+0xb88>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x28(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
jne    1d4c <main+0xbac>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x20(%rbp),%rdi
call   10a0 <acc_deviceptr@plt>
mov    %rax,-0x38(%rbp)
mov    -0x20(%rbp),%rdi
call   1060 <acc_unmap_data@plt>
mov    -0x38(%rbp),%rdi
call   10b0 <acc_free@plt>
mov    -0x28(%rbp),%rdi
call   10a0 <acc_deviceptr@plt>
mov    %rax,-0x38(%rbp)
mov    -0x28(%rbp),%rdi
call   1060 <acc_unmap_data@plt>
mov    -0x38(%rbp),%rdi
call   10b0 <acc_free@plt>
movl   $0x0,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1dd5 <main+0xc35>
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  0x129b(%rip),%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  0x1276(%rip),%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    1d91 <main+0xbf1>
movl   $0x0,-0x60(%rbp)
mov    -0x60(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1e2a <main+0xc8a>
mov    -0x20(%rbp),%rax
movslq -0x60(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
mov    -0x30(%rbp),%rax
movslq -0x60(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x30(%rbp),%rax
movslq -0x60(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
mov    -0x28(%rbp),%rax
movslq -0x60(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x60(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x60(%rbp)
jmp    1ddc <main+0xc3c>
movl   $0x0,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1eba <main+0xd1a>
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x11ba(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1e6b <main+0xccb>
jp     1e6b <main+0xccb>
jmp    1e72 <main+0xcd2>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x1185(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1ea0 <main+0xd00>
jp     1ea0 <main+0xd00>
jmp    1ea7 <main+0xd07>
mov    $0x0,%al
call   1030 <abort@plt>
jmp    1eac <main+0xd0c>
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    1e31 <main+0xc91>
mov    -0x20(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
je     1ede <main+0xd3e>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x28(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
je     1f02 <main+0xd62>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x30(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
je     1f26 <main+0xd86>
mov    $0x0,%al
call   1030 <abort@plt>
movl   $0x0,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1f71 <main+0xdd1>
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  0x1103(%rip),%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  0x10fa(%rip),%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    1f2d <main+0xd8d>
movl   $0x0,-0x64(%rbp)
mov    -0x64(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1fc6 <main+0xe26>
mov    -0x20(%rbp),%rax
movslq -0x64(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
mov    -0x30(%rbp),%rax
movslq -0x64(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x30(%rbp),%rax
movslq -0x64(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
mov    -0x28(%rbp),%rax
movslq -0x64(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x64(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x64(%rbp)
jmp    1f78 <main+0xdd8>
movl   $0x0,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    2056 <main+0xeb6>
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x1026(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2007 <main+0xe67>
jp     2007 <main+0xe67>
jmp    200e <main+0xe6e>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0xff1(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    203c <main+0xe9c>
jp     203c <main+0xe9c>
jmp    2043 <main+0xea3>
mov    $0x0,%al
call   1030 <abort@plt>
jmp    2048 <main+0xea8>
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    1fcd <main+0xe2d>
mov    -0x20(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
je     207a <main+0xeda>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x28(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
je     209e <main+0xefe>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x30(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
je     20c2 <main+0xf22>
mov    $0x0,%al
call   1030 <abort@plt>
movl   $0x0,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    210d <main+0xf6d>
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  0xf6b(%rip),%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  0xf42(%rip),%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    20c9 <main+0xf29>
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%edi
call   1040 <acc_malloc@plt>
mov    %rax,-0x38(%rbp)
mov    -0x30(%rbp),%rdi
mov    -0x38(%rbp),%rsi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%edx
call   1070 <acc_map_data@plt>
movl   $0x0,-0x68(%rbp)
mov    -0x68(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    218c <main+0xfec>
mov    -0x20(%rbp),%rax
movslq -0x68(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
mov    -0x30(%rbp),%rax
movslq -0x68(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x30(%rbp),%rax
movslq -0x68(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
mov    -0x28(%rbp),%rax
movslq -0x68(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x68(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x68(%rbp)
jmp    213e <main+0xf9e>
movl   $0x0,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    221c <main+0x107c>
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0xe68(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    21cd <main+0x102d>
jp     21cd <main+0x102d>
jmp    21d4 <main+0x1034>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0xe33(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2202 <main+0x1062>
jp     2202 <main+0x1062>
jmp    2209 <main+0x1069>
mov    $0x0,%al
call   1030 <abort@plt>
jmp    220e <main+0x106e>
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    2193 <main+0xff3>
mov    -0x20(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
je     2240 <main+0x10a0>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x28(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
je     2264 <main+0x10c4>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x30(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
jne    2288 <main+0x10e8>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x30(%rbp),%rdi
call   10a0 <acc_deviceptr@plt>
mov    %rax,-0x38(%rbp)
mov    -0x30(%rbp),%rdi
call   1060 <acc_unmap_data@plt>
mov    -0x38(%rbp),%rdi
call   10b0 <acc_free@plt>
movl   $0x0,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    22f2 <main+0x1152>
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  0xd82(%rip),%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  0xd79(%rip),%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    22ae <main+0x110e>
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%edi
call   1040 <acc_malloc@plt>
mov    %rax,-0x38(%rbp)
mov    -0x30(%rbp),%rdi
mov    -0x38(%rbp),%rsi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%edx
call   1070 <acc_map_data@plt>
movl   $0x0,-0x6c(%rbp)
mov    -0x6c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    2371 <main+0x11d1>
mov    -0x20(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
mov    -0x30(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x30(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
mov    -0x28(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x6c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x6c(%rbp)
jmp    2323 <main+0x1183>
movl   $0x0,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    2401 <main+0x1261>
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0xc7b(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    23b2 <main+0x1212>
jp     23b2 <main+0x1212>
jmp    23b9 <main+0x1219>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0xc46(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    23e7 <main+0x1247>
jp     23e7 <main+0x1247>
jmp    23ee <main+0x124e>
mov    $0x0,%al
call   1030 <abort@plt>
jmp    23f3 <main+0x1253>
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    2378 <main+0x11d8>
mov    -0x20(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
je     2425 <main+0x1285>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x28(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
je     2449 <main+0x12a9>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x30(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
jne    246d <main+0x12cd>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x30(%rbp),%rdi
call   1060 <acc_unmap_data@plt>
mov    -0x30(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
je     249a <main+0x12fa>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x38(%rbp),%rdi
call   10b0 <acc_free@plt>
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%edi
call   1040 <acc_malloc@plt>
mov    %rax,-0x38(%rbp)
mov    -0x30(%rbp),%rdi
mov    -0x38(%rbp),%rsi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%edx
call   1070 <acc_map_data@plt>
mov    -0x30(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
jne    24f1 <main+0x1351>
mov    $0x0,%al
call   1030 <abort@plt>
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%edi
call   1040 <acc_malloc@plt>
mov    %rax,-0x38(%rbp)
mov    -0x28(%rbp),%rdi
mov    -0x38(%rbp),%rsi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%edx
call   1070 <acc_map_data@plt>
mov    -0x28(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
jne    253f <main+0x139f>
mov    $0x0,%al
call   1030 <abort@plt>
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%edi
call   1040 <acc_malloc@plt>
mov    %rax,-0x38(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x38(%rbp),%rsi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%edx
call   1070 <acc_map_data@plt>
mov    -0x20(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
jne    258d <main+0x13ed>
mov    $0x0,%al
call   1030 <abort@plt>
movl   $0x0,-0x70(%rbp)
mov    -0x70(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    25ed <main+0x144d>
mov    -0x20(%rbp),%rax
movslq -0x70(%rbp),%rcx
movss  0xaa4(%rip),%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x30(%rbp),%rax
movslq -0x70(%rbp),%rcx
movss  0xa8b(%rip),%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x28(%rbp),%rax
movslq -0x70(%rbp),%rcx
movss  0xa72(%rip),%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x70(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x70(%rbp)
jmp    2594 <main+0x13f4>
mov    -0x20(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
jne    2611 <main+0x1471>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x28(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
jne    2635 <main+0x1495>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x30(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
jne    2659 <main+0x14b9>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x28(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   10c0 <acc_copyout@plt>
movl   $0x0,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    26fc <main+0x155c>
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x980(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    26ad <main+0x150d>
jp     26ad <main+0x150d>
jmp    26b4 <main+0x1514>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x94b(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    26e2 <main+0x1542>
jp     26e2 <main+0x1542>
jmp    26e9 <main+0x1549>
mov    $0x0,%al
call   1030 <abort@plt>
jmp    26ee <main+0x154e>
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    2673 <main+0x14d3>
mov    -0x20(%rbp),%rdi
call   10a0 <acc_deviceptr@plt>
mov    %rax,-0x38(%rbp)
mov    -0x20(%rbp),%rdi
call   1060 <acc_unmap_data@plt>
mov    -0x38(%rbp),%rdi
call   10b0 <acc_free@plt>
mov    -0x30(%rbp),%rdi
call   10a0 <acc_deviceptr@plt>
mov    %rax,-0x38(%rbp)
mov    -0x30(%rbp),%rdi
call   1060 <acc_unmap_data@plt>
mov    -0x38(%rbp),%rdi
call   10b0 <acc_free@plt>
movl   $0x0,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    2785 <main+0x15e5>
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  0x8eb(%rip),%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  0x8ce(%rip),%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    2741 <main+0x15a1>
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%edi
call   1040 <acc_malloc@plt>
mov    %rax,-0x38(%rbp)
movl   $0x0,-0x74(%rbp)
mov    -0x74(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    27ed <main+0x164d>
mov    -0x20(%rbp),%rax
movslq -0x74(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
mov    -0x38(%rbp),%rax
movslq -0x74(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x38(%rbp),%rax
movslq -0x74(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
mov    -0x28(%rbp),%rax
movslq -0x74(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x74(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x74(%rbp)
jmp    279f <main+0x15ff>
movl   $0x0,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    287d <main+0x16dd>
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x7f7(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    282e <main+0x168e>
jp     282e <main+0x168e>
jmp    2835 <main+0x1695>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x7c2(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2863 <main+0x16c3>
jp     2863 <main+0x16c3>
jmp    286a <main+0x16ca>
mov    $0x0,%al
call   1030 <abort@plt>
jmp    286f <main+0x16cf>
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    27f4 <main+0x1654>
mov    -0x20(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
je     28a1 <main+0x1701>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x28(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
je     28c5 <main+0x1725>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x38(%rbp),%rdi
call   10b0 <acc_free@plt>
movl   $0x0,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    2914 <main+0x1774>
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  0x74f(%rip),%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
xorps  %xmm0,%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    28d5 <main+0x1735>
mov    -0x20(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1050 <acc_copyin@plt>
mov    %rax,-0x38(%rbp)
movl   $0x0,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    2961 <main+0x17c1>
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  0x6f6(%rip),%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    2932 <main+0x1792>
movl   $0x0,-0x78(%rbp)
mov    -0x78(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    299c <main+0x17fc>
mov    -0x20(%rbp),%rax
movslq -0x78(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
mov    -0x28(%rbp),%rax
movslq -0x78(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x78(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x78(%rbp)
jmp    2968 <main+0x17c8>
movl   $0x0,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    29f7 <main+0x1857>
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x640(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    29dd <main+0x183d>
jp     29dd <main+0x183d>
jmp    29e4 <main+0x1844>
mov    $0x0,%al
call   1030 <abort@plt>
jmp    29e9 <main+0x1849>
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    29a3 <main+0x1803>
mov    -0x20(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
jne    2a1b <main+0x187b>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x28(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
je     2a3f <main+0x189f>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x38(%rbp),%rdi
call   10b0 <acc_free@plt>
movl   $0x0,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    2a8e <main+0x18ee>
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  0x5d5(%rip),%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
xorps  %xmm0,%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    2a4f <main+0x18af>
movl   $0x0,-0x7c(%rbp)
mov    -0x7c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    2ac9 <main+0x1929>
mov    -0x20(%rbp),%rax
movslq -0x7c(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
mov    -0x28(%rbp),%rax
movslq -0x7c(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x7c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x7c(%rbp)
jmp    2a95 <main+0x18f5>
movl   $0x0,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    2b24 <main+0x1984>
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x513(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2b0a <main+0x196a>
jp     2b0a <main+0x196a>
jmp    2b11 <main+0x1971>
mov    $0x0,%al
call   1030 <abort@plt>
jmp    2b16 <main+0x1976>
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    2ad0 <main+0x1930>
mov    -0x20(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
je     2b48 <main+0x19a8>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x28(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
je     2b6c <main+0x19cc>
mov    $0x0,%al
call   1030 <abort@plt>
movl   $0x0,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    2bb7 <main+0x1a17>
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  0x4ad(%rip),%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  0x494(%rip),%xmm0
movss  %xmm0,(%rax,%rcx,4)
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    2b73 <main+0x19d3>
movl   $0x0,-0x80(%rbp)
mov    -0x80(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    2c0c <main+0x1a6c>
mov    -0x20(%rbp),%rax
movslq -0x80(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
mov    -0x30(%rbp),%rax
movslq -0x80(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x30(%rbp),%rax
movslq -0x80(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
mov    -0x28(%rbp),%rax
movslq -0x80(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x80(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x80(%rbp)
jmp    2bbe <main+0x1a1e>
movl   $0x0,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    2c9c <main+0x1afc>
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x3c8(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2c4d <main+0x1aad>
jp     2c4d <main+0x1aad>
jmp    2c54 <main+0x1ab4>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x393(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2c82 <main+0x1ae2>
jp     2c82 <main+0x1ae2>
jmp    2c89 <main+0x1ae9>
mov    $0x0,%al
call   1030 <abort@plt>
jmp    2c8e <main+0x1aee>
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    2c13 <main+0x1a73>
mov    -0x20(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
je     2cc0 <main+0x1b20>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x28(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
je     2ce4 <main+0x1b44>
mov    $0x0,%al
call   1030 <abort@plt>
mov    -0x30(%rbp),%rdi
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%esi
call   1080 <acc_is_present@plt>
cmp    $0x0,%rax
je     2d08 <main+0x1b68>
mov    $0x0,%al
call   1030 <abort@plt>
xor    %eax,%eax
add    $0x80,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %r14
push   %rbx
push   %rax
mov    $0x20,%edi
call   1060 <malloc@plt>
mov    %rax,%r14
mov    $0x20,%edi
call   1060 <malloc@plt>
mov    %rax,%rbx
mov    $0x20,%edi
call   1060 <malloc@plt>
movl   $0x40400000,(%r14)
movl   $0x0,(%rbx)
movl   $0x40400000,0x4(%r14)
40
movl   $0x0,0x4(%rbx)
movl   $0x40400000,0x8(%r14)
40
movl   $0x0,0x8(%rbx)
movl   $0x40400000,0xc(%r14)
40
movl   $0x0,0xc(%rbx)
movl   $0x40400000,0x10(%r14)
40
movl   $0x0,0x10(%rbx)
movl   $0x40400000,0x14(%r14)
40
movl   $0x0,0x14(%rbx)
movl   $0x40400000,0x18(%r14)
40
movl   $0x0,0x18(%rbx)
movl   $0x40400000,0x1c(%r14)
40
movl   $0x0,0x1c(%rbx)
movss  (%r14),%xmm0
movss  %xmm0,(%rbx)
movss  0x4(%r14),%xmm1
movss  %xmm1,0x4(%rbx)
movss  0x8(%r14),%xmm2
movss  %xmm2,0x8(%rbx)
movss  0xc(%r14),%xmm3
movss  %xmm3,0xc(%rbx)
movss  0x10(%r14),%xmm4
movss  %xmm4,0x10(%rbx)
movss  0x14(%r14),%xmm5
movss  %xmm5,0x14(%rbx)
movss  0x18(%r14),%xmm6
movss  %xmm6,0x18(%rbx)
movss  0x1c(%r14),%xmm7
movss  %xmm7,0x1c(%rbx)
unpcklps %xmm1,%xmm0
unpcklps %xmm3,%xmm2
movlhps %xmm2,%xmm0
unpcklps %xmm5,%xmm4
unpcklps %xmm7,%xmm6
movlhps %xmm6,%xmm4
movaps 0xdb3(%rip),%xmm1
cmpneqps %xmm1,%xmm0
cmpneqps %xmm1,%xmm4
packssdw %xmm4,%xmm0
pmovmskb %xmm0,%eax
test   %eax,%eax
jne    14a0 <main+0x360>
mov    %r14,%rdi
mov    $0x20,%esi
call   1050 <acc_is_present@plt>
test   %rax,%rax
jne    14a0 <main+0x360>
mov    %rbx,%rdi
mov    $0x20,%esi
call   1050 <acc_is_present@plt>
test   %rax,%rax
jne    14a0 <main+0x360>
movl   $0x40a00000,(%r14)
movl   $0x3f800000,(%rbx)
movl   $0x40a00000,0x4(%r14)
40
movl   $0x3f800000,0x4(%rbx)
movl   $0x40a00000,0x8(%r14)
40
movl   $0x3f800000,0x8(%rbx)
movl   $0x40a00000,0xc(%r14)
40
movl   $0x3f800000,0xc(%rbx)
movl   $0x40a00000,0x10(%r14)
40
movl   $0x3f800000,0x10(%rbx)
movl   $0x40a00000,0x14(%r14)
40
movl   $0x3f800000,0x14(%rbx)
movl   $0x40a00000,0x18(%r14)
40
movl   $0x3f800000,0x18(%rbx)
movl   $0x40a00000,0x1c(%r14)
40
movl   $0x3f800000,0x1c(%rbx)
movss  (%r14),%xmm0
movss  %xmm0,(%rbx)
movss  0x4(%r14),%xmm1
movss  %xmm1,0x4(%rbx)
movss  0x8(%r14),%xmm2
movss  %xmm2,0x8(%rbx)
movss  0xc(%r14),%xmm3
movss  %xmm3,0xc(%rbx)
movss  0x10(%r14),%xmm4
movss  %xmm4,0x10(%rbx)
movss  0x14(%r14),%xmm5
movss  %xmm5,0x14(%rbx)
movss  0x18(%r14),%xmm6
movss  %xmm6,0x18(%rbx)
movss  0x1c(%r14),%xmm7
movss  %xmm7,0x1c(%rbx)
unpcklps %xmm1,%xmm0
unpcklps %xmm3,%xmm2
movlhps %xmm2,%xmm0
unpcklps %xmm5,%xmm4
unpcklps %xmm7,%xmm6
movlhps %xmm6,%xmm4
movaps 0xc9a(%rip),%xmm1
cmpneqps %xmm1,%xmm0
cmpneqps %xmm1,%xmm4
packssdw %xmm4,%xmm0
pmovmskb %xmm0,%eax
test   %eax,%eax
jne    14a0 <main+0x360>
mov    %r14,%rdi
mov    $0x20,%esi
call   1050 <acc_is_present@plt>
test   %rax,%rax
jne    14a0 <main+0x360>
mov    %rbx,%rdi
mov    $0x20,%esi
call   1050 <acc_is_present@plt>
test   %rax,%rax
jne    14a0 <main+0x360>
movl   $0x40c00000,(%r14)
movl   $0x0,(%rbx)
movl   $0x40c00000,0x4(%r14)
40
movl   $0x0,0x4(%rbx)
movl   $0x40c00000,0x8(%r14)
40
movl   $0x0,0x8(%rbx)
movl   $0x40c00000,0xc(%r14)
40
movl   $0x0,0xc(%rbx)
movl   $0x40c00000,0x10(%r14)
40
movl   $0x0,0x10(%rbx)
movl   $0x40c00000,0x14(%r14)
40
movl   $0x0,0x14(%rbx)
movl   $0x40c00000,0x18(%r14)
40
movl   $0x0,0x18(%rbx)
movl   $0x40c00000,0x1c(%r14)
40
movl   $0x0,0x1c(%rbx)
mov    %r14,%rdi
mov    $0x20,%esi
call   1040 <acc_copyin@plt>
movaps 0xbdc(%rip),%xmm0
movups %xmm0,(%r14)
movups %xmm0,0x10(%r14)
movl   $0x41100000,(%rbx)
movss  0x4(%r14),%xmm0
movss  %xmm0,0x4(%rbx)
movss  0x8(%r14),%xmm0
movss  %xmm0,0x8(%rbx)
movss  0xc(%r14),%xmm0
movss  %xmm0,0xc(%rbx)
movss  0x10(%r14),%xmm0
movss  %xmm0,0x10(%rbx)
movss  0x14(%r14),%xmm0
movss  %xmm0,0x14(%rbx)
movss  0x18(%r14),%xmm0
movss  %xmm0,0x18(%rbx)
movd   0x1c(%r14),%xmm0
movd   %xmm0,0x1c(%rbx)
xor    %eax,%eax
call   1030 <abort@plt>

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

LLVM IR (-O2):
define i32 @main(i32 %0, i8** nocapture readnone %1) {
%3 = tail call i64 @malloc(i32 32)
%4 = inttoptr i64 %3 to float*
%5 = tail call i64 @malloc(i32 32)
%6 = inttoptr i64 %5 to float*
%7 = tail call i64 @malloc(i32 32)
store float 3.000000e+00, float* %4
store float 0.000000e+00, float* %6
%8 = getelementptr inbounds float, float* %4, i64 1
store float 3.000000e+00, float* %8
%9 = getelementptr inbounds float, float* %6, i64 1
store float 0.000000e+00, float* %9
%10 = getelementptr inbounds float, float* %4, i64 2
store float 3.000000e+00, float* %10
%11 = getelementptr inbounds float, float* %6, i64 2
store float 0.000000e+00, float* %11
%12 = getelementptr inbounds float, float* %4, i64 3
store float 3.000000e+00, float* %12
%13 = getelementptr inbounds float, float* %6, i64 3
store float 0.000000e+00, float* %13
%14 = getelementptr inbounds float, float* %4, i64 4
store float 3.000000e+00, float* %14
%15 = getelementptr inbounds float, float* %6, i64 4
store float 0.000000e+00, float* %15
%16 = getelementptr inbounds float, float* %4, i64 5
store float 3.000000e+00, float* %16
%17 = getelementptr inbounds float, float* %6, i64 5
store float 0.000000e+00, float* %17
%18 = getelementptr inbounds float, float* %4, i64 6
store float 3.000000e+00, float* %18
%19 = getelementptr inbounds float, float* %6, i64 6
store float 0.000000e+00, float* %19
%20 = getelementptr inbounds float, float* %4, i64 7
store float 3.000000e+00, float* %20
%21 = getelementptr inbounds float, float* %6, i64 7
store float 0.000000e+00, float* %21
%22 = load float, float* %4
store float %22, float* %6
%23 = load float, float* %8
store float %23, float* %9
%24 = load float, float* %10
store float %24, float* %11
%25 = load float, float* %12
store float %25, float* %13
%26 = load float, float* %14
store float %26, float* %15
%27 = load float, float* %16
store float %27, float* %17
%28 = load float, float* %18
store float %28, float* %19
%29 = load float, float* %20
store float %29, float* %21
%30 = insertelement <8 x float> poison, float %22, i64 0
%31 = insertelement <8 x float> %30, float %23, i64 1
%32 = insertelement <8 x float> %31, float %24, i64 2
%33 = insertelement <8 x float> %32, float %25, i64 3
%34 = insertelement <8 x float> %33, float %26, i64 4
%35 = insertelement <8 x float> %34, float %27, i64 5
%36 = insertelement <8 x float> %35, float %28, i64 6
%37 = insertelement <8 x float> %36, float %29, i64 7
%38 = freeze <8 x float> %37
%39 = fcmp une <8 x float> %38, <float 3.000000e+00, float 3.000000e+00, float 3.000000e+00, float 3.000000e+00, float 3.000000e+00, float 3.000000e+00, float 3.000000e+00, float 3.000000e+00>
%40 = bitcast <8 x i1> %39 to i8
%41 = icmp eq i8 %40, 0
br i1 %41, label %42, label %45
42: ; preds = %2
%43 = tail call i64 @acc_is_present(float* %4, i32 32)
%44 = icmp eq i64 %43, 0
br i1 %44, label %49, label %47
45: ; preds = %2
%46 = tail call i32 (...) @abort()
unreachable
47: ; preds = %42
%48 = tail call i32 (...) @abort()
unreachable
49: ; preds = %42
%50 = tail call i64 @acc_is_present(float* %6, i32 32)
%51 = icmp eq i64 %50, 0
br i1 %51, label %52, label %73
52: ; preds = %49
store float 5.000000e+00, float* %4
store float 1.000000e+00, float* %6
store float 5.000000e+00, float* %8
store float 1.000000e+00, float* %9
store float 5.000000e+00, float* %10
store float 1.000000e+00, float* %11
store float 5.000000e+00, float* %12
store float 1.000000e+00, float* %13
store float 5.000000e+00, float* %14
store float 1.000000e+00, float* %15
store float 5.000000e+00, float* %16
store float 1.000000e+00, float* %17
store float 5.000000e+00, float* %18
store float 1.000000e+00, float* %19
store float 5.000000e+00, float* %20
store float 1.000000e+00, float* %21
%53 = load float, float* %4
store float %53, float* %6
%54 = load float, float* %8
store float %54, float* %9
%55 = load float, float* %10
store float %55, float* %11
%56 = load float, float* %12
store float %56, float* %13
%57 = load float, float* %14
store float %57, float* %15
%58 = load float, float* %16
store float %58, float* %17
%59 = load float, float* %18
store float %59, float* %19
%60 = load float, float* %20
store float %60, float* %21
%61 = insertelement <8 x float> poison, float %53, i64 0
%62 = insertelement <8 x float> %61, float %54, i64 1
%63 = insertelement <8 x float> %62, float %55, i64 2
%64 = insertelement <8 x float> %63, float %56, i64 3
%65 = insertelement <8 x float> %64, float %57, i64 4
%66 = insertelement <8 x float> %65, float %58, i64 5
%67 = insertelement <8 x float> %66, float %59, i64 6
%68 = insertelement <8 x float> %67, float %60, i64 7
%69 = freeze <8 x float> %68
%70 = fcmp une <8 x float> %69, <float 5.000000e+00, float 5.000000e+00, float 5.000000e+00, float 5.000000e+00, float 5.000000e+00, float 5.000000e+00, float 5.000000e+00, float 5.000000e+00>
%71 = bitcast <8 x i1> %70 to i8
%72 = icmp eq i8 %71, 0
br i1 %72, label %75, label %78
73: ; preds = %49
%74 = tail call i32 (...) @abort()
unreachable
75: ; preds = %52
%76 = tail call i64 @acc_is_present(float* %4, i32 32)
%77 = icmp eq i64 %76, 0
br i1 %77, label %82, label %80
78: ; preds = %52
%79 = tail call i32 (...) @abort()
unreachable
80: ; preds = %75
%81 = tail call i32 (...) @abort()
unreachable
82: ; preds = %75
%83 = tail call i64 @acc_is_present(float* %6, i32 32)
%84 = icmp eq i64 %83, 0
br i1 %84, label %87, label %85
85: ; preds = %82
%86 = tail call i32 (...) @abort()
unreachable
87: ; preds = %82
store float 6.000000e+00, float* %4
store float 0.000000e+00, float* %6
store float 6.000000e+00, float* %8
store float 0.000000e+00, float* %9
store float 6.000000e+00, float* %10
store float 0.000000e+00, float* %11
store float 6.000000e+00, float* %12
store float 0.000000e+00, float* %13
store float 6.000000e+00, float* %14
store float 0.000000e+00, float* %15
store float 6.000000e+00, float* %16
store float 0.000000e+00, float* %17
store float 6.000000e+00, float* %18
store float 0.000000e+00, float* %19
store float 6.000000e+00, float* %20
store float 0.000000e+00, float* %21
%88 = tail call i64 @acc_copyin(float* %4, i32 32)
%89 = inttoptr i64 %3 to <4 x float>*
store <4 x float> <float 9.000000e+00, float 9.000000e+00, float 9.000000e+00, float 9.000000e+00>, <4 x float>* %89
%90 = bitcast float* %14 to <4 x float>*
store <4 x float> <float 9.000000e+00, float 9.000000e+00, float 9.000000e+00, float 9.000000e+00>, <4 x float>* %90
store float 9.000000e+00, float* %6
%91 = load float, float* %8
store float %91, float* %9
%92 = load float, float* %10
store float %92, float* %11
%93 = load float, float* %12
store float %93, float* %13
%94 = load float, float* %14
store float %94, float* %15
%95 = load float, float* %16
store float %95, float* %17
%96 = load float, float* %18
store float %96, float* %19
%97 = load float, float* %20
store float %97, float* %21
%98 = tail call i32 (...) @abort()
unreachable
}