public void mul(BigFloat other) {
		if (this.isNaN() || other.isNaN()) {
			this.makeQuietNaN();
			return;
		}
		if ((this.isZero() && other.isInfinite()) || (this.isInfinite() && other.isZero())) {
			this.makeQuietNaN();
			return;
		}

		if (this.isInfinite() || other.isInfinite()) {
			this.kind = FloatKind.INFINITE;
			this.sign *= other.sign;
			return;
		}

		// this and other are finite
		this.sign *= other.sign;
		this.unscaled = this.unscaled.multiply(other.unscaled);
		this.scale += other.scale - fracbits + 1;

		this.scaleUpTo(fracbits + 1);
		this.internalRound(false);
	}
{@code this*=other}

@param other a BigFloat
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/pcode/floatformat/BigFloat.java