// File: /workspace/github_cpp_makefile_star2_O2/grame-cncm[P]digraph/./dglib/digraph.hh
// Function: digraph<digraph<char, std::pair<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, int, 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, int>>>, int>>, std::pair<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, int, 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, int>>>, int>>::internalgraph::add(digraph<char, std::pair<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, int, 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, int>>>, int>> const&, digraph<char, std::pair<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, int, 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, int>>>, int>> const&, std::pair<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, int, 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, int>>>, int> const&)
void add(const N& n1, const N& n2, const A& d)
        {
            add(n1);
            add(n2);
            auto& adj = fConnections[n1];
            auto  cnx = adj.find(n2);
            if (cnx != adj.end()) {
                A& d1 = cnx->second;
                d1    = policy::combine(d1, d);
            } else {
                adj[n2] = d;
            }
        }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x58, %rsp
movq %rcx, %rbx
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %r12
leaq 0x10(%rsp), %r13
movq %r13, %rdi
callq 0x9c28
movq %r12, %rdi
movq %r13, %rsi
callq 0x9714
leaq 0x8(%rsp), %r13
leaq 0x18(%rsp), %rdi
callq 0x2efc
movq %rsp, %rbp
movq %rbp, %rdi
movq %r14, %rsi
callq 0x9c28
movq %r12, %rdi
movq %rbp, %rsi
callq 0x9714
leaq 0x8(%rsp), %rdi
callq 0x2efc
addq $0x30, %r12
movq %r12, %rdi
movq %r15, %rsi
callq 0x973a
movq %rax, %r12
movq %rax, %rdi
movq %r14, %rsi
callq 0x9fc4
movq %rax, %r15
leaq 0x8(%r12), %rax
cmpq %rax, %r15
je 0x9f32
addq $0x30, %r15
leaq 0x20(%rsp), %r14
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x3532
movq %r15, %rdi
movq %r14, %rsi
callq 0x36de
movq %r14, %rdi
callq 0x2ee8
jmp 0x9f48
movq %r12, %rdi
movq %r14, %rsi
callq 0x9f74
movq %rax, %rdi
movq %rbx, %rsi
callq 0x374e
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
jmp 0x9f64
movq %rax, %rbx
leaq 0x18(%rsp), %r13
movq %r13, %rdi
callq 0x2efc
movq %rbx, %rdi
callq 0x2220