private static Varnode combineLogicOrOperation(VarnodeOperation op, AddressFactory addrFactory) {
		Varnode[] outerInputValues = op.getInputValues();
		if (!outerInputValues[1].isConstant() || !(outerInputValues[0] instanceof VarnodeOperation)) {
			return null;
		}
		PcodeOp outerPcodeOp = op.getPCodeOp();
		VarnodeOperation innerOp = (VarnodeOperation) outerInputValues[0];
		PcodeOp innerPcodeOp = innerOp.getPCodeOp();
		Varnode[] innerInputValues = innerOp.getInputValues();
		if (outerPcodeOp.getOpcode() != innerPcodeOp.getOpcode() ||
			!innerInputValues[1].isConstant()) {
			return null;
		}
		long outerConst = getUnsignedOffset(outerInputValues[1], outerInputValues[1].getSize());
		long innerConst = getUnsignedOffset(innerInputValues[1], innerInputValues[1].getSize());
		Varnode newConst =
			new Varnode(addrFactory.getConstantAddress(outerConst | innerConst),
				outerInputValues[1].getSize());
		return new VarnodeOperation(outerPcodeOp, new Varnode[] { innerInputValues[0], newConst });
	}
Generate simplified operation
@param pcodeOp pcode operation
@param values values associated with pcodeOp inputs
@return operation output result or simplification of an operation.
Ghidra/Features/Base/src/main/java/ghidra/util/state/ResultsState.java