private void optimize(Constructor ct) {
		OptimizeRecord currec;
		MapSTL<Long, OptimizeRecord> recs = new ComparableMapSTL<>();
		int numsections = ct.getNumSections();
		do {
			recs.clear();
			for (int i = -1; i < numsections; ++i) {
				optimizeGather1(ct, recs, i);
				optimizeGather2(ct, recs, i);
			}
			currec = findValidRule(ct, recs);
			if (currec != null) {
				applyOptimization(ct, currec);
			}
		}
		while (currec != null);
		checkUnusedTemps(ct, recs);
	}
Checks {@code ct} to see whether p-code section contains an {@link OpTpl} which
uses a varnode in the unique space which is larger than {@link SleighBase#MAX_UNIQUE_SIZE}.
@param ct constructor to check
@param ctpl is the specific p-code section
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/pcodeCPort/slgh_compile/ConsistencyChecker.java