code: @Override
    public double doubleValue() {
      @SuppressWarnings("cast")
      double dValue = (double) (value & UNSIGNED_MASK);
      if (value < 0) {
        dValue += 0x1.0p63;
      }
      return dValue;
    }
docs: Returns the value of this {@code UnsignedLong} as a {@code double}, analogous to a widening
  primitive conversion from {@code long} to {@code double}, and correctly rounded.