def reduce_min(x, axis = None): return reduce(prims.minimum, x, axis = axis)
def reduce_max(x, axis = None): return reduce(prims.maximum, x, axis = axis)
def builtin_sum(x, axis = None): return reduce(prims.add, x, init = 0, axis = axis)
def builtin_all(x, axis = None): return reduce(builtin_and, x, axis = axis, init = True)
def builtin_any(x, axis=None): return reduce(builtin_or, x, axis = axis, init = False)
def prod(x, axis=None): return reduce(prims.multiply, x, init=true, axis=axis)
def prod(x, axis=None): return reduce(prims.multiply, x, init=true, axis = axis)