@Override
	public MaskedLong computeRight(MaskedLong lval, MaskedLong goal) throws SolverException {
		long acc = 0;
		long bit = 1;
		for (int i = 0; i < 64; i++) {
			if (lval.shiftRight(i).agrees(goal)) {
				acc |= bit;
			}
			bit <<= 1;
		}
		if (Long.bitCount(acc) == 1) {
			return MaskedLong.fromLong(Long.numberOfTrailingZeros(acc));
		}
		throw new SolverException(
			"Cannot solve for the right shift amount: " + goal + " = " + lval + " >> R");
	}
Solves expressions of the form {@code A >> B}
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/app/plugin/assembler/sleigh/expr/RightShiftExpressionSolver.java