code: def _convert_inputs_to_reads(
      nsteps: int,
      num_res: int,
      jaxpr: core.Jaxpr,
      loop_invar_res: Sequence[bool],
  ) -> core.Jaxpr:
      assert not jaxpr.constvars, "Jaxpr should not have constvars"
  
      @lu.wrap_init
      def eval_jaxpr(i, *refs):
          residual_refs, orig_refs = split_list(refs, [num_res])
          residual_vals = [
              r[()] if loop_invar else r[i]
              for r, loop_invar in zip(residual_refs, loop_invar_res)
          ]
          () = core.eval_jaxpr(jaxpr, (), *residual_vals, i, *orig_refs)
          return []
  
      res_val_avals, (i_aval,), orig_ref_avals = split_list(
          [v.aval for v in jaxpr.invars], [num_res, 1]
      )
      res_ref_avals: list[core.AbstractValue] = [
          AbstractRef(aval)
          if loop_invar
          else AbstractRef(  # pytype: disable=attribute-error
              core.ShapedArray(
                  (
                      nsteps,
                      *aval.shape,
                  ),  # pytype: disable=attribute-error
                  aval.dtype,
              )
          )  # pytype: disable=attribute-error
          for aval, loop_invar in zip(res_val_avals, loop_invar_res)
      ]
  
      jaxpr, _, () = pe.trace_to_jaxpr_dynamic(
          eval_jaxpr, [i_aval, *res_ref_avals, *orig_ref_avals]
      )
      return jaxpr
  
imports: from __future__ import annotations
  from collections.abc import Sequence
  import functools
  import operator
  from typing import Any, Callable, Generic, TypeVar
  import jax.numpy
  from jax import lax
  from jax.api_util import flatten_fun_nokwargs
  from jax._src.interpreters import ad
  from jax._src.interpreters import batching
  from jax._src.interpreters import mlir
  from jax._src.interpreters import partial_eval
  from jax.tree_util import tree_flatten, tree_structure, tree_unflatten, treedef_tuple, tree_map, tree_leaves, PyTreeDef
  from jax._src import ad_util
  from jax._src import core
  from jax._src import dispatch
  from jax._src import dtypes
  from jax._src import linear_util
  from jax._src import source_info_util
  from jax._src.state.types import ReadEffect, AbstractRef, StateEffect
  from jax._src.state import discharge
  from jax._src.state import primitives
  from jax._src.state import utils
  from jax._src.state import types
  from jax._src.typing import Array
  from jax._src.util import partition_list, merge_lists, safe_map, safe_zip, split_list, split_dict, weakref_lru_cache
  from jax._src.lax.control_flow import loops
  from jax._src.lax.control_flow.common import _abstractify, _initial_style_jaxpr
label_desc: Use image node_id 18 for calling a global function with example usage: _convert_inputs_to_reads(nsteps, num_res, jaxpr, loop_invar_res) and returns: jaxpr, list