code: def _as_strided_helper(draw):
      x_dtype, x, shape = draw(
          helpers.dtype_and_values(
              available_dtypes=helpers.get_dtypes("numeric"),
              min_num_dims=1,
              ret_shape=True,
          )
      )
      ndim = len(shape)
      numel = x[0].size
      offset = draw(st.integers(min_value=0, max_value=numel - 1))
      numel = numel - offset
      size = draw(
          helpers.get_shape(
              min_num_dims=ndim,
              max_num_dims=ndim,
          ).filter(lambda s: math.prod(s) <= numel)
      )
      stride = draw(
          helpers.get_shape(
              min_num_dims=ndim,
              max_num_dims=ndim,
          ).filter(
              lambda s: all(
                  numel // s_i >= size[i] for i, s_i in enumerate(s)
              )
          )
      )
      return x_dtype, x, size, stride, offset
  
imports: from hypothesis import strategies, assume
  import math
  import numpy
  import ivy_tests.test_ivy.helpers
  import ivy_tests.test_ivy.helpers.globals
  from ivy_tests.test_ivy.helpers import handle_frontend_test, BackendHandler
label_desc: Use image node_id 1 for calling a global function with example usage: _as_strided_helper(draw) and returns: x_dtype,  x,  size,  stride,  offset