code: def approx_fhess_p(x0, p, fprime, epsilon, *args):
      # calculate fprime(x0) first, as this may be cached by ScalarFunction
      f1 = fprime(*((x0,) + args))
      f2 = fprime(*((x0 + epsilon * p,) + args))
      return (f2 - f1) / epsilon
  
imports: import warnings
  import sys
  from numpy import atleast_1d, eye, argmin, zeros, shape, squeeze, asarray, sqrt, Inf, asfarray, isinf
  import numpy
  from .linesearch import line_search_wolfe1, line_search_wolfe2, line_search_wolfe2, LineSearchWarning
  from ._numdiff import approx_derivative
  from scipy._lib._util import getfullargspec_no_self
  from scipy._lib._util import MapWrapper
  from scipy.optimize._differentiable_functions import ScalarFunction, FD_METHODS
label_desc: Use image node_id 16 for calling a global function with example usage: approx_fhess_p(x0, p, fprime, epsilon) and returns: unknown