code: def test_nested_with_assignment(dev, input, pred_0, pred_1):
      def f(input, pred_0, pred_1):
          to_assign = input * -5
          if pred_0:
              if pred_1:
                  output = input + 10
              else:
                  output = to_assign
          else:
              output = input + 3000
          return output
  
      generic_execute(
          f, [input, pred_0, pred_1], [{"device": dev}, {}, {}]
      )
  
imports: from nvidia.dali.pipeline import pipeline_def, experimental
  import nvidia.dali.fn
  import nvidia.dali.types
  from nvidia.dali.types import SampleInfo
  from nvidia.dali import _conditionals
  from nvidia.dali.data_node import DataNode
  import numpy
  import os
  from test_utils import check_batch, compare_pipelines
  from nose_utils import assert_raises
  from test_utils import get_dali_extra_path
  from nose2.tools import params
  import itertools
label_desc: Use image node_id 19 for calling a global function with example usage: test_nested_with_assignment(dev, input, pred_0, pred_1) and returns: output