// File: /workspace/github_cpp_makefile_star2_O3/kobanium[P]Ray/./include/mcts/AnalysisData.hpp
// Function: CgosAnalyzeData::GetJsonData[abi:cxx11]() const
std::string
  GetJsonData( void ) const
  {
    std::ostringstream oss;
    std::vector<std::string> pv_str;

    for (const PrincipalVariationData &datum : pv_data) {
      pv_str.push_back(datum.GetJsonData());
    }
    oss << "{ ";
    oss << "\"winrate\": " << std::fixed << std::setprecision(4) << win_rate << ",";
    oss << "\"visits\": " << visits << ", ";
    if (!pv_str.empty()) {
      oss << "\"moves\": [" << JoinStrings(pv_str, ",") << "],";
    }
    oss << "\"ownership\": \"" << ownership << "\",";
    oss << "\"comment\" : \"" << comment << "\"";
    oss << "}";

    return oss.str();
  }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1b8, %rsp            # imm = 0x1B8
movq %rsi, %r14
movq %rdi, 0x38(%rsp)
leaq 0x40(%rsp), %rdi
callq 0x6550
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
movq $0x0, 0x30(%rsp)
movq 0x10(%r14), %r15
movq 0x18(%r14), %rbx
cmpq %rbx, %r15
je 0x22069
leaq 0x10(%rsp), %rbp
movq %rsp, %r12
leaq 0x20(%rsp), %r13
movq %r12, %rdi
movq %r15, %rsi
callq 0x2378a
movq %r13, %rdi
movq %r12, %rsi
callq 0x22800
movq (%rsp), %rdi
cmpq %rbp, %rdi
je 0x22060
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x6410
addq $0x38, %r15
cmpq %rbx, %r15
jne 0x22034
leaq 0x3bbd4(%rip), %rsi     # 0x5dc44
leaq 0x40(%rsp), %rdi
movl $0x2, %edx
callq 0x6490
movq 0x38(%rsp), %rbx
leaq 0x3bbbc(%rip), %rsi     # 0x5dc47
leaq 0x40(%rsp), %rdi
movl $0xb, %edx
callq 0x6490
leaq 0x40(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rcx
movl $0xfffffefb, %edx       # imm = 0xFFFFFEFB
andl 0x58(%rsp,%rcx), %edx
orl $0x4, %edx
movl %edx, 0x58(%rsp,%rcx)
movq -0x18(%rax), %rax
movq $0x4, 0x48(%rsp,%rax)
movsd 0x8(%r14), %xmm0
callq 0x6690
leaq 0x3bbaa(%rip), %rsi     # 0x5dc7f
movl $0x1, %edx
movq %rax, %rdi
callq 0x6490
leaq 0x3bb6a(%rip), %rsi     # 0x5dc53
leaq 0x40(%rsp), %rdi
movl $0xa, %edx
callq 0x6490
movl (%r14), %esi
leaq 0x40(%rsp), %rdi
callq 0x6730
leaq 0x3bb52(%rip), %rsi     # 0x5dc5e
movl $0x2, %edx
movq %rax, %rdi
callq 0x6490
movq 0x20(%rsp), %rax
cmpq 0x28(%rsp), %rax
je 0x22191
leaq 0x3bb35(%rip), %rsi     # 0x5dc61
leaq 0x40(%rsp), %rdi
movl $0xa, %edx
callq 0x6490
leaq 0x3bb3d(%rip), %rdx     # 0x5dc7f
movq %rsp, %rdi
leaq 0x20(%rsp), %rsi
callq 0x23f97
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq 0x40(%rsp), %rdi
callq 0x6490
leaq 0x3bb03(%rip), %rsi     # 0x5dc6c
movl $0x2, %edx
movq %rax, %rdi
callq 0x6490
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x22191
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x6410
leaq 0x3bad7(%rip), %rsi     # 0x5dc6f
leaq 0x40(%rsp), %rdi
movl $0xe, %edx
callq 0x6490
movq 0x68(%r14), %rsi
movq 0x70(%r14), %rdx
leaq 0x40(%rsp), %rdi
callq 0x6490
leaq 0x3babe(%rip), %rsi     # 0x5dc7e
movl $0x2, %edx
movq %rax, %rdi
callq 0x6490
leaq 0x3baad(%rip), %rsi     # 0x5dc81
leaq 0x40(%rsp), %rdi
movl $0xd, %edx
callq 0x6490
movq 0x88(%r14), %rsi
movq 0x90(%r14), %rdx
leaq 0x40(%rsp), %rdi
callq 0x6490
leaq 0x3ba8b(%rip), %rsi     # 0x5dc8d
movl $0x1, %edx
movq %rax, %rdi
callq 0x6490
leaq 0x3ba79(%rip), %rsi     # 0x5dc8f
leaq 0x40(%rsp), %rdi
movl $0x1, %edx
callq 0x6490
leaq 0x48(%rsp), %rsi
movq %rbx, %rdi
callq 0x6670
leaq 0x20(%rsp), %rdi
callq 0x227a2
movq 0x53d55(%rip), %rsi     # 0x75f98
leaq 0x40(%rsp), %rdi
callq 0x61e0
leaq 0xb0(%rsp), %rdi
callq 0x60f0
movq %rbx, %rax
addq $0x1b8, %rsp            # imm = 0x1B8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x22286
movq %rax, %rbx
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0x22297
jmp 0x222a4
jmp 0x22286
movq %rax, %rbx
jmp 0x222a4
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %rbp, %rdi
je 0x222a4
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x6410
leaq 0x20(%rsp), %rdi
callq 0x227a2
movq 0x53ce3(%rip), %rsi     # 0x75f98
leaq 0x40(%rsp), %rdi
callq 0x61e0
leaq 0xb0(%rsp), %rdi
callq 0x60f0
movq %rbx, %rdi
callq 0x6760