code: def bootstrap_Cminus(
      x, y, xmax, ymax, xbins, ybins, Nbootstraps=10, normalize=False
  ):
      """
      Compute the binned distributions using the Cminus method, with
      bootstrapped estimates of the errors
  
      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
      Nbootstraps : int
          number of bootstrap resamplings to perform
      normalize : boolean
          if true, then returned distributions are normalized.  Default
          is False.
  
      Returns
      -------
      dist_x, err_x, dist_y, err_y : ndarrays
          distributions of size Nbins_x and Nbins_y
      """
      x, y, xmax, ymax = map(np.asarray, (x, y, xmax, ymax))
  
      x_dist = np.zeros((Nbootstraps, len(xbins) - 1))
      y_dist = np.zeros((Nbootstraps, len(ybins) - 1))
  
      for i in range(Nbootstraps):
          ind = np.random.randint(0, len(x), len(x))
          x_dist[i], y_dist[i] = binned_Cminus(
              x[ind],
              y[ind],
              xmax[ind],
              ymax[ind],
              xbins,
              ybins,
              normalize=normalize,
          )
  
      return (
          x_dist.mean(0),
          x_dist.std(0, ddof=1),
          y_dist.mean(0),
          y_dist.std(0, ddof=1),
      )
  
imports: import numpy
label_desc: Use image node_id 4 for calling a global function with example usage: bootstrap_Cminus(x, y, xmax, ymax, xbins, ybins, Nbootstraps, normalize) and returns: x_dist,  x_dist,  y_dist,  y_dist