code: def name(
      g: NativeFunctionsViewGroup,
      *,
      is_reverse: bool,
      include_namespace: bool,
      reapply_views: Optional[bool] = None,
  ) -> str:
      if reapply_views is None:
          # reapply_views is only important for the fwd lambda,
          # since we always plumb the runtime "reapply_views" argument into the reverse function.
          assert is_reverse
      if is_reverse:
          return reverse_name(g.view, include_namespace)
      # in the forward case, we just directly call into the at::_ops API (so we always need the namespace)
      assert include_namespace
      assert g.view_copy is not None
      api_name = (
          g.view.func.name.unambiguous_name()
          if reapply_views
          else g.view_copy.func.name.unambiguous_name()
      )
      return f"at::_ops::{api_name}::call"
  
file_path: pytorch/torchgen/api/functionalization.py
imports: from typing import List, Optional
  from torchgen.api import dispatcher
  from torchgen.api.types import BaseCppType, BaseCType, Binding, boolT, ConstRefCType, CType, longT, NamedCType, tensorT
  from torchgen.model import Argument, BaseTy, BaseType, FunctionSchema, NativeFunction, NativeFunctionsViewGroup
label_desc: Use image node_id 1 for calling a global function with example usage: name(g) and returns: str, api_name, str, reverse_name