Functor Subdivided_evaluation.Make

module Make: 
functor (Value : Abstract_value.External) ->
functor (Loc : Abstract_location.S with type value = Value.t) ->
functor (Valuation : Eval.Valuation with type value = Value.t and type loc = Loc.location) ->
functor (Eva : Forward_Evaluation with type value := Value.t and type valuation := Valuation.t) -> sig .. end
Parameters:
Value : Abstract_value.External
Loc : Abstract_location.S with type value = Value.t
Valuation : Eval.Valuation with type value = Value.t and type loc = Loc.location
Eva : Forward_Evaluation with type value := Value.t and type valuation := Valuation.t

val evaluate : ?valuation:Valuation.t ->
fuel:int ->
Eva.state -> Cil_types.exp -> (Valuation.t * Value.t) Eval.evaluated
val reduce_by_enumeration : Valuation.t ->
Eva.state -> Cil_types.exp -> bool -> Valuation.t Eval.or_bottom