void adjust(int *a, int n) {
  int i;
  int j;
  int item;
  int *mem_6;
  int *mem_7;
  int *mem_8;
  int *mem_9;
  int *mem_10;
  int *mem_11;
  int *mem_12;
  int *mem_13;
  int *mem_14;
  int *mem_15;
  int *mem_16;
  int *mem_17;
  {
    __CrestCall(229, 4);
    __CrestStore(228, (unsigned long)(&n));
    __CrestLoad(230, (unsigned long)0, (long long)0);
    __CrestStore(231, (unsigned long)(&j));
    j = 0;
    mem_6 = a + j;
    __CrestLoad(232, (unsigned long)mem_6, (long long)*mem_6);
    __CrestStore(233, (unsigned long)(&item));
    item = *mem_6;
    __CrestLoad(238, (unsigned long)0, (long long)2);
    __CrestLoad(237, (unsigned long)(&j), (long long)j);
    __CrestApply2(236, 2, (long long)(2 * j));
    __CrestLoad(235, (unsigned long)0, (long long)1);
    __CrestApply2(234, 0, (long long)(2 * j + 1));
    __CrestStore(239, (unsigned long)(&i));
    i = 2 * j + 1;
    {
      {
        __CrestLoad(244, (unsigned long)(&i), (long long)i);
        __CrestLoad(243, (unsigned long)(&n), (long long)n);
        __CrestLoad(242, (unsigned long)0, (long long)1);
        __CrestApply2(241, 1, (long long)(n - 1));
        __CrestApply2(240, 15, (long long)(i <= n - 1));
        if (i <= n - 1) {
          __CrestBranch(245, 75, 1);
          {
            __CrestLoad(253, (unsigned long)(&i), (long long)i);
            __CrestLoad(252, (unsigned long)0, (long long)1);
            __CrestApply2(251, 0, (long long)(i + 1));
            __CrestLoad(250, (unsigned long)(&n), (long long)n);
            __CrestLoad(249, (unsigned long)0, (long long)1);
            __CrestApply2(248, 1, (long long)(n - 1));
            __CrestApply2(247, 15, (long long)(i + 1 <= n - 1));
            if (i + 1 <= n - 1) {
              __CrestBranch(254, 76, 1);
              {
                mem_7 = a + i;
                mem_8 = a + (i + 1);
                {
                  __CrestLoad(258, (unsigned long)mem_7, (long long)*mem_7);
                  __CrestLoad(257, (unsigned long)mem_8, (long long)*mem_8);
                  __CrestApply2(256, 16, (long long)(*mem_7 < *mem_8));
                  if (*mem_7 < *mem_8) {
                    __CrestBranch(259, 79, 1);
                    __CrestLoad(263, (unsigned long)(&i), (long long)i);
                    __CrestLoad(262, (unsigned long)0, (long long)1);
                    __CrestApply2(261, 0, (long long)(i + 1));
                    __CrestStore(264, (unsigned long)(&i));
                    i++;
                  } else {
                    __CrestBranch(260, 80, 0);
                  }
                }
              }
            } else {
              __CrestBranch(255, 81, 0);
            }
          }
          {
            mem_9 = a + i;
            {
              __CrestLoad(267, (unsigned long)(&item), (long long)item);
              __CrestLoad(266, (unsigned long)mem_9, (long long)*mem_9);
              __CrestApply2(265, 16, (long long)(item < *mem_9));
              if (item < *mem_9) {
                __CrestBranch(268, 85, 1);
                mem_10 = a + j;
                mem_11 = a + i;
                __CrestLoad(270, (unsigned long)mem_11, (long long)*mem_11);
                __CrestStore(271, (unsigned long)mem_10);
                *mem_10 = *mem_11;
                __CrestLoad(272, (unsigned long)(&i), (long long)i);
                __CrestStore(273, (unsigned long)(&j));
                j = i;
                __CrestLoad(278, (unsigned long)0, (long long)2);
                __CrestLoad(277, (unsigned long)(&j), (long long)j);
                __CrestApply2(276, 2, (long long)(2 * j));
                __CrestLoad(275, (unsigned long)0, (long long)1);
                __CrestApply2(274, 0, (long long)(2 * j + 1));
                __CrestStore(279, (unsigned long)(&i));
                i = 2 * j + 1;
              } else {
                __CrestBranch(269, 86, 0);
                __CrestLoad(280, (unsigned long)(&n), (long long)n);
                __CrestStore(281, (unsigned long)(&i));
                i = n;
              }
            }
          }
        } else {
          __CrestBranch(246, 87, 0);
        }
      }
      {
        __CrestLoad(286, (unsigned long)(&i), (long long)i);
        __CrestLoad(285, (unsigned long)(&n), (long long)n);
        __CrestLoad(284, (unsigned long)0, (long long)1);
        __CrestApply2(283, 1, (long long)(n - 1));
        __CrestApply2(282, 15, (long long)(i <= n - 1));
        if (i <= n - 1) {
          __CrestBranch(287, 89, 1);
          {
            __CrestLoad(295, (unsigned long)(&i), (long long)i);
            __CrestLoad(294, (unsigned long)0, (long long)1);
            __CrestApply2(293, 0, (long long)(i + 1));
            __CrestLoad(292, (unsigned long)(&n), (long long)n);
            __CrestLoad(291, (unsigned long)0, (long long)1);
            __CrestApply2(290, 1, (long long)(n - 1));
            __CrestApply2(289, 15, (long long)(i + 1 <= n - 1));
            if (i + 1 <= n - 1) {
              __CrestBranch(296, 90, 1);
              {
                mem_12 = a + i;
                mem_13 = a + (i + 1);
                {
                  __CrestLoad(300, (unsigned long)mem_12, (long long)*mem_12);
                  __CrestLoad(299, (unsigned long)mem_13, (long long)*mem_13);
                  __CrestApply2(298, 16, (long long)(*mem_12 < *mem_13));
                  if (*mem_12 < *mem_13) {
                    __CrestBranch(301, 93, 1);
                    __CrestLoad(305, (unsigned long)(&i), (long long)i);
                    __CrestLoad(304, (unsigned long)0, (long long)1);
                    __CrestApply2(303, 0, (long long)(i + 1));
                    __CrestStore(306, (unsigned long)(&i));
                    i++;
                  } else {
                    __CrestBranch(302, 94, 0);
                  }
                }
              }
            } else {
              __CrestBranch(297, 95, 0);
            }
          }
          {
            mem_14 = a + i;
            {
              __CrestLoad(309, (unsigned long)(&item), (long long)item);
              __CrestLoad(308, (unsigned long)mem_14, (long long)*mem_14);
              __CrestApply2(307, 16, (long long)(item < *mem_14));
              if (item < *mem_14) {
                __CrestBranch(310, 99, 1);
                mem_15 = a + j;
                mem_16 = a + i;
                __CrestLoad(312, (unsigned long)mem_16, (long long)*mem_16);
                __CrestStore(313, (unsigned long)mem_15);
                *mem_15 = *mem_16;
                __CrestLoad(314, (unsigned long)(&i), (long long)i);
                __CrestStore(315, (unsigned long)(&j));
                j = i;
                __CrestLoad(320, (unsigned long)0, (long long)2);
                __CrestLoad(319, (unsigned long)(&j), (long long)j);
                __CrestApply2(318, 2, (long long)(2 * j));
                __CrestLoad(317, (unsigned long)0, (long long)1);
                __CrestApply2(316, 0, (long long)(2 * j + 1));
                __CrestStore(321, (unsigned long)(&i));
                i = 2 * j + 1;
              } else {
                __CrestBranch(311, 100, 0);
                __CrestLoad(322, (unsigned long)(&n), (long long)n);
                __CrestStore(323, (unsigned long)(&i));
                i = n;
              }
            }
          }
        } else {
          __CrestBranch(288, 101, 0);
        }
      }
    }
    mem_17 = a + j;
    __CrestLoad(324, (unsigned long)(&item), (long long)item);
    __CrestStore(325, (unsigned long)mem_17);
    *mem_17 = item;
    {
      __CrestReturn(326);
      return;
    }
  }
}


x86 assembly (clang, -O0):
<adjust>:
push   %rbp
mov    %rsp,%rbp
sub    $0x80,%rsp
mov    %rdi,-0x8(%rbp)
mov    %esi,-0xc(%rbp)
mov    $0xe5,%edi
mov    $0x4,%esi
mov    $0x0,%al
call   1070 <__CrestCall@plt>
lea    -0xc(%rbp),%rsi
mov    $0xe4,%edi
mov    $0x0,%al
call   1050 <__CrestStore@plt>
mov    $0xe6,%edi
xor    %eax,%eax
mov    %eax,%edx
mov    %rdx,%rsi
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
lea    -0x14(%rbp),%rsi
mov    $0xe7,%edi
mov    $0x0,%al
call   1050 <__CrestStore@plt>
movl   $0x0,-0x14(%rbp)
mov    -0x8(%rbp),%rax
movslq -0x14(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
mov    %rax,-0x20(%rbp)
mov    -0x20(%rbp),%rsi
mov    -0x20(%rbp),%rax
movslq (%rax),%rdx
mov    $0xe8,%edi
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
lea    -0x18(%rbp),%rsi
mov    $0xe9,%edi
mov    $0x0,%al
call   1050 <__CrestStore@plt>
mov    -0x20(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0x18(%rbp)
mov    $0xee,%edi
xor    %eax,%eax
mov    %eax,%esi
mov    $0x2,%edx
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
lea    -0x14(%rbp),%rsi
movslq -0x14(%rbp),%rdx
mov    $0xed,%edi
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
mov    -0x14(%rbp),%eax
shl    $0x1,%eax
movslq %eax,%rdx
mov    $0xec,%edi
mov    $0x2,%esi
mov    $0x0,%al
call   1030 <__CrestApply2@plt>
mov    $0xeb,%edi
xor    %eax,%eax
mov    %eax,%esi
mov    $0x1,%edx
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
mov    -0x14(%rbp),%eax
shl    $0x1,%eax
add    $0x1,%eax
movslq %eax,%rdx
mov    $0xea,%edi
xor    %esi,%esi
mov    $0x0,%al
call   1030 <__CrestApply2@plt>
lea    -0x10(%rbp),%rsi
mov    $0xef,%edi
mov    $0x0,%al
call   1050 <__CrestStore@plt>
mov    -0x14(%rbp),%eax
shl    $0x1,%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
lea    -0x10(%rbp),%rsi
movslq -0x10(%rbp),%rdx
mov    $0xf4,%edi
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
lea    -0xc(%rbp),%rsi
movslq -0xc(%rbp),%rdx
mov    $0xf3,%edi
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
mov    $0xf2,%edi
xor    %eax,%eax
mov    %eax,%esi
mov    $0x1,%edx
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
mov    -0xc(%rbp),%eax
sub    $0x1,%eax
movslq %eax,%rdx
mov    $0xf1,%edi
mov    $0x1,%esi
mov    $0x0,%al
call   1030 <__CrestApply2@plt>
mov    -0x10(%rbp),%eax
mov    -0xc(%rbp),%ecx
sub    $0x1,%ecx
cmp    %ecx,%eax
setle  %al
and    $0x1,%al
movzbl %al,%eax
movslq %eax,%rdx
mov    $0xf0,%edi
mov    $0xf,%esi
mov    $0x0,%al
call   1030 <__CrestApply2@plt>
mov    -0x10(%rbp),%eax
mov    -0xc(%rbp),%ecx
sub    $0x1,%ecx
cmp    %ecx,%eax
jg     171c <adjust+0x5bc>
mov    $0xf5,%edi
mov    $0x4b,%esi
mov    $0x1,%edx
mov    $0x0,%al
call   1040 <__CrestBranch@plt>
lea    -0x10(%rbp),%rsi
movslq -0x10(%rbp),%rdx
mov    $0xfd,%edi
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
mov    $0xfc,%edi
xor    %eax,%eax
mov    %eax,%esi
mov    $0x1,%edx
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
movslq %eax,%rdx
mov    $0xfb,%edi
xor    %esi,%esi
mov    $0x0,%al
call   1030 <__CrestApply2@plt>
lea    -0xc(%rbp),%rsi
movslq -0xc(%rbp),%rdx
mov    $0xfa,%edi
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
mov    $0xf9,%edi
xor    %eax,%eax
mov    %eax,%esi
mov    $0x1,%edx
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
mov    -0xc(%rbp),%eax
sub    $0x1,%eax
movslq %eax,%rdx
mov    $0xf8,%edi
mov    $0x1,%esi
mov    $0x0,%al
call   1030 <__CrestApply2@plt>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    -0xc(%rbp),%ecx
sub    $0x1,%ecx
cmp    %ecx,%eax
setle  %al
and    $0x1,%al
movzbl %al,%eax
movslq %eax,%rdx
mov    $0xf7,%edi
mov    $0xf,%esi
mov    $0x0,%al
call   1030 <__CrestApply2@plt>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    -0xc(%rbp),%ecx
sub    $0x1,%ecx
cmp    %ecx,%eax
jg     1529 <adjust+0x3c9>
mov    $0xfe,%edi
mov    $0x4c,%esi
mov    $0x1,%edx
mov    $0x0,%al
call   1040 <__CrestBranch@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
mov    %rax,-0x28(%rbp)
mov    -0x8(%rbp),%rax
mov    -0x10(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
shl    $0x2,%rcx
add    %rcx,%rax
mov    %rax,-0x30(%rbp)
mov    -0x28(%rbp),%rsi
mov    -0x28(%rbp),%rax
movslq (%rax),%rdx
mov    $0x102,%edi
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
mov    -0x30(%rbp),%rsi
mov    -0x30(%rbp),%rax
movslq (%rax),%rdx
mov    $0x101,%edi
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
mov    -0x28(%rbp),%rax
mov    (%rax),%eax
mov    -0x30(%rbp),%rcx
cmp    (%rcx),%eax
setl   %al
and    $0x1,%al
movzbl %al,%eax
movslq %eax,%rdx
mov    $0x100,%edi
mov    $0x10,%esi
mov    $0x0,%al
call   1030 <__CrestApply2@plt>
mov    -0x28(%rbp),%rax
mov    (%rax),%eax
mov    -0x30(%rbp),%rcx
cmp    (%rcx),%eax
jge    1511 <adjust+0x3b1>
mov    $0x103,%edi
mov    $0x4f,%esi
mov    $0x1,%edx
mov    $0x0,%al
call   1040 <__CrestBranch@plt>
lea    -0x10(%rbp),%rsi
movslq -0x10(%rbp),%rdx
mov    $0x107,%edi
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
mov    $0x106,%edi
xor    %eax,%eax
mov    %eax,%esi
mov    $0x1,%edx
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
movslq %eax,%rdx
mov    $0x105,%edi
xor    %esi,%esi
mov    $0x0,%al
call   1030 <__CrestApply2@plt>
lea    -0x10(%rbp),%rsi
mov    $0x108,%edi
mov    $0x0,%al
call   1050 <__CrestStore@plt>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    1524 <adjust+0x3c4>
mov    $0x104,%edi
mov    $0x50,%esi
xor    %edx,%edx
mov    $0x0,%al
call   1040 <__CrestBranch@plt>
jmp    153c <adjust+0x3dc>
mov    $0xff,%edi
mov    $0x51,%esi
xor    %edx,%edx
mov    $0x0,%al
call   1040 <__CrestBranch@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
mov    %rax,-0x38(%rbp)
lea    -0x18(%rbp),%rsi
movslq -0x18(%rbp),%rdx
mov    $0x10b,%edi
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
mov    -0x38(%rbp),%rsi
mov    -0x38(%rbp),%rax
movslq (%rax),%rdx
mov    $0x10a,%edi
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
mov    -0x18(%rbp),%eax
mov    -0x38(%rbp),%rcx
cmp    (%rcx),%eax
setl   %al
and    $0x1,%al
movzbl %al,%eax
movslq %eax,%rdx
mov    $0x109,%edi
mov    $0x10,%esi
mov    $0x0,%al
call   1030 <__CrestApply2@plt>
mov    -0x18(%rbp),%eax
mov    -0x38(%rbp),%rcx
cmp    (%rcx),%eax
jge    16da <adjust+0x57a>
mov    $0x10c,%edi
mov    $0x55,%esi
mov    $0x1,%edx
mov    $0x0,%al
call   1040 <__CrestBranch@plt>
mov    -0x8(%rbp),%rax
movslq -0x14(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
mov    %rax,-0x40(%rbp)
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
mov    %rax,-0x48(%rbp)
mov    -0x48(%rbp),%rsi
mov    -0x48(%rbp),%rax
movslq (%rax),%rdx
mov    $0x10e,%edi
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
mov    -0x40(%rbp),%rsi
mov    $0x10f,%edi
mov    $0x0,%al
call   1050 <__CrestStore@plt>
mov    -0x48(%rbp),%rax
mov    (%rax),%ecx
mov    -0x40(%rbp),%rax
mov    %ecx,(%rax)
lea    -0x10(%rbp),%rsi
movslq -0x10(%rbp),%rdx
mov    $0x110,%edi
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
lea    -0x14(%rbp),%rsi
mov    $0x111,%edi
mov    $0x0,%al
call   1050 <__CrestStore@plt>
mov    -0x10(%rbp),%eax
mov    %eax,-0x14(%rbp)
mov    $0x116,%edi
xor    %eax,%eax
mov    %eax,%esi
mov    $0x2,%edx
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
lea    -0x14(%rbp),%rsi
movslq -0x14(%rbp),%rdx
mov    $0x115,%edi
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
mov    -0x14(%rbp),%eax
shl    $0x1,%eax
movslq %eax,%rdx
mov    $0x114,%edi
mov    $0x2,%esi
mov    $0x0,%al
call   1030 <__CrestApply2@plt>
mov    $0x113,%edi
xor    %eax,%eax
mov    %eax,%esi
mov    $0x1,%edx
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
mov    -0x14(%rbp),%eax
shl    $0x1,%eax
add    $0x1,%eax
movslq %eax,%rdx
mov    $0x112,%edi
xor    %esi,%esi
mov    $0x0,%al
call   1030 <__CrestApply2@plt>
lea    -0x10(%rbp),%rsi
mov    $0x117,%edi
mov    $0x0,%al
call   1050 <__CrestStore@plt>
mov    -0x14(%rbp),%eax
shl    $0x1,%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    1717 <adjust+0x5b7>
mov    $0x10d,%edi
mov    $0x56,%esi
xor    %edx,%edx
mov    $0x0,%al
call   1040 <__CrestBranch@plt>
lea    -0xc(%rbp),%rsi
movslq -0xc(%rbp),%rdx
mov    $0x118,%edi
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
lea    -0x10(%rbp),%rsi
mov    $0x119,%edi
mov    $0x0,%al
call   1050 <__CrestStore@plt>
mov    -0xc(%rbp),%eax
mov    %eax,-0x10(%rbp)
jmp    172f <adjust+0x5cf>
mov    $0xf6,%edi
mov    $0x57,%esi
xor    %edx,%edx
mov    $0x0,%al
call   1040 <__CrestBranch@plt>
lea    -0x10(%rbp),%rsi
movslq -0x10(%rbp),%rdx
mov    $0x11e,%edi
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
lea    -0xc(%rbp),%rsi
movslq -0xc(%rbp),%rdx
mov    $0x11d,%edi
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
mov    $0x11c,%edi
xor    %eax,%eax
mov    %eax,%esi
mov    $0x1,%edx
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
mov    -0xc(%rbp),%eax
sub    $0x1,%eax
movslq %eax,%rdx
mov    $0x11b,%edi
mov    $0x1,%esi
mov    $0x0,%al
call   1030 <__CrestApply2@plt>
mov    -0x10(%rbp),%eax
mov    -0xc(%rbp),%ecx
sub    $0x1,%ecx
cmp    %ecx,%eax
setle  %al
and    $0x1,%al
movzbl %al,%eax
movslq %eax,%rdx
mov    $0x11a,%edi
mov    $0xf,%esi
mov    $0x0,%al
call   1030 <__CrestApply2@plt>
mov    -0x10(%rbp),%eax
mov    -0xc(%rbp),%ecx
sub    $0x1,%ecx
cmp    %ecx,%eax
jg     1bbd <adjust+0xa5d>
mov    $0x11f,%edi
mov    $0x59,%esi
mov    $0x1,%edx
mov    $0x0,%al
call   1040 <__CrestBranch@plt>
lea    -0x10(%rbp),%rsi
movslq -0x10(%rbp),%rdx
mov    $0x127,%edi
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
mov    $0x126,%edi
xor    %eax,%eax
mov    %eax,%esi
mov    $0x1,%edx
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
movslq %eax,%rdx
mov    $0x125,%edi
xor    %esi,%esi
mov    $0x0,%al
call   1030 <__CrestApply2@plt>
lea    -0xc(%rbp),%rsi
movslq -0xc(%rbp),%rdx
mov    $0x124,%edi
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
mov    $0x123,%edi
xor    %eax,%eax
mov    %eax,%esi
mov    $0x1,%edx
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
mov    -0xc(%rbp),%eax
sub    $0x1,%eax
movslq %eax,%rdx
mov    $0x122,%edi
mov    $0x1,%esi
mov    $0x0,%al
call   1030 <__CrestApply2@plt>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    -0xc(%rbp),%ecx
sub    $0x1,%ecx
cmp    %ecx,%eax
setle  %al
and    $0x1,%al
movzbl %al,%eax
movslq %eax,%rdx
mov    $0x121,%edi
mov    $0xf,%esi
mov    $0x0,%al
call   1030 <__CrestApply2@plt>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    -0xc(%rbp),%ecx
sub    $0x1,%ecx
cmp    %ecx,%eax
jg     19ca <adjust+0x86a>
mov    $0x128,%edi
mov    $0x5a,%esi
mov    $0x1,%edx
mov    $0x0,%al
call   1040 <__CrestBranch@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
mov    %rax,-0x50(%rbp)
mov    -0x8(%rbp),%rax
mov    -0x10(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
shl    $0x2,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x50(%rbp),%rsi
mov    -0x50(%rbp),%rax
movslq (%rax),%rdx
mov    $0x12c,%edi
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
mov    -0x58(%rbp),%rsi
mov    -0x58(%rbp),%rax
movslq (%rax),%rdx
mov    $0x12b,%edi
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
mov    -0x50(%rbp),%rax
mov    (%rax),%eax
mov    -0x58(%rbp),%rcx
cmp    (%rcx),%eax
setl   %al
and    $0x1,%al
movzbl %al,%eax
movslq %eax,%rdx
mov    $0x12a,%edi
mov    $0x10,%esi
mov    $0x0,%al
call   1030 <__CrestApply2@plt>
mov    -0x50(%rbp),%rax
mov    (%rax),%eax
mov    -0x58(%rbp),%rcx
cmp    (%rcx),%eax
jge    19b2 <adjust+0x852>
mov    $0x12d,%edi
mov    $0x5d,%esi
mov    $0x1,%edx
mov    $0x0,%al
call   1040 <__CrestBranch@plt>
lea    -0x10(%rbp),%rsi
movslq -0x10(%rbp),%rdx
mov    $0x131,%edi
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
mov    $0x130,%edi
xor    %eax,%eax
mov    %eax,%esi
mov    $0x1,%edx
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
movslq %eax,%rdx
mov    $0x12f,%edi
xor    %esi,%esi
mov    $0x0,%al
call   1030 <__CrestApply2@plt>
lea    -0x10(%rbp),%rsi
mov    $0x132,%edi
mov    $0x0,%al
call   1050 <__CrestStore@plt>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    19c5 <adjust+0x865>
mov    $0x12e,%edi
mov    $0x5e,%esi
xor    %edx,%edx
mov    $0x0,%al
call   1040 <__CrestBranch@plt>
jmp    19dd <adjust+0x87d>
mov    $0x129,%edi
mov    $0x5f,%esi
xor    %edx,%edx
mov    $0x0,%al
call   1040 <__CrestBranch@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
mov    %rax,-0x60(%rbp)
lea    -0x18(%rbp),%rsi
movslq -0x18(%rbp),%rdx
mov    $0x135,%edi
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
mov    -0x60(%rbp),%rsi
mov    -0x60(%rbp),%rax
movslq (%rax),%rdx
mov    $0x134,%edi
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
mov    -0x18(%rbp),%eax
mov    -0x60(%rbp),%rcx
cmp    (%rcx),%eax
setl   %al
and    $0x1,%al
movzbl %al,%eax
movslq %eax,%rdx
mov    $0x133,%edi
mov    $0x10,%esi
mov    $0x0,%al
call   1030 <__CrestApply2@plt>
mov    -0x18(%rbp),%eax
mov    -0x60(%rbp),%rcx
cmp    (%rcx),%eax
jge    1b7b <adjust+0xa1b>
mov    $0x136,%edi
mov    $0x63,%esi
mov    $0x1,%edx
mov    $0x0,%al
call   1040 <__CrestBranch@plt>
mov    -0x8(%rbp),%rax
movslq -0x14(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
mov    %rax,-0x68(%rbp)
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
mov    %rax,-0x70(%rbp)
mov    -0x70(%rbp),%rsi
mov    -0x70(%rbp),%rax
movslq (%rax),%rdx
mov    $0x138,%edi
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
mov    -0x68(%rbp),%rsi
mov    $0x139,%edi
mov    $0x0,%al
call   1050 <__CrestStore@plt>
mov    -0x70(%rbp),%rax
mov    (%rax),%ecx
mov    -0x68(%rbp),%rax
mov    %ecx,(%rax)
lea    -0x10(%rbp),%rsi
movslq -0x10(%rbp),%rdx
mov    $0x13a,%edi
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
lea    -0x14(%rbp),%rsi
mov    $0x13b,%edi
mov    $0x0,%al
call   1050 <__CrestStore@plt>
mov    -0x10(%rbp),%eax
mov    %eax,-0x14(%rbp)
mov    $0x140,%edi
xor    %eax,%eax
mov    %eax,%esi
mov    $0x2,%edx
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
lea    -0x14(%rbp),%rsi
movslq -0x14(%rbp),%rdx
mov    $0x13f,%edi
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
mov    -0x14(%rbp),%eax
shl    $0x1,%eax
movslq %eax,%rdx
mov    $0x13e,%edi
mov    $0x2,%esi
mov    $0x0,%al
call   1030 <__CrestApply2@plt>
mov    $0x13d,%edi
xor    %eax,%eax
mov    %eax,%esi
mov    $0x1,%edx
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
mov    -0x14(%rbp),%eax
shl    $0x1,%eax
add    $0x1,%eax
movslq %eax,%rdx
mov    $0x13c,%edi
xor    %esi,%esi
mov    $0x0,%al
call   1030 <__CrestApply2@plt>
lea    -0x10(%rbp),%rsi
mov    $0x141,%edi
mov    $0x0,%al
call   1050 <__CrestStore@plt>
mov    -0x14(%rbp),%eax
shl    $0x1,%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    1bb8 <adjust+0xa58>
mov    $0x137,%edi
mov    $0x64,%esi
xor    %edx,%edx
mov    $0x0,%al
call   1040 <__CrestBranch@plt>
lea    -0xc(%rbp),%rsi
movslq -0xc(%rbp),%rdx
mov    $0x142,%edi
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
lea    -0x10(%rbp),%rsi
mov    $0x143,%edi
mov    $0x0,%al
call   1050 <__CrestStore@plt>
mov    -0xc(%rbp),%eax
mov    %eax,-0x10(%rbp)
jmp    1bd0 <adjust+0xa70>
mov    $0x120,%edi
mov    $0x65,%esi
xor    %edx,%edx
mov    $0x0,%al
call   1040 <__CrestBranch@plt>
mov    -0x8(%rbp),%rax
movslq -0x14(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
mov    %rax,-0x78(%rbp)
lea    -0x18(%rbp),%rsi
movslq -0x18(%rbp),%rdx
mov    $0x144,%edi
mov    $0x0,%al
call   1080 <__CrestLoad@plt>
mov    -0x78(%rbp),%rsi
mov    $0x145,%edi
mov    $0x0,%al
call   1050 <__CrestStore@plt>
mov    -0x18(%rbp),%ecx
mov    -0x78(%rbp),%rax
mov    %ecx,(%rax)
mov    $0x146,%edi
mov    $0x0,%al
call   1060 <__CrestReturn@plt>
add    $0x80,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<adjust>:
push   %r15
push   %r14
push   %r12
push   %rbx
sub    $0x18,%rsp
mov    %rdi,%r15
mov    %esi,0xc(%rsp)
mov    $0xe5,%edi
mov    $0x4,%esi
xor    %eax,%eax
call   1070 <__CrestCall@plt>
lea    0xc(%rsp),%r14
mov    $0xe4,%edi
mov    %r14,%rsi
xor    %eax,%eax
call   1050 <__CrestStore@plt>
mov    $0xe6,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
lea    0x10(%rsp),%rbx
mov    $0xe7,%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1050 <__CrestStore@plt>
movl   $0x0,0x10(%rsp)
movslq (%r15),%rdx
mov    $0xe8,%edi
mov    %r15,%rsi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
lea    0x14(%rsp),%rsi
mov    $0xe9,%edi
xor    %eax,%eax
call   1050 <__CrestStore@plt>
mov    (%r15),%eax
mov    %eax,0x14(%rsp)
mov    $0x2,%edx
mov    $0xee,%edi
xor    %esi,%esi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
movslq 0x10(%rsp),%rdx
mov    $0xed,%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
movslq 0x10(%rsp),%rdx
add    %rdx,%rdx
mov    $0xec,%edi
mov    $0x2,%esi
xor    %eax,%eax
call   1030 <__CrestApply2@plt>
mov    $0x1,%edx
mov    $0xeb,%edi
xor    %esi,%esi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
movslq 0x10(%rsp),%rax
lea    (%rax,%rax,1),%rdx
add    $0x1,%rdx
mov    $0xea,%edi
xor    %esi,%esi
xor    %eax,%eax
call   1030 <__CrestApply2@plt>
lea    0x8(%rsp),%rbx
mov    $0xef,%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1050 <__CrestStore@plt>
movslq 0x10(%rsp),%rax
lea    (%rax,%rax,1),%rdx
add    $0x1,%rdx
mov    %edx,0x8(%rsp)
mov    $0xf4,%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
movslq 0xc(%rsp),%rdx
mov    $0xf3,%edi
mov    %r14,%rsi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
mov    $0x1,%edx
mov    $0xf2,%edi
xor    %esi,%esi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
movslq 0xc(%rsp),%rdx
add    $0xffffffffffffffff,%rdx
mov    $0xf1,%edi
mov    $0x1,%esi
xor    %eax,%eax
call   1030 <__CrestApply2@plt>
mov    0x8(%rsp),%eax
xor    %edx,%edx
cmp    0xc(%rsp),%eax
setl   %dl
mov    $0xf0,%edi
mov    $0xf,%esi
xor    %eax,%eax
call   1030 <__CrestApply2@plt>
mov    0x8(%rsp),%eax
cmp    0xc(%rsp),%eax
jge    14af <adjust+0x34f>
mov    $0xf5,%edi
mov    $0x4b,%esi
mov    $0x1,%edx
xor    %eax,%eax
call   1040 <__CrestBranch@plt>
movslq 0x8(%rsp),%rdx
lea    0x8(%rsp),%rsi
mov    $0xfd,%edi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
mov    $0x1,%edx
mov    $0xfc,%edi
xor    %esi,%esi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
movslq 0x8(%rsp),%rdx
add    $0x1,%rdx
mov    $0xfb,%edi
xor    %esi,%esi
xor    %eax,%eax
call   1030 <__CrestApply2@plt>
movslq 0xc(%rsp),%rdx
lea    0xc(%rsp),%rsi
mov    $0xfa,%edi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
mov    $0x1,%edx
mov    $0xf9,%edi
xor    %esi,%esi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
movslq 0xc(%rsp),%rdx
add    $0xffffffffffffffff,%rdx
mov    $0xf8,%edi
mov    $0x1,%esi
xor    %eax,%eax
call   1030 <__CrestApply2@plt>
mov    0xc(%rsp),%eax
add    $0xffffffff,%eax
xor    %edx,%edx
cmp    %eax,0x8(%rsp)
setl   %dl
mov    $0xf7,%edi
mov    $0xf,%esi
xor    %eax,%eax
call   1030 <__CrestApply2@plt>
mov    0xc(%rsp),%eax
add    $0xffffffff,%eax
cmp    %eax,0x8(%rsp)
jge    14cb <adjust+0x36b>
mov    $0xfe,%edi
mov    $0x4c,%esi
mov    $0x1,%edx
xor    %eax,%eax
call   1040 <__CrestBranch@plt>
movslq 0x8(%rsp),%rbx
lea    (%r15,%rbx,4),%rsi
lea    (%r15,%rbx,4),%r14
add    $0x4,%r14
movslq (%r15,%rbx,4),%rdx
mov    $0x102,%edi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
movslq 0x4(%r15,%rbx,4),%rdx
mov    $0x101,%edi
mov    %r14,%rsi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
mov    (%r15,%rbx,4),%eax
xor    %edx,%edx
cmp    0x4(%r15,%rbx,4),%eax
setl   %dl
mov    $0x100,%edi
mov    $0x10,%esi
xor    %eax,%eax
call   1030 <__CrestApply2@plt>
mov    (%r15,%rbx,4),%eax
cmp    0x4(%r15,%rbx,4),%eax
jge    14d7 <adjust+0x377>
mov    $0x103,%edi
mov    $0x4f,%esi
mov    $0x1,%edx
xor    %eax,%eax
call   1040 <__CrestBranch@plt>
movslq 0x8(%rsp),%rdx
lea    0x8(%rsp),%rbx
mov    $0x107,%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
mov    $0x1,%edx
mov    $0x106,%edi
xor    %esi,%esi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
movslq 0x8(%rsp),%rdx
add    $0x1,%rdx
mov    $0x105,%edi
xor    %esi,%esi
xor    %eax,%eax
call   1030 <__CrestApply2@plt>
mov    $0x108,%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1050 <__CrestStore@plt>
addl   $0x1,0x8(%rsp)
jmp    14ea <adjust+0x38a>
mov    $0xf6,%edi
mov    $0x57,%esi
xor    %edx,%edx
xor    %eax,%eax
call   1040 <__CrestBranch@plt>
mov    0x8(%rsp),%eax
jmp    1696 <adjust+0x536>
mov    $0xff,%edi
mov    $0x51,%esi
jmp    14e1 <adjust+0x381>
mov    $0x104,%edi
mov    $0x50,%esi
xor    %edx,%edx
xor    %eax,%eax
call   1040 <__CrestBranch@plt>
movslq 0x8(%rsp),%rbx
lea    (%r15,%rbx,4),%r14
movslq 0x14(%rsp),%rdx
lea    0x14(%rsp),%rsi
mov    $0x10b,%edi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
movslq (%r15,%rbx,4),%rdx
mov    $0x10a,%edi
mov    %r14,%rsi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
mov    0x14(%rsp),%eax
xor    %edx,%edx
cmp    (%r15,%rbx,4),%eax
setl   %dl
mov    $0x109,%edi
mov    $0x10,%esi
xor    %eax,%eax
call   1030 <__CrestApply2@plt>
mov    0x14(%rsp),%eax
cmp    (%r15,%rbx,4),%eax
jge    1654 <adjust+0x4f4>
mov    $0x10c,%edi
mov    $0x55,%esi
mov    $0x1,%edx
xor    %eax,%eax
call   1040 <__CrestBranch@plt>
movslq 0x10(%rsp),%r12
lea    (%r15,%r12,4),%r14
movslq 0x8(%rsp),%rbx
lea    (%r15,%rbx,4),%rsi
movslq (%r15,%rbx,4),%rdx
mov    $0x10e,%edi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
mov    $0x10f,%edi
mov    %r14,%rsi
xor    %eax,%eax
call   1050 <__CrestStore@plt>
mov    (%r15,%rbx,4),%eax
mov    %eax,(%r15,%r12,4)
movslq 0x8(%rsp),%rdx
lea    0x8(%rsp),%r14
mov    $0x110,%edi
mov    %r14,%rsi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
lea    0x10(%rsp),%rbx
mov    $0x111,%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1050 <__CrestStore@plt>
mov    0x8(%rsp),%eax
mov    %eax,0x10(%rsp)
mov    $0x2,%edx
mov    $0x116,%edi
xor    %esi,%esi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
movslq 0x10(%rsp),%rdx
mov    $0x115,%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
movslq 0x10(%rsp),%rdx
add    %rdx,%rdx
mov    $0x114,%edi
mov    $0x2,%esi
xor    %eax,%eax
call   1030 <__CrestApply2@plt>
mov    $0x1,%edx
mov    $0x113,%edi
xor    %esi,%esi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
movslq 0x10(%rsp),%rax
lea    (%rax,%rax,1),%rdx
add    $0x1,%rdx
mov    $0x112,%edi
xor    %esi,%esi
xor    %eax,%eax
call   1030 <__CrestApply2@plt>
mov    $0x117,%edi
mov    %r14,%rsi
xor    %eax,%eax
call   1050 <__CrestStore@plt>
mov    0x10(%rsp),%eax
add    %eax,%eax
add    $0x1,%eax
jmp    1692 <adjust+0x532>
mov    $0x10d,%edi
mov    $0x56,%esi
xor    %edx,%edx
xor    %eax,%eax
call   1040 <__CrestBranch@plt>
movslq 0xc(%rsp),%rdx
lea    0xc(%rsp),%rsi
mov    $0x118,%edi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
lea    0x8(%rsp),%rsi
mov    $0x119,%edi
xor    %eax,%eax
call   1050 <__CrestStore@plt>
mov    0xc(%rsp),%eax
mov    %eax,0x8(%rsp)
movslq %eax,%rdx
lea    0x8(%rsp),%rsi
mov    $0x11e,%edi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
movslq 0xc(%rsp),%rdx
lea    0xc(%rsp),%rsi
mov    $0x11d,%edi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
mov    $0x1,%edx
mov    $0x11c,%edi
xor    %esi,%esi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
movslq 0xc(%rsp),%rdx
add    $0xffffffffffffffff,%rdx
mov    $0x11b,%edi
mov    $0x1,%esi
xor    %eax,%eax
call   1030 <__CrestApply2@plt>
mov    0x8(%rsp),%eax
xor    %edx,%edx
cmp    0xc(%rsp),%eax
setl   %dl
mov    $0x11a,%edi
mov    $0xf,%esi
xor    %eax,%eax
call   1030 <__CrestApply2@plt>
mov    0x8(%rsp),%eax
cmp    0xc(%rsp),%eax
jge    18cc <adjust+0x76c>
mov    $0x11f,%edi
mov    $0x59,%esi
mov    $0x1,%edx
xor    %eax,%eax
call   1040 <__CrestBranch@plt>
movslq 0x8(%rsp),%rdx
lea    0x8(%rsp),%rsi
mov    $0x127,%edi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
mov    $0x1,%edx
mov    $0x126,%edi
xor    %esi,%esi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
movslq 0x8(%rsp),%rdx
add    $0x1,%rdx
mov    $0x125,%edi
xor    %esi,%esi
xor    %eax,%eax
call   1030 <__CrestApply2@plt>
movslq 0xc(%rsp),%rdx
lea    0xc(%rsp),%rsi
mov    $0x124,%edi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
mov    $0x1,%edx
mov    $0x123,%edi
xor    %esi,%esi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
movslq 0xc(%rsp),%rdx
add    $0xffffffffffffffff,%rdx
mov    $0x122,%edi
mov    $0x1,%esi
xor    %eax,%eax
call   1030 <__CrestApply2@plt>
mov    0xc(%rsp),%eax
add    $0xffffffff,%eax
xor    %edx,%edx
cmp    %eax,0x8(%rsp)
setl   %dl
mov    $0x121,%edi
mov    $0xf,%esi
xor    %eax,%eax
call   1030 <__CrestApply2@plt>
mov    0xc(%rsp),%eax
add    $0xffffffff,%eax
cmp    %eax,0x8(%rsp)
jge    18e4 <adjust+0x784>
mov    $0x128,%edi
mov    $0x5a,%esi
mov    $0x1,%edx
xor    %eax,%eax
call   1040 <__CrestBranch@plt>
movslq 0x8(%rsp),%rbx
lea    (%r15,%rbx,4),%rsi
lea    (%r15,%rbx,4),%r14
add    $0x4,%r14
movslq (%r15,%rbx,4),%rdx
mov    $0x12c,%edi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
movslq 0x4(%r15,%rbx,4),%rdx
mov    $0x12b,%edi
mov    %r14,%rsi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
mov    (%r15,%rbx,4),%eax
xor    %edx,%edx
cmp    0x4(%r15,%rbx,4),%eax
setl   %dl
mov    $0x12a,%edi
mov    $0x10,%esi
xor    %eax,%eax
call   1030 <__CrestApply2@plt>
mov    (%r15,%rbx,4),%eax
cmp    0x4(%r15,%rbx,4),%eax
jge    18f0 <adjust+0x790>
mov    $0x12d,%edi
mov    $0x5d,%esi
mov    $0x1,%edx
xor    %eax,%eax
call   1040 <__CrestBranch@plt>
movslq 0x8(%rsp),%rdx
lea    0x8(%rsp),%rbx
mov    $0x131,%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
mov    $0x1,%edx
mov    $0x130,%edi
xor    %esi,%esi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
movslq 0x8(%rsp),%rdx
add    $0x1,%rdx
mov    $0x12f,%edi
xor    %esi,%esi
xor    %eax,%eax
call   1030 <__CrestApply2@plt>
mov    $0x132,%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1050 <__CrestStore@plt>
addl   $0x1,0x8(%rsp)
jmp    1903 <adjust+0x7a3>
mov    $0x120,%edi
mov    $0x65,%esi
xor    %edx,%edx
xor    %eax,%eax
call   1040 <__CrestBranch@plt>
jmp    1aaf <adjust+0x94f>
mov    $0x129,%edi
mov    $0x5f,%esi
jmp    18fa <adjust+0x79a>
mov    $0x12e,%edi
mov    $0x5e,%esi
xor    %edx,%edx
xor    %eax,%eax
call   1040 <__CrestBranch@plt>
movslq 0x8(%rsp),%rbx
lea    (%r15,%rbx,4),%r14
movslq 0x14(%rsp),%rdx
lea    0x14(%rsp),%rsi
mov    $0x135,%edi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
movslq (%r15,%rbx,4),%rdx
mov    $0x134,%edi
mov    %r14,%rsi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
mov    0x14(%rsp),%eax
xor    %edx,%edx
cmp    (%r15,%rbx,4),%eax
setl   %dl
mov    $0x133,%edi
mov    $0x10,%esi
xor    %eax,%eax
call   1030 <__CrestApply2@plt>
mov    0x14(%rsp),%eax
cmp    (%r15,%rbx,4),%eax
jge    1a6d <adjust+0x90d>
mov    $0x136,%edi
mov    $0x63,%esi
mov    $0x1,%edx
xor    %eax,%eax
call   1040 <__CrestBranch@plt>
movslq 0x10(%rsp),%r12
lea    (%r15,%r12,4),%r14
movslq 0x8(%rsp),%rbx
lea    (%r15,%rbx,4),%rsi
movslq (%r15,%rbx,4),%rdx
mov    $0x138,%edi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
mov    $0x139,%edi
mov    %r14,%rsi
xor    %eax,%eax
call   1050 <__CrestStore@plt>
mov    (%r15,%rbx,4),%eax
mov    %eax,(%r15,%r12,4)
movslq 0x8(%rsp),%rdx
lea    0x8(%rsp),%r14
mov    $0x13a,%edi
mov    %r14,%rsi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
lea    0x10(%rsp),%rbx
mov    $0x13b,%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1050 <__CrestStore@plt>
mov    0x8(%rsp),%eax
mov    %eax,0x10(%rsp)
mov    $0x2,%edx
mov    $0x140,%edi
xor    %esi,%esi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
movslq 0x10(%rsp),%rdx
mov    $0x13f,%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
movslq 0x10(%rsp),%rdx
add    %rdx,%rdx
mov    $0x13e,%edi
mov    $0x2,%esi
xor    %eax,%eax
call   1030 <__CrestApply2@plt>
mov    $0x1,%edx
mov    $0x13d,%edi
xor    %esi,%esi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
movslq 0x10(%rsp),%rax
lea    (%rax,%rax,1),%rdx
add    $0x1,%rdx
mov    $0x13c,%edi
xor    %esi,%esi
xor    %eax,%eax
call   1030 <__CrestApply2@plt>
mov    $0x141,%edi
mov    %r14,%rsi
xor    %eax,%eax
call   1050 <__CrestStore@plt>
mov    0x10(%rsp),%eax
add    %eax,%eax
add    $0x1,%eax
jmp    1aab <adjust+0x94b>
mov    $0x137,%edi
mov    $0x64,%esi
xor    %edx,%edx
xor    %eax,%eax
call   1040 <__CrestBranch@plt>
movslq 0xc(%rsp),%rdx
lea    0xc(%rsp),%rsi
mov    $0x142,%edi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
lea    0x8(%rsp),%rsi
mov    $0x143,%edi
xor    %eax,%eax
call   1050 <__CrestStore@plt>
mov    0xc(%rsp),%eax
mov    %eax,0x8(%rsp)
movslq 0x10(%rsp),%rbx
lea    (%r15,%rbx,4),%r14
movslq 0x14(%rsp),%rdx
lea    0x14(%rsp),%rsi
mov    $0x144,%edi
xor    %eax,%eax
call   1080 <__CrestLoad@plt>
mov    $0x145,%edi
mov    %r14,%rsi
xor    %eax,%eax
call   1050 <__CrestStore@plt>
mov    0x14(%rsp),%eax
mov    %eax,(%r15,%rbx,4)
mov    $0x146,%edi
xor    %eax,%eax
call   1060 <__CrestReturn@plt>
add    $0x18,%rsp
pop    %rbx
pop    %r12
pop    %r14
pop    %r15
ret

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

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