// File: /workspace/github_cpp_makefile_star2_O3/halfflat[P]tinyopt/test/googletest/googletest/src/gtest.cc
// Function: testing::internal::XmlUnitTestResultPrinter::PrintXmlTestSuite(std::ostream*, testing::TestSuite const&)
void XmlUnitTestResultPrinter::PrintXmlTestSuite(std::ostream* stream,
                                                 const TestSuite& test_suite) {
  const std::string kTestsuite = "testsuite";
  *stream << "  <" << kTestsuite;
  OutputXmlAttribute(stream, kTestsuite, "name", test_suite.name());
  OutputXmlAttribute(stream, kTestsuite, "tests",
                     StreamableToString(test_suite.reportable_test_count()));
  if (!GTEST_FLAG_GET(list_tests)) {
    OutputXmlAttribute(stream, kTestsuite, "failures",
                       StreamableToString(test_suite.failed_test_count()));
    OutputXmlAttribute(
        stream, kTestsuite, "disabled",
        StreamableToString(test_suite.reportable_disabled_test_count()));
    OutputXmlAttribute(stream, kTestsuite, "skipped",
                       StreamableToString(test_suite.skipped_test_count()));

    OutputXmlAttribute(stream, kTestsuite, "errors", "0");

    OutputXmlAttribute(stream, kTestsuite, "time",
                       FormatTimeInMillisAsSeconds(test_suite.elapsed_time()));
    OutputXmlAttribute(
        stream, kTestsuite, "timestamp",
        FormatEpochTimeInMillisAsIso8601(test_suite.start_timestamp()));
    *stream << TestPropertiesAsXmlAttributes(test_suite.ad_hoc_test_result());
  }
  *stream << ">\n";
  for (int i = 0; i < test_suite.total_test_count(); ++i) {
    if (test_suite.GetTestInfo(i)->is_reportable())
      OutputXmlTestInfo(stream, test_suite.name(), *test_suite.GetTestInfo(i));
  }
  *stream << "  </" << kTestsuite << ">\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 0x1a855(%rip), %rsi     # 0x7243c
leaq 0x1a857(%rip), %rdx     # 0x72445
leaq 0x50(%rsp), %rdi
callq 0x1558a
leaq 0x1a9ac(%rip), %rsi     # 0x725ab
movl $0x3, %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 0x1a878(%rip), %rsi     # 0x724a7
leaq 0x1a875(%rip), %rdx     # 0x724ab
leaq 0x8(%rsp), %rdi
callq 0x1558a
movq 0x8(%r14), %rsi
leaq 0x28(%rsp), %rdi
leaq 0x4c(%rsp), %rdx
callq 0x2008e
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 0x57c85
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x57c9c
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x1991d(%rip), %rsi     # 0x715c8
leaq 0x1991b(%rip), %rdx     # 0x715cd
callq 0x1558a
movq 0x30(%r14), %rax
movq 0x38(%r14), %rdx
cmpq %rdx, %rax
je 0x57cf0
xorl %esi, %esi
xorl %ecx, %ecx
movq (%rax), %rdi
movzbl 0x83(%rdi), %r8d
xorl $0x1, %r8d
cmpb $0x0, 0x82(%rdi)
cmovel %esi, %r8d
addl %r8d, %ecx
addq $0x8, %rax
cmpq %rdx, %rax
jne 0x57cc8
jmp 0x57cf2
xorl %ecx, %ecx
leaq 0x4c(%rsp), %rsi
movl %ecx, (%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 0x57d31
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x57d48
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
cmpb $0x0, 0x3cbaa(%rip)     # 0x948f9
jne 0x58084
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x1b197(%rip), %rsi     # 0x72efb
leaq 0x1b198(%rip), %rdx     # 0x72f03
callq 0x1558a
movq %r14, %rdi
callq 0x4c6f0
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 0x57db7
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x57dce
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x1a67d(%rip), %rsi     # 0x7245a
leaq 0x1a67e(%rip), %rdx     # 0x72462
callq 0x1558a
movq 0x30(%r14), %rcx
movq 0x38(%r14), %rdx
xorl %eax, %eax
cmpq %rdx, %rcx
je 0x57e21
movq (%rcx), %rsi
cmpb $0x1, 0x82(%rsi)
movl $0x0, %edi
jne 0x57e19
testb $0x1, 0x83(%rsi)
jne 0x57e19
movzbl 0x81(%rsi), %edi
addl %edi, %eax
addq $0x8, %rcx
jmp 0x57df3
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 0x57e60
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x57e77
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x1a5dd(%rip), %rsi     # 0x72463
leaq 0x1a5dd(%rip), %rdx     # 0x7246a
callq 0x1558a
movq %r14, %rdi
callq 0x4c650
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 0x57ed9
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x57ef0
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x1a56c(%rip), %rsi     # 0x7246b
leaq 0x1a56b(%rip), %rdx     # 0x72471
callq 0x1558a
leaq 0x28(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x1adee(%rip), %rsi     # 0x72d08
leaq 0x1ade8(%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 0x57f54
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x57f6b
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x196b4(%rip), %rsi     # 0x7162e
leaq 0x196b1(%rip), %rdx     # 0x71632
callq 0x1558a
movq 0x80(%r14), %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 0x57fc5
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x57fdc
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x1a487(%rip), %rsi     # 0x72472
leaq 0x1a489(%rip), %rdx     # 0x7247b
callq 0x1558a
movq 0x78(%r14), %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 0x58033
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x5804a
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x88(%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 0x58084
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x1a44f(%rip), %rsi     # 0x724da
movl $0x2, %edx
movq %rbx, %rdi
callq 0xd600
movq 0x30(%r14), %rax
movq 0x38(%r14), %rcx
movq %rcx, %rdx
subq %rax, %rdx
shrq $0x3, %rdx
testl %edx, %edx
jle 0x5810b
xorl %r12d, %r12d
movq 0x48(%r14), %rdx
movq 0x50(%r14), %rsi
subq %rdx, %rsi
shrq $0x2, %rsi
movslq %esi, %rsi
cmpq %rsi, %r12
jge 0x580f6
movl (%rdx,%r12,4), %edx
movq (%rax,%rdx,8), %rdx
cmpb $0x1, 0x82(%rdx)
jne 0x580f6
testb $0x1, 0x83(%rdx)
jne 0x580f6
movq 0x8(%r14), %rsi
movq %rbx, %rdi
callq 0x57196
movq 0x30(%r14), %rax
movq 0x38(%r14), %rcx
incq %r12
movq %rcx, %rdx
subq %rax, %rdx
shrq $0x3, %rdx
movslq %edx, %rdx
cmpq %rdx, %r12
jl 0x580b1
leaq 0x1a4b2(%rip), %rsi     # 0x725c4
movl $0x4, %edx
movq %rbx, %rdi
callq 0xd600
movq 0x50(%rsp), %rsi
movq 0x58(%rsp), %rdx
movq %rbx, %rdi
callq 0xd600
leaq 0x1a3a2(%rip), %rsi     # 0x724da
movl $0x2, %edx
movq %rax, %rdi
callq 0xd600
movq 0x50(%rsp), %rdi
cmpq %r15, %rdi
je 0x5815c
movq 0x60(%rsp), %rsi
incq %rsi
callq 0xd530
addq $0x70, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
jmp 0x581c5
jmp 0x581e5
jmp 0x58192
jmp 0x581c5
jmp 0x581e5
jmp 0x58192
jmp 0x581c5
jmp 0x581e5
jmp 0x58192
jmp 0x581c5
jmp 0x581e5
jmp 0x58192
jmp 0x581e5
jmp 0x58192
jmp 0x581c5
jmp 0x581e5
jmp 0x58192
jmp 0x581e5
jmp 0x581c5
jmp 0x581c5
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
jne 0x581b6
jmp 0x581c8
jmp 0x581c5
jmp 0x581e5
movq %rax, %rbx
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x581c8
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
jmp 0x581c8
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x581e8
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
jmp 0x581e8
jmp 0x581e5
jmp 0x581e5
movq %rax, %rbx
movq 0x50(%rsp), %rdi
cmpq %r15, %rdi
je 0x581ff
movq 0x60(%rsp), %rsi
incq %rsi
callq 0xd530
movq %rbx, %rdi
callq 0xda70
nop