code: def hsplit(input, indices_or_sections=None, /):
      if isinstance(indices_or_sections, (list, tuple, ivy.Array)):
          if input.ndim == 1:
              indices_or_sections = (
                  ivy.diff(
                      indices_or_sections,
                      prepend=[0],
                      append=[input.shape[0]],
                  )
                  .astype(ivy.int8)
                  .to_list()
              )
          else:
              indices_or_sections = (
                  ivy.diff(
                      indices_or_sections,
                      prepend=[0],
                      append=[input.shape[1]],
                  )
                  .astype(ivy.int8)
                  .to_list()
              )
      return tuple(ivy.hsplit(input, indices_or_sections))
  
imports: import ivy
  from ivy.func_wrapper import with_unsupported_dtypes
  from ivy.functional.frontends.torch.func_wrapper import to_ivy_arrays_and_back, numpy_to_torch_style_args, to_ivy_shape
  import ivy.functional.frontends.torch
label_desc: Use image node_id 12 for calling a global function with example usage: hsplit() and returns: tuple