30     auto& program = translationUnit.getProgram();
 
   33     struct name_functors : 
public NodeMapper {
 
   35         mutable std::vector<std::pair<std::string, Own<IntrinsicFunctor>>> functorNames{};
 
   36         name_functors() = 
default;
 
   38         std::vector<std::pair<std::string, Own<IntrinsicFunctor>>> getFunctorNames() {
 
   39             return std::move(functorNames);
 
   44             if (
auto* inf = 
dynamic_cast<IntrinsicFunctor*
>(node.get())) {
 
   46                     std::stringstream newName;
 
   47                     newName << 
"@multires_" << 
count++;
 
   49                     return mk<Variable>(newName.str());
 
   57     for (
auto* clause : program.getClauses()) {
 
   59         clause->apply(update);
 
   60         for (
auto& [name, func] : update.getFunctorNames()) {