code: def _infer_precision(base_precision: int, bins) -> int:
      """
      Infer an appropriate precision for _round_frac
      """
      for precision in range(base_precision, 20):
          levels = [_round_frac(b, precision) for b in bins]
          if algos.unique(levels).size == bins.size:
              return precision
      return base_precision
  
imports: from __future__ import annotations
  from typing import Any, Callable, Literal
  import numpy
  from pandas._libs import Timedelta, Timestamp
  from pandas._libs.lib import infer_dtype
  from pandas._typing import IntervalLeftRight
  from pandas.core.dtypes.common import DT64NS_DTYPE, ensure_platform_int, is_bool_dtype, is_categorical_dtype, is_datetime64_dtype, is_datetime64tz_dtype, is_datetime_or_timedelta_dtype, is_extension_array_dtype, is_integer, is_list_like, is_numeric_dtype, is_scalar, is_timedelta64_dtype
  from pandas.core.dtypes.generic import ABCSeries
  from pandas.core.dtypes.missing import isna
  from pandas import Categorical, Index, IntervalIndex, to_datetime, to_timedelta
  from pandas.core import nanops
  import pandas.core.algorithms
label_desc: Use image node_id 11 for calling a global function with example usage: _infer_precision(base_precision, bins) and returns: base_precision, precision