code: def as_strided(x, arg):
      shape, stride, offset = arg
      return np.ndarray(
          shape,
          x.dtype,
          buffer=np.require(x, requirements="C"),
          offset=offset * x.dtype.itemsize,
          strides=tuple(y * x.dtype.itemsize for y in stride),
      )
  
file_path: tinygrad/tinygrad/runtime/ops_cpu.py
imports: import numpy
  from typing import Callable, Dict, Tuple
  from tinygrad.helpers import flat_mv
  from tinygrad.ops import BufferOps, UnaryOps, BinaryOps, TernaryOps, ReduceOps, MovementOps, Op
  from tinygrad.device import Interpreted, Allocator
label_desc: Use image node_id 3 for calling a global function with example usage: as_strided(x, arg) and returns: np