code: def _spsolve_jvp_lhs(data_dot, data, indices, indptr, b, **kwds):
      # d/dM M^-1 b = M^-1 M_dot M^-1 b
      p = spsolve(data, indices, indptr, b, **kwds)
      q = sparse.csr_matvec_p.bind(
          data_dot,
          indices,
          indptr,
          p,
          shape=(indptr.size - 1, len(b)),
          transpose=False,
      )
      return -spsolve(data, indices, indptr, q, **kwds)
  
imports: from __future__ import annotations
  from typing import Union, Callable
  import functools
  import jax
  import jax.numpy
  from jax.experimental import sparse
  from jax.interpreters import mlir
  from jax.interpreters import xla
  from jax._src import core
  from jax._src.interpreters import ad
  from jax._src.lib import gpu_solver
  import numpy
  from scipy.sparse import csr_matrix, linalg
label_desc: Use image node_id 16 for calling a global function with example usage: _spsolve_jvp_lhs(data_dot, data, indices, indptr, b) and returns: unknown