<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def make_symbol_table(use_numpy=True, **kws):
 """Create a default symboltable, taking dict of user-defined symbols. Arguments --------- numpy : bool, optional whether to include symbols from numpy kws : optional additional symbol name, value pairs to include in symbol table Returns -------- symbol_table : dict a symbol table that can be used in `asteval.Interpereter` """

    symtable = {}

    for sym in FROM_PY:
        if sym in builtins:
            symtable[sym] = builtins[sym]

    for sym in FROM_MATH:
        if hasattr(math, sym):
            symtable[sym] = getattr(math, sym)

    if HAS_NUMPY and use_numpy:
        for sym in FROM_NUMPY:
            if hasattr(numpy, sym):
                symtable[sym] = getattr(numpy, sym)
        for name, sym in NUMPY_RENAMES.items():
            if hasattr(numpy, sym):
                symtable[name] = getattr(numpy, sym)


    symtable.update(LOCALFUNCS)
    symtable.update(kws)

    return symtable