// File: /workspace/github_cpp_makefile_star2_O3/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 %r14
pushq %rbx
movq %rdi, 0x360ad(%rip)     # 0x3d278
movl (%rdi), %ecx
movl %ecx, 0x360ad(%rip)     # 0x3d280
movl 0x4(%rdi), %eax
movl %eax, 0x360a8(%rip)     # 0x3d284
cmpl $0x81, %ecx
jge 0x730c
cmpl $0x121, %eax            # imm = 0x121
jge 0x7326
movl %edx, %ebx
movl %esi, %ebp
movl %ecx, %edx
sarl $0x5, %edx
andl $0x1f, %ecx
cmpl $0x1, %ecx
sbbl $-0x1, %edx
movl %edx, 0x3607d(%rip)     # 0x3d288
movl %eax, %ecx
sarl $0x5, %ecx
andl $0x1f, %eax
cmpl $0x1, %eax
sbbl $-0x1, %ecx
movl %ecx, 0x3606d(%rip)     # 0x3d28c
movq 0x35db2(%rip), %r14     # 0x3cfd8
leaq 0x2427f(%rip), %rsi     # 0x2b4ac
movl $0xd, %edx
movq %r14, %rdi
callq 0x52e0
movl 0x36040(%rip), %esi     # 0x3d280
movq %r14, %rdi
callq 0x5400
movq %rax, %r14
leaq 0x24195(%rip), %rsi     # 0x2b3e7
movl $0x9, %edx
movq %rax, %rdi
callq 0x52e0
movl 0x3601f(%rip), %esi     # 0x3d284
movq %r14, %rdi
callq 0x5400
movq %rax, %r14
leaq 0x24243(%rip), %rsi     # 0x2b4ba
movl $0x13, %edx
movq %rax, %rdi
callq 0x52e0
movl 0x35ffe(%rip), %esi     # 0x3d288
movq %r14, %rdi
callq 0x5400
movq %rax, %r14
leaq 0x24232(%rip), %rsi     # 0x2b4ce
movl $0x13, %edx
movq %rax, %rdi
callq 0x52e0
movl 0x35fdd(%rip), %esi     # 0x3d28c
movq %r14, %rdi
callq 0x5400
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x5270
movsbl %al, %esi
movq %r14, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x51e0
movl 0x35fa5(%rip), %eax     # 0x3d28c
movl %eax, 0x35f87(%rip)     # 0x3d274
movb %bpl, 0x35fc4(%rip)     # 0x3d2b8
movl 0x35f86(%rip), %esi     # 0x3d280
leaq 0x35f8f(%rip), %rdi     # 0x3d290
movl %ebx, %edx
popq %rbx
popq %r14
popq %rbp
jmp 0xa648
movq 0x35cc5(%rip), %rdi     # 0x3cfd8
leaq 0x2416f(%rip), %rsi     # 0x2b489
callq 0x5280
movl $0x80, %esi
jmp 0x733e
movq 0x35cab(%rip), %rdi     # 0x3cfd8
leaq 0x24155(%rip), %rsi     # 0x2b489
callq 0x5280
movl $0x120, %esi            # imm = 0x120
movq %rax, %rdi
callq 0x5090
movq %rax, %rdi
callq 0x5150
movl $0x1, %edi
callq 0x5310