public MaskedLong invShiftRightLogical(long n) throws SolverException {
		if (n == 0) {
			return this;
		}
		long checkDef = Long.MIN_VALUE >> (n - 1) & val;
		if (checkDef != 0) {
			throw new SolverException(
				"Cannot invert logical right shift where ones appear on the left");
		}
		return new MaskedLong(msk << n, val << n);
	}
Invert a logical right shift of {@code n} positions, that is shift left

<p>
This is different from a normal shift left, in that it inserts unknowns at the right. The
normal left shift inserts zeros. Additionally, if any ones would fall off the left, the
inversion is undefined.

@param n the number of positions
@return the result
@throws SolverException if the inversion is undefined
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/app/plugin/assembler/sleigh/expr/MaskedLong.java