code: def irfft2(a, s=None, axes=(-2, -1), norm=None):
      """Compute the two-dimensional inverse FFT for real input.
  
      Args:
          a (cupy.ndarray): Array to be transform.
          s (None or tuple of ints): Shape of the output. If ``s`` is not given,
              they are determined from the lengths of the input along the axes
              specified by ``axes``.
          axes (tuple of ints): Axes over which to compute the FFT.
          norm (``"backward"``, ``"ortho"``, or ``"forward"``): Optional keyword
              to specify the normalization mode. Default is ``None``, which is
              an alias of ``"backward"``.
  
      Returns:
          cupy.ndarray:
              The transformed array which shape is specified by ``s`` and type
              will convert to complex if the input is other. If ``s`` is not
              given, the length of final transformed axis of output will be
              `2*(m-1)` where `m` is the length of the final transformed axis of
              the input.
  
      .. seealso:: :func:`numpy.fft.irfft2`
      """
      from cupy.cuda import cufft
  
      func = _default_fft_func(a, s, axes, value_type="C2R")
      return func(a, s, axes, norm, cufft.CUFFT_INVERSE, "C2R")
  
imports: import functools
  import math
  import numpy
  import cupy
  from cupy.fft import config
  from cupy.fft._cache import get_plan_cache
label_desc: Use image node_id 24 for calling a global function with example usage: irfft2(a, s, axes, norm) and returns: func