code: @Override
  	public ConstantRange applyLow(Constant c, boolean incl) {
  		if (!c.getType().isNumeric())
  			throw new IllegalArgumentException();
  		DoubleConstant cDouble = (DoubleConstant) c.castTo(DOUBLE);
  		if (low.equals(NAN))
  			return this;
  		DoubleConstant l = low;
  		boolean li = lowIncl;
  		if (low.compareTo(cDouble) < 0) {
  			l = cDouble;
  			li = incl;
  		} else if (low.compareTo(cDouble) == 0 && lowIncl == true
  				&& incl == false) {
  			li = false;
  		}
  		return new DoubleConstantRange(l, li, high, highIncl);
  	}
docs: /*
  Constant operations.