// File: 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
movq %rsp, %rbp
subq $0x2d0, %rsp            # imm = 0x2D0
movq %rsi, -0x238(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x240(%rbp)
movq 0x9fd2c(%rip), %rdi     # 0xbef98
leaq 0x6eb7b(%rip), %rsi     # 0x8ddee
callq 0xa4a0
movq -0x238(%rbp), %rsi
movq %rax, %rdi
callq 0xa460
movq %rax, %rdi
movq 0x9fc97(%rip), %rsi     # 0xbef28
callq 0xa500
movq -0x238(%rbp), %rsi
leaq -0x210(%rbp), %rdi
movq %rdi, -0x230(%rbp)
movl $0x10, %edx
callq 0xaa30
movq -0x230(%rbp), %rdi
leaq 0x6eb54(%rip), %rsi     # 0x8de17
callq 0xa4a0
movq %rax, -0x228(%rbp)
jmp 0x1f2d1
movq -0x228(%rbp), %rdi
movq -0x240(%rbp), %rax
movl 0x38(%rax), %esi
callq 0xa920
movq %rax, -0x248(%rbp)
jmp 0x1f2f0
movq -0x248(%rbp), %rdi
movq 0x9fc2a(%rip), %rsi     # 0xbef28
callq 0xa500
jmp 0x1f305
movl $0x0, -0x220(%rbp)
movq -0x240(%rbp), %rcx
movl -0x220(%rbp), %eax
cmpl 0x38(%rcx), %eax
jge 0x1f57b
movl -0x220(%rbp), %esi
leaq -0x210(%rbp), %rdi
callq 0xa920
movq %rax, -0x250(%rbp)
jmp 0x1f340
movq -0x250(%rbp), %rdi
leaq 0x7520e(%rip), %rsi     # 0x9455c
callq 0xa4a0
movq %rax, -0x258(%rbp)
jmp 0x1f35c
movq -0x240(%rbp), %rdi
addq $0x20, %rdi
movslq -0x220(%rbp), %rsi
callq 0x218b0
movq %rax, %rdi
callq 0x218d0
movsd %xmm0, -0x260(%rbp)
jmp 0x1f385
movsd -0x260(%rbp), %xmm0
movq -0x258(%rbp), %rdi
callq 0xa9f0
movq %rax, -0x268(%rbp)
jmp 0x1f3a2
movq -0x268(%rbp), %rdi
leaq 0x751ac(%rip), %rsi     # 0x9455c
callq 0xa4a0
movq %rax, -0x270(%rbp)
jmp 0x1f3be
movq -0x240(%rbp), %rdi
addq $0x20, %rdi
movslq -0x220(%rbp), %rsi
callq 0x218b0
movq %rax, %rdi
callq 0x218f0
movsd %xmm0, -0x278(%rbp)
jmp 0x1f3e7
movsd -0x278(%rbp), %xmm0
movq -0x270(%rbp), %rdi
callq 0xa9f0
movq %rax, -0x280(%rbp)
jmp 0x1f404
movq -0x280(%rbp), %rdi
leaq 0x7514a(%rip), %rsi     # 0x9455c
callq 0xa4a0
movq %rax, -0x288(%rbp)
jmp 0x1f420
movq -0x240(%rbp), %rdi
addq $0x20, %rdi
movslq -0x220(%rbp), %rsi
callq 0x218b0
movq %rax, %rdi
callq 0x21910
movsd %xmm0, -0x290(%rbp)
jmp 0x1f449
movsd -0x290(%rbp), %xmm0
movq -0x288(%rbp), %rdi
callq 0xa9f0
movq %rax, -0x298(%rbp)
jmp 0x1f466
movq -0x298(%rbp), %rdi
leaq 0x750e8(%rip), %rsi     # 0x9455c
callq 0xa4a0
movq %rax, -0x2a0(%rbp)
jmp 0x1f482
movq -0x240(%rbp), %rdi
addq $0x20, %rdi
movslq -0x220(%rbp), %rsi
callq 0x218b0
movq %rax, %rdi
callq 0x21930
movsd %xmm0, -0x2a8(%rbp)
jmp 0x1f4ab
movsd -0x2a8(%rbp), %xmm0
movq -0x2a0(%rbp), %rdi
callq 0xa9f0
movq %rax, -0x2b0(%rbp)
jmp 0x1f4c8
movq -0x2b0(%rbp), %rdi
leaq 0x75086(%rip), %rsi     # 0x9455c
callq 0xa4a0
movq %rax, -0x2b8(%rbp)
jmp 0x1f4e4
movq -0x2b8(%rbp), %rdi
leaq 0x6e92c(%rip), %rsi     # 0x8de1e
callq 0xa4a0
movq %rax, -0x2c0(%rbp)
jmp 0x1f500
movq -0x240(%rbp), %rdi
addq $0x50, %rdi
movslq -0x220(%rbp), %rsi
callq 0x21950
movq -0x2c0(%rbp), %rdi
movsd (%rax), %xmm0
callq 0xa9f0
movq %rax, -0x2c8(%rbp)
jmp 0x1f530
movq -0x2c8(%rbp), %rdi
movq 0x9f9ea(%rip), %rsi     # 0xbef28
callq 0xa500
jmp 0x1f545
jmp 0x1f547
movl -0x220(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x220(%rbp)
jmp 0x1f30f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x218(%rbp)
movl %eax, -0x21c(%rbp)
leaq -0x210(%rbp), %rdi
callq 0xa7b0
jmp 0x1f59e
leaq -0x210(%rbp), %rdi
callq 0xa740
jmp 0x1f589
leaq -0x210(%rbp), %rdi
callq 0xa7b0
addq $0x2d0, %rsp            # imm = 0x2D0
popq %rbp
retq
movq -0x218(%rbp), %rdi
callq 0xa950
nopw (%rax,%rax)