code: def _split_helper(draw):
      dtypes, values, shape = draw(
          helpers.dtype_and_values(
              available_dtypes=helpers.get_dtypes("valid"),
              min_num_dims=2,
              max_num_dims=4,
              min_dim_size=2,
              max_dim_size=4,
              ret_shape=True,
          )
      )
      axis = draw(st.sampled_from(range(len(shape))))
      num_eles = shape[axis]
      splits = [i for i in range(1, num_eles + 1) if num_eles % i == 0]
      num_splits = draw(st.sampled_from(splits))
      return dtypes, values, num_splits, axis
  
imports: from hypothesis import strategies
  import math
  import ivy_tests.test_ivy.helpers
  from ivy_tests.test_ivy.helpers import handle_frontend_test
  from ivy_tests.test_ivy.test_functional.test_experimental.test_core.test_manipulation import _get_dtype_values_k_axes_for_rot90
  from ivy_tests.test_ivy.test_frontends.test_torch.test_miscellaneous_ops import _get_repeat_interleaves_args
label_desc: Use image node_id 8 for calling a global function with example usage: _split_helper(draw) and returns: dtypes,  values,  num_splits,  axis