// File: 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
movq %rsp, %rbp
subq $0x2b0, %rsp            # imm = 0x2B0
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movl $0x0, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movl %eax, -0x224(%rbp)
movq -0x10(%rbp), %rdi
callq 0x88580
movl %eax, %ecx
movl -0x224(%rbp), %eax
cmpl %ecx, %eax
jge 0x91d6f
movq -0x10(%rbp), %rdi
movl -0x1c(%rbp), %esi
callq 0x88520
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xa7700
testb $0x1, %al
jne 0x9170c
jmp 0x919d1
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
cmpl $0x1, %eax
jne 0x91730
cmpl $0x0, -0x18(%rbp)
jne 0x91730
movq -0x8(%rbp), %rdi
leaq 0x3d80b(%rip), %rsi     # 0xcef36
callq 0x10720
movq -0x28(%rbp), %rdi
callq 0xa4860
movq %rax, -0x238(%rbp)
movq -0x28(%rbp), %rdi
callq 0xa48b0
movq -0x238(%rbp), %rsi
movl %eax, %edx
leaq -0x48(%rbp), %rdi
movq %rdi, -0x230(%rbp)
callq 0x7d6e0
movq -0x230(%rbp), %rsi
leaq 0x39c86(%rip), %rdx     # 0xcb3f6
leaq -0x88(%rbp), %rdi
callq 0x3c8f0
jmp 0x9177e
movq -0x28(%rbp), %rdi
callq 0xa97a0
movq %rax, -0x240(%rbp)
jmp 0x91790
movq -0x240(%rbp), %rdx
leaq -0x68(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0xa2b40
jmp 0x917a9
leaq -0x88(%rbp), %rdi
callq 0x10fc8
movq -0x8(%rbp), %rdi
leaq 0x3d78b(%rip), %rsi     # 0xcef4b
callq 0x10720
movq %rax, -0x248(%rbp)
jmp 0x917ce
leaq -0xb8(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0xa9670
jmp 0x917e0
movq -0x248(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
callq 0x10680
movq %rax, -0x250(%rbp)
jmp 0x917fc
movq -0x250(%rbp), %rdi
leaq 0x3d75a(%rip), %rsi     # 0xcef64
callq 0x10720
jmp 0x91811
leaq -0xb8(%rbp), %rdi
callq 0x10fc8
leaq 0x39bd2(%rip), %rdx     # 0xcb3f6
leaq -0xf8(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x3c8f0
jmp 0x91836
movq -0x28(%rbp), %rdi
callq 0xa48e0
movq %rax, -0x258(%rbp)
jmp 0x91848
movq -0x258(%rbp), %rdx
leaq -0xd8(%rbp), %rdi
leaq -0xf8(%rbp), %rsi
callq 0xa2b40
jmp 0x91864
leaq -0xf8(%rbp), %rdi
callq 0x10fc8
movq -0x8(%rbp), %rax
movq %rax, -0x260(%rbp)
leaq -0x118(%rbp), %rdi
leaq -0xd8(%rbp), %rsi
callq 0x8f4a0
jmp 0x91890
leaq -0x118(%rbp), %rdi
callq 0x102c0
movq -0x260(%rbp), %rdi
movq %rax, %rsi
callq 0x8fce0
jmp 0x918ad
leaq -0x118(%rbp), %rdi
callq 0x10fc8
movq -0x8(%rbp), %rdi
leaq 0x3d6ab(%rip), %rsi     # 0xcef6f
callq 0x10720
jmp 0x918cb
leaq -0xd8(%rbp), %rdi
callq 0x10fc8
leaq -0x68(%rbp), %rdi
callq 0x10fc8
leaq -0x48(%rbp), %rdi
callq 0x10fc8
jmp 0x91d5f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x919c3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x10fc8
jmp 0x919c3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x919ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0x10fc8
jmp 0x919ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0xf8(%rbp), %rdi
callq 0x10fc8
jmp 0x919ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x919ae
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x118(%rbp), %rdi
callq 0x10fc8
leaq -0xd8(%rbp), %rdi
callq 0x10fc8
leaq -0x68(%rbp), %rdi
callq 0x10fc8
leaq -0x48(%rbp), %rdi
callq 0x10fc8
jmp 0x91ddd
movq -0x28(%rbp), %rdi
callq 0xa97c0
testb $0x1, %al
jne 0x919e3
jmp 0x91d5d
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
cmpl $0x1, %eax
jne 0x91a07
cmpl $0x0, -0x14(%rbp)
jne 0x91a07
movq -0x8(%rbp), %rdi
leaq 0x3d534(%rip), %rsi     # 0xcef36
callq 0x10720
movq -0x28(%rbp), %rdi
callq 0xa4860
movq %rax, -0x270(%rbp)
movq -0x28(%rbp), %rdi
callq 0xa48b0
movq -0x270(%rbp), %rsi
movl %eax, %edx
leaq -0x138(%rbp), %rdi
movq %rdi, -0x268(%rbp)
callq 0x7d6e0
movq -0x268(%rbp), %rsi
leaq 0x399ac(%rip), %rdx     # 0xcb3f6
leaq -0x178(%rbp), %rdi
callq 0x3c8f0
jmp 0x91a58
movq -0x28(%rbp), %rdi
callq 0xa97a0
movq %rax, -0x278(%rbp)
jmp 0x91a6a
movq -0x278(%rbp), %rdx
leaq -0x158(%rbp), %rdi
leaq -0x178(%rbp), %rsi
callq 0xa2b40
jmp 0x91a86
leaq -0x178(%rbp), %rdi
callq 0x10fc8
movq -0x8(%rbp), %rdi
leaq 0x3d4de(%rip), %rsi     # 0xcef7b
callq 0x10720
movq %rax, -0x280(%rbp)
jmp 0x91aab
leaq -0x158(%rbp), %rdi
callq 0x102c0
movq %rax, -0x290(%rbp)
leaq -0x1b9(%rbp), %rdi
movq %rdi, -0x288(%rbp)
callq 0x10e10
movq -0x290(%rbp), %rsi
movq -0x288(%rbp), %rdx
leaq -0x1b8(%rbp), %rdi
callq 0x1d070
jmp 0x91aed
leaq -0x198(%rbp), %rdi
leaq -0x1b8(%rbp), %rsi
callq 0xa9670
jmp 0x91b02
movq -0x280(%rbp), %rdi
leaq -0x198(%rbp), %rsi
callq 0x10680
movq %rax, -0x298(%rbp)
jmp 0x91b1e
movq -0x298(%rbp), %rdi
leaq 0x3d440(%rip), %rsi     # 0xcef6c
callq 0x10720
jmp 0x91b33
leaq -0x198(%rbp), %rdi
callq 0x10fc8
leaq -0x1b8(%rbp), %rdi
callq 0x10fc8
leaq -0x1b9(%rbp), %rdi
callq 0x10810
leaq 0x39898(%rip), %rdx     # 0xcb3f6
leaq -0x200(%rbp), %rdi
leaq -0x138(%rbp), %rsi
callq 0x3c8f0
jmp 0x91b73
movq -0x28(%rbp), %rdi
callq 0xa48e0
movq %rax, -0x2a0(%rbp)
jmp 0x91b85
movq -0x2a0(%rbp), %rdx
leaq -0x1e0(%rbp), %rdi
leaq -0x200(%rbp), %rsi
callq 0xa2b40
jmp 0x91ba1
leaq -0x200(%rbp), %rdi
callq 0x10fc8
movq -0x8(%rbp), %rax
movq %rax, -0x2a8(%rbp)
leaq -0x220(%rbp), %rdi
leaq -0x1e0(%rbp), %rsi
callq 0x8f4a0
jmp 0x91bcd
leaq -0x220(%rbp), %rdi
callq 0x102c0
movq -0x2a8(%rbp), %rdi
movq %rax, %rsi
callq 0x8fce0
jmp 0x91bea
leaq -0x220(%rbp), %rdi
callq 0x10fc8
movq -0x8(%rbp), %rdi
leaq 0x3d393(%rip), %rsi     # 0xcef94
callq 0x10720
jmp 0x91c08
leaq -0x1e0(%rbp), %rdi
callq 0x10fc8
leaq -0x158(%rbp), %rdi
callq 0x10fc8
leaq -0x138(%rbp), %rdi
callq 0x10fc8
jmp 0x91d5d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x91d4c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x178(%rbp), %rdi
callq 0x10fc8
jmp 0x91d4c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x91d40
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x91cd4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x91cc8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x198(%rbp), %rdi
callq 0x10fc8
leaq -0x1b8(%rbp), %rdi
callq 0x10fc8
leaq -0x1b9(%rbp), %rdi
callq 0x10810
jmp 0x91d40
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x200(%rbp), %rdi
callq 0x10fc8
jmp 0x91d40
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x91d34
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x220(%rbp), %rdi
callq 0x10fc8
leaq -0x1e0(%rbp), %rdi
callq 0x10fc8
leaq -0x158(%rbp), %rdi
callq 0x10fc8
leaq -0x138(%rbp), %rdi
callq 0x10fc8
jmp 0x91ddd
jmp 0x91d5f
jmp 0x91d61
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x916c8
cmpl $0x0, -0x14(%rbp)
jne 0x91d9b
cmpl $0x0, -0x18(%rbp)
jne 0x91d9b
movq -0x10(%rbp), %rdi
callq 0x88600
cmpl $0x0, %eax
jne 0x91d9b
movq -0x8(%rbp), %rdi
leaq 0x3d1a0(%rip), %rsi     # 0xcef34
callq 0x10720
jmp 0x91dd4
cmpl $0x0, -0x14(%rbp)
jne 0x91db7
cmpl $0x0, -0x18(%rbp)
jne 0x91db7
movq -0x8(%rbp), %rdi
leaq 0x3d184(%rip), %rsi     # 0xcef36
callq 0x10720
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x92b20
movq -0x8(%rbp), %rdi
leaq 0x3d1d1(%rip), %rsi     # 0xcefa0
callq 0x10720
addq $0x2b0, %rsp            # imm = 0x2B0
popq %rbp
retq
movq -0x90(%rbp), %rdi
callq 0x10e00
nopl (%rax)