code: def _2d_test_function(x, xp):
      # Franke's test function.
      # domain ~= (0, 1) X (0, 1), range ~= (0.0, 1.2)
      x1, x2 = x[:, 0], x[:, 1]
      term1 = 0.75 * xp.exp(
          -((9 * x1 - 2) ** 2) / 4 - (9 * x2 - 2) ** 2 / 4
      )
      term2 = 0.75 * xp.exp(
          -((9 * x1 + 1) ** 2) / 49 - (9 * x2 + 1) / 10
      )
      term3 = 0.5 * xp.exp(
          -((9 * x1 - 7) ** 2) / 4 - (9 * x2 - 3) ** 2 / 4
      )
      term4 = -0.2 * xp.exp(-((9 * x1 - 4) ** 2) - (9 * x2 - 7) ** 2)
      y = term1 + term2 + term3 + term4
      return y
  
imports: import pickle
  import pytest
  import warnings
  import numpy
  from numpy.linalg import LinAlgError
  import cupy
  import cupyx
  from cupy import testing
  import cupyx.scipy.interpolate
  from cupyx.scipy.interpolate._rbfinterp import _AVAILABLE, _SCALE_INVARIANT, _NAME_TO_MIN_DEGREE, NAME_TO_FUNC, _monomial_powers, polynomial_matrix, kernel_matrix
label_desc: Use image node_id 5 for calling a global function with example usage: _2d_test_function(x, xp) and returns: y