class_docstr: A wrapper around .virtualize.ops that uses var range information to
  simplify ModularIndexing/FloorDiv.
class_docstr_tok: ["A","wrapper","around",".virtualize.ops","that","uses","var","range","information","to","simplify","ModularIndexing\/FloorDiv","."]
code: def __init__(self, inner, var_ranges: VarRanges):
      super().__init__(inner)
      self.name = "SimplifyIndexing"
      self._simplify: Callable[
          [Expr], Expr
      ] = lambda index: V.graph.sizevars.simplify_with_ranges(
          index, var_ranges
      )
  
imports: import functools
  import itertools
  import logging
  from typing import Any, Callable, Dict, Iterable, List, Optional, Set, Tuple, Union
  import sympy
  from sympy import Expr
  from torch.fx.experimental.symbolic_shapes import ShapeEnv
  from torch.utils._sympy.functions import FloorDiv, ModularIndexing
  from torch.utils._sympy.value_ranges import bound_sympy
  from .utils import sympy_subs, sympy_symbol, VarRanges
  from .virtualized import V
label_desc: Use image node_id 1 to create a new SimplifyIndexing object from inherited base class: V with example: obj = SimplifyIndexing(inner, var_ranges)