Each `Analysis_config.t` specifies a regression run by `Core_bench`. This module also provides several typical regressions that one might want to run.

`type t`````
`val create : responder:Variable.t ‑> predictors:Variable.t list ‑> ?⁠bootstrap_trials:int ‑> ?⁠r_square:bool ‑> ?⁠regression_name:string ‑> unit ‑> t`
`val with_error_estimation : ?⁠bootstrap_trials:int ‑> t ‑> t`

For any analysis `t`, return a new `t` that includes error estimation

`val nanos_vs_runs : t`

`nanos_vs_runs` predicts nanos using runs. In this regression and all of the ones below, no error estimate is computed.

`val cycles_vs_runs : t`

`cycles_vs_runs` predicts cycles using runs.

`val nanos : predictors:Variable.t list ‑> t`

`nanos ~predictors` estimates nanos using specified `predictors`.

`val cycles : predictors:Variable.t list ‑> t`

similar to `nanos`

`val allocations_vs_runs : t list`

`allocations_vs_runs` estimates minor allocations, major allocations and promotoions in terms of runs and overhead.

`val gc_vs_runs : t list`

`allocations_vs_runs` estimates minor collections, major collections and compations in terms of runs.

`val default : t list`

A laundry list of several typical regressions: `nanos_vs_runs`, `allocations_vs_runs` and `gc_vs_runs`.