// File: /workspace/github_cpp_makefile_star2_O1/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, 0x36f0f(%rip)     # 0x3f278
movl (%rdi), %ecx
movl %ecx, 0x36f0f(%rip)     # 0x3f280
movl 0x4(%rdi), %eax
movl %eax, 0x36f0a(%rip)     # 0x3f284
cmpl $0x81, %ecx
jge 0x84aa
cmpl $0x121, %eax            # imm = 0x121
jge 0x84c4
movl %edx, %ebx
movl %esi, %ebp
movl %ecx, %edx
sarl $0x5, %edx
andl $0x1f, %ecx
cmpl $0x1, %ecx
sbbl $-0x1, %edx
movl %edx, 0x36edf(%rip)     # 0x3f288
movl %eax, %ecx
sarl $0x5, %ecx
andl $0x1f, %eax
cmpl $0x1, %eax
sbbl $-0x1, %ecx
movl %ecx, 0x36ecf(%rip)     # 0x3f28c
movq 0x36c14(%rip), %r14     # 0x3efd8
leaq 0x250d1(%rip), %rsi     # 0x2d49c
movl $0xd, %edx
movq %r14, %rdi
callq 0x62e0
movl 0x36ea2(%rip), %esi     # 0x3f280
movq %r14, %rdi
callq 0x6400
movq %rax, %r14
leaq 0x24fe7(%rip), %rsi     # 0x2d3d7
movl $0x9, %edx
movq %rax, %rdi
callq 0x62e0
movl 0x36e81(%rip), %esi     # 0x3f284
movq %r14, %rdi
callq 0x6400
movq %rax, %r14
leaq 0x25095(%rip), %rsi     # 0x2d4aa
movl $0x13, %edx
movq %rax, %rdi
callq 0x62e0
movl 0x36e60(%rip), %esi     # 0x3f288
movq %r14, %rdi
callq 0x6400
movq %rax, %r14
leaq 0x25084(%rip), %rsi     # 0x2d4be
movl $0x13, %edx
movq %rax, %rdi
callq 0x62e0
movl 0x36e3f(%rip), %esi     # 0x3f28c
movq %r14, %rdi
callq 0x6400
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x6270
movsbl %al, %esi
movq %r14, %rdi
callq 0x6040
movq %rax, %rdi
callq 0x61e0
movl 0x36e07(%rip), %eax     # 0x3f28c
movl %eax, 0x36de9(%rip)     # 0x3f274
movb %bpl, 0x36e26(%rip)     # 0x3f2b8
movl 0x36de8(%rip), %esi     # 0x3f280
leaq 0x36df1(%rip), %rdi     # 0x3f290
movl %ebx, %edx
popq %rbx
popq %r14
popq %rbp
jmp 0xb7d2
movq 0x36b27(%rip), %rdi     # 0x3efd8
leaq 0x24fc1(%rip), %rsi     # 0x2d479
callq 0x6280
movl $0x80, %esi
jmp 0x84dc
movq 0x36b0d(%rip), %rdi     # 0x3efd8
leaq 0x24fa7(%rip), %rsi     # 0x2d479
callq 0x6280
movl $0x120, %esi            # imm = 0x120
movq %rax, %rdi
callq 0x6090
movq %rax, %rdi
callq 0x6150
movl $0x1, %edi
callq 0x6310