// File: /workspace/github_cpp_makefile_star2_O3/halfflat[P]tinyopt/test/googletest/googletest/src/gtest.cc
// Function: testing::internal::XmlUnitTestResultPrinter::PrintXmlUnitTest(std::ostream*, testing::UnitTest const&)
void XmlUnitTestResultPrinter::PrintXmlUnitTest(std::ostream* stream,
                                                const UnitTest& unit_test) {
  const std::string kTestsuites = "testsuites";

  *stream << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
  *stream << "<" << kTestsuites;

  OutputXmlAttribute(stream, kTestsuites, "tests",
                     StreamableToString(unit_test.reportable_test_count()));
  OutputXmlAttribute(stream, kTestsuites, "failures",
                     StreamableToString(unit_test.failed_test_count()));
  OutputXmlAttribute(
      stream, kTestsuites, "disabled",
      StreamableToString(unit_test.reportable_disabled_test_count()));
  OutputXmlAttribute(stream, kTestsuites, "errors", "0");
  OutputXmlAttribute(stream, kTestsuites, "time",
                     FormatTimeInMillisAsSeconds(unit_test.elapsed_time()));
  OutputXmlAttribute(
      stream, kTestsuites, "timestamp",
      FormatEpochTimeInMillisAsIso8601(unit_test.start_timestamp()));

  if (GTEST_FLAG_GET(shuffle)) {
    OutputXmlAttribute(stream, kTestsuites, "random_seed",
                       StreamableToString(unit_test.random_seed()));
  }
  *stream << TestPropertiesAsXmlAttributes(unit_test.ad_hoc_test_result());

  OutputXmlAttribute(stream, kTestsuites, "name", "AllTests");
  *stream << ">\n";

  for (int i = 0; i < unit_test.total_test_suite_count(); ++i) {
    if (unit_test.GetTestSuite(i)->reportable_test_count() > 0)
      PrintXmlTestSuite(stream, *unit_test.GetTestSuite(i));
  }

  // If there was a test failure outside of one of the test suites (like in a
  // test environment) include that in the output.
  if (unit_test.ad_hoc_test_result().Failed()) {
    OutputXmlTestSuiteForTestResult(stream, unit_test.ad_hoc_test_result());
  }

  *stream << "</" << kTestsuites << ">\n";
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x70, %rsp
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x60(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x1e3cc(%rip), %rsi     # 0x72555
leaq 0x1e3cf(%rip), %rdx     # 0x7255f
leaq 0x50(%rsp), %rdi
callq 0x1558a
leaq 0x1e3bf(%rip), %rsi     # 0x72560
movl $0x27, %edx
movq %rbx, %rdi
callq 0xd600
leaq 0x1e3f8(%rip), %rsi     # 0x725ad
movl $0x1, %edx
movq %rbx, %rdi
callq 0xd600
movq 0x50(%rsp), %rsi
movq 0x58(%rsp), %rdx
movq %rbx, %rdi
callq 0xd600
leaq 0x18(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x1d3e3(%rip), %rsi     # 0x715c8
leaq 0x1d3e1(%rip), %rdx     # 0x715cd
leaq 0x8(%rsp), %rdi
callq 0x1558a
movq 0x40(%r14), %rdi
callq 0x4c87e
leaq 0x4c(%rsp), %rsi
movl %eax, (%rsi)
leaq 0x28(%rsp), %rdi
callq 0x61b3f
leaq 0x50(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
movq %rbx, %rdi
callq 0x55cee
leaq 0x38(%rsp), %r13
movq -0x10(%r13), %rdi
cmpq %r13, %rdi
je 0x54242
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x54259
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x1ec93(%rip), %rsi     # 0x72efb
leaq 0x1ec94(%rip), %rdx     # 0x72f03
callq 0x1558a
movq 0x40(%r14), %rdi
callq 0x4c6a0
leaq 0x4c(%rsp), %rsi
movl %eax, (%rsi)
leaq 0x28(%rsp), %rdi
callq 0x61b3f
leaq 0x50(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
movq %rbx, %rdi
callq 0x55cee
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x542bc
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x542d3
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x1e178(%rip), %rsi     # 0x7245a
leaq 0x1e179(%rip), %rdx     # 0x72462
callq 0x1558a
movq 0x40(%r14), %rdi
callq 0x4c740
leaq 0x4c(%rsp), %rsi
movl %eax, (%rsi)
leaq 0x28(%rsp), %rdi
callq 0x61b3f
leaq 0x50(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
movq %rbx, %rdi
callq 0x55cee
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x54336
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x5434d
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x1e10f(%rip), %rsi     # 0x7246b
leaq 0x1e10e(%rip), %rdx     # 0x72471
callq 0x1558a
leaq 0x28(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x1e991(%rip), %rsi     # 0x72d08
leaq 0x1e98b(%rip), %rdx     # 0x72d09
callq 0x1558a
leaq 0x50(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
movq %rbx, %rdi
callq 0x55cee
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x543b1
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x543c8
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x1d257(%rip), %rsi     # 0x7162e
leaq 0x1d254(%rip), %rdx     # 0x71632
callq 0x1558a
movq 0x40(%r14), %rax
movq 0x230(%rax), %rsi
leaq 0x28(%rsp), %rdi
callq 0x54dd6
leaq 0x50(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
movq %rbx, %rdi
callq 0x55cee
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x54426
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x5443d
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x1e026(%rip), %rsi     # 0x72472
leaq 0x1e028(%rip), %rdx     # 0x7247b
callq 0x1558a
movq 0x40(%r14), %rax
movq 0x228(%rax), %rsi
leaq 0x28(%rsp), %rdi
callq 0x54f2a
leaq 0x50(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
movq %rbx, %rdi
callq 0x55cee
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x5449b
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x544b2
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
cmpb $0x1, 0x40475(%rip)     # 0x9492e
jne 0x54536
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x1d174(%rip), %rsi     # 0x7163e
leaq 0x1d178(%rip), %rdx     # 0x71649
callq 0x1558a
movq 0x40(%r14), %rax
movl 0x21c(%rax), %eax
leaq 0x4c(%rsp), %rsi
movl %eax, (%rsi)
leaq 0x28(%rsp), %rdi
callq 0x61b3f
leaq 0x50(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
movq %rbx, %rdi
callq 0x55cee
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x5451f
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x54536
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
movl $0x178, %esi            # imm = 0x178
addq 0x40(%r14), %rsi
leaq 0x8(%rsp), %rdi
callq 0x58208
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %rbx, %rdi
callq 0xd600
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x54572
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x1df26(%rip), %rsi     # 0x724a7
leaq 0x1df23(%rip), %rdx     # 0x724ab
callq 0x1558a
leaq 0x28(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x1dfec(%rip), %rsi     # 0x72588
leaq 0x1dfed(%rip), %rdx     # 0x72590
callq 0x1558a
leaq 0x50(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
movq %rbx, %rdi
callq 0x55cee
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x545d6
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x545ed
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x1dee6(%rip), %rsi     # 0x724da
movl $0x2, %edx
movq %rbx, %rdi
callq 0xd600
movq 0x40(%r14), %rdi
movq 0xb8(%rdi), %rax
movq 0xc0(%rdi), %rcx
subq %rax, %rcx
shrq $0x3, %rcx
testl %ecx, %ecx
jle 0x5468e
xorl %r12d, %r12d
xorl %r13d, %r13d
movq (%rax,%r13,8), %rsi
movq 0x30(%rsi), %rax
movq 0x38(%rsi), %rcx
cmpq %rcx, %rax
je 0x5466e
xorl %edx, %edx
movq (%rax), %r8
movzbl 0x83(%r8), %r9d
xorl $0x1, %r9d
cmpb $0x0, 0x82(%r8)
cmovel %r12d, %r9d
addl %r9d, %edx
addq $0x8, %rax
cmpq %rcx, %rax
jne 0x54637
testl %edx, %edx
je 0x5466e
movq %rbx, %rdi
callq 0x57bc4
movq 0x40(%r14), %rdi
incq %r13
movq 0xb8(%rdi), %rax
movq 0xc0(%rdi), %rcx
subq %rax, %rcx
shrq $0x3, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jl 0x54624
addq $0x178, %rdi            # imm = 0x178
callq 0x50002
testb %al, %al
je 0x546af
movl $0x178, %esi            # imm = 0x178
addq 0x40(%r14), %rsi
movq %rbx, %rdi
callq 0x55fec
leaq 0x1df10(%rip), %rsi     # 0x725c6
movl $0x2, %edx
movq %rbx, %rdi
callq 0xd600
movq 0x50(%rsp), %rsi
movq 0x58(%rsp), %rdx
movq %rbx, %rdi
callq 0xd600
leaq 0x1ddfe(%rip), %rsi     # 0x724da
movl $0x2, %edx
movq %rax, %rdi
callq 0xd600
movq 0x50(%rsp), %rdi
cmpq %r15, %rdi
je 0x54700
movq 0x60(%rsp), %rsi
incq %rsi
callq 0xd530
addq $0x70, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
jmp 0x54736
jmp 0x5476b
jmp 0x54789
jmp 0x54736
jmp 0x5476b
jmp 0x54789
jmp 0x5476b
jmp 0x54789
jmp 0x54736
jmp 0x5476b
jmp 0x54789
jmp 0x54736
jmp 0x5476b
jmp 0x54789
jmp 0x54736
jmp 0x5476b
jmp 0x54789
jmp 0x54736
jmp 0x5476b
jmp 0x54789
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x5476e
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
jmp 0x5476e
jmp 0x54789
movq %rax, %rbx
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0x54743
jmp 0x5476e
jmp 0x5476b
jmp 0x54789
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x5478c
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
jmp 0x5478c
jmp 0x54789
movq %rax, %rbx
movq 0x50(%rsp), %rdi
cmpq %r15, %rdi
je 0x547a3
movq 0x60(%rsp), %rsi
incq %rsi
callq 0xd530
movq %rbx, %rdi
callq 0xda70
nop