message: Avoid string formatting in assert_same_float_dtype unless there's an error
  Especially helpful when executing eagerly
diff: @@ -1169,6 +1169,20 @@ def _assert_same_base_type(items, expected_type=None):
  Raises:
  ValueError: If any types do not match.
  """
  + original_expected_type = expected_type
  + mismatch = False
  + for item in items:
  + if item is not None:
  + item_type = item.dtype.base_dtype
  + if not expected_type:
  + expected_type = item_type
  + elif expected_type != item_type:
  + mismatch = True
  + break
  + if mismatch:
  + # Loop back through and build up an informative error message (this is very
  + # slow, so we don't do it unless we found an error above).
  + expected_type = original_expected_type
  original_item_str = None
  for item in items:
  if item is not None:
  @@ -1181,6 +1195,8 @@ def _assert_same_base_type(items, expected_type=None):
  item.name if hasattr(item, 'name') else str(item),
  item_type, expected_type,
  (' as %s' % original_item_str) if original_item_str else ''))
  + return expected_type # Should be unreachable
  + else:
  return expected_type
  