double lDouble = toDouble(); double rDouble = rValue.toDouble();  return new DoubleValue(toDouble() - rValue.toDouble());
if (isLongConvertible() && rValue.isLongConvertible()) return LongValue.create(toLong() - rValue.toLong()); return DoubleValue.create(toDouble() - rValue.toDouble());
  public Value sub(Value rValue)  {    double lDouble = toDouble();    double rDouble = rValue.toDouble();    return new DoubleValue(toDouble() - rValue.toDouble());  }