// File: bonetblai[P]mdp-engine/ctp3/../engine/dispatcher.h
// Function: Dispatcher::dispatcher_t<state_t>::print_stats(std::ostream&, Dispatcher::dispatcher_t<state_t>::evaluate_result_t const&) const
void dispatcher_t<T>::print_stats(std::ostream &os, const evaluate_result_t &result) const {
    const Online::Policy::policy_t<T> &policy = *result.policy_;
   
    // general stats 
    os << Utils::green() << "stats:" << Utils::normal()
       << " type=eval"
       << " name=" << result.name_
       << " seed=" << result.seed_
       << " problem.expansions=" << result.problem_expansions_;

    // stats from trials
    os << Utils::green() << " eval.value=" << result.eval_value_ << Utils::normal()
       << " eval.stdev=" << result.eval_stdev_;

    // time stats
    os << " time.raw=" << result.time_raw_
       << " time.setup=" << policy.setup_time();
    if( policy.uses_base_policy() != Online::Policy::policy_t<T>::usage_t::No )
         os << " time.base-policy=" << policy.base_policy_time();
    if( policy.uses_heuristic() != Online::Policy::policy_t<T>::usage_t::No )
         os << " time.heuristic=" << policy.heuristic_time();
    os << " time.policy=" << result.time_raw_ - policy.base_policy_time() - policy.heuristic_time()
       << std::endl;
    policy.print_other_stats(os, 2);
}

// Assembly:
subq $0x178, %rsp            # imm = 0x178
movq %rdi, 0x170(%rsp)
movq %rsi, 0x168(%rsp)
movq %rdx, 0x160(%rsp)
movq 0x160(%rsp), %rax
movq 0x20(%rax), %rax
movq %rax, 0x158(%rsp)
movq 0x168(%rsp), %rax
movq %rax, 0xb0(%rsp)
leaq 0x138(%rsp), %rdi
movq %rdi, 0xb8(%rsp)
callq 0x599e0
movq 0xb0(%rsp), %rdi
movq 0xb8(%rsp), %rsi
callq 0x62f0
movq %rax, 0xc0(%rsp)
jmp 0xc747
movq 0xc0(%rsp), %rdi
leaq 0x53a02(%rip), %rsi     # 0x60158
callq 0x6330
movq %rax, 0xa8(%rsp)
jmp 0xc765
leaq 0x108(%rsp), %rdi
callq 0x59a80
jmp 0xc774
movq 0xa8(%rsp), %rdi
leaq 0x108(%rsp), %rsi
callq 0x62f0
movq %rax, 0xa0(%rsp)
jmp 0xc793
movq 0xa0(%rsp), %rdi
leaq 0x53ac9(%rip), %rsi     # 0x6026b
callq 0x6330
movq %rax, 0x98(%rsp)
jmp 0xc7b1
movq 0x98(%rsp), %rdi
leaq 0x50ddd(%rip), %rsi     # 0x5d59d
callq 0x6330
movq %rax, 0x90(%rsp)
jmp 0xc7cf
movq 0x90(%rsp), %rdi
movq 0x160(%rsp), %rsi
callq 0x62f0
movq %rax, 0x88(%rsp)
jmp 0xc7ee
movq 0x88(%rsp), %rdi
leaq 0x509ac(%rip), %rsi     # 0x5d1a9
callq 0x6330
movq %rax, 0x80(%rsp)
jmp 0xc80c
movq 0x80(%rsp), %rdi
movq 0x160(%rsp), %rax
movl 0x28(%rax), %esi
callq 0x6440
movq %rax, 0x78(%rsp)
jmp 0xc82b
movq 0x78(%rsp), %rdi
leaq 0x53934(%rip), %rsi     # 0x6016b
callq 0x6330
movq %rax, 0x70(%rsp)
jmp 0xc843
movq 0x70(%rsp), %rdi
movq 0x160(%rsp), %rax
movl 0x2c(%rax), %esi
callq 0x6440
jmp 0xc85a
leaq 0x108(%rsp), %rdi
callq 0x61f0
leaq 0x138(%rsp), %rdi
callq 0x61f0
movq 0x168(%rsp), %rax
movq %rax, 0x58(%rsp)
leaq 0xe8(%rsp), %rdi
movq %rdi, 0x60(%rsp)
callq 0x599e0
movq 0x58(%rsp), %rdi
movq 0x60(%rsp), %rsi
callq 0x62f0
movq %rax, 0x68(%rsp)
jmp 0xc8a9
movq 0x68(%rsp), %rdi
leaq 0x539c1(%rip), %rsi     # 0x60276
callq 0x6330
movq %rax, 0x50(%rsp)
jmp 0xc8c1
movq 0x50(%rsp), %rdi
movq 0x160(%rsp), %rax
movss 0x30(%rax), %xmm0
callq 0x6270
movq %rax, 0x48(%rsp)
jmp 0xc8df
leaq 0xc8(%rsp), %rdi
callq 0x59a80
jmp 0xc8ee
movq 0x48(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
callq 0x62f0
movq %rax, 0x40(%rsp)
jmp 0xc907
movq 0x40(%rsp), %rdi
leaq 0x53970(%rip), %rsi     # 0x60283
callq 0x6330
movq %rax, 0x38(%rsp)
jmp 0xc91f
movq 0x38(%rsp), %rdi
movq 0x160(%rsp), %rax
movss 0x34(%rax), %xmm0
callq 0x6270
jmp 0xc938
leaq 0xc8(%rsp), %rdi
callq 0x61f0
leaq 0xe8(%rsp), %rdi
callq 0x61f0
movq 0x168(%rsp), %rdi
leaq 0x538be(%rip), %rsi     # 0x6021f
callq 0x6330
movq %rax, %rdi
movq 0x160(%rsp), %rax
movss 0x38(%rax), %xmm0
callq 0x6270
movq %rax, %rdi
leaq 0x5390b(%rip), %rsi     # 0x60290
callq 0x6330
movq %rax, 0x30(%rsp)
movq 0x158(%rsp), %rdi
callq 0x3cbf0
movq 0x30(%rsp), %rdi
callq 0x6270
movq 0x158(%rsp), %rdi
movq (%rdi), %rax
callq *0x40(%rax)
cmpl $0x0, %eax
je 0xca84
movq 0x168(%rsp), %rdi
leaq 0x538d1(%rip), %rsi     # 0x6029d
callq 0x6330
movq %rax, 0x28(%rsp)
movq 0x158(%rsp), %rdi
callq 0x5c690
movq 0x28(%rsp), %rdi
callq 0x6270
jmp 0xca84
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x130(%rsp)
movl %eax, 0x12c(%rsp)
jmp 0xca29
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x130(%rsp)
movl %eax, 0x12c(%rsp)
leaq 0x108(%rsp), %rdi
callq 0x61f0
leaq 0x138(%rsp), %rdi
callq 0x61f0
jmp 0xcb69
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x130(%rsp)
movl %eax, 0x12c(%rsp)
jmp 0xca72
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x130(%rsp)
movl %eax, 0x12c(%rsp)
leaq 0xc8(%rsp), %rdi
callq 0x61f0
leaq 0xe8(%rsp), %rdi
callq 0x61f0
jmp 0xcb69
movq 0x158(%rsp), %rdi
movq (%rdi), %rax
callq *0x48(%rax)
cmpl $0x0, %eax
je 0xcac7
movq 0x168(%rsp), %rdi
leaq 0x53784(%rip), %rsi     # 0x6022a
callq 0x6330
movq %rax, 0x20(%rsp)
movq 0x158(%rsp), %rdi
callq 0x5c6a0
movq 0x20(%rsp), %rdi
callq 0x6270
movq 0x168(%rsp), %rdi
leaq 0x537da(%rip), %rsi     # 0x602b0
callq 0x6330
movq %rax, 0x10(%rsp)
movq 0x160(%rsp), %rax
movss 0x38(%rax), %xmm0
movss %xmm0, 0xc(%rsp)
movq 0x158(%rsp), %rdi
callq 0x5c690
movaps %xmm0, %xmm1
movss 0xc(%rsp), %xmm0
subss %xmm1, %xmm0
movss %xmm0, 0x1c(%rsp)
movq 0x158(%rsp), %rdi
callq 0x5c6a0
movq 0x10(%rsp), %rdi
movaps %xmm0, %xmm1
movss 0x1c(%rsp), %xmm0
subss %xmm1, %xmm0
callq 0x6270
movq %rax, %rdi
movq 0x76477(%rip), %rsi     # 0x82fb8
callq 0x6370
movq 0x158(%rsp), %rdi
movq 0x168(%rsp), %rsi
movq (%rdi), %rax
movl $0x2, %edx
callq *0x30(%rax)
addq $0x178, %rsp            # imm = 0x178
retq
movq 0x130(%rsp), %rdi
callq 0x6520
nopw %cs:(%rax,%rax)