sig
  module Ci95 :
    sig
      type t
      val left_endpoint : Analysis_result.Ci95.t -> float
      val right_endpoint : Analysis_result.Ci95.t -> float
      val create :
        left_endpoint:float -> right_endpoint:float -> Analysis_result.Ci95.t
      val ci95_abs_err :
        Analysis_result.Ci95.t -> estimate:float -> float * float
      val ci95_rel_err :
        Analysis_result.Ci95.t -> estimate:float -> float * float
      val bad_ci95 : Analysis_result.Ci95.t
      val t_of_sexp : Sexplib.Sexp.t -> Analysis_result.Ci95.t
      val sexp_of_t : Analysis_result.Ci95.t -> Sexplib.Sexp.t
    end
  module Coefficient :
    sig
      type t
      val predictor : Analysis_result.Coefficient.t -> Variable.t
      val estimate : Analysis_result.Coefficient.t -> float
      val set_ci95 :
        Analysis_result.Coefficient.t ->
        Analysis_result.Ci95.t option -> unit
      val ci95 :
        Analysis_result.Coefficient.t -> Analysis_result.Ci95.t option
      val has_ci95 : Analysis_result.Coefficient.t -> bool
      val has_non_trivial_estimate :
        show_all_values:bool ->
        Analysis_result.Coefficient.t -> responder:Variable.t -> bool
      val create :
        predictor:Variable.t ->
        estimate:float ->
        ?ci95:Analysis_result.Ci95.t -> unit -> Analysis_result.Coefficient.t
      val t_of_sexp : Sexplib.Sexp.t -> Analysis_result.Coefficient.t
      val sexp_of_t : Analysis_result.Coefficient.t -> Sexplib.Sexp.t
    end
  module Regression :
    sig
      type t
      val responder : Analysis_result.Regression.t -> Variable.t
      val r_square : Analysis_result.Regression.t -> float option
      val has_r_square : Analysis_result.Regression.t -> bool
      val coefficients :
        Analysis_result.Regression.t -> Analysis_result.Coefficient.t array
      val key : Analysis_result.Regression.t -> int
      val predictors : Analysis_result.Regression.t -> Variable.t array
      val regression_name : Analysis_result.Regression.t -> string option
      val create :
        responder:Variable.t ->
        ?r_square:float ->
        coefficients:Analysis_result.Coefficient.t array ->
        regression_name:string option -> unit -> Analysis_result.Regression.t
    end
  type t
  val name : Analysis_result.t -> string
  val sample_count : Analysis_result.t -> int
  val largest_run : Analysis_result.t -> int
  val regressions : Analysis_result.t -> Analysis_result.Regression.t array
  val create :
    name:string ->
    sample_count:int ->
    largest_run:int ->
    regressions:Analysis_result.Regression.t array -> Analysis_result.t
  val find_key :
    Analysis_result.t -> int -> Analysis_result.Regression.t option
  val t_of_sexp : Sexplib.Sexp.t -> Analysis_result.t
  val sexp_of_t : Analysis_result.t -> Sexplib.Sexp.t
end