// File: /workspace/github_cpp_makefile_star2_O2/Luthaf[P]zeopp/ray.cc
// Function: reportRayInfo(std::vector<ray, std::allocator<ray>>&)
void reportRayInfo(vector<ray>& axsray){
  ofstream rayinfo;
  rayinfo.open ("Ray_Info.txt");
  if (rayinfo.good() == true){  
    cout << "Ray_Info.txt: size = " << axsray.size() << endl; 
    rayinfo << "x y z dx dy dz magnitude" << endl;
    for (unsigned int i=0;i<axsray.size();i++){
      ray rand_ray = axsray.at(i);
//      rayinfo << rand_ray.base << " "<< rand_ray.vector << " " << rand_ray.vector.magnitude()  << endl;
      rayinfo << rand_ray.base.vals[0] << " " << rand_ray.base.vals[1] << " "<< rand_ray.base.vals[2] << " "
              << rand_ray.vector.vals[0] << " " << rand_ray.vector.vals[1] << " " << rand_ray.vector.vals[2] << " " 
	      << rand_ray.vector.magnitude()  << endl;
      }
  }
  else {
    cerr << "Ray_Info.txt ran into errors opening" << endl;
    abort();
  }
  rayinfo.close();
  return;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x238, %rsp            # imm = 0x238
movq %rdi, %rbx
leaq 0x38(%rsp), %r14
movq %r14, %rdi
callq 0x4730
leaq 0xc4bdc(%rip), %rsi     # 0x1014fe
pushq $0x10
popq %rdx
movq %r14, %rdi
callq 0x4060
movq 0x38(%rsp), %rax
movq -0x18(%rax), %rax
cmpl $0x0, 0x58(%rsp,%rax)
jne 0x3cac0
movq 0x113678(%rip), %rdi    # 0x14ffc0
leaq 0xc4bbc(%rip), %rsi     # 0x10150b
callq 0x4480
movq %rax, %rdi
movq 0x8(%rbx), %rax
subq (%rbx), %rax
pushq $0x30
popq %rcx
cqto
idivq %rcx
movq %rax, %rsi
callq 0x42e0
movq %rax, %rdi
callq 0x4230
leaq 0xc4ba4(%rip), %rsi     # 0x101521
leaq 0x38(%rsp), %rdi
callq 0x4480
movq %rax, %rdi
callq 0x4230
xorl %r14d, %r14d
leaq 0x18(%rsp), %r15
leaq 0x38(%rsp), %r12
leaq 0xc7b6f(%rip), %r13     # 0x104512
movl %r14d, %r14d
movq 0x8(%rbx), %rax
subq (%rbx), %rax
cqto
pushq $0x30
popq %rcx
idivq %rcx
cmpq %r14, %rax
jbe 0x3ca9a
movq %rbx, %rdi
movq %r14, %rsi
callq 0x3cdc8
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movaps %xmm0, (%rsp)
movaps %xmm2, 0x20(%rsp)
movaps %xmm1, 0x10(%rsp)
movsd (%rsp), %xmm0
movq %r12, %rdi
callq 0x46c0
movq %rax, %rdi
movq %r13, %rsi
callq 0x4480
movsd 0x8(%rsp), %xmm0
movq %rax, %rdi
callq 0x46c0
movq %rax, %rdi
movq %r13, %rsi
callq 0x4480
movsd 0x10(%rsp), %xmm0
movq %rax, %rdi
callq 0x46c0
movq %rax, %rdi
movq %r13, %rsi
callq 0x4480
movsd 0x18(%rsp), %xmm0
movq %rax, %rdi
callq 0x46c0
movq %rax, %rdi
movq %r13, %rsi
callq 0x4480
movsd 0x20(%rsp), %xmm0
movq %rax, %rdi
callq 0x46c0
movq %rax, %rdi
movq %r13, %rsi
callq 0x4480
movsd 0x28(%rsp), %xmm0
movq %rax, %rdi
callq 0x46c0
movq %rax, %rdi
movq %r13, %rsi
callq 0x4480
movq %rax, %rbp
movq %r15, %rdi
callq 0x63d48
movq %rbp, %rdi
callq 0x46c0
movq %rax, %rdi
callq 0x4230
incl %r14d
jmp 0x3c9a3
leaq 0x38(%rsp), %rdi
callq 0x4600
leaq 0x38(%rsp), %rdi
callq 0x4640
addq $0x238, %rsp            # imm = 0x238
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x113529(%rip), %rdi    # 0x14fff0
leaq 0xc4a6c(%rip), %rsi     # 0x10153a
callq 0x4480
movq %rax, %rdi
callq 0x4230
callq 0x4290
jmp 0x3cae2
movq %rax, %rbx
leaq 0x38(%rsp), %rdi
callq 0x4640
movq %rbx, %rdi
callq 0x4780