// File: /workspace/github_cpp_makefile_star2_O2/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 $0xb8, %rsp
movl %edx, -0x3c(%rbp)
movq %rdi, %r12
leaq -0xe0(%rbp), %rbx
movq %rbx, %rdi
callq 0x4460
leaq -0x38(%rbp), %rdi
movq %rbx, %rsi
callq 0x5864
leaq -0xe0(%rbp), %rdi
callq 0x46b8
movq 0x18(%r12), %rax
addq $0x8, %r12
leaq -0xc0(%rbp), %r14
leaq -0xa0(%rbp), %r13
leaq -0x80(%rbp), %r15
movq %r12, -0x50(%rbp)
cmpq %r12, %rax
je 0x1feca
leaq 0x20(%rax), %rcx
movq %rcx, -0x48(%rbp)
movq 0x58(%rax), %rbx
movq %rax, -0x58(%rbp)
addq $0x48, %rax
movq %rax, -0x60(%rbp)
cmpq -0x60(%rbp), %rbx
je 0x1feb8
cmpb $0x0, -0x3c(%rbp)
je 0x1fe07
leaq -0x38(%rbp), %rdi
movq -0x48(%rbp), %rsi
callq 0x599c
movq %rax, %r12
movq %r14, %rdi
leaq 0x35d5(%rip), %rsi      # 0x23368
leaq -0x2b(%rbp), %rdx
callq 0x4140
movq %r12, %rdi
movq %r14, %rsi
callq 0x599c
leaq 0x20(%rbx), %rsi
movq %rax, %rdi
callq 0x599c
movq %rax, %r12
movq %r13, %rdi
leaq 0x3766(%rip), %rsi      # 0x23526
leaq -0x2a(%rbp), %rdx
callq 0x4140
movq %r12, %rdi
movq %r13, %rsi
callq 0x599c
movsd 0x40(%rbx), %xmm0
movq %rax, %rdi
callq 0x5a44
movq %rax, %r12
movq %r15, %rdi
leaq 0x3564(%rip), %rsi      # 0x23352
leaq -0x29(%rbp), %rdx
callq 0x4140
movq %r12, %rdi
movq %r15, %rsi
callq 0x599c
jmp 0x1fe90
leaq -0x38(%rbp), %rdi
movq -0x48(%rbp), %rsi
callq 0x599c
movq %rax, %r12
movq %r14, %rdi
leaq 0x3547(%rip), %rsi      # 0x23368
leaq -0x2b(%rbp), %rdx
callq 0x4140
movq %r12, %rdi
movq %r14, %rsi
callq 0x599c
leaq 0x20(%rbx), %rsi
movq %rax, %rdi
callq 0x599c
movq %rax, %r12
movq %r13, %rdi
leaq 0x36d8(%rip), %rsi      # 0x23526
leaq -0x2a(%rbp), %rdx
callq 0x4140
movq %r12, %rdi
movq %r13, %rsi
callq 0x599c
movsd 0x40(%rbx), %xmm0
movq %rax, %rdi
callq 0x5a44
movq %rax, %r12
movq %r15, %rdi
leaq 0x34d6(%rip), %rsi      # 0x23352
leaq -0x29(%rbp), %rdx
callq 0x4140
movq %r12, %rdi
movq %r15, %rsi
callq 0x599c
movq %r15, %rdi
callq 0x46b8
movq %r13, %rdi
callq 0x46b8
movq %r14, %rdi
callq 0x46b8
movq %rbx, %rdi
callq 0x43b0
movq %rax, %rbx
jmp 0x1fd65
movq -0x58(%rbp), %rdi
callq 0x43b0
movq -0x50(%rbp), %r12
jmp 0x1fd44
leaq -0x38(%rbp), %rdi
callq 0x596c
leaq -0x38(%rbp), %rdi
callq 0x5958
addq $0xb8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x1ff43
movq %rax, %rbx
leaq -0xe0(%rbp), %rdi
callq 0x46b8
jmp 0x1ff4f
jmp 0x1ff26
jmp 0x1ff43
jmp 0x1ff26
jmp 0x1ff21
jmp 0x1ff0d
jmp 0x1ff21
movq %rax, %rbx
leaq -0x80(%rbp), %rdi
callq 0x46b8
jmp 0x1ff29
jmp 0x1ff43
jmp 0x1ff21
jmp 0x1ff26
movq %rax, %rbx
jmp 0x1ff35
movq %rax, %rbx
leaq -0xa0(%rbp), %rdi
callq 0x46b8
leaq -0xc0(%rbp), %rdi
callq 0x46b8
jmp 0x1ff46
movq %rax, %rbx
leaq -0x38(%rbp), %rdi
callq 0x5958
movq %rbx, %rdi
callq 0x45f0
nop