private String toSymbol(Map<String, String> argumentBindings) {
        if (argumentBindings.isEmpty()) return name;

        StringBuilder ret = new StringBuilder();
        ret.append(name).append("@");
        for (Map.Entry<String,String> argumentBinding : argumentBindings.entrySet()) {
            ret.append(Long.toHexString(symbolCode(argumentBinding.getKey() + "=" + argumentBinding.getValue())));
            ret.append(".");
        }
        if (ret.toString().endsWith("."))
            ret.setLength(ret.length()-1);
        return ret.toString();
    }
Returns a symbolic string that represents this function with a given
list of arguments. The arguments are mangled by hashing the string
representation of the argument expressions.

@param  argumentBindings the bound arguments to include in the symbolic name.
@return the symbolic name for an instance of this function
searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/ExpressionFunction.java