// File: /workspace/github_cpp_makefile_star2_O3/aalto-speech[P]ftk/src/Bigrams.cc
// Function: Bigrams::write_transitions(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, double, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, double>>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, double, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, double>>>>>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool, int)
void
Bigrams::write_transitions(const transitions_t &transitions,
                           const string &filename,
                           bool count_style,
                           int num_decimals)
{
    SimpleFileOutput transfile(filename);

    for (auto srcit = transitions.cbegin(); srcit != transitions.cend(); ++srcit)
        for (auto tgtit = srcit->second.cbegin(); tgtit != srcit->second.cend(); ++tgtit)
            if (count_style)
                transfile << srcit->first << " " << tgtit->first << "\t" << tgtit->second << "\n";
            else
                transfile << srcit->first << " " << tgtit->first << "\t" << tgtit->second << "\n";

    transfile.close();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xa8, %rsp
movl %edx, -0x34(%rbp)
movq %rdi, %r15
leaq -0xb8(%rbp), %r14
movq %r14, -0x10(%r14)
movq (%rsi), %rax
movq 0x8(%rsi), %rdx
addq %rax, %rdx
leaq -0xc8(%rbp), %rbx
movq %rbx, %rdi
movq %rax, %rsi
callq 0x5f0e
leaq -0x30(%rbp), %rdi
movq %rbx, %rsi
callq 0x629e
movq -0xc8(%rbp), %rdi
cmpq %r14, %rdi
je 0x222a0
callq 0x4350
movq 0x18(%r15), %rax
addq $0x8, %r15
movq %r15, -0xa8(%rbp)
cmpq %r15, %rax
je 0x224d1
movq 0x58(%rax), %r13
movq %rax, -0xa0(%rbp)
leaq 0x48(%rax), %r14
cmpq %r14, %r13
je 0x224b8
movq -0xa0(%rbp), %rax
leaq 0x20(%rax), %rbx
cmpb $0x0, -0x34(%rbp)
je 0x223a9
leaq -0x30(%rbp), %rdi
movq %rbx, %rsi
callq 0x6462
movq %rax, %r15
leaq -0x88(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq -0x98(%rbp), %r12
movq %r12, %rdi
leaq 0x407d(%rip), %rsi      # 0x26390
leaq 0x4077(%rip), %rdx      # 0x26391
callq 0x5fac
movq %r15, %rdi
movq %r12, %rsi
callq 0x6462
leaq 0x20(%r13), %rsi
movq %rax, %rdi
callq 0x6462
movq %rax, %r15
leaq -0x68(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq -0x78(%rbp), %r12
movq %r12, %rdi
leaq 0x4247(%rip), %rsi      # 0x26596
leaq 0x4241(%rip), %rdx      # 0x26597
callq 0x5fac
movq %r15, %rdi
movq %r12, %rsi
callq 0x6462
movsd 0x40(%r13), %xmm0
movq %rax, %rdi
callq 0x650a
movq %rax, %r15
leaq -0x48(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq -0x58(%rbp), %r12
movq %r12, %rdi
leaq 0x3fed(%rip), %rsi      # 0x2637a
leaq 0x3fe7(%rip), %rdx      # 0x2637b
callq 0x5fac
movq %r15, %rdi
movq %r12, %rsi
callq 0x6462
jmp 0x22468
leaq -0x30(%rbp), %rdi
movq %rbx, %rsi
callq 0x6462
movq %rax, %r15
leaq -0x88(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq -0x98(%rbp), %r12
movq %r12, %rdi
leaq 0x3fb9(%rip), %rsi      # 0x26390
leaq 0x3fb3(%rip), %rdx      # 0x26391
callq 0x5fac
movq %r15, %rdi
movq %r12, %rsi
callq 0x6462
leaq 0x20(%r13), %rsi
movq %rax, %rdi
callq 0x6462
movq %rax, %r15
leaq -0x68(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq -0x78(%rbp), %r12
movq %r12, %rdi
leaq 0x4183(%rip), %rsi      # 0x26596
leaq 0x417d(%rip), %rdx      # 0x26597
callq 0x5fac
movq %r15, %rdi
movq %r12, %rsi
callq 0x6462
movsd 0x40(%r13), %xmm0
movq %rax, %rdi
callq 0x650a
movq %rax, %r15
leaq -0x48(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq -0x58(%rbp), %r12
movq %r12, %rdi
leaq 0x3f29(%rip), %rsi      # 0x2637a
leaq 0x3f23(%rip), %rdx      # 0x2637b
callq 0x5fac
movq %r15, %rdi
movq %r12, %rsi
callq 0x6462
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x2247a
callq 0x4350
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x2248c
callq 0x4350
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rax
cmpq %rax, %rdi
je 0x224a4
callq 0x4350
movq %r13, %rdi
callq 0x4410
movq %rax, %r13
cmpq %r14, %rax
jne 0x222db
movq -0xa0(%rbp), %rdi
callq 0x4410
cmpq -0xa8(%rbp), %rax
jne 0x222b8
leaq -0x30(%rbp), %rdi
callq 0x6430
leaq -0x30(%rbp), %rdi
callq 0x63f6
addq $0xa8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x2253b
movq %rax, %rbx
movq -0xc8(%rbp), %rdi
cmpq %r14, %rdi
je 0x22576
callq 0x4350
jmp 0x22576
jmp 0x2253b
jmp 0x22540
jmp 0x22540
jmp 0x2253b
jmp 0x2251b
jmp 0x22534
jmp 0x22534
movq %rax, %rbx
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x22543
callq 0x4350
jmp 0x22543
jmp 0x22534
movq %rax, %rbx
jmp 0x22555
jmp 0x22540
movq %rax, %rbx
jmp 0x2256d
movq %rax, %rbx
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x22555
callq 0x4350
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rax
cmpq %rax, %rdi
je 0x2256d
callq 0x4350
leaq -0x30(%rbp), %rdi
callq 0x63f6
movq %rbx, %rdi
callq 0x4650