code: def _format_full_report(results):
      """Formats the given list of `_Result`s as a complete report str.
  
      This version is more prolix than `_format_brief_report`, but does not
      suppress any information, and does not suffer from any statistical
      bias.
  
      Args:
        results: A list of `_Result` for a batch `assertAllMeansClose`
          evaluation.
  
      Returns:
        report: A Python `str` suitable for being printed or added to an
          assertion message.
      """
      report = ""
      for result in results:
          report += f"\n\nAt index {result.batch_indices}"
          report += f"\nExpected mean({result.reduction_size} draws)"
          report += (
              f" in {result.expected:.3g} +- {result.tolerance:.3g};"
          )
          report += _format_bootstrap_report(result.bootstrap)
          report += _format_gaussian_report(result.gaussian)
  
      return report
  
imports: import collections
  import numpy
  import scipy.optimize
  import scipy.stats
label_desc: Use image node_id 11 for calling a global function with example usage: _format_full_report(results) and returns: report