code: def test_lazy_eval():
      bs = 10
      iters = 5
      kwargs = {
          "batch_size": bs,
          "num_threads": 4,
          "device_id": 0,
          "seed": 42,
      }
  
      @pipeline_def(enable_conditionals=True, **kwargs)
      def if_pipe():
          boolean_input_0 = fn.random.coin_flip(
              dtype=types.DALIDataType.BOOL, seed=6
          )
          boolean_input_1 = fn.random.coin_flip(
              dtype=types.DALIDataType.BOOL, seed=9
          )
          if boolean_input_0:
              val = boolean_input_1 == False  # noqa: E712
          else:
              val = boolean_input_0
          return val
  
      @pipeline_def(enable_conditionals=True, **kwargs)
      def expr_pipe():
          boolean_input_0 = fn.random.coin_flip(
              dtype=types.DALIDataType.BOOL, seed=6
          )
          boolean_input_1 = fn.random.coin_flip(
              dtype=types.DALIDataType.BOOL, seed=9
          )
          val = (
              boolean_input_0 and boolean_input_1 == False
          )  # noqa: E712
          return val
  
      pipes = [if_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 5 for calling a global function with example usage: test_lazy_eval() and returns: val, val