public static long[] calcConstantHash(Instruction instr, long value) {
		long[] tmp = new long[2];
		int count = 0;
		for (PcodeOp op : instr.getPcode(true)) {
			Varnode[] inputs = op.getInputs();
			for (int i = 0; i < inputs.length; i++) {
				if (inputs[i].isConstant() &&
					matchWithPossibleExtension(inputs[i].getOffset(), inputs[i].getSize(), value)) {
					if (count >= tmp.length) {
						long[] newtmp = new long[count + 10];
						for (int j = 0; j < tmp.length; ++j) {
							newtmp[j] = tmp[j];
						}
						tmp = newtmp;
					}
					DynamicHash dynamicHash = new DynamicHash(op, i);
					tmp[count] = dynamicHash.getHash();
					if (tmp[count] != 0) {
						count += 1;
					}
				}
			}
		}
		long[] res = new long[count];
		for (int i = 0; i < count; ++i) {
			res[i] = tmp[i];
		}
		return res;
	}
Given a constant value accessed as an operand by a particular instruction,
calculate a (level 0) hash for (any) corresponding constant varnode
@param instr is the instruction referencing the constant
@param value of the constant
@return array of hash values (may be zero length)
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/pcode/DynamicHash.java