private void removeOffsetFromRight(List<JitVal> parts, int offset) {
		JitVal p;
		do {
			p = parts.remove(parts.size() - 1);
			offset -= p.size();
		}
		while (offset > 0);
		if (offset < 0) {
			JitVal np = shaveFromRight(-offset, p);
			parts.add(np);
			offset += np.size();
			assert offset == 0;
		}
	}
Remove {@code amt} bytes from the left of the <em>varnode</em>.

<p>
"Left" is considered with respect to the machine endianness. If it is little endian, then the
byte are shaved from the <em>right</em> of the value. This should be used when getting values
from the state to remove pieces from off-cut values. It should be applied before the pieces
are ordered according to machine endianness.

@param in1Vn the varnode representing the input
@param amt the number of bytes to remove
@param in1 the input (really a value read from the state)
@return the resulting value
Ghidra/Framework/Emulation/src/main/java/ghidra/pcode/emu/jit/analysis/JitDataFlowArithmetic.java