code: def _get_assumptions(t):
          
  
          if t.op in ('__le__', '__lt__', 'ULE', 'ULT'):
              return [ t.args[0] >= 0 ]
          elif t.op in ('__ge__', '__gt__', 'UGE', 'UGT'):
              return [ t.args[0] <= 2**len(t.args[0])-1 ]
          elif t.op in ('SLE', 'SLT'):
              return [ _all_operations.SGE(t.args[0], -(1 << (len(t.args[0])-1))) ]
          elif t.op in ('SGE', 'SGT'):
              return [ _all_operations.SLE(t.args[0], (1 << (len(t.args[0])-1)) - 1) ]
          else:
              return [ ]
docs: Given a constraint, _get_assumptions() returns a set of constraints that are implicitly
          assumed to be true. For example, `x <= 10` would return `x >= 0`.