// File: /workspace/github_cpp_makefile_star2_O3/Luthaf[P]zeopp/area_and_volume.cc
// Function: NEWreportPoints(std::ostream&, ATOM_NETWORK*, std::vector<Point, std::allocator<Point>>*, std::vector<int, std::allocator<int>>*, std::vector<Point, std::allocator<Point>>*, std::vector<int, std::allocator<int>>*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void NEWreportPoints(ostream &output, ATOM_NETWORK *atmnet, vector<Point> *axsPoints, vector<int> *axsPChIDs, 
                                                         vector<Point> *inaxsPoints, vector<int> *inaxsPPIDs,
                                                         string type)
{ 
 if(type=="ZEOVIS")
   {
   output << "{color green}" << "\n";
   for(unsigned int i = 0; i < axsPoints->size(); i++){
     Point coords = atmnet->abc_to_xyz(axsPoints->at(i));
     output << "{point { " << coords[0] << " " << coords[1] << " " << coords[2] << "}}" << "\n";
     };

   output << "{color red}" << "\n";
   for(unsigned int i = 0; i < inaxsPoints->size(); i++){
     Point coords = atmnet->abc_to_xyz(inaxsPoints->at(i));
     output << "{point {" <<  coords[0] << " " << coords[1] << " " << coords[2] << "}}" << "\n";
     };
   } 
 else if(type=="VISIT")
  {
  for(unsigned int i = 0; i < axsPoints->size(); i++){
    Point coords = atmnet->abc_to_xyz(axsPoints->at(i));
    output << coords[0] << " " << coords[1] << " " << coords[2] << " 1 a " << axsPChIDs->at(i) << "\n";
    }
  for(unsigned int i = 0; i < inaxsPoints->size(); i++){
    Point coords = atmnet->abc_to_xyz(inaxsPoints->at(i));
    output <<  coords[0] << " " << coords[1] << " " << coords[2] << " 0 n " << inaxsPPIDs->at(i) << "\n";
    }

  }
 else if(type=="LIVERPOOL")
  {
  for(unsigned int i = 0; i < axsPoints->size(); i++){
    Point coords = axsPoints->at(i);
    output << coords[0] << " " << coords[1] << " " << coords[2] << " 1 a " << axsPChIDs->at(i) << "\n";
    }
  for(unsigned int i = 0; i < inaxsPoints->size(); i++){
    Point coords = inaxsPoints->at(i);
    output <<  coords[0] << " " << coords[1] << " " << coords[2] << " 0 n " << inaxsPPIDs->at(i) << "\n";
    }
  }
 else
  {
  cout << "Output format unknown. Points not saved\n";
  };


}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
movq %r9, 0x50(%rsp)
movq %r8, 0x20(%rsp)
movq %rcx, 0x58(%rsp)
movq %rdx, %r13
movq %rsi, %r15
movq %rdi, 0x18(%rsp)
movq 0xa0(%rsp), %rbx
leaq 0x115043(%rip), %rsi    # 0x151670
movq %rbx, %rdi
callq 0x4170
testl %eax, %eax
movq %r15, 0x28(%rsp)
je 0x3c692
leaq 0x115062(%rip), %rsi    # 0x1516a7
movq %rbx, %rdi
callq 0x4170
testl %eax, %eax
je 0x3c945
leaq 0x11505d(%rip), %rsi    # 0x1516b9
movq %rbx, %rdi
callq 0x4170
testl %eax, %eax
je 0x3cbc2
movq 0x15894d(%rip), %rdi    # 0x194fc0
leaq 0x115049(%rip), %rsi    # 0x1516c3
movl $0x28, %edx
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x44e0
leaq 0x114fde(%rip), %rsi    # 0x151677
movl $0xd, %edx
movq 0x18(%rsp), %rbx
movq %rbx, %rdi
callq 0x44e0
leaq 0x116f6c(%rip), %rsi    # 0x15361e
movl $0x1, %edx
movq %rbx, %rdi
callq 0x44e0
movq (%r13), %rax
cmpq %rax, 0x8(%r13)
je 0x3c7e5
movl $0x1, %r12d
xorl %ecx, %ecx
leaq 0x30(%rsp), %rbx
leaq 0x118ef5(%rip), %rbp    # 0x1555d6
movq 0x18(%rsp), %r14
leaq (%rcx,%rcx,2), %rcx
movq 0x10(%rax,%rcx,8), %rdx
movq %rdx, 0x10(%rsp)
movups (%rax,%rcx,8), %xmm0
movups %xmm0, (%rsp)
movq %rbx, %rdi
movq %r15, %rsi
callq 0x51d04
movl $0x9, %edx
movq %r14, %rdi
leaq 0x114f6f(%rip), %rsi    # 0x151685
callq 0x44e0
movq %rbx, %rdi
xorl %esi, %esi
callq 0x83f9a
movsd (%rax), %xmm0
movq %r14, %rdi
callq 0x46b0
movq %rax, %r15
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x44e0
movq %rbx, %rdi
movl $0x1, %esi
callq 0x83f9a
movsd (%rax), %xmm0
movq %r15, %rdi
callq 0x46b0
movq %rax, %r15
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x44e0
movq %rbx, %rdi
movl $0x2, %esi
callq 0x83f9a
movsd (%rax), %xmm0
movq %r15, %rdi
callq 0x46b0
movq %rax, %r15
movl $0x2, %edx
movq %rax, %rdi
leaq 0x114ef4(%rip), %rsi    # 0x15168f
callq 0x44e0
movl $0x1, %edx
movq %r15, %rdi
movq 0x28(%rsp), %r15
leaq 0x116e6a(%rip), %rsi    # 0x15361e
callq 0x44e0
movl %r12d, %ecx
movq (%r13), %rax
movq 0x8(%r13), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
incl %r12d
cmpq %rcx, %rdx
ja 0x3c6e6
leaq 0x114ea6(%rip), %rsi    # 0x151692
movl $0xb, %edx
movq 0x18(%rsp), %rbx
movq %rbx, %rdi
callq 0x44e0
leaq 0x116e19(%rip), %rsi    # 0x15361e
movl $0x1, %edx
movq %rbx, %rdi
callq 0x44e0
movq 0x20(%rsp), %rcx
movq (%rcx), %rax
cmpq %rax, 0x8(%rcx)
je 0x3ce1e
movl $0x1, %ebp
xorl %ecx, %ecx
leaq 0x30(%rsp), %rbx
leaq 0x118d9f(%rip), %r13    # 0x1555d6
leaq 0x116de0(%rip), %r12    # 0x15361e
movq 0x18(%rsp), %r14
leaq (%rcx,%rcx,2), %rcx
movq 0x10(%rax,%rcx,8), %rdx
movq %rdx, 0x10(%rsp)
movups (%rax,%rcx,8), %xmm0
movups %xmm0, (%rsp)
movq %rbx, %rdi
movq %r15, %rsi
callq 0x51d04
movl $0x8, %edx
movq %r14, %rdi
leaq 0x114e2b(%rip), %rsi    # 0x15169e
callq 0x44e0
movq %rbx, %rdi
xorl %esi, %esi
callq 0x83f9a
movsd (%rax), %xmm0
movq %r14, %rdi
callq 0x46b0
movq %rax, %r15
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x44e0
movq %rbx, %rdi
movl $0x1, %esi
callq 0x83f9a
movsd (%rax), %xmm0
movq %r15, %rdi
callq 0x46b0
movq %rax, %r15
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x44e0
movq %rbx, %rdi
movl $0x2, %esi
callq 0x83f9a
movsd (%rax), %xmm0
movq %r15, %rdi
callq 0x46b0
movq %rax, %r15
movl $0x2, %edx
movq %rax, %rdi
leaq 0x114d97(%rip), %rsi    # 0x15168f
callq 0x44e0
movl $0x1, %edx
movq %r15, %rdi
movq 0x28(%rsp), %r15
movq %r12, %rsi
callq 0x44e0
movq 0x20(%rsp), %rdx
movl %ebp, %ecx
movq (%rdx), %rax
movq 0x8(%rdx), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
incl %ebp
cmpq %rcx, %rdx
ja 0x3c843
jmp 0x3ce1e
movq (%r13), %rax
cmpq %rax, 0x8(%r13)
je 0x3ca82
movl $0x1, %ebp
xorl %ebx, %ebx
movq %r13, 0x60(%rsp)
leaq (%rbx,%rbx,2), %rcx
movq 0x10(%rax,%rcx,8), %rdx
movq %rdx, 0x10(%rsp)
movups (%rax,%rcx,8), %xmm0
movups %xmm0, (%rsp)
leaq 0x30(%rsp), %r13
movq %r13, %rdi
movq %r15, %rsi
callq 0x51d04
movq %r13, %rdi
xorl %esi, %esi
callq 0x83f9a
movsd (%rax), %xmm0
movq 0x18(%rsp), %rdi
callq 0x46b0
movq %rax, %r15
movl $0x1, %edx
movq %rax, %rdi
leaq 0x118c27(%rip), %r14    # 0x1555d6
movq %r14, %rsi
callq 0x44e0
movq %r13, %rdi
movl $0x1, %esi
callq 0x83f9a
movsd (%rax), %xmm0
movq %r15, %rdi
callq 0x46b0
movq %rax, %r15
movl $0x1, %edx
movq %rax, %rdi
movq %r14, %rsi
callq 0x44e0
movq %r13, %rdi
movl $0x2, %esi
callq 0x83f9a
movsd (%rax), %xmm0
movq %r15, %rdi
callq 0x46b0
movq %rax, %r15
movl $0x5, %edx
movq %rax, %rdi
leaq 0x114c9f(%rip), %rsi    # 0x1516ad
callq 0x44e0
movq 0x58(%rsp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x2, %rdx
cmpq %rbx, %rdx
jbe 0x3ce2d
movl (%rax,%rbx,4), %esi
movq %r15, %rdi
callq 0x4750
movl $0x1, %edx
movq %rax, %rdi
leaq 0x116bd5(%rip), %rsi    # 0x15361e
callq 0x44e0
movl %ebp, %ebx
movq 0x60(%rsp), %r13
movq (%r13), %rax
movq 0x8(%r13), %rcx
subq %rax, %rcx
sarq $0x3, %rcx
movabsq $-0x5555555555555555, %rdx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rdx, %rcx
incl %ebp
cmpq %rbx, %rcx
movq 0x28(%rsp), %r15
ja 0x3c95f
movq 0x20(%rsp), %rcx
movq (%rcx), %rax
cmpq %rax, 0x8(%rcx)
je 0x3ce1e
movl $0x1, %ebp
xorl %ebx, %ebx
leaq 0x30(%rsp), %r12
leaq 0x118b2f(%rip), %r13    # 0x1555d6
leaq (%rbx,%rbx,2), %rcx
movq 0x10(%rax,%rcx,8), %rdx
movq %rdx, 0x10(%rsp)
movups (%rax,%rcx,8), %xmm0
movups %xmm0, (%rsp)
movq %r12, %rdi
movq %r15, %rsi
callq 0x51d04
movq %r12, %rdi
xorl %esi, %esi
callq 0x83f9a
movsd (%rax), %xmm0
movq 0x18(%rsp), %rdi
callq 0x46b0
movq %rax, %r15
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x44e0
movq %r12, %rdi
movl $0x1, %esi
callq 0x83f9a
movsd (%rax), %xmm0
movq %r15, %rdi
callq 0x46b0
movq %rax, %r15
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x44e0
movq %r12, %rdi
movl $0x2, %esi
callq 0x83f9a
movsd (%rax), %xmm0
movq %r15, %rdi
callq 0x46b0
movq %rax, %r15
movl $0x5, %edx
movq %rax, %rdi
leaq 0x114b69(%rip), %rsi    # 0x1516b3
callq 0x44e0
movq 0x50(%rsp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x2, %rdx
cmpq %rbx, %rdx
jbe 0x3ce2d
movl (%rax,%rbx,4), %esi
movq %r15, %rdi
callq 0x4750
movl $0x1, %edx
movq %rax, %rdi
leaq 0x116a99(%rip), %rsi    # 0x15361e
callq 0x44e0
movl %ebp, %ebx
movq 0x20(%rsp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rcx
subq %rax, %rcx
sarq $0x3, %rcx
movabsq $-0x5555555555555555, %rdx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rdx, %rcx
incl %ebp
cmpq %rbx, %rcx
movq 0x28(%rsp), %r15
ja 0x3caa7
jmp 0x3ce1e
movq (%r13), %rax
cmpq %rax, 0x8(%r13)
je 0x3cce9
movl $0x1, %ebp
xorl %r12d, %r12d
leaq (%r12,%r12,2), %rcx
movq 0x10(%rax,%rcx,8), %rdx
movq %rdx, 0x40(%rsp)
movups (%rax,%rcx,8), %xmm0
movaps %xmm0, 0x30(%rsp)
leaq 0x30(%rsp), %r14
movq %r14, %rdi
xorl %esi, %esi
callq 0x83f9a
movsd (%rax), %xmm0
movq 0x18(%rsp), %rdi
callq 0x46b0
movq %rax, %r15
movl $0x1, %edx
movq %rax, %rdi
leaq 0x1189b8(%rip), %rbx    # 0x1555d6
movq %rbx, %rsi
callq 0x44e0
movq %r14, %rdi
movl $0x1, %esi
callq 0x83f9a
movsd (%rax), %xmm0
movq %r15, %rdi
callq 0x46b0
movq %rax, %r15
movl $0x1, %edx
movq %rax, %rdi
movq %rbx, %rsi
callq 0x44e0
movq %r14, %rdi
movl $0x2, %esi
callq 0x83f9a
movsd (%rax), %xmm0
movq %r15, %rdi
callq 0x46b0
movq %rax, %r15
movl $0x5, %edx
movq %rax, %rdi
leaq 0x114a30(%rip), %rsi    # 0x1516ad
callq 0x44e0
movq 0x58(%rsp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x2, %rdx
cmpq %r12, %rdx
jbe 0x3ce39
movl (%rax,%r12,4), %esi
movq %r15, %rdi
callq 0x4750
movl $0x1, %edx
movq %rax, %rdi
leaq 0x116965(%rip), %rsi    # 0x15361e
callq 0x44e0
movl %ebp, %r12d
movq (%r13), %rax
movq 0x8(%r13), %rcx
subq %rax, %rcx
sarq $0x3, %rcx
movabsq $-0x5555555555555555, %rdx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rdx, %rcx
incl %ebp
cmpq %r12, %rcx
ja 0x3cbd8
movq 0x20(%rsp), %rcx
movq (%rcx), %rax
cmpq %rax, 0x8(%rcx)
je 0x3ce1e
movl $0x1, %r13d
xorl %ebp, %ebp
leaq 0x30(%rsp), %rbx
leaq 0x1188c7(%rip), %r15    # 0x1555d6
leaq 0x11499d(%rip), %r14    # 0x1516b3
leaq (,%rbp,2), %rcx
addq %rbp, %rcx
movq 0x10(%rax,%rcx,8), %rdx
movq %rdx, 0x40(%rsp)
movups (%rax,%rcx,8), %xmm0
movaps %xmm0, 0x30(%rsp)
movq %rbx, %rdi
xorl %esi, %esi
callq 0x83f9a
movsd (%rax), %xmm0
movq 0x18(%rsp), %rdi
callq 0x46b0
movq %rax, %r12
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x44e0
movq %rbx, %rdi
movl $0x1, %esi
callq 0x83f9a
movsd (%rax), %xmm0
movq %r12, %rdi
callq 0x46b0
movq %rax, %r12
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x44e0
movq %rbx, %rdi
movl $0x2, %esi
callq 0x83f9a
movsd (%rax), %xmm0
movq %r12, %rdi
callq 0x46b0
movq %rax, %r12
movl $0x5, %edx
movq %rax, %rdi
movq %r14, %rsi
callq 0x44e0
movq 0x50(%rsp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x2, %rdx
cmpq %rbp, %rdx
jbe 0x3ce45
movl (%rax,%rbp,4), %esi
movq %r12, %rdi
callq 0x4750
movl $0x1, %edx
movq %rax, %rdi
leaq 0x116835(%rip), %rsi    # 0x15361e
callq 0x44e0
movl %r13d, %ebp
movq 0x20(%rsp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rcx
subq %rax, %rcx
sarq $0x3, %rcx
movabsq $-0x5555555555555555, %rdx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rdx, %rcx
incl %r13d
cmpq %rbp, %rcx
ja 0x3cd16
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x1108c1(%rip), %rdi    # 0x14d6f5
movq %rbx, %rsi
jmp 0x3ce4f
leaq 0x1108b5(%rip), %rdi    # 0x14d6f5
movq %r12, %rsi
jmp 0x3ce4f
leaq 0x1108a9(%rip), %rdi    # 0x14d6f5
movq %rbp, %rsi
xorl %eax, %eax
callq 0x4630