code: def _split_exact(self, midway):  # Create two children
      self._midway = self._top._round(midway)
      # Use splittable PRNGs to generate noise.
      self._set_spawn_key_and_depth()
      generator = np.random.SeedSequence(
          entropy=self._top._entropy,
          spawn_key=(self._spawn_key, self._depth),
          pool_size=self._top._pool_size,
      )
      (
          self._W_seed,
          self._H_seed,
          self._left_a_seed,
          self._right_a_seed,
      ) = generator.generate_state(4)
  
      self._left_child = _Interval(
          start=self._start,
          end=midway,
          parent=self,
          is_left=True,
          top=self._top,
      )
      self._right_child = _Interval(
          start=midway,
          end=self._end,
          parent=self,
          is_left=False,
          top=self._top,
      )
  
imports: import math
  import trampoline
  import warnings
  import numpy
  import torch
  from .None import brownian_base
  from ..settings import LEVY_AREA_APPROXIMATIONS
  from ..types import Scalar, Optional, Tuple, Union, Tensor
label_desc: Use image node_id 11 for calling the _Interval obj's underlying member method code with example usage: obj._split_exact(midway) without return types