code: def irfft_grad(get_args, rfft_fun, ans, x, *args, **kwargs):
      axes, gs, norm = get_args(x, *args, **kwargs)
      vs = vspace(x)
      gvs = vspace(ans)
      check_no_repeated_axes(axes)
      if gs is None:
          gs = [gvs.shape[i] for i in axes]
      check_even_shape(gs)
  
      # gs is the full fft shape
      # s is the compressed shape
      s = list(gs)
      s[-1] = s[-1] // 2 + 1
  
      def vjp(g):
          r = match_complex(
              x, truncate_pad((rfft_fun(g, *args, **kwargs)), vs.shape)
          )
          fac = make_rfft_factors(axes, vs.shape, s, gs, norm)
          r = anp.conj(r) * fac
          return r
  
      return vjp
  
file_path: autograd/autograd/numpy/fft.py
imports: from __future__ import absolute_import
  from builtins import zip
  import numpy.fft
  from .numpy_wrapper import wrap_namespace
  from .numpy_vjps import match_complex
  from .None import numpy_wrapper
  from autograd.extend import primitive, defvjp, vspace
label_desc: Use image node_id 3 for calling a global function with example usage: irfft_grad(get_args, rfft_fun, ans, x) and returns: vjp, r