code: def test_closure_convert_custom_jvp():
      @eqx.filter_custom_jvp
      def call(f, x):
          return f(x)
  
      @call.def_jvp
      def call_jvp(primals, tangents):
          f, x = primals
          tf, tx = tangents
          out = call(f, x)
          tsum = sum(jnp.sum(x) for x in jtu.tree_leaves((tf, tx)))
          tout = jtu.tree_map(
              lambda x: jnp.full(x.shape, tsum, x.dtype), out
          )
          return out, tout
  
      @jax.grad
      def run(x):
          x1, x2 = x
          f = lambda y: x1 * y + x2
          f = eqx.filter_closure_convert(f, 3.0)
          return call(f, 3.0)
  
      assert tree_allclose(
          run((2.0, 4.0)), (jnp.array(1.0), jnp.array(1.0))
      )
  
imports: import warnings
  from typing import Union
  import equinox
  import jax
  import jax.numpy
  import jax.random
  import jax.tree_util
  import numpy
  import pytest
  from .helpers import tree_allclose
label_desc: Use image node_id 11 for calling a global function with example usage: test_closure_convert_custom_jvp() and returns: f, out,  tout, call