src/ResolvExpr/ResolveAssertions.cc
void finalizeAssertions( ResnState& resn, PruneMap & pruneThresholds, AltList& out ) {
		// prune if cheaper alternative for same key has already been generated
		std::string resKey = pruneKey( resn.alt );
		auto it = pruneThresholds.find( resKey );
		if ( it != pruneThresholds.end() ) {
			if ( it->second < resn.costs ) return;
		} else {
			pruneThresholds.emplace_hint( it, resKey, resn.costs );
		}

		// replace resolution slots with inferred params, add to output
		PassVisitor<InferMatcher> matcher{ resn.inferred };
		resn.alt.expr = resn.alt.expr->acceptMutator( matcher );
		out.emplace_back( resn.alt );
	}
/// Replace resnSlots with inferParams and add alternative to output list, if meets pruning
/// threshold.
Replace resnSlots with inferParams and add alternative to output list, if meets pruning
threshold.
Replace resnSlots with inferParams and add alternative to output list if meets pruning threshold .
void finalizeAssertions( ResnState& resn, PruneMap & pruneThresholds, AltList& out ) {
		std::string resKey = pruneKey( resn.alt );
		auto it = pruneThresholds.find( resKey );
		if ( it != pruneThresholds.end() ) {
			if ( it->second < resn.costs ) return;
		} else {
			pruneThresholds.emplace_hint( it, resKey, resn.costs );
		}
		PassVisitor<InferMatcher> matcher{ resn.inferred };
		resn.alt.expr = resn.alt.expr->acceptMutator( matcher );
		out.emplace_back( resn.alt );
	}
void finalizeAssertions ( ResnState & resn , PruneMap & pruneThresholds , AltList & out ) { std :: string resKey = pruneKey ( resn . alt ) ; auto it = pruneThresholds . find ( resKey ) ; if ( it != pruneThresholds . end ( ) ) { if ( it -> second < resn . costs ) return ; } else { pruneThresholds . emplace_hint ( it , resKey , resn . costs ) ; } PassVisitor < InferMatcher > matcher { resn . inferred } ; resn . alt . expr = resn . alt . expr -> acceptMutator ( matcher ) ; out . emplace_back ( resn . alt ) ; }
Replace resnSlots with inferParams and add alternative to output list, if meets pruning
threshold.
Replace resnSlots with inferParams and add alternative to output list if meets pruning threshold .
// prune if cheaper alternative for same key has already been generated // replace resolution slots with inferred params, add to output