code: def test_lazy_eval_with_oob():
      bs = 10
      iters = 5
      kwargs = {
          "batch_size": bs,
          "num_threads": 4,
          "device_id": 0,
          "seed": 42,
      }
  
      @pipeline_def(enable_conditionals=True, **kwargs)
      def base_pipe():
          return types.Constant(np.bool_(True))
  
      @pipeline_def(enable_conditionals=True, **kwargs)
      def expr_pipe():
          boolean_tensor_input = types.Constant(
              np.bool_([True, True, False]), device="cpu"
          )
          index_input_1 = types.Constant(np.int32(1), device="cpu")
          index_input_42 = types.Constant(np.int32(42), device="cpu")
          # do an oob access in the right subexpression that won't be evaluated.
          val = (
              boolean_tensor_input[index_input_1]
              or boolean_tensor_input[index_input_42]
          )
          return val
  
      pipes = [base_pipe(), expr_pipe()]
      for pipe in pipes:
          pipe.build()
      compare_pipelines(*pipes, bs, iters)
  
file_path: DALI/dali/test/python/conditionals/test_logical_expressions.py
imports: from nvidia.dali.pipeline import pipeline_def
  import nvidia.dali.fn
  import nvidia.dali.types
  from test_utils import compare_pipelines, check_batch
  from nose_utils import assert_raises
  from nose2.tools import params
  import numpy
label_desc: Use image node_id 6 for calling a global function with example usage: test_lazy_eval_with_oob() and returns: types, val