code: def cast_f16_f32_schedule(cast_func, in_layout_str, out_layout_str):
      """Schedule for f16 to f32 cast: top level function"""
      (
          f32_layout_transform_func,
          split_factor,
      ) = get_layout_transform_for_f32(out_layout_str)
      f16_layout_transform_func = get_layout_transform_fn(in_layout_str)
      if in_layout_str == "nhwc-8h2w32c2w-2d":
          return cast_f16_f32_stir_schedule_nhwc(
              cast_func,
              f16_layout_transform_func,
              f32_layout_transform_func,
              split_factor,
          )
      if in_layout_str == "nc-1024c-2d":
          return cast_f16_f32_stir_schedule_nc(
              cast_func,
              f16_layout_transform_func,
              f32_layout_transform_func,
              split_factor,
          )
      raise RuntimeError(
          f"Unexpected input_layout, output_layout '{input_layout, output_layout}'"
      )
  
file_path: tvm/python/tvm/topi/hexagon/slice_ops/cast.py
imports: from tvm import te
  from tvm import tir
  from ..utils import get_layout_transform_fn
label_desc: Use image node_id 5 for calling a global function with example usage: cast_f16_f32_schedule(cast_func, in_layout_str, out_layout_str) and returns: cast_f16_f32_stir_schedule_nhwc, cast_f16_f32_stir_schedule_nc