code: def test_value_and_multigrad():
      def complicated_fun(a, b, c, d, e, f=1.1, g=9.0):
          return (
              a + np.sin(b) + np.cosh(c) + np.cos(d) + np.tan(e) + f + g
          )
  
      A = 0.5
      B = -0.3
      C = 0.2
      D = -1.1
      E = 0.7
      F = 0.6
      G = -0.1
  
      dfun = grad(complicated_fun, argnum=[3, 1])
      dfun_both = value_and_grad(complicated_fun, argnum=[3, 1])
  
      check_equivalent(
          complicated_fun(A, B, C, D, E, f=F, g=G),
          dfun_both(A, B, C, D, E, f=F, g=G)[0],
      )
  
      check_equivalent(
          dfun(A, B, C, D, E, f=F, g=G),
          dfun_both(A, B, C, D, E, f=F, g=G)[1],
      )
  
imports: from __future__ import absolute_import
  from builtins import range
  import warnings
  from functools import partial
  import autograd.numpy
  import autograd.numpy.random
  from autograd.test_util import check_grads, check_equivalent
  from autograd.tracer import primitive, isbox
  from autograd import grad, elementwise_grad, jacobian, value_and_grad, hessian_tensor_product, hessian, make_hvp, tensor_jacobian_product, checkpoint, make_jvp, make_ggnvp, grad_and_aux
label_desc: Use image node_id 5 for calling a global function with example usage: test_value_and_multigrad() and returns: unknown