code: def test_extensions(tmp_path, backend_id):
      # Register the optimization passes (if any)
      backend = hls4ml.backends.get_backend(backend_id)
      ip_flow = hls4ml.model.flow.get_flow(backend.get_default_flow())
      # Add the pass into the main optimization flow
      optimize_flow = [
          flow for flow in ip_flow.requires if ":optimize" in flow
      ][0]
      optmizer_name = f"{backend_id.lower()}:remove_duplicate_reverse"
      backend.register_pass(
          optmizer_name, RemoveDuplicateReverse, flow=optimize_flow
      )
  
      # Register template passes for the given backend
      backend.register_template(HReverseConfigTemplate)
      backend.register_template(HReverseFunctionTemplate)
  
      # Register HLS implementation
      p = tmp_path / "nnet_reverse.h"
      p.write_text(rev_hls)
      backend.register_source(p)
  
      # Test if it works
      kmodel = tf.keras.models.Sequential(
          [
              tf.keras.layers.Input(shape=(8,)),
              KReverse(),
              tf.keras.layers.ReLU(),
              # These two should be removed by the optimizer
              KReverse(),
              KReverse(),
          ]
      )
  
      x = np.random.randint(-5, 5, (8,), dtype="int32")
      kres = kmodel(x)
  
      hmodel = hls4ml.converters.convert_from_keras_model(
          kmodel,
          output_dir=str(
              test_root_path / f"hls4mlprj_extensions_{backend_id}"
          ),
          backend=backend_id,
          io_type="io_parallel",
          hls_config={
              "Model": {"Precision": "ap_int<6>", "ReuseFactor": 1}
          },
      )
  
      hmodel.compile()
      hres = hmodel.predict(x.astype("float32"))
  
      # Check if the optimizer pass was applied
      assert optmizer_name in hmodel._applied_flows[0][optimize_flow]
  
      # Remove flow from
      hls4ml.model.flow.update_flow(
          optimize_flow, remove_optimizers=[optmizer_name]
      )
  
      np.testing.assert_array_equal(kres, hres)
  
imports: from pathlib import Path
  import numpy
  import pytest
  import tensorflow
  import hls4ml
label_desc: Use image node_id 3 for calling a global function with example usage: test_extensions(tmp_path, backend_id) without return types