// File: /workspace/github_cpp_makefile_star2_O2/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, %rbx
leaq 0x40(%rsp), %rdi
callq 0x6530
xorps %xmm0, %xmm0
movq %rsp, %r15
andq $0x0, 0x10(%r15)
movaps %xmm0, (%r15)
movq 0x10(%r14), %r12
movq 0x18(%r14), %rbp
leaq 0x20(%rsp), %r13
cmpq %rbp, %r12
je 0x12f32
movq %r13, %rdi
movq %r12, %rsi
callq 0x13fb2
movq %r15, %rdi
movq %r13, %rsi
callq 0x13506
movq %r13, %rdi
callq 0x6838
addq $0x38, %r12
jmp 0x12f09
leaq 0x31b59(%rip), %rsi     # 0x44a92
leaq 0x40(%rsp), %rdi
callq 0x63c0
leaq 0x31b4b(%rip), %rsi     # 0x44a95
leaq 0x40(%rsp), %rdi
callq 0x63c0
movq (%rax), %rcx
movq -0x18(%rcx), %rdx
movl $0xfffffefb, %esi       # imm = 0xFFFFFEFB
andl 0x18(%rax,%rdx), %esi
orl $0x4, %esi
movl %esi, 0x18(%rax,%rdx)
movq -0x18(%rcx), %rcx
movq $0x4, 0x8(%rax,%rcx)
movsd 0x8(%r14), %xmm0
movq %rax, %rdi
callq 0x6670
leaq 0x31b40(%rip), %rsi     # 0x44acd
movq %rax, %rdi
callq 0x63c0
leaq 0x31b05(%rip), %rsi     # 0x44aa1
leaq 0x40(%rsp), %rdi
callq 0x63c0
movl (%r14), %esi
movq %rax, %rdi
callq 0x6700
leaq 0x31af4(%rip), %rsi     # 0x44aac
movq %rax, %rdi
callq 0x63c0
movq (%rsp), %rax
cmpq 0x8(%rsp), %rax
je 0x13019
leaq 0x31add(%rip), %rsi     # 0x44aaf
leaq 0x40(%rsp), %rdi
callq 0x63c0
movq %rax, %r15
leaq 0x31ae7(%rip), %rdx     # 0x44acd
leaq 0x20(%rsp), %rdi
movq %rsp, %rsi
callq 0x1460f
leaq 0x20(%rsp), %rsi
movq %r15, %rdi
callq 0x6350
leaq 0x31ab3(%rip), %rsi     # 0x44aba
movq %rax, %rdi
callq 0x63c0
leaq 0x20(%rsp), %rdi
callq 0x6838
leaq 0x31a9d(%rip), %rsi     # 0x44abd
leaq 0x40(%rsp), %rdi
callq 0x63c0
leaq 0x68(%r14), %rsi
movq %rax, %rdi
callq 0x6350
leaq 0x31a8f(%rip), %rsi     # 0x44acc
movq %rax, %rdi
callq 0x63c0
leaq 0x31a83(%rip), %rsi     # 0x44acf
leaq 0x40(%rsp), %rdi
callq 0x63c0
addq $0x88, %r14
movq %rax, %rdi
movq %r14, %rsi
callq 0x6350
leaq 0x31a6c(%rip), %rsi     # 0x44adb
movq %rax, %rdi
callq 0x63c0
leaq 0x31a5f(%rip), %rsi     # 0x44add
leaq 0x40(%rsp), %rdi
callq 0x63c0
leaq 0x48(%rsp), %rsi
movq %rbx, %rdi
callq 0x6640
movq %rsp, %rdi
callq 0x134e4
leaq 0x40(%rsp), %rdi
callq 0x60a0
movq %rbx, %rax
addq $0x1b8, %rsp            # imm = 0x1B8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x130c2
jmp 0x130c7
jmp 0x130c2
movq %rax, %rbx
jmp 0x130d4
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x6838
movq %rsp, %rdi
callq 0x134e4
leaq 0x40(%rsp), %rdi
callq 0x60a0
movq %rbx, %rdi
callq 0x6740