code: def test_reverse_indexing():
      import numpy.array_api as np
  
      C, T, B = 2, 3, 5
      # G = GPU, batch-like varaible
      G = 4
      H = 7
      W = 9
  
      arr_gtbc = (
          +arange_at_position(np, 4, 0, G) * 1000
          + arange_at_position(np, 4, 1, T) * 100
          + arange_at_position(np, 4, 2, B) * 10
          + arange_at_position(np, 4, 3, C) * 1
      )
  
      t_indices_gbhw = (
          np.reshape(np.arange(G * B * H * W), (G, B, H, W)) % T
      )
  
      result = einindex(
          "g b c h w <- g t b c, [t] g b h w",
          arr_gtbc,
          [t_indices_gbhw],
      )
  
      result_manual = result * 0
      for g in range(G):
          for b in range(B):
              for c in range(C):
                  for h in range(H):
                      for w in range(W):
                          t = t_indices_gbhw[g, b, h, w]
                          result_manual[g, b, c, h, w] = arr_gtbc[
                              g, t, b, c
                          ]
  
      assert np.all(result == result_manual)
  
file_path: einops/einops/experimental/indexing.py
imports: from typing import List, Union, TypeVar, Tuple
  from einops import EinopsError
label_desc: Use image node_id 6 for calling a global function with example usage: test_reverse_indexing() without return types