code: def interp(
      x: torch.Tensor, xp: torch.Tensor, fp: torch.Tensor
  ) -> torch.Tensor:
      """One-dimensional linear interpolation for monotonically increasing sample points.
  
      Returns the one-dimensional piecewise linear interpolant to a function with
      given discrete data points :math:`(xp, fp)`, evaluated at :math:`x`.
  
      This is confirmed to be a correct implementation.
      See https://github.com/pytorch/pytorch/issues/1552#issuecomment-979998307
  
      Args:
          x: the :math:`x`-coordinates at which to evaluate the interpolated
              values.
          xp: the :math:`x`-coordinates of the data points, must be increasing.
          fp: the :math:`y`-coordinates of the data points, same length as `xp`.
  
      Returns:
          the interpolated values, same size as `x`.
      """
      i = torch.clip(
          torch.searchsorted(xp, x, right=True), 1, len(xp) - 1
      )
  
      return (fp[i - 1] * (xp[i] - x) + fp[i] * (x - xp[i - 1])) / (
          xp[i] - xp[i - 1]
      )
  
label_desc: Use image node_id 2 for calling a global function with example usage: interp(x, xp, fp) and returns: unknown