code: def test_dependent_initvals(self):
      with pm.Model() as pmodel:
          L = pm.Uniform("L", 0, 1, initval=0.5)
          U = pm.Uniform("U", lower=9, upper=10, initval=9.5)
          B1 = pm.Uniform("B1", lower=L, upper=U, initval=5)
          B2 = pm.Uniform("B2", lower=L, upper=U, initval=(L + U) / 2)
          ip = pmodel.initial_point(random_seed=0)
          assert ip["L_interval__"] == 0
          assert ip["U_interval__"] == 0
          assert ip["B1_interval__"] == 0
          assert ip["B2_interval__"] == 0
  
          # Modify initval of L and re-evaluate
          pmodel.rvs_to_initial_values[U] = 9.9
          ip = pmodel.initial_point(random_seed=0)
          assert ip["B1_interval__"] < 0
          assert ip["B2_interval__"] == 0
      pass
  
imports: import cloudpickle
  import numpy
  import pytensor
  import pytensor.tensor
  import pytest
  from pytensor.tensor.random.op import RandomVariable
  import pymc
  from pymc.distributions.distribution import moment
  from pymc.initial_point import make_initial_point_fn, make_initial_point_fns_per_chain
label_desc: Use image node_id 2 for calling the TestInitvalEvaluation obj's underlying member method code with example usage: obj.test_dependent_initvals() without return types