code: def test_pushout2(self):
      raise SkipTest("Optimization temporarily disabled")
      x1 = tensor.scalar("x1")
      x2 = tensor.scalar("x2")
      y1 = tensor.scalar("y1")
      y2 = tensor.scalar("y2")
      w1 = tensor.scalar("w1")
      w2 = tensor.scalar("w2")
      c = tensor.iscalar("c")
      x, y = ifelse(c, (x1, y1), (x2, y2), name="f1")
      z = ifelse(x > y, w1, w2, name="f2")
      out = x * z * y
  
      f = theano.function(
          [x1, x2, y1, y2, w1, w2, c], out, allow_input_downcast=True
      )
      assert isinstance(f.maker.fgraph.toposort()[-1].op, IfElse)
      rng = np.random.RandomState(utt.fetch_seed())
      vx1 = rng.uniform()
      vx2 = rng.uniform()
      vy1 = rng.uniform()
      vy2 = rng.uniform()
      vw1 = rng.uniform()
      vw2 = rng.uniform()
      if vx1 > vy1:
          vw = vw1
      else:
          vw = vw2
      assert np.allclose(
          f(vx1, vx2, vy1, vy2, vw1, vw2, 1), vx1 * vy1 * vw
      )
  
      if vx2 > vy2:
          vw = vw1
      else:
          vw = vw2
      assert np.allclose(
          f(vx1, vx2, vy1, vy2, vw1, vw2, 0), vx2 * vy2 * vw
      )
  
imports: from __future__ import absolute_import, print_function, division
  import unittest
  import numpy
  from nose.plugins.skip import SkipTest
  from six.moves import reduce
  import theano
  from theano import tensor
  import theano.ifelse
  from theano.ifelse import IfElse, ifelse
  from theano.tests import unittest_tools
label_desc: Use image node_id 20 for calling the test_ifelse obj's underlying member method code with example usage: obj.test_pushout2() without return types