code: def inplace_decrement(
      x: Union[ivy.Array, torch.Tensor],
      val: Union[ivy.Array, torch.Tensor],
  ) -> ivy.Array:
      (x_native, val_native), _ = ivy.args_to_native(x, val)
      x_native.data -= val_native
      if ivy.is_ivy_array(x):
          x.data = x_native
      else:
          x = ivy.Array(x_native)
      return x
  
imports: from functools import reduce
  from numbers import Number
  from operator import mul
  from typing import Optional, Union, Sequence, Callable, List, Tuple
  import numpy
  import torch
  import ivy
  from ivy.func_wrapper import with_unsupported_dtypes, _update_torch_views
  from .None import backend_version, is_variable
  from ...ivy.general import _broadcast_to
label_desc: Use image node_id 17 for calling a global function with example usage: inplace_decrement(x, val) and returns: x