code: def _unsigned_bounds(self):
          
  
          ssplit = self._ssplit()
          if len(ssplit) == 1:
              lb = ssplit[0].lower_bound
              ub = ssplit[0].upper_bound
  
              return [ (lb, ub) ]
          elif len(ssplit) == 2:
              # ssplit[0] is on the left hemisphere, and ssplit[1] is on the right hemisphere
  
              lb_1 = ssplit[0].lower_bound
              ub_1 = ssplit[0].upper_bound
  
              lb_2 = ssplit[1].lower_bound
              ub_2 = ssplit[1].upper_bound
  
              return [ (lb_1, ub_1), (lb_2, ub_2) ]
          else:
              raise Exception('WTF')
docs: Get lower bound and upper bound for `self` in unsigned arithmetic.
  
          :return: a list of (lower_bound, upper_bound) tuples.