code: func ExponentialBuckets(start, factor float64, count int) []float64 {
  	if count < 1 {
  		panic("ExponentialBuckets needs a positive count")
  	}
  	if start <= 0 {
  		panic("ExponentialBuckets needs a positive start value")
  	}
  	if factor <= 1 {
  		panic("ExponentialBuckets needs a factor greater than 1")
  	}
  	buckets := make([]float64, count)
  	for i := range buckets {
  		buckets[i] = start
  		start *= factor
  	}
  	return buckets
  }
docs: // ExponentialBuckets creates 'count' buckets, where the lowest bucket has an
  // upper bound of 'start' and each following bucket's upper bound is 'factor'
  // times the previous bucket's upper bound. The final +Inf bucket is not counted
  // and not included in the returned slice. The returned slice is meant to be
  // used for the Buckets field of HistogramOpts.
  //
  // The function panics if 'count' is 0 or negative, if 'start' is 0 or negative,
  // or if 'factor' is less than or equal 1.