// File: /workspace/github_cpp_makefile_star2_O3/icemiliang[P]vot/src/vot/diagram.cc
// Function: vot::Diagram::write_dirac_as_input(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void Diagram::write_dirac_as_input(std::string pFilename) {
        std::cout << "--> Writing resulting Dirac measures to " << pFilename << std::endl;
        std::ofstream outP(pFilename);
        outP << "Dirac " << mNumDiracs << std::endl;
        for (int i = 0; i < mNumDiracs; i++) {
            // Index starts from 0
            outP << i << " "
                 << mDiracs[i].x() << " " << mDiracs[i].y() << " "
                 << mDiracs[i].z() << " " << mDiracs[i].mass() << " "
                 << "0 " << mHs[i] << std::endl;
        }
        outP.close();
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x208, %rsp            # imm = 0x208
movq %rsi, %r14
movq %rdi, %rbx
movq 0x50274(%rip), %r15     # 0x60f98
leaq 0x39ec3(%rip), %rsi     # 0x4abee
movl $0x28, %edx
movq %r15, %rdi
callq 0x73f0
movq (%r14), %rsi
movq 0x8(%r14), %rdx
movq %r15, %rdi
callq 0x73f0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x7350
movsbl %al, %esi
movq %r15, %rdi
callq 0x7040
movq %rax, %rdi
callq 0x7270
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movq %r14, %rsi
movl $0x10, %edx
callq 0x77a0
leaq 0x39e8a(%rip), %rsi     # 0x4ac17
movl $0x6, %edx
movq %r15, %rdi
callq 0x73f0
movl 0x38(%rbx), %esi
leaq 0x8(%rsp), %rdi
callq 0x76a0
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x7350
movsbl %al, %esi
movq %r14, %rdi
callq 0x7040
movq %rax, %rdi
callq 0x7270
cmpl $0x0, 0x38(%rbx)
jle 0x10f06
xorl %r14d, %r14d
leaq 0x3ec7b(%rip), %r15     # 0x4fa60
leaq 0x39e32(%rip), %r12     # 0x4ac1e
xorl %r13d, %r13d
leaq 0x8(%rsp), %rdi
movl %r13d, %esi
callq 0x76a0
movq %rax, %rbp
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x73f0
movq 0x20(%rbx), %rax
movsd (%rax,%r14), %xmm0
movq %rbp, %rdi
callq 0x7620
movq %rax, %rbp
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x73f0
movq 0x20(%rbx), %rax
movsd 0x8(%rax,%r14), %xmm0
movq %rbp, %rdi
callq 0x7620
movq %rax, %rbp
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x73f0
movq 0x20(%rbx), %rax
movsd 0x10(%rax,%r14), %xmm0
movq %rbp, %rdi
callq 0x7620
movq %rax, %rbp
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x73f0
movq 0x20(%rbx), %rax
movsd 0x20(%rax,%r14), %xmm0
movq %rbp, %rdi
callq 0x7620
movq %rax, %rbp
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x73f0
movl $0x2, %edx
movq %rbp, %rdi
movq %r12, %rsi
callq 0x73f0
movq 0x50(%rbx), %rax
movsd (%rax,%r13,8), %xmm0
movq %rbp, %rdi
callq 0x7620
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x7350
movsbl %al, %esi
movq %rbp, %rdi
callq 0x7040
movq %rax, %rdi
callq 0x7270
incq %r13
movslq 0x38(%rbx), %rax
addq $0x30, %r14
cmpq %rax, %r13
jl 0x10def
leaq 0x8(%rsp), %rdi
callq 0x7540
movq 0x50059(%rip), %rax     # 0x60f70
movq (%rax), %rcx
movq 0x18(%rax), %rax
leaq 0x10(%rsp), %rdi
movq %rcx, -0x8(%rdi)
movq -0x18(%rcx), %rcx
movq %rax, 0x8(%rsp,%rcx)
callq 0x7310
leaq 0x100(%rsp), %rdi
callq 0x7130
addq $0x208, %rsp            # imm = 0x208
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x10f56
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x7580
movq %rbx, %rdi
callq 0x76d0
nop