// File: /workspace/github_cpp_makefile_star2_O2/bonetblai[P]mdp-engine/ctp3/./ctp3.h
// Function: state_t::initialize(CTP::graph_t const&, bool, int)
static void initialize(const CTP::graph_t &graph, bool use_cache, int cache_capacity) {
        graph_ = &graph;
        num_nodes_ = graph.num_nodes_;
        num_edges_ = graph.num_edges_;

        if( num_nodes_ > (int)(WORDS_FOR_NODES * sizeof(unsigned) * 8) ) {
            std::cout << "error: number of nodes must be <= "
                      <<  WORDS_FOR_NODES * sizeof(unsigned) * 8
                      << std::endl;
            exit(1);
        }

        if( num_edges_ > (int)(WORDS_FOR_EDGES * sizeof(unsigned) * 8) ) {
            std::cout << "error: number of nodes must be <= "
                      <<  WORDS_FOR_EDGES * sizeof(unsigned) * 8
                      << std::endl;
            exit(1);
        }

        words_for_nodes_ = num_nodes_ >> 5;
        if( (num_nodes_ & 0x1F) != 0 ) ++words_for_nodes_;
        words_for_edges_ = num_edges_ >> 5;
        if( (num_edges_ & 0x1F) != 0 ) ++words_for_edges_;
        std::cout << "init: #nodes=" << num_nodes_
                  << ", #edges=" << num_edges_
                  << ", #words-for-nodes=" << words_for_nodes_
                  << ", #words-for-edges=" << words_for_edges_
                  << std::endl;
        state_info_t::initialize(words_for_edges_);
        use_cache_ = use_cache;
        cache_.initialize(num_nodes_, cache_capacity);
    }

// Assembly:
pushq %rbp
pushq %rbx
pushq %rax
movq %rdi, 0x2eae0(%rip)     # 0x35278
movl (%rdi), %ecx
movl %ecx, 0x2eae0(%rip)     # 0x35280
movl 0x4(%rdi), %eax
movl %eax, 0x2eadb(%rip)     # 0x35284
cmpl $0x81, %ecx
jge 0x6899
cmpl $0x121, %eax            # imm = 0x121
jge 0x68b3
movl %edx, %ebx
movl %esi, %ebp
movl %ecx, %edx
sarl $0x5, %edx
andl $0x1f, %ecx
cmpl $0x1, %ecx
sbbl $-0x1, %edx
movl %edx, 0x2eab0(%rip)     # 0x35288
movl %eax, %ecx
sarl $0x5, %ecx
andl $0x1f, %eax
cmpl $0x1, %eax
sbbl $-0x1, %ecx
movl %ecx, 0x2eaa0(%rip)     # 0x3528c
movq 0x2e7e5(%rip), %rdi     # 0x34fd8
leaq 0x19c72(%rip), %rsi     # 0x2046c
callq 0x5290
movl 0x2ea7b(%rip), %esi     # 0x35280
movq %rax, %rdi
callq 0x5400
leaq 0x19b93(%rip), %rsi     # 0x203a7
movq %rax, %rdi
callq 0x5290
movl 0x2ea62(%rip), %esi     # 0x35284
movq %rax, %rdi
callq 0x5400
leaq 0x19c49(%rip), %rsi     # 0x2047a
movq %rax, %rdi
callq 0x5290
movl 0x2ea49(%rip), %esi     # 0x35288
movq %rax, %rdi
callq 0x5400
leaq 0x19c40(%rip), %rsi     # 0x2048e
movq %rax, %rdi
callq 0x5290
movl 0x2ea30(%rip), %esi     # 0x3528c
movq %rax, %rdi
callq 0x5400
movq %rax, %rdi
callq 0x5130
movl 0x2ea1a(%rip), %eax     # 0x3528c
movl %eax, 0x2e9fc(%rip)     # 0x35274
movb %bpl, 0x2ea39(%rip)     # 0x352b8
movl 0x2e9fb(%rip), %esi     # 0x35280
leaq 0x2ea04(%rip), %rdi     # 0x35290
movl %ebx, %edx
addq $0x8, %rsp
popq %rbx
popq %rbp
jmp 0x8d2a
movq 0x2e738(%rip), %rdi     # 0x34fd8
leaq 0x19ba2(%rip), %rsi     # 0x20449
callq 0x5290
movl $0x80, %esi
jmp 0x68cb
movq 0x2e71e(%rip), %rdi     # 0x34fd8
leaq 0x19b88(%rip), %rsi     # 0x20449
callq 0x5290
movl $0x120, %esi            # imm = 0x120
movq %rax, %rdi
callq 0x5080
movq %rax, %rdi
callq 0x5130
pushq $0x1
popq %rdi
callq 0x5300
nop