diff --git a/src/plugins/value/engine/evaluation.mli b/src/plugins/value/engine/evaluation.mli
index c950639322f840292c8941a22e664272b3fa4209..638cf44f01d5c74c96ed57c0b18631f14af84cf7 100644
--- a/src/plugins/value/engine/evaluation.mli
+++ b/src/plugins/value/engine/evaluation.mli
@@ -47,10 +47,14 @@ module type S = sig
         for the expression [expr], and [valuation] contains all the intermediate
         results of the evaluation.
 
-      The [valuation] argument is a cache of already computed expressions.
-      It is empty by default.
-      The [reduction] argument allows deactivating the backward reduction
-      performed after the forward evaluation. *)
+      Optional arguments are:
+      - [valuation] is a cache of already computed expressions; empty by default.
+      - [reduction] is true by default, but allows deactivating the backward
+        reduction performed after the forward evaluation.
+      - [subdivnb] is the maximum number of subdivisions performed on non-linear
+        expressions: if a lvalue occurs several times in an expression, its
+        value can be split up to [subdivnb] times to gain more precision.
+        Set to the value of the option -eva-subdivide-non-linear by default. *)
   val evaluate :
     ?valuation:Valuation.t -> ?reduction:bool -> ?subdivnb:int ->
     state -> exp -> (Valuation.t * value) evaluated
@@ -60,7 +64,9 @@ module type S = sig
       Also returns the alarms resulting of the evaluation of the lvalue location,
       and a valuation containing all the intermediate results of the evaluation.
       The [valuation] argument is a cache of already computed expressions.
-      It is empty by default. *)
+      It is empty by default.
+      [subdivnb] is the maximum number of subdivisions performed on non-linear
+      expressions. *)
   val copy_lvalue :
     ?valuation:Valuation.t -> ?subdivnb:int ->
     state -> lval -> (Valuation.t * value flagged_value) evaluated
@@ -70,7 +76,9 @@ module type S = sig
       but evaluates the lvalue into a location and its type.
       The boolean [for_writing] indicates whether the lvalue is evaluated to be
       read or written. It is useful for the emission of the alarms, and for the
-      reduction of the location. *)
+      reduction of the location.
+      [subdivnb] is the maximum number of subdivisions performed on non-linear
+      expressions (including the possible pointer and offset of the lvalue). *)
   val lvaluate :
     ?valuation:Valuation.t -> ?subdivnb:int -> for_writing:bool ->
     state -> lval -> (Valuation.t * loc * typ) evaluated