// File: /workspace/github_cpp_makefile_star2_O2/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 $0x58, %rsp
movq %r9, 0x50(%rsp)
movq %r8, 0x28(%rsp)
movq %rcx, 0x48(%rsp)
movq %rdx, %r13
movq %rsi, 0x20(%rsp)
movq %rdi, %r15
movq 0x90(%rsp), %r14
leaq 0xd2cff(%rip), %rsi     # 0x1005e0
movq %r14, %rdi
callq 0x36bf4
testb %al, %al
je 0x2db0b
leaq 0xd2cef(%rip), %rsi     # 0x1005e7
movq %r15, %rbx
movq %r15, %rdi
callq 0x4480
leaq 0xd4c74(%rip), %rsi     # 0x10257e
movq %rax, %rdi
callq 0x4480
xorl %eax, %eax
leaq 0x30(%rsp), %rbp
leaq 0xd6bf2(%rip), %r12     # 0x104512
movl %eax, %r14d
movq 0x8(%r13), %rax
subq (%r13), %rax
cqto
pushq $0x18
popq %rcx
idivq %rcx
cmpq %r14, %rax
jbe 0x2d9fd
movq %r13, %rdi
movq %r14, %rsi
callq 0x246b4
movq 0x10(%rax), %rcx
movq %rcx, 0x10(%rsp)
movups (%rax), %xmm0
movups %xmm0, (%rsp)
movq %rbp, %rdi
movq 0x20(%rsp), %rsi
callq 0x3e536
movq %rbx, %rdi
leaq 0xd2c87(%rip), %rsi     # 0x1005f5
callq 0x4480
movq %rax, %r15
movq %rbp, %rdi
xorl %esi, %esi
callq 0x63c78
movsd (%rax), %xmm0
movq %r15, %rdi
callq 0x46c0
movq %rax, %rdi
movq %r12, %rsi
callq 0x4480
movq %rax, %r15
movq %rbp, %rdi
pushq $0x1
popq %rsi
callq 0x63c78
movsd (%rax), %xmm0
movq %r15, %rdi
callq 0x46c0
movq %rax, %rdi
movq %r12, %rsi
callq 0x4480
movq %rax, %r15
movq %rbp, %rdi
pushq $0x2
popq %rsi
callq 0x63c78
movsd (%rax), %xmm0
movq %r15, %rdi
callq 0x46c0
movq %rax, %rdi
leaq 0xd2c1f(%rip), %rsi     # 0x1005ff
callq 0x4480
movq %rax, %rdi
leaq 0xd4b8f(%rip), %rsi     # 0x10257e
callq 0x4480
leal 0x1(%r14), %eax
jmp 0x2d920
leaq 0xd2bfe(%rip), %rsi     # 0x100602
movq %rbx, %rdi
callq 0x4480
leaq 0xd4b6b(%rip), %rsi     # 0x10257e
movq %rax, %rdi
callq 0x4480
xorl %eax, %eax
leaq 0x30(%rsp), %r13
leaq 0xd6ae9(%rip), %r12     # 0x104512
movq 0x28(%rsp), %rbp
movl %eax, %r14d
movq 0x8(%rbp), %rax
subq (%rbp), %rax
cqto
pushq $0x18
popq %rcx
idivq %rcx
cmpq %r14, %rax
jbe 0x2def7
movq %rbp, %rdi
movq %r14, %rsi
callq 0x246b4
movq 0x10(%rax), %rcx
movq %rcx, 0x10(%rsp)
movups (%rax), %xmm0
movups %xmm0, (%rsp)
movq %r13, %rdi
movq 0x20(%rsp), %rsi
callq 0x3e536
movq %rbx, %rdi
leaq 0xd2b92(%rip), %rsi     # 0x10060e
callq 0x4480
movq %rax, %r15
movq %r13, %rdi
xorl %esi, %esi
callq 0x63c78
movsd (%rax), %xmm0
movq %r15, %rdi
callq 0x46c0
movq %rax, %rdi
movq %r12, %rsi
callq 0x4480
movq %rax, %r15
movq %r13, %rdi
pushq $0x1
popq %rsi
callq 0x63c78
movsd (%rax), %xmm0
movq %r15, %rdi
callq 0x46c0
movq %rax, %rdi
movq %r12, %rsi
callq 0x4480
movq %rax, %r15
movq %r13, %rdi
pushq $0x2
popq %rsi
callq 0x63c78
movsd (%rax), %xmm0
movq %r15, %rdi
callq 0x46c0
movq %rax, %rdi
leaq 0xd2b11(%rip), %rsi     # 0x1005ff
callq 0x4480
movq %rax, %rdi
leaq 0xd4a81(%rip), %rsi     # 0x10257e
callq 0x4480
leal 0x1(%r14), %eax
jmp 0x2da2e
leaq 0xd2b05(%rip), %rsi     # 0x100617
movq %r14, %rdi
callq 0x36bf4
testb %al, %al
je 0x2dd0e
movq %r15, %rbx
xorl %eax, %eax
leaq 0x30(%rsp), %r12
movl %eax, %ebp
movq 0x8(%r13), %rax
subq (%r13), %rax
cqto
pushq $0x18
popq %rcx
idivq %rcx
cmpq %rbp, %rax
jbe 0x2dc16
movq %r13, %rdi
movq %rbp, %rsi
callq 0x246b4
movq 0x10(%rax), %rcx
movq %rcx, 0x10(%rsp)
movups (%rax), %xmm0
movups %xmm0, (%rsp)
movq %r12, %rdi
movq 0x20(%rsp), %rsi
callq 0x3e536
movq %r12, %rdi
xorl %esi, %esi
callq 0x63c78
movsd (%rax), %xmm0
movq %rbx, %rdi
callq 0x46c0
movq %rax, %rdi
leaq 0xd6983(%rip), %r15     # 0x104512
movq %r15, %rsi
callq 0x4480
movq %rax, %r14
movq %r12, %rdi
pushq $0x1
popq %rsi
callq 0x63c78
movsd (%rax), %xmm0
movq %r14, %rdi
callq 0x46c0
movq %rax, %rdi
movq %r15, %rsi
callq 0x4480
movq %rax, %r14
movq %r12, %rdi
pushq $0x2
popq %rsi
callq 0x63c78
movsd (%rax), %xmm0
movq %r14, %rdi
callq 0x46c0
movq %rax, %rdi
leaq 0xd2a3d(%rip), %rsi     # 0x10061d
callq 0x4480
movq %rax, %r14
movq 0x48(%rsp), %rdi
movq %rbp, %rsi
callq 0xac00
movl (%rax), %esi
movq %r14, %rdi
callq 0x4760
movq %rax, %rdi
leaq 0xd4975(%rip), %rsi     # 0x10257e
callq 0x4480
leal 0x1(%rbp), %eax
jmp 0x2db2c
xorl %eax, %eax
leaq 0x30(%rsp), %r13
leaq 0xd68ee(%rip), %rbp     # 0x104512
movq 0x28(%rsp), %r15
movl %eax, %r12d
movq 0x8(%r15), %rax
subq (%r15), %rax
cqto
pushq $0x18
popq %rcx
idivq %rcx
cmpq %r12, %rax
jbe 0x2def7
movq %r15, %rdi
movq %r12, %rsi
callq 0x246b4
movq 0x10(%rax), %rcx
movq %rcx, 0x10(%rsp)
movups (%rax), %xmm0
movups %xmm0, (%rsp)
movq %r13, %rdi
movq 0x20(%rsp), %rsi
callq 0x3e536
movq %r13, %rdi
xorl %esi, %esi
callq 0x63c78
movsd (%rax), %xmm0
movq %rbx, %rdi
callq 0x46c0
movq %rax, %rdi
movq %rbp, %rsi
callq 0x4480
movq %rax, %r14
movq %r13, %rdi
pushq $0x1
popq %rsi
callq 0x63c78
movsd (%rax), %xmm0
movq %r14, %rdi
callq 0x46c0
movq %rax, %rdi
movq %rbp, %rsi
callq 0x4480
movq %rax, %r14
movq %r13, %rdi
pushq $0x2
popq %rsi
callq 0x63c78
movsd (%rax), %xmm0
movq %r14, %rdi
callq 0x46c0
movq %rax, %rdi
leaq 0xd294d(%rip), %rsi     # 0x100623
callq 0x4480
movq %rax, %r14
movq 0x50(%rsp), %rdi
movq %r12, %rsi
callq 0xac00
movl (%rax), %esi
movq %r14, %rdi
callq 0x4760
movq %rax, %rdi
leaq 0xd487f(%rip), %rsi     # 0x10257e
callq 0x4480
leal 0x1(%r12), %eax
jmp 0x2dc29
leaq 0xd2914(%rip), %rsi     # 0x100629
movq %r14, %rdi
callq 0x36bf4
testb %al, %al
je 0x2df06
movq %r15, %rbx
xorl %eax, %eax
leaq 0x30(%rsp), %r15
leaq 0xd67dc(%rip), %r12     # 0x104512
movl %eax, %ebp
movq 0x8(%r13), %rax
subq (%r13), %rax
cqto
pushq $0x18
popq %rcx
idivq %rcx
cmpq %rbp, %rax
jbe 0x2de0d
movq %r13, %rdi
movq %rbp, %rsi
callq 0x246b4
movups (%rax), %xmm0
movaps %xmm0, 0x30(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x40(%rsp)
movq %r15, %rdi
xorl %esi, %esi
callq 0x63c78
movsd (%rax), %xmm0
movq %rbx, %rdi
callq 0x46c0
movq %rax, %rdi
movq %r12, %rsi
callq 0x4480
movq %rax, %r14
movq %r15, %rdi
pushq $0x1
popq %rsi
callq 0x63c78
movsd (%rax), %xmm0
movq %r14, %rdi
callq 0x46c0
movq %rax, %rdi
movq %r12, %rsi
callq 0x4480
movq %rax, %r14
movq %r15, %rdi
pushq $0x2
popq %rsi
callq 0x63c78
movsd (%rax), %xmm0
movq %r14, %rdi
callq 0x46c0
movq %rax, %rdi
leaq 0xd2846(%rip), %rsi     # 0x10061d
callq 0x4480
movq %rax, %r14
movq 0x48(%rsp), %rdi
movq %rbp, %rsi
callq 0xac00
movl (%rax), %esi
movq %r14, %rdi
callq 0x4760
movq %rax, %rdi
leaq 0xd477e(%rip), %rsi     # 0x10257e
callq 0x4480
leal 0x1(%rbp), %eax
jmp 0x2dd36
xorl %eax, %eax
leaq 0x30(%rsp), %r15
leaq 0xd66f7(%rip), %r12     # 0x104512
movq 0x28(%rsp), %r13
movl %eax, %ebp
movq 0x8(%r13), %rax
subq (%r13), %rax
cqto
pushq $0x18
popq %rcx
idivq %rcx
cmpq %rbp, %rax
jbe 0x2def7
movq %r13, %rdi
movq %rbp, %rsi
callq 0x246b4
movups (%rax), %xmm0
movaps %xmm0, 0x30(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x40(%rsp)
movq %r15, %rdi
xorl %esi, %esi
callq 0x63c78
movsd (%rax), %xmm0
movq %rbx, %rdi
callq 0x46c0
movq %rax, %rdi
movq %r12, %rsi
callq 0x4480
movq %rax, %r14
movq %r15, %rdi
pushq $0x1
popq %rsi
callq 0x63c78
movsd (%rax), %xmm0
movq %r14, %rdi
callq 0x46c0
movq %rax, %rdi
movq %r12, %rsi
callq 0x4480
movq %rax, %r14
movq %r15, %rdi
pushq $0x2
popq %rsi
callq 0x63c78
movsd (%rax), %xmm0
movq %r14, %rdi
callq 0x46c0
movq %rax, %rdi
leaq 0xd2762(%rip), %rsi     # 0x100623
callq 0x4480
movq %rax, %r14
movq 0x50(%rsp), %rdi
movq %rbp, %rsi
callq 0xac00
movl (%rax), %esi
movq %r14, %rdi
callq 0x4760
movq %rax, %rdi
leaq 0xd4694(%rip), %rsi     # 0x10257e
callq 0x4480
leal 0x1(%rbp), %eax
jmp 0x2de20
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x1220b3(%rip), %rdi    # 0x14ffc0
leaq 0xd271f(%rip), %rsi     # 0x100633
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x4480