code: def kaiser_bessel_derived_window(
      window_length: int,
      beta: float = 12.0,
      *,
      dtype: Optional[Union[ivy.Dtype, ivy.NativeDtype]] = None,
      out: Optional[ivy.Array] = None,
  ) -> ivy.Array:
      """Compute the Kaiser bessel derived window with window length
      window_length and shape beta.
  
      Parameters
      ----------
      window_length
          an int defining the length of the window.
      beta
          a float used as shape parameter for the window.
      dtype
          data type of the returned array
      out
          optional output array, for writing the result to.
  
      Returns
      -------
      ret
          The array containing the window.
  
      Examples
      --------
      >>> ivy.kaiser_bessel_derived_window(5)
      ivy.array([0.00726415, 0.9999736 , 0.9999736 , 0.00726415])
  
      >>> ivy.kaiser_bessel_derived_window(5, 5)
      ivy.array([0.18493208, 0.9827513 , 0.9827513 , 0.18493208])
      """
      if window_length < 2:
          result = ivy.array([], dtype=dtype)
          if ivy.exists(out):
              ivy.inplace_update(out, result)
          return result
      half_len = window_length // 2
      kaiser_w = ivy.kaiser_window(
          half_len + 1, False, beta, dtype=dtype
      )
      kaiser_w_csum = ivy.cumsum(kaiser_w)
      half_w = ivy.sqrt(kaiser_w_csum[:-1] / kaiser_w_csum[-1:])
      window = ivy.concat((half_w, half_w[::-1]), axis=0)
      result = window.astype(dtype)
      return result
  
imports: from typing import Union, Tuple, Optional, Sequence, Iterable, Generator
  import warnings
  import ivy
  from ivy.utils.backend import current_backend
  from ivy.utils.exceptions import handle_exceptions
  from ivy.func_wrapper import outputs_to_ivy_arrays, handle_nestable, to_native_arrays_and_back, handle_out_argument, infer_dtype, handle_array_like_without_promotion, inputs_to_ivy_arrays, handle_device, handle_backend_invalid, handle_array_function
label_desc: Use image node_id 4 for calling a global function with example usage: kaiser_bessel_derived_window(window_length, beta) and returns: result, result