// File: /workspace/github_cpp_makefile_star2_O1/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 0x1ea56(%rip), %rsi     # 0x74545
leaq 0x1ea59(%rip), %rdx     # 0x7454f
leaq 0x50(%rsp), %rdi
callq 0x15892
leaq 0x1ea49(%rip), %rsi     # 0x74550
movl $0x27, %edx
movq %rbx, %rdi
callq 0xd600
leaq 0x1ea82(%rip), %rsi     # 0x7459d
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 0x1da6d(%rip), %rsi     # 0x735b8
leaq 0x1da6b(%rip), %rdx     # 0x735bd
leaq 0x8(%rsp), %rdi
callq 0x15892
movq 0x40(%r14), %rdi
callq 0x4e0dc
leaq 0x4c(%rsp), %rsi
movl %eax, (%rsi)
leaq 0x28(%rsp), %rdi
callq 0x63483
leaq 0x50(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
movq %rbx, %rdi
callq 0x5763a
leaq 0x38(%rsp), %r13
movq -0x10(%r13), %rdi
cmpq %r13, %rdi
je 0x55ba8
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x55bbf
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x1f31d(%rip), %rsi     # 0x74eeb
leaq 0x1f31e(%rip), %rdx     # 0x74ef3
callq 0x15892
movq 0x40(%r14), %rdi
callq 0x4df04
leaq 0x4c(%rsp), %rsi
movl %eax, (%rsi)
leaq 0x28(%rsp), %rdi
callq 0x63483
leaq 0x50(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
movq %rbx, %rdi
callq 0x5763a
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x55c22
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x55c39
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x1e802(%rip), %rsi     # 0x7444a
leaq 0x1e803(%rip), %rdx     # 0x74452
callq 0x15892
movq 0x40(%r14), %rdi
callq 0x4df9e
leaq 0x4c(%rsp), %rsi
movl %eax, (%rsi)
leaq 0x28(%rsp), %rdi
callq 0x63483
leaq 0x50(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
movq %rbx, %rdi
callq 0x5763a
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x55c9c
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x55cb3
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x1e799(%rip), %rsi     # 0x7445b
leaq 0x1e798(%rip), %rdx     # 0x74461
callq 0x15892
leaq 0x28(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x1f01b(%rip), %rsi     # 0x74cf8
leaq 0x1f015(%rip), %rdx     # 0x74cf9
callq 0x15892
leaq 0x50(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
movq %rbx, %rdi
callq 0x5763a
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x55d17
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x55d2e
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x1d8e1(%rip), %rsi     # 0x7361e
leaq 0x1d8de(%rip), %rdx     # 0x73622
callq 0x15892
movq 0x40(%r14), %rax
movq 0x230(%rax), %rsi
leaq 0x28(%rsp), %rdi
callq 0x56733
leaq 0x50(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
movq %rbx, %rdi
callq 0x5763a
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x55d8c
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x55da3
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x1e6b0(%rip), %rsi     # 0x74462
leaq 0x1e6b2(%rip), %rdx     # 0x7446b
callq 0x15892
movq 0x40(%r14), %rax
movq 0x228(%rax), %rsi
leaq 0x28(%rsp), %rdi
callq 0x56887
leaq 0x50(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
movq %rbx, %rdi
callq 0x5763a
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x55e01
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x55e18
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
cmpb $0x1, 0x40b0f(%rip)     # 0x9692e
jne 0x55e9c
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x1d7fe(%rip), %rsi     # 0x7362e
leaq 0x1d802(%rip), %rdx     # 0x73639
callq 0x15892
movq 0x40(%r14), %rax
movl 0x21c(%rax), %eax
leaq 0x4c(%rsp), %rsi
movl %eax, (%rsi)
leaq 0x28(%rsp), %rdi
callq 0x63483
leaq 0x50(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
movq %rbx, %rdi
callq 0x5763a
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x55e85
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x55e9c
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
movl $0x178, %esi            # imm = 0x178
addq 0x40(%r14), %rsi
leaq 0x8(%rsp), %rdi
callq 0x59b6a
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %rbx, %rdi
callq 0xd600
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x55ed8
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x1e5b0(%rip), %rsi     # 0x74497
leaq 0x1e5ad(%rip), %rdx     # 0x7449b
callq 0x15892
leaq 0x28(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x1e676(%rip), %rsi     # 0x74578
leaq 0x1e677(%rip), %rdx     # 0x74580
callq 0x15892
leaq 0x50(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
movq %rbx, %rdi
callq 0x5763a
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x55f3c
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x55f53
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x1e570(%rip), %rsi     # 0x744ca
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 0x55ff7
xorl %r12d, %r12d
xorl %r13d, %r13d
movq (%rax,%r13,8), %rdx
movq 0x30(%rdx), %rcx
movq 0x38(%rdx), %rdx
cmpq %rdx, %rcx
je 0x55fd3
xorl %esi, %esi
movq (%rcx), %rdi
movzbl 0x83(%rdi), %r8d
xorl $0x1, %r8d
cmpb $0x0, 0x82(%rdi)
cmovel %r12d, %r8d
addl %r8d, %esi
addq $0x8, %rcx
cmpq %rdx, %rcx
jne 0x55f9d
testl %esi, %esi
je 0x55fd3
movq (%rax,%r13,8), %rsi
movq %rbx, %rdi
callq 0x59512
incq %r13
movq 0x40(%r14), %rdi
movq 0xb8(%rdi), %rax
movq 0xc0(%rdi), %rcx
subq %rax, %rcx
shrq $0x3, %rcx
movslq %ecx, %rcx
cmpq %rcx, %r13
jl 0x55f8a
addq $0x178, %rdi            # imm = 0x178
callq 0x51850
testb %al, %al
je 0x56018
movl $0x178, %esi            # imm = 0x178
addq 0x40(%r14), %rsi
movq %rbx, %rdi
callq 0x5793a
leaq 0x1e597(%rip), %rsi     # 0x745b6
movl $0x2, %edx
movq %rbx, %rdi
callq 0xd600
movq 0x50(%rsp), %rsi
movq 0x58(%rsp), %rdx
movq %rbx, %rdi
callq 0xd600
leaq 0x1e485(%rip), %rsi     # 0x744ca
movl $0x2, %edx
movq %rax, %rdi
callq 0xd600
movq 0x50(%rsp), %rdi
cmpq %r15, %rdi
je 0x56069
movq 0x60(%rsp), %rsi
incq %rsi
callq 0xd530
addq $0x70, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
jmp 0x5609f
jmp 0x560d4
jmp 0x560f2
jmp 0x5609f
jmp 0x560d4
jmp 0x560f2
jmp 0x560d4
jmp 0x560f2
jmp 0x5609f
jmp 0x560d4
jmp 0x560f2
jmp 0x5609f
jmp 0x560d4
jmp 0x560f2
jmp 0x5609f
jmp 0x560d4
jmp 0x560f2
jmp 0x5609f
jmp 0x560d4
jmp 0x560f2
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x560d7
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
jmp 0x560d7
jmp 0x560f2
movq %rax, %rbx
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0x560ac
jmp 0x560d7
jmp 0x560d4
jmp 0x560f2
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x560f5
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
jmp 0x560f5
jmp 0x560f2
movq %rax, %rbx
movq 0x50(%rsp), %rdi
cmpq %r15, %rdi
je 0x5610c
movq 0x60(%rsp), %rsi
incq %rsi
callq 0xd530
movq %rbx, %rdi
callq 0xda70