// File: /workspace/github_cpp_makefile_star2_O1/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 0x5f0a
leaq -0x30(%rbp), %rdi
movq %rbx, %rsi
callq 0x6292
movq -0xc8(%rbp), %rdi
cmpq %r14, %rdi
je 0x2247c
callq 0x4350
movq 0x18(%r15), %rax
addq $0x8, %r15
movq %r15, -0xa8(%rbp)
cmpq %r15, %rax
je 0x226ad
movq 0x58(%rax), %r13
movq %rax, -0xa0(%rbp)
leaq 0x48(%rax), %r14
cmpq %r14, %r13
je 0x22694
movq -0xa0(%rbp), %rax
leaq 0x20(%rax), %rbx
cmpb $0x0, -0x34(%rbp)
je 0x22585
leaq -0x30(%rbp), %rdi
movq %rbx, %rsi
callq 0x6456
movq %rax, %r15
leaq -0x88(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq -0x98(%rbp), %r12
movq %r12, %rdi
leaq 0x3ea1(%rip), %rsi      # 0x26390
leaq 0x3e9b(%rip), %rdx      # 0x26391
callq 0x5fa4
movq %r15, %rdi
movq %r12, %rsi
callq 0x6456
leaq 0x20(%r13), %rsi
movq %rax, %rdi
callq 0x6456
movq %rax, %r15
leaq -0x68(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq -0x78(%rbp), %r12
movq %r12, %rdi
leaq 0x406b(%rip), %rsi      # 0x26596
leaq 0x4065(%rip), %rdx      # 0x26597
callq 0x5fa4
movq %r15, %rdi
movq %r12, %rsi
callq 0x6456
movsd 0x40(%r13), %xmm0
movq %rax, %rdi
callq 0x64fe
movq %rax, %r15
leaq -0x48(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq -0x58(%rbp), %r12
movq %r12, %rdi
leaq 0x3e11(%rip), %rsi      # 0x2637a
leaq 0x3e0b(%rip), %rdx      # 0x2637b
callq 0x5fa4
movq %r15, %rdi
movq %r12, %rsi
callq 0x6456
jmp 0x22644
leaq -0x30(%rbp), %rdi
movq %rbx, %rsi
callq 0x6456
movq %rax, %r15
leaq -0x88(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq -0x98(%rbp), %r12
movq %r12, %rdi
leaq 0x3ddd(%rip), %rsi      # 0x26390
leaq 0x3dd7(%rip), %rdx      # 0x26391
callq 0x5fa4
movq %r15, %rdi
movq %r12, %rsi
callq 0x6456
leaq 0x20(%r13), %rsi
movq %rax, %rdi
callq 0x6456
movq %rax, %r15
leaq -0x68(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq -0x78(%rbp), %r12
movq %r12, %rdi
leaq 0x3fa7(%rip), %rsi      # 0x26596
leaq 0x3fa1(%rip), %rdx      # 0x26597
callq 0x5fa4
movq %r15, %rdi
movq %r12, %rsi
callq 0x6456
movsd 0x40(%r13), %xmm0
movq %rax, %rdi
callq 0x64fe
movq %rax, %r15
leaq -0x48(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq -0x58(%rbp), %r12
movq %r12, %rdi
leaq 0x3d4d(%rip), %rsi      # 0x2637a
leaq 0x3d47(%rip), %rdx      # 0x2637b
callq 0x5fa4
movq %r15, %rdi
movq %r12, %rsi
callq 0x6456
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x22656
callq 0x4350
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x22668
callq 0x4350
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rax
cmpq %rax, %rdi
je 0x22680
callq 0x4350
movq %r13, %rdi
callq 0x4410
movq %rax, %r13
cmpq %r14, %rax
jne 0x224b7
movq -0xa0(%rbp), %rdi
callq 0x4410
cmpq -0xa8(%rbp), %rax
jne 0x22494
leaq -0x30(%rbp), %rdi
callq 0x6424
leaq -0x30(%rbp), %rdi
callq 0x63ea
addq $0xa8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x22717
movq %rax, %rbx
movq -0xc8(%rbp), %rdi
cmpq %r14, %rdi
je 0x22752
callq 0x4350
jmp 0x22752
jmp 0x22717
jmp 0x2271c
jmp 0x2271c
jmp 0x22717
jmp 0x226f7
jmp 0x22710
jmp 0x22710
movq %rax, %rbx
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x2271f
callq 0x4350
jmp 0x2271f
jmp 0x22710
movq %rax, %rbx
jmp 0x22731
jmp 0x2271c
movq %rax, %rbx
jmp 0x22749
movq %rax, %rbx
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x22731
callq 0x4350
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rax
cmpq %rax, %rdi
je 0x22749
callq 0x4350
leaq -0x30(%rbp), %rdi
callq 0x63ea
movq %rbx, %rdi
callq 0x4650