code: def binned_Cminus(x, y, xmax, ymax, xbins, ybins, normalize=False):
      """Compute the binned distributions using the Cminus method
  
      Parameters
      ----------
      x : array_like
          array of x values
      y : array_like
          array of y values
      xmax : array_like
          array of maximum x values for each y value
      ymax : array_like
          array of maximum y values for each x value
      xbins : array_like
          array of bin edges for the x function: size=Nbins_x + 1
      ybins : array_like
          array of bin edges for the y function: size=Nbins_y + 1
      normalize : boolean
          if true, then returned distributions are normalized.  Default
          is False.
  
      Returns
      -------
      dist_x, dist_y : ndarrays
          distributions of size Nbins_x and Nbins_y
      """
      Nx, Ny, cuml_x, cuml_y = Cminus(x, y, xmax, ymax)
  
      # simple linear interpolation using a binary search
      # interpolate the cumulative distributions
      x_sort = np.sort(x)
      y_sort = np.sort(y)
  
      Ix_edges = _sorted_interpolate(x_sort, cuml_x, xbins)
      Iy_edges = _sorted_interpolate(y_sort, cuml_y, ybins)
  
      if xbins[0] < x_sort[0]:
          Ix_edges[0] = cuml_x[0]
      if xbins[-1] > x_sort[-1]:
          Ix_edges[-1] = cuml_x[-1]
  
      if ybins[0] < y_sort[0]:
          Iy_edges[0] = cuml_y[0]
      if ybins[-1] > y_sort[-1]:
          Iy_edges[-1] = cuml_y[-1]
  
      x_dist = np.diff(Ix_edges) / np.diff(xbins)
      y_dist = np.diff(Iy_edges) / np.diff(ybins)
  
      if normalize:
          x_dist /= len(x)
          y_dist /= len(y)
  
      return x_dist, y_dist
  
imports: import numpy
label_desc: Use image node_id 3 for calling a global function with example usage: binned_Cminus(x, y, xmax, ymax, xbins, ybins, normalize) and returns: x_dist,  y_dist