error = (nGrain, multiplier) => {
if (!Number.isInteger(nGrain)) {throw new Error("Invalid nGrain")}
const grain = BigInt(nGrain) * 10n ** 18n;
const dGrain = decimal(grain.toString())
const naive = decimal(Math.floor(Number(grain) * multiplier))
const actual = dGrain.mul(decimal(multiplier))
const error = naive.sub(actual)
return error
}