code: def _fft_batching_rule(
      batched_args, batch_dims, fft_type, fft_lengths
  ):
      (x,) = batched_args
      (bd,) = batch_dims
      x = batching.moveaxis(x, bd, 0)
      return fft(x, fft_type, fft_lengths), 0
  
imports: from __future__ import annotations
  from collections.abc import Sequence
  from functools import partial
  import math
  import numpy
  from jax import lax
  from jax._src import dispatch
  from jax._src.api import jit, linear_transpose, ShapeDtypeStruct
  from jax._src.core import Primitive, is_constant_shape
  from jax._src.interpreters import ad
  from jax._src.interpreters import batching
  from jax._src.interpreters import mlir
  from jax._src.lib.mlir.dialects import hlo
  from jax._src.lib import xla_client
  from jax._src.lib import xla_extension_version
  from jax._src.lib import ducc_fft
  from jax._src.numpy.util import promote_dtypes_complex, promote_dtypes_inexact
label_desc: Use image node_id 11 for calling a global function with example usage: _fft_batching_rule(batched_args, batch_dims, fft_type, fft_lengths) and returns: fft,  int