code: def get_real_view(shape, strides, offset, mask):
      real_shape = tuple(y - x for x, y in mask) if mask else shape
      offset = offset + sum(
          st * (s - 1) for s, st in zip(real_shape, strides) if st < 0
      )
      real_offset = offset + (
          sum(x * st for (x, _), st in zip(mask, strides))
          if mask
          else 0
      )
      real_real_shape = [s for s, st in zip(real_shape, strides) if st]
      strides = [
          abs(st) if isinstance(st, int) else st for st in strides if st
      ]
      return real_real_shape, strides, real_offset
  
file_path: tinygrad/extra/to_movement_ops.py
imports: from tqdm import tqdm
  import itertools
  from collections import defaultdict
  from typing import List, Tuple, DefaultDict
  from extra.optimization.helpers import load_worlds, ast_str_to_ast
  from tinygrad.ops import MovementOps, BufferOps, LazyOp
  from tinygrad.helpers import prod
  from tinygrad.shape.shapetracker import ShapeTracker
  from tinygrad.shape.symbolic import sym_infer, Node
label_desc: Use image node_id 4 for calling a global function with example usage: get_real_view(shape, strides, offset, mask) and returns: real_real_shape,  strides,  real_offset