<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _save_results(options, module, core_results, fit_results):
 """ Save results of analysis as tables and figures Parameters options : dict Option names and values for analysis module : str Module that contained function used to generate core_results core_results : dataframe, array, value, list of tuples Results of main analysis fit_results : list or None Results of comparing emp analysis to models, None if not applicable """


    logging.info("Saving all results")

    # Use custom plot format
    mpl.rcParams.update(misc.rcparams.ggplot_rc)

    # Make run directory
    os.makedirs(options['run_dir'])

    # Write core results
    _write_core_tables(options, module, core_results)

    # Write additional results if analysis from emp
    if module == 'emp':
        _write_subset_index_file(options, core_results)

    # Write model/data comparison if models were given
    if fit_results:
        models = options['models'].replace(' ','').split(';')
        for i, core_result in enumerate(core_results):
            _write_fitted_params(i, models, options, fit_results)
            _write_test_statistics(i, models, options, fit_results)
            _write_comparison_plot_table(i, models, options,
                                         core_results, fit_results)