void Octree_labeling(int octant, int label, int *cube) {
  if (octant == 1) {
    if (cube[0] == 1)
      cube[0] = label;
    if (cube[1] == 1) {
      cube[1] = label;
      Octree_labeling(2, label, cube);
    }
    if (cube[3] == 1) {
      cube[3] = label;
      Octree_labeling(3, label, cube);
    }
    if (cube[4] == 1) {
      cube[4] = label;
      Octree_labeling(2, label, cube);
      Octree_labeling(3, label, cube);
      Octree_labeling(4, label, cube);
    }
    if (cube[9] == 1) {
      cube[9] = label;
      Octree_labeling(5, label, cube);
    }
    if (cube[10] == 1) {
      cube[10] = label;
      Octree_labeling(2, label, cube);
      Octree_labeling(5, label, cube);
      Octree_labeling(6, label, cube);
    }
    if (cube[12] == 1) {
      cube[12] = label;
      Octree_labeling(3, label, cube);
      Octree_labeling(5, label, cube);
      Octree_labeling(7, label, cube);
    }
  }
  if (octant == 2) {
    if (cube[1] == 1) {
      cube[1] = label;
      Octree_labeling(1, label, cube);
    }
    if (cube[4] == 1) {
      cube[4] = label;
      Octree_labeling(1, label, cube);
      Octree_labeling(3, label, cube);
      Octree_labeling(4, label, cube);
    }
    if (cube[10] == 1) {
      cube[10] = label;
      Octree_labeling(1, label, cube);
      Octree_labeling(5, label, cube);
      Octree_labeling(6, label, cube);
    }
    if (cube[2] == 1)
      cube[2] = label;
    if (cube[5] == 1) {
      cube[5] = label;
      Octree_labeling(4, label, cube);
    }
    if (cube[11] == 1) {
      cube[11] = label;
      Octree_labeling(6, label, cube);
    }
    if (cube[13] == 1) {
      cube[13] = label;
      Octree_labeling(4, label, cube);
      Octree_labeling(6, label, cube);
      Octree_labeling(8, label, cube);
    }
  }
  if (octant == 3) {
    if (cube[3] == 1) {
      cube[3] = label;
      Octree_labeling(1, label, cube);
    }
    if (cube[4] == 1) {
      cube[4] = label;
      Octree_labeling(1, label, cube);
      Octree_labeling(2, label, cube);
      Octree_labeling(4, label, cube);
    }
    if (cube[12] == 1) {
      cube[12] = label;
      Octree_labeling(1, label, cube);
      Octree_labeling(5, label, cube);
      Octree_labeling(7, label, cube);
    }
    if (cube[6] == 1)
      cube[6] = label;
    if (cube[7] == 1) {
      cube[7] = label;
      Octree_labeling(4, label, cube);
    }
    if (cube[14] == 1) {
      cube[14] = label;
      Octree_labeling(7, label, cube);
    }
    if (cube[15] == 1) {
      cube[15] = label;
      Octree_labeling(4, label, cube);
      Octree_labeling(7, label, cube);
      Octree_labeling(8, label, cube);
    }
  }
  if (octant == 4) {
    if (cube[4] == 1) {
      cube[4] = label;
      Octree_labeling(1, label, cube);
      Octree_labeling(2, label, cube);
      Octree_labeling(3, label, cube);
    }
    if (cube[5] == 1) {
      cube[5] = label;
      Octree_labeling(2, label, cube);
    }
    if (cube[13] == 1) {
      cube[13] = label;
      Octree_labeling(2, label, cube);
      Octree_labeling(6, label, cube);
      Octree_labeling(8, label, cube);
    }
    if (cube[7] == 1) {
      cube[7] = label;
      Octree_labeling(3, label, cube);
    }
    if (cube[15] == 1) {
      cube[15] = label;
      Octree_labeling(3, label, cube);
      Octree_labeling(7, label, cube);
      Octree_labeling(8, label, cube);
    }
    if (cube[8] == 1)
      cube[8] = label;
    if (cube[16] == 1) {
      cube[16] = label;
      Octree_labeling(8, label, cube);
    }
  }
  if (octant == 5) {
    if (cube[9] == 1) {
      cube[9] = label;
      Octree_labeling(1, label, cube);
    }
    if (cube[10] == 1) {
      cube[10] = label;
      Octree_labeling(1, label, cube);
      Octree_labeling(2, label, cube);
      Octree_labeling(6, label, cube);
    }
    if (cube[12] == 1) {
      cube[12] = label;
      Octree_labeling(1, label, cube);
      Octree_labeling(3, label, cube);
      Octree_labeling(7, label, cube);
    }
    if (cube[17] == 1)
      cube[17] = label;
    if (cube[18] == 1) {
      cube[18] = label;
      Octree_labeling(6, label, cube);
    }
    if (cube[20] == 1) {
      cube[20] = label;
      Octree_labeling(7, label, cube);
    }
    if (cube[21] == 1) {
      cube[21] = label;
      Octree_labeling(6, label, cube);
      Octree_labeling(7, label, cube);
      Octree_labeling(8, label, cube);
    }
  }
  if (octant == 6) {
    if (cube[10] == 1) {
      cube[10] = label;
      Octree_labeling(1, label, cube);
      Octree_labeling(2, label, cube);
      Octree_labeling(5, label, cube);
    }
    if (cube[11] == 1) {
      cube[11] = label;
      Octree_labeling(2, label, cube);
    }
    if (cube[13] == 1) {
      cube[13] = label;
      Octree_labeling(2, label, cube);
      Octree_labeling(4, label, cube);
      Octree_labeling(8, label, cube);
    }
    if (cube[18] == 1) {
      cube[18] = label;
      Octree_labeling(5, label, cube);
    }
    if (cube[21] == 1) {
      cube[21] = label;
      Octree_labeling(5, label, cube);
      Octree_labeling(7, label, cube);
      Octree_labeling(8, label, cube);
    }
    if (cube[19] == 1)
      cube[19] = label;
    if (cube[22] == 1) {
      cube[22] = label;
      Octree_labeling(8, label, cube);
    }
  }
  if (octant == 7) {
    if (cube[12] == 1) {
      cube[12] = label;
      Octree_labeling(1, label, cube);
      Octree_labeling(3, label, cube);
      Octree_labeling(5, label, cube);
    }
    if (cube[14] == 1) {
      cube[14] = label;
      Octree_labeling(3, label, cube);
    }
    if (cube[15] == 1) {
      cube[15] = label;
      Octree_labeling(3, label, cube);
      Octree_labeling(4, label, cube);
      Octree_labeling(8, label, cube);
    }
    if (cube[20] == 1) {
      cube[20] = label;
      Octree_labeling(5, label, cube);
    }
    if (cube[21] == 1) {
      cube[21] = label;
      Octree_labeling(5, label, cube);
      Octree_labeling(6, label, cube);
      Octree_labeling(8, label, cube);
    }
    if (cube[23] == 1)
      cube[23] = label;
    if (cube[24] == 1) {
      cube[24] = label;
      Octree_labeling(8, label, cube);
    }
  }
  if (octant == 8) {
    if (cube[13] == 1) {
      cube[13] = label;
      Octree_labeling(2, label, cube);
      Octree_labeling(4, label, cube);
      Octree_labeling(6, label, cube);
    }
    if (cube[15] == 1) {
      cube[15] = label;
      Octree_labeling(3, label, cube);
      Octree_labeling(4, label, cube);
      Octree_labeling(7, label, cube);
    }
    if (cube[16] == 1) {
      cube[16] = label;
      Octree_labeling(4, label, cube);
    }
    if (cube[21] == 1) {
      cube[21] = label;
      Octree_labeling(5, label, cube);
      Octree_labeling(6, label, cube);
      Octree_labeling(7, label, cube);
    }
    if (cube[22] == 1) {
      cube[22] = label;
      Octree_labeling(6, label, cube);
    }
    if (cube[24] == 1) {
      cube[24] = label;
      Octree_labeling(7, label, cube);
    }
    if (cube[25] == 1)
      cube[25] = label;
  }
}


x86 assembly (clang, -O0):
<Octree_labeling>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
mov    %edi,-0x4(%rbp)
mov    %esi,-0x8(%rbp)
mov    %rdx,-0x10(%rbp)
cmpl   $0x1,-0x4(%rbp)
jne    12a3 <Octree_labeling+0x193>
mov    -0x10(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1142 <Octree_labeling+0x32>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,(%rax)
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x4(%rax)
jne    116b <Octree_labeling+0x5b>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x4(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x2,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0xc(%rax)
jne    1194 <Octree_labeling+0x84>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0xc(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x3,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x10(%rax)
jne    11df <Octree_labeling+0xcf>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x10(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x2,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x3,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x4,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x24(%rax)
jne    1208 <Octree_labeling+0xf8>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x24(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x5,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x28(%rax)
jne    1253 <Octree_labeling+0x143>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x28(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x2,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x5,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x6,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x30(%rax)
jne    129e <Octree_labeling+0x18e>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x30(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x3,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x5,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x7,%edi
call   1030 <Octree_labeling@plt>
jmp    12a3 <Octree_labeling+0x193>
cmpl   $0x2,-0x4(%rbp)
jne    1426 <Octree_labeling+0x316>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x4(%rax)
jne    12d6 <Octree_labeling+0x1c6>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x4(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x1,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x10(%rax)
jne    1321 <Octree_labeling+0x211>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x10(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x1,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x3,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x4,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x28(%rax)
jne    136c <Octree_labeling+0x25c>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x28(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x1,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x5,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x6,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x8(%rax)
jne    1384 <Octree_labeling+0x274>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x8(%rax)
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x14(%rax)
jne    13ad <Octree_labeling+0x29d>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x14(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x4,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x2c(%rax)
jne    13d6 <Octree_labeling+0x2c6>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x2c(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x6,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x34(%rax)
jne    1421 <Octree_labeling+0x311>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x34(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x4,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x6,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x8,%edi
call   1030 <Octree_labeling@plt>
jmp    1426 <Octree_labeling+0x316>
cmpl   $0x3,-0x4(%rbp)
jne    15a9 <Octree_labeling+0x499>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0xc(%rax)
jne    1459 <Octree_labeling+0x349>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0xc(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x1,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x10(%rax)
jne    14a4 <Octree_labeling+0x394>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x10(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x1,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x2,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x4,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x30(%rax)
jne    14ef <Octree_labeling+0x3df>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x30(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x1,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x5,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x7,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x18(%rax)
jne    1507 <Octree_labeling+0x3f7>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x18(%rax)
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x1c(%rax)
jne    1530 <Octree_labeling+0x420>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x1c(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x4,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x38(%rax)
jne    1559 <Octree_labeling+0x449>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x38(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x7,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x3c(%rax)
jne    15a4 <Octree_labeling+0x494>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x3c(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x4,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x7,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x8,%edi
call   1030 <Octree_labeling@plt>
jmp    15a9 <Octree_labeling+0x499>
cmpl   $0x4,-0x4(%rbp)
jne    172c <Octree_labeling+0x61c>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x10(%rax)
jne    15fe <Octree_labeling+0x4ee>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x10(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x1,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x2,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x3,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x14(%rax)
jne    1627 <Octree_labeling+0x517>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x14(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x2,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x34(%rax)
jne    1672 <Octree_labeling+0x562>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x34(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x2,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x6,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x8,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x1c(%rax)
jne    169b <Octree_labeling+0x58b>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x1c(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x3,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x3c(%rax)
jne    16e6 <Octree_labeling+0x5d6>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x3c(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x3,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x7,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x8,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x20(%rax)
jne    16fe <Octree_labeling+0x5ee>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x20(%rax)
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x40(%rax)
jne    1727 <Octree_labeling+0x617>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x40(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x8,%edi
call   1030 <Octree_labeling@plt>
jmp    172c <Octree_labeling+0x61c>
cmpl   $0x5,-0x4(%rbp)
jne    18af <Octree_labeling+0x79f>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x24(%rax)
jne    175f <Octree_labeling+0x64f>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x24(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x1,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x28(%rax)
jne    17aa <Octree_labeling+0x69a>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x28(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x1,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x2,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x6,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x30(%rax)
jne    17f5 <Octree_labeling+0x6e5>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x30(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x1,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x3,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x7,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x44(%rax)
jne    180d <Octree_labeling+0x6fd>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x44(%rax)
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x48(%rax)
jne    1836 <Octree_labeling+0x726>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x48(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x6,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x50(%rax)
jne    185f <Octree_labeling+0x74f>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x50(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x7,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x54(%rax)
jne    18aa <Octree_labeling+0x79a>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x54(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x6,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x7,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x8,%edi
call   1030 <Octree_labeling@plt>
jmp    18af <Octree_labeling+0x79f>
cmpl   $0x6,-0x4(%rbp)
jne    1a32 <Octree_labeling+0x922>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x28(%rax)
jne    1904 <Octree_labeling+0x7f4>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x28(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x1,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x2,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x5,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x2c(%rax)
jne    192d <Octree_labeling+0x81d>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x2c(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x2,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x34(%rax)
jne    1978 <Octree_labeling+0x868>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x34(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x2,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x4,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x8,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x48(%rax)
jne    19a1 <Octree_labeling+0x891>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x48(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x5,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x54(%rax)
jne    19ec <Octree_labeling+0x8dc>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x54(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x5,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x7,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x8,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x4c(%rax)
jne    1a04 <Octree_labeling+0x8f4>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x4c(%rax)
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x58(%rax)
jne    1a2d <Octree_labeling+0x91d>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x58(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x8,%edi
call   1030 <Octree_labeling@plt>
jmp    1a32 <Octree_labeling+0x922>
cmpl   $0x7,-0x4(%rbp)
jne    1bb5 <Octree_labeling+0xaa5>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x30(%rax)
jne    1a87 <Octree_labeling+0x977>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x30(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x1,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x3,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x5,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x38(%rax)
jne    1ab0 <Octree_labeling+0x9a0>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x38(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x3,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x3c(%rax)
jne    1afb <Octree_labeling+0x9eb>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x3c(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x3,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x4,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x8,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x50(%rax)
jne    1b24 <Octree_labeling+0xa14>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x50(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x5,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x54(%rax)
jne    1b6f <Octree_labeling+0xa5f>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x54(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x5,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x6,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x8,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x5c(%rax)
jne    1b87 <Octree_labeling+0xa77>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x5c(%rax)
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x60(%rax)
jne    1bb0 <Octree_labeling+0xaa0>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x60(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x8,%edi
call   1030 <Octree_labeling@plt>
jmp    1bb5 <Octree_labeling+0xaa5>
cmpl   $0x8,-0x4(%rbp)
jne    1d38 <Octree_labeling+0xc28>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x34(%rax)
jne    1c0a <Octree_labeling+0xafa>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x34(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x2,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x4,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x6,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x3c(%rax)
jne    1c55 <Octree_labeling+0xb45>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x3c(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x3,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x4,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x7,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x40(%rax)
jne    1c7e <Octree_labeling+0xb6e>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x40(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x4,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x54(%rax)
jne    1cc9 <Octree_labeling+0xbb9>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x54(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x5,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x6,%edi
call   1030 <Octree_labeling@plt>
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x7,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x58(%rax)
jne    1cf2 <Octree_labeling+0xbe2>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x58(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x6,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x60(%rax)
jne    1d1b <Octree_labeling+0xc0b>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x60(%rax)
mov    -0x8(%rbp),%esi
mov    -0x10(%rbp),%rdx
mov    $0x7,%edi
call   1030 <Octree_labeling@plt>
mov    -0x10(%rbp),%rax
cmpl   $0x1,0x64(%rax)
jne    1d33 <Octree_labeling+0xc23>
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x64(%rax)
jmp    1d38 <Octree_labeling+0xc28>
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<Octree_labeling>:
push   %rbp
push   %r14
push   %rbx
mov    %rdx,%rbx
mov    %esi,%ebp
lea    0xee0(%rip),%r14
jmp    114e <Octree_labeling+0x3e>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x7,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x8,%edi
add    $0xffffffff,%edi
cmp    $0x7,%edi
ja     1a5c <Octree_labeling+0x94c>
movslq (%r14,%rdi,4),%rax
add    %r14,%rax
jmp    *%rax
cmpl   $0x1,(%rbx)
je     136f <Octree_labeling+0x25f>
cmpl   $0x1,0x4(%rbx)
je     137b <Octree_labeling+0x26b>
cmpl   $0x1,0xc(%rbx)
je     1397 <Octree_labeling+0x287>
cmpl   $0x1,0x10(%rbx)
je     13b3 <Octree_labeling+0x2a3>
cmpl   $0x1,0x24(%rbx)
je     13ed <Octree_labeling+0x2dd>
cmpl   $0x1,0x28(%rbx)
je     1409 <Octree_labeling+0x2f9>
cmpl   $0x1,0x30(%rbx)
je     1443 <Octree_labeling+0x333>
jmp    1a5c <Octree_labeling+0x94c>
cmpl   $0x1,0x4(%rbx)
je     146e <Octree_labeling+0x35e>
cmpl   $0x1,0x10(%rbx)
je     148a <Octree_labeling+0x37a>
cmpl   $0x1,0x28(%rbx)
je     14c4 <Octree_labeling+0x3b4>
cmpl   $0x1,0x8(%rbx)
je     14fe <Octree_labeling+0x3ee>
cmpl   $0x1,0x14(%rbx)
je     150b <Octree_labeling+0x3fb>
cmpl   $0x1,0x2c(%rbx)
je     1527 <Octree_labeling+0x417>
cmpl   $0x1,0x34(%rbx)
je     1543 <Octree_labeling+0x433>
jmp    1a5c <Octree_labeling+0x94c>
cmpl   $0x1,0xc(%rbx)
je     155f <Octree_labeling+0x44f>
cmpl   $0x1,0x10(%rbx)
je     157b <Octree_labeling+0x46b>
cmpl   $0x1,0x30(%rbx)
je     15b5 <Octree_labeling+0x4a5>
cmpl   $0x1,0x18(%rbx)
je     15ef <Octree_labeling+0x4df>
cmpl   $0x1,0x1c(%rbx)
je     15fc <Octree_labeling+0x4ec>
cmpl   $0x1,0x38(%rbx)
je     1618 <Octree_labeling+0x508>
cmpl   $0x1,0x3c(%rbx)
je     1634 <Octree_labeling+0x524>
jmp    1a5c <Octree_labeling+0x94c>
cmpl   $0x1,0x10(%rbx)
je     1641 <Octree_labeling+0x531>
cmpl   $0x1,0x14(%rbx)
je     167b <Octree_labeling+0x56b>
cmpl   $0x1,0x34(%rbx)
je     1697 <Octree_labeling+0x587>
cmpl   $0x1,0x1c(%rbx)
je     16d1 <Octree_labeling+0x5c1>
cmpl   $0x1,0x3c(%rbx)
je     16ed <Octree_labeling+0x5dd>
cmpl   $0x1,0x20(%rbx)
je     1727 <Octree_labeling+0x617>
cmpl   $0x1,0x40(%rbx)
je     1734 <Octree_labeling+0x624>
jmp    1a5c <Octree_labeling+0x94c>
cmpl   $0x1,0x24(%rbx)
je     1741 <Octree_labeling+0x631>
cmpl   $0x1,0x28(%rbx)
je     175d <Octree_labeling+0x64d>
cmpl   $0x1,0x30(%rbx)
je     1797 <Octree_labeling+0x687>
cmpl   $0x1,0x44(%rbx)
je     17d1 <Octree_labeling+0x6c1>
cmpl   $0x1,0x48(%rbx)
je     17de <Octree_labeling+0x6ce>
cmpl   $0x1,0x50(%rbx)
je     17fa <Octree_labeling+0x6ea>
cmpl   $0x1,0x54(%rbx)
je     1816 <Octree_labeling+0x706>
jmp    1a5c <Octree_labeling+0x94c>
cmpl   $0x1,0x28(%rbx)
je     1823 <Octree_labeling+0x713>
cmpl   $0x1,0x2c(%rbx)
je     185d <Octree_labeling+0x74d>
cmpl   $0x1,0x34(%rbx)
je     1879 <Octree_labeling+0x769>
cmpl   $0x1,0x48(%rbx)
je     18b3 <Octree_labeling+0x7a3>
cmpl   $0x1,0x54(%rbx)
je     18cf <Octree_labeling+0x7bf>
cmpl   $0x1,0x4c(%rbx)
je     1909 <Octree_labeling+0x7f9>
cmpl   $0x1,0x58(%rbx)
je     1916 <Octree_labeling+0x806>
jmp    1a5c <Octree_labeling+0x94c>
cmpl   $0x1,0x30(%rbx)
je     1923 <Octree_labeling+0x813>
cmpl   $0x1,0x38(%rbx)
je     195d <Octree_labeling+0x84d>
cmpl   $0x1,0x3c(%rbx)
je     1979 <Octree_labeling+0x869>
cmpl   $0x1,0x50(%rbx)
je     19b3 <Octree_labeling+0x8a3>
cmpl   $0x1,0x54(%rbx)
je     19cf <Octree_labeling+0x8bf>
cmpl   $0x1,0x5c(%rbx)
je     1a09 <Octree_labeling+0x8f9>
cmpl   $0x1,0x60(%rbx)
je     1a12 <Octree_labeling+0x902>
jmp    1a5c <Octree_labeling+0x94c>
mov    %ebp,(%rbx)
cmpl   $0x1,0x4(%rbx)
jne    1176 <Octree_labeling+0x66>
mov    %ebp,0x4(%rbx)
mov    $0x2,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0xc(%rbx)
jne    1180 <Octree_labeling+0x70>
mov    %ebp,0xc(%rbx)
mov    $0x3,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x10(%rbx)
jne    118a <Octree_labeling+0x7a>
mov    %ebp,0x10(%rbx)
mov    $0x2,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x3,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x4,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x24(%rbx)
jne    1194 <Octree_labeling+0x84>
mov    %ebp,0x24(%rbx)
mov    $0x5,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x28(%rbx)
jne    119e <Octree_labeling+0x8e>
mov    %ebp,0x28(%rbx)
mov    $0x2,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x5,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x6,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x30(%rbx)
jne    1a5c <Octree_labeling+0x94c>
mov    %ebp,0x30(%rbx)
mov    $0x3,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x5,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x7,%edi
jmp    114e <Octree_labeling+0x3e>
mov    %ebp,0x4(%rbx)
mov    $0x1,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x10(%rbx)
jne    11c1 <Octree_labeling+0xb1>
mov    %ebp,0x10(%rbx)
mov    $0x1,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x3,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x4,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x28(%rbx)
jne    11cb <Octree_labeling+0xbb>
mov    %ebp,0x28(%rbx)
mov    $0x1,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x5,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x6,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x8(%rbx)
jne    11d5 <Octree_labeling+0xc5>
mov    %ebp,0x8(%rbx)
cmpl   $0x1,0x14(%rbx)
jne    11df <Octree_labeling+0xcf>
mov    %ebp,0x14(%rbx)
mov    $0x4,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x2c(%rbx)
jne    11e9 <Octree_labeling+0xd9>
mov    %ebp,0x2c(%rbx)
mov    $0x6,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x34(%rbx)
jne    1a5c <Octree_labeling+0x94c>
mov    %ebp,0x34(%rbx)
mov    $0x4,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x6,%edi
jmp    113f <Octree_labeling+0x2f>
mov    %ebp,0xc(%rbx)
mov    $0x1,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x10(%rbx)
jne    120c <Octree_labeling+0xfc>
mov    %ebp,0x10(%rbx)
mov    $0x1,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x2,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x4,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x30(%rbx)
jne    1216 <Octree_labeling+0x106>
mov    %ebp,0x30(%rbx)
mov    $0x1,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x5,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x7,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x18(%rbx)
jne    1220 <Octree_labeling+0x110>
mov    %ebp,0x18(%rbx)
cmpl   $0x1,0x1c(%rbx)
jne    122a <Octree_labeling+0x11a>
mov    %ebp,0x1c(%rbx)
mov    $0x4,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x38(%rbx)
jne    1234 <Octree_labeling+0x124>
mov    %ebp,0x38(%rbx)
mov    $0x7,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x3c(%rbx)
jne    1a5c <Octree_labeling+0x94c>
mov    %ebp,0x3c(%rbx)
mov    $0x4,%edi
jmp    1130 <Octree_labeling+0x20>
mov    %ebp,0x10(%rbx)
mov    $0x1,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x2,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x3,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x14(%rbx)
jne    1257 <Octree_labeling+0x147>
mov    %ebp,0x14(%rbx)
mov    $0x2,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x34(%rbx)
jne    1261 <Octree_labeling+0x151>
mov    %ebp,0x34(%rbx)
mov    $0x2,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x6,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x8,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x1c(%rbx)
jne    126b <Octree_labeling+0x15b>
mov    %ebp,0x1c(%rbx)
mov    $0x3,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x3c(%rbx)
jne    1275 <Octree_labeling+0x165>
mov    %ebp,0x3c(%rbx)
mov    $0x3,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x7,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x8,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x20(%rbx)
jne    127f <Octree_labeling+0x16f>
mov    %ebp,0x20(%rbx)
cmpl   $0x1,0x40(%rbx)
jne    1a5c <Octree_labeling+0x94c>
mov    %ebp,0x40(%rbx)
mov    $0x8,%edi
jmp    114e <Octree_labeling+0x3e>
mov    %ebp,0x24(%rbx)
mov    $0x1,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x28(%rbx)
jne    12a2 <Octree_labeling+0x192>
mov    %ebp,0x28(%rbx)
mov    $0x1,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x2,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x6,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x30(%rbx)
jne    12ac <Octree_labeling+0x19c>
mov    %ebp,0x30(%rbx)
mov    $0x1,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x3,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x7,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x44(%rbx)
jne    12b6 <Octree_labeling+0x1a6>
mov    %ebp,0x44(%rbx)
cmpl   $0x1,0x48(%rbx)
jne    12c0 <Octree_labeling+0x1b0>
mov    %ebp,0x48(%rbx)
mov    $0x6,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x50(%rbx)
jne    12ca <Octree_labeling+0x1ba>
mov    %ebp,0x50(%rbx)
mov    $0x7,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x54(%rbx)
jne    1a5c <Octree_labeling+0x94c>
mov    %ebp,0x54(%rbx)
mov    $0x6,%edi
jmp    1130 <Octree_labeling+0x20>
mov    %ebp,0x28(%rbx)
mov    $0x1,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x2,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x5,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x2c(%rbx)
jne    12ed <Octree_labeling+0x1dd>
mov    %ebp,0x2c(%rbx)
mov    $0x2,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x34(%rbx)
jne    12f7 <Octree_labeling+0x1e7>
mov    %ebp,0x34(%rbx)
mov    $0x2,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x4,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x8,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x48(%rbx)
jne    1301 <Octree_labeling+0x1f1>
mov    %ebp,0x48(%rbx)
mov    $0x5,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x54(%rbx)
jne    130b <Octree_labeling+0x1fb>
mov    %ebp,0x54(%rbx)
mov    $0x5,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x7,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x8,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x4c(%rbx)
jne    1315 <Octree_labeling+0x205>
mov    %ebp,0x4c(%rbx)
cmpl   $0x1,0x58(%rbx)
jne    1a5c <Octree_labeling+0x94c>
mov    %ebp,0x58(%rbx)
mov    $0x8,%edi
jmp    114e <Octree_labeling+0x3e>
mov    %ebp,0x30(%rbx)
mov    $0x1,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x3,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x5,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x38(%rbx)
jne    1338 <Octree_labeling+0x228>
mov    %ebp,0x38(%rbx)
mov    $0x3,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x3c(%rbx)
jne    1342 <Octree_labeling+0x232>
mov    %ebp,0x3c(%rbx)
mov    $0x3,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x4,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x8,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x50(%rbx)
jne    134c <Octree_labeling+0x23c>
mov    %ebp,0x50(%rbx)
mov    $0x5,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x54(%rbx)
jne    1356 <Octree_labeling+0x246>
mov    %ebp,0x54(%rbx)
mov    $0x5,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x6,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x8,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x5c(%rbx)
jne    1360 <Octree_labeling+0x250>
mov    %ebp,0x5c(%rbx)
cmpl   $0x1,0x60(%rbx)
jne    1a5c <Octree_labeling+0x94c>
mov    %ebp,0x60(%rbx)
mov    $0x8,%edi
jmp    114e <Octree_labeling+0x3e>
cmpl   $0x1,0x34(%rbx)
je     1a61 <Octree_labeling+0x951>
cmpl   $0x1,0x3c(%rbx)
je     1a97 <Octree_labeling+0x987>
cmpl   $0x1,0x40(%rbx)
je     1ad1 <Octree_labeling+0x9c1>
cmpl   $0x1,0x54(%rbx)
je     1aed <Octree_labeling+0x9dd>
cmpl   $0x1,0x58(%rbx)
je     1b27 <Octree_labeling+0xa17>
cmpl   $0x1,0x60(%rbx)
je     1b43 <Octree_labeling+0xa33>
cmpl   $0x1,0x64(%rbx)
jne    1a5c <Octree_labeling+0x94c>
mov    %ebp,0x64(%rbx)
pop    %rbx
pop    %r14
pop    %rbp
ret
mov    %ebp,0x34(%rbx)
mov    $0x2,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x4,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x6,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x3c(%rbx)
jne    1a2b <Octree_labeling+0x91b>
mov    %ebp,0x3c(%rbx)
mov    $0x3,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x4,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x7,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x40(%rbx)
jne    1a35 <Octree_labeling+0x925>
mov    %ebp,0x40(%rbx)
mov    $0x4,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x54(%rbx)
jne    1a3f <Octree_labeling+0x92f>
mov    %ebp,0x54(%rbx)
mov    $0x5,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x6,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
mov    $0x7,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x58(%rbx)
jne    1a49 <Octree_labeling+0x939>
mov    %ebp,0x58(%rbx)
mov    $0x6,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x60(%rbx)
jne    1a53 <Octree_labeling+0x943>
mov    %ebp,0x60(%rbx)
mov    $0x7,%edi
mov    %ebp,%esi
mov    %rbx,%rdx
call   1030 <Octree_labeling@plt>
cmpl   $0x1,0x64(%rbx)
je     1a59 <Octree_labeling+0x949>
jmp    1a5c <Octree_labeling+0x94c>

LLVM IR (-O0):
define void @Octree_labeling(i32 %0, i32 %1, i32* %2) {
%4 = alloca i32
%5 = alloca i32
%6 = alloca i32*
store i32 %0, i32* %4
store i32 %1, i32* %5
store i32* %2, i32** %6
%7 = load i32, i32* %4
%8 = icmp eq i32 %7, 1
br i1 %8, label %9, label %97
9: ; preds = %3
%10 = load i32*, i32** %6
%11 = getelementptr inbounds i32, i32* %10, i64 0
%12 = load i32, i32* %11
%13 = icmp eq i32 %12, 1
br i1 %13, label %14, label %18
14: ; preds = %9
%15 = load i32, i32* %5
%16 = load i32*, i32** %6
%17 = getelementptr inbounds i32, i32* %16, i64 0
store i32 %15, i32* %17
br label %18
18: ; preds = %14, %9
%19 = load i32*, i32** %6
%20 = getelementptr inbounds i32, i32* %19, i64 1
%21 = load i32, i32* %20
%22 = icmp eq i32 %21, 1
br i1 %22, label %23, label %29
23: ; preds = %18
%24 = load i32, i32* %5
%25 = load i32*, i32** %6
%26 = getelementptr inbounds i32, i32* %25, i64 1
store i32 %24, i32* %26
%27 = load i32, i32* %5
%28 = load i32*, i32** %6
br label %29
29: ; preds = %23, %18
%30 = load i32*, i32** %6
%31 = getelementptr inbounds i32, i32* %30, i64 3
%32 = load i32, i32* %31
%33 = icmp eq i32 %32, 1
br i1 %33, label %34, label %40
34: ; preds = %29
%35 = load i32, i32* %5
%36 = load i32*, i32** %6
%37 = getelementptr inbounds i32, i32* %36, i64 3
store i32 %35, i32* %37
%38 = load i32, i32* %5
%39 = load i32*, i32** %6
br label %40
40: ; preds = %34, %29
%41 = load i32*, i32** %6
%42 = getelementptr inbounds i32, i32* %41, i64 4
%43 = load i32, i32* %42
%44 = icmp eq i32 %43, 1
br i1 %44, label %45, label %55
45: ; preds = %40
%46 = load i32, i32* %5
%47 = load i32*, i32** %6
%48 = getelementptr inbounds i32, i32* %47, i64 4
store i32 %46, i32* %48
%49 = load i32, i32* %5
%50 = load i32*, i32** %6
%51 = load i32, i32* %5
%52 = load i32*, i32** %6
%53 = load i32, i32* %5
%54 = load i32*, i32** %6
br label %55
55: ; preds = %45, %40
%56 = load i32*, i32** %6
%57 = getelementptr inbounds i32, i32* %56, i64 9
%58 = load i32, i32* %57
%59 = icmp eq i32 %58, 1
br i1 %59, label %60, label %66
60: ; preds = %55
%61 = load i32, i32* %5
%62 = load i32*, i32** %6
%63 = getelementptr inbounds i32, i32* %62, i64 9
store i32 %61, i32* %63
%64 = load i32, i32* %5
%65 = load i32*, i32** %6
br label %66
66: ; preds = %60, %55
%67 = load i32*, i32** %6
%68 = getelementptr inbounds i32, i32* %67, i64 10
%69 = load i32, i32* %68
%70 = icmp eq i32 %69, 1
br i1 %70, label %71, label %81
71: ; preds = %66
%72 = load i32, i32* %5
%73 = load i32*, i32** %6
%74 = getelementptr inbounds i32, i32* %73, i64 10
store i32 %72, i32* %74
%75 = load i32, i32* %5
%76 = load i32*, i32** %6
%77 = load i32, i32* %5
%78 = load i32*, i32** %6
%79 = load i32, i32* %5
%80 = load i32*, i32** %6
br label %81
81: ; preds = %71, %66
%82 = load i32*, i32** %6
%83 = getelementptr inbounds i32, i32* %82, i64 12
%84 = load i32, i32* %83
%85 = icmp eq i32 %84, 1
br i1 %85, label %86, label %96
86: ; preds = %81
%87 = load i32, i32* %5
%88 = load i32*, i32** %6
%89 = getelementptr inbounds i32, i32* %88, i64 12
store i32 %87, i32* %89
%90 = load i32, i32* %5
%91 = load i32*, i32** %6
%92 = load i32, i32* %5
%93 = load i32*, i32** %6
%94 = load i32, i32* %5
%95 = load i32*, i32** %6
br label %96
96: ; preds = %86, %81
br label %97
97: ; preds = %96, %3
%98 = load i32, i32* %4
%99 = icmp eq i32 %98, 2
br i1 %99, label %100, label %188
100: ; preds = %97
%101 = load i32*, i32** %6
%102 = getelementptr inbounds i32, i32* %101, i64 1
%103 = load i32, i32* %102
%104 = icmp eq i32 %103, 1
br i1 %104, label %105, label %111
105: ; preds = %100
%106 = load i32, i32* %5
%107 = load i32*, i32** %6
%108 = getelementptr inbounds i32, i32* %107, i64 1
store i32 %106, i32* %108
%109 = load i32, i32* %5
%110 = load i32*, i32** %6
br label %111
111: ; preds = %105, %100
%112 = load i32*, i32** %6
%113 = getelementptr inbounds i32, i32* %112, i64 4
%114 = load i32, i32* %113
%115 = icmp eq i32 %114, 1
br i1 %115, label %116, label %126
116: ; preds = %111
%117 = load i32, i32* %5
%118 = load i32*, i32** %6
%119 = getelementptr inbounds i32, i32* %118, i64 4
store i32 %117, i32* %119
%120 = load i32, i32* %5
%121 = load i32*, i32** %6
%122 = load i32, i32* %5
%123 = load i32*, i32** %6
%124 = load i32, i32* %5
%125 = load i32*, i32** %6
br label %126
126: ; preds = %116, %111
%127 = load i32*, i32** %6
%128 = getelementptr inbounds i32, i32* %127, i64 10
%129 = load i32, i32* %128
%130 = icmp eq i32 %129, 1
br i1 %130, label %131, label %141
131: ; preds = %126
%132 = load i32, i32* %5
%133 = load i32*, i32** %6
%134 = getelementptr inbounds i32, i32* %133, i64 10
store i32 %132, i32* %134
%135 = load i32, i32* %5
%136 = load i32*, i32** %6
%137 = load i32, i32* %5
%138 = load i32*, i32** %6
%139 = load i32, i32* %5
%140 = load i32*, i32** %6
br label %141
141: ; preds = %131, %126
%142 = load i32*, i32** %6
%143 = getelementptr inbounds i32, i32* %142, i64 2
%144 = load i32, i32* %143
%145 = icmp eq i32 %144, 1
br i1 %145, label %146, label %150
146: ; preds = %141
%147 = load i32, i32* %5
%148 = load i32*, i32** %6
%149 = getelementptr inbounds i32, i32* %148, i64 2
store i32 %147, i32* %149
br label %150
150: ; preds = %146, %141
%151 = load i32*, i32** %6
%152 = getelementptr inbounds i32, i32* %151, i64 5
%153 = load i32, i32* %152
%154 = icmp eq i32 %153, 1
br i1 %154, label %155, label %161
155: ; preds = %150
%156 = load i32, i32* %5
%157 = load i32*, i32** %6
%158 = getelementptr inbounds i32, i32* %157, i64 5
store i32 %156, i32* %158
%159 = load i32, i32* %5
%160 = load i32*, i32** %6
br label %161
161: ; preds = %155, %150
%162 = load i32*, i32** %6
%163 = getelementptr inbounds i32, i32* %162, i64 11
%164 = load i32, i32* %163
%165 = icmp eq i32 %164, 1
br i1 %165, label %166, label %172
166: ; preds = %161
%167 = load i32, i32* %5
%168 = load i32*, i32** %6
%169 = getelementptr inbounds i32, i32* %168, i64 11
store i32 %167, i32* %169
%170 = load i32, i32* %5
%171 = load i32*, i32** %6
br label %172
172: ; preds = %166, %161
%173 = load i32*, i32** %6
%174 = getelementptr inbounds i32, i32* %173, i64 13
%175 = load i32, i32* %174
%176 = icmp eq i32 %175, 1
br i1 %176, label %177, label %187
177: ; preds = %172
%178 = load i32, i32* %5
%179 = load i32*, i32** %6
%180 = getelementptr inbounds i32, i32* %179, i64 13
store i32 %178, i32* %180
%181 = load i32, i32* %5
%182 = load i32*, i32** %6
%183 = load i32, i32* %5
%184 = load i32*, i32** %6
%185 = load i32, i32* %5
%186 = load i32*, i32** %6
br label %187
187: ; preds = %177, %172
br label %188
188: ; preds = %187, %97
%189 = load i32, i32* %4
%190 = icmp eq i32 %189, 3
br i1 %190, label %191, label %279
191: ; preds = %188
%192 = load i32*, i32** %6
%193 = getelementptr inbounds i32, i32* %192, i64 3
%194 = load i32, i32* %193
%195 = icmp eq i32 %194, 1
br i1 %195, label %196, label %202
196: ; preds = %191
%197 = load i32, i32* %5
%198 = load i32*, i32** %6
%199 = getelementptr inbounds i32, i32* %198, i64 3
store i32 %197, i32* %199
%200 = load i32, i32* %5
%201 = load i32*, i32** %6
br label %202
202: ; preds = %196, %191
%203 = load i32*, i32** %6
%204 = getelementptr inbounds i32, i32* %203, i64 4
%205 = load i32, i32* %204
%206 = icmp eq i32 %205, 1
br i1 %206, label %207, label %217
207: ; preds = %202
%208 = load i32, i32* %5
%209 = load i32*, i32** %6
%210 = getelementptr inbounds i32, i32* %209, i64 4
store i32 %208, i32* %210
%211 = load i32, i32* %5
%212 = load i32*, i32** %6
%213 = load i32, i32* %5
%214 = load i32*, i32** %6
%215 = load i32, i32* %5
%216 = load i32*, i32** %6
br label %217
217: ; preds = %207, %202
%218 = load i32*, i32** %6
%219 = getelementptr inbounds i32, i32* %218, i64 12
%220 = load i32, i32* %219
%221 = icmp eq i32 %220, 1
br i1 %221, label %222, label %232
222: ; preds = %217
%223 = load i32, i32* %5
%224 = load i32*, i32** %6
%225 = getelementptr inbounds i32, i32* %224, i64 12
store i32 %223, i32* %225
%226 = load i32, i32* %5
%227 = load i32*, i32** %6
%228 = load i32, i32* %5
%229 = load i32*, i32** %6
%230 = load i32, i32* %5
%231 = load i32*, i32** %6
br label %232
232: ; preds = %222, %217
%233 = load i32*, i32** %6
%234 = getelementptr inbounds i32, i32* %233, i64 6
%235 = load i32, i32* %234
%236 = icmp eq i32 %235, 1
br i1 %236, label %237, label %241
237: ; preds = %232
%238 = load i32, i32* %5
%239 = load i32*, i32** %6
%240 = getelementptr inbounds i32, i32* %239, i64 6
store i32 %238, i32* %240
br label %241
241: ; preds = %237, %232
%242 = load i32*, i32** %6
%243 = getelementptr inbounds i32, i32* %242, i64 7
%244 = load i32, i32* %243
%245 = icmp eq i32 %244, 1
br i1 %245, label %246, label %252
246: ; preds = %241
%247 = load i32, i32* %5
%248 = load i32*, i32** %6
%249 = getelementptr inbounds i32, i32* %248, i64 7
store i32 %247, i32* %249
%250 = load i32, i32* %5
%251 = load i32*, i32** %6
br label %252
252: ; preds = %246, %241
%253 = load i32*, i32** %6
%254 = getelementptr inbounds i32, i32* %253, i64 14
%255 = load i32, i32* %254
%256 = icmp eq i32 %255, 1
br i1 %256, label %257, label %263
257: ; preds = %252
%258 = load i32, i32* %5
%259 = load i32*, i32** %6
%260 = getelementptr inbounds i32, i32* %259, i64 14
store i32 %258, i32* %260
%261 = load i32, i32* %5
%262 = load i32*, i32** %6
br label %263
263: ; preds = %257, %252
%264 = load i32*, i32** %6
%265 = getelementptr inbounds i32, i32* %264, i64 15
%266 = load i32, i32* %265
%267 = icmp eq i32 %266, 1
br i1 %267, label %268, label %278
268: ; preds = %263
%269 = load i32, i32* %5
%270 = load i32*, i32** %6
%271 = getelementptr inbounds i32, i32* %270, i64 15
store i32 %269, i32* %271
%272 = load i32, i32* %5
%273 = load i32*, i32** %6
%274 = load i32, i32* %5
%275 = load i32*, i32** %6
%276 = load i32, i32* %5
%277 = load i32*, i32** %6
br label %278
278: ; preds = %268, %263
br label %279
279: ; preds = %278, %188
%280 = load i32, i32* %4
%281 = icmp eq i32 %280, 4
br i1 %281, label %282, label %370
282: ; preds = %279
%283 = load i32*, i32** %6
%284 = getelementptr inbounds i32, i32* %283, i64 4
%285 = load i32, i32* %284
%286 = icmp eq i32 %285, 1
br i1 %286, label %287, label %297
287: ; preds = %282
%288 = load i32, i32* %5
%289 = load i32*, i32** %6
%290 = getelementptr inbounds i32, i32* %289, i64 4
store i32 %288, i32* %290
%291 = load i32, i32* %5
%292 = load i32*, i32** %6
%293 = load i32, i32* %5
%294 = load i32*, i32** %6
%295 = load i32, i32* %5
%296 = load i32*, i32** %6
br label %297
297: ; preds = %287, %282
%298 = load i32*, i32** %6
%299 = getelementptr inbounds i32, i32* %298, i64 5
%300 = load i32, i32* %299
%301 = icmp eq i32 %300, 1
br i1 %301, label %302, label %308
302: ; preds = %297
%303 = load i32, i32* %5
%304 = load i32*, i32** %6
%305 = getelementptr inbounds i32, i32* %304, i64 5
store i32 %303, i32* %305
%306 = load i32, i32* %5
%307 = load i32*, i32** %6
br label %308
308: ; preds = %302, %297
%309 = load i32*, i32** %6
%310 = getelementptr inbounds i32, i32* %309, i64 13
%311 = load i32, i32* %310
%312 = icmp eq i32 %311, 1
br i1 %312, label %313, label %323
313: ; preds = %308
%314 = load i32, i32* %5
%315 = load i32*, i32** %6
%316 = getelementptr inbounds i32, i32* %315, i64 13
store i32 %314, i32* %316
%317 = load i32, i32* %5
%318 = load i32*, i32** %6
%319 = load i32, i32* %5
%320 = load i32*, i32** %6
%321 = load i32, i32* %5
%322 = load i32*, i32** %6
br label %323
323: ; preds = %313, %308
%324 = load i32*, i32** %6
%325 = getelementptr inbounds i32, i32* %324, i64 7
%326 = load i32, i32* %325
%327 = icmp eq i32 %326, 1
br i1 %327, label %328, label %334
328: ; preds = %323
%329 = load i32, i32* %5
%330 = load i32*, i32** %6
%331 = getelementptr inbounds i32, i32* %330, i64 7
store i32 %329, i32* %331
%332 = load i32, i32* %5
%333 = load i32*, i32** %6
br label %334
334: ; preds = %328, %323
%335 = load i32*, i32** %6
%336 = getelementptr inbounds i32, i32* %335, i64 15
%337 = load i32, i32* %336
%338 = icmp eq i32 %337, 1
br i1 %338, label %339, label %349
339: ; preds = %334
%340 = load i32, i32* %5
%341 = load i32*, i32** %6
%342 = getelementptr inbounds i32, i32* %341, i64 15
store i32 %340, i32* %342
%343 = load i32, i32* %5
%344 = load i32*, i32** %6
%345 = load i32, i32* %5
%346 = load i32*, i32** %6
%347 = load i32, i32* %5
%348 = load i32*, i32** %6
br label %349
349: ; preds = %339, %334
%350 = load i32*, i32** %6
%351 = getelementptr inbounds i32, i32* %350, i64 8
%352 = load i32, i32* %351
%353 = icmp eq i32 %352, 1
br i1 %353, label %354, label %358
354: ; preds = %349
%355 = load i32, i32* %5
%356 = load i32*, i32** %6
%357 = getelementptr inbounds i32, i32* %356, i64 8
store i32 %355, i32* %357
br label %358
358: ; preds = %354, %349
%359 = load i32*, i32** %6
%360 = getelementptr inbounds i32, i32* %359, i64 16
%361 = load i32, i32* %360
%362 = icmp eq i32 %361, 1
br i1 %362, label %363, label %369
363: ; preds = %358
%364 = load i32, i32* %5
%365 = load i32*, i32** %6
%366 = getelementptr inbounds i32, i32* %365, i64 16
store i32 %364, i32* %366
%367 = load i32, i32* %5
%368 = load i32*, i32** %6
br label %369
369: ; preds = %363, %358
br label %370
370: ; preds = %369, %279
%371 = load i32, i32* %4
%372 = icmp eq i32 %371, 5
br i1 %372, label %373, label %461
373: ; preds = %370
%374 = load i32*, i32** %6
%375 = getelementptr inbounds i32, i32* %374, i64 9
%376 = load i32, i32* %375
%377 = icmp eq i32 %376, 1
br i1 %377, label %378, label %384
378: ; preds = %373
%379 = load i32, i32* %5
%380 = load i32*, i32** %6
%381 = getelementptr inbounds i32, i32* %380, i64 9
store i32 %379, i32* %381
%382 = load i32, i32* %5
%383 = load i32*, i32** %6
br label %384
384: ; preds = %378, %373
%385 = load i32*, i32** %6
%386 = getelementptr inbounds i32, i32* %385, i64 10
%387 = load i32, i32* %386
%388 = icmp eq i32 %387, 1
br i1 %388, label %389, label %399
389: ; preds = %384
%390 = load i32, i32* %5
%391 = load i32*, i32** %6
%392 = getelementptr inbounds i32, i32* %391, i64 10
store i32 %390, i32* %392
%393 = load i32, i32* %5
%394 = load i32*, i32** %6
%395 = load i32, i32* %5
%396 = load i32*, i32** %6
%397 = load i32, i32* %5
%398 = load i32*, i32** %6
br label %399
399: ; preds = %389, %384
%400 = load i32*, i32** %6
%401 = getelementptr inbounds i32, i32* %400, i64 12
%402 = load i32, i32* %401
%403 = icmp eq i32 %402, 1
br i1 %403, label %404, label %414
404: ; preds = %399
%405 = load i32, i32* %5
%406 = load i32*, i32** %6
%407 = getelementptr inbounds i32, i32* %406, i64 12
store i32 %405, i32* %407
%408 = load i32, i32* %5
%409 = load i32*, i32** %6
%410 = load i32, i32* %5
%411 = load i32*, i32** %6
%412 = load i32, i32* %5
%413 = load i32*, i32** %6
br label %414
414: ; preds = %404, %399
%415 = load i32*, i32** %6
%416 = getelementptr inbounds i32, i32* %415, i64 17
%417 = load i32, i32* %416
%418 = icmp eq i32 %417, 1
br i1 %418, label %419, label %423
419: ; preds = %414
%420 = load i32, i32* %5
%421 = load i32*, i32** %6
%422 = getelementptr inbounds i32, i32* %421, i64 17
store i32 %420, i32* %422
br label %423
423: ; preds = %419, %414
%424 = load i32*, i32** %6
%425 = getelementptr inbounds i32, i32* %424, i64 18
%426 = load i32, i32* %425
%427 = icmp eq i32 %426, 1
br i1 %427, label %428, label %434
428: ; preds = %423
%429 = load i32, i32* %5
%430 = load i32*, i32** %6
%431 = getelementptr inbounds i32, i32* %430, i64 18
store i32 %429, i32* %431
%432 = load i32, i32* %5
%433 = load i32*, i32** %6
br label %434
434: ; preds = %428, %423
%435 = load i32*, i32** %6
%436 = getelementptr inbounds i32, i32* %435, i64 20
%437 = load i32, i32* %436
%438 = icmp eq i32 %437, 1
br i1 %438, label %439, label %445
439: ; preds = %434
%440 = load i32, i32* %5
%441 = load i32*, i32** %6
%442 = getelementptr inbounds i32, i32* %441, i64 20
store i32 %440, i32* %442
%443 = load i32, i32* %5
%444 = load i32*, i32** %6
br label %445
445: ; preds = %439, %434
%446 = load i32*, i32** %6
%447 = getelementptr inbounds i32, i32* %446, i64 21
%448 = load i32, i32* %447
%449 = icmp eq i32 %448, 1
br i1 %449, label %450, label %460
450: ; preds = %445
%451 = load i32, i32* %5
%452 = load i32*, i32** %6
%453 = getelementptr inbounds i32, i32* %452, i64 21
store i32 %451, i32* %453
%454 = load i32, i32* %5
%455 = load i32*, i32** %6
%456 = load i32, i32* %5
%457 = load i32*, i32** %6
%458 = load i32, i32* %5
%459 = load i32*, i32** %6
br label %460
460: ; preds = %450, %445
br label %461
461: ; preds = %460, %370
%462 = load i32, i32* %4
%463 = icmp eq i32 %462, 6
br i1 %463, label %464, label %552
464: ; preds = %461
%465 = load i32*, i32** %6
%466 = getelementptr inbounds i32, i32* %465, i64 10
%467 = load i32, i32* %466
%468 = icmp eq i32 %467, 1
br i1 %468, label %469, label %479
469: ; preds = %464
%470 = load i32, i32* %5
%471 = load i32*, i32** %6
%472 = getelementptr inbounds i32, i32* %471, i64 10
store i32 %470, i32* %472
%473 = load i32, i32* %5
%474 = load i32*, i32** %6
%475 = load i32, i32* %5
%476 = load i32*, i32** %6
%477 = load i32, i32* %5
%478 = load i32*, i32** %6
br label %479
479: ; preds = %469, %464
%480 = load i32*, i32** %6
%481 = getelementptr inbounds i32, i32* %480, i64 11
%482 = load i32, i32* %481
%483 = icmp eq i32 %482, 1
br i1 %483, label %484, label %490
484: ; preds = %479
%485 = load i32, i32* %5
%486 = load i32*, i32** %6
%487 = getelementptr inbounds i32, i32* %486, i64 11
store i32 %485, i32* %487
%488 = load i32, i32* %5
%489 = load i32*, i32** %6
br label %490
490: ; preds = %484, %479
%491 = load i32*, i32** %6
%492 = getelementptr inbounds i32, i32* %491, i64 13
%493 = load i32, i32* %492
%494 = icmp eq i32 %493, 1
br i1 %494, label %495, label %505
495: ; preds = %490
%496 = load i32, i32* %5
%497 = load i32*, i32** %6
%498 = getelementptr inbounds i32, i32* %497, i64 13
store i32 %496, i32* %498
%499 = load i32, i32* %5
%500 = load i32*, i32** %6
%501 = load i32, i32* %5
%502 = load i32*, i32** %6
%503 = load i32, i32* %5
%504 = load i32*, i32** %6
br label %505
505: ; preds = %495, %490
%506 = load i32*, i32** %6
%507 = getelementptr inbounds i32, i32* %506, i64 18
%508 = load i32, i32* %507
%509 = icmp eq i32 %508, 1
br i1 %509, label %510, label %516
510: ; preds = %505
%511 = load i32, i32* %5
%512 = load i32*, i32** %6
%513 = getelementptr inbounds i32, i32* %512, i64 18
store i32 %511, i32* %513
%514 = load i32, i32* %5
%515 = load i32*, i32** %6
br label %516
516: ; preds = %510, %505
%517 = load i32*, i32** %6
%518 = getelementptr inbounds i32, i32* %517, i64 21
%519 = load i32, i32* %518
%520 = icmp eq i32 %519, 1
br i1 %520, label %521, label %531
521: ; preds = %516
%522 = load i32, i32* %5
%523 = load i32*, i32** %6
%524 = getelementptr inbounds i32, i32* %523, i64 21
store i32 %522, i32* %524
%525 = load i32, i32* %5
%526 = load i32*, i32** %6
%527 = load i32, i32* %5
%528 = load i32*, i32** %6
%529 = load i32, i32* %5
%530 = load i32*, i32** %6
br label %531
531: ; preds = %521, %516
%532 = load i32*, i32** %6
%533 = getelementptr inbounds i32, i32* %532, i64 19
%534 = load i32, i32* %533
%535 = icmp eq i32 %534, 1
br i1 %535, label %536, label %540
536: ; preds = %531
%537 = load i32, i32* %5
%538 = load i32*, i32** %6
%539 = getelementptr inbounds i32, i32* %538, i64 19
store i32 %537, i32* %539
br label %540
540: ; preds = %536, %531
%541 = load i32*, i32** %6
%542 = getelementptr inbounds i32, i32* %541, i64 22
%543 = load i32, i32* %542
%544 = icmp eq i32 %543, 1
br i1 %544, label %545, label %551
545: ; preds = %540
%546 = load i32, i32* %5
%547 = load i32*, i32** %6
%548 = getelementptr inbounds i32, i32* %547, i64 22
store i32 %546, i32* %548
%549 = load i32, i32* %5
%550 = load i32*, i32** %6
br label %551
551: ; preds = %545, %540
br label %552
552: ; preds = %551, %461
%553 = load i32, i32* %4
%554 = icmp eq i32 %553, 7
br i1 %554, label %555, label %643
555: ; preds = %552
%556 = load i32*, i32** %6
%557 = getelementptr inbounds i32, i32* %556, i64 12
%558 = load i32, i32* %557
%559 = icmp eq i32 %558, 1
br i1 %559, label %560, label %570
560: ; preds = %555
%561 = load i32, i32* %5
%562 = load i32*, i32** %6
%563 = getelementptr inbounds i32, i32* %562, i64 12
store i32 %561, i32* %563
%564 = load i32, i32* %5
%565 = load i32*, i32** %6
%566 = load i32, i32* %5
%567 = load i32*, i32** %6
%568 = load i32, i32* %5
%569 = load i32*, i32** %6
br label %570
570: ; preds = %560, %555
%571 = load i32*, i32** %6
%572 = getelementptr inbounds i32, i32* %571, i64 14
%573 = load i32, i32* %572
%574 = icmp eq i32 %573, 1
br i1 %574, label %575, label %581
575: ; preds = %570
%576 = load i32, i32* %5
%577 = load i32*, i32** %6
%578 = getelementptr inbounds i32, i32* %577, i64 14
store i32 %576, i32* %578
%579 = load i32, i32* %5
%580 = load i32*, i32** %6
br label %581
581: ; preds = %575, %570
%582 = load i32*, i32** %6
%583 = getelementptr inbounds i32, i32* %582, i64 15
%584 = load i32, i32* %583
%585 = icmp eq i32 %584, 1
br i1 %585, label %586, label %596
586: ; preds = %581
%587 = load i32, i32* %5
%588 = load i32*, i32** %6
%589 = getelementptr inbounds i32, i32* %588, i64 15
store i32 %587, i32* %589
%590 = load i32, i32* %5
%591 = load i32*, i32** %6
%592 = load i32, i32* %5
%593 = load i32*, i32** %6
%594 = load i32, i32* %5
%595 = load i32*, i32** %6
br label %596
596: ; preds = %586, %581
%597 = load i32*, i32** %6
%598 = getelementptr inbounds i32, i32* %597, i64 20
%599 = load i32, i32* %598
%600 = icmp eq i32 %599, 1
br i1 %600, label %601, label %607
601: ; preds = %596
%602 = load i32, i32* %5
%603 = load i32*, i32** %6
%604 = getelementptr inbounds i32, i32* %603, i64 20
store i32 %602, i32* %604
%605 = load i32, i32* %5
%606 = load i32*, i32** %6
br label %607
607: ; preds = %601, %596
%608 = load i32*, i32** %6
%609 = getelementptr inbounds i32, i32* %608, i64 21
%610 = load i32, i32* %609
%611 = icmp eq i32 %610, 1
br i1 %611, label %612, label %622
612: ; preds = %607
%613 = load i32, i32* %5
%614 = load i32*, i32** %6
%615 = getelementptr inbounds i32, i32* %614, i64 21
store i32 %613, i32* %615
%616 = load i32, i32* %5
%617 = load i32*, i32** %6
%618 = load i32, i32* %5
%619 = load i32*, i32** %6
%620 = load i32, i32* %5
%621 = load i32*, i32** %6
br label %622
622: ; preds = %612, %607
%623 = load i32*, i32** %6
%624 = getelementptr inbounds i32, i32* %623, i64 23
%625 = load i32, i32* %624
%626 = icmp eq i32 %625, 1
br i1 %626, label %627, label %631
627: ; preds = %622
%628 = load i32, i32* %5
%629 = load i32*, i32** %6
%630 = getelementptr inbounds i32, i32* %629, i64 23
store i32 %628, i32* %630
br label %631
631: ; preds = %627, %622
%632 = load i32*, i32** %6
%633 = getelementptr inbounds i32, i32* %632, i64 24
%634 = load i32, i32* %633
%635 = icmp eq i32 %634, 1
br i1 %635, label %636, label %642
636: ; preds = %631
%637 = load i32, i32* %5
%638 = load i32*, i32** %6
%639 = getelementptr inbounds i32, i32* %638, i64 24
store i32 %637, i32* %639
%640 = load i32, i32* %5
%641 = load i32*, i32** %6
br label %642
642: ; preds = %636, %631
br label %643
643: ; preds = %642, %552
%644 = load i32, i32* %4
%645 = icmp eq i32 %644, 8
br i1 %645, label %646, label %734
646: ; preds = %643
%647 = load i32*, i32** %6
%648 = getelementptr inbounds i32, i32* %647, i64 13
%649 = load i32, i32* %648
%650 = icmp eq i32 %649, 1
br i1 %650, label %651, label %661
651: ; preds = %646
%652 = load i32, i32* %5
%653 = load i32*, i32** %6
%654 = getelementptr inbounds i32, i32* %653, i64 13
store i32 %652, i32* %654
%655 = load i32, i32* %5
%656 = load i32*, i32** %6
%657 = load i32, i32* %5
%658 = load i32*, i32** %6
%659 = load i32, i32* %5
%660 = load i32*, i32** %6
br label %661
661: ; preds = %651, %646
%662 = load i32*, i32** %6
%663 = getelementptr inbounds i32, i32* %662, i64 15
%664 = load i32, i32* %663
%665 = icmp eq i32 %664, 1
br i1 %665, label %666, label %676
666: ; preds = %661
%667 = load i32, i32* %5
%668 = load i32*, i32** %6
%669 = getelementptr inbounds i32, i32* %668, i64 15
store i32 %667, i32* %669
%670 = load i32, i32* %5
%671 = load i32*, i32** %6
%672 = load i32, i32* %5
%673 = load i32*, i32** %6
%674 = load i32, i32* %5
%675 = load i32*, i32** %6
br label %676
676: ; preds = %666, %661
%677 = load i32*, i32** %6
%678 = getelementptr inbounds i32, i32* %677, i64 16
%679 = load i32, i32* %678
%680 = icmp eq i32 %679, 1
br i1 %680, label %681, label %687
681: ; preds = %676
%682 = load i32, i32* %5
%683 = load i32*, i32** %6
%684 = getelementptr inbounds i32, i32* %683, i64 16
store i32 %682, i32* %684
%685 = load i32, i32* %5
%686 = load i32*, i32** %6
br label %687
687: ; preds = %681, %676
%688 = load i32*, i32** %6
%689 = getelementptr inbounds i32, i32* %688, i64 21
%690 = load i32, i32* %689
%691 = icmp eq i32 %690, 1
br i1 %691, label %692, label %702
692: ; preds = %687
%693 = load i32, i32* %5
%694 = load i32*, i32** %6
%695 = getelementptr inbounds i32, i32* %694, i64 21
store i32 %693, i32* %695
%696 = load i32, i32* %5
%697 = load i32*, i32** %6
%698 = load i32, i32* %5
%699 = load i32*, i32** %6
%700 = load i32, i32* %5
%701 = load i32*, i32** %6
br label %702
702: ; preds = %692, %687
%703 = load i32*, i32** %6
%704 = getelementptr inbounds i32, i32* %703, i64 22
%705 = load i32, i32* %704
%706 = icmp eq i32 %705, 1
br i1 %706, label %707, label %713
707: ; preds = %702
%708 = load i32, i32* %5
%709 = load i32*, i32** %6
%710 = getelementptr inbounds i32, i32* %709, i64 22
store i32 %708, i32* %710
%711 = load i32, i32* %5
%712 = load i32*, i32** %6
br label %713
713: ; preds = %707, %702
%714 = load i32*, i32** %6
%715 = getelementptr inbounds i32, i32* %714, i64 24
%716 = load i32, i32* %715
%717 = icmp eq i32 %716, 1
br i1 %717, label %718, label %724
718: ; preds = %713
%719 = load i32, i32* %5
%720 = load i32*, i32** %6
%721 = getelementptr inbounds i32, i32* %720, i64 24
store i32 %719, i32* %721
%722 = load i32, i32* %5
%723 = load i32*, i32** %6
br label %724
724: ; preds = %718, %713
%725 = load i32*, i32** %6
%726 = getelementptr inbounds i32, i32* %725, i64 25
%727 = load i32, i32* %726
%728 = icmp eq i32 %727, 1
br i1 %728, label %729, label %733
729: ; preds = %724
%730 = load i32, i32* %5
%731 = load i32*, i32** %6
%732 = getelementptr inbounds i32, i32* %731, i64 25
store i32 %730, i32* %732
br label %733
733: ; preds = %729, %724
br label %734
734: ; preds = %733, %643
ret void
}

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