def METHOD_NAME(
    self,
    other: "EnergyReport",
    tolerances: Optional[dict[str, FloatQuantity]] = None,
):
    """
    Compare two energy reports.
    Parameters
    ----------
    other: EnergyReport
        The other `EnergyReport` to compare energies against
    tolerances: dict of str: `FloatQuantity`
        Per-key allowed differences in energies
    """
    default_tolerances = {
        "Bond": 1e-3 * kj_mol,
        "Angle": 1e-3 * kj_mol,
        "Torsion": 1e-3 * kj_mol,
        "vdW": 1e-3 * kj_mol,
        "Electrostatics": 1e-3 * kj_mol,
    }
    if tolerances:
        default_tolerances.update(tolerances)
    tolerances = default_tolerances
    energy_differences = self.diff(other)
    if ("Nonbonded" in tolerances) != ("Nonbonded" in energy_differences):
        raise IncompatibleTolerancesError(
            "Mismatch between energy reports and tolerances with respect to whether nonbonded "
            "interactions are collapsed into a single value.",
        )
    errors = dict()
    for key, diff in energy_differences.items():
        if abs(energy_differences[key]) > tolerances[key]:
            errors[key] = diff
    if errors:
        raise EnergyError(errors)