Module CostDomain.BasicCost
include module type of BO.Polynomials.NonNegativePolynomial with type NonNegativePolynomial.t = BO.Polynomials.NonNegativePolynomial.t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
type degree_with_term= (BO__Polynomials.UnreachableTraces.t, BO__Polynomials.Degree.t * BO__Polynomials.NonNegativeNonTopPolynomial.t, BO__Polynomials.TopTraces.t) Absint.AbstractDomain.Types.below_above
val pp_hum : Stdlib.Format.formatter -> t -> unitval leq : lhs:t -> rhs:t -> boolval top : tval of_unreachable : IBase.Location.t -> tval zero : tval one : ?autoreleasepool_trace:BO.Bounds.BoundTrace.t -> unit -> tval of_int_exn : ?autoreleasepool_trace:BO.Bounds.BoundTrace.t -> int -> tval is_symbolic : t -> boolval is_top : t -> boolval is_unreachable : t -> boolval is_zero : t -> boolval is_one : t -> boolval of_non_negative_bound : ?degree_kind:BO__Polynomials.DegreeKind.t -> BO.Bounds.NonNegativeBound.t -> tval of_func_ptr : BO.Symb.SymbolPath.partial -> IBase.Location.t -> tval plus : t -> t -> tval mult_unreachable : t -> t -> tval mult : t -> t -> tval mult_loop : iter:t -> body:t -> tval min_default_left : t -> t -> tval subst : IR.Procname.t -> IBase.Location.t -> t -> BO.Bounds.Bound.eval_sym -> BO.FuncPtr.Set.eval_func_ptrs -> (IR.Procname.t -> t option) -> default_closure_cost:BO.Ints.NonNegativeInt.t -> tval degree : t -> BO__Polynomials.Degree.t optionval degree_str : t -> stringval compare_by_degree : t -> t -> intval pp_degree : only_bigO:bool -> Stdlib.Format.formatter -> degree_with_term -> unitval polynomial_traces : ?is_autoreleasepool_trace:bool -> t -> Absint.Errlog.loc_traceval encode : t -> stringval decode : string -> tval get_degree_with_term : t -> degree_with_term