// File: /workspace/github_cpp_makefile_star2_O1/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 0x6560
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
movq $0x0, 0x30(%rsp)
movq 0x10(%r14), %r15
movq 0x18(%r14), %rbx
cmpq %rbx, %r15
je 0x2227d
leaq 0x10(%rsp), %rbp
movq %rsp, %r12
leaq 0x20(%rsp), %r13
movq %r12, %rdi
movq %r15, %rsi
callq 0x23910
movq %r13, %rdi
movq %r12, %rsi
callq 0x22a14
movq (%rsp), %rdi
cmpq %rbp, %rdi
je 0x22274
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x6420
addq $0x38, %r15
cmpq %rbx, %r15
jne 0x22248
leaq 0x3b9c0(%rip), %rsi     # 0x5dc44
leaq 0x40(%rsp), %rdi
movl $0x2, %edx
callq 0x64a0
movq 0x38(%rsp), %rbx
leaq 0x3b9a8(%rip), %rsi     # 0x5dc47
leaq 0x40(%rsp), %rdi
movl $0xb, %edx
callq 0x64a0
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 0x66a0
leaq 0x3b996(%rip), %rsi     # 0x5dc7f
movl $0x1, %edx
movq %rax, %rdi
callq 0x64a0
leaq 0x3b956(%rip), %rsi     # 0x5dc53
leaq 0x40(%rsp), %rdi
movl $0xa, %edx
callq 0x64a0
movl (%r14), %esi
leaq 0x40(%rsp), %rdi
callq 0x6740
leaq 0x3b93e(%rip), %rsi     # 0x5dc5e
movl $0x2, %edx
movq %rax, %rdi
callq 0x64a0
movq 0x20(%rsp), %rax
cmpq 0x28(%rsp), %rax
je 0x223a5
leaq 0x3b921(%rip), %rsi     # 0x5dc61
leaq 0x40(%rsp), %rdi
movl $0xa, %edx
callq 0x64a0
leaq 0x3b929(%rip), %rdx     # 0x5dc7f
movq %rsp, %rdi
leaq 0x20(%rsp), %rsi
callq 0x2411b
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq 0x40(%rsp), %rdi
callq 0x64a0
leaq 0x3b8ef(%rip), %rsi     # 0x5dc6c
movl $0x2, %edx
movq %rax, %rdi
callq 0x64a0
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x223a5
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x3b8c3(%rip), %rsi     # 0x5dc6f
leaq 0x40(%rsp), %rdi
movl $0xe, %edx
callq 0x64a0
movq 0x68(%r14), %rsi
movq 0x70(%r14), %rdx
leaq 0x40(%rsp), %rdi
callq 0x64a0
leaq 0x3b8aa(%rip), %rsi     # 0x5dc7e
movl $0x2, %edx
movq %rax, %rdi
callq 0x64a0
leaq 0x3b899(%rip), %rsi     # 0x5dc81
leaq 0x40(%rsp), %rdi
movl $0xd, %edx
callq 0x64a0
movq 0x88(%r14), %rsi
movq 0x90(%r14), %rdx
leaq 0x40(%rsp), %rdi
callq 0x64a0
leaq 0x3b877(%rip), %rsi     # 0x5dc8d
movl $0x1, %edx
movq %rax, %rdi
callq 0x64a0
leaq 0x3b865(%rip), %rsi     # 0x5dc8f
leaq 0x40(%rsp), %rdi
movl $0x1, %edx
callq 0x64a0
leaq 0x48(%rsp), %rsi
movq %rbx, %rdi
callq 0x6680
leaq 0x20(%rsp), %rdi
callq 0x229b8
movq 0x52b41(%rip), %rsi     # 0x74f98
leaq 0x40(%rsp), %rdi
callq 0x61f0
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 0x2249a
movq %rax, %rbx
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0x224ab
jmp 0x224b8
jmp 0x2249a
movq %rax, %rbx
jmp 0x224b8
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %rbp, %rdi
je 0x224b8
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x20(%rsp), %rdi
callq 0x229b8
movq 0x52acf(%rip), %rsi     # 0x74f98
leaq 0x40(%rsp), %rdi
callq 0x61f0
leaq 0xb0(%rsp), %rdi
callq 0x60f0
movq %rbx, %rdi
callq 0x6770