# Pastebin EJhjTajP def test_bound_addition_bug(self): ops = """ [p0] i0 = strlen(p0) # bound [0, inf) i5 = int_add(i0, 100) # should be (-inf, inf) due to overflow, but intbounds thinks it should be [100, inf)! i1 = int_ge(i0, 0) # thus it removes the guard guard_true(i1) [] jump(p0) """ expected = """ [p0] i0 = strlen(p0) i5 = int_add(i0, 100) i1 = int_ge(i0, 0) guard_true(i1) [] jump(p0) """ self.optimize_strunicode_loop(ops, expected)