// File: /workspace/github_cpp_makefile_star2_O3/bonetblai[P]mdp-engine/ctp3/../engine/rollout.h
// Function: Online::Policy::Rollout::nested_rollout_t<state_t>::set_parameters(std::multimap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, 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::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>> const&, Dispatcher::dispatcher_t<state_t>&)
virtual void set_parameters(const std::multimap<std::string, std::string> &parameters, Dispatcher::dispatcher_t<T> &dispatcher) {
        std::multimap<std::string, std::string>::const_iterator it = parameters.find("width");
        if( it != parameters.end() ) width_ = strtol(it->second.c_str(), 0, 0);
        it = parameters.find("depth");
        if( it != parameters.end() ) depth_ = strtol(it->second.c_str(), 0, 0);
        it = parameters.find("nesting");
        if( it != parameters.end() ) nesting_ = strtol(it->second.c_str(), 0, 0);
        it = parameters.find("policy");
        if( it != parameters.end() ) {
            delete base_policy_;
            dispatcher.create_request(problem_, it->first, it->second);
            base_policy_ = dispatcher.fetch_policy(it->second);
        }
        make_nested_policies();
        assert(!nested_policies_.empty());
        policy_t<T>::setup_time_ = nested_policies_.back()->setup_time();
#ifdef DEBUG
        std::cout << "debug: nested-rollout(): params:"
                  << " width=" << width_
                  << " depth=" << depth_
                  << " nesting=" << nesting_
                  << " policy=" << (base_policy_ == 0 ? std::string("null") : base_policy_->name())
                  << std::endl;
#endif
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %rbx
leaq 0x18(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x10033(%rip), %rsi     # 0x2c3a0
leaq 0x10031(%rip), %rdx     # 0x2c3a5
leaq 0x8(%rsp), %rdi
callq 0xd386
leaq 0x8(%rsp), %rsi
movq %r15, %rdi
callq 0xef28
movq %rax, %r12
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x1c39d
callq 0x5260
leaq 0x8(%r15), %rbp
cmpq %rbp, %r12
je 0x1c3b7
movq 0x40(%r12), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x5370
movl %eax, 0x48(%rbx)
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0xffe0(%rip), %rsi      # 0x2c3a6
leaq 0xffde(%rip), %rdx      # 0x2c3ab
callq 0xd386
leaq 0x8(%rsp), %rsi
movq %r15, %rdi
callq 0xef28
movq %rax, %r12
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x1c3f1
callq 0x5260
cmpq %rbp, %r12
je 0x1c407
movq 0x40(%r12), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x5370
movl %eax, 0x4c(%rbx)
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0xff96(%rip), %rsi      # 0x2c3ac
leaq 0xff96(%rip), %rdx      # 0x2c3b3
callq 0xd386
leaq 0x8(%rsp), %rsi
movq %r15, %rdi
callq 0xef28
movq %rax, %r12
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x1c441
callq 0x5260
cmpq %rbp, %r12
je 0x1c457
movq 0x40(%r12), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x5370
movl %eax, 0x50(%rbx)
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0xee21(%rip), %rsi      # 0x2b287
leaq 0xee20(%rip), %rdx      # 0x2b28d
callq 0xd386
leaq 0x8(%rsp), %rsi
movq %r15, %rdi
callq 0xef28
movq %rax, %r15
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x1c491
callq 0x5260
cmpq %rbp, %r15
je 0x1c4dd
movq 0x28(%rbx), %rdi
testq %rdi, %rdi
je 0x1c4a5
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x8(%rbx), %rsi
leaq 0x20(%r15), %rdx
addq $0x40, %r15
movq %r14, %rdi
movq %r15, %rcx
callq 0x7a98
leaq 0x68(%r14), %rdi
movq %r15, %rsi
callq 0x29286
addq $0x70, %r14
cmpq %r14, %rax
je 0x1c4d7
movq 0x40(%rax), %rax
jmp 0x1c4d9
xorl %eax, %eax
movq %rax, 0x28(%rbx)
movq %rbx, %rdi
callq 0x1c5ca
movq 0x38(%rbx), %rax
cmpq %rax, 0x30(%rbx)
je 0x1c50c
movq -0x8(%rax), %rax
movss 0x14(%rax), %xmm0
movss %xmm0, 0x14(%rbx)
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xfeb8(%rip), %rdi      # 0x2c3cb
leaq 0xfd15(%rip), %rsi      # 0x2c22f
leaq 0xff3c(%rip), %rcx      # 0x2c45d
movl $0xd8, %edx
callq 0x51c0
jmp 0x1c537
jmp 0x1c54b
jmp 0x1c537
jmp 0x1c54b
jmp 0x1c537
jmp 0x1c54b
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x1c54e
callq 0x5260
jmp 0x1c54e
movq %rax, %rbx
movq %rbx, %rdi
callq 0x5410