code: def _as_strided_helper(draw):
      dtype, x = draw(
          helpers.dtype_and_values(min_num_dims=1, max_num_dims=5)
      )
      x = x[0]
      itemsize = x.itemsize
      shape = draw(helpers.get_shape(min_num_dims=1, max_num_dims=5))
      new_ndim = len(shape)
      strides = draw(
          st.lists(
              st.integers(min_value=1, max_value=16),
              min_size=new_ndim,
              max_size=new_ndim,
          ).filter(
              lambda x: all(
                  x[i] % itemsize == 0 for i in range(new_ndim)
              )
          )
      )
      assume(_check_bounds(x.shape, shape, strides, itemsize))
      return dtype, x, shape, strides
  
imports: from hypothesis import strategies, assume
  import hypothesis.extra.numpy
  import numpy
  import ivy
  import ivy_tests.test_ivy.helpers
  from ivy_tests.test_ivy.helpers import handle_test, create_concatenable_arrays_dtypes
  from ivy.functional.ivy.experimental.manipulation import _check_bounds
  from ivy_tests.test_ivy.test_functional.test_core.test_manipulation import _get_splits
label_desc: Use image node_id 1 for calling a global function with example usage: _as_strided_helper(draw) and returns: dtype,  x,  shape,  strides