// File: /workspace/github_cpp_makefile_star2_O3/minimind[P]simple-graph/unittest/catch.hpp
// Function: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> Catch::Detail::rangeToString<__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>>(__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>, __gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>)
std::string rangeToString( InputIterator first, InputIterator last ) {
        std::ostringstream oss;
        oss << "{ ";
        if( first != last ) {
            oss << toString( *first );
            for( ++first ; first != last ; ++first ) {
                oss << ", " << toString( *first );
            }
        }
        oss << " }";
        return oss.str();
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1a8, %rsp            # imm = 0x1A8
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, 0x28(%rsp)
leaq 0x30(%rsp), %r12
movq %r12, %rdi
callq 0x9400
leaq 0x868c(%rip), %rsi      # 0x4013b
movl $0x2, %edx
movq %r12, %rdi
callq 0x9390
cmpq %r14, %r15
je 0x37b68
leaq 0x8(%rsp), %rdi
movq %r15, %rsi
callq 0xd01d
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
leaq 0x30(%rsp), %rdi
callq 0x9390
leaq 0x18(%rsp), %rbx
movq -0x10(%rbx), %rdi
cmpq %rbx, %rdi
je 0x37b01
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x9330
addq $0x20, %r15
cmpq %r14, %r15
je 0x37b68
leaq 0x6408(%rip), %r12      # 0x3df19
leaq 0x30(%rsp), %r13
leaq 0x8(%rsp), %rbp
movl $0x2, %edx
movq %r13, %rdi
movq %r12, %rsi
callq 0x9390
movq %rbp, %rdi
movq %r15, %rsi
callq 0xd01d
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %r13, %rdi
callq 0x9390
movq 0x8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x37b5f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x9330
addq $0x20, %r15
cmpq %r14, %r15
jne 0x37b1b
leaq 0x85cf(%rip), %rsi      # 0x4013e
leaq 0x30(%rsp), %rdi
movl $0x2, %edx
callq 0x9390
leaq 0x38(%rsp), %rsi
movq 0x28(%rsp), %rdi
callq 0x94d0
movq 0x1e41c(%rip), %rsi     # 0x55fb0
leaq 0x30(%rsp), %rdi
callq 0x9180
leaq 0xa0(%rsp), %rdi
callq 0x90f0
movq 0x28(%rsp), %rax
addq $0x1a8, %rsp            # imm = 0x1A8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x37bde
jmp 0x37c11
jmp 0x37bdb
jmp 0x37bdb
jmp 0x37bdb
movq %rax, %r14
movq 0x1e3cb(%rip), %rsi     # 0x55fb0
leaq 0x30(%rsp), %rdi
callq 0x9180
leaq 0xa0(%rsp), %rdi
callq 0x90f0
movq %r14, %rdi
callq 0x95c0
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x37bde
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x9330
jmp 0x37bde