code: def _bnd(self, xloc, cache, **kwargs):
          
          uloc = numpy.zeros((2,)+xloc.shape)
          for dist in evaluation.sorted_dependencies(self, reverse=True):
              if dist not in self.inverse_map:
                  continue
              idx = self.inverse_map[dist]
              xloc_ = xloc[idx].reshape(1, -1)
              uloc[:, idx] = evaluation.evaluate_bound(
                  dist, xloc_, cache=cache)[:, 0]
              cache[dist] = xloc_
          return uloc
docs: Example:
              >>> dist = chaospy.J(chaospy.Uniform(), chaospy.Normal())
              >>> print(dist.range([[-0.5, 0.5, 1.5], [-1, 0, 1]]))
              [[[ 0.   0.   0. ]
                [-7.5 -7.5 -7.5]]
              <BLANKLINE>
               [[ 1.   1.   1. ]
                [ 7.5  7.5  7.5]]]
              >>> d0 = chaospy.Uniform()
              >>> dist = chaospy.J(d0, d0+chaospy.Uniform())
              >>> print(dist.range([[-0.5, 0.5, 1.5], [0, 1, 2]]))
              [[[ 0.   0.   0. ]
                [-0.5  0.5  1.5]]
              <BLANKLINE>
               [[ 1.   1.   1. ]
                [ 0.5  1.5  2.5]]]