code: def evaluate(
      X: np.ndarray, A: np.ndarray, M: np.ndarray
  ) -> np.ndarray:
      """Test function taken from Oakley and O'Hagan (2004) (see Eqn. 21 in [1])
  
  
      References
      ----------
      .. [1] Oakley, J.E., O’Hagan, A., 2004.
             Probabilistic sensitivity analysis of complex models: a Bayesian approach.
             Journal of the Royal Statistical Society: Series B
             (Statistical Methodology) 66, 751–769.
             https://doi.org/10.1111/j.1467-9868.2004.05304.x
      """
      a1, a2, a3 = A
  
      num_ins = X.shape[0]
      Y = np.zeros(num_ins)
      for i in range(num_ins):
          x_i = X[i]
          Y[i] = (
              a1 @ x_i
              + a2 @ np.sin(x_i)
              + a3 @ np.cos(x_i)
              + x_i.T @ (M @ x_i)
          )
  
          a3.T.dot(np.cos(X[0]))
  
      return Y
  
label_desc: Use image node_id 1 for calling a global function with example usage: evaluate(X, A, M) and returns: Y