code: def _todense_jvp(primals, tangents, *, tree):
      assert not isinstance(tangents[0], ad.Zero)
      assert all(isinstance(t, ad.Zero) for t in tangents[1:])
      primals_out = todense_p.bind(*primals, tree=tree)
      tangents_out = todense_p.bind(
          tangents[0], *primals[1:], tree=tree
      )
      return primals_out, tangents_out
  
imports: from __future__ import annotations
  from functools import partial
  import operator
  from typing import Optional, Union
  import jax
  from jax import tree_util
  from jax.experimental.sparse._base import JAXSparse
  from jax.experimental.sparse.bcoo import BCOO
  from jax.experimental.sparse.bcsr import BCSR
  from jax.experimental.sparse.coo import COO
  from jax.experimental.sparse.csr import CSR, CSC
  from jax.experimental.sparse.util import _coo_extract
  from jax.interpreters import mlir
  from jax._src import core
  from jax._src import dtypes
  from jax._src.interpreters import ad
  from jax._src.interpreters import batching
  from jax._src.typing import Array, DTypeLike, Shape
label_desc: Use image node_id 4 for calling a global function with example usage: _todense_jvp(primals, tangents) and returns: primals_out,  tangents_out