code: def mchirp_compression(m1, m2, fmin, fmax, min_seglen=0.02, df_multiple=None):
      
      sample_points = []
      f = fmin
      while f < fmax:
          if df_multiple is not None:
              f = int(f/df_multiple)*df_multiple
          sample_points.append(f)
          f += 1.0 / rough_time_estimate(m1, m2, f, fudge_min=min_seglen)
      # add the last point
      if sample_points[-1] < fmax:
          sample_points.append(fmax)
      return numpy.array(sample_points)
docs: Return the frequencies needed to compress a waveform with the given
      chirp mass. This is based on the estimate in rough_time_estimate.
  
      Parameters
      ----------
      m1: float
          mass of first component object in solar masses
      m2: float
          mass of second component object in solar masses
      fmin : float
          The starting frequency of the compressed waveform.
      fmax : float
          The ending frequency of the compressed waveform.
      min_seglen : float
          The inverse of this gives the maximum frequency step that is used.
      df_multiple : {None, float}
          Make the compressed sampling frequencies a multiple of the given value.
          If None provided, the returned sample points can have any floating
          point value.
  
      Returns
      -------
      array
          The frequencies at which to evaluate the compressed waveform.