@Override
  public boolean add_simple_constraint_3(IVarAbstraction qv, long I1, long I2, long L) {
    HeapInsIntervalManager im = flowto.get(qv);

    if (im == null) {
      im = new HeapInsIntervalManager();
      flowto.put((HeapInsNode) qv, im);
    }

    return im.add_new_interval(I1, I2, L) != null;
  }
  @Override
  public boolean add_points_to_3(AllocNode obj, long I1, long I2, long L) {
    HeapInsIntervalManager im = pt_objs.get(obj);

    if (im == null) {
      im = new HeapInsIntervalManager();
      pt_objs.put(obj, im);
    }

    SegmentNode p = im.add_new_interval(I1, I2, L);
    if (p != null) {
      new_pts.put(obj, im);
      return true;
    }

    return false;
  }