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