// File: /workspace/github_cpp_makefile_star2_O1/halfflat[P]tinyopt/test/googletest/googletest/src/gtest.cc
// Function: testing::internal::XmlUnitTestResultPrinter::OutputXmlTestResult(std::ostream*, testing::TestResult const&)
void XmlUnitTestResultPrinter::OutputXmlTestResult(::std::ostream* stream,
                                                   const TestResult& result) {
  int failures = 0;
  int skips = 0;
  for (int i = 0; i < result.total_part_count(); ++i) {
    const TestPartResult& part = result.GetTestPartResult(i);
    if (part.failed()) {
      if (++failures == 1 && skips == 0) {
        *stream << ">\n";
      }
      const std::string location =
          internal::FormatCompilerIndependentFileLocation(part.file_name(),
                                                          part.line_number());
      const std::string summary = location + "\n" + part.summary();
      *stream << "      <failure message=\"" << EscapeXmlAttribute(summary)
              << "\" type=\"\">";
      const std::string detail = location + "\n" + part.message();
      OutputXmlCDataSection(stream, RemoveInvalidXmlCharacters(detail).c_str());
      *stream << "</failure>\n";
    } else if (part.skipped()) {
      if (++skips == 1 && failures == 0) {
        *stream << ">\n";
      }
      const std::string location =
          internal::FormatCompilerIndependentFileLocation(part.file_name(),
                                                          part.line_number());
      const std::string summary = location + "\n" + part.summary();
      *stream << "      <skipped message=\""
              << EscapeXmlAttribute(summary.c_str()) << "\">";
      const std::string detail = location + "\n" + part.message();
      OutputXmlCDataSection(stream, RemoveInvalidXmlCharacters(detail).c_str());
      *stream << "</skipped>\n";
    }
  }

  if (failures == 0 && skips == 0 && result.test_property_count() == 0) {
    *stream << " />\n";
  } else {
    if (failures == 0 && skips == 0) {
      *stream << ">\n";
    }
    OutputXmlTestProperties(stream, result);
    *stream << "    </testcase>\n";
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x98, %rsp
movq %rsi, %r14
movq 0x40(%rsi), %rax
subq 0x38(%rsi), %rax
movq %rdi, %rbx
shrq $0x4, %rax
imull $0xb6db6db7, %eax, %eax # imm = 0xB6DB6DB7
testl %eax, %eax
jle 0x58983
leaq 0x18(%rsp), %r13
movl $0x0, 0x50(%rsp)
xorl %r12d, %r12d
movl $0x0, 0x4c(%rsp)
movq %r14, %rdi
movl %r12d, %esi
callq 0x51124
movq %rax, %rbp
movl (%rax), %eax
leal -0x1(%rax), %ecx
cmpl $0x1, %ecx
ja 0x584c2
movl 0x50(%rsp), %eax
orl 0x4c(%rsp), %eax
jne 0x58437
movl $0x2, %edx
movq %rbx, %rdi
leaq 0x1c098(%rip), %rsi     # 0x744ca
callq 0xd600
movq 0x10(%rbp), %rsi
testq %rsi, %rsi
je 0x58444
movq 0x8(%rbp), %rsi
movl 0x28(%rbp), %edx
leaq 0x78(%rsp), %rdi
callq 0x4858e
movq %r13, 0x8(%rsp)
movq 0x78(%rsp), %rsi
movq 0x80(%rsp), %rdx
addq %rsi, %rdx
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0x155e4
movq %r15, %rdi
leaq 0x18c6a(%rip), %rsi     # 0x710e7
callq 0xdb40
movq 0x30(%rbp), %rsi
movq %r15, %rdi
callq 0xdb40
leaq 0x68(%rsp), %rsi
movq %rsi, 0x58(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x28(%rsp), %r15
je 0x58574
movq %rdx, 0x58(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x68(%rsp)
jmp 0x5857a
cmpl $0x3, %eax
jne 0x5895b
movl 0x4c(%rsp), %eax
orl 0x50(%rsp), %eax
jne 0x584e9
movl $0x2, %edx
movq %rbx, %rdi
leaq 0x1bfe6(%rip), %rsi     # 0x744ca
callq 0xd600
movq 0x10(%rbp), %rsi
testq %rsi, %rsi
je 0x584f6
movq 0x8(%rbp), %rsi
movl 0x28(%rbp), %edx
leaq 0x78(%rsp), %rdi
callq 0x4858e
movq %r13, 0x8(%rsp)
movq 0x78(%rsp), %rsi
movq 0x80(%rsp), %rdx
addq %rsi, %rdx
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0x155e4
movq %r15, %rdi
leaq 0x18bb8(%rip), %rsi     # 0x710e7
callq 0xdb40
movq 0x30(%rbp), %rsi
movq %r15, %rdi
callq 0xdb40
leaq 0x68(%rsp), %rsi
movq %rsi, 0x58(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x28(%rsp), %r15
je 0x58754
movq %rdx, 0x58(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x68(%rsp)
jmp 0x5875a
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x60(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x585a9
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
movl $0x18, %edx
movq %rbx, %rdi
leaq 0x1bf27(%rip), %rsi     # 0x744df
callq 0xd600
leaq 0x8(%rsp), %rdi
leaq 0x58(%rsp), %rsi
movl $0x1, %edx
callq 0x56474
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %rbx, %rdi
callq 0xd600
movl $0xa, %edx
movq %rax, %rdi
leaq 0x1bf06(%rip), %rsi     # 0x744f8
callq 0xd600
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x5860e
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x38(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x78(%rsp), %rsi
movq 0x80(%rsp), %rdx
addq %rsi, %rdx
movq %r15, %rdi
callq 0x155e4
movq %r15, %rdi
leaq 0x18aad(%rip), %rsi     # 0x710e7
callq 0xdb40
movq 0x50(%rbp), %rsi
movq %r15, %rdi
callq 0xdb40
movq %r13, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x68(%rsp), %r15
je 0x58673
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x5867b
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x586af
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x566a0
movq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x5757c
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x586e7
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movl $0xb, %edx
movq %rbx, %rdi
leaq 0x1be0d(%rip), %rsi     # 0x74503
callq 0xd600
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x58712
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x58(%rsp), %rdi
cmpq %r15, %rdi
je 0x58729
movq 0x68(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x5874b
movq 0x88(%rsp), %rsi
incq %rsi
callq 0xd530
incl 0x50(%rsp)
jmp 0x5895b
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x60(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x58789
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
movl $0x18, %edx
movq %rbx, %rdi
leaq 0x1bd77(%rip), %rsi     # 0x7450f
callq 0xd600
movq 0x58(%rsp), %rsi
movq %r15, %rdi
leaq 0x57(%rsp), %rdx
callq 0x208e8
leaq 0x8(%rsp), %rdi
movq %r15, %rsi
movl $0x1, %edx
callq 0x56474
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %rbx, %rdi
callq 0xd600
movl $0x2, %edx
movq %rax, %rdi
leaq 0x1bd1e(%rip), %rsi     # 0x74500
callq 0xd600
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x587fe
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x5881a
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x38(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x78(%rsp), %rsi
movq 0x80(%rsp), %rdx
addq %rsi, %rdx
movq %r15, %rdi
callq 0x155e4
movq %r15, %rdi
leaq 0x188a1(%rip), %rsi     # 0x710e7
callq 0xdb40
movq 0x50(%rbp), %rsi
movq %r15, %rdi
callq 0xdb40
movq %r13, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x68(%rsp), %r15
je 0x5887f
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x58887
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x588bb
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x566a0
movq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x5757c
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x588f3
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movl $0xb, %edx
movq %rbx, %rdi
leaq 0x1bc26(%rip), %rsi     # 0x74528
callq 0xd600
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x5891e
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x58(%rsp), %rdi
cmpq %r15, %rdi
je 0x58935
movq 0x68(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x58957
movq 0x88(%rsp), %rsi
incq %rsi
callq 0xd530
incl 0x4c(%rsp)
movq 0x40(%r14), %rax
subq 0x38(%r14), %rax
incl %r12d
shrq $0x4, %rax
imull $0xb6db6db7, %eax, %eax # imm = 0xB6DB6DB7
cmpl %eax, %r12d
jl 0x583fd
movl 0x4c(%rsp), %eax
orl %eax, 0x50(%rsp)
jne 0x589a7
movq 0x58(%r14), %rax
subq 0x50(%r14), %rax
shrq $0x6, %rax
testl %eax, %eax
je 0x589c0
leaq 0x1bb30(%rip), %rsi     # 0x744ca
movl $0x2, %edx
movq %rbx, %rdi
callq 0xd600
movq %rbx, %rdi
movq %r14, %rsi
callq 0x591b0
leaq 0x1bb7b(%rip), %rsi     # 0x74534
movl $0x10, %edx
jmp 0x589cc
leaq 0x1bb01(%rip), %rsi     # 0x744c8
movl $0x4, %edx
movq %rbx, %rdi
callq 0xd600
addq $0x98, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x58a4e
jmp 0x58a67
jmp 0x58a4e
jmp 0x58a67
jmp 0x58a49
jmp 0x58a62
jmp 0x58a67
jmp 0x58a84
jmp 0x58a62
jmp 0x58a0c
jmp 0x58a62
jmp 0x58a84
jmp 0x58a4e
jmp 0x58a62
jmp 0x58a62
jmp 0x58a67
movq %rax, %rbx
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x58a87
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
jmp 0x58a87
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x58a6a
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
jmp 0x58a6a
movq %rax, %rbx
jmp 0x58aba
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x58aba
movq 0x18(%rsp), %rsi
jmp 0x58ab2
movq %rax, %rbx
jmp 0x58a9e
movq %rax, %rbx
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x58a9e
movq 0x38(%rsp), %rsi
jmp 0x58a96
jmp 0x58a84
jmp 0x58a84
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x58a9e
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x58aba
movq 0x68(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x58adc
movq 0x88(%rsp), %rsi
incq %rsi
callq 0xd530
movq %rbx, %rdi
callq 0xda70