code: def merge_float_intervals(
      ranges: List[List[float]], decimals: int = 5, margin: int = 2
  ) -> List[List[float]]:
      """
      Combine overlaps with floating point numbers. Since neighboring integers are considered as continuous range,
      we need to add margin to the starting range before merging then subtract margin from the result range.
  
      Args:
          ranges (list):
              List containing ranges.
              Example: [(10.2, 10.83), (10.42, 10.91), (10.45, 12.09)]
          decimals (int):
              Number of rounding decimals
          margin (int):
              margin for determining overlap of the two ranges when ranges are converted to integer ranges.
              Default is margin=2 which follows the python index convention.
  
          Examples:
              If margin is 0:
                  [(1, 10), (10, 20)] -> [(1, 20)]
                  [(1, 10), (11, 20)] -> [(1, 20)]
              If margin is 1:
                  [(1, 10), (10, 20)] -> [(1, 20)]
                  [(1, 10), (11, 20)] -> [(1, 10), (11, 20)]
              If margin is 2:
                  [(1, 10), (10, 20)] -> [(1, 10), (10, 20)]
                  [(1, 10), (11, 20)] -> [(1, 10), (11, 20)]
  
      Returns:
          merged_list (list):
              List containing the combined ranges.
              Example: [(10.2, 12.09)]
      """
      ranges_int: List[List[int]] = []
      merged_ranges_int: List[List[int]] = []
      for x in ranges:
          stt, end = int(fl2int(x[0], decimals) + margin), int(
              fl2int(x[1], decimals)
          )
          if stt < end:
              ranges_int.append([stt, end])
      merged_ranges_int = merge_int_intervals(ranges_int)
      merged_ranges_float: List[List[float]] = []
      merged_ranges_float = [
          [int2fl(x[0] - margin, decimals), int2fl(x[1], decimals)]
          for x in merged_ranges_int
      ]
      return merged_ranges_float
  
imports: import gc
  import json
  import math
  import os
  import shutil
  from copy import deepcopy
  from typing import Dict, List, Tuple, Union
  import numpy
  import omegaconf
  import soundfile
  import torch
  from pyannote.core import Annotation, Segment
  from tqdm import tqdm
  from nemo.collections.asr.data.audio_to_label import repeat_signal
  from nemo.collections.asr.parts.utils.longform_clustering import LongFormSpeakerClustering
  from nemo.collections.asr.parts.utils.offline_clustering import SpeakerClustering, get_argmin_mat, split_input_data
  from nemo.utils import logging
label_desc: Use image node_id 28 for calling a global function with example usage: merge_float_intervals(ranges, decimals, margin) and returns: merged_ranges_float