@Override
	protected Stream<AssemblyResolvedPatterns> resolve(AssemblyResolvedPatterns fromRight,
			Collection<AssemblyResolvedError> errors) {
		try (DbgCtx dc = DBG.start("Resolving " + terminal)) {
			AssemblyResolution sol = solveNumeric();
			if (sol.isError()) {
				errors.add((AssemblyResolvedError) sol);
				return Stream.of();
			}
			if (sol.isBackfill()) {
				AssemblyResolvedPatterns combined =
					fromRight.combine((AssemblyResolvedBackfill) sol);
				return Stream.of(combined.withRight(fromRight));
			}
			AssemblyResolution combined = fromRight.combine((AssemblyResolvedPatterns) sol);
			if (combined == null) {
				errors.add(factory.newErrorBuilder()
						.error("Pattern/operand conflict")
						.description("Resolving " + terminal)
						.build());
				return Stream.of();
			}
			AssemblyResolvedPatterns pats = (AssemblyResolvedPatterns) combined;
			// Do not take constructor from right
			return Stream.of(pats.withRight(fromRight).withConstructor(null));
		}
	}
Solve the operand's defining expression set equal to the desired value

@return the resolved patterns, an error, or a backfill
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/app/plugin/assembler/sleigh/sem/AssemblyOperandState.java