// File: icemiliang[P]vot/src/votx/otx.cc
// Function: votx::OTX::write_dirac(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void OTX::write_dirac(std::string filename) {
        std::ofstream of(filename);
        of << "dirac " << vNumDiracXs << " " << vDim << std::endl;
        for (int i = 0; i < vNumDiracXs; i++) {
            of << "{ mass: " << vDiracXs[i]->mass() << " dirac: " << vDiracXs[i]->dirac() 
               << " h: " << vHs[i] << " } ";
            for (int j = 0; j < vDim; j++) {
                of << (*vDiracXs[i])[j] << " ";
            }
            of << std::endl;
        }
        of.close();
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x2b0, %rsp            # imm = 0x2B0
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x240(%rbp)
leaq -0x210(%rbp), %rdi
movq %rdi, -0x238(%rbp)
movl $0x10, %edx
callq 0x9990
movq -0x238(%rbp), %rdi
leaq 0x6405(%rip), %rsi      # 0x26049
callq 0x9480
movq %rax, -0x230(%rbp)
jmp 0x1fc52
movq -0x230(%rbp), %rdi
movq -0x240(%rbp), %rax
movl 0x7c(%rax), %esi
callq 0x9890
movq %rax, -0x248(%rbp)
jmp 0x1fc71
movq -0x248(%rbp), %rdi
leaq 0x634a(%rip), %rsi      # 0x25fc9
callq 0x9480
movq %rax, -0x250(%rbp)
jmp 0x1fc8d
movq -0x250(%rbp), %rdi
movq -0x240(%rbp), %rax
movl 0x84(%rax), %esi
callq 0x9890
movq %rax, -0x258(%rbp)
jmp 0x1fcaf
movq -0x258(%rbp), %rdi
movq 0x1728b(%rip), %rsi     # 0x36f48
callq 0x94d0
jmp 0x1fcc4
movl $0x0, -0x220(%rbp)
movq -0x240(%rbp), %rcx
movl -0x220(%rbp), %eax
cmpl 0x7c(%rcx), %eax
jge 0x1fee4
leaq 0x6365(%rip), %rsi      # 0x26050
leaq -0x210(%rbp), %rdi
callq 0x9480
movq %rax, -0x260(%rbp)
jmp 0x1fd00
movq -0x240(%rbp), %rdi
movslq -0x220(%rbp), %rsi
callq 0x20e10
movq (%rax), %rdi
callq 0x20bd0
movsd %xmm0, -0x268(%rbp)
jmp 0x1fd25
movsd -0x268(%rbp), %xmm0
movq -0x260(%rbp), %rdi
callq 0x9960
movq %rax, -0x270(%rbp)
jmp 0x1fd42
movq -0x270(%rbp), %rdi
leaq 0x6348(%rip), %rsi      # 0x26098
callq 0x9480
movq %rax, -0x278(%rbp)
jmp 0x1fd5e
movq -0x240(%rbp), %rdi
movslq -0x220(%rbp), %rsi
callq 0x20e10
movq (%rax), %rdi
callq 0x20680
movsd %xmm0, -0x280(%rbp)
jmp 0x1fd83
movsd -0x280(%rbp), %xmm0
movq -0x278(%rbp), %rdi
callq 0x9960
movq %rax, -0x288(%rbp)
jmp 0x1fda0
movq -0x288(%rbp), %rdi
leaq 0x62ab(%rip), %rsi      # 0x26059
callq 0x9480
movq %rax, -0x290(%rbp)
jmp 0x1fdbc
movq -0x240(%rbp), %rdi
addq $0x30, %rdi
movslq -0x220(%rbp), %rsi
callq 0x20e30
movq -0x290(%rbp), %rdi
movsd (%rax), %xmm0
callq 0x9960
movq %rax, -0x298(%rbp)
jmp 0x1fdec
movq -0x298(%rbp), %rdi
leaq 0x6264(%rip), %rsi      # 0x2605e
callq 0x9480
jmp 0x1fe01
movl $0x0, -0x224(%rbp)
movq -0x240(%rbp), %rcx
movl -0x224(%rbp), %eax
cmpl 0x84(%rcx), %eax
jge 0x1feb9
movq -0x240(%rbp), %rdi
movslq -0x220(%rbp), %rsi
callq 0x20e10
movq (%rax), %rdi
movl -0x224(%rbp), %esi
callq 0x20aa0
movq %rax, -0x2a0(%rbp)
jmp 0x1fe4e
movq -0x2a0(%rbp), %rax
movsd (%rax), %xmm0
leaq -0x210(%rbp), %rdi
callq 0x9960
movq %rax, -0x2a8(%rbp)
jmp 0x1fe6e
movq -0x2a8(%rbp), %rdi
leaq 0x614d(%rip), %rsi      # 0x25fc9
callq 0x9480
jmp 0x1fe83
jmp 0x1fe85
movl -0x224(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x224(%rbp)
jmp 0x1fe0b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x218(%rbp)
movl %eax, -0x21c(%rbp)
leaq -0x210(%rbp), %rdi
callq 0x9730
jmp 0x1ff07
movq 0x17088(%rip), %rsi     # 0x36f48
leaq -0x210(%rbp), %rdi
callq 0x94d0
jmp 0x1fece
jmp 0x1fed0
movl -0x220(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x220(%rbp)
jmp 0x1fcce
leaq -0x210(%rbp), %rdi
callq 0x96d0
jmp 0x1fef2
leaq -0x210(%rbp), %rdi
callq 0x9730
addq $0x2b0, %rsp            # imm = 0x2B0
popq %rbp
retq
movq -0x218(%rbp), %rdi
callq 0x98c0
nopw %cs:(%rax,%rax)