function renderFullInt(x) {
if (Number.isInteger(x) && !Number.isSafeInteger(x)) {
const floats = new Float64Array([x]);
const bytes = new Uint8Array(floats.buffer);
const sign = bytes[7] >> 7 ? -1 : 1;
let exponent = ((bytes[7] & 0x7f) << 4 | bytes[6] >> 4) - 0x3ff;
bytes[7] = 0x43;
bytes[6] = 0x30 | (bytes[6] & 0xf);
const uint = floats[0];
const expRemainder = exponent - 52;
console.assert(exponent > 0);
return BigNumber(2).pow(expRemainder).times(uint*sign).toString(10);
}
return String(x);
}