code: def smooth_l1_loss(
      input,
      label,
      reduction="mean",
      delta=1.0,
      name=None,
  ):
      sum_diff = ivy.abs(input - label).astype(label.dtype)
      condition = sum_diff <= delta
      out = ivy.where(
          condition,
          0.5 * ivy.pow(ivy.abs(input - label), 2).astype(label.dtype),
          (delta * ivy.abs(ivy.abs(input - label))).astype(label.dtype)
          - (0.5 * ivy.pow(delta, 2)).astype(label.dtype),
      )
      if reduction == "none":
          pass
      elif reduction == "mean":
          out = ivy.mean(out)
      elif reduction == "sum":
          out = ivy.sum(out)
      return out.astype(label.dtype)
  
imports: import ivy
  from ivy.func_wrapper import with_supported_dtypes
  import ivy.functional.frontends.paddle
  from ivy.utils.exceptions import handle_exceptions
  from ivy.functional.frontends.paddle.func_wrapper import inputs_to_ivy_arrays, to_ivy_arrays_and_back
label_desc: Use image node_id 16 for calling a global function with example usage: smooth_l1_loss(input, label, reduction, delta, name) and returns: out