public BigFloat decodeBigFloat(BigInteger encoding) {
		boolean sgn = extractSign(encoding);
		int sign = sgn ? -1 : 1;
		BigInteger frac = extractFractionalCode(encoding);
		int exp = extractExponentCode(encoding);
		if (exp == 0) { // subnormals
			// NOTE: 80-bit (size=10) encoding is implementation dependant
			// See: https://en.wikipedia.org/wiki/Extended_precision
			if (frac.signum() == 0) {
				return BigFloat.zero(effective_frac_size, exp_size, sign);
			}
			return new BigFloat(effective_frac_size, exp_size, FloatKind.FINITE, sign, frac,
				1 - bias);
		}
		else if (exp == maxexponent) {
			// NOTE: 80-bit (size=10) encoding is implementation dependant
			// See: https://en.wikipedia.org/wiki/Extended_precision
			if (frac.signum() == 0) { // Floating point infinity
				return BigFloat.infinity(effective_frac_size, exp_size, sign);
			}
			return BigFloat.quietNaN(effective_frac_size, exp_size, sign);
		}

		if (jbitimplied) {
			frac = frac.setBit(frac_size);
		}
		return new BigFloat(effective_frac_size, exp_size, FloatKind.FINITE, sign, frac,
			exp - bias);
	}
Decode {@code encoding} to a SmallFloatData using this format.

NB: this method should not be used if {@link #size}>8

@param encoding the encoding
@return the decoded value as a SmallFloatData
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/pcode/floatformat/FloatFormat.java