code: def test_trivial_vjp(capfd):
      def cond_fun(carry):
          return True
  
      def body_fun(carry):
          return carry
  
      @jax.jit
      @jax.grad
      def run(x):
          a, b = eqxi.while_loop(
              cond_fun,
              body_fun,
              (x, 0.0),
              max_steps=3,
              kind="checkpointed",
          )
          return b
  
      capfd.readouterr()
      assert run(1.0) == 0
      text, _ = capfd.readouterr()
      assert "perturb_val (False, False, False, (True, False))" in text
      assert "symbolic_zero_gradient" not in text
  
imports: import functools
  import timeit
  from typing import Optional
  import equinox
  import equinox.internal
  import jax
  import jax.lax
  import jax.lib
  import jax.numpy
  import jax.random
  import jax.tree_util
  import pytest
  from .helpers import tree_allclose
label_desc: Use image node_id 22 for calling a global function with example usage: test_trivial_vjp(capfd) and returns: True, carry, b