public PcodeProgram programFor(Varnode outArg, List<Varnode> inArgs,
			PcodeUseropLibrary<?> library) {
		List<Varnode> args = new ArrayList<>(inArgs.size() + 1);
		args.add(outArg);
		args.addAll(inArgs);
		return cacheByArgs.computeIfAbsent(args,
			a -> SleighProgramCompiler.compileUserop(language, name, params, body, library, a));
	}
Get the p-code program implementing this userop for the given arguments and library.

<p>
This will compile and cache a program for each new combination of arguments seen.

@param outArg the output operand, if applicable
@param inArgs the input operands
@param library the complete userop library
@return the p-code program to be fed to the same executor as invoked this userop, but in a
        new frame
Ghidra/Framework/Emulation/src/main/java/ghidra/pcode/exec/SleighPcodeUseropDefinition.java