code: def _handle_comparison(self, truism):
          
  
          # print("COMP:", truism)
  
          is_lt, is_equal, is_unsigned = self.comparison_info[truism.op]
  
          size = len(truism.args[0])
          int_max = 2**size-1 if is_unsigned else 2**(size-1)-1
          int_min = -2**(size-1)
  
          left_min = self._min(truism.args[0], signed=not is_unsigned)
          left_max = self._max(truism.args[0], signed=not is_unsigned)
          right_min = self._min(truism.args[1], signed=not is_unsigned)
          right_max = self._max(truism.args[1], signed=not is_unsigned)
  
          bound_max = right_max if is_equal else (right_max-1 if is_lt else right_max+1)
          bound_min = right_min if is_equal else (right_min-1 if is_lt else right_min+1)
  
          if is_lt and bound_max < int_min:
              # if the bound max is negative and we're unsigned less than, we're fucked
              raise ClaripyBalancerUnsatError()
          elif not is_lt and bound_min > int_max:
              # if the bound min is too big, we're fucked
              raise ClaripyBalancerUnsatError()
  
          current_min = int_min
          current_max = int_max
  
          if is_lt:
              current_max = min(int_max, left_max, bound_max)
              self._add_upper_bound(truism.args[0], current_max)
          else:
              current_min = max(int_min, left_min, bound_min)
              self._add_lower_bound(truism.args[0], current_min)
docs: Handles all comparisons.