// File: /workspace/github_cpp_makefile_star2_O1/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 0xa400
leaq 0x82f5(%rip), %rsi      # 0x4113b
movl $0x2, %edx
movq %r12, %rdi
callq 0xa390
cmpq %r14, %r15
je 0x38eff
leaq 0x8(%rsp), %rdi
movq %r15, %rsi
callq 0xe0a1
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
leaq 0x30(%rsp), %rdi
callq 0xa390
leaq 0x18(%rsp), %rbx
movq -0x10(%rbx), %rdi
cmpq %rbx, %rdi
je 0x38e98
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xa330
addq $0x20, %r15
cmpq %r14, %r15
je 0x38eff
leaq 0x6071(%rip), %r12      # 0x3ef19
leaq 0x30(%rsp), %r13
leaq 0x8(%rsp), %rbp
movl $0x2, %edx
movq %r13, %rdi
movq %r12, %rsi
callq 0xa390
movq %rbp, %rdi
movq %r15, %rsi
callq 0xe0a1
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %r13, %rdi
callq 0xa390
movq 0x8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x38ef6
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xa330
addq $0x20, %r15
cmpq %r14, %r15
jne 0x38eb2
leaq 0x8238(%rip), %rsi      # 0x4113e
leaq 0x30(%rsp), %rdi
movl $0x2, %edx
callq 0xa390
leaq 0x38(%rsp), %rsi
movq 0x28(%rsp), %rdi
callq 0xa4d0
movq 0x1e085(%rip), %rsi     # 0x56fb0
leaq 0x30(%rsp), %rdi
callq 0xa180
leaq 0xa0(%rsp), %rdi
callq 0xa0f0
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 0x38f75
jmp 0x38fa8
jmp 0x38f72
jmp 0x38f72
jmp 0x38f72
movq %rax, %r14
movq 0x1e034(%rip), %rsi     # 0x56fb0
leaq 0x30(%rsp), %rdi
callq 0xa180
leaq 0xa0(%rsp), %rdi
callq 0xa0f0
movq %r14, %rdi
callq 0xa5c0
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x38f75
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xa330
jmp 0x38f75
nop