view = torch.ops.aten.view(add, [-1])
          add_ = torch.ops.aten.add_(view, 1);  view = None
          return add
  >>> print(f_no_mutations_traced.code)



  def forward(self, a_1):
      add = torch.ops.aten.add(a_1, 1);  a_1 = None
      view = torch.ops.aten.view(add, [-1]);  add = None
      add_1 = torch.ops.aten.add(view, 1);  view = None
      view_1 = torch.ops.aten.view(add_1, [2]);  add_1 = None
      return view_1

  >>> print(f_no_mutations_and_views_traced.code)



  def forward(self, a_1):
      add = torch.ops.aten.add(a_1, 1);  a_1 = None
      view_copy = torch.ops.aten.view_copy(add, [-1]);  add = None
      add_1 = torch.ops.aten.add(view_copy, 1);  view_copy = None
      view_copy_1 = torch.ops.aten.view_copy(add_1, [2]);  add_1 = None
      return view_copy_1


  >>> # A function that mutates its input tensor
  >>> def f(a):
  ...     b = a.view(-1)
  ...     b.add_(1)
  ...     return a
  ...
