diff --git a/src/plugins/aorai/tests/ya/oracle/serial.res.oracle b/src/plugins/aorai/tests/ya/oracle/serial.res.oracle
index b0da18f60ad52bf9071d86a5ca80ae0d8198b8cd..a65af24e91b5ef5559fd860b117a766a2491a90b 100644
--- a/src/plugins/aorai/tests/ya/oracle/serial.res.oracle
+++ b/src/plugins/aorai/tests/ya/oracle/serial.res.oracle
@@ -180,6 +180,18 @@ enum aorai_OpStatusList {
 };
 /* compiler builtin: 
    void Frama_C_show_aorai_state(...);   */
+/*@ ghost extern int __fc_heap_status; */
+
+/*@
+axiomatic dynamic_allocation {
+  predicate is_allocable{L}(ℤ n) 
+    reads __fc_heap_status;
+  
+  axiom never_allocable{L}:
+    ∀ ℤ i; i < 0 ∨ i > 18446744073709551615UL ⇒ ¬is_allocable(i);
+  
+  }
+ */
 extern int volatile Frama_C_entropy_source __attribute__((__unused__));
 
 /*@ requires order: min ≤ max;
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts2192.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts2192.res.oracle
index b17dc493cc2f314c2dec1e370a69f44f9481b406..9c4b73c17c064d76c062b9ca7f7b1fde4872ea7c 100644
--- a/src/plugins/e-acsl/tests/bts/oracle/bts2192.res.oracle
+++ b/src/plugins/e-acsl/tests/bts/oracle/bts2192.res.oracle
@@ -2,13 +2,13 @@
 [e-acsl] Warning: annotating undefined function `atoi':
   the generated program may miss memory instrumentation
   if there are memory-related annotations.
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:79: Warning: 
+  no assigns clause generated for function valid_read_string because pointers as arguments is not yet supported
+[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:277: Warning: 
+  E-ACSL construct `logic functions or predicates performing read accesses'
+  is not yet supported.
+  Ignoring annotation.
 [e-acsl] FRAMAC_SHARE/libc/stdlib.h:78: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
 [e-acsl] translation done in project "e-acsl".
-[eva:alarm] FRAMAC_SHARE/libc/stdlib.h:79: Warning: 
-  function __e_acsl_assert_register_ulong: precondition data->values == \null ||
-                                                        \valid(data->values) got status unknown.
-[eva:alarm] FRAMAC_SHARE/libc/stdlib.h:79: Warning: 
-  function __e_acsl_assert_register_int: precondition data->values == \null ||
-                                                      \valid(data->values) got status unknown.
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts2252.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts2252.res.oracle
index 8e21a5839c9ad6af6a30335d8452cad0233b17a5..1397e624078c0700e7bf18faf078bdeb20a83da9 100644
--- a/src/plugins/e-acsl/tests/bts/oracle/bts2252.res.oracle
+++ b/src/plugins/e-acsl/tests/bts/oracle/bts2252.res.oracle
@@ -1,28 +1,28 @@
 [e-acsl] beginning translation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:379: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:431: Warning: 
   no assigns clause generated for function valid_read_nstring because pointers as arguments is not yet supported
-[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:284: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:280: Warning: 
   E-ACSL construct `labeled \valid_read' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:388: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:440: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:391: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:443: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:378: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:430: Warning: 
   Some assumes clauses could not be translated.
   Ignoring complete and disjoint behaviors annotations.
-[e-acsl] FRAMAC_SHARE/libc/string.h:378: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:430: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:389: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:441: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:392: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:444: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2192.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2192.c
index 7db3574598a1c27e47a1159e8259708750fc77b0..85e5bfa8520f649e309f109393b8b7cb208d628f 100644
--- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2192.c
+++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2192.c
@@ -7,86 +7,38 @@
 #include "stdio.h"
 #include "stdlib.h"
 #include "time.h"
-char *__gen_e_acsl_literal_string;
 extern  __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict;
 
-/*@ requires valid_nptr: \valid_read(nptr);
+/*@ requires valid_nptr: valid_read_string(nptr);
     assigns \result;
-    assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
+    assigns \result
+      \from (indirect: nptr), (indirect: *(nptr + (0 .. strlen{Old}(nptr))));
  */
 int __gen_e_acsl_atoi(char const *nptr);
 
 int a;
 char *n = (char *)"134";
-/*@ requires valid_nptr: \valid_read(nptr);
-    assigns \result;
-    assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
- */
-int __gen_e_acsl_atoi(char const *nptr)
-{
-  int __retres;
-  {
-    int __gen_e_acsl_valid_read;
-    __e_acsl_store_block((void *)(& nptr),8UL);
-    __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0};
-    __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)nptr,
-                                                  sizeof(char const),
-                                                  (void *)nptr,
-                                                  (void *)(& nptr));
-    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"nptr",
-                                 (void *)nptr);
-    __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,
-                                   "sizeof(char const)",0,sizeof(char const));
-    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,
-                                 "\\valid_read(nptr)",0,
-                                 __gen_e_acsl_valid_read);
-    __gen_e_acsl_assert_data.blocking = 1;
-    __gen_e_acsl_assert_data.kind = "Precondition";
-    __gen_e_acsl_assert_data.pred_txt = "\\valid_read(nptr)";
-    __gen_e_acsl_assert_data.file = "FRAMAC_SHARE/libc/stdlib.h";
-    __gen_e_acsl_assert_data.fct = "atoi";
-    __gen_e_acsl_assert_data.line = 79;
-    __gen_e_acsl_assert_data.name = "valid_nptr";
-    __e_acsl_assert(__gen_e_acsl_valid_read,& __gen_e_acsl_assert_data);
-    __e_acsl_assert_clean(& __gen_e_acsl_assert_data);
-  }
-  __retres = atoi(nptr);
-  __e_acsl_delete_block((void *)(& nptr));
-  return __retres;
-}
-
-void __e_acsl_globals_init(void)
-{
-  static char __e_acsl_already_run = 0;
-  if (! __e_acsl_already_run) {
-    __e_acsl_already_run = 1;
-    __gen_e_acsl_literal_string = "134";
-    __e_acsl_store_block((void *)__gen_e_acsl_literal_string,sizeof("134"));
-    __e_acsl_full_init((void *)__gen_e_acsl_literal_string);
-    __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string);
-    __e_acsl_store_block((void *)(& n),8UL);
-    __e_acsl_full_init((void *)(& n));
-  }
-  return;
-}
-
-void __e_acsl_globals_clean(void)
-{
-  __e_acsl_delete_block((void *)(& n));
-  return;
-}
-
 int main(int argc, char **argv)
 {
   int __retres;
   __e_acsl_memory_init(& argc,& argv,8UL);
-  __e_acsl_globals_init();
   argc = __gen_e_acsl_atoi((char const *)n);
   a = argc;
   __retres = 0;
-  __e_acsl_globals_clean();
   __e_acsl_memory_clean();
   return __retres;
 }
 
+/*@ requires valid_nptr: valid_read_string(nptr);
+    assigns \result;
+    assigns \result
+      \from (indirect: nptr), (indirect: *(nptr + (0 .. strlen{Old}(nptr))));
+ */
+int __gen_e_acsl_atoi(char const *nptr)
+{
+  int __retres;
+  __retres = atoi(nptr);
+  return __retres;
+}
+
 
diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2252.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2252.c
index b7f66a5f4e92a111c9cce23e2a5931a58bbd29fd..8be695d45b22f463ff59f911800447ce33636a1e 100644
--- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2252.c
+++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2252.c
@@ -134,7 +134,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src,
     __gen_e_acsl_assert_data_2.pred_txt = "\\valid(dest + (0 .. n - 1))";
     __gen_e_acsl_assert_data_2.file = "FRAMAC_SHARE/libc/string.h";
     __gen_e_acsl_assert_data_2.fct = "strncpy";
-    __gen_e_acsl_assert_data_2.line = 380;
+    __gen_e_acsl_assert_data_2.line = 432;
     __gen_e_acsl_assert_data_2.name = "room_nstring";
     __e_acsl_assert(__gen_e_acsl_valid,& __gen_e_acsl_assert_data_2);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2);
@@ -166,7 +166,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src,
     __gen_e_acsl_assert_data_4.pred_txt = "\\valid_read(dest + (0 .. n - 1))";
     __gen_e_acsl_assert_data_4.file = "FRAMAC_SHARE/libc/string.h";
     __gen_e_acsl_assert_data_4.fct = "strncpy";
-    __gen_e_acsl_assert_data_4.line = 382;
+    __gen_e_acsl_assert_data_4.line = 434;
     __gen_e_acsl_assert_data_4.name = "separated_guard";
     __e_acsl_assert(__gen_e_acsl_valid_read,& __gen_e_acsl_assert_data_4);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4);
@@ -196,7 +196,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src,
     __gen_e_acsl_assert_data_5.pred_txt = "\\valid_read(src + (0 .. n - 1))";
     __gen_e_acsl_assert_data_5.file = "FRAMAC_SHARE/libc/string.h";
     __gen_e_acsl_assert_data_5.fct = "strncpy";
-    __gen_e_acsl_assert_data_5.line = 382;
+    __gen_e_acsl_assert_data_5.line = 434;
     __gen_e_acsl_assert_data_5.name = "separated_guard";
     __e_acsl_assert(__gen_e_acsl_valid_read_2,& __gen_e_acsl_assert_data_5);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5);
@@ -242,7 +242,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src,
     __gen_e_acsl_assert_data_3.pred_txt = "\\separated(dest + (0 .. n - 1), src + (0 .. n - 1))";
     __gen_e_acsl_assert_data_3.file = "FRAMAC_SHARE/libc/string.h";
     __gen_e_acsl_assert_data_3.fct = "strncpy";
-    __gen_e_acsl_assert_data_3.line = 382;
+    __gen_e_acsl_assert_data_3.line = 434;
     __gen_e_acsl_assert_data_3.name = "separation";
     __e_acsl_assert(__gen_e_acsl_separated,& __gen_e_acsl_assert_data_3);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3);
@@ -277,7 +277,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src,
     __gen_e_acsl_assert_data_6.pred_txt = "\\result == \\old(dest)";
     __gen_e_acsl_assert_data_6.file = "FRAMAC_SHARE/libc/string.h";
     __gen_e_acsl_assert_data_6.fct = "strncpy";
-    __gen_e_acsl_assert_data_6.line = 385;
+    __gen_e_acsl_assert_data_6.line = 437;
     __gen_e_acsl_assert_data_6.name = "result_ptr";
     __e_acsl_assert(__retres == __gen_e_acsl_at,& __gen_e_acsl_assert_data_6);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6);
@@ -324,7 +324,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src,
     __gen_e_acsl_assert_data_7.pred_txt = "\\initialized(\\old(dest) + (0 .. \\old(n) - 1))";
     __gen_e_acsl_assert_data_7.file = "FRAMAC_SHARE/libc/string.h";
     __gen_e_acsl_assert_data_7.fct = "strncpy";
-    __gen_e_acsl_assert_data_7.line = 386;
+    __gen_e_acsl_assert_data_7.line = 438;
     __gen_e_acsl_assert_data_7.name = "initialization";
     __e_acsl_assert(__gen_e_acsl_initialized,& __gen_e_acsl_assert_data_7);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7);
diff --git a/src/plugins/e-acsl/tests/bts/oracle/issue-eacsl-40.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/issue-eacsl-40.res.oracle
index 184cc7c43cb0d75f71518fbf5bb280f1f106c08c..96e87b4281599a62d57423f7c2349dfd86234f62 100644
--- a/src/plugins/e-acsl/tests/bts/oracle/issue-eacsl-40.res.oracle
+++ b/src/plugins/e-acsl/tests/bts/oracle/issue-eacsl-40.res.oracle
@@ -10,7 +10,7 @@
   Ignoring annotation.
 [e-acsl] FRAMAC_SHARE/libc/stdio.h:150: Warning: 
   no assigns clause generated for function valid_read_string because pointers as arguments is not yet supported
-[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:281: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:277: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
diff --git a/src/plugins/e-acsl/tests/builtin/oracle/gen_strcat.c b/src/plugins/e-acsl/tests/builtin/oracle/gen_strcat.c
index 4b7638e94a5dcf4c5ad4f2e4c7a2c40e5efc0da5..a2904448f631c591cc7db3ec068c629ba59df762 100644
--- a/src/plugins/e-acsl/tests/builtin/oracle/gen_strcat.c
+++ b/src/plugins/e-acsl/tests/builtin/oracle/gen_strcat.c
@@ -792,7 +792,7 @@ void __gen_e_acsl_exit(int status)
     __gen_e_acsl_assert_data.pred_txt = "\\false";
     __gen_e_acsl_assert_data.file = "FRAMAC_SHARE/libc/stdlib.h";
     __gen_e_acsl_assert_data.fct = "exit";
-    __gen_e_acsl_assert_data.line = 509;
+    __gen_e_acsl_assert_data.line = 541;
     __gen_e_acsl_assert_data.name = "never_terminates";
     __e_acsl_assert(0,& __gen_e_acsl_assert_data);
     return;
diff --git a/src/plugins/e-acsl/tests/builtin/oracle/gen_strcmp.c b/src/plugins/e-acsl/tests/builtin/oracle/gen_strcmp.c
index 9c35a66cd700e4fb8ceffb736ce91231c9018973..aafae25a51c25baa8bb9bc3555cacf4f0deccc62 100644
--- a/src/plugins/e-acsl/tests/builtin/oracle/gen_strcmp.c
+++ b/src/plugins/e-acsl/tests/builtin/oracle/gen_strcmp.c
@@ -96,19 +96,20 @@ pid_t __gen_e_acsl_fork(void);
     allocates \result;
     
     behavior allocation:
-      assumes can_allocate: is_allocable(strlen(s));
-      ensures allocation: \fresh{Old, Here}(\result,strlen(\old(s)));
+      assumes can_allocate: is_allocable(strlen(s) + 1);
+      ensures allocation: \fresh{Old, Here}(\result,strlen(\old(s)) + 1);
       ensures
         result_valid_string_and_same_contents:
           valid_string(\result) && strcmp(\result, \old(s)) == 0;
       assigns __fc_heap_status, \result;
-      assigns __fc_heap_status \from (indirect: s), __fc_heap_status;
+      assigns __fc_heap_status
+        \from __fc_heap_status, (indirect: *(s + (0 .. strlen{Old}(s))));
       assigns \result
         \from (indirect: *(s + (0 .. strlen{Old}(s)))),
               (indirect: __fc_heap_status);
     
     behavior no_allocation:
-      assumes cannot_allocate: !is_allocable(strlen(s));
+      assumes cannot_allocate: !is_allocable(strlen(s) + 1);
       ensures result_null: \result == \null;
       assigns \result;
       assigns \result \from \nothing;
@@ -133,19 +134,20 @@ __inline static void fail_ncomp(int cond, char *fmt, int l, int r)
     allocates \result;
     
     behavior allocation:
-      assumes can_allocate: is_allocable(strlen(s));
-      ensures allocation: \fresh{Old, Here}(\result,strlen(\old(s)));
+      assumes can_allocate: is_allocable(strlen(s) + 1);
+      ensures allocation: \fresh{Old, Here}(\result,strlen(\old(s)) + 1);
       ensures
         result_valid_string_and_same_contents:
           valid_string(\result) && strcmp(\result, \old(s)) == 0;
       assigns __fc_heap_status, \result;
-      assigns __fc_heap_status \from (indirect: s), __fc_heap_status;
+      assigns __fc_heap_status
+        \from __fc_heap_status, (indirect: *(s + (0 .. strlen{Old}(s))));
       assigns \result
         \from (indirect: *(s + (0 .. strlen{Old}(s)))),
               (indirect: __fc_heap_status);
     
     behavior no_allocation:
-      assumes cannot_allocate: !is_allocable(strlen(s));
+      assumes cannot_allocate: !is_allocable(strlen(s) + 1);
       ensures result_null: \result == \null;
       assigns \result;
       assigns \result \from \nothing;
@@ -171,7 +173,7 @@ char *__gen_e_acsl_strdup(char const *s)
       __gen_e_acsl_assert_data_4.pred_txt = "\\result == \\null";
       __gen_e_acsl_assert_data_4.file = "FRAMAC_SHARE/libc/string.h";
       __gen_e_acsl_assert_data_4.fct = "strdup";
-      __gen_e_acsl_assert_data_4.line = 498;
+      __gen_e_acsl_assert_data_4.line = 580;
       __gen_e_acsl_assert_data_4.name = "no_allocation/result_null";
       __e_acsl_assert(__retres == (char *)0,& __gen_e_acsl_assert_data_4);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4);
@@ -357,7 +359,7 @@ void __gen_e_acsl_exit(int status)
     __gen_e_acsl_assert_data.pred_txt = "\\false";
     __gen_e_acsl_assert_data.file = "FRAMAC_SHARE/libc/stdlib.h";
     __gen_e_acsl_assert_data.fct = "exit";
-    __gen_e_acsl_assert_data.line = 509;
+    __gen_e_acsl_assert_data.line = 541;
     __gen_e_acsl_assert_data.name = "never_terminates";
     __e_acsl_assert(0,& __gen_e_acsl_assert_data);
     return;
@@ -379,7 +381,7 @@ void __gen_e_acsl_abort(void)
     __gen_e_acsl_assert_data.pred_txt = "\\false";
     __gen_e_acsl_assert_data.file = "FRAMAC_SHARE/libc/stdlib.h";
     __gen_e_acsl_assert_data.fct = "abort";
-    __gen_e_acsl_assert_data.line = 496;
+    __gen_e_acsl_assert_data.line = 528;
     __gen_e_acsl_assert_data.name = "never_terminates";
     __e_acsl_assert(0,& __gen_e_acsl_assert_data);
     return;
diff --git a/src/plugins/e-acsl/tests/builtin/oracle/gen_strcpy.c b/src/plugins/e-acsl/tests/builtin/oracle/gen_strcpy.c
index 6f9d70db13712a2040066f398ae45df61fb4fb55..4bdf04acd31d6212bcdc2b2de81a9f28e19b2922 100644
--- a/src/plugins/e-acsl/tests/builtin/oracle/gen_strcpy.c
+++ b/src/plugins/e-acsl/tests/builtin/oracle/gen_strcpy.c
@@ -81,19 +81,20 @@ pid_t __gen_e_acsl_fork(void);
     allocates \result;
     
     behavior allocation:
-      assumes can_allocate: is_allocable(strlen(s));
-      ensures allocation: \fresh{Old, Here}(\result,strlen(\old(s)));
+      assumes can_allocate: is_allocable(strlen(s) + 1);
+      ensures allocation: \fresh{Old, Here}(\result,strlen(\old(s)) + 1);
       ensures
         result_valid_string_and_same_contents:
           valid_string(\result) && strcmp(\result, \old(s)) == 0;
       assigns __fc_heap_status, \result;
-      assigns __fc_heap_status \from (indirect: s), __fc_heap_status;
+      assigns __fc_heap_status
+        \from __fc_heap_status, (indirect: *(s + (0 .. strlen{Old}(s))));
       assigns \result
         \from (indirect: *(s + (0 .. strlen{Old}(s)))),
               (indirect: __fc_heap_status);
     
     behavior no_allocation:
-      assumes cannot_allocate: !is_allocable(strlen(s));
+      assumes cannot_allocate: !is_allocable(strlen(s) + 1);
       ensures result_null: \result == \null;
       assigns \result;
       assigns \result \from \nothing;
@@ -547,19 +548,20 @@ void test_memory_tracking(void)
     allocates \result;
     
     behavior allocation:
-      assumes can_allocate: is_allocable(strlen(s));
-      ensures allocation: \fresh{Old, Here}(\result,strlen(\old(s)));
+      assumes can_allocate: is_allocable(strlen(s) + 1);
+      ensures allocation: \fresh{Old, Here}(\result,strlen(\old(s)) + 1);
       ensures
         result_valid_string_and_same_contents:
           valid_string(\result) && strcmp(\result, \old(s)) == 0;
       assigns __fc_heap_status, \result;
-      assigns __fc_heap_status \from (indirect: s), __fc_heap_status;
+      assigns __fc_heap_status
+        \from __fc_heap_status, (indirect: *(s + (0 .. strlen{Old}(s))));
       assigns \result
         \from (indirect: *(s + (0 .. strlen{Old}(s)))),
               (indirect: __fc_heap_status);
     
     behavior no_allocation:
-      assumes cannot_allocate: !is_allocable(strlen(s));
+      assumes cannot_allocate: !is_allocable(strlen(s) + 1);
       ensures result_null: \result == \null;
       assigns \result;
       assigns \result \from \nothing;
@@ -585,7 +587,7 @@ char *__gen_e_acsl_strdup(char const *s)
       __gen_e_acsl_assert_data_4.pred_txt = "\\result == \\null";
       __gen_e_acsl_assert_data_4.file = "FRAMAC_SHARE/libc/string.h";
       __gen_e_acsl_assert_data_4.fct = "strdup";
-      __gen_e_acsl_assert_data_4.line = 498;
+      __gen_e_acsl_assert_data_4.line = 580;
       __gen_e_acsl_assert_data_4.name = "no_allocation/result_null";
       __e_acsl_assert(__retres == (char *)0,& __gen_e_acsl_assert_data_4);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4);
@@ -771,7 +773,7 @@ void __gen_e_acsl_exit(int status)
     __gen_e_acsl_assert_data.pred_txt = "\\false";
     __gen_e_acsl_assert_data.file = "FRAMAC_SHARE/libc/stdlib.h";
     __gen_e_acsl_assert_data.fct = "exit";
-    __gen_e_acsl_assert_data.line = 509;
+    __gen_e_acsl_assert_data.line = 541;
     __gen_e_acsl_assert_data.name = "never_terminates";
     __e_acsl_assert(0,& __gen_e_acsl_assert_data);
     return;
diff --git a/src/plugins/e-acsl/tests/builtin/oracle/gen_strlen.c b/src/plugins/e-acsl/tests/builtin/oracle/gen_strlen.c
index f664123b0263e0f30b360cc8c7c13fb9e86f93dd..e5c67b3fb3b1eb361f97809de5e41f5864b36fbd 100644
--- a/src/plugins/e-acsl/tests/builtin/oracle/gen_strlen.c
+++ b/src/plugins/e-acsl/tests/builtin/oracle/gen_strlen.c
@@ -79,19 +79,20 @@ pid_t __gen_e_acsl_fork(void);
     allocates \result;
     
     behavior allocation:
-      assumes can_allocate: is_allocable(strlen(s));
-      ensures allocation: \fresh{Old, Here}(\result,strlen(\old(s)));
+      assumes can_allocate: is_allocable(strlen(s) + 1);
+      ensures allocation: \fresh{Old, Here}(\result,strlen(\old(s)) + 1);
       ensures
         result_valid_string_and_same_contents:
           valid_string(\result) && strcmp(\result, \old(s)) == 0;
       assigns __fc_heap_status, \result;
-      assigns __fc_heap_status \from (indirect: s), __fc_heap_status;
+      assigns __fc_heap_status
+        \from __fc_heap_status, (indirect: *(s + (0 .. strlen{Old}(s))));
       assigns \result
         \from (indirect: *(s + (0 .. strlen{Old}(s)))),
               (indirect: __fc_heap_status);
     
     behavior no_allocation:
-      assumes cannot_allocate: !is_allocable(strlen(s));
+      assumes cannot_allocate: !is_allocable(strlen(s) + 1);
       ensures result_null: \result == \null;
       assigns \result;
       assigns \result \from \nothing;
@@ -107,19 +108,20 @@ char *__gen_e_acsl_strdup(char const *s);
     allocates \result;
     
     behavior allocation:
-      assumes can_allocate: is_allocable(strlen(s));
-      ensures allocation: \fresh{Old, Here}(\result,strlen(\old(s)));
+      assumes can_allocate: is_allocable(strlen(s) + 1);
+      ensures allocation: \fresh{Old, Here}(\result,strlen(\old(s)) + 1);
       ensures
         result_valid_string_and_same_contents:
           valid_string(\result) && strcmp(\result, \old(s)) == 0;
       assigns __fc_heap_status, \result;
-      assigns __fc_heap_status \from (indirect: s), __fc_heap_status;
+      assigns __fc_heap_status
+        \from __fc_heap_status, (indirect: *(s + (0 .. strlen{Old}(s))));
       assigns \result
         \from (indirect: *(s + (0 .. strlen{Old}(s)))),
               (indirect: __fc_heap_status);
     
     behavior no_allocation:
-      assumes cannot_allocate: !is_allocable(strlen(s));
+      assumes cannot_allocate: !is_allocable(strlen(s) + 1);
       ensures result_null: \result == \null;
       assigns \result;
       assigns \result \from \nothing;
@@ -145,7 +147,7 @@ char *__gen_e_acsl_strdup(char const *s)
       __gen_e_acsl_assert_data_4.pred_txt = "\\result == \\null";
       __gen_e_acsl_assert_data_4.file = "FRAMAC_SHARE/libc/string.h";
       __gen_e_acsl_assert_data_4.fct = "strdup";
-      __gen_e_acsl_assert_data_4.line = 498;
+      __gen_e_acsl_assert_data_4.line = 580;
       __gen_e_acsl_assert_data_4.name = "no_allocation/result_null";
       __e_acsl_assert(__retres == (char *)0,& __gen_e_acsl_assert_data_4);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4);
@@ -331,7 +333,7 @@ void __gen_e_acsl_exit(int status)
     __gen_e_acsl_assert_data.pred_txt = "\\false";
     __gen_e_acsl_assert_data.file = "FRAMAC_SHARE/libc/stdlib.h";
     __gen_e_acsl_assert_data.fct = "exit";
-    __gen_e_acsl_assert_data.line = 509;
+    __gen_e_acsl_assert_data.line = 541;
     __gen_e_acsl_assert_data.name = "never_terminates";
     __e_acsl_assert(0,& __gen_e_acsl_assert_data);
     return;
@@ -353,7 +355,7 @@ void __gen_e_acsl_abort(void)
     __gen_e_acsl_assert_data.pred_txt = "\\false";
     __gen_e_acsl_assert_data.file = "FRAMAC_SHARE/libc/stdlib.h";
     __gen_e_acsl_assert_data.fct = "abort";
-    __gen_e_acsl_assert_data.line = 496;
+    __gen_e_acsl_assert_data.line = 528;
     __gen_e_acsl_assert_data.name = "never_terminates";
     __e_acsl_assert(0,& __gen_e_acsl_assert_data);
     return;
diff --git a/src/plugins/e-acsl/tests/builtin/oracle/strcat.res.oracle b/src/plugins/e-acsl/tests/builtin/oracle/strcat.res.oracle
index 7f0d1b078e515df1319346ac4b3ced1735c9977d..d02d6247e7e134b8e18351ca759fc2f4024258fc 100644
--- a/src/plugins/e-acsl/tests/builtin/oracle/strcat.res.oracle
+++ b/src/plugins/e-acsl/tests/builtin/oracle/strcat.res.oracle
@@ -17,10 +17,10 @@
 [e-acsl] FRAMAC_SHARE/libc/sys/wait.h:89: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:506: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:538: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:508: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:540: Warning: 
   E-ACSL construct `abnormal termination case in behavior'
   is not yet supported.
   Ignoring annotation.
diff --git a/src/plugins/e-acsl/tests/builtin/oracle/strcmp.res.oracle b/src/plugins/e-acsl/tests/builtin/oracle/strcmp.res.oracle
index c5757eeb2476186670ecbd87134e9f890ddc23fd..bb53260a54ca0222e1bf8754fc5faeaed952d866 100644
--- a/src/plugins/e-acsl/tests/builtin/oracle/strcmp.res.oracle
+++ b/src/plugins/e-acsl/tests/builtin/oracle/strcmp.res.oracle
@@ -16,37 +16,37 @@
 [e-acsl] Warning: annotating undefined function `strdup':
   the generated program may miss memory instrumentation
   if there are memory-related annotations.
-[e-acsl] FRAMAC_SHARE/libc/string.h:484: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:564: Warning: 
   E-ACSL construct `\fresh' is not yet supported. Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:484: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:565: Warning: 
   no assigns clause generated for function valid_read_string because pointers as arguments is not yet supported
-[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:281: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:277: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:488: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:569: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:495: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:577: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:484: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:564: Warning: 
   Some assumes clauses could not be translated.
   Ignoring complete and disjoint behaviors annotations.
-[e-acsl] FRAMAC_SHARE/libc/string.h:484: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:564: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:491: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:573: Warning: 
   E-ACSL construct `\fresh' is not yet supported. Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:493: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:575: Warning: 
   no assigns clause generated for function valid_string because pointers as arguments is not yet supported
-[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:278: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:274: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:278: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:274: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
 [e-acsl] FRAMAC_SHARE/libc/unistd.h:850: Warning: 
@@ -58,17 +58,17 @@
 [e-acsl] FRAMAC_SHARE/libc/sys/wait.h:89: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:506: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:538: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:508: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:540: Warning: 
   E-ACSL construct `abnormal termination case in behavior'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:493: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:525: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:495: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:527: Warning: 
   E-ACSL construct `abnormal termination case in behavior'
   is not yet supported.
   Ignoring annotation.
diff --git a/src/plugins/e-acsl/tests/builtin/oracle/strcpy.res.oracle b/src/plugins/e-acsl/tests/builtin/oracle/strcpy.res.oracle
index 03b81f4802fa4f8e3ba5b51f4c87521e71b8e8bd..36773318ccf7f203c260c7eba876974ab4ffd741 100644
--- a/src/plugins/e-acsl/tests/builtin/oracle/strcpy.res.oracle
+++ b/src/plugins/e-acsl/tests/builtin/oracle/strcpy.res.oracle
@@ -11,37 +11,37 @@
 [e-acsl] Warning: annotating undefined function `strdup':
   the generated program may miss memory instrumentation
   if there are memory-related annotations.
-[e-acsl] FRAMAC_SHARE/libc/string.h:484: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:564: Warning: 
   E-ACSL construct `\fresh' is not yet supported. Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:484: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:565: Warning: 
   no assigns clause generated for function valid_read_string because pointers as arguments is not yet supported
-[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:281: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:277: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:488: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:569: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:495: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:577: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:484: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:564: Warning: 
   Some assumes clauses could not be translated.
   Ignoring complete and disjoint behaviors annotations.
-[e-acsl] FRAMAC_SHARE/libc/string.h:484: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:564: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:491: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:573: Warning: 
   E-ACSL construct `\fresh' is not yet supported. Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:493: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:575: Warning: 
   no assigns clause generated for function valid_string because pointers as arguments is not yet supported
-[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:278: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:274: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:278: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:274: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
 [e-acsl] FRAMAC_SHARE/libc/unistd.h:850: Warning: 
@@ -53,10 +53,10 @@
 [e-acsl] FRAMAC_SHARE/libc/sys/wait.h:89: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:506: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:538: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:508: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:540: Warning: 
   E-ACSL construct `abnormal termination case in behavior'
   is not yet supported.
   Ignoring annotation.
diff --git a/src/plugins/e-acsl/tests/builtin/oracle/strlen.res.oracle b/src/plugins/e-acsl/tests/builtin/oracle/strlen.res.oracle
index 312005092277b3411904efc7842a3a6f846f38b4..ac28c649697dc770832a6a04fa11d5428795ea59 100644
--- a/src/plugins/e-acsl/tests/builtin/oracle/strlen.res.oracle
+++ b/src/plugins/e-acsl/tests/builtin/oracle/strlen.res.oracle
@@ -14,37 +14,37 @@
 [e-acsl] Warning: annotating undefined function `strdup':
   the generated program may miss memory instrumentation
   if there are memory-related annotations.
-[e-acsl] FRAMAC_SHARE/libc/string.h:484: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:564: Warning: 
   E-ACSL construct `\fresh' is not yet supported. Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:484: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:565: Warning: 
   no assigns clause generated for function valid_read_string because pointers as arguments is not yet supported
-[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:281: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:277: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:488: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:569: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:495: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:577: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:484: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:564: Warning: 
   Some assumes clauses could not be translated.
   Ignoring complete and disjoint behaviors annotations.
-[e-acsl] FRAMAC_SHARE/libc/string.h:484: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:564: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:491: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:573: Warning: 
   E-ACSL construct `\fresh' is not yet supported. Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:493: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:575: Warning: 
   no assigns clause generated for function valid_string because pointers as arguments is not yet supported
-[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:278: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:274: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:278: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:274: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
 [e-acsl] FRAMAC_SHARE/libc/unistd.h:850: Warning: 
@@ -56,17 +56,17 @@
 [e-acsl] FRAMAC_SHARE/libc/sys/wait.h:89: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:506: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:538: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:508: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:540: Warning: 
   E-ACSL construct `abnormal termination case in behavior'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:493: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:525: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:495: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:527: Warning: 
   E-ACSL construct `abnormal termination case in behavior'
   is not yet supported.
   Ignoring annotation.
diff --git a/src/plugins/e-acsl/tests/concurrency/oracle/gen_parallel_threads.c b/src/plugins/e-acsl/tests/concurrency/oracle/gen_parallel_threads.c
index 0b015a34965af1b60854b2680b95718c1bb533c1..b6d7187eb06f345b6ca05b9050c5228bdc916666 100644
--- a/src/plugins/e-acsl/tests/concurrency/oracle/gen_parallel_threads.c
+++ b/src/plugins/e-acsl/tests/concurrency/oracle/gen_parallel_threads.c
@@ -776,7 +776,7 @@ void __gen_e_acsl_exit(int status)
     __gen_e_acsl_assert_data.pred_txt = "\\false";
     __gen_e_acsl_assert_data.file = "FRAMAC_SHARE/libc/stdlib.h";
     __gen_e_acsl_assert_data.fct = "exit";
-    __gen_e_acsl_assert_data.line = 509;
+    __gen_e_acsl_assert_data.line = 541;
     __gen_e_acsl_assert_data.name = "never_terminates";
     __e_acsl_assert(0,& __gen_e_acsl_assert_data);
     __e_acsl_delete_block((void *)(& status));
diff --git a/src/plugins/e-acsl/tests/concurrency/oracle/gen_threads_debug.c b/src/plugins/e-acsl/tests/concurrency/oracle/gen_threads_debug.c
index 038e1ab49bf714a185ab8ca15229e8be3d610bd8..0c907dc2092684eef4bb405398bbc031da8f396a 100644
--- a/src/plugins/e-acsl/tests/concurrency/oracle/gen_threads_debug.c
+++ b/src/plugins/e-acsl/tests/concurrency/oracle/gen_threads_debug.c
@@ -458,7 +458,7 @@ void __gen_e_acsl_exit(int status)
     __gen_e_acsl_assert_data.pred_txt = "\\false";
     __gen_e_acsl_assert_data.file = "FRAMAC_SHARE/libc/stdlib.h";
     __gen_e_acsl_assert_data.fct = "exit";
-    __gen_e_acsl_assert_data.line = 509;
+    __gen_e_acsl_assert_data.line = 541;
     __gen_e_acsl_assert_data.name = "never_terminates";
     __e_acsl_assert(0,& __gen_e_acsl_assert_data);
     __e_acsl_delete_block((void *)(& status));
diff --git a/src/plugins/e-acsl/tests/concurrency/oracle/parallel_threads.res.oracle b/src/plugins/e-acsl/tests/concurrency/oracle/parallel_threads.res.oracle
index 15de4811925f5db10bf980a8b4578b0ec2855879..b9c6747f9dcc62461730f5687a175fbbec2c27e4 100644
--- a/src/plugins/e-acsl/tests/concurrency/oracle/parallel_threads.res.oracle
+++ b/src/plugins/e-acsl/tests/concurrency/oracle/parallel_threads.res.oracle
@@ -38,16 +38,16 @@
 [e-acsl] FRAMAC_SHARE/libc/unistd.h:1149: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:506: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:538: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:508: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:540: Warning: 
   E-ACSL construct `abnormal termination case in behavior'
   is not yet supported.
   Ignoring annotation.
 [e-acsl] FRAMAC_SHARE/libc/stdio.h:486: Warning: 
   no assigns clause generated for function valid_read_string because pointers as arguments is not yet supported
-[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:281: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:277: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
diff --git a/src/plugins/e-acsl/tests/concurrency/oracle/threads_debug.res.oracle b/src/plugins/e-acsl/tests/concurrency/oracle/threads_debug.res.oracle
index 15de4811925f5db10bf980a8b4578b0ec2855879..b9c6747f9dcc62461730f5687a175fbbec2c27e4 100644
--- a/src/plugins/e-acsl/tests/concurrency/oracle/threads_debug.res.oracle
+++ b/src/plugins/e-acsl/tests/concurrency/oracle/threads_debug.res.oracle
@@ -38,16 +38,16 @@
 [e-acsl] FRAMAC_SHARE/libc/unistd.h:1149: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:506: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:538: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:508: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:540: Warning: 
   E-ACSL construct `abnormal termination case in behavior'
   is not yet supported.
   Ignoring annotation.
 [e-acsl] FRAMAC_SHARE/libc/stdio.h:486: Warning: 
   no assigns clause generated for function valid_read_string because pointers as arguments is not yet supported
-[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:281: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:277: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
diff --git a/src/plugins/e-acsl/tests/format/oracle/fprintf.res.oracle b/src/plugins/e-acsl/tests/format/oracle/fprintf.res.oracle
index e0ab74f6877939800c04eb5fb874710696087aba..2dcda065ad345a25c446f7e441e3437171ce512c 100644
--- a/src/plugins/e-acsl/tests/format/oracle/fprintf.res.oracle
+++ b/src/plugins/e-acsl/tests/format/oracle/fprintf.res.oracle
@@ -23,10 +23,10 @@
 [e-acsl] FRAMAC_SHARE/libc/sys/wait.h:89: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:506: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:538: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:508: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:540: Warning: 
   E-ACSL construct `abnormal termination case in behavior'
   is not yet supported.
   Ignoring annotation.
diff --git a/src/plugins/e-acsl/tests/format/oracle/gen_fprintf.c b/src/plugins/e-acsl/tests/format/oracle/gen_fprintf.c
index 4a33bd3241df783d731134af5c29df82ca0b3ce8..7ea82209ac305bd902f1f1401d7e28553e6cb744 100644
--- a/src/plugins/e-acsl/tests/format/oracle/gen_fprintf.c
+++ b/src/plugins/e-acsl/tests/format/oracle/gen_fprintf.c
@@ -270,7 +270,7 @@ void __gen_e_acsl_exit(int status)
     __gen_e_acsl_assert_data.pred_txt = "\\false";
     __gen_e_acsl_assert_data.file = "FRAMAC_SHARE/libc/stdlib.h";
     __gen_e_acsl_assert_data.fct = "exit";
-    __gen_e_acsl_assert_data.line = 509;
+    __gen_e_acsl_assert_data.line = 541;
     __gen_e_acsl_assert_data.name = "never_terminates";
     __e_acsl_assert(0,& __gen_e_acsl_assert_data);
     return;
diff --git a/src/plugins/e-acsl/tests/format/oracle/gen_printf.c b/src/plugins/e-acsl/tests/format/oracle/gen_printf.c
index 126be8f248f48ba6ae34effa046ec38adb5938bd..3303e73fa2a01ff61f0f5f76a2c3ac0665b3a6c4 100644
--- a/src/plugins/e-acsl/tests/format/oracle/gen_printf.c
+++ b/src/plugins/e-acsl/tests/format/oracle/gen_printf.c
@@ -527,23 +527,21 @@ size_t __gen_e_acsl_strlen(char const *s);
     
     behavior found:
       assumes char_found: strchr(s, c) == \true;
+      ensures result_valid_string: valid_read_string(\result);
       ensures result_char: *\result == (char)\old(c);
       ensures result_same_base: \base_addr(\result) == \base_addr(\old(s));
       ensures
         result_in_length: \old(s) <= \result <= \old(s) + strlen(\old(s));
-      ensures result_valid_string: valid_read_string(\result);
       ensures
-        result_first_occur:
+        result_first_occurrence:
           \forall char *p; \old(s) <= p < \result ==> *p != (char)\old(c);
     
     behavior not_found:
       assumes char_not_found: !(strchr(s, c) == \true);
       ensures result_null: \result == \null;
     
-    behavior default:
-      ensures
-        result_null_or_same_base:
-          \result == \null || \base_addr(\result) == \base_addr(\old(s));
+    complete behaviors not_found, found;
+    disjoint behaviors not_found, found;
  */
 char *__gen_e_acsl_strchr(char const *s, int c);
 
@@ -770,7 +768,7 @@ char *__gen_e_acsl_strcpy(char * restrict dest, char const * restrict src)
     __gen_e_acsl_assert_data_6.pred_txt = "__gen_e_acsl_strcpy_src_size + 1 <= 18446744073709551615";
     __gen_e_acsl_assert_data_6.file = "FRAMAC_SHARE/libc/string.h";
     __gen_e_acsl_assert_data_6.fct = "strcpy";
-    __gen_e_acsl_assert_data_6.line = 367;
+    __gen_e_acsl_assert_data_6.line = 419;
     __gen_e_acsl_assert_data_6.name = "size_lesser_or_eq_than_SIZE_MAX";
     __e_acsl_assert(__gen_e_acsl_le <= 0,& __gen_e_acsl_assert_data_6);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6);
@@ -793,7 +791,7 @@ char *__gen_e_acsl_strcpy(char * restrict dest, char const * restrict src)
     __gen_e_acsl_assert_data_8.pred_txt = "\\result == \\old(dest)";
     __gen_e_acsl_assert_data_8.file = "FRAMAC_SHARE/libc/string.h";
     __gen_e_acsl_assert_data_8.fct = "strcpy";
-    __gen_e_acsl_assert_data_8.line = 374;
+    __gen_e_acsl_assert_data_8.line = 426;
     __gen_e_acsl_assert_data_8.name = "result_ptr";
     __e_acsl_assert(__retres == __gen_e_acsl_at,& __gen_e_acsl_assert_data_8);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_8);
@@ -810,23 +808,21 @@ char *__gen_e_acsl_strcpy(char * restrict dest, char const * restrict src)
     
     behavior found:
       assumes char_found: strchr(s, c) == \true;
+      ensures result_valid_string: valid_read_string(\result);
       ensures result_char: *\result == (char)\old(c);
       ensures result_same_base: \base_addr(\result) == \base_addr(\old(s));
       ensures
         result_in_length: \old(s) <= \result <= \old(s) + strlen(\old(s));
-      ensures result_valid_string: valid_read_string(\result);
       ensures
-        result_first_occur:
+        result_first_occurrence:
           \forall char *p; \old(s) <= p < \result ==> *p != (char)\old(c);
     
     behavior not_found:
       assumes char_not_found: !(strchr(s, c) == \true);
       ensures result_null: \result == \null;
     
-    behavior default:
-      ensures
-        result_null_or_same_base:
-          \result == \null || \base_addr(\result) == \base_addr(\old(s));
+    complete behaviors not_found, found;
+    disjoint behaviors not_found, found;
  */
 char *__gen_e_acsl_strchr(char const *s, int c)
 {
@@ -838,8 +834,7 @@ char *__gen_e_acsl_strchr(char const *s, int c)
   __e_acsl_store_block((void *)(& s),8UL);
   __gen_e_acsl_at = s;
   __gen_e_acsl_at_2 = c;
-  __gen_e_acsl_contract = __e_acsl_contract_init(3UL);
-  __e_acsl_contract_set_behavior_assumes(__gen_e_acsl_contract,2UL,1);
+  __gen_e_acsl_contract = __e_acsl_contract_init(2UL);
   __retres = strchr(s,c);
   {
     int __gen_e_acsl_assumes_value;
@@ -850,15 +845,15 @@ char *__gen_e_acsl_strchr(char const *s, int c)
       int __gen_e_acsl_and;
       void *__gen_e_acsl_base_addr;
       void *__gen_e_acsl_base_addr_2;
-      __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 =
-        {.values = (void *)0};
       __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 =
         {.values = (void *)0};
+      __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 =
+        {.values = (void *)0};
       __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& __retres),
                                                       sizeof(char *));
-      __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&__retres",
+      __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"&__retres",
                                    (void *)(& __retres));
-      __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,
+      __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,
                                      "sizeof(char *)",0,sizeof(char *));
       if (__gen_e_acsl_initialized) {
         int __gen_e_acsl_valid_read;
@@ -866,56 +861,56 @@ char *__gen_e_acsl_strchr(char const *s, int c)
                                                       sizeof(char),
                                                       (void *)__retres,
                                                       (void *)(& __retres));
-        __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"__retres",
+        __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"__retres",
                                      (void *)__retres);
-        __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,
+        __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,
                                        "sizeof(char)",0,sizeof(char));
         __gen_e_acsl_and = __gen_e_acsl_valid_read;
       }
       else __gen_e_acsl_and = 0;
-      __gen_e_acsl_assert_data_3.blocking = 1;
-      __gen_e_acsl_assert_data_3.kind = "RTE";
-      __gen_e_acsl_assert_data_3.pred_txt = "\\valid_read(__retres)";
-      __gen_e_acsl_assert_data_3.file = "FRAMAC_SHARE/libc/string.h";
-      __gen_e_acsl_assert_data_3.fct = "strchr";
-      __gen_e_acsl_assert_data_3.line = 177;
-      __gen_e_acsl_assert_data_3.name = "mem_access";
-      __e_acsl_assert(__gen_e_acsl_and,& __gen_e_acsl_assert_data_3);
-      __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3);
-      __e_acsl_assert_register_char(& __gen_e_acsl_assert_data_2,"*\\result",
+      __gen_e_acsl_assert_data_4.blocking = 1;
+      __gen_e_acsl_assert_data_4.kind = "RTE";
+      __gen_e_acsl_assert_data_4.pred_txt = "\\valid_read(__retres)";
+      __gen_e_acsl_assert_data_4.file = "FRAMAC_SHARE/libc/string.h";
+      __gen_e_acsl_assert_data_4.fct = "strchr";
+      __gen_e_acsl_assert_data_4.line = 198;
+      __gen_e_acsl_assert_data_4.name = "mem_access";
+      __e_acsl_assert(__gen_e_acsl_and,& __gen_e_acsl_assert_data_4);
+      __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4);
+      __e_acsl_assert_register_char(& __gen_e_acsl_assert_data_3,"*\\result",
                                     0,*__retres);
-      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"\\old(c)",0,
+      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"\\old(c)",0,
                                    __gen_e_acsl_at_2);
-      __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 =
+      __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 =
         {.values = (void *)0};
       __gen_e_acsl_base_addr = __e_acsl_base_addr((void *)__retres);
       __gen_e_acsl_base_addr_2 = __e_acsl_base_addr((void *)__gen_e_acsl_at);
-      __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,
+      __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,
                                    "\\base_addr(\\result)",
                                    __gen_e_acsl_base_addr);
-      __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,
+      __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,
                                    "\\base_addr(\\old(s))",
                                    __gen_e_acsl_base_addr_2);
-      __gen_e_acsl_assert_data_4.blocking = 1;
-      __gen_e_acsl_assert_data_4.kind = "Postcondition";
-      __gen_e_acsl_assert_data_4.pred_txt = "\\base_addr(\\result) == \\base_addr(\\old(s))";
-      __gen_e_acsl_assert_data_4.file = "FRAMAC_SHARE/libc/string.h";
-      __gen_e_acsl_assert_data_4.fct = "strchr";
-      __gen_e_acsl_assert_data_4.line = 178;
-      __gen_e_acsl_assert_data_4.name = "found/result_same_base";
+      __gen_e_acsl_assert_data_5.blocking = 1;
+      __gen_e_acsl_assert_data_5.kind = "Postcondition";
+      __gen_e_acsl_assert_data_5.pred_txt = "\\base_addr(\\result) == \\base_addr(\\old(s))";
+      __gen_e_acsl_assert_data_5.file = "FRAMAC_SHARE/libc/string.h";
+      __gen_e_acsl_assert_data_5.fct = "strchr";
+      __gen_e_acsl_assert_data_5.line = 199;
+      __gen_e_acsl_assert_data_5.name = "found/result_same_base";
       __e_acsl_assert(__gen_e_acsl_base_addr == __gen_e_acsl_base_addr_2,
-                      & __gen_e_acsl_assert_data_4);
-      __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4);
-      __gen_e_acsl_assert_data_2.blocking = 1;
-      __gen_e_acsl_assert_data_2.kind = "Postcondition";
-      __gen_e_acsl_assert_data_2.pred_txt = "*\\result == (char)\\old(c)";
-      __gen_e_acsl_assert_data_2.file = "FRAMAC_SHARE/libc/string.h";
-      __gen_e_acsl_assert_data_2.fct = "strchr";
-      __gen_e_acsl_assert_data_2.line = 177;
-      __gen_e_acsl_assert_data_2.name = "found/result_char";
+                      & __gen_e_acsl_assert_data_5);
+      __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5);
+      __gen_e_acsl_assert_data_3.blocking = 1;
+      __gen_e_acsl_assert_data_3.kind = "Postcondition";
+      __gen_e_acsl_assert_data_3.pred_txt = "*\\result == (char)\\old(c)";
+      __gen_e_acsl_assert_data_3.file = "FRAMAC_SHARE/libc/string.h";
+      __gen_e_acsl_assert_data_3.fct = "strchr";
+      __gen_e_acsl_assert_data_3.line = 198;
+      __gen_e_acsl_assert_data_3.name = "found/result_char";
       __e_acsl_assert((int)*__retres == (int)((char)__gen_e_acsl_at_2),
-                      & __gen_e_acsl_assert_data_2);
-      __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2);
+                      & __gen_e_acsl_assert_data_3);
+      __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3);
     }
     __gen_e_acsl_assumes_value = __e_acsl_contract_get_behavior_assumes
     ((__e_acsl_contract_t const *)__gen_e_acsl_contract,1UL);
@@ -929,43 +924,11 @@ char *__gen_e_acsl_strchr(char const *s, int c)
       __gen_e_acsl_assert_data_8.pred_txt = "\\result == \\null";
       __gen_e_acsl_assert_data_8.file = "FRAMAC_SHARE/libc/string.h";
       __gen_e_acsl_assert_data_8.fct = "strchr";
-      __gen_e_acsl_assert_data_8.line = 184;
+      __gen_e_acsl_assert_data_8.line = 205;
       __gen_e_acsl_assert_data_8.name = "not_found/result_null";
       __e_acsl_assert(__retres == (char *)0,& __gen_e_acsl_assert_data_8);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_8);
     }
-    __gen_e_acsl_assumes_value = __e_acsl_contract_get_behavior_assumes
-    ((__e_acsl_contract_t const *)__gen_e_acsl_contract,2UL);
-    if (__gen_e_acsl_assumes_value) {
-      int __gen_e_acsl_or;
-      __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 =
-        {.values = (void *)0};
-      __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,"\\result",
-                                   (void *)__retres);
-      if (__retres == (char *)0) __gen_e_acsl_or = 1;
-      else {
-        void *__gen_e_acsl_base_addr_3;
-        void *__gen_e_acsl_base_addr_4;
-        __gen_e_acsl_base_addr_3 = __e_acsl_base_addr((void *)__retres);
-        __gen_e_acsl_base_addr_4 = __e_acsl_base_addr((void *)__gen_e_acsl_at);
-        __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,
-                                     "\\base_addr(\\result)",
-                                     __gen_e_acsl_base_addr_3);
-        __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,
-                                     "\\base_addr(\\old(s))",
-                                     __gen_e_acsl_base_addr_4);
-        __gen_e_acsl_or = __gen_e_acsl_base_addr_3 == __gen_e_acsl_base_addr_4;
-      }
-      __gen_e_acsl_assert_data_9.blocking = 1;
-      __gen_e_acsl_assert_data_9.kind = "Postcondition";
-      __gen_e_acsl_assert_data_9.pred_txt = "\\result == \\null || \\base_addr(\\result) == \\base_addr(\\old(s))";
-      __gen_e_acsl_assert_data_9.file = "FRAMAC_SHARE/libc/string.h";
-      __gen_e_acsl_assert_data_9.fct = "strchr";
-      __gen_e_acsl_assert_data_9.line = 187;
-      __gen_e_acsl_assert_data_9.name = "default/result_null_or_same_base";
-      __e_acsl_assert(__gen_e_acsl_or,& __gen_e_acsl_assert_data_9);
-      __e_acsl_assert_clean(& __gen_e_acsl_assert_data_9);
-    }
     __e_acsl_contract_clean(__gen_e_acsl_contract);
     __e_acsl_delete_block((void *)(& s));
     __e_acsl_delete_block((void *)(& __retres));
@@ -1163,7 +1126,7 @@ void __gen_e_acsl_exit(int status)
     __gen_e_acsl_assert_data.pred_txt = "\\false";
     __gen_e_acsl_assert_data.file = "FRAMAC_SHARE/libc/stdlib.h";
     __gen_e_acsl_assert_data.fct = "exit";
-    __gen_e_acsl_assert_data.line = 509;
+    __gen_e_acsl_assert_data.line = 541;
     __gen_e_acsl_assert_data.name = "never_terminates";
     __e_acsl_assert(0,& __gen_e_acsl_assert_data);
     return;
@@ -1185,7 +1148,7 @@ void __gen_e_acsl_abort(void)
     __gen_e_acsl_assert_data.pred_txt = "\\false";
     __gen_e_acsl_assert_data.file = "FRAMAC_SHARE/libc/stdlib.h";
     __gen_e_acsl_assert_data.fct = "abort";
-    __gen_e_acsl_assert_data.line = 496;
+    __gen_e_acsl_assert_data.line = 528;
     __gen_e_acsl_assert_data.name = "never_terminates";
     __e_acsl_assert(0,& __gen_e_acsl_assert_data);
     return;
diff --git a/src/plugins/e-acsl/tests/format/oracle/printf.res.oracle b/src/plugins/e-acsl/tests/format/oracle/printf.res.oracle
index 7985a51f133c31c024c129b5931b94976ccb3dcb..f1fb00a4f419b1851860644c64ce7b4d8d08a532 100644
--- a/src/plugins/e-acsl/tests/format/oracle/printf.res.oracle
+++ b/src/plugins/e-acsl/tests/format/oracle/printf.res.oracle
@@ -20,64 +20,64 @@
 [e-acsl] Warning: annotating undefined function `strchr':
   the generated program may miss memory instrumentation
   if there are memory-related annotations.
-[e-acsl] FRAMAC_SHARE/libc/string.h:367: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:419: Warning: 
   no assigns clause generated for function valid_read_string because pointers as arguments is not yet supported
-[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:281: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:277: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:368: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:420: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:370: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:422: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:367: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:419: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:373: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:425: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:173: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:193: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:176: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:196: Warning: 
   E-ACSL construct `datacons' is not yet supported. Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:183: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:204: Warning: 
   E-ACSL construct `datacons' is not yet supported. Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:173: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:192: Warning: 
   Some assumes clauses could not be translated.
   Ignoring complete and disjoint behaviors annotations.
-[e-acsl] FRAMAC_SHARE/libc/string.h:173: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:192: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:179: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:197: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:180: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:200: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:181: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:202: Warning: 
   E-ACSL construct
   `non integer variable p in quantification
-  found: result_first_occur:
+  found: result_first_occurrence:
     \forall char *p; \old(s) <= p < \result ==> *p != (char)\old(c)'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:141: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:158: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:141: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:158: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:143: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:160: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
@@ -90,17 +90,17 @@
 [e-acsl] FRAMAC_SHARE/libc/sys/wait.h:89: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:506: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:538: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:508: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:540: Warning: 
   E-ACSL construct `abnormal termination case in behavior'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:493: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:525: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:495: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:527: Warning: 
   E-ACSL construct `abnormal termination case in behavior'
   is not yet supported.
   Ignoring annotation.
diff --git a/src/plugins/e-acsl/tests/libc/oracle/file.res.oracle b/src/plugins/e-acsl/tests/libc/oracle/file.res.oracle
index 8dca9f2bac2c97a2596b057ccf813cdcda652172..37368c20591586b5389598157a929a0270e414d4 100644
--- a/src/plugins/e-acsl/tests/libc/oracle/file.res.oracle
+++ b/src/plugins/e-acsl/tests/libc/oracle/file.res.oracle
@@ -10,7 +10,7 @@
   Ignoring annotation.
 [e-acsl] FRAMAC_SHARE/libc/stdio.h:150: Warning: 
   no assigns clause generated for function valid_read_string because pointers as arguments is not yet supported
-[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:281: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:277: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
diff --git a/src/plugins/e-acsl/tests/libc/oracle/gen_mem.c b/src/plugins/e-acsl/tests/libc/oracle/gen_mem.c
index 9dcfda774c490f2b6e89ec4769a2c9f5fa6b67f1..32abf0b9b66fd9826f2f2341ac33d477707ef7e4 100644
--- a/src/plugins/e-acsl/tests/libc/oracle/gen_mem.c
+++ b/src/plugins/e-acsl/tests/libc/oracle/gen_mem.c
@@ -416,7 +416,7 @@ void *__gen_e_acsl_memset(void *s, int c, size_t n)
     __gen_e_acsl_assert_data_3.pred_txt = "\\result == \\old(s)";
     __gen_e_acsl_assert_data_3.file = "FRAMAC_SHARE/libc/string.h";
     __gen_e_acsl_assert_data_3.fct = "memset";
-    __gen_e_acsl_assert_data_3.line = 135;
+    __gen_e_acsl_assert_data_3.line = 152;
     __gen_e_acsl_assert_data_3.name = "result_ptr";
     __e_acsl_assert(__retres == __gen_e_acsl_at,& __gen_e_acsl_assert_data_3);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3);
@@ -458,7 +458,7 @@ void *__gen_e_acsl_memmove(void *dest, void const *src, size_t n)
     __gen_e_acsl_assert_data_4.pred_txt = "\\result == \\old(dest)";
     __gen_e_acsl_assert_data_4.file = "FRAMAC_SHARE/libc/string.h";
     __gen_e_acsl_assert_data_4.fct = "memmove";
-    __gen_e_acsl_assert_data_4.line = 125;
+    __gen_e_acsl_assert_data_4.line = 142;
     __gen_e_acsl_assert_data_4.name = "result_ptr";
     __e_acsl_assert(__retres == __gen_e_acsl_at,& __gen_e_acsl_assert_data_4);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4);
@@ -555,7 +555,7 @@ void *__gen_e_acsl_memcpy(void * restrict dest, void const * restrict src,
     __gen_e_acsl_assert_data_4.pred_txt = "\\valid_read((char *)dest + (0 .. n - 1))";
     __gen_e_acsl_assert_data_4.file = "FRAMAC_SHARE/libc/string.h";
     __gen_e_acsl_assert_data_4.fct = "memcpy";
-    __gen_e_acsl_assert_data_4.line = 98;
+    __gen_e_acsl_assert_data_4.line = 115;
     __gen_e_acsl_assert_data_4.name = "separated_guard";
     __e_acsl_assert(__gen_e_acsl_valid_read,& __gen_e_acsl_assert_data_4);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4);
@@ -586,7 +586,7 @@ void *__gen_e_acsl_memcpy(void * restrict dest, void const * restrict src,
     __gen_e_acsl_assert_data_5.pred_txt = "\\valid_read((char *)src + (0 .. n - 1))";
     __gen_e_acsl_assert_data_5.file = "FRAMAC_SHARE/libc/string.h";
     __gen_e_acsl_assert_data_5.fct = "memcpy";
-    __gen_e_acsl_assert_data_5.line = 98;
+    __gen_e_acsl_assert_data_5.line = 115;
     __gen_e_acsl_assert_data_5.name = "separated_guard";
     __e_acsl_assert(__gen_e_acsl_valid_read_2,& __gen_e_acsl_assert_data_5);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5);
@@ -631,7 +631,7 @@ void *__gen_e_acsl_memcpy(void * restrict dest, void const * restrict src,
     __gen_e_acsl_assert_data_3.pred_txt = "\\separated((char *)dest + (0 .. n - 1), (char *)src + (0 .. n - 1))";
     __gen_e_acsl_assert_data_3.file = "FRAMAC_SHARE/libc/string.h";
     __gen_e_acsl_assert_data_3.fct = "memcpy";
-    __gen_e_acsl_assert_data_3.line = 98;
+    __gen_e_acsl_assert_data_3.line = 115;
     __gen_e_acsl_assert_data_3.name = "separation";
     __e_acsl_assert(__gen_e_acsl_separated,& __gen_e_acsl_assert_data_3);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3);
@@ -656,7 +656,7 @@ void *__gen_e_acsl_memcpy(void * restrict dest, void const * restrict src,
     __gen_e_acsl_assert_data_7.pred_txt = "\\result == \\old(dest)";
     __gen_e_acsl_assert_data_7.file = "FRAMAC_SHARE/libc/string.h";
     __gen_e_acsl_assert_data_7.fct = "memcpy";
-    __gen_e_acsl_assert_data_7.line = 102;
+    __gen_e_acsl_assert_data_7.line = 119;
     __gen_e_acsl_assert_data_7.name = "result_ptr";
     __e_acsl_assert(__retres == __gen_e_acsl_at,& __gen_e_acsl_assert_data_7);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7);
diff --git a/src/plugins/e-acsl/tests/libc/oracle/gen_str.c b/src/plugins/e-acsl/tests/libc/oracle/gen_str.c
index fc05792a9c2ad847b978f1c86f4e42f72ebea15c..3489f579ec4b0249d9064a074072cae93e37035c 100644
--- a/src/plugins/e-acsl/tests/libc/oracle/gen_str.c
+++ b/src/plugins/e-acsl/tests/libc/oracle/gen_str.c
@@ -48,6 +48,11 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src,
 /*@ requires valid_string_src: valid_read_string(src);
     requires valid_string_dest: valid_string(dest);
     requires room_string: \valid(dest + (0 .. strlen(dest) + strlen(src)));
+    requires
+      separation:
+        \separated(
+          dest + (0 .. strlen(dest) + strlen(src)), src + (0 .. strlen(src))
+          );
     ensures
       sum_of_lengths: strlen(\old(dest)) == \old(strlen(dest) + strlen(src));
     ensures
@@ -69,15 +74,20 @@ char *__gen_e_acsl_strcat(char * restrict dest, char const * restrict src);
 
 /*@ requires valid_nstring_src: valid_read_nstring(src, n);
     requires valid_string_dest: valid_string(dest);
+    requires
+      separation:
+        \separated(
+          dest + (0 .. strlen(dest) + strnlen(src, n)),
+          src + (0 .. strnlen(src, n))
+          );
     ensures result_ptr: \result == \old(dest);
     assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n)), \result;
     assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n))
-      \from *(src + (0 .. n));
+      \from *(src + (0 .. n - 1));
     assigns \result \from dest;
     
     behavior complete:
-      assumes
-        valid_string_src_fits: valid_read_string(src) && strlen(src) <= n;
+      assumes src_fits: strnlen(src, n) < n;
       requires
         room_string: \valid((dest + strlen(dest)) + (0 .. strlen(src)));
       ensures
@@ -88,13 +98,11 @@ char *__gen_e_acsl_strcat(char * restrict dest, char const * restrict src);
               \result;
       assigns
       *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + strlen{Old}(src)))
-        \from *(src + (0 .. strlen{Old}(src)));
+        \from *(src + (0 .. strlen{Old}(src) - 1));
       assigns \result \from dest;
     
     behavior partial:
-      assumes
-        valid_string_src_too_large:
-          !(valid_read_string(src) && strlen(src) <= n);
+      assumes src_too_large: strnlen(src, n) == n;
       requires room_string: \valid((dest + strlen(dest)) + (0 .. n));
       ensures
         sum_of_bounded_lengths:
@@ -102,23 +110,31 @@ char *__gen_e_acsl_strcat(char * restrict dest, char const * restrict src);
       assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n)),
               \result;
       assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n))
-        \from *(src + (0 .. strlen{Old}(src)));
+        \from *(src + (0 .. n - 1));
       assigns \result \from dest;
+    
+    complete behaviors partial, complete;
+    disjoint behaviors partial, complete;
  */
 char *__gen_e_acsl_strncat(char * restrict dest, char const * restrict src,
                            size_t n);
 
 /*@ requires valid_nstring_src: valid_read_nstring(src, n);
     requires valid_string_dest: valid_string(dest);
+    requires
+      separation:
+        \separated(
+          dest + (0 .. strlen(dest) + strnlen(src, n)),
+          src + (0 .. strnlen(src, n))
+          );
     ensures result_ptr: \result == \old(dest);
     assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n)), \result;
     assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n))
-      \from *(src + (0 .. n));
+      \from *(src + (0 .. n - 1));
     assigns \result \from dest;
     
     behavior complete:
-      assumes
-        valid_string_src_fits: valid_read_string(src) && strlen(src) <= n;
+      assumes src_fits: strnlen(src, n) < n;
       requires
         room_string: \valid((dest + strlen(dest)) + (0 .. strlen(src)));
       ensures
@@ -129,13 +145,11 @@ char *__gen_e_acsl_strncat(char * restrict dest, char const * restrict src,
               \result;
       assigns
       *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + strlen{Old}(src)))
-        \from *(src + (0 .. strlen{Old}(src)));
+        \from *(src + (0 .. strlen{Old}(src) - 1));
       assigns \result \from dest;
     
     behavior partial:
-      assumes
-        valid_string_src_too_large:
-          !(valid_read_string(src) && strlen(src) <= n);
+      assumes src_too_large: strnlen(src, n) == n;
       requires room_string: \valid((dest + strlen(dest)) + (0 .. n));
       ensures
         sum_of_bounded_lengths:
@@ -143,8 +157,11 @@ char *__gen_e_acsl_strncat(char * restrict dest, char const * restrict src,
       assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n)),
               \result;
       assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n))
-        \from *(src + (0 .. strlen{Old}(src)));
+        \from *(src + (0 .. n - 1));
       assigns \result \from dest;
+    
+    complete behaviors partial, complete;
+    disjoint behaviors partial, complete;
  */
 char *__gen_e_acsl_strncat(char * restrict dest, char const * restrict src,
                            size_t n)
@@ -154,6 +171,7 @@ char *__gen_e_acsl_strncat(char * restrict dest, char const * restrict src,
   __e_acsl_contract_t *__gen_e_acsl_contract;
   char *__gen_e_acsl_at;
   char *__retres;
+  __e_acsl_store_block((void *)(& src),8UL);
   __e_acsl_store_block((void *)(& dest),8UL);
   __gen_e_acsl_at = dest;
   __gen_e_acsl_contract = __e_acsl_contract_init(2UL);
@@ -169,8 +187,8 @@ char *__gen_e_acsl_strncat(char * restrict dest, char const * restrict src,
     __e_acsl_mpz_t __gen_e_acsl_add_2;
     __e_acsl_mpz_t __gen_e_acsl__2;
     int __gen_e_acsl_le;
-    unsigned long __gen_e_acsl_size;
-    __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 =
+    unsigned long __gen_e_acsl_size_2;
+    __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 =
       {.values = (void *)0};
     __gmpz_init_set_ui(__gen_e_acsl_strcat_src_size_2,
                        __gen_e_acsl_strcat_src_size);
@@ -188,23 +206,23 @@ char *__gen_e_acsl_strncat(char * restrict dest, char const * restrict src,
     __gmpz_init_set_ui(__gen_e_acsl__2,18446744073709551615UL);
     __gen_e_acsl_le = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_add_2),
                                  (__e_acsl_mpz_struct const *)(__gen_e_acsl__2));
-    __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5,
+    __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8,
                                    "__gen_e_acsl_strcat_src_size",0,
                                    __gen_e_acsl_strcat_src_size);
-    __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5,
+    __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8,
                                    "__gen_e_acsl_strcat_dest_size",0,
                                    __gen_e_acsl_strcat_dest_size);
-    __gen_e_acsl_assert_data_5.blocking = 1;
-    __gen_e_acsl_assert_data_5.kind = "RTE";
-    __gen_e_acsl_assert_data_5.pred_txt = "(__gen_e_acsl_strcat_src_size + __gen_e_acsl_strcat_dest_size) + 1 <=\n18446744073709551615";
-    __gen_e_acsl_assert_data_5.file = "FRAMAC_SHARE/libc/string.h";
-    __gen_e_acsl_assert_data_5.fct = "strncat";
-    __gen_e_acsl_assert_data_5.line = 438;
-    __gen_e_acsl_assert_data_5.name = "size_lesser_or_eq_than_SIZE_MAX";
-    __e_acsl_assert(__gen_e_acsl_le <= 0,& __gen_e_acsl_assert_data_5);
-    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5);
-    __gen_e_acsl_size = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add_2));
-    __e_acsl_initialize((void *)dest,__gen_e_acsl_size);
+    __gen_e_acsl_assert_data_8.blocking = 1;
+    __gen_e_acsl_assert_data_8.kind = "RTE";
+    __gen_e_acsl_assert_data_8.pred_txt = "(__gen_e_acsl_strcat_src_size + __gen_e_acsl_strcat_dest_size) + 1 <=\n18446744073709551615";
+    __gen_e_acsl_assert_data_8.file = "FRAMAC_SHARE/libc/string.h";
+    __gen_e_acsl_assert_data_8.fct = "strncat";
+    __gen_e_acsl_assert_data_8.line = 496;
+    __gen_e_acsl_assert_data_8.name = "size_lesser_or_eq_than_SIZE_MAX";
+    __e_acsl_assert(__gen_e_acsl_le <= 0,& __gen_e_acsl_assert_data_8);
+    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_8);
+    __gen_e_acsl_size_2 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add_2));
+    __e_acsl_initialize((void *)dest,__gen_e_acsl_size_2);
     __gmpz_clear(__gen_e_acsl_strcat_src_size_2);
     __gmpz_clear(__gen_e_acsl_strcat_dest_size_2);
     __gmpz_clear(__gen_e_acsl_add);
@@ -213,22 +231,23 @@ char *__gen_e_acsl_strncat(char * restrict dest, char const * restrict src,
     __gmpz_clear(__gen_e_acsl__2);
   }
   {
-    __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 =
+    __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 =
       {.values = (void *)0};
-    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"\\result",
+    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,"\\result",
                                  (void *)__retres);
-    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"\\old(dest)",
+    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,"\\old(dest)",
                                  (void *)__gen_e_acsl_at);
-    __gen_e_acsl_assert_data_6.blocking = 1;
-    __gen_e_acsl_assert_data_6.kind = "Postcondition";
-    __gen_e_acsl_assert_data_6.pred_txt = "\\result == \\old(dest)";
-    __gen_e_acsl_assert_data_6.file = "FRAMAC_SHARE/libc/string.h";
-    __gen_e_acsl_assert_data_6.fct = "strncat";
-    __gen_e_acsl_assert_data_6.line = 443;
-    __gen_e_acsl_assert_data_6.name = "result_ptr";
-    __e_acsl_assert(__retres == __gen_e_acsl_at,& __gen_e_acsl_assert_data_6);
-    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6);
+    __gen_e_acsl_assert_data_9.blocking = 1;
+    __gen_e_acsl_assert_data_9.kind = "Postcondition";
+    __gen_e_acsl_assert_data_9.pred_txt = "\\result == \\old(dest)";
+    __gen_e_acsl_assert_data_9.file = "FRAMAC_SHARE/libc/string.h";
+    __gen_e_acsl_assert_data_9.fct = "strncat";
+    __gen_e_acsl_assert_data_9.line = 504;
+    __gen_e_acsl_assert_data_9.name = "result_ptr";
+    __e_acsl_assert(__retres == __gen_e_acsl_at,& __gen_e_acsl_assert_data_9);
+    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_9);
     __e_acsl_contract_clean(__gen_e_acsl_contract);
+    __e_acsl_delete_block((void *)(& src));
     __e_acsl_delete_block((void *)(& dest));
     return __retres;
   }
@@ -237,6 +256,11 @@ char *__gen_e_acsl_strncat(char * restrict dest, char const * restrict src,
 /*@ requires valid_string_src: valid_read_string(src);
     requires valid_string_dest: valid_string(dest);
     requires room_string: \valid(dest + (0 .. strlen(dest) + strlen(src)));
+    requires
+      separation:
+        \separated(
+          dest + (0 .. strlen(dest) + strlen(src)), src + (0 .. strlen(src))
+          );
     ensures
       sum_of_lengths: strlen(\old(dest)) == \old(strlen(dest) + strlen(src));
     ensures
@@ -260,6 +284,7 @@ char *__gen_e_acsl_strcat(char * restrict dest, char const * restrict src)
   unsigned long __gen_e_acsl_strcat_src_size;
   char *__gen_e_acsl_at;
   char *__retres;
+  __e_acsl_store_block((void *)(& src),8UL);
   __e_acsl_store_block((void *)(& dest),8UL);
   __gen_e_acsl_at = dest;
   __gen_e_acsl_strcat_src_size = __e_acsl_builtin_strlen(src);
@@ -274,7 +299,7 @@ char *__gen_e_acsl_strcat(char * restrict dest, char const * restrict src)
     __e_acsl_mpz_t __gen_e_acsl__2;
     int __gen_e_acsl_le;
     unsigned long __gen_e_acsl_size;
-    __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 =
+    __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 =
       {.values = (void *)0};
     __gmpz_init_set_ui(__gen_e_acsl_strcat_src_size_2,
                        __gen_e_acsl_strcat_src_size);
@@ -292,21 +317,21 @@ char *__gen_e_acsl_strcat(char * restrict dest, char const * restrict src)
     __gmpz_init_set_ui(__gen_e_acsl__2,18446744073709551615UL);
     __gen_e_acsl_le = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_add_2),
                                  (__e_acsl_mpz_struct const *)(__gen_e_acsl__2));
-    __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,
+    __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7,
                                    "__gen_e_acsl_strcat_src_size",0,
                                    __gen_e_acsl_strcat_src_size);
-    __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,
+    __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7,
                                    "__gen_e_acsl_strcat_dest_size",0,
                                    __gen_e_acsl_strcat_dest_size);
-    __gen_e_acsl_assert_data_4.blocking = 1;
-    __gen_e_acsl_assert_data_4.kind = "RTE";
-    __gen_e_acsl_assert_data_4.pred_txt = "(__gen_e_acsl_strcat_src_size + __gen_e_acsl_strcat_dest_size) + 1 <=\n18446744073709551615";
-    __gen_e_acsl_assert_data_4.file = "FRAMAC_SHARE/libc/string.h";
-    __gen_e_acsl_assert_data_4.fct = "strcat";
-    __gen_e_acsl_assert_data_4.line = 423;
-    __gen_e_acsl_assert_data_4.name = "size_lesser_or_eq_than_SIZE_MAX";
-    __e_acsl_assert(__gen_e_acsl_le <= 0,& __gen_e_acsl_assert_data_4);
-    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4);
+    __gen_e_acsl_assert_data_7.blocking = 1;
+    __gen_e_acsl_assert_data_7.kind = "RTE";
+    __gen_e_acsl_assert_data_7.pred_txt = "(__gen_e_acsl_strcat_src_size + __gen_e_acsl_strcat_dest_size) + 1 <=\n18446744073709551615";
+    __gen_e_acsl_assert_data_7.file = "FRAMAC_SHARE/libc/string.h";
+    __gen_e_acsl_assert_data_7.fct = "strcat";
+    __gen_e_acsl_assert_data_7.line = 475;
+    __gen_e_acsl_assert_data_7.name = "size_lesser_or_eq_than_SIZE_MAX";
+    __e_acsl_assert(__gen_e_acsl_le <= 0,& __gen_e_acsl_assert_data_7);
+    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7);
     __gen_e_acsl_size = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add_2));
     __e_acsl_initialize((void *)dest,__gen_e_acsl_size);
     __gmpz_clear(__gen_e_acsl_strcat_src_size_2);
@@ -317,21 +342,23 @@ char *__gen_e_acsl_strcat(char * restrict dest, char const * restrict src)
     __gmpz_clear(__gen_e_acsl__2);
   }
   {
-    __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 =
+    __e_acsl_assert_data_t __gen_e_acsl_assert_data_11 =
       {.values = (void *)0};
-    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"\\result",
+    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_11,"\\result",
                                  (void *)__retres);
-    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"\\old(dest)",
+    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_11,"\\old(dest)",
                                  (void *)__gen_e_acsl_at);
-    __gen_e_acsl_assert_data_8.blocking = 1;
-    __gen_e_acsl_assert_data_8.kind = "Postcondition";
-    __gen_e_acsl_assert_data_8.pred_txt = "\\result == \\old(dest)";
-    __gen_e_acsl_assert_data_8.file = "FRAMAC_SHARE/libc/string.h";
-    __gen_e_acsl_assert_data_8.fct = "strcat";
-    __gen_e_acsl_assert_data_8.line = 434;
-    __gen_e_acsl_assert_data_8.name = "result_ptr";
-    __e_acsl_assert(__retres == __gen_e_acsl_at,& __gen_e_acsl_assert_data_8);
-    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_8);
+    __gen_e_acsl_assert_data_11.blocking = 1;
+    __gen_e_acsl_assert_data_11.kind = "Postcondition";
+    __gen_e_acsl_assert_data_11.pred_txt = "\\result == \\old(dest)";
+    __gen_e_acsl_assert_data_11.file = "FRAMAC_SHARE/libc/string.h";
+    __gen_e_acsl_assert_data_11.fct = "strcat";
+    __gen_e_acsl_assert_data_11.line = 488;
+    __gen_e_acsl_assert_data_11.name = "result_ptr";
+    __e_acsl_assert(__retres == __gen_e_acsl_at,
+                    & __gen_e_acsl_assert_data_11);
+    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_11);
+    __e_acsl_delete_block((void *)(& src));
     __e_acsl_delete_block((void *)(& dest));
     return __retres;
   }
@@ -439,7 +466,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src,
     __gen_e_acsl_assert_data_2.pred_txt = "\\valid(dest + (0 .. n - 1))";
     __gen_e_acsl_assert_data_2.file = "FRAMAC_SHARE/libc/string.h";
     __gen_e_acsl_assert_data_2.fct = "strncpy";
-    __gen_e_acsl_assert_data_2.line = 380;
+    __gen_e_acsl_assert_data_2.line = 432;
     __gen_e_acsl_assert_data_2.name = "room_nstring";
     __e_acsl_assert(__gen_e_acsl_valid,& __gen_e_acsl_assert_data_2);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2);
@@ -471,7 +498,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src,
     __gen_e_acsl_assert_data_4.pred_txt = "\\valid_read(dest + (0 .. n - 1))";
     __gen_e_acsl_assert_data_4.file = "FRAMAC_SHARE/libc/string.h";
     __gen_e_acsl_assert_data_4.fct = "strncpy";
-    __gen_e_acsl_assert_data_4.line = 382;
+    __gen_e_acsl_assert_data_4.line = 434;
     __gen_e_acsl_assert_data_4.name = "separated_guard";
     __e_acsl_assert(__gen_e_acsl_valid_read,& __gen_e_acsl_assert_data_4);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4);
@@ -501,7 +528,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src,
     __gen_e_acsl_assert_data_5.pred_txt = "\\valid_read(src + (0 .. n - 1))";
     __gen_e_acsl_assert_data_5.file = "FRAMAC_SHARE/libc/string.h";
     __gen_e_acsl_assert_data_5.fct = "strncpy";
-    __gen_e_acsl_assert_data_5.line = 382;
+    __gen_e_acsl_assert_data_5.line = 434;
     __gen_e_acsl_assert_data_5.name = "separated_guard";
     __e_acsl_assert(__gen_e_acsl_valid_read_2,& __gen_e_acsl_assert_data_5);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5);
@@ -547,7 +574,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src,
     __gen_e_acsl_assert_data_3.pred_txt = "\\separated(dest + (0 .. n - 1), src + (0 .. n - 1))";
     __gen_e_acsl_assert_data_3.file = "FRAMAC_SHARE/libc/string.h";
     __gen_e_acsl_assert_data_3.fct = "strncpy";
-    __gen_e_acsl_assert_data_3.line = 382;
+    __gen_e_acsl_assert_data_3.line = 434;
     __gen_e_acsl_assert_data_3.name = "separation";
     __e_acsl_assert(__gen_e_acsl_separated,& __gen_e_acsl_assert_data_3);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3);
@@ -582,7 +609,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src,
     __gen_e_acsl_assert_data_6.pred_txt = "\\result == \\old(dest)";
     __gen_e_acsl_assert_data_6.file = "FRAMAC_SHARE/libc/string.h";
     __gen_e_acsl_assert_data_6.fct = "strncpy";
-    __gen_e_acsl_assert_data_6.line = 385;
+    __gen_e_acsl_assert_data_6.line = 437;
     __gen_e_acsl_assert_data_6.name = "result_ptr";
     __e_acsl_assert(__retres == __gen_e_acsl_at,& __gen_e_acsl_assert_data_6);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6);
@@ -629,7 +656,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src,
     __gen_e_acsl_assert_data_7.pred_txt = "\\initialized(\\old(dest) + (0 .. \\old(n) - 1))";
     __gen_e_acsl_assert_data_7.file = "FRAMAC_SHARE/libc/string.h";
     __gen_e_acsl_assert_data_7.fct = "strncpy";
-    __gen_e_acsl_assert_data_7.line = 386;
+    __gen_e_acsl_assert_data_7.line = 438;
     __gen_e_acsl_assert_data_7.name = "initialization";
     __e_acsl_assert(__gen_e_acsl_initialized,& __gen_e_acsl_assert_data_7);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7);
@@ -695,7 +722,7 @@ char *__gen_e_acsl_strcpy(char * restrict dest, char const * restrict src)
     __gen_e_acsl_assert_data_6.pred_txt = "__gen_e_acsl_strcpy_src_size + 1 <= 18446744073709551615";
     __gen_e_acsl_assert_data_6.file = "FRAMAC_SHARE/libc/string.h";
     __gen_e_acsl_assert_data_6.fct = "strcpy";
-    __gen_e_acsl_assert_data_6.line = 367;
+    __gen_e_acsl_assert_data_6.line = 419;
     __gen_e_acsl_assert_data_6.name = "size_lesser_or_eq_than_SIZE_MAX";
     __e_acsl_assert(__gen_e_acsl_le <= 0,& __gen_e_acsl_assert_data_6);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6);
@@ -718,7 +745,7 @@ char *__gen_e_acsl_strcpy(char * restrict dest, char const * restrict src)
     __gen_e_acsl_assert_data_8.pred_txt = "\\result == \\old(dest)";
     __gen_e_acsl_assert_data_8.file = "FRAMAC_SHARE/libc/string.h";
     __gen_e_acsl_assert_data_8.fct = "strcpy";
-    __gen_e_acsl_assert_data_8.line = 374;
+    __gen_e_acsl_assert_data_8.line = 426;
     __gen_e_acsl_assert_data_8.name = "result_ptr";
     __e_acsl_assert(__retres == __gen_e_acsl_at,& __gen_e_acsl_assert_data_8);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_8);
diff --git a/src/plugins/e-acsl/tests/libc/oracle/mem.res.oracle b/src/plugins/e-acsl/tests/libc/oracle/mem.res.oracle
index 673b705e2c742c0cc5a1f353cf2b6fb2f9771c51..3391277a9a4a8c700164541d29032b764d6a0904 100644
--- a/src/plugins/e-acsl/tests/libc/oracle/mem.res.oracle
+++ b/src/plugins/e-acsl/tests/libc/oracle/mem.res.oracle
@@ -1,47 +1,47 @@
 [e-acsl] beginning translation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:131: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:148: Warning: 
   no assigns clause generated for function valid_or_empty because pointers as arguments is not yet supported
 [e-acsl] FRAMAC_SHARE/libc/string.h:49: Warning: 
   E-ACSL construct `predicates with labels' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:131: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:148: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:134: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:151: Warning: 
   E-ACSL construct `datacons' is not yet supported. Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:120: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:137: Warning: 
   E-ACSL construct `predicates with labels' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:121: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:138: Warning: 
   no assigns clause generated for function valid_read_or_empty because pointers as arguments is not yet supported
 [e-acsl] FRAMAC_SHARE/libc/string.h:52: Warning: 
   E-ACSL construct `predicates with labels' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:120: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:137: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:124: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:141: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:95: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:112: Warning: 
   E-ACSL construct `predicates with labels' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:96: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:113: Warning: 
   E-ACSL construct `predicates with labels' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:95: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:112: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:101: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:118: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
 [e-acsl] translation done in project "e-acsl".
-[eva:alarm] FRAMAC_SHARE/libc/string.h:135: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:152: Warning: 
   function __e_acsl_assert_register_ptr: precondition data->values == \null ||
                                                       \valid(data->values) got status unknown.
-[eva:alarm] FRAMAC_SHARE/libc/string.h:134: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:151: Warning: 
   function __gen_e_acsl_memset: postcondition 'acsl_c_equiv' got status unknown.
 [eva:alarm] mem.c:10: Warning: 
   function __e_acsl_assert_register_ulong: precondition data->values == \null ||
@@ -82,27 +82,27 @@
 [eva:alarm] mem.c:19: Warning: 
   function __e_acsl_assert_register_int: precondition data->values == \null ||
                                                       \valid(data->values) got status unknown.
-[eva:alarm] FRAMAC_SHARE/libc/string.h:98: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:115: Warning: 
   function __e_acsl_assert_register_int: precondition data->values == \null ||
                                                       \valid(data->values) got status unknown.
-[eva:alarm] FRAMAC_SHARE/libc/string.h:98: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:115: Warning: 
   function __e_acsl_assert_register_ulong: precondition data->values == \null ||
                                                         \valid(data->values) got status unknown.
-[eva:alarm] FRAMAC_SHARE/libc/string.h:98: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:115: Warning: 
   function __e_acsl_assert_register_ulong: precondition data->values == \null ||
                                                         \valid(data->values) got status unknown.
-[eva:alarm] FRAMAC_SHARE/libc/string.h:98: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:115: Warning: 
   function __e_acsl_assert, behavior blocking: precondition got status unknown.
-[eva:alarm] FRAMAC_SHARE/libc/string.h:98: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:115: Warning: 
   function __e_acsl_assert_register_ulong: precondition data->values == \null ||
                                                         \valid(data->values) got status unknown.
-[eva:alarm] FRAMAC_SHARE/libc/string.h:98: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:115: Warning: 
   function __e_acsl_assert_register_ptr: precondition data->values == \null ||
                                                       \valid(data->values) got status unknown.
-[eva:alarm] FRAMAC_SHARE/libc/string.h:102: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:119: Warning: 
   function __e_acsl_assert_register_ptr: precondition data->values == \null ||
                                                       \valid(data->values) got status unknown.
-[eva:alarm] FRAMAC_SHARE/libc/string.h:101: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:118: Warning: 
   function __gen_e_acsl_memcpy: postcondition 'copied_contents' got status unknown.
 [eva:alarm] mem.c:23: Warning: 
   function __e_acsl_assert_register_ulong: precondition data->values == \null ||
@@ -119,10 +119,10 @@
 [eva:alarm] mem.c:25: Warning: 
   function __e_acsl_assert_register_int: precondition data->values == \null ||
                                                       \valid(data->values) got status unknown.
-[eva:alarm] FRAMAC_SHARE/libc/string.h:125: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:142: Warning: 
   function __e_acsl_assert_register_ptr: precondition data->values == \null ||
                                                       \valid(data->values) got status unknown.
-[eva:alarm] FRAMAC_SHARE/libc/string.h:124: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:141: Warning: 
   function __gen_e_acsl_memmove: postcondition 'copied_contents' got status unknown.
 [eva:alarm] mem.c:28: Warning: 
   function __e_acsl_assert_register_int: precondition data->values == \null ||
diff --git a/src/plugins/e-acsl/tests/libc/oracle/str.res.oracle b/src/plugins/e-acsl/tests/libc/oracle/str.res.oracle
index 67886b4500ae16bb187e07dbbe1e3b244bd84636..00c9e9bab1d0642c1b664b698c697135bcdc5456 100644
--- a/src/plugins/e-acsl/tests/libc/oracle/str.res.oracle
+++ b/src/plugins/e-acsl/tests/libc/oracle/str.res.oracle
@@ -1,121 +1,138 @@
 [e-acsl] beginning translation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:439: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:497: Warning: 
   no assigns clause generated for function valid_read_nstring because pointers as arguments is not yet supported
-[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:284: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:280: Warning: 
   E-ACSL construct `labeled \valid_read' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:440: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:498: Warning: 
   no assigns clause generated for function valid_string because pointers as arguments is not yet supported
-[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:278: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:274: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:445: Warning: 
-  no assigns clause generated for function valid_read_string because pointers as arguments is not yet supported
-[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:281: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:500: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:453: Warning: 
-  E-ACSL construct `logic functions or predicates performing read accesses'
+[e-acsl] FRAMAC_SHARE/libc/string.h:500: Warning: 
+  no assigns clause generated for function strnlen because pointers as arguments is not yet supported
+[e-acsl] FRAMAC_SHARE/libc/string.h:500: Warning: 
+  E-ACSL construct
+  `logic functions or predicates with no definition nor reads clause'
+  is not yet supported.
+  Ignoring annotation.
+[e-acsl] FRAMAC_SHARE/libc/string.h:506: Warning: 
+  E-ACSL construct
+  `logic functions or predicates with no definition nor reads clause'
+  is not yet supported.
+  Ignoring annotation.
+[e-acsl] FRAMAC_SHARE/libc/string.h:513: Warning: 
+  E-ACSL construct
+  `logic functions or predicates with no definition nor reads clause'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:446: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:507: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:454: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:514: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:438: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:496: Warning: 
   Some assumes clauses could not be translated.
   Ignoring complete and disjoint behaviors annotations.
-[e-acsl] FRAMAC_SHARE/libc/string.h:438: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:496: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:443: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:504: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:450: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:511: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:450: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:511: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:458: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:518: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:424: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:476: Warning: 
+  no assigns clause generated for function valid_read_string because pointers as arguments is not yet supported
+[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:277: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:425: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:477: Warning: 
+  E-ACSL construct `logic functions or predicates performing read accesses'
+  is not yet supported.
+  Ignoring annotation.
+[e-acsl] FRAMAC_SHARE/libc/string.h:478: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:426: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:480: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:423: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:475: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:429: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:483: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:432: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:486: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:433: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:487: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:379: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:431: Warning: 
   E-ACSL construct `labeled \valid_read' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:388: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:440: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:391: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:443: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:378: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:430: Warning: 
   Some assumes clauses could not be translated.
   Ignoring complete and disjoint behaviors annotations.
-[e-acsl] FRAMAC_SHARE/libc/string.h:378: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:430: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:389: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:441: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:392: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:444: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:367: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:419: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:368: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:420: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:370: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:422: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:367: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:419: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:373: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:425: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
@@ -126,12 +143,12 @@
 [eva:alarm] str.c:13: Warning: 
   function __e_acsl_assert_register_int: precondition data->values == \null ||
                                                       \valid(data->values) got status unknown.
-[eva:alarm] FRAMAC_SHARE/libc/string.h:367: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:419: Warning: 
   function __e_acsl_assert, behavior blocking: precondition got status unknown.
-[eva:alarm] FRAMAC_SHARE/libc/string.h:374: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:426: Warning: 
   function __e_acsl_assert_register_ptr: precondition data->values == \null ||
                                                       \valid(data->values) got status unknown.
-[eva:alarm] FRAMAC_SHARE/libc/string.h:373: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:425: Warning: 
   function __gen_e_acsl_strcpy: postcondition 'equal_contents' got status unknown.
 [eva:alarm] str.c:16: Warning: 
   function __e_acsl_assert_register_int: precondition data->values == \null ||
diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_hidden_malloc.c b/src/plugins/e-acsl/tests/memory/oracle/gen_hidden_malloc.c
index fc9c66c217bb9cac04a30bbc8f7e27e8472ad382..321145a55641a93fc164950245e30f75da6e9e63 100644
--- a/src/plugins/e-acsl/tests/memory/oracle/gen_hidden_malloc.c
+++ b/src/plugins/e-acsl/tests/memory/oracle/gen_hidden_malloc.c
@@ -205,7 +205,7 @@ char *__gen_e_acsl_realpath(char const * restrict file_name,
     __gen_e_acsl_assert_data_2.pred_txt = "resolved_name == \\null || \\valid(resolved_name + (0 .. 4096 - 1))";
     __gen_e_acsl_assert_data_2.file = "FRAMAC_SHARE/libc/stdlib.h";
     __gen_e_acsl_assert_data_2.fct = "realpath";
-    __gen_e_acsl_assert_data_2.line = 759;
+    __gen_e_acsl_assert_data_2.line = 842;
     __gen_e_acsl_assert_data_2.name = "resolved_name_null_or_allocated";
     __e_acsl_assert(__gen_e_acsl_or,& __gen_e_acsl_assert_data_2);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2);
@@ -231,7 +231,7 @@ char *__gen_e_acsl_realpath(char const * restrict file_name,
       __gen_e_acsl_assert_data_4.pred_txt = "__fc_errno == 22";
       __gen_e_acsl_assert_data_4.file = "FRAMAC_SHARE/libc/stdlib.h";
       __gen_e_acsl_assert_data_4.fct = "realpath";
-      __gen_e_acsl_assert_data_4.line = 770;
+      __gen_e_acsl_assert_data_4.line = 853;
       __gen_e_acsl_assert_data_4.name = "null_file_name/errno_set";
       __e_acsl_assert(errno == 22,& __gen_e_acsl_assert_data_4);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4);
@@ -240,7 +240,7 @@ char *__gen_e_acsl_realpath(char const * restrict file_name,
       __gen_e_acsl_assert_data_3.pred_txt = "\\result == \\null";
       __gen_e_acsl_assert_data_3.file = "FRAMAC_SHARE/libc/stdlib.h";
       __gen_e_acsl_assert_data_3.fct = "realpath";
-      __gen_e_acsl_assert_data_3.line = 769;
+      __gen_e_acsl_assert_data_3.line = 852;
       __gen_e_acsl_assert_data_3.name = "null_file_name/null_result";
       __e_acsl_assert(__retres == (char *)0,& __gen_e_acsl_assert_data_3);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3);
@@ -261,7 +261,7 @@ char *__gen_e_acsl_realpath(char const * restrict file_name,
       __gen_e_acsl_assert_data_7.pred_txt = "__fc_errno == 12";
       __gen_e_acsl_assert_data_7.file = "FRAMAC_SHARE/libc/stdlib.h";
       __gen_e_acsl_assert_data_7.fct = "realpath";
-      __gen_e_acsl_assert_data_7.line = 785;
+      __gen_e_acsl_assert_data_7.line = 868;
       __gen_e_acsl_assert_data_7.name = "not_enough_memory/errno_set";
       __e_acsl_assert(errno == 12,& __gen_e_acsl_assert_data_7);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7);
@@ -270,7 +270,7 @@ char *__gen_e_acsl_realpath(char const * restrict file_name,
       __gen_e_acsl_assert_data_6.pred_txt = "\\result == \\null";
       __gen_e_acsl_assert_data_6.file = "FRAMAC_SHARE/libc/stdlib.h";
       __gen_e_acsl_assert_data_6.fct = "realpath";
-      __gen_e_acsl_assert_data_6.line = 784;
+      __gen_e_acsl_assert_data_6.line = 867;
       __gen_e_acsl_assert_data_6.name = "not_enough_memory/null_result";
       __e_acsl_assert(__retres == (char *)0,& __gen_e_acsl_assert_data_6);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6);
@@ -290,7 +290,7 @@ char *__gen_e_acsl_realpath(char const * restrict file_name,
       __gen_e_acsl_assert_data_9.pred_txt = "\\result == \\old(resolved_name)";
       __gen_e_acsl_assert_data_9.file = "FRAMAC_SHARE/libc/stdlib.h";
       __gen_e_acsl_assert_data_9.fct = "realpath";
-      __gen_e_acsl_assert_data_9.line = 796;
+      __gen_e_acsl_assert_data_9.line = 880;
       __gen_e_acsl_assert_data_9.name = "resolved_name_buffer/resolved_result";
       __e_acsl_assert(__retres == __gen_e_acsl_at,
                       & __gen_e_acsl_assert_data_9);
@@ -308,7 +308,7 @@ char *__gen_e_acsl_realpath(char const * restrict file_name,
       __gen_e_acsl_assert_data_10.pred_txt = "\\result == \\null";
       __gen_e_acsl_assert_data_10.file = "FRAMAC_SHARE/libc/stdlib.h";
       __gen_e_acsl_assert_data_10.fct = "realpath";
-      __gen_e_acsl_assert_data_10.line = 802;
+      __gen_e_acsl_assert_data_10.line = 886;
       __gen_e_acsl_assert_data_10.name = "filesystem_error/null_result";
       __e_acsl_assert(__retres == (char *)0,& __gen_e_acsl_assert_data_10);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_10);
diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_memalign.c b/src/plugins/e-acsl/tests/memory/oracle/gen_memalign.c
index 90b363e3678824a5f951d60b97bfc3945c84f774..80d3c12fd943bd91f0ed1e3d89065342d92eda74 100644
--- a/src/plugins/e-acsl/tests/memory/oracle/gen_memalign.c
+++ b/src/plugins/e-acsl/tests/memory/oracle/gen_memalign.c
@@ -420,7 +420,7 @@ int __gen_e_acsl_posix_memalign(void **memptr, size_t alignment, size_t size)
     __gen_e_acsl_assert_data.pred_txt = "\\valid(memptr)";
     __gen_e_acsl_assert_data.file = "FRAMAC_SHARE/libc/stdlib.h";
     __gen_e_acsl_assert_data.fct = "posix_memalign";
-    __gen_e_acsl_assert_data.line = 702;
+    __gen_e_acsl_assert_data.line = 785;
     __gen_e_acsl_assert_data.name = "valid_memptr";
     __e_acsl_assert(__gen_e_acsl_valid,& __gen_e_acsl_assert_data);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data);
@@ -463,7 +463,7 @@ int __gen_e_acsl_posix_memalign(void **memptr, size_t alignment, size_t size)
     __gen_e_acsl_assert_data_2.pred_txt = "alignment >= sizeof(void *) &&\n((size_t)alignment & (size_t)alignment - 1) == 0";
     __gen_e_acsl_assert_data_2.file = "FRAMAC_SHARE/libc/stdlib.h";
     __gen_e_acsl_assert_data_2.fct = "posix_memalign";
-    __gen_e_acsl_assert_data_2.line = 704;
+    __gen_e_acsl_assert_data_2.line = 787;
     __gen_e_acsl_assert_data_2.name = "alignment_is_a_suitable_power_of_two";
     __e_acsl_assert(__gen_e_acsl_and,& __gen_e_acsl_assert_data_2);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2);
@@ -483,7 +483,7 @@ int __gen_e_acsl_posix_memalign(void **memptr, size_t alignment, size_t size)
       __gen_e_acsl_assert_data_4.pred_txt = "\\result == 0";
       __gen_e_acsl_assert_data_4.file = "FRAMAC_SHARE/libc/stdlib.h";
       __gen_e_acsl_assert_data_4.fct = "posix_memalign";
-      __gen_e_acsl_assert_data_4.line = 716;
+      __gen_e_acsl_assert_data_4.line = 799;
       __gen_e_acsl_assert_data_4.name = "allocation/result_zero";
       __e_acsl_assert(__retres == 0,& __gen_e_acsl_assert_data_4);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4);
@@ -507,7 +507,7 @@ int __gen_e_acsl_posix_memalign(void **memptr, size_t alignment, size_t size)
       __gen_e_acsl_assert_data_5.pred_txt = "\\result < 0 || \\result > 0";
       __gen_e_acsl_assert_data_5.file = "FRAMAC_SHARE/libc/stdlib.h";
       __gen_e_acsl_assert_data_5.fct = "posix_memalign";
-      __gen_e_acsl_assert_data_5.line = 721;
+      __gen_e_acsl_assert_data_5.line = 804;
       __gen_e_acsl_assert_data_5.name = "no_allocation/result_non_zero";
       __e_acsl_assert(__gen_e_acsl_or,& __gen_e_acsl_assert_data_5);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5);
diff --git a/src/plugins/e-acsl/tests/memory/oracle/hidden_malloc.res.oracle b/src/plugins/e-acsl/tests/memory/oracle/hidden_malloc.res.oracle
index 25a8a53eceb1175fbdd93ff8adfd73b6b9b8258b..27d93fcb73cbe470eaea8f27d7fc9a7ae2ea0e30 100644
--- a/src/plugins/e-acsl/tests/memory/oracle/hidden_malloc.res.oracle
+++ b/src/plugins/e-acsl/tests/memory/oracle/hidden_malloc.res.oracle
@@ -2,57 +2,57 @@
 [e-acsl] Warning: annotating undefined function `realpath':
   the generated program may miss memory instrumentation
   if there are memory-related annotations.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:755: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:838: Warning: 
   E-ACSL construct `\fresh' is not yet supported. Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:757: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:840: Warning: 
   no assigns clause generated for function valid_read_string because pointers as arguments is not yet supported
-[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:281: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:277: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:772: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:855: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:779: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:862: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:787: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:870: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:799: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:882: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:755: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:838: Warning: 
   Some assumes clauses could not be translated.
   Ignoring complete and disjoint behaviors annotations.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:755: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:838: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:770: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:853: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:777: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:860: Warning: 
   E-ACSL construct `\fresh' is not yet supported. Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:777: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:860: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:785: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:868: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:792: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:876: Warning: 
   no assigns clause generated for function valid_string because pointers as arguments is not yet supported
-[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:278: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:274: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:796: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:880: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:804: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:888: Warning: 
   E-ACSL construct
   `logic functions or predicates with no definition nor reads clause'
   is not yet supported.
diff --git a/src/plugins/e-acsl/tests/memory/oracle/mainargs.res.oracle b/src/plugins/e-acsl/tests/memory/oracle/mainargs.res.oracle
index 411c0b7ba798d3afe689edf886fe08f7a6ca47b5..23d24e3095e594e93553bae1ed36b05412b9a8eb 100644
--- a/src/plugins/e-acsl/tests/memory/oracle/mainargs.res.oracle
+++ b/src/plugins/e-acsl/tests/memory/oracle/mainargs.res.oracle
@@ -2,16 +2,16 @@
 [e-acsl] Warning: annotating undefined function `strlen':
   the generated program may miss memory instrumentation
   if there are memory-related annotations.
-[e-acsl] FRAMAC_SHARE/libc/string.h:141: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:158: Warning: 
   no assigns clause generated for function valid_read_string because pointers as arguments is not yet supported
-[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:281: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:277: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:141: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:158: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:143: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:160: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
@@ -82,9 +82,9 @@
 [eva:alarm] mainargs.c:16: Warning: assertion got status unknown.
 [eva:alarm] mainargs.c:18: Warning: 
   function __gen_e_acsl_strlen: precondition 'valid_string_s' got status unknown.
-[eva:alarm] FRAMAC_SHARE/libc/string.h:141: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:158: Warning: 
   function strlen: precondition 'valid_string_s' got status unknown.
-[eva:alarm] FRAMAC_SHARE/libc/string.h:143: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:160: Warning: 
   function __gen_e_acsl_strlen: postcondition 'acsl_c_equiv' got status unknown.
 [eva:alarm] mainargs.c:19: Warning: 
   function __e_acsl_assert_register_int: precondition data->values == \null ||
diff --git a/src/plugins/e-acsl/tests/memory/oracle/memalign.res.oracle b/src/plugins/e-acsl/tests/memory/oracle/memalign.res.oracle
index 4dc9a20ea6aabb658451aaacf8020393e60b10cf..f17a43af95db3a68f64d9f12fb3bd622ec9fc8c3 100644
--- a/src/plugins/e-acsl/tests/memory/oracle/memalign.res.oracle
+++ b/src/plugins/e-acsl/tests/memory/oracle/memalign.res.oracle
@@ -2,25 +2,25 @@
 [e-acsl] Warning: annotating undefined function `posix_memalign':
   the generated program may miss memory instrumentation
   if there are memory-related annotations.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:701: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:784: Warning: 
   E-ACSL construct `\fresh' is not yet supported. Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:711: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:794: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:718: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:801: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:701: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:784: Warning: 
   Some assumes clauses could not be translated.
   Ignoring complete and disjoint behaviors annotations.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:701: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:784: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:715: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:798: Warning: 
   E-ACSL construct `\fresh' is not yet supported. Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:716: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:799: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
 [e-acsl] translation done in project "e-acsl".
diff --git a/src/plugins/e-acsl/tests/memory/oracle/memsize.res.oracle b/src/plugins/e-acsl/tests/memory/oracle/memsize.res.oracle
index e608985d5a008400c7eaec279bd9bf175a8d87d2..3e4f2b0295e1fc586820cf1a277c1de17c7449a5 100644
--- a/src/plugins/e-acsl/tests/memory/oracle/memsize.res.oracle
+++ b/src/plugins/e-acsl/tests/memory/oracle/memsize.res.oracle
@@ -14,7 +14,7 @@
 [eva] memsize.c:25: Warning: ignoring unsupported allocates clause
 [eva:alarm] memsize.c:26: Warning: 
   function __e_acsl_assert, behavior blocking: precondition got status unknown.
-[eva] FRAMAC_SHARE/libc/stdlib.h:453: Warning: 
+[eva] FRAMAC_SHARE/libc/stdlib.h:485: Warning: 
   no 'assigns \result \from ...' clause specified for function realloc
 [eva] memsize.c:29: Warning: ignoring unsupported allocates clause
 [eva:alarm] memsize.c:29: Warning: 
@@ -42,7 +42,7 @@
   function __e_acsl_assert, behavior blocking: precondition got status unknown.
 [eva:alarm] memsize.c:52: Warning: 
   function __e_acsl_assert, behavior blocking: precondition got status unknown.
-[eva] FRAMAC_SHARE/libc/stdlib.h:386: Warning: 
+[eva] FRAMAC_SHARE/libc/stdlib.h:418: Warning: 
   no 'assigns \result \from ...' clause specified for function calloc
 [eva] memsize.c:55: Warning: ignoring unsupported allocates clause
 [eva:alarm] memsize.c:56: Warning: 
diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_fun_lib.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_fun_lib.c
index ede92c3c70c3c7822255a83be2ea29009cc1d2cf..78967c20b82a00d7be3de12acfd62c596dc778ab 100644
--- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_fun_lib.c
+++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_fun_lib.c
@@ -207,7 +207,7 @@ char *__gen_e_acsl_realpath(char const * restrict file_name,
     __gen_e_acsl_assert_data_2.pred_txt = "resolved_name == \\null || \\valid(resolved_name + (0 .. 4096 - 1))";
     __gen_e_acsl_assert_data_2.file = "FRAMAC_SHARE/libc/stdlib.h";
     __gen_e_acsl_assert_data_2.fct = "realpath";
-    __gen_e_acsl_assert_data_2.line = 759;
+    __gen_e_acsl_assert_data_2.line = 842;
     __gen_e_acsl_assert_data_2.name = "resolved_name_null_or_allocated";
     __e_acsl_assert(__gen_e_acsl_or,& __gen_e_acsl_assert_data_2);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2);
@@ -238,7 +238,7 @@ char *__gen_e_acsl_realpath(char const * restrict file_name,
       __gen_e_acsl_assert_data_4.pred_txt = "__fc_errno == 22";
       __gen_e_acsl_assert_data_4.file = "FRAMAC_SHARE/libc/stdlib.h";
       __gen_e_acsl_assert_data_4.fct = "realpath";
-      __gen_e_acsl_assert_data_4.line = 770;
+      __gen_e_acsl_assert_data_4.line = 853;
       __gen_e_acsl_assert_data_4.name = "null_file_name/errno_set";
       __e_acsl_assert(errno == 22,& __gen_e_acsl_assert_data_4);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4);
@@ -247,7 +247,7 @@ char *__gen_e_acsl_realpath(char const * restrict file_name,
       __gen_e_acsl_assert_data_3.pred_txt = "\\result == \\null";
       __gen_e_acsl_assert_data_3.file = "FRAMAC_SHARE/libc/stdlib.h";
       __gen_e_acsl_assert_data_3.fct = "realpath";
-      __gen_e_acsl_assert_data_3.line = 769;
+      __gen_e_acsl_assert_data_3.line = 852;
       __gen_e_acsl_assert_data_3.name = "null_file_name/null_result";
       __e_acsl_assert(__retres == (char *)0,& __gen_e_acsl_assert_data_3);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3);
@@ -268,7 +268,7 @@ char *__gen_e_acsl_realpath(char const * restrict file_name,
       __gen_e_acsl_assert_data_7.pred_txt = "__fc_errno == 12";
       __gen_e_acsl_assert_data_7.file = "FRAMAC_SHARE/libc/stdlib.h";
       __gen_e_acsl_assert_data_7.fct = "realpath";
-      __gen_e_acsl_assert_data_7.line = 785;
+      __gen_e_acsl_assert_data_7.line = 868;
       __gen_e_acsl_assert_data_7.name = "not_enough_memory/errno_set";
       __e_acsl_assert(errno == 12,& __gen_e_acsl_assert_data_7);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7);
@@ -277,7 +277,7 @@ char *__gen_e_acsl_realpath(char const * restrict file_name,
       __gen_e_acsl_assert_data_6.pred_txt = "\\result == \\null";
       __gen_e_acsl_assert_data_6.file = "FRAMAC_SHARE/libc/stdlib.h";
       __gen_e_acsl_assert_data_6.fct = "realpath";
-      __gen_e_acsl_assert_data_6.line = 784;
+      __gen_e_acsl_assert_data_6.line = 867;
       __gen_e_acsl_assert_data_6.name = "not_enough_memory/null_result";
       __e_acsl_assert(__retres == (char *)0,& __gen_e_acsl_assert_data_6);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6);
@@ -297,7 +297,7 @@ char *__gen_e_acsl_realpath(char const * restrict file_name,
       __gen_e_acsl_assert_data_9.pred_txt = "\\result == \\old(resolved_name)";
       __gen_e_acsl_assert_data_9.file = "FRAMAC_SHARE/libc/stdlib.h";
       __gen_e_acsl_assert_data_9.fct = "realpath";
-      __gen_e_acsl_assert_data_9.line = 796;
+      __gen_e_acsl_assert_data_9.line = 880;
       __gen_e_acsl_assert_data_9.name = "resolved_name_buffer/resolved_result";
       __e_acsl_assert(__retres == __gen_e_acsl_at,
                       & __gen_e_acsl_assert_data_9);
@@ -315,7 +315,7 @@ char *__gen_e_acsl_realpath(char const * restrict file_name,
       __gen_e_acsl_assert_data_10.pred_txt = "\\result == \\null";
       __gen_e_acsl_assert_data_10.file = "FRAMAC_SHARE/libc/stdlib.h";
       __gen_e_acsl_assert_data_10.fct = "realpath";
-      __gen_e_acsl_assert_data_10.line = 802;
+      __gen_e_acsl_assert_data_10.line = 886;
       __gen_e_acsl_assert_data_10.name = "filesystem_error/null_result";
       __e_acsl_assert(__retres == (char *)0,& __gen_e_acsl_assert_data_10);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_10);
diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_getenv.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_getenv.c
index a95cdb0ed93f608bc404277e283b3411d1d8b3db..3ef3318f69b410b2529a203a7c5d342520afae3a 100644
--- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_getenv.c
+++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_getenv.c
@@ -12,16 +12,24 @@ char *__gen_e_acsl_literal_string;
 extern  __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict;
 
 /*@ requires valid_name: valid_read_string(name);
-    ensures null_or_valid_result: \result == \null || \valid(\result);
+    ensures
+      null_or_valid_result:
+        \result == \null || (\valid(\result) && valid_read_string(\result));
     assigns \result;
-    assigns \result \from __fc_env[0 ..], (indirect: name), *(name + (0 ..));
+    assigns \result
+      \from __fc_env[0 ..], (indirect: name),
+            (indirect: *(name + (0 .. strlen{Old}(name))));
  */
 char *__gen_e_acsl_getenv(char const *name);
 
 /*@ requires valid_name: valid_read_string(name);
-    ensures null_or_valid_result: \result == \null || \valid(\result);
+    ensures
+      null_or_valid_result:
+        \result == \null || (\valid(\result) && valid_read_string(\result));
     assigns \result;
-    assigns \result \from __fc_env[0 ..], (indirect: name), *(name + (0 ..));
+    assigns \result
+      \from __fc_env[0 ..], (indirect: name),
+            (indirect: *(name + (0 .. strlen{Old}(name))));
  */
 char *__gen_e_acsl_getenv(char const *name)
 {
@@ -31,39 +39,9 @@ char *__gen_e_acsl_getenv(char const *name)
   __e_acsl_temporal_reset_return();
   __retres = getenv(name);
   __e_acsl_temporal_store_nblock((void *)(& __retres),(void *)*(& __retres));
-  {
-    int __gen_e_acsl_or;
-    __e_acsl_temporal_save_return((void *)(& __retres));
-    __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 =
-      {.values = (void *)0};
-    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"\\result",
-                                 (void *)__retres);
-    if (__retres == (char *)0) __gen_e_acsl_or = 1;
-    else {
-      int __gen_e_acsl_valid;
-      __gen_e_acsl_valid = __e_acsl_valid((void *)__retres,sizeof(char),
-                                          (void *)__retres,
-                                          (void *)(& __retres));
-      __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"\\result",
-                                   (void *)__retres);
-      __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2,
-                                     "sizeof(char)",0,sizeof(char));
-      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,
-                                   "\\valid(\\result)",0,__gen_e_acsl_valid);
-      __gen_e_acsl_or = __gen_e_acsl_valid;
-    }
-    __gen_e_acsl_assert_data_2.blocking = 1;
-    __gen_e_acsl_assert_data_2.kind = "Postcondition";
-    __gen_e_acsl_assert_data_2.pred_txt = "\\result == \\null || \\valid(\\result)";
-    __gen_e_acsl_assert_data_2.file = "FRAMAC_SHARE/libc/stdlib.h";
-    __gen_e_acsl_assert_data_2.fct = "getenv";
-    __gen_e_acsl_assert_data_2.line = 524;
-    __gen_e_acsl_assert_data_2.name = "null_or_valid_result";
-    __e_acsl_assert(__gen_e_acsl_or,& __gen_e_acsl_assert_data_2);
-    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2);
-    __e_acsl_delete_block((void *)(& __retres));
-    return __retres;
-  }
+  __e_acsl_temporal_save_return((void *)(& __retres));
+  __e_acsl_delete_block((void *)(& __retres));
+  return __retres;
 }
 
 void __e_acsl_globals_init(void)
diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_memcpy.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_memcpy.c
index c4293f684174946dd589aee2f0067051aae0afa6..5284f282963682e4507a2e0de7aa871255547eff 100644
--- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_memcpy.c
+++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_memcpy.c
@@ -756,7 +756,7 @@ void *__gen_e_acsl_memset(void *s, int c, size_t n)
     __gen_e_acsl_assert_data_3.pred_txt = "\\result == \\old(s)";
     __gen_e_acsl_assert_data_3.file = "FRAMAC_SHARE/libc/string.h";
     __gen_e_acsl_assert_data_3.fct = "memset";
-    __gen_e_acsl_assert_data_3.line = 135;
+    __gen_e_acsl_assert_data_3.line = 152;
     __gen_e_acsl_assert_data_3.name = "result_ptr";
     __e_acsl_assert(__retres == __gen_e_acsl_at,& __gen_e_acsl_assert_data_3);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3);
@@ -854,7 +854,7 @@ void *__gen_e_acsl_memcpy(void * restrict dest, void const * restrict src,
     __gen_e_acsl_assert_data_4.pred_txt = "\\valid_read((char *)dest + (0 .. n - 1))";
     __gen_e_acsl_assert_data_4.file = "FRAMAC_SHARE/libc/string.h";
     __gen_e_acsl_assert_data_4.fct = "memcpy";
-    __gen_e_acsl_assert_data_4.line = 98;
+    __gen_e_acsl_assert_data_4.line = 115;
     __gen_e_acsl_assert_data_4.name = "separated_guard";
     __e_acsl_assert(__gen_e_acsl_valid_read,& __gen_e_acsl_assert_data_4);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4);
@@ -885,7 +885,7 @@ void *__gen_e_acsl_memcpy(void * restrict dest, void const * restrict src,
     __gen_e_acsl_assert_data_5.pred_txt = "\\valid_read((char *)src + (0 .. n - 1))";
     __gen_e_acsl_assert_data_5.file = "FRAMAC_SHARE/libc/string.h";
     __gen_e_acsl_assert_data_5.fct = "memcpy";
-    __gen_e_acsl_assert_data_5.line = 98;
+    __gen_e_acsl_assert_data_5.line = 115;
     __gen_e_acsl_assert_data_5.name = "separated_guard";
     __e_acsl_assert(__gen_e_acsl_valid_read_2,& __gen_e_acsl_assert_data_5);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5);
@@ -930,7 +930,7 @@ void *__gen_e_acsl_memcpy(void * restrict dest, void const * restrict src,
     __gen_e_acsl_assert_data_3.pred_txt = "\\separated((char *)dest + (0 .. n - 1), (char *)src + (0 .. n - 1))";
     __gen_e_acsl_assert_data_3.file = "FRAMAC_SHARE/libc/string.h";
     __gen_e_acsl_assert_data_3.fct = "memcpy";
-    __gen_e_acsl_assert_data_3.line = 98;
+    __gen_e_acsl_assert_data_3.line = 115;
     __gen_e_acsl_assert_data_3.name = "separation";
     __e_acsl_assert(__gen_e_acsl_separated,& __gen_e_acsl_assert_data_3);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3);
@@ -960,7 +960,7 @@ void *__gen_e_acsl_memcpy(void * restrict dest, void const * restrict src,
     __gen_e_acsl_assert_data_7.pred_txt = "\\result == \\old(dest)";
     __gen_e_acsl_assert_data_7.file = "FRAMAC_SHARE/libc/string.h";
     __gen_e_acsl_assert_data_7.fct = "memcpy";
-    __gen_e_acsl_assert_data_7.line = 102;
+    __gen_e_acsl_assert_data_7.line = 119;
     __gen_e_acsl_assert_data_7.name = "result_ptr";
     __e_acsl_assert(__retres == __gen_e_acsl_at,& __gen_e_acsl_assert_data_7);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7);
diff --git a/src/plugins/e-acsl/tests/temporal/oracle/t_fun_lib.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle/t_fun_lib.res.oracle
index 014073a4bba894b34d813b8db4b56715fbb9f203..479597f91297167d45c819ba1520d30791d43710 100644
--- a/src/plugins/e-acsl/tests/temporal/oracle/t_fun_lib.res.oracle
+++ b/src/plugins/e-acsl/tests/temporal/oracle/t_fun_lib.res.oracle
@@ -2,57 +2,57 @@
 [e-acsl] Warning: annotating undefined function `realpath':
   the generated program may miss memory instrumentation
   if there are memory-related annotations.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:755: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:838: Warning: 
   E-ACSL construct `\fresh' is not yet supported. Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:757: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:840: Warning: 
   no assigns clause generated for function valid_read_string because pointers as arguments is not yet supported
-[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:281: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:277: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:772: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:855: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:779: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:862: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:787: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:870: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:799: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:882: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:755: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:838: Warning: 
   Some assumes clauses could not be translated.
   Ignoring complete and disjoint behaviors annotations.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:755: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:838: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:770: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:853: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:777: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:860: Warning: 
   E-ACSL construct `\fresh' is not yet supported. Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:777: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:860: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:785: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:868: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:792: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:876: Warning: 
   no assigns clause generated for function valid_string because pointers as arguments is not yet supported
-[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:278: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:274: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:796: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:880: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:804: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:888: Warning: 
   E-ACSL construct
   `logic functions or predicates with no definition nor reads clause'
   is not yet supported.
diff --git a/src/plugins/e-acsl/tests/temporal/oracle/t_getenv.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle/t_getenv.res.oracle
index 512e712c13d305d6a7a8a8d3aa316915f3246491..8587f5a2e6a228103cb6663da293c8b1905a8c06 100644
--- a/src/plugins/e-acsl/tests/temporal/oracle/t_getenv.res.oracle
+++ b/src/plugins/e-acsl/tests/temporal/oracle/t_getenv.res.oracle
@@ -2,28 +2,21 @@
 [e-acsl] Warning: annotating undefined function `getenv':
   the generated program may miss memory instrumentation
   if there are memory-related annotations.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:522: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:554: Warning: 
   no assigns clause generated for function valid_read_string because pointers as arguments is not yet supported
-[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:281: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:277: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/stdlib.h:521: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:553: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
+[e-acsl] FRAMAC_SHARE/libc/stdlib.h:558: Warning: 
+  E-ACSL construct `logic functions or predicates performing read accesses'
+  is not yet supported.
+  Ignoring annotation.
 [e-acsl] translation done in project "e-acsl".
-[eva:alarm] FRAMAC_SHARE/libc/stdlib.h:524: Warning: 
-  function __e_acsl_assert_register_ptr: precondition data->values == \null ||
-                                                      \valid(data->values) got status unknown.
-[eva:alarm] FRAMAC_SHARE/libc/stdlib.h:524: Warning: 
-  function __e_acsl_assert_register_ulong: precondition data->values == \null ||
-                                                        \valid(data->values) got status unknown.
-[eva:alarm] FRAMAC_SHARE/libc/stdlib.h:524: Warning: 
-  function __e_acsl_assert_register_int: precondition data->values == \null ||
-                                                      \valid(data->values) got status unknown.
-[eva:alarm] FRAMAC_SHARE/libc/stdlib.h:524: Warning: 
-  function __e_acsl_assert, behavior blocking: precondition got status unknown.
-[eva:alarm] FRAMAC_SHARE/libc/stdlib.h:524: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/stdlib.h:558: Warning: 
   function __gen_e_acsl_getenv: postcondition 'null_or_valid_result' got status unknown.
 [eva:alarm] t_getenv.c:13: Warning: 
   function __e_acsl_assert_register_ptr: precondition data->values == \null ||
diff --git a/src/plugins/e-acsl/tests/temporal/oracle/t_memcpy.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle/t_memcpy.res.oracle
index 9106573e05febb9ac0e542e9402eeab84e00c929..d421a5613b26293031f99c2f68eb452ebc82d9f2 100644
--- a/src/plugins/e-acsl/tests/temporal/oracle/t_memcpy.res.oracle
+++ b/src/plugins/e-acsl/tests/temporal/oracle/t_memcpy.res.oracle
@@ -1,26 +1,26 @@
 [e-acsl] beginning translation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:131: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:148: Warning: 
   no assigns clause generated for function valid_or_empty because pointers as arguments is not yet supported
 [e-acsl] FRAMAC_SHARE/libc/string.h:49: Warning: 
   E-ACSL construct `predicates with labels' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:131: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:148: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:134: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:151: Warning: 
   E-ACSL construct `datacons' is not yet supported. Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:95: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:112: Warning: 
   E-ACSL construct `predicates with labels' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:96: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:113: Warning: 
   no assigns clause generated for function valid_read_or_empty because pointers as arguments is not yet supported
 [e-acsl] FRAMAC_SHARE/libc/string.h:52: Warning: 
   E-ACSL construct `predicates with labels' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:95: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:112: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:101: Warning: 
+[e-acsl] FRAMAC_SHARE/libc/string.h:118: Warning: 
   E-ACSL construct `logic functions or predicates performing read accesses'
   is not yet supported.
   Ignoring annotation.
@@ -49,27 +49,27 @@
 [eva:alarm] t_memcpy.c:21: Warning: 
   function __e_acsl_assert_register_ulong: precondition data->values == \null ||
                                                         \valid(data->values) got status unknown.
-[eva:alarm] FRAMAC_SHARE/libc/string.h:98: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:115: Warning: 
   function __e_acsl_assert_register_int: precondition data->values == \null ||
                                                       \valid(data->values) got status unknown.
-[eva:alarm] FRAMAC_SHARE/libc/string.h:98: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:115: Warning: 
   function __e_acsl_assert_register_ulong: precondition data->values == \null ||
                                                         \valid(data->values) got status unknown.
-[eva:alarm] FRAMAC_SHARE/libc/string.h:98: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:115: Warning: 
   function __e_acsl_assert_register_ulong: precondition data->values == \null ||
                                                         \valid(data->values) got status unknown.
-[eva:alarm] FRAMAC_SHARE/libc/string.h:98: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:115: Warning: 
   function __e_acsl_assert, behavior blocking: precondition got status unknown.
-[eva:alarm] FRAMAC_SHARE/libc/string.h:98: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:115: Warning: 
   function __e_acsl_assert_register_ulong: precondition data->values == \null ||
                                                         \valid(data->values) got status unknown.
-[eva:alarm] FRAMAC_SHARE/libc/string.h:98: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:115: Warning: 
   function __e_acsl_assert_register_ptr: precondition data->values == \null ||
                                                       \valid(data->values) got status unknown.
-[eva:alarm] FRAMAC_SHARE/libc/string.h:102: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:119: Warning: 
   function __e_acsl_assert_register_ptr: precondition data->values == \null ||
                                                       \valid(data->values) got status unknown.
-[eva:alarm] FRAMAC_SHARE/libc/string.h:101: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:118: Warning: 
   function __gen_e_acsl_memcpy: postcondition 'copied_contents' got status unknown.
 [eva:alarm] t_memcpy.c:25: Warning: 
   function __e_acsl_assert_register_ulong: precondition data->values == \null ||
@@ -95,10 +95,10 @@
 [eva:alarm] t_memcpy.c:26: Warning: 
   function __e_acsl_assert_register_ulong: precondition data->values == \null ||
                                                         \valid(data->values) got status unknown.
-[eva:alarm] FRAMAC_SHARE/libc/string.h:135: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:152: Warning: 
   function __e_acsl_assert_register_ptr: precondition data->values == \null ||
                                                       \valid(data->values) got status unknown.
-[eva:alarm] FRAMAC_SHARE/libc/string.h:134: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:151: Warning: 
   function __gen_e_acsl_memset: postcondition 'acsl_c_equiv' got status unknown.
 [eva:alarm] t_memcpy.c:30: Warning: 
   function __e_acsl_assert_register_ulong: precondition data->values == \null ||
diff --git a/src/plugins/markdown-report/tests/md/oracle/cwe126.res.oracle b/src/plugins/markdown-report/tests/md/oracle/cwe126.res.oracle
index 6355ddcc099d73f8d485c9774e22817ad25360f3..2b4cbb58cf0a423e68464a791e2fd97a3d07386b 100644
--- a/src/plugins/markdown-report/tests/md/oracle/cwe126.res.oracle
+++ b/src/plugins/markdown-report/tests/md/oracle/cwe126.res.oracle
@@ -4,7 +4,7 @@
   
 [eva] cwe126.c:77: allocating variable __malloc_goodG2B_l77
 [eva] using specification for function exit
-[eva] FRAMAC_SHARE/libc/string.h:134: 
+[eva] FRAMAC_SHARE/libc/string.h:151: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memset
 [eva] cwe126.c:63: starting to merge loop iterations
 [eva] cwe126.c:41: 
diff --git a/src/plugins/markdown-report/tests/sarif/oracle/std_string.sarif b/src/plugins/markdown-report/tests/sarif/oracle/std_string.sarif
index fdcbf846d8ca558a43f2473c229991bd095d249f..8cd873462f24eff47d8b190625670932cc3ff373 100644
--- a/src/plugins/markdown-report/tests/sarif/oracle/std_string.sarif
+++ b/src/plugins/markdown-report/tests/sarif/oracle/std_string.sarif
@@ -1157,9 +1157,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 189,
+                  "startLine": 247,
                   "startColumn": 12,
-                  "endLine": 189,
+                  "endLine": 247,
                   "endColumn": 25,
                   "byteLength": 13
                 }
@@ -1180,9 +1180,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 187,
+                  "startLine": 245,
                   "startColumn": 28,
-                  "endLine": 187,
+                  "endLine": 245,
                   "endColumn": 34,
                   "byteLength": 6
                 }
@@ -1203,9 +1203,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 189,
+                  "startLine": 247,
                   "startColumn": 12,
-                  "endLine": 189,
+                  "endLine": 247,
                   "endColumn": 25,
                   "byteLength": 13
                 }
@@ -1226,9 +1226,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 185,
+                  "startLine": 243,
                   "startColumn": 13,
-                  "endLine": 185,
+                  "endLine": 243,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -1251,9 +1251,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 198,
+                  "startLine": 261,
                   "startColumn": 17,
-                  "endLine": 198,
+                  "endLine": 261,
                   "endColumn": 42,
                   "byteLength": 25
                 }
@@ -1276,9 +1276,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 198,
+                  "startLine": 261,
                   "startColumn": 17,
-                  "endLine": 198,
+                  "endLine": 261,
                   "endColumn": 42,
                   "byteLength": 25
                 }
@@ -1301,9 +1301,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 197,
+                  "startLine": 260,
                   "startColumn": 12,
-                  "endLine": 197,
+                  "endLine": 260,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -1326,9 +1326,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 202,
+                  "startLine": 265,
                   "startColumn": 17,
-                  "endLine": 202,
+                  "endLine": 265,
                   "endColumn": 37,
                   "byteLength": 20
                 }
@@ -1351,9 +1351,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 202,
+                  "startLine": 265,
                   "startColumn": 17,
-                  "endLine": 202,
+                  "endLine": 265,
                   "endColumn": 37,
                   "byteLength": 20
                 }
@@ -1376,9 +1376,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 201,
+                  "startLine": 264,
                   "startColumn": 12,
-                  "endLine": 201,
+                  "endLine": 264,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -1401,9 +1401,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 205,
+                  "startLine": 268,
                   "startColumn": 17,
-                  "endLine": 205,
+                  "endLine": 268,
                   "endColumn": 37,
                   "byteLength": 20
                 }
@@ -1426,9 +1426,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 205,
+                  "startLine": 268,
                   "startColumn": 17,
-                  "endLine": 205,
+                  "endLine": 268,
                   "endColumn": 37,
                   "byteLength": 20
                 }
@@ -1451,9 +1451,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 204,
+                  "startLine": 267,
                   "startColumn": 12,
-                  "endLine": 204,
+                  "endLine": 267,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -1476,9 +1476,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 80,
+                  "startLine": 90,
                   "startColumn": 12,
-                  "endLine": 80,
+                  "endLine": 90,
                   "endColumn": 33,
                   "byteLength": 21
                 }
@@ -1499,9 +1499,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 75,
+                  "startLine": 85,
                   "startColumn": 20,
-                  "endLine": 75,
+                  "endLine": 85,
                   "endColumn": 30,
                   "byteLength": 10
                 }
@@ -1522,9 +1522,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 78,
+                  "startLine": 88,
                   "startColumn": 28,
-                  "endLine": 78,
+                  "endLine": 88,
                   "endColumn": 49,
                   "byteLength": 21
                 }
@@ -1547,9 +1547,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 76,
+                  "startLine": 86,
                   "startColumn": 12,
-                  "endLine": 76,
+                  "endLine": 86,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -1572,9 +1572,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 76,
+                  "startLine": 86,
                   "startColumn": 12,
-                  "endLine": 76,
+                  "endLine": 86,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -1597,9 +1597,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 77,
+                  "startLine": 87,
                   "startColumn": 12,
-                  "endLine": 77,
+                  "endLine": 87,
                   "endColumn": 34,
                   "byteLength": 22
                 }
@@ -1622,9 +1622,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 172,
+                  "startLine": 230,
                   "startColumn": 14,
-                  "endLine": 172,
+                  "endLine": 230,
                   "endColumn": 37,
                   "byteLength": 23
                 }
@@ -1636,7 +1636,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "finite." },
+          "message": {
+            "text": "behavior finite in function Frama_C_double_interval."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -1645,11 +1647,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 166,
-                  "startColumn": 21,
-                  "endLine": 166,
-                  "endColumn": 55,
-                  "byteLength": 34
+                  "startLine": 230,
+                  "startColumn": 14,
+                  "endLine": 230,
+                  "endColumn": 37,
+                  "byteLength": 23
                 }
               }
             }
@@ -1659,7 +1661,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "order." },
+          "message": {
+            "text": "behavior infinite_not_nan in function Frama_C_double_interval."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -1668,11 +1672,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 167,
-                  "startColumn": 20,
-                  "endLine": 167,
-                  "endColumn": 30,
-                  "byteLength": 10
+                  "startLine": 230,
+                  "startColumn": 14,
+                  "endLine": 230,
+                  "endColumn": 37,
+                  "byteLength": 23
                 }
               }
             }
@@ -1682,7 +1686,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_bounded." },
+          "message": { "text": "order." },
           "locations": [
             {
               "physicalLocation": {
@@ -1691,11 +1695,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 170,
-                  "startColumn": 28,
-                  "endLine": 170,
-                  "endColumn": 72,
-                  "byteLength": 44
+                  "startLine": 221,
+                  "startColumn": 20,
+                  "endLine": 221,
+                  "endColumn": 30,
+                  "byteLength": 10
                 }
               }
             }
@@ -1705,9 +1709,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "assigns clause in function Frama_C_double_interval."
-          },
+          "message": { "text": "order." },
           "locations": [
             {
               "physicalLocation": {
@@ -1716,11 +1718,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 168,
-                  "startColumn": 12,
-                  "endLine": 168,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "startLine": 226,
+                  "startColumn": 20,
+                  "endLine": 226,
+                  "endColumn": 30,
+                  "byteLength": 10
                 }
               }
             }
@@ -1730,9 +1732,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function Frama_C_double_interval."
-          },
+          "message": { "text": "finite." },
           "locations": [
             {
               "physicalLocation": {
@@ -1741,11 +1741,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 168,
-                  "startColumn": 12,
-                  "endLine": 168,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "startLine": 220,
+                  "startColumn": 20,
+                  "endLine": 220,
+                  "endColumn": 54,
+                  "byteLength": 34
                 }
               }
             }
@@ -1755,9 +1755,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term Frama_C_entropy_source in function Frama_C_double_interval."
-          },
+          "message": { "text": "infinite." },
           "locations": [
             {
               "physicalLocation": {
@@ -1766,11 +1764,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 169,
-                  "startColumn": 12,
-                  "endLine": 169,
-                  "endColumn": 34,
-                  "byteLength": 22
+                  "startLine": 224,
+                  "startColumn": 22,
+                  "endLine": 224,
+                  "endColumn": 60,
+                  "byteLength": 38
                 }
               }
             }
@@ -1780,9 +1778,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "behavior default! in function Frama_C_float_interval."
-          },
+          "message": { "text": "not_nan." },
           "locations": [
             {
               "physicalLocation": {
@@ -1791,11 +1787,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 163,
-                  "startColumn": 13,
-                  "endLine": 163,
-                  "endColumn": 35,
-                  "byteLength": 22
+                  "startLine": 225,
+                  "startColumn": 21,
+                  "endLine": 225,
+                  "endColumn": 51,
+                  "byteLength": 30
                 }
               }
             }
@@ -1805,7 +1801,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "finite." },
+          "message": { "text": "result_bounded." },
           "locations": [
             {
               "physicalLocation": {
@@ -1814,11 +1810,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 157,
-                  "startColumn": 21,
-                  "endLine": 157,
-                  "endColumn": 55,
-                  "byteLength": 34
+                  "startLine": 222,
+                  "startColumn": 28,
+                  "endLine": 222,
+                  "endColumn": 72,
+                  "byteLength": 44
                 }
               }
             }
@@ -1828,7 +1824,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "order." },
+          "message": { "text": "result_bounded." },
           "locations": [
             {
               "physicalLocation": {
@@ -1837,11 +1833,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 158,
-                  "startColumn": 20,
-                  "endLine": 158,
-                  "endColumn": 30,
-                  "byteLength": 10
+                  "startLine": 227,
+                  "startColumn": 28,
+                  "endLine": 227,
+                  "endColumn": 70,
+                  "byteLength": 42
                 }
               }
             }
@@ -1851,7 +1847,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_bounded." },
+          "message": {
+            "text": "assigns clause in function Frama_C_double_interval."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -1860,11 +1858,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 161,
-                  "startColumn": 28,
-                  "endLine": 161,
-                  "endColumn": 72,
-                  "byteLength": 44
+                  "startLine": 217,
+                  "startColumn": 10,
+                  "endLine": 217,
+                  "endColumn": 17,
+                  "byteLength": 7
                 }
               }
             }
@@ -1875,7 +1873,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "assigns clause in function Frama_C_float_interval."
+            "text": "from clause of term \\result in function Frama_C_double_interval."
           },
           "locations": [
             {
@@ -1885,10 +1883,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 159,
-                  "startColumn": 12,
-                  "endLine": 159,
-                  "endColumn": 19,
+                  "startLine": 217,
+                  "startColumn": 10,
+                  "endLine": 217,
+                  "endColumn": 17,
                   "byteLength": 7
                 }
               }
@@ -1900,7 +1898,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function Frama_C_float_interval."
+            "text": "from clause of term Frama_C_entropy_source in function Frama_C_double_interval."
           },
           "locations": [
             {
@@ -1910,11 +1908,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 159,
-                  "startColumn": 12,
-                  "endLine": 159,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "startLine": 218,
+                  "startColumn": 10,
+                  "endLine": 218,
+                  "endColumn": 32,
+                  "byteLength": 22
                 }
               }
             }
@@ -1925,7 +1923,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term Frama_C_entropy_source in function Frama_C_float_interval."
+            "text": "disjoint clause in function Frama_C_double_interval."
           },
           "locations": [
             {
@@ -1935,11 +1933,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 160,
-                  "startColumn": 12,
-                  "endLine": 160,
-                  "endColumn": 34,
-                  "byteLength": 22
+                  "startLine": 230,
+                  "startColumn": 14,
+                  "endLine": 230,
+                  "endColumn": 37,
+                  "byteLength": 23
                 }
               }
             }
@@ -1950,7 +1948,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "behavior default! in function Frama_C_int_interval."
+            "text": "behavior default! in function Frama_C_float_interval."
           },
           "locations": [
             {
@@ -1960,11 +1958,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 114,
-                  "startColumn": 11,
-                  "endLine": 114,
-                  "endColumn": 31,
-                  "byteLength": 20
+                  "startLine": 213,
+                  "startColumn": 13,
+                  "endLine": 213,
+                  "endColumn": 35,
+                  "byteLength": 22
                 }
               }
             }
@@ -1974,7 +1972,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "order." },
+          "message": {
+            "text": "behavior finite in function Frama_C_float_interval."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -1983,13 +1983,13 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 109,
-                  "startColumn": 20,
-                  "endLine": 109,
-                  "endColumn": 30,
-                  "byteLength": 10
-                }
-              }
+                  "startLine": 213,
+                  "startColumn": 13,
+                  "endLine": 213,
+                  "endColumn": 35,
+                  "byteLength": 22
+                }
+              }
             }
           ]
         },
@@ -1997,7 +1997,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_bounded." },
+          "message": {
+            "text": "behavior infinite_not_nan in function Frama_C_float_interval."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -2006,11 +2008,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 112,
-                  "startColumn": 28,
-                  "endLine": 112,
-                  "endColumn": 49,
-                  "byteLength": 21
+                  "startLine": 213,
+                  "startColumn": 13,
+                  "endLine": 213,
+                  "endColumn": 35,
+                  "byteLength": 22
                 }
               }
             }
@@ -2020,9 +2022,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "assigns clause in function Frama_C_int_interval."
-          },
+          "message": { "text": "order." },
           "locations": [
             {
               "physicalLocation": {
@@ -2031,11 +2031,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 110,
-                  "startColumn": 12,
-                  "endLine": 110,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "startLine": 204,
+                  "startColumn": 20,
+                  "endLine": 204,
+                  "endColumn": 30,
+                  "byteLength": 10
                 }
               }
             }
@@ -2045,9 +2045,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function Frama_C_int_interval."
-          },
+          "message": { "text": "order." },
           "locations": [
             {
               "physicalLocation": {
@@ -2056,11 +2054,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 110,
-                  "startColumn": 12,
-                  "endLine": 110,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "startLine": 209,
+                  "startColumn": 20,
+                  "endLine": 209,
+                  "endColumn": 30,
+                  "byteLength": 10
                 }
               }
             }
@@ -2070,9 +2068,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term Frama_C_entropy_source in function Frama_C_int_interval."
-          },
+          "message": { "text": "finite." },
           "locations": [
             {
               "physicalLocation": {
@@ -2081,11 +2077,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 111,
-                  "startColumn": 12,
-                  "endLine": 111,
-                  "endColumn": 34,
-                  "byteLength": 22
+                  "startLine": 203,
+                  "startColumn": 20,
+                  "endLine": 203,
+                  "endColumn": 54,
+                  "byteLength": 34
                 }
               }
             }
@@ -2095,9 +2091,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "behavior default! in function Frama_C_interval."
-          },
+          "message": { "text": "infinite." },
           "locations": [
             {
               "physicalLocation": {
@@ -2106,11 +2100,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 57,
-                  "startColumn": 11,
-                  "endLine": 57,
-                  "endColumn": 27,
-                  "byteLength": 16
+                  "startLine": 207,
+                  "startColumn": 22,
+                  "endLine": 207,
+                  "endColumn": 60,
+                  "byteLength": 38
                 }
               }
             }
@@ -2120,7 +2114,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "order." },
+          "message": { "text": "not_nan." },
           "locations": [
             {
               "physicalLocation": {
@@ -2129,11 +2123,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 52,
-                  "startColumn": 20,
-                  "endLine": 52,
-                  "endColumn": 30,
-                  "byteLength": 10
+                  "startLine": 208,
+                  "startColumn": 21,
+                  "endLine": 208,
+                  "endColumn": 51,
+                  "byteLength": 30
                 }
               }
             }
@@ -2152,11 +2146,34 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 55,
+                  "startLine": 205,
                   "startColumn": 28,
-                  "endLine": 55,
-                  "endColumn": 49,
-                  "byteLength": 21
+                  "endLine": 205,
+                  "endColumn": 72,
+                  "byteLength": 44
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "result_bounded." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/__fc_builtin.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 210,
+                  "startColumn": 28,
+                  "endLine": 210,
+                  "endColumn": 70,
+                  "byteLength": 42
                 }
               }
             }
@@ -2167,7 +2184,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "assigns clause in function Frama_C_interval."
+            "text": "assigns clause in function Frama_C_float_interval."
           },
           "locations": [
             {
@@ -2177,10 +2194,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 53,
-                  "startColumn": 12,
-                  "endLine": 53,
-                  "endColumn": 19,
+                  "startLine": 200,
+                  "startColumn": 10,
+                  "endLine": 200,
+                  "endColumn": 17,
                   "byteLength": 7
                 }
               }
@@ -2192,7 +2209,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function Frama_C_interval."
+            "text": "from clause of term \\result in function Frama_C_float_interval."
           },
           "locations": [
             {
@@ -2202,10 +2219,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 53,
-                  "startColumn": 12,
-                  "endLine": 53,
-                  "endColumn": 19,
+                  "startLine": 200,
+                  "startColumn": 10,
+                  "endLine": 200,
+                  "endColumn": 17,
                   "byteLength": 7
                 }
               }
@@ -2217,7 +2234,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term Frama_C_entropy_source in function Frama_C_interval."
+            "text": "from clause of term Frama_C_entropy_source in function Frama_C_float_interval."
           },
           "locations": [
             {
@@ -2227,10 +2244,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 54,
-                  "startColumn": 12,
-                  "endLine": 54,
-                  "endColumn": 34,
+                  "startLine": 201,
+                  "startColumn": 10,
+                  "endLine": 201,
+                  "endColumn": 32,
                   "byteLength": 22
                 }
               }
@@ -2242,7 +2259,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "behavior default! in function Frama_C_interval_split."
+            "text": "disjoint clause in function Frama_C_float_interval."
           },
           "locations": [
             {
@@ -2252,16 +2269,41 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 64,
-                  "startColumn": 11,
-                  "endLine": 64,
-                  "endColumn": 33,
+                  "startLine": 213,
+                  "startColumn": 13,
+                  "endLine": 213,
+                  "endColumn": 35,
                   "byteLength": 22
                 }
               }
             }
           ]
         },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": {
+            "text": "behavior default! in function Frama_C_int_interval."
+          },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/__fc_builtin.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 124,
+                  "startColumn": 11,
+                  "endLine": 124,
+                  "endColumn": 31,
+                  "byteLength": 20
+                }
+              }
+            }
+          ]
+        },
         {
           "ruleId": "user-spec",
           "kind": "pass",
@@ -2275,9 +2317,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 59,
+                  "startLine": 119,
                   "startColumn": 20,
-                  "endLine": 59,
+                  "endLine": 119,
                   "endColumn": 30,
                   "byteLength": 10
                 }
@@ -2298,9 +2340,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 62,
+                  "startLine": 122,
                   "startColumn": 28,
-                  "endLine": 62,
+                  "endLine": 122,
                   "endColumn": 49,
                   "byteLength": 21
                 }
@@ -2313,7 +2355,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "assigns clause in function Frama_C_interval_split."
+            "text": "assigns clause in function Frama_C_int_interval."
           },
           "locations": [
             {
@@ -2323,9 +2365,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 60,
+                  "startLine": 120,
                   "startColumn": 12,
-                  "endLine": 60,
+                  "endLine": 120,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -2338,7 +2380,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function Frama_C_interval_split."
+            "text": "from clause of term \\result in function Frama_C_int_interval."
           },
           "locations": [
             {
@@ -2348,9 +2390,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 60,
+                  "startLine": 120,
                   "startColumn": 12,
-                  "endLine": 60,
+                  "endLine": 120,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -2363,7 +2405,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term Frama_C_entropy_source in function Frama_C_interval_split."
+            "text": "from clause of term Frama_C_entropy_source in function Frama_C_int_interval."
           },
           "locations": [
             {
@@ -2373,9 +2415,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 61,
+                  "startLine": 121,
                   "startColumn": 12,
-                  "endLine": 61,
+                  "endLine": 121,
                   "endColumn": 34,
                   "byteLength": 22
                 }
@@ -2388,7 +2430,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "behavior default! in function Frama_C_long_interval."
+            "text": "behavior default! in function Frama_C_interval."
           },
           "locations": [
             {
@@ -2398,11 +2440,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 130,
-                  "startColumn": 12,
-                  "endLine": 130,
-                  "endColumn": 33,
-                  "byteLength": 21
+                  "startLine": 67,
+                  "startColumn": 11,
+                  "endLine": 67,
+                  "endColumn": 27,
+                  "byteLength": 16
                 }
               }
             }
@@ -2421,9 +2463,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 125,
+                  "startLine": 62,
                   "startColumn": 20,
-                  "endLine": 125,
+                  "endLine": 62,
                   "endColumn": 30,
                   "byteLength": 10
                 }
@@ -2444,9 +2486,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 128,
+                  "startLine": 65,
                   "startColumn": 28,
-                  "endLine": 128,
+                  "endLine": 65,
                   "endColumn": 49,
                   "byteLength": 21
                 }
@@ -2459,7 +2501,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "assigns clause in function Frama_C_long_interval."
+            "text": "assigns clause in function Frama_C_interval."
           },
           "locations": [
             {
@@ -2469,9 +2511,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 126,
+                  "startLine": 63,
                   "startColumn": 12,
-                  "endLine": 126,
+                  "endLine": 63,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -2484,7 +2526,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function Frama_C_long_interval."
+            "text": "from clause of term \\result in function Frama_C_interval."
           },
           "locations": [
             {
@@ -2494,9 +2536,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 126,
+                  "startLine": 63,
                   "startColumn": 12,
-                  "endLine": 126,
+                  "endLine": 63,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -2509,7 +2551,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term Frama_C_entropy_source in function Frama_C_long_interval."
+            "text": "from clause of term Frama_C_entropy_source in function Frama_C_interval."
           },
           "locations": [
             {
@@ -2519,9 +2561,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 127,
+                  "startLine": 64,
                   "startColumn": 12,
-                  "endLine": 127,
+                  "endLine": 64,
                   "endColumn": 34,
                   "byteLength": 22
                 }
@@ -2534,7 +2576,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "behavior default! in function Frama_C_long_long_interval."
+            "text": "behavior default! in function Frama_C_interval_split."
           },
           "locations": [
             {
@@ -2544,11 +2586,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 146,
-                  "startColumn": 17,
-                  "endLine": 146,
-                  "endColumn": 43,
-                  "byteLength": 26
+                  "startLine": 74,
+                  "startColumn": 11,
+                  "endLine": 74,
+                  "endColumn": 33,
+                  "byteLength": 22
                 }
               }
             }
@@ -2567,9 +2609,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 141,
+                  "startLine": 69,
                   "startColumn": 20,
-                  "endLine": 141,
+                  "endLine": 69,
                   "endColumn": 30,
                   "byteLength": 10
                 }
@@ -2590,9 +2632,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 144,
+                  "startLine": 72,
                   "startColumn": 28,
-                  "endLine": 144,
+                  "endLine": 72,
                   "endColumn": 49,
                   "byteLength": 21
                 }
@@ -2605,7 +2647,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "assigns clause in function Frama_C_long_long_interval."
+            "text": "assigns clause in function Frama_C_interval_split."
           },
           "locations": [
             {
@@ -2615,9 +2657,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 142,
+                  "startLine": 70,
                   "startColumn": 12,
-                  "endLine": 142,
+                  "endLine": 70,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -2630,7 +2672,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function Frama_C_long_long_interval."
+            "text": "from clause of term \\result in function Frama_C_interval_split."
           },
           "locations": [
             {
@@ -2640,9 +2682,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 142,
+                  "startLine": 70,
                   "startColumn": 12,
-                  "endLine": 142,
+                  "endLine": 70,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -2655,7 +2697,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term Frama_C_entropy_source in function Frama_C_long_long_interval."
+            "text": "from clause of term Frama_C_entropy_source in function Frama_C_interval_split."
           },
           "locations": [
             {
@@ -2665,9 +2707,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 143,
+                  "startLine": 71,
                   "startColumn": 12,
-                  "endLine": 143,
+                  "endLine": 71,
                   "endColumn": 34,
                   "byteLength": 22
                 }
@@ -2680,7 +2722,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "behavior default! in function Frama_C_make_unknown."
+            "text": "behavior default! in function Frama_C_intmax_t_interval."
           },
           "locations": [
             {
@@ -2690,11 +2732,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 38,
-                  "startColumn": 12,
-                  "endLine": 38,
-                  "endColumn": 32,
-                  "byteLength": 20
+                  "startLine": 172,
+                  "startColumn": 16,
+                  "endLine": 172,
+                  "endColumn": 41,
+                  "byteLength": 25
                 }
               }
             }
@@ -2704,7 +2746,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_p." },
+          "message": { "text": "order." },
           "locations": [
             {
               "physicalLocation": {
@@ -2713,11 +2755,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 33,
-                  "startColumn": 22,
-                  "endLine": 33,
-                  "endColumn": 44,
-                  "byteLength": 22
+                  "startLine": 167,
+                  "startColumn": 20,
+                  "endLine": 167,
+                  "endColumn": 30,
+                  "byteLength": 10
                 }
               }
             }
@@ -2727,7 +2769,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "initialization." },
+          "message": { "text": "result_bounded." },
           "locations": [
             {
               "physicalLocation": {
@@ -2736,11 +2778,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 36,
+                  "startLine": 170,
                   "startColumn": 28,
-                  "endLine": 36,
-                  "endColumn": 56,
-                  "byteLength": 28
+                  "endLine": 170,
+                  "endColumn": 49,
+                  "byteLength": 21
                 }
               }
             }
@@ -2751,7 +2793,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "assigns clause in function Frama_C_make_unknown."
+            "text": "assigns clause in function Frama_C_intmax_t_interval."
           },
           "locations": [
             {
@@ -2761,11 +2803,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 34,
+                  "startLine": 168,
                   "startColumn": 12,
-                  "endLine": 34,
-                  "endColumn": 23,
-                  "byteLength": 11
+                  "endLine": 168,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -2776,7 +2818,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term *(p + (0 .. l - 1)) in function Frama_C_make_unknown."
+            "text": "from clause of term \\result in function Frama_C_intmax_t_interval."
           },
           "locations": [
             {
@@ -2786,11 +2828,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 34,
+                  "startLine": 168,
                   "startColumn": 12,
-                  "endLine": 34,
-                  "endColumn": 23,
-                  "byteLength": 11
+                  "endLine": 168,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -2801,7 +2843,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term Frama_C_entropy_source in function Frama_C_make_unknown."
+            "text": "from clause of term Frama_C_entropy_source in function Frama_C_intmax_t_interval."
           },
           "locations": [
             {
@@ -2811,9 +2853,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 35,
+                  "startLine": 169,
                   "startColumn": 12,
-                  "endLine": 35,
+                  "endLine": 169,
                   "endColumn": 34,
                   "byteLength": 22
                 }
@@ -2826,7 +2868,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "behavior default! in function Frama_C_nondet."
+            "text": "behavior default! in function Frama_C_long_interval."
           },
           "locations": [
             {
@@ -2836,11 +2878,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 44,
-                  "startColumn": 11,
-                  "endLine": 44,
-                  "endColumn": 25,
-                  "byteLength": 14
+                  "startLine": 140,
+                  "startColumn": 12,
+                  "endLine": 140,
+                  "endColumn": 33,
+                  "byteLength": 21
                 }
               }
             }
@@ -2850,7 +2892,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_a_or_b." },
+          "message": { "text": "order." },
           "locations": [
             {
               "physicalLocation": {
@@ -2859,11 +2901,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 42,
-                  "startColumn": 27,
-                  "endLine": 42,
-                  "endColumn": 55,
-                  "byteLength": 28
+                  "startLine": 135,
+                  "startColumn": 20,
+                  "endLine": 135,
+                  "endColumn": 30,
+                  "byteLength": 10
                 }
               }
             }
@@ -2873,7 +2915,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function Frama_C_nondet." },
+          "message": { "text": "result_bounded." },
           "locations": [
             {
               "physicalLocation": {
@@ -2882,11 +2924,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 40,
-                  "startColumn": 12,
-                  "endLine": 40,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "startLine": 138,
+                  "startColumn": 28,
+                  "endLine": 138,
+                  "endColumn": 49,
+                  "byteLength": 21
                 }
               }
             }
@@ -2897,7 +2939,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function Frama_C_nondet."
+            "text": "assigns clause in function Frama_C_long_interval."
           },
           "locations": [
             {
@@ -2907,9 +2949,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 40,
+                  "startLine": 136,
                   "startColumn": 12,
-                  "endLine": 40,
+                  "endLine": 136,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -2922,7 +2964,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term Frama_C_entropy_source in function Frama_C_nondet."
+            "text": "from clause of term \\result in function Frama_C_long_interval."
           },
           "locations": [
             {
@@ -2932,11 +2974,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 41,
+                  "startLine": 136,
                   "startColumn": 12,
-                  "endLine": 41,
-                  "endColumn": 34,
-                  "byteLength": 22
+                  "endLine": 136,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -2947,7 +2989,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "behavior default! in function Frama_C_nondet_ptr."
+            "text": "from clause of term Frama_C_entropy_source in function Frama_C_long_interval."
           },
           "locations": [
             {
@@ -2957,11 +2999,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 50,
-                  "startColumn": 13,
-                  "endLine": 50,
-                  "endColumn": 31,
-                  "byteLength": 18
+                  "startLine": 137,
+                  "startColumn": 12,
+                  "endLine": 137,
+                  "endColumn": 34,
+                  "byteLength": 22
                 }
               }
             }
@@ -2971,7 +3013,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_a_or_b." },
+          "message": {
+            "text": "behavior default! in function Frama_C_long_long_interval."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -2980,11 +3024,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 48,
-                  "startColumn": 27,
-                  "endLine": 48,
-                  "endColumn": 55,
-                  "byteLength": 28
+                  "startLine": 156,
+                  "startColumn": 17,
+                  "endLine": 156,
+                  "endColumn": 43,
+                  "byteLength": 26
                 }
               }
             }
@@ -2994,9 +3038,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "assigns clause in function Frama_C_nondet_ptr."
-          },
+          "message": { "text": "order." },
           "locations": [
             {
               "physicalLocation": {
@@ -3005,11 +3047,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 46,
-                  "startColumn": 12,
-                  "endLine": 46,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "startLine": 151,
+                  "startColumn": 20,
+                  "endLine": 151,
+                  "endColumn": 30,
+                  "byteLength": 10
                 }
               }
             }
@@ -3019,9 +3061,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function Frama_C_nondet_ptr."
-          },
+          "message": { "text": "result_bounded." },
           "locations": [
             {
               "physicalLocation": {
@@ -3030,11 +3070,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 46,
-                  "startColumn": 12,
-                  "endLine": 46,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "startLine": 154,
+                  "startColumn": 28,
+                  "endLine": 154,
+                  "endColumn": 49,
+                  "byteLength": 21
                 }
               }
             }
@@ -3045,7 +3085,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term Frama_C_entropy_source in function Frama_C_nondet_ptr."
+            "text": "assigns clause in function Frama_C_long_long_interval."
           },
           "locations": [
             {
@@ -3055,11 +3095,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 47,
+                  "startLine": 152,
                   "startColumn": 12,
-                  "endLine": 47,
-                  "endColumn": 34,
-                  "byteLength": 22
+                  "endLine": 152,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -3070,7 +3110,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "behavior default! in function Frama_C_offset."
+            "text": "from clause of term \\result in function Frama_C_long_long_interval."
           },
           "locations": [
             {
@@ -3080,11 +3120,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 193,
-                  "startColumn": 14,
-                  "endLine": 193,
-                  "endColumn": 28,
-                  "byteLength": 14
+                  "startLine": 152,
+                  "startColumn": 12,
+                  "endLine": 152,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -3094,7 +3134,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function Frama_C_offset." },
+          "message": {
+            "text": "from clause of term Frama_C_entropy_source in function Frama_C_long_long_interval."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -3103,11 +3145,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 193,
-                  "startColumn": 14,
-                  "endLine": 193,
-                  "endColumn": 28,
-                  "byteLength": 14
+                  "startLine": 153,
+                  "startColumn": 12,
+                  "endLine": 153,
+                  "endColumn": 34,
+                  "byteLength": 22
                 }
               }
             }
@@ -3118,7 +3160,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function Frama_C_offset."
+            "text": "behavior default! in function Frama_C_make_unknown."
           },
           "locations": [
             {
@@ -3128,11 +3170,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 192,
+                  "startLine": 41,
                   "startColumn": 12,
-                  "endLine": 192,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "endLine": 41,
+                  "endColumn": 32,
+                  "byteLength": 20
                 }
               }
             }
@@ -3142,9 +3184,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "behavior default! in function Frama_C_real_interval_as_double."
-          },
+          "message": { "text": "valid_p." },
           "locations": [
             {
               "physicalLocation": {
@@ -3153,11 +3193,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 181,
-                  "startColumn": 14,
-                  "endLine": 181,
-                  "endColumn": 45,
-                  "byteLength": 31
+                  "startLine": 36,
+                  "startColumn": 22,
+                  "endLine": 36,
+                  "endColumn": 44,
+                  "byteLength": 22
                 }
               }
             }
@@ -3167,7 +3207,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "finite." },
+          "message": { "text": "initialization." },
           "locations": [
             {
               "physicalLocation": {
@@ -3176,11 +3216,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 175,
-                  "startColumn": 21,
-                  "endLine": 175,
-                  "endColumn": 55,
-                  "byteLength": 34
+                  "startLine": 39,
+                  "startColumn": 28,
+                  "endLine": 39,
+                  "endColumn": 56,
+                  "byteLength": 28
                 }
               }
             }
@@ -3190,7 +3230,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "order." },
+          "message": {
+            "text": "assigns clause in function Frama_C_make_unknown."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -3199,11 +3241,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 176,
-                  "startColumn": 20,
-                  "endLine": 176,
-                  "endColumn": 30,
-                  "byteLength": 10
+                  "startLine": 37,
+                  "startColumn": 12,
+                  "endLine": 37,
+                  "endColumn": 23,
+                  "byteLength": 11
                 }
               }
             }
@@ -3213,7 +3255,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_bounded." },
+          "message": {
+            "text": "from clause of term *(p + (0 .. l - 1)) in function Frama_C_make_unknown."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -3222,11 +3266,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 179,
-                  "startColumn": 28,
-                  "endLine": 179,
-                  "endColumn": 72,
-                  "byteLength": 44
+                  "startLine": 37,
+                  "startColumn": 12,
+                  "endLine": 37,
+                  "endColumn": 23,
+                  "byteLength": 11
                 }
               }
             }
@@ -3237,7 +3281,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "assigns clause in function Frama_C_real_interval_as_double."
+            "text": "from clause of term Frama_C_entropy_source in function Frama_C_make_unknown."
           },
           "locations": [
             {
@@ -3247,11 +3291,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 177,
+                  "startLine": 38,
                   "startColumn": 12,
-                  "endLine": 177,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "endLine": 38,
+                  "endColumn": 34,
+                  "byteLength": 22
                 }
               }
             }
@@ -3262,7 +3306,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function Frama_C_real_interval_as_double."
+            "text": "behavior default! in function Frama_C_make_unknown_wchar."
           },
           "locations": [
             {
@@ -3272,11 +3316,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 177,
+                  "startLine": 48,
                   "startColumn": 12,
-                  "endLine": 177,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "endLine": 48,
+                  "endColumn": 38,
+                  "byteLength": 26
                 }
               }
             }
@@ -3286,9 +3330,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term Frama_C_entropy_source in function Frama_C_real_interval_as_double."
-          },
+          "message": { "text": "valid_p." },
           "locations": [
             {
               "physicalLocation": {
@@ -3297,10 +3339,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 178,
-                  "startColumn": 12,
-                  "endLine": 178,
-                  "endColumn": 34,
+                  "startLine": 43,
+                  "startColumn": 22,
+                  "endLine": 43,
+                  "endColumn": 44,
                   "byteLength": 22
                 }
               }
@@ -3311,9 +3353,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "behavior default! in function Frama_C_short_interval."
-          },
+          "message": { "text": "initialization." },
           "locations": [
             {
               "physicalLocation": {
@@ -3322,11 +3362,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 97,
-                  "startColumn": 13,
-                  "endLine": 97,
-                  "endColumn": 35,
-                  "byteLength": 22
+                  "startLine": 46,
+                  "startColumn": 28,
+                  "endLine": 46,
+                  "endColumn": 56,
+                  "byteLength": 28
                 }
               }
             }
@@ -3336,7 +3376,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "order." },
+          "message": {
+            "text": "assigns clause in function Frama_C_make_unknown_wchar."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -3345,11 +3387,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 92,
-                  "startColumn": 20,
-                  "endLine": 92,
-                  "endColumn": 30,
-                  "byteLength": 10
+                  "startLine": 44,
+                  "startColumn": 12,
+                  "endLine": 44,
+                  "endColumn": 23,
+                  "byteLength": 11
                 }
               }
             }
@@ -3359,7 +3401,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_bounded." },
+          "message": {
+            "text": "from clause of term *(p + (0 .. l - 1)) in function Frama_C_make_unknown_wchar."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -3368,11 +3412,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 95,
-                  "startColumn": 28,
-                  "endLine": 95,
-                  "endColumn": 49,
-                  "byteLength": 21
+                  "startLine": 44,
+                  "startColumn": 12,
+                  "endLine": 44,
+                  "endColumn": 23,
+                  "byteLength": 11
                 }
               }
             }
@@ -3383,7 +3427,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "assigns clause in function Frama_C_short_interval."
+            "text": "from clause of term Frama_C_entropy_source in function Frama_C_make_unknown_wchar."
           },
           "locations": [
             {
@@ -3393,11 +3437,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 93,
+                  "startLine": 45,
                   "startColumn": 12,
-                  "endLine": 93,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "endLine": 45,
+                  "endColumn": 34,
+                  "byteLength": 22
                 }
               }
             }
@@ -3408,7 +3452,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function Frama_C_short_interval."
+            "text": "behavior default! in function Frama_C_malloc_fresh."
           },
           "locations": [
             {
@@ -3418,11 +3462,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 93,
-                  "startColumn": 12,
-                  "endLine": 93,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "startLine": 258,
+                  "startColumn": 13,
+                  "endLine": 258,
+                  "endColumn": 33,
+                  "byteLength": 20
                 }
               }
             }
@@ -3433,7 +3477,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term Frama_C_entropy_source in function Frama_C_short_interval."
+            "text": "assigns clause in function Frama_C_malloc_fresh."
           },
           "locations": [
             {
@@ -3443,11 +3487,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 94,
-                  "startColumn": 12,
-                  "endLine": 94,
-                  "endColumn": 34,
-                  "byteLength": 22
+                  "startLine": 255,
+                  "startColumn": 10,
+                  "endLine": 255,
+                  "endColumn": 26,
+                  "byteLength": 16
                 }
               }
             }
@@ -3458,7 +3502,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "behavior default! in function Frama_C_size_t_interval."
+            "text": "from clause of term __fc_heap_status in function Frama_C_malloc_fresh."
           },
           "locations": [
             {
@@ -3468,11 +3512,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 154,
-                  "startColumn": 14,
-                  "endLine": 154,
-                  "endColumn": 37,
-                  "byteLength": 23
+                  "startLine": 255,
+                  "startColumn": 10,
+                  "endLine": 255,
+                  "endColumn": 26,
+                  "byteLength": 16
                 }
               }
             }
@@ -3482,7 +3526,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "order." },
+          "message": {
+            "text": "from clause of term \\result in function Frama_C_malloc_fresh."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -3491,11 +3537,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 149,
-                  "startColumn": 20,
-                  "endLine": 149,
-                  "endColumn": 30,
-                  "byteLength": 10
+                  "startLine": 256,
+                  "startColumn": 10,
+                  "endLine": 256,
+                  "endColumn": 17,
+                  "byteLength": 7
                 }
               }
             }
@@ -3505,7 +3551,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_bounded." },
+          "message": {
+            "text": "allocates/frees clause in function Frama_C_malloc_fresh."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -3514,11 +3562,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 152,
-                  "startColumn": 28,
-                  "endLine": 152,
-                  "endColumn": 49,
-                  "byteLength": 21
+                  "startLine": 254,
+                  "startColumn": 12,
+                  "endLine": 254,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -3529,7 +3577,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "assigns clause in function Frama_C_size_t_interval."
+            "text": "behavior default! in function Frama_C_nondet."
           },
           "locations": [
             {
@@ -3539,11 +3587,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 150,
-                  "startColumn": 12,
-                  "endLine": 150,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "startLine": 54,
+                  "startColumn": 11,
+                  "endLine": 54,
+                  "endColumn": 25,
+                  "byteLength": 14
                 }
               }
             }
@@ -3553,9 +3601,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function Frama_C_size_t_interval."
-          },
+          "message": { "text": "result_a_or_b." },
           "locations": [
             {
               "physicalLocation": {
@@ -3564,11 +3610,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 150,
-                  "startColumn": 12,
-                  "endLine": 150,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "startLine": 52,
+                  "startColumn": 27,
+                  "endLine": 52,
+                  "endColumn": 55,
+                  "byteLength": 28
                 }
               }
             }
@@ -3578,9 +3624,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term Frama_C_entropy_source in function Frama_C_size_t_interval."
-          },
+          "message": { "text": "assigns clause in function Frama_C_nondet." },
           "locations": [
             {
               "physicalLocation": {
@@ -3589,11 +3633,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 151,
+                  "startLine": 50,
                   "startColumn": 12,
-                  "endLine": 151,
-                  "endColumn": 34,
-                  "byteLength": 22
+                  "endLine": 50,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -3604,7 +3648,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "behavior default! in function Frama_C_unsigned_char_interval."
+            "text": "from clause of term \\result in function Frama_C_nondet."
           },
           "locations": [
             {
@@ -3614,11 +3658,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 71,
-                  "startColumn": 21,
-                  "endLine": 71,
-                  "endColumn": 51,
-                  "byteLength": 30
+                  "startLine": 50,
+                  "startColumn": 12,
+                  "endLine": 50,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -3628,7 +3672,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "order." },
+          "message": {
+            "text": "from clause of term Frama_C_entropy_source in function Frama_C_nondet."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -3637,11 +3683,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 66,
-                  "startColumn": 20,
-                  "endLine": 66,
-                  "endColumn": 30,
-                  "byteLength": 10
+                  "startLine": 51,
+                  "startColumn": 12,
+                  "endLine": 51,
+                  "endColumn": 34,
+                  "byteLength": 22
                 }
               }
             }
@@ -3651,7 +3697,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_bounded." },
+          "message": {
+            "text": "behavior default! in function Frama_C_nondet_ptr."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -3660,11 +3708,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 69,
-                  "startColumn": 28,
-                  "endLine": 69,
-                  "endColumn": 49,
-                  "byteLength": 21
+                  "startLine": 60,
+                  "startColumn": 13,
+                  "endLine": 60,
+                  "endColumn": 31,
+                  "byteLength": 18
                 }
               }
             }
@@ -3674,9 +3722,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "assigns clause in function Frama_C_unsigned_char_interval."
-          },
+          "message": { "text": "result_a_or_b." },
           "locations": [
             {
               "physicalLocation": {
@@ -3685,11 +3731,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 67,
-                  "startColumn": 12,
-                  "endLine": 67,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "startLine": 58,
+                  "startColumn": 27,
+                  "endLine": 58,
+                  "endColumn": 55,
+                  "byteLength": 28
                 }
               }
             }
@@ -3700,7 +3746,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function Frama_C_unsigned_char_interval."
+            "text": "assigns clause in function Frama_C_nondet_ptr."
           },
           "locations": [
             {
@@ -3710,9 +3756,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 67,
+                  "startLine": 56,
                   "startColumn": 12,
-                  "endLine": 67,
+                  "endLine": 56,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -3725,7 +3771,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term Frama_C_entropy_source in function Frama_C_unsigned_char_interval."
+            "text": "from clause of term \\result in function Frama_C_nondet_ptr."
           },
           "locations": [
             {
@@ -3735,11 +3781,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 68,
+                  "startLine": 56,
                   "startColumn": 12,
-                  "endLine": 68,
-                  "endColumn": 34,
-                  "byteLength": 22
+                  "endLine": 56,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -3750,7 +3796,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "behavior default! in function Frama_C_unsigned_int_interval."
+            "text": "from clause of term Frama_C_entropy_source in function Frama_C_nondet_ptr."
           },
           "locations": [
             {
@@ -3760,34 +3806,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 105,
-                  "startColumn": 20,
-                  "endLine": 105,
-                  "endColumn": 49,
-                  "byteLength": 29
-                }
-              }
-            }
-          ]
-        },
-        {
-          "ruleId": "user-spec",
-          "kind": "pass",
-          "level": "none",
-          "message": { "text": "order." },
-          "locations": [
-            {
-              "physicalLocation": {
-                "artifactLocation": {
-                  "uri": "libc/__fc_builtin.h",
-                  "uriBaseId": "FRAMAC_SHARE"
-                },
-                "region": {
-                  "startLine": 100,
-                  "startColumn": 20,
-                  "endLine": 100,
-                  "endColumn": 30,
-                  "byteLength": 10
+                  "startLine": 57,
+                  "startColumn": 12,
+                  "endLine": 57,
+                  "endColumn": 34,
+                  "byteLength": 22
                 }
               }
             }
@@ -3797,7 +3820,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_bounded." },
+          "message": {
+            "text": "behavior default! in function Frama_C_offset."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -3806,11 +3831,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 103,
-                  "startColumn": 28,
-                  "endLine": 103,
-                  "endColumn": 49,
-                  "byteLength": 21
+                  "startLine": 251,
+                  "startColumn": 14,
+                  "endLine": 251,
+                  "endColumn": 28,
+                  "byteLength": 14
                 }
               }
             }
@@ -3820,9 +3845,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "assigns clause in function Frama_C_unsigned_int_interval."
-          },
+          "message": { "text": "assigns clause in function Frama_C_offset." },
           "locations": [
             {
               "physicalLocation": {
@@ -3831,11 +3854,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 101,
-                  "startColumn": 12,
-                  "endLine": 101,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "startLine": 251,
+                  "startColumn": 14,
+                  "endLine": 251,
+                  "endColumn": 28,
+                  "byteLength": 14
                 }
               }
             }
@@ -3846,7 +3869,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function Frama_C_unsigned_int_interval."
+            "text": "from clause of term \\result in function Frama_C_offset."
           },
           "locations": [
             {
@@ -3856,9 +3879,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 101,
+                  "startLine": 250,
                   "startColumn": 12,
-                  "endLine": 101,
+                  "endLine": 250,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -3871,7 +3894,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term Frama_C_entropy_source in function Frama_C_unsigned_int_interval."
+            "text": "behavior default! in function Frama_C_ptrdiff_t_interval."
           },
           "locations": [
             {
@@ -3881,11 +3904,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 102,
-                  "startColumn": 12,
-                  "endLine": 102,
-                  "endColumn": 34,
-                  "byteLength": 22
+                  "startLine": 188,
+                  "startColumn": 17,
+                  "endLine": 188,
+                  "endColumn": 43,
+                  "byteLength": 26
                 }
               }
             }
@@ -3895,9 +3918,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "behavior default! in function Frama_C_unsigned_long_interval."
-          },
+          "message": { "text": "order." },
           "locations": [
             {
               "physicalLocation": {
@@ -3906,11 +3927,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 121,
-                  "startColumn": 21,
-                  "endLine": 121,
-                  "endColumn": 51,
-                  "byteLength": 30
+                  "startLine": 183,
+                  "startColumn": 20,
+                  "endLine": 183,
+                  "endColumn": 30,
+                  "byteLength": 10
                 }
               }
             }
@@ -3920,7 +3941,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "order." },
+          "message": { "text": "result_bounded." },
           "locations": [
             {
               "physicalLocation": {
@@ -3929,11 +3950,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 116,
-                  "startColumn": 20,
-                  "endLine": 116,
-                  "endColumn": 30,
-                  "byteLength": 10
+                  "startLine": 186,
+                  "startColumn": 28,
+                  "endLine": 186,
+                  "endColumn": 49,
+                  "byteLength": 21
                 }
               }
             }
@@ -3943,7 +3964,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_bounded." },
+          "message": {
+            "text": "assigns clause in function Frama_C_ptrdiff_t_interval."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -3952,11 +3975,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 119,
-                  "startColumn": 28,
-                  "endLine": 119,
-                  "endColumn": 49,
-                  "byteLength": 21
+                  "startLine": 184,
+                  "startColumn": 12,
+                  "endLine": 184,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -3967,7 +3990,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "assigns clause in function Frama_C_unsigned_long_interval."
+            "text": "from clause of term \\result in function Frama_C_ptrdiff_t_interval."
           },
           "locations": [
             {
@@ -3977,9 +4000,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 117,
+                  "startLine": 184,
                   "startColumn": 12,
-                  "endLine": 117,
+                  "endLine": 184,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -3992,7 +4015,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function Frama_C_unsigned_long_interval."
+            "text": "from clause of term Frama_C_entropy_source in function Frama_C_ptrdiff_t_interval."
           },
           "locations": [
             {
@@ -4002,11 +4025,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 117,
+                  "startLine": 185,
                   "startColumn": 12,
-                  "endLine": 117,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "endLine": 185,
+                  "endColumn": 34,
+                  "byteLength": 22
                 }
               }
             }
@@ -4017,7 +4040,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term Frama_C_entropy_source in function Frama_C_unsigned_long_interval."
+            "text": "behavior default! in function Frama_C_real_interval_as_double."
           },
           "locations": [
             {
@@ -4027,11 +4050,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 118,
-                  "startColumn": 12,
-                  "endLine": 118,
-                  "endColumn": 34,
-                  "byteLength": 22
+                  "startLine": 239,
+                  "startColumn": 14,
+                  "endLine": 239,
+                  "endColumn": 45,
+                  "byteLength": 31
                 }
               }
             }
@@ -4041,9 +4064,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "behavior default! in function Frama_C_unsigned_long_long_interval."
-          },
+          "message": { "text": "finite." },
           "locations": [
             {
               "physicalLocation": {
@@ -4052,11 +4073,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 138,
-                  "startColumn": 26,
-                  "endLine": 138,
-                  "endColumn": 61,
-                  "byteLength": 35
+                  "startLine": 233,
+                  "startColumn": 21,
+                  "endLine": 233,
+                  "endColumn": 55,
+                  "byteLength": 34
                 }
               }
             }
@@ -4075,9 +4096,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 133,
+                  "startLine": 234,
                   "startColumn": 20,
-                  "endLine": 133,
+                  "endLine": 234,
                   "endColumn": 30,
                   "byteLength": 10
                 }
@@ -4098,11 +4119,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 136,
+                  "startLine": 237,
                   "startColumn": 28,
-                  "endLine": 136,
-                  "endColumn": 49,
-                  "byteLength": 21
+                  "endLine": 237,
+                  "endColumn": 72,
+                  "byteLength": 44
                 }
               }
             }
@@ -4113,7 +4134,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "assigns clause in function Frama_C_unsigned_long_long_interval."
+            "text": "assigns clause in function Frama_C_real_interval_as_double."
           },
           "locations": [
             {
@@ -4123,9 +4144,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 134,
+                  "startLine": 235,
                   "startColumn": 12,
-                  "endLine": 134,
+                  "endLine": 235,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -4138,7 +4159,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function Frama_C_unsigned_long_long_interval."
+            "text": "from clause of term \\result in function Frama_C_real_interval_as_double."
           },
           "locations": [
             {
@@ -4148,9 +4169,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 134,
+                  "startLine": 235,
                   "startColumn": 12,
-                  "endLine": 134,
+                  "endLine": 235,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -4163,7 +4184,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term Frama_C_entropy_source in function Frama_C_unsigned_long_long_interval."
+            "text": "from clause of term Frama_C_entropy_source in function Frama_C_real_interval_as_double."
           },
           "locations": [
             {
@@ -4173,9 +4194,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 135,
+                  "startLine": 236,
                   "startColumn": 12,
-                  "endLine": 135,
+                  "endLine": 236,
                   "endColumn": 34,
                   "byteLength": 22
                 }
@@ -4188,7 +4209,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "behavior default! in function Frama_C_unsigned_short_interval."
+            "text": "behavior default! in function Frama_C_short_interval."
           },
           "locations": [
             {
@@ -4198,11 +4219,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 88,
-                  "startColumn": 22,
-                  "endLine": 88,
-                  "endColumn": 53,
-                  "byteLength": 31
+                  "startLine": 107,
+                  "startColumn": 13,
+                  "endLine": 107,
+                  "endColumn": 35,
+                  "byteLength": 22
                 }
               }
             }
@@ -4221,9 +4242,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 83,
+                  "startLine": 102,
                   "startColumn": 20,
-                  "endLine": 83,
+                  "endLine": 102,
                   "endColumn": 30,
                   "byteLength": 10
                 }
@@ -4244,9 +4265,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 86,
+                  "startLine": 105,
                   "startColumn": 28,
-                  "endLine": 86,
+                  "endLine": 105,
                   "endColumn": 49,
                   "byteLength": 21
                 }
@@ -4259,7 +4280,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "assigns clause in function Frama_C_unsigned_short_interval."
+            "text": "assigns clause in function Frama_C_short_interval."
           },
           "locations": [
             {
@@ -4269,9 +4290,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 84,
+                  "startLine": 103,
                   "startColumn": 12,
-                  "endLine": 84,
+                  "endLine": 103,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -4284,7 +4305,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function Frama_C_unsigned_short_interval."
+            "text": "from clause of term \\result in function Frama_C_short_interval."
           },
           "locations": [
             {
@@ -4294,9 +4315,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 84,
+                  "startLine": 103,
                   "startColumn": 12,
-                  "endLine": 84,
+                  "endLine": 103,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -4309,7 +4330,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term Frama_C_entropy_source in function Frama_C_unsigned_short_interval."
+            "text": "from clause of term Frama_C_entropy_source in function Frama_C_short_interval."
           },
           "locations": [
             {
@@ -4319,9 +4340,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 85,
+                  "startLine": 104,
                   "startColumn": 12,
-                  "endLine": 85,
+                  "endLine": 104,
                   "endColumn": 34,
                   "byteLength": 22
                 }
@@ -4334,7 +4355,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "behavior default! in function Frama_C_watch_cardinal."
+            "text": "behavior default! in function Frama_C_size_t_interval."
           },
           "locations": [
             {
@@ -4344,11 +4365,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 212,
-                  "startColumn": 12,
-                  "endLine": 212,
-                  "endColumn": 34,
-                  "byteLength": 22
+                  "startLine": 164,
+                  "startColumn": 14,
+                  "endLine": 164,
+                  "endColumn": 37,
+                  "byteLength": 23
                 }
               }
             }
@@ -4358,9 +4379,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "assigns clause in function Frama_C_watch_cardinal."
-          },
+          "message": { "text": "order." },
           "locations": [
             {
               "physicalLocation": {
@@ -4369,11 +4388,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 212,
-                  "startColumn": 12,
-                  "endLine": 212,
-                  "endColumn": 34,
-                  "byteLength": 22
+                  "startLine": 159,
+                  "startColumn": 20,
+                  "endLine": 159,
+                  "endColumn": 30,
+                  "byteLength": 10
                 }
               }
             }
@@ -4383,9 +4402,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "behavior default! in function Frama_C_watch_value."
-          },
+          "message": { "text": "result_bounded." },
           "locations": [
             {
               "physicalLocation": {
@@ -4394,11 +4411,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 208,
-                  "startColumn": 12,
-                  "endLine": 208,
-                  "endColumn": 31,
-                  "byteLength": 19
+                  "startLine": 162,
+                  "startColumn": 28,
+                  "endLine": 162,
+                  "endColumn": 49,
+                  "byteLength": 21
                 }
               }
             }
@@ -4409,7 +4426,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "assigns clause in function Frama_C_watch_value."
+            "text": "assigns clause in function Frama_C_size_t_interval."
           },
           "locations": [
             {
@@ -4419,11 +4436,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 208,
+                  "startLine": 160,
                   "startColumn": 12,
-                  "endLine": 208,
-                  "endColumn": 31,
-                  "byteLength": 19
+                  "endLine": 160,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -4433,20 +4450,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function _Exit." },
+          "message": {
+            "text": "from clause of term \\result in function Frama_C_size_t_interval."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 517,
+                  "startLine": 160,
                   "startColumn": 12,
-                  "endLine": 517,
-                  "endColumn": 17,
-                  "byteLength": 5
+                  "endLine": 160,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -4456,20 +4475,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "never_terminates." },
+          "message": {
+            "text": "from clause of term Frama_C_entropy_source in function Frama_C_size_t_interval."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 515,
-                  "startColumn": 28,
-                  "endLine": 515,
+                  "startLine": 161,
+                  "startColumn": 12,
+                  "endLine": 161,
                   "endColumn": 34,
-                  "byteLength": 6
+                  "byteLength": 22
                 }
               }
             }
@@ -4479,20 +4500,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function _Exit." },
+          "message": {
+            "text": "behavior default! in function Frama_C_uintmax_t_interval."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 517,
-                  "startColumn": 12,
-                  "endLine": 517,
-                  "endColumn": 17,
-                  "byteLength": 5
+                  "startLine": 180,
+                  "startColumn": 17,
+                  "endLine": 180,
+                  "endColumn": 43,
+                  "byteLength": 26
                 }
               }
             }
@@ -4502,20 +4525,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function abort." },
+          "message": { "text": "order." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 498,
-                  "startColumn": 12,
-                  "endLine": 498,
-                  "endColumn": 17,
-                  "byteLength": 5
+                  "startLine": 175,
+                  "startColumn": 20,
+                  "endLine": 175,
+                  "endColumn": 30,
+                  "byteLength": 10
                 }
               }
             }
@@ -4525,20 +4548,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "status." },
+          "message": { "text": "result_bounded." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 495,
-                  "startColumn": 16,
-                  "endLine": 495,
-                  "endColumn": 33,
-                  "byteLength": 17
+                  "startLine": 178,
+                  "startColumn": 28,
+                  "endLine": 178,
+                  "endColumn": 49,
+                  "byteLength": 21
                 }
               }
             }
@@ -4548,20 +4571,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "never_terminates." },
+          "message": {
+            "text": "assigns clause in function Frama_C_uintmax_t_interval."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 496,
-                  "startColumn": 28,
-                  "endLine": 496,
-                  "endColumn": 34,
-                  "byteLength": 6
+                  "startLine": 176,
+                  "startColumn": 12,
+                  "endLine": 176,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -4571,20 +4596,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function abort." },
+          "message": {
+            "text": "from clause of term \\result in function Frama_C_uintmax_t_interval."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 494,
-                  "startColumn": 10,
-                  "endLine": 494,
-                  "endColumn": 22,
-                  "byteLength": 12
+                  "startLine": 176,
+                  "startColumn": 12,
+                  "endLine": 176,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -4595,21 +4622,21 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\exit_status in function abort."
+            "text": "from clause of term Frama_C_entropy_source in function Frama_C_uintmax_t_interval."
           },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 494,
-                  "startColumn": 10,
-                  "endLine": 494,
-                  "endColumn": 22,
-                  "byteLength": 12
+                  "startLine": 177,
+                  "startColumn": 12,
+                  "endLine": 177,
+                  "endColumn": 34,
+                  "byteLength": 22
                 }
               }
             }
@@ -4619,20 +4646,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function abs." },
+          "message": {
+            "text": "behavior default! in function Frama_C_unsigned_char_interval."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 611,
-                  "startColumn": 11,
-                  "endLine": 611,
-                  "endColumn": 14,
-                  "byteLength": 3
+                  "startLine": 81,
+                  "startColumn": 21,
+                  "endLine": 81,
+                  "endColumn": 51,
+                  "byteLength": 30
                 }
               }
             }
@@ -4642,20 +4671,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior negative in function abs." },
+          "message": { "text": "order." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 611,
-                  "startColumn": 11,
-                  "endLine": 611,
-                  "endColumn": 14,
-                  "byteLength": 3
+                  "startLine": 76,
+                  "startColumn": 20,
+                  "endLine": 76,
+                  "endColumn": 30,
+                  "byteLength": 10
                 }
               }
             }
@@ -4665,20 +4694,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior nonnegative in function abs." },
+          "message": { "text": "result_bounded." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 611,
-                  "startColumn": 11,
-                  "endLine": 611,
-                  "endColumn": 14,
-                  "byteLength": 3
+                  "startLine": 79,
+                  "startColumn": 28,
+                  "endLine": 79,
+                  "endColumn": 49,
+                  "byteLength": 21
                 }
               }
             }
@@ -4688,20 +4717,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "abs_representable." },
+          "message": {
+            "text": "assigns clause in function Frama_C_unsigned_char_interval."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 600,
-                  "startColumn": 30,
-                  "endLine": 600,
-                  "endColumn": 51,
-                  "byteLength": 21
+                  "startLine": 77,
+                  "startColumn": 12,
+                  "endLine": 77,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -4711,20 +4742,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "negative." },
+          "message": {
+            "text": "from clause of term \\result in function Frama_C_unsigned_char_interval."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 603,
-                  "startColumn": 22,
-                  "endLine": 603,
-                  "endColumn": 27,
-                  "byteLength": 5
+                  "startLine": 77,
+                  "startColumn": 12,
+                  "endLine": 77,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -4734,20 +4767,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "nonnegative." },
+          "message": {
+            "text": "from clause of term Frama_C_entropy_source in function Frama_C_unsigned_char_interval."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 606,
-                  "startColumn": 25,
-                  "endLine": 606,
-                  "endColumn": 31,
-                  "byteLength": 6
+                  "startLine": 78,
+                  "startColumn": 12,
+                  "endLine": 78,
+                  "endColumn": 34,
+                  "byteLength": 22
                 }
               }
             }
@@ -4757,20 +4792,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "opposite_result." },
+          "message": {
+            "text": "behavior default! in function Frama_C_unsigned_int_interval."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 604,
-                  "startColumn": 29,
-                  "endLine": 604,
-                  "endColumn": 42,
-                  "byteLength": 13
+                  "startLine": 115,
+                  "startColumn": 20,
+                  "endLine": 115,
+                  "endColumn": 49,
+                  "byteLength": 29
                 }
               }
             }
@@ -4780,20 +4817,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "same_result." },
+          "message": { "text": "order." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 607,
-                  "startColumn": 25,
-                  "endLine": 607,
-                  "endColumn": 37,
-                  "byteLength": 12
+                  "startLine": 110,
+                  "startColumn": 20,
+                  "endLine": 110,
+                  "endColumn": 30,
+                  "byteLength": 10
                 }
               }
             }
@@ -4803,20 +4840,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function abs." },
+          "message": { "text": "result_bounded." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 611,
-                  "startColumn": 11,
-                  "endLine": 611,
-                  "endColumn": 14,
-                  "byteLength": 3
+                  "startLine": 113,
+                  "startColumn": 28,
+                  "endLine": 113,
+                  "endColumn": 49,
+                  "byteLength": 21
                 }
               }
             }
@@ -4827,20 +4864,20 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function abs."
+            "text": "assigns clause in function Frama_C_unsigned_int_interval."
           },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 601,
-                  "startColumn": 10,
-                  "endLine": 601,
-                  "endColumn": 17,
+                  "startLine": 111,
+                  "startColumn": 12,
+                  "endLine": 111,
+                  "endColumn": 19,
                   "byteLength": 7
                 }
               }
@@ -4851,20 +4888,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "complete clause in function abs." },
+          "message": {
+            "text": "from clause of term \\result in function Frama_C_unsigned_int_interval."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 611,
-                  "startColumn": 11,
-                  "endLine": 611,
-                  "endColumn": 14,
-                  "byteLength": 3
+                  "startLine": 111,
+                  "startColumn": 12,
+                  "endLine": 111,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -4874,20 +4913,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "disjoint clause in function abs." },
+          "message": {
+            "text": "from clause of term Frama_C_entropy_source in function Frama_C_unsigned_int_interval."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 611,
-                  "startColumn": 11,
-                  "endLine": 611,
-                  "endColumn": 14,
-                  "byteLength": 3
+                  "startLine": 112,
+                  "startColumn": 12,
+                  "endLine": 112,
+                  "endColumn": 34,
+                  "byteLength": 22
                 }
               }
             }
@@ -4898,21 +4939,21 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "behavior default! in function at_quick_exit."
+            "text": "behavior default! in function Frama_C_unsigned_long_interval."
           },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 504,
-                  "startColumn": 11,
-                  "endLine": 504,
-                  "endColumn": 24,
-                  "byteLength": 13
+                  "startLine": 131,
+                  "startColumn": 21,
+                  "endLine": 131,
+                  "endColumn": 51,
+                  "byteLength": 30
                 }
               }
             }
@@ -4922,20 +4963,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function at_quick_exit." },
+          "message": { "text": "order." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 504,
-                  "startColumn": 11,
-                  "endLine": 504,
-                  "endColumn": 24,
-                  "byteLength": 13
+                  "startLine": 126,
+                  "startColumn": 20,
+                  "endLine": 126,
+                  "endColumn": 30,
+                  "byteLength": 10
                 }
               }
             }
@@ -4945,22 +4986,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function at_quick_exit."
-          },
+          "message": { "text": "result_bounded." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 503,
-                  "startColumn": 12,
-                  "endLine": 503,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "startLine": 129,
+                  "startColumn": 28,
+                  "endLine": 129,
+                  "endColumn": 49,
+                  "byteLength": 21
                 }
               }
             }
@@ -4970,20 +5009,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function atexit." },
+          "message": {
+            "text": "assigns clause in function Frama_C_unsigned_long_interval."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 501,
-                  "startColumn": 11,
-                  "endLine": 501,
-                  "endColumn": 17,
-                  "byteLength": 6
+                  "startLine": 127,
+                  "startColumn": 12,
+                  "endLine": 127,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -4993,20 +5034,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function atexit." },
+          "message": {
+            "text": "from clause of term \\result in function Frama_C_unsigned_long_interval."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 501,
-                  "startColumn": 11,
-                  "endLine": 501,
-                  "endColumn": 17,
-                  "byteLength": 6
+                  "startLine": 127,
+                  "startColumn": 12,
+                  "endLine": 127,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -5017,21 +5060,21 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function atexit."
+            "text": "from clause of term Frama_C_entropy_source in function Frama_C_unsigned_long_interval."
           },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 500,
+                  "startLine": 128,
                   "startColumn": 12,
-                  "endLine": 500,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "endLine": 128,
+                  "endColumn": 34,
+                  "byteLength": 22
                 }
               }
             }
@@ -5041,20 +5084,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function atof." },
+          "message": {
+            "text": "behavior default! in function Frama_C_unsigned_long_long_interval."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 76,
-                  "startColumn": 14,
-                  "endLine": 76,
-                  "endColumn": 18,
-                  "byteLength": 4
+                  "startLine": 148,
+                  "startColumn": 26,
+                  "endLine": 148,
+                  "endColumn": 61,
+                  "byteLength": 35
                 }
               }
             }
@@ -5064,20 +5109,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_nptr." },
+          "message": { "text": "order." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 73,
-                  "startColumn": 23,
-                  "endLine": 73,
-                  "endColumn": 40,
-                  "byteLength": 17
+                  "startLine": 143,
+                  "startColumn": 20,
+                  "endLine": 143,
+                  "endColumn": 30,
+                  "byteLength": 10
                 }
               }
             }
@@ -5087,20 +5132,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function atof." },
+          "message": { "text": "result_bounded." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 76,
-                  "startColumn": 14,
-                  "endLine": 76,
-                  "endColumn": 18,
-                  "byteLength": 4
+                  "startLine": 146,
+                  "startColumn": 28,
+                  "endLine": 146,
+                  "endColumn": 49,
+                  "byteLength": 21
                 }
               }
             }
@@ -5111,20 +5156,20 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function atof."
+            "text": "assigns clause in function Frama_C_unsigned_long_long_interval."
           },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 74,
-                  "startColumn": 10,
-                  "endLine": 74,
-                  "endColumn": 17,
+                  "startLine": 144,
+                  "startColumn": 12,
+                  "endLine": 144,
+                  "endColumn": 19,
                   "byteLength": 7
                 }
               }
@@ -5135,20 +5180,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function atoi." },
+          "message": {
+            "text": "from clause of term \\result in function Frama_C_unsigned_long_long_interval."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 82,
-                  "startColumn": 11,
-                  "endLine": 82,
-                  "endColumn": 15,
-                  "byteLength": 4
+                  "startLine": 144,
+                  "startColumn": 12,
+                  "endLine": 144,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -5158,20 +5205,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_nptr." },
+          "message": {
+            "text": "from clause of term Frama_C_entropy_source in function Frama_C_unsigned_long_long_interval."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 79,
-                  "startColumn": 23,
-                  "endLine": 79,
-                  "endColumn": 40,
-                  "byteLength": 17
+                  "startLine": 145,
+                  "startColumn": 12,
+                  "endLine": 145,
+                  "endColumn": 34,
+                  "byteLength": 22
                 }
               }
             }
@@ -5181,20 +5230,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function atoi." },
+          "message": {
+            "text": "behavior default! in function Frama_C_unsigned_short_interval."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 82,
-                  "startColumn": 11,
-                  "endLine": 82,
-                  "endColumn": 15,
-                  "byteLength": 4
+                  "startLine": 98,
+                  "startColumn": 22,
+                  "endLine": 98,
+                  "endColumn": 53,
+                  "byteLength": 31
                 }
               }
             }
@@ -5204,22 +5255,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function atoi."
-          },
+          "message": { "text": "order." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 80,
-                  "startColumn": 10,
-                  "endLine": 80,
-                  "endColumn": 17,
-                  "byteLength": 7
+                  "startLine": 93,
+                  "startColumn": 20,
+                  "endLine": 93,
+                  "endColumn": 30,
+                  "byteLength": 10
                 }
               }
             }
@@ -5229,20 +5278,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function atol." },
+          "message": { "text": "result_bounded." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 88,
-                  "startColumn": 16,
-                  "endLine": 88,
-                  "endColumn": 20,
-                  "byteLength": 4
+                  "startLine": 96,
+                  "startColumn": 28,
+                  "endLine": 96,
+                  "endColumn": 49,
+                  "byteLength": 21
                 }
               }
             }
@@ -5252,20 +5301,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_nptr." },
+          "message": {
+            "text": "assigns clause in function Frama_C_unsigned_short_interval."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 85,
-                  "startColumn": 23,
-                  "endLine": 85,
-                  "endColumn": 40,
-                  "byteLength": 17
+                  "startLine": 94,
+                  "startColumn": 12,
+                  "endLine": 94,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -5275,20 +5326,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function atol." },
+          "message": {
+            "text": "from clause of term \\result in function Frama_C_unsigned_short_interval."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 88,
-                  "startColumn": 16,
-                  "endLine": 88,
-                  "endColumn": 20,
-                  "byteLength": 4
+                  "startLine": 94,
+                  "startColumn": 12,
+                  "endLine": 94,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -5299,21 +5352,21 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function atol."
+            "text": "from clause of term Frama_C_entropy_source in function Frama_C_unsigned_short_interval."
           },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 86,
-                  "startColumn": 10,
-                  "endLine": 86,
-                  "endColumn": 17,
-                  "byteLength": 7
+                  "startLine": 95,
+                  "startColumn": 12,
+                  "endLine": 95,
+                  "endColumn": 34,
+                  "byteLength": 22
                 }
               }
             }
@@ -5323,20 +5376,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function atoll." },
+          "message": {
+            "text": "behavior default! in function Frama_C_watch_cardinal."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 94,
-                  "startColumn": 21,
-                  "endLine": 94,
-                  "endColumn": 26,
-                  "byteLength": 5
+                  "startLine": 275,
+                  "startColumn": 12,
+                  "endLine": 275,
+                  "endColumn": 34,
+                  "byteLength": 22
                 }
               }
             }
@@ -5346,20 +5401,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_nptr." },
+          "message": {
+            "text": "assigns clause in function Frama_C_watch_cardinal."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 91,
-                  "startColumn": 23,
-                  "endLine": 91,
-                  "endColumn": 40,
-                  "byteLength": 17
+                  "startLine": 275,
+                  "startColumn": 12,
+                  "endLine": 275,
+                  "endColumn": 34,
+                  "byteLength": 22
                 }
               }
             }
@@ -5369,20 +5426,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function atoll." },
+          "message": {
+            "text": "behavior default! in function Frama_C_watch_value."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 94,
-                  "startColumn": 21,
-                  "endLine": 94,
-                  "endColumn": 26,
-                  "byteLength": 5
+                  "startLine": 271,
+                  "startColumn": 12,
+                  "endLine": 271,
+                  "endColumn": 31,
+                  "byteLength": 19
                 }
               }
             }
@@ -5393,21 +5452,21 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function atoll."
+            "text": "assigns clause in function Frama_C_watch_value."
           },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 92,
-                  "startColumn": 10,
-                  "endLine": 92,
-                  "endColumn": 17,
-                  "byteLength": 7
+                  "startLine": 271,
+                  "startColumn": 12,
+                  "endLine": 271,
+                  "endColumn": 31,
+                  "byteLength": 19
                 }
               }
             }
@@ -5417,20 +5476,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function bsearch." },
+          "message": {
+            "text": "behavior default! in function Frama_C_wint_t_interval."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 583,
-                  "startColumn": 13,
-                  "endLine": 583,
-                  "endColumn": 20,
-                  "byteLength": 7
+                  "startLine": 196,
+                  "startColumn": 14,
+                  "endLine": 196,
+                  "endColumn": 37,
+                  "byteLength": 23
                 }
               }
             }
@@ -5440,20 +5501,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_function_compar." },
+          "message": { "text": "order." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 576,
-                  "startColumn": 34,
-                  "endLine": 576,
-                  "endColumn": 57,
-                  "byteLength": 23
+                  "startLine": 191,
+                  "startColumn": 20,
+                  "endLine": 191,
+                  "endColumn": 30,
+                  "byteLength": 10
                 }
               }
             }
@@ -5463,20 +5524,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "null_or_correct_result." },
+          "message": { "text": "result_bounded." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 580,
-                  "startColumn": 34,
-                  "endLine": 581,
-                  "endColumn": 76,
-                  "byteLength": 96
+                  "startLine": 194,
+                  "startColumn": 28,
+                  "endLine": 194,
+                  "endColumn": 49,
+                  "byteLength": 21
                 }
               }
             }
@@ -5486,19 +5547,21 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function bsearch." },
+          "message": {
+            "text": "assigns clause in function Frama_C_wint_t_interval."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 583,
-                  "startColumn": 13,
-                  "endLine": 583,
-                  "endColumn": 20,
+                  "startLine": 192,
+                  "startColumn": 12,
+                  "endLine": 192,
+                  "endColumn": 19,
                   "byteLength": 7
                 }
               }
@@ -5510,20 +5573,20 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function bsearch."
+            "text": "from clause of term \\result in function Frama_C_wint_t_interval."
           },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 577,
-                  "startColumn": 10,
-                  "endLine": 577,
-                  "endColumn": 17,
+                  "startLine": 192,
+                  "startColumn": 12,
+                  "endLine": 192,
+                  "endColumn": 19,
                   "byteLength": 7
                 }
               }
@@ -5534,20 +5597,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function bzero." },
+          "message": {
+            "text": "from clause of term Frama_C_entropy_source in function Frama_C_wint_t_interval."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/strings.h",
+                  "uri": "libc/__fc_builtin.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 40,
+                  "startLine": 193,
                   "startColumn": 12,
-                  "endLine": 40,
-                  "endColumn": 17,
-                  "byteLength": 5
+                  "endLine": 193,
+                  "endColumn": 34,
+                  "byteLength": 22
                 }
               }
             }
@@ -5557,20 +5622,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_memory_area." },
+          "message": { "text": "behavior default! in function _Exit." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/strings.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 36,
-                  "startColumn": 32,
-                  "endLine": 36,
-                  "endColumn": 63,
-                  "byteLength": 31
+                  "startLine": 549,
+                  "startColumn": 12,
+                  "endLine": 549,
+                  "endColumn": 17,
+                  "byteLength": 5
                 }
               }
             }
@@ -5580,20 +5645,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "s_initialized." },
+          "message": { "text": "never_terminates." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/strings.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 38,
-                  "startColumn": 39,
-                  "endLine": 38,
-                  "endColumn": 75,
-                  "byteLength": 36
+                  "startLine": 547,
+                  "startColumn": 28,
+                  "endLine": 547,
+                  "endColumn": 34,
+                  "byteLength": 6
                 }
               }
             }
@@ -5603,20 +5668,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "zero_initialized." },
+          "message": { "text": "assigns clause in function _Exit." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/strings.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 39,
-                  "startColumn": 28,
-                  "endLine": 39,
-                  "endColumn": 63,
-                  "byteLength": 35
+                  "startLine": 549,
+                  "startColumn": 12,
+                  "endLine": 549,
+                  "endColumn": 17,
+                  "byteLength": 5
                 }
               }
             }
@@ -5626,20 +5691,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function bzero." },
+          "message": { "text": "behavior default! in function abort." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/strings.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 37,
-                  "startColumn": 10,
-                  "endLine": 37,
-                  "endColumn": 31,
-                  "byteLength": 21
+                  "startLine": 530,
+                  "startColumn": 12,
+                  "endLine": 530,
+                  "endColumn": 17,
+                  "byteLength": 5
                 }
               }
             }
@@ -5649,22 +5714,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term *((char *)s + (0 .. n - 1)) in function bzero."
-          },
+          "message": { "text": "status." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/strings.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 37,
-                  "startColumn": 10,
-                  "endLine": 37,
-                  "endColumn": 31,
-                  "byteLength": 21
+                  "startLine": 527,
+                  "startColumn": 16,
+                  "endLine": 527,
+                  "endColumn": 33,
+                  "byteLength": 17
                 }
               }
             }
@@ -5674,7 +5737,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior allocation in function calloc." },
+          "message": { "text": "never_terminates." },
           "locations": [
             {
               "physicalLocation": {
@@ -5683,10 +5746,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 386,
-                  "startColumn": 13,
-                  "endLine": 386,
-                  "endColumn": 19,
+                  "startLine": 528,
+                  "startColumn": 28,
+                  "endLine": 528,
+                  "endColumn": 34,
                   "byteLength": 6
                 }
               }
@@ -5697,7 +5760,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function calloc." },
+          "message": { "text": "assigns clause in function abort." },
           "locations": [
             {
               "physicalLocation": {
@@ -5706,11 +5769,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 386,
-                  "startColumn": 13,
-                  "endLine": 386,
-                  "endColumn": 19,
-                  "byteLength": 6
+                  "startLine": 526,
+                  "startColumn": 10,
+                  "endLine": 526,
+                  "endColumn": 22,
+                  "byteLength": 12
                 }
               }
             }
@@ -5720,7 +5783,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior no_allocation in function calloc." },
+          "message": {
+            "text": "from clause of term \\exit_status in function abort."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -5729,11 +5794,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 386,
-                  "startColumn": 13,
-                  "endLine": 386,
-                  "endColumn": 19,
-                  "byteLength": 6
+                  "startLine": 526,
+                  "startColumn": 10,
+                  "endLine": 526,
+                  "endColumn": 22,
+                  "byteLength": 12
                 }
               }
             }
@@ -5743,7 +5808,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "can_allocate." },
+          "message": { "text": "behavior default! in function abs." },
           "locations": [
             {
               "physicalLocation": {
@@ -5752,11 +5817,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 373,
-                  "startColumn": 26,
-                  "endLine": 373,
-                  "endColumn": 52,
-                  "byteLength": 26
+                  "startLine": 680,
+                  "startColumn": 11,
+                  "endLine": 680,
+                  "endColumn": 14,
+                  "byteLength": 3
                 }
               }
             }
@@ -5766,7 +5831,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "cannot_allocate." },
+          "message": { "text": "behavior negative in function abs." },
           "locations": [
             {
               "physicalLocation": {
@@ -5775,11 +5840,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 379,
-                  "startColumn": 29,
-                  "endLine": 379,
-                  "endColumn": 56,
-                  "byteLength": 27
+                  "startLine": 680,
+                  "startColumn": 11,
+                  "endLine": 680,
+                  "endColumn": 14,
+                  "byteLength": 3
                 }
               }
             }
@@ -5789,7 +5854,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "allocation." },
+          "message": { "text": "behavior nonnegative in function abs." },
           "locations": [
             {
               "physicalLocation": {
@@ -5798,11 +5863,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 374,
-                  "startColumn": 24,
-                  "endLine": 374,
-                  "endColumn": 53,
-                  "byteLength": 29
+                  "startLine": 680,
+                  "startColumn": 11,
+                  "endLine": 680,
+                  "endColumn": 14,
+                  "byteLength": 3
                 }
               }
             }
@@ -5812,7 +5877,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "initialization." },
+          "message": { "text": "abs_representable." },
           "locations": [
             {
               "physicalLocation": {
@@ -5821,11 +5886,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 375,
-                  "startColumn": 28,
-                  "endLine": 375,
-                  "endColumn": 77,
-                  "byteLength": 49
+                  "startLine": 669,
+                  "startColumn": 30,
+                  "endLine": 669,
+                  "endColumn": 51,
+                  "byteLength": 21
                 }
               }
             }
@@ -5835,7 +5900,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "zero_initialization." },
+          "message": { "text": "negative." },
           "locations": [
             {
               "physicalLocation": {
@@ -5844,11 +5909,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 376,
-                  "startColumn": 33,
-                  "endLine": 376,
-                  "endColumn": 81,
-                  "byteLength": 48
+                  "startLine": 672,
+                  "startColumn": 22,
+                  "endLine": 672,
+                  "endColumn": 27,
+                  "byteLength": 5
                 }
               }
             }
@@ -5858,7 +5923,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "null_result." },
+          "message": { "text": "nonnegative." },
           "locations": [
             {
               "physicalLocation": {
@@ -5867,11 +5932,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 382,
+                  "startLine": 675,
                   "startColumn": 25,
-                  "endLine": 382,
-                  "endColumn": 41,
-                  "byteLength": 16
+                  "endLine": 675,
+                  "endColumn": 31,
+                  "byteLength": 6
                 }
               }
             }
@@ -5881,7 +5946,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function calloc." },
+          "message": { "text": "opposite_result." },
           "locations": [
             {
               "physicalLocation": {
@@ -5890,11 +5955,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 368,
-                  "startColumn": 10,
-                  "endLine": 368,
-                  "endColumn": 26,
-                  "byteLength": 16
+                  "startLine": 673,
+                  "startColumn": 29,
+                  "endLine": 673,
+                  "endColumn": 42,
+                  "byteLength": 13
                 }
               }
             }
@@ -5904,7 +5969,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function calloc." },
+          "message": { "text": "same_result." },
           "locations": [
             {
               "physicalLocation": {
@@ -5913,11 +5978,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 386,
-                  "startColumn": 13,
-                  "endLine": 386,
-                  "endColumn": 19,
-                  "byteLength": 6
+                  "startLine": 676,
+                  "startColumn": 25,
+                  "endLine": 676,
+                  "endColumn": 37,
+                  "byteLength": 12
                 }
               }
             }
@@ -5927,9 +5992,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term __fc_heap_status in function calloc."
-          },
+          "message": { "text": "assigns clause in function abs." },
           "locations": [
             {
               "physicalLocation": {
@@ -5938,11 +6001,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 368,
-                  "startColumn": 10,
-                  "endLine": 368,
-                  "endColumn": 26,
-                  "byteLength": 16
+                  "startLine": 680,
+                  "startColumn": 11,
+                  "endLine": 680,
+                  "endColumn": 14,
+                  "byteLength": 3
                 }
               }
             }
@@ -5953,7 +6016,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function calloc."
+            "text": "from clause of term \\result in function abs."
           },
           "locations": [
             {
@@ -5963,9 +6026,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 369,
+                  "startLine": 670,
                   "startColumn": 10,
-                  "endLine": 369,
+                  "endLine": 670,
                   "endColumn": 17,
                   "byteLength": 7
                 }
@@ -5977,9 +6040,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function calloc."
-          },
+          "message": { "text": "complete clause in function abs." },
           "locations": [
             {
               "physicalLocation": {
@@ -5988,11 +6049,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 380,
-                  "startColumn": 12,
-                  "endLine": 380,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "startLine": 680,
+                  "startColumn": 11,
+                  "endLine": 680,
+                  "endColumn": 14,
+                  "byteLength": 3
                 }
               }
             }
@@ -6002,7 +6063,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "allocates/frees clause in function calloc." },
+          "message": { "text": "disjoint clause in function abs." },
           "locations": [
             {
               "physicalLocation": {
@@ -6011,11 +6072,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 367,
-                  "startColumn": 12,
-                  "endLine": 367,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "startLine": 680,
+                  "startColumn": 11,
+                  "endLine": 680,
+                  "endColumn": 14,
+                  "byteLength": 3
                 }
               }
             }
@@ -6025,7 +6086,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "allocates/frees clause in function calloc." },
+          "message": {
+            "text": "behavior default! in function at_quick_exit."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -6034,11 +6097,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 386,
-                  "startColumn": 13,
-                  "endLine": 386,
-                  "endColumn": 19,
-                  "byteLength": 6
+                  "startLine": 536,
+                  "startColumn": 11,
+                  "endLine": 536,
+                  "endColumn": 24,
+                  "byteLength": 13
                 }
               }
             }
@@ -6048,7 +6111,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "complete clause in function calloc." },
+          "message": { "text": "assigns clause in function at_quick_exit." },
           "locations": [
             {
               "physicalLocation": {
@@ -6057,11 +6120,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 386,
-                  "startColumn": 13,
-                  "endLine": 386,
-                  "endColumn": 19,
-                  "byteLength": 6
+                  "startLine": 536,
+                  "startColumn": 11,
+                  "endLine": 536,
+                  "endColumn": 24,
+                  "byteLength": 13
                 }
               }
             }
@@ -6071,7 +6134,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "disjoint clause in function calloc." },
+          "message": {
+            "text": "from clause of term \\result in function at_quick_exit."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -6080,11 +6145,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 386,
-                  "startColumn": 13,
-                  "endLine": 386,
+                  "startLine": 535,
+                  "startColumn": 12,
+                  "endLine": 535,
                   "endColumn": 19,
-                  "byteLength": 6
+                  "byteLength": 7
                 }
               }
             }
@@ -6094,7 +6159,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function div." },
+          "message": { "text": "behavior default! in function atexit." },
           "locations": [
             {
               "physicalLocation": {
@@ -6103,11 +6168,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 642,
-                  "startColumn": 13,
-                  "endLine": 642,
-                  "endColumn": 16,
-                  "byteLength": 3
+                  "startLine": 533,
+                  "startColumn": 11,
+                  "endLine": 533,
+                  "endColumn": 17,
+                  "byteLength": 6
                 }
               }
             }
@@ -6117,7 +6182,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function div." },
+          "message": { "text": "assigns clause in function atexit." },
           "locations": [
             {
               "physicalLocation": {
@@ -6126,11 +6191,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 642,
-                  "startColumn": 13,
-                  "endLine": 642,
-                  "endColumn": 16,
-                  "byteLength": 3
+                  "startLine": 533,
+                  "startColumn": 11,
+                  "endLine": 533,
+                  "endColumn": 17,
+                  "byteLength": 6
                 }
               }
             }
@@ -6141,7 +6206,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function div."
+            "text": "from clause of term \\result in function atexit."
           },
           "locations": [
             {
@@ -6151,9 +6216,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 641,
+                  "startLine": 532,
                   "startColumn": 12,
-                  "endLine": 641,
+                  "endLine": 532,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -6165,7 +6230,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function drand48." },
+          "message": { "text": "behavior default! in function atof." },
           "locations": [
             {
               "physicalLocation": {
@@ -6174,11 +6239,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 323,
+                  "startLine": 76,
                   "startColumn": 14,
-                  "endLine": 323,
-                  "endColumn": 21,
-                  "byteLength": 7
+                  "endLine": 76,
+                  "endColumn": 18,
+                  "byteLength": 4
                 }
               }
             }
@@ -6188,7 +6253,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "random48_initialized." },
+          "message": { "text": "valid_nptr." },
           "locations": [
             {
               "physicalLocation": {
@@ -6197,10 +6262,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 318,
-                  "startColumn": 33,
-                  "endLine": 318,
-                  "endColumn": 56,
+                  "startLine": 73,
+                  "startColumn": 23,
+                  "endLine": 73,
+                  "endColumn": 46,
                   "byteLength": 23
                 }
               }
@@ -6211,7 +6276,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_range." },
+          "message": { "text": "assigns clause in function atof." },
           "locations": [
             {
               "physicalLocation": {
@@ -6220,11 +6285,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 321,
-                  "startColumn": 24,
-                  "endLine": 321,
-                  "endColumn": 67,
-                  "byteLength": 43
+                  "startLine": 76,
+                  "startColumn": 14,
+                  "endLine": 76,
+                  "endColumn": 18,
+                  "byteLength": 4
                 }
               }
             }
@@ -6234,20 +6299,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function drand48." },
-          "locations": [
-            {
+          "message": {
+            "text": "from clause of term \\result in function atof."
+          },
+          "locations": [
+            {
               "physicalLocation": {
                 "artifactLocation": {
                   "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 319,
+                  "startLine": 74,
                   "startColumn": 10,
-                  "endLine": 319,
-                  "endColumn": 37,
-                  "byteLength": 27
+                  "endLine": 74,
+                  "endColumn": 17,
+                  "byteLength": 7
                 }
               }
             }
@@ -6257,9 +6324,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term __fc_random48_counter[0 .. 2] in function drand48."
-          },
+          "message": { "text": "behavior default! in function atoi." },
           "locations": [
             {
               "physicalLocation": {
@@ -6268,11 +6333,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 319,
-                  "startColumn": 10,
-                  "endLine": 319,
-                  "endColumn": 37,
-                  "byteLength": 27
+                  "startLine": 82,
+                  "startColumn": 11,
+                  "endLine": 82,
+                  "endColumn": 15,
+                  "byteLength": 4
                 }
               }
             }
@@ -6282,9 +6347,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function drand48."
-          },
+          "message": { "text": "valid_nptr." },
           "locations": [
             {
               "physicalLocation": {
@@ -6293,11 +6356,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 320,
-                  "startColumn": 10,
-                  "endLine": 320,
-                  "endColumn": 17,
-                  "byteLength": 7
+                  "startLine": 79,
+                  "startColumn": 23,
+                  "endLine": 79,
+                  "endColumn": 46,
+                  "byteLength": 23
                 }
               }
             }
@@ -6307,7 +6370,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function erand48." },
+          "message": { "text": "assigns clause in function atoi." },
           "locations": [
             {
               "physicalLocation": {
@@ -6316,11 +6379,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 331,
-                  "startColumn": 14,
-                  "endLine": 331,
-                  "endColumn": 21,
-                  "byteLength": 7
+                  "startLine": 82,
+                  "startColumn": 11,
+                  "endLine": 82,
+                  "endColumn": 15,
+                  "byteLength": 4
                 }
               }
             }
@@ -6330,7 +6393,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "initialization." },
+          "message": {
+            "text": "from clause of term \\result in function atoi."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -6339,11 +6404,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 326,
-                  "startColumn": 45,
-                  "endLine": 326,
-                  "endColumn": 71,
-                  "byteLength": 26
+                  "startLine": 80,
+                  "startColumn": 10,
+                  "endLine": 80,
+                  "endColumn": 17,
+                  "byteLength": 7
                 }
               }
             }
@@ -6353,7 +6418,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_range." },
+          "message": { "text": "behavior default! in function atol." },
           "locations": [
             {
               "physicalLocation": {
@@ -6362,11 +6427,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 329,
-                  "startColumn": 24,
-                  "endLine": 329,
-                  "endColumn": 67,
-                  "byteLength": 43
+                  "startLine": 88,
+                  "startColumn": 16,
+                  "endLine": 88,
+                  "endColumn": 20,
+                  "byteLength": 4
                 }
               }
             }
@@ -6376,7 +6441,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function erand48." },
+          "message": { "text": "valid_nptr." },
           "locations": [
             {
               "physicalLocation": {
@@ -6385,11 +6450,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 327,
-                  "startColumn": 10,
-                  "endLine": 327,
-                  "endColumn": 37,
-                  "byteLength": 27
+                  "startLine": 85,
+                  "startColumn": 23,
+                  "endLine": 85,
+                  "endColumn": 46,
+                  "byteLength": 23
                 }
               }
             }
@@ -6399,9 +6464,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term __fc_random48_counter[0 .. 2] in function erand48."
-          },
+          "message": { "text": "assigns clause in function atol." },
           "locations": [
             {
               "physicalLocation": {
@@ -6410,11 +6473,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 327,
-                  "startColumn": 10,
-                  "endLine": 327,
-                  "endColumn": 37,
-                  "byteLength": 27
+                  "startLine": 88,
+                  "startColumn": 16,
+                  "endLine": 88,
+                  "endColumn": 20,
+                  "byteLength": 4
                 }
               }
             }
@@ -6425,7 +6488,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function erand48."
+            "text": "from clause of term \\result in function atol."
           },
           "locations": [
             {
@@ -6435,9 +6498,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 328,
+                  "startLine": 86,
                   "startColumn": 10,
-                  "endLine": 328,
+                  "endLine": 86,
                   "endColumn": 17,
                   "byteLength": 7
                 }
@@ -6449,7 +6512,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function exit." },
+          "message": { "text": "behavior default! in function atoll." },
           "locations": [
             {
               "physicalLocation": {
@@ -6458,11 +6521,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 511,
-                  "startColumn": 12,
-                  "endLine": 511,
-                  "endColumn": 16,
-                  "byteLength": 4
+                  "startLine": 94,
+                  "startColumn": 21,
+                  "endLine": 94,
+                  "endColumn": 26,
+                  "byteLength": 5
                 }
               }
             }
@@ -6472,7 +6535,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "status." },
+          "message": { "text": "valid_nptr." },
           "locations": [
             {
               "physicalLocation": {
@@ -6481,11 +6544,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 508,
-                  "startColumn": 16,
-                  "endLine": 508,
-                  "endColumn": 38,
-                  "byteLength": 22
+                  "startLine": 91,
+                  "startColumn": 23,
+                  "endLine": 91,
+                  "endColumn": 46,
+                  "byteLength": 23
                 }
               }
             }
@@ -6495,7 +6558,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "never_terminates." },
+          "message": { "text": "assigns clause in function atoll." },
           "locations": [
             {
               "physicalLocation": {
@@ -6504,11 +6567,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 509,
-                  "startColumn": 28,
-                  "endLine": 509,
-                  "endColumn": 34,
-                  "byteLength": 6
+                  "startLine": 94,
+                  "startColumn": 21,
+                  "endLine": 94,
+                  "endColumn": 26,
+                  "byteLength": 5
                 }
               }
             }
@@ -6518,7 +6581,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function exit." },
+          "message": {
+            "text": "from clause of term \\result in function atoll."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -6527,11 +6592,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 507,
+                  "startLine": 92,
                   "startColumn": 10,
-                  "endLine": 507,
-                  "endColumn": 22,
-                  "byteLength": 12
+                  "endLine": 92,
+                  "endColumn": 17,
+                  "byteLength": 7
                 }
               }
             }
@@ -6541,9 +6606,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\exit_status in function exit."
-          },
+          "message": { "text": "behavior default! in function bsearch." },
           "locations": [
             {
               "physicalLocation": {
@@ -6552,11 +6615,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 507,
-                  "startColumn": 10,
-                  "endLine": 507,
-                  "endColumn": 22,
-                  "byteLength": 12
+                  "startLine": 652,
+                  "startColumn": 13,
+                  "endLine": 652,
+                  "endColumn": 20,
+                  "byteLength": 7
                 }
               }
             }
@@ -6566,7 +6629,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior deallocation in function free." },
+          "message": { "text": "valid_function_compar." },
           "locations": [
             {
               "physicalLocation": {
@@ -6575,11 +6638,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 420,
-                  "startColumn": 12,
-                  "endLine": 420,
-                  "endColumn": 16,
-                  "byteLength": 4
+                  "startLine": 645,
+                  "startColumn": 34,
+                  "endLine": 645,
+                  "endColumn": 57,
+                  "byteLength": 23
                 }
               }
             }
@@ -6589,7 +6652,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function free." },
+          "message": { "text": "null_or_correct_result." },
           "locations": [
             {
               "physicalLocation": {
@@ -6598,11 +6661,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 420,
-                  "startColumn": 12,
-                  "endLine": 420,
-                  "endColumn": 16,
-                  "byteLength": 4
+                  "startLine": 649,
+                  "startColumn": 34,
+                  "endLine": 650,
+                  "endColumn": 76,
+                  "byteLength": 96
                 }
               }
             }
@@ -6612,7 +6675,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior no_deallocation in function free." },
+          "message": { "text": "assigns clause in function bsearch." },
           "locations": [
             {
               "physicalLocation": {
@@ -6621,11 +6684,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 420,
-                  "startColumn": 12,
-                  "endLine": 420,
-                  "endColumn": 16,
-                  "byteLength": 4
+                  "startLine": 652,
+                  "startColumn": 13,
+                  "endLine": 652,
+                  "endColumn": 20,
+                  "byteLength": 7
                 }
               }
             }
@@ -6635,7 +6698,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "freeable." },
+          "message": {
+            "text": "from clause of term \\result in function bsearch."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -6644,11 +6709,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 406,
-                  "startColumn": 23,
-                  "endLine": 406,
-                  "endColumn": 47,
-                  "byteLength": 24
+                  "startLine": 646,
+                  "startColumn": 10,
+                  "endLine": 646,
+                  "endColumn": 17,
+                  "byteLength": 7
                 }
               }
             }
@@ -6658,20 +6723,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "nonnull_p." },
+          "message": { "text": "behavior default! in function bzero." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/strings.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 410,
-                  "startColumn": 23,
-                  "endLine": 410,
-                  "endColumn": 31,
-                  "byteLength": 8
+                  "startLine": 40,
+                  "startColumn": 12,
+                  "endLine": 40,
+                  "endColumn": 17,
+                  "byteLength": 5
                 }
               }
             }
@@ -6681,20 +6746,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "null_p." },
+          "message": { "text": "valid_memory_area." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/strings.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 414,
-                  "startColumn": 20,
-                  "endLine": 414,
-                  "endColumn": 28,
-                  "byteLength": 8
+                  "startLine": 36,
+                  "startColumn": 32,
+                  "endLine": 36,
+                  "endColumn": 63,
+                  "byteLength": 31
                 }
               }
             }
@@ -6704,22 +6769,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "freed." },
+          "message": { "text": "s_initialized." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/strings.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 412,
-                  "startColumn": 19,
-                  "endLine": 412,
-                  "endColumn": 32,
-                  "byteLength": 13
-                }
-              }
+                  "startLine": 38,
+                  "startColumn": 39,
+                  "endLine": 38,
+                  "endColumn": 75,
+                  "byteLength": 36
+                }
+              }
             }
           ]
         },
@@ -6727,20 +6792,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function free." },
+          "message": { "text": "zero_initialized." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/strings.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 411,
-                  "startColumn": 12,
-                  "endLine": 411,
-                  "endColumn": 28,
-                  "byteLength": 16
+                  "startLine": 39,
+                  "startColumn": 28,
+                  "endLine": 39,
+                  "endColumn": 63,
+                  "byteLength": 35
                 }
               }
             }
@@ -6750,20 +6815,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function free." },
+          "message": { "text": "assigns clause in function bzero." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/strings.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 408,
-                  "startColumn": 12,
-                  "endLine": 408,
-                  "endColumn": 28,
-                  "byteLength": 16
+                  "startLine": 37,
+                  "startColumn": 10,
+                  "endLine": 37,
+                  "endColumn": 31,
+                  "byteLength": 21
                 }
               }
             }
@@ -6773,20 +6838,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function free." },
+          "message": {
+            "text": "from clause of term *((char *)s + (0 .. n - 1)) in function bzero."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/strings.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 420,
-                  "startColumn": 12,
-                  "endLine": 420,
-                  "endColumn": 16,
-                  "byteLength": 4
+                  "startLine": 37,
+                  "startColumn": 10,
+                  "endLine": 37,
+                  "endColumn": 31,
+                  "byteLength": 21
                 }
               }
             }
@@ -6796,9 +6863,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term __fc_heap_status in function free."
-          },
+          "message": { "text": "behavior allocation in function calloc." },
           "locations": [
             {
               "physicalLocation": {
@@ -6807,11 +6872,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 411,
-                  "startColumn": 12,
-                  "endLine": 411,
-                  "endColumn": 28,
-                  "byteLength": 16
+                  "startLine": 418,
+                  "startColumn": 13,
+                  "endLine": 418,
+                  "endColumn": 19,
+                  "byteLength": 6
                 }
               }
             }
@@ -6821,9 +6886,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term __fc_heap_status in function free."
-          },
+          "message": { "text": "behavior default! in function calloc." },
           "locations": [
             {
               "physicalLocation": {
@@ -6832,11 +6895,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 408,
-                  "startColumn": 12,
-                  "endLine": 408,
-                  "endColumn": 28,
-                  "byteLength": 16
+                  "startLine": 418,
+                  "startColumn": 13,
+                  "endLine": 418,
+                  "endColumn": 19,
+                  "byteLength": 6
                 }
               }
             }
@@ -6846,7 +6909,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "allocates/frees clause in function free." },
+          "message": { "text": "behavior no_allocation in function calloc." },
           "locations": [
             {
               "physicalLocation": {
@@ -6855,11 +6918,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 407,
-                  "startColumn": 10,
-                  "endLine": 407,
-                  "endColumn": 11,
-                  "byteLength": 1
+                  "startLine": 418,
+                  "startColumn": 13,
+                  "endLine": 418,
+                  "endColumn": 19,
+                  "byteLength": 6
                 }
               }
             }
@@ -6869,7 +6932,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "allocates/frees clause in function free." },
+          "message": { "text": "can_allocate." },
           "locations": [
             {
               "physicalLocation": {
@@ -6878,11 +6941,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 420,
-                  "startColumn": 12,
-                  "endLine": 420,
-                  "endColumn": 16,
-                  "byteLength": 4
+                  "startLine": 405,
+                  "startColumn": 26,
+                  "endLine": 405,
+                  "endColumn": 52,
+                  "byteLength": 26
                 }
               }
             }
@@ -6892,7 +6955,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "complete clause in function free." },
+          "message": { "text": "cannot_allocate." },
           "locations": [
             {
               "physicalLocation": {
@@ -6901,11 +6964,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 420,
-                  "startColumn": 12,
-                  "endLine": 420,
-                  "endColumn": 16,
-                  "byteLength": 4
+                  "startLine": 411,
+                  "startColumn": 29,
+                  "endLine": 411,
+                  "endColumn": 56,
+                  "byteLength": 27
                 }
               }
             }
@@ -6915,7 +6978,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "disjoint clause in function free." },
+          "message": { "text": "allocation." },
           "locations": [
             {
               "physicalLocation": {
@@ -6924,11 +6987,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 420,
-                  "startColumn": 12,
-                  "endLine": 420,
-                  "endColumn": 16,
-                  "byteLength": 4
+                  "startLine": 406,
+                  "startColumn": 24,
+                  "endLine": 406,
+                  "endColumn": 53,
+                  "byteLength": 29
                 }
               }
             }
@@ -6938,7 +7001,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function getenv." },
+          "message": { "text": "initialization." },
           "locations": [
             {
               "physicalLocation": {
@@ -6947,11 +7010,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 526,
-                  "startColumn": 13,
-                  "endLine": 526,
-                  "endColumn": 19,
-                  "byteLength": 6
+                  "startLine": 407,
+                  "startColumn": 28,
+                  "endLine": 407,
+                  "endColumn": 77,
+                  "byteLength": 49
                 }
               }
             }
@@ -6961,7 +7024,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_name." },
+          "message": { "text": "zero_initialization." },
           "locations": [
             {
               "physicalLocation": {
@@ -6970,11 +7033,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 522,
-                  "startColumn": 23,
-                  "endLine": 522,
-                  "endColumn": 46,
-                  "byteLength": 23
+                  "startLine": 408,
+                  "startColumn": 33,
+                  "endLine": 408,
+                  "endColumn": 81,
+                  "byteLength": 48
                 }
               }
             }
@@ -6984,7 +7047,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "null_or_valid_result." },
+          "message": { "text": "null_result." },
           "locations": [
             {
               "physicalLocation": {
@@ -6993,11 +7056,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 524,
-                  "startColumn": 32,
-                  "endLine": 524,
-                  "endColumn": 67,
-                  "byteLength": 35
+                  "startLine": 414,
+                  "startColumn": 25,
+                  "endLine": 414,
+                  "endColumn": 41,
+                  "byteLength": 16
                 }
               }
             }
@@ -7007,7 +7070,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function getenv." },
+          "message": { "text": "assigns clause in function calloc." },
           "locations": [
             {
               "physicalLocation": {
@@ -7016,11 +7079,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 526,
-                  "startColumn": 13,
-                  "endLine": 526,
-                  "endColumn": 19,
-                  "byteLength": 6
+                  "startLine": 400,
+                  "startColumn": 10,
+                  "endLine": 400,
+                  "endColumn": 26,
+                  "byteLength": 16
                 }
               }
             }
@@ -7030,9 +7093,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function getenv."
-          },
+          "message": { "text": "assigns clause in function calloc." },
           "locations": [
             {
               "physicalLocation": {
@@ -7041,11 +7102,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 523,
-                  "startColumn": 10,
-                  "endLine": 523,
-                  "endColumn": 17,
-                  "byteLength": 7
+                  "startLine": 418,
+                  "startColumn": 13,
+                  "endLine": 418,
+                  "endColumn": 19,
+                  "byteLength": 6
                 }
               }
             }
@@ -7055,7 +7116,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function jrand48." },
+          "message": {
+            "text": "from clause of term __fc_heap_status in function calloc."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -7064,11 +7127,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 363,
-                  "startColumn": 16,
-                  "endLine": 363,
-                  "endColumn": 23,
-                  "byteLength": 7
+                  "startLine": 400,
+                  "startColumn": 10,
+                  "endLine": 400,
+                  "endColumn": 26,
+                  "byteLength": 16
                 }
               }
             }
@@ -7078,7 +7141,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "initialization." },
+          "message": {
+            "text": "from clause of term \\result in function calloc."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -7087,11 +7152,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 358,
-                  "startColumn": 45,
-                  "endLine": 358,
-                  "endColumn": 71,
-                  "byteLength": 26
+                  "startLine": 401,
+                  "startColumn": 10,
+                  "endLine": 401,
+                  "endColumn": 17,
+                  "byteLength": 7
                 }
               }
             }
@@ -7101,7 +7166,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_range." },
+          "message": {
+            "text": "from clause of term \\result in function calloc."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -7110,11 +7177,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 361,
-                  "startColumn": 24,
-                  "endLine": 361,
-                  "endColumn": 59,
-                  "byteLength": 35
+                  "startLine": 413,
+                  "startColumn": 12,
+                  "endLine": 413,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -7124,7 +7191,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function jrand48." },
+          "message": { "text": "allocates/frees clause in function calloc." },
           "locations": [
             {
               "physicalLocation": {
@@ -7133,11 +7200,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 359,
-                  "startColumn": 10,
-                  "endLine": 359,
-                  "endColumn": 37,
-                  "byteLength": 27
+                  "startLine": 399,
+                  "startColumn": 12,
+                  "endLine": 399,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -7147,9 +7214,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term __fc_random48_counter[0 .. 2] in function jrand48."
-          },
+          "message": { "text": "allocates/frees clause in function calloc." },
           "locations": [
             {
               "physicalLocation": {
@@ -7158,11 +7223,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 359,
-                  "startColumn": 10,
-                  "endLine": 359,
-                  "endColumn": 37,
-                  "byteLength": 27
+                  "startLine": 418,
+                  "startColumn": 13,
+                  "endLine": 418,
+                  "endColumn": 19,
+                  "byteLength": 6
                 }
               }
             }
@@ -7172,9 +7237,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function jrand48."
-          },
+          "message": { "text": "complete clause in function calloc." },
           "locations": [
             {
               "physicalLocation": {
@@ -7183,11 +7246,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 360,
-                  "startColumn": 10,
-                  "endLine": 360,
-                  "endColumn": 17,
-                  "byteLength": 7
+                  "startLine": 418,
+                  "startColumn": 13,
+                  "endLine": 418,
+                  "endColumn": 19,
+                  "byteLength": 6
                 }
               }
             }
@@ -7197,7 +7260,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function labs." },
+          "message": { "text": "disjoint clause in function calloc." },
           "locations": [
             {
               "physicalLocation": {
@@ -7206,11 +7269,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 625,
-                  "startColumn": 16,
-                  "endLine": 625,
-                  "endColumn": 20,
-                  "byteLength": 4
+                  "startLine": 418,
+                  "startColumn": 13,
+                  "endLine": 418,
+                  "endColumn": 19,
+                  "byteLength": 6
                 }
               }
             }
@@ -7220,7 +7283,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior negative in function labs." },
+          "message": {
+            "text": "behavior default! in function canonicalize_file_name."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -7229,11 +7294,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 625,
-                  "startColumn": 16,
-                  "endLine": 625,
-                  "endColumn": 20,
-                  "byteLength": 4
+                  "startLine": 901,
+                  "startColumn": 13,
+                  "endLine": 901,
+                  "endColumn": 35,
+                  "byteLength": 22
                 }
               }
             }
@@ -7243,7 +7308,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior nonnegative in function labs." },
+          "message": {
+            "text": "assigns clause in function canonicalize_file_name."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -7252,11 +7319,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 625,
-                  "startColumn": 16,
-                  "endLine": 625,
-                  "endColumn": 20,
-                  "byteLength": 4
+                  "startLine": 901,
+                  "startColumn": 13,
+                  "endLine": 901,
+                  "endColumn": 35,
+                  "byteLength": 22
                 }
               }
             }
@@ -7266,7 +7333,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "abs_representable." },
+          "message": {
+            "text": "from clause of term \\result in function canonicalize_file_name."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -7275,11 +7344,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 614,
-                  "startColumn": 30,
-                  "endLine": 614,
-                  "endColumn": 62,
-                  "byteLength": 32
+                  "startLine": 899,
+                  "startColumn": 10,
+                  "endLine": 899,
+                  "endColumn": 17,
+                  "byteLength": 7
                 }
               }
             }
@@ -7289,7 +7358,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "negative." },
+          "message": {
+            "text": "allocates/frees clause in function canonicalize_file_name."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -7298,11 +7369,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 617,
-                  "startColumn": 22,
-                  "endLine": 617,
-                  "endColumn": 27,
-                  "byteLength": 5
+                  "startLine": 898,
+                  "startColumn": 12,
+                  "endLine": 898,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -7312,20 +7383,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "nonnegative." },
+          "message": {
+            "text": "behavior default! in function char_equal_ignore_case."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/string.c",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 620,
-                  "startColumn": 25,
-                  "endLine": 620,
-                  "endColumn": 31,
-                  "byteLength": 6
+                  "startLine": 178,
+                  "startColumn": 11,
+                  "endLine": 184,
+                  "endColumn": 1,
+                  "byteLength": 229
                 }
               }
             }
@@ -7335,20 +7408,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "opposite_result." },
+          "message": {
+            "text": "assigns clause in function char_equal_ignore_case."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/string.c",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 618,
-                  "startColumn": 29,
-                  "endLine": 618,
-                  "endColumn": 42,
-                  "byteLength": 13
+                  "startLine": 178,
+                  "startColumn": 11,
+                  "endLine": 184,
+                  "endColumn": 1,
+                  "byteLength": 229
                 }
               }
             }
@@ -7358,7 +7433,32 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "same_result." },
+          "message": {
+            "text": "from clause of term \\result in function char_equal_ignore_case."
+          },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 176,
+                  "startColumn": 10,
+                  "endLine": 176,
+                  "endColumn": 17,
+                  "byteLength": 7
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "behavior default! in function div." },
           "locations": [
             {
               "physicalLocation": {
@@ -7367,11 +7467,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 621,
-                  "startColumn": 25,
-                  "endLine": 621,
-                  "endColumn": 37,
-                  "byteLength": 12
+                  "startLine": 715,
+                  "startColumn": 13,
+                  "endLine": 715,
+                  "endColumn": 16,
+                  "byteLength": 3
                 }
               }
             }
@@ -7381,7 +7481,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function labs." },
+          "message": { "text": "denom_nonzero." },
           "locations": [
             {
               "physicalLocation": {
@@ -7390,11 +7490,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 625,
-                  "startColumn": 16,
-                  "endLine": 625,
-                  "endColumn": 20,
-                  "byteLength": 4
+                  "startLine": 711,
+                  "startColumn": 26,
+                  "endLine": 711,
+                  "endColumn": 36,
+                  "byteLength": 10
                 }
               }
             }
@@ -7404,9 +7504,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function labs."
-          },
+          "message": { "text": "no_overflow." },
           "locations": [
             {
               "physicalLocation": {
@@ -7415,11 +7513,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 615,
-                  "startColumn": 10,
-                  "endLine": 615,
-                  "endColumn": 17,
-                  "byteLength": 7
+                  "startLine": 712,
+                  "startColumn": 24,
+                  "endLine": 712,
+                  "endColumn": 68,
+                  "byteLength": 44
                 }
               }
             }
@@ -7429,7 +7527,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "complete clause in function labs." },
+          "message": { "text": "assigns clause in function div." },
           "locations": [
             {
               "physicalLocation": {
@@ -7438,11 +7536,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 625,
-                  "startColumn": 16,
-                  "endLine": 625,
-                  "endColumn": 20,
-                  "byteLength": 4
+                  "startLine": 715,
+                  "startColumn": 13,
+                  "endLine": 715,
+                  "endColumn": 16,
+                  "byteLength": 3
                 }
               }
             }
@@ -7452,7 +7550,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "disjoint clause in function labs." },
+          "message": {
+            "text": "from clause of term \\result in function div."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -7461,11 +7561,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 625,
-                  "startColumn": 16,
-                  "endLine": 625,
-                  "endColumn": 20,
-                  "byteLength": 4
+                  "startLine": 713,
+                  "startColumn": 10,
+                  "endLine": 713,
+                  "endColumn": 17,
+                  "byteLength": 7
                 }
               }
             }
@@ -7475,7 +7575,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function lcong48." },
+          "message": { "text": "behavior default! in function drand48." },
           "locations": [
             {
               "physicalLocation": {
@@ -7484,10 +7584,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 315,
-                  "startColumn": 12,
-                  "endLine": 315,
-                  "endColumn": 19,
+                  "startLine": 352,
+                  "startColumn": 14,
+                  "endLine": 352,
+                  "endColumn": 21,
                   "byteLength": 7
                 }
               }
@@ -7507,10 +7607,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 313,
-                  "startColumn": 32,
-                  "endLine": 313,
-                  "endColumn": 55,
+                  "startLine": 347,
+                  "startColumn": 33,
+                  "endLine": 347,
+                  "endColumn": 56,
                   "byteLength": 23
                 }
               }
@@ -7521,7 +7621,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function lcong48." },
+          "message": { "text": "result_range." },
           "locations": [
             {
               "physicalLocation": {
@@ -7530,11 +7630,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 311,
-                  "startColumn": 10,
-                  "endLine": 311,
-                  "endColumn": 37,
-                  "byteLength": 27
+                  "startLine": 350,
+                  "startColumn": 24,
+                  "endLine": 350,
+                  "endColumn": 67,
+                  "byteLength": 43
                 }
               }
             }
@@ -7544,9 +7644,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term __fc_random48_counter[0 .. 2] in function lcong48."
-          },
+          "message": { "text": "assigns clause in function drand48." },
           "locations": [
             {
               "physicalLocation": {
@@ -7555,9 +7653,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 311,
+                  "startLine": 348,
                   "startColumn": 10,
-                  "endLine": 311,
+                  "endLine": 348,
                   "endColumn": 37,
                   "byteLength": 27
                 }
@@ -7570,7 +7668,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term __fc_random48_init in function lcong48."
+            "text": "from clause of term __fc_random48_counter[0 .. 2] in function drand48."
           },
           "locations": [
             {
@@ -7580,11 +7678,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 312,
+                  "startLine": 348,
                   "startColumn": 10,
-                  "endLine": 312,
-                  "endColumn": 28,
-                  "byteLength": 18
+                  "endLine": 348,
+                  "endColumn": 37,
+                  "byteLength": 27
                 }
               }
             }
@@ -7594,7 +7692,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function ldiv." },
+          "message": {
+            "text": "from clause of term \\result in function drand48."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -7603,11 +7703,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 644,
-                  "startColumn": 14,
-                  "endLine": 644,
-                  "endColumn": 18,
-                  "byteLength": 4
+                  "startLine": 349,
+                  "startColumn": 10,
+                  "endLine": 349,
+                  "endColumn": 17,
+                  "byteLength": 7
                 }
               }
             }
@@ -7617,7 +7717,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function ldiv." },
+          "message": { "text": "behavior default! in function erand48." },
           "locations": [
             {
               "physicalLocation": {
@@ -7626,11 +7726,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 644,
+                  "startLine": 361,
                   "startColumn": 14,
-                  "endLine": 644,
-                  "endColumn": 18,
-                  "byteLength": 4
+                  "endLine": 361,
+                  "endColumn": 21,
+                  "byteLength": 7
                 }
               }
             }
@@ -7640,9 +7740,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function ldiv."
-          },
+          "message": { "text": "valid_xsubi." },
           "locations": [
             {
               "physicalLocation": {
@@ -7651,11 +7749,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 643,
-                  "startColumn": 12,
-                  "endLine": 643,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "startLine": 355,
+                  "startColumn": 24,
+                  "endLine": 355,
+                  "endColumn": 44,
+                  "byteLength": 20
                 }
               }
             }
@@ -7665,7 +7763,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function llabs." },
+          "message": { "text": "initialization." },
           "locations": [
             {
               "physicalLocation": {
@@ -7674,11 +7772,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 639,
-                  "startColumn": 21,
-                  "endLine": 639,
-                  "endColumn": 26,
-                  "byteLength": 5
+                  "startLine": 356,
+                  "startColumn": 45,
+                  "endLine": 356,
+                  "endColumn": 71,
+                  "byteLength": 26
                 }
               }
             }
@@ -7688,7 +7786,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior negative in function llabs." },
+          "message": { "text": "result_range." },
           "locations": [
             {
               "physicalLocation": {
@@ -7697,11 +7795,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 639,
-                  "startColumn": 21,
-                  "endLine": 639,
-                  "endColumn": 26,
-                  "byteLength": 5
+                  "startLine": 359,
+                  "startColumn": 24,
+                  "endLine": 359,
+                  "endColumn": 67,
+                  "byteLength": 43
                 }
               }
             }
@@ -7711,7 +7809,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior nonnegative in function llabs." },
+          "message": { "text": "assigns clause in function erand48." },
           "locations": [
             {
               "physicalLocation": {
@@ -7720,11 +7818,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 639,
-                  "startColumn": 21,
-                  "endLine": 639,
-                  "endColumn": 26,
-                  "byteLength": 5
+                  "startLine": 357,
+                  "startColumn": 10,
+                  "endLine": 357,
+                  "endColumn": 37,
+                  "byteLength": 27
                 }
               }
             }
@@ -7734,7 +7832,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "abs_representable." },
+          "message": {
+            "text": "from clause of term __fc_random48_counter[0 .. 2] in function erand48."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -7743,11 +7843,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 628,
-                  "startColumn": 30,
-                  "endLine": 628,
-                  "endColumn": 64,
-                  "byteLength": 34
+                  "startLine": 357,
+                  "startColumn": 10,
+                  "endLine": 357,
+                  "endColumn": 37,
+                  "byteLength": 27
                 }
               }
             }
@@ -7757,7 +7857,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "negative." },
+          "message": {
+            "text": "from clause of term \\result in function erand48."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -7766,11 +7868,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 631,
-                  "startColumn": 22,
-                  "endLine": 631,
-                  "endColumn": 27,
-                  "byteLength": 5
+                  "startLine": 358,
+                  "startColumn": 10,
+                  "endLine": 358,
+                  "endColumn": 17,
+                  "byteLength": 7
                 }
               }
             }
@@ -7780,7 +7882,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "nonnegative." },
+          "message": { "text": "behavior default! in function exit." },
           "locations": [
             {
               "physicalLocation": {
@@ -7789,11 +7891,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 634,
-                  "startColumn": 25,
-                  "endLine": 634,
-                  "endColumn": 31,
-                  "byteLength": 6
+                  "startLine": 543,
+                  "startColumn": 12,
+                  "endLine": 543,
+                  "endColumn": 16,
+                  "byteLength": 4
                 }
               }
             }
@@ -7803,7 +7905,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "opposite_result." },
+          "message": { "text": "status." },
           "locations": [
             {
               "physicalLocation": {
@@ -7812,11 +7914,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 632,
-                  "startColumn": 29,
-                  "endLine": 632,
-                  "endColumn": 42,
-                  "byteLength": 13
+                  "startLine": 540,
+                  "startColumn": 16,
+                  "endLine": 540,
+                  "endColumn": 38,
+                  "byteLength": 22
                 }
               }
             }
@@ -7826,7 +7928,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "same_result." },
+          "message": { "text": "never_terminates." },
           "locations": [
             {
               "physicalLocation": {
@@ -7835,11 +7937,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 635,
-                  "startColumn": 25,
-                  "endLine": 635,
-                  "endColumn": 37,
-                  "byteLength": 12
+                  "startLine": 541,
+                  "startColumn": 28,
+                  "endLine": 541,
+                  "endColumn": 34,
+                  "byteLength": 6
                 }
               }
             }
@@ -7849,7 +7951,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function llabs." },
+          "message": { "text": "assigns clause in function exit." },
           "locations": [
             {
               "physicalLocation": {
@@ -7858,11 +7960,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 639,
-                  "startColumn": 21,
-                  "endLine": 639,
-                  "endColumn": 26,
-                  "byteLength": 5
+                  "startLine": 539,
+                  "startColumn": 10,
+                  "endLine": 539,
+                  "endColumn": 22,
+                  "byteLength": 12
                 }
               }
             }
@@ -7873,7 +7975,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function llabs."
+            "text": "from clause of term \\exit_status in function exit."
           },
           "locations": [
             {
@@ -7883,11 +7985,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 629,
+                  "startLine": 539,
                   "startColumn": 10,
-                  "endLine": 629,
-                  "endColumn": 17,
-                  "byteLength": 7
+                  "endLine": 539,
+                  "endColumn": 22,
+                  "byteLength": 12
                 }
               }
             }
@@ -7897,7 +7999,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "complete clause in function llabs." },
+          "message": { "text": "behavior deallocation in function free." },
           "locations": [
             {
               "physicalLocation": {
@@ -7906,11 +8008,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 639,
-                  "startColumn": 21,
-                  "endLine": 639,
-                  "endColumn": 26,
-                  "byteLength": 5
+                  "startLine": 452,
+                  "startColumn": 12,
+                  "endLine": 452,
+                  "endColumn": 16,
+                  "byteLength": 4
                 }
               }
             }
@@ -7920,7 +8022,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "disjoint clause in function llabs." },
+          "message": { "text": "behavior default! in function free." },
           "locations": [
             {
               "physicalLocation": {
@@ -7929,11 +8031,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 639,
-                  "startColumn": 21,
-                  "endLine": 639,
-                  "endColumn": 26,
-                  "byteLength": 5
+                  "startLine": 452,
+                  "startColumn": 12,
+                  "endLine": 452,
+                  "endColumn": 16,
+                  "byteLength": 4
                 }
               }
             }
@@ -7943,7 +8045,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function lldiv." },
+          "message": { "text": "behavior no_deallocation in function free." },
           "locations": [
             {
               "physicalLocation": {
@@ -7952,11 +8054,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 646,
-                  "startColumn": 15,
-                  "endLine": 646,
-                  "endColumn": 20,
-                  "byteLength": 5
+                  "startLine": 452,
+                  "startColumn": 12,
+                  "endLine": 452,
+                  "endColumn": 16,
+                  "byteLength": 4
                 }
               }
             }
@@ -7966,7 +8068,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function lldiv." },
+          "message": { "text": "freeable." },
           "locations": [
             {
               "physicalLocation": {
@@ -7975,11 +8077,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 646,
-                  "startColumn": 15,
-                  "endLine": 646,
-                  "endColumn": 20,
-                  "byteLength": 5
+                  "startLine": 438,
+                  "startColumn": 23,
+                  "endLine": 438,
+                  "endColumn": 47,
+                  "byteLength": 24
                 }
               }
             }
@@ -7989,9 +8091,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function lldiv."
-          },
+          "message": { "text": "nonnull_p." },
           "locations": [
             {
               "physicalLocation": {
@@ -8000,11 +8100,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 645,
-                  "startColumn": 12,
-                  "endLine": 645,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "startLine": 442,
+                  "startColumn": 23,
+                  "endLine": 442,
+                  "endColumn": 31,
+                  "byteLength": 8
                 }
               }
             }
@@ -8014,7 +8114,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function lrand48." },
+          "message": { "text": "null_p." },
           "locations": [
             {
               "physicalLocation": {
@@ -8023,11 +8123,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 339,
-                  "startColumn": 16,
-                  "endLine": 339,
-                  "endColumn": 23,
-                  "byteLength": 7
+                  "startLine": 446,
+                  "startColumn": 20,
+                  "endLine": 446,
+                  "endColumn": 28,
+                  "byteLength": 8
                 }
               }
             }
@@ -8037,7 +8137,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "random48_initialized." },
+          "message": { "text": "freed." },
           "locations": [
             {
               "physicalLocation": {
@@ -8046,11 +8146,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 334,
-                  "startColumn": 33,
-                  "endLine": 334,
-                  "endColumn": 56,
-                  "byteLength": 23
+                  "startLine": 444,
+                  "startColumn": 19,
+                  "endLine": 444,
+                  "endColumn": 32,
+                  "byteLength": 13
                 }
               }
             }
@@ -8060,7 +8160,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_range." },
+          "message": { "text": "assigns clause in function free." },
           "locations": [
             {
               "physicalLocation": {
@@ -8069,11 +8169,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 337,
-                  "startColumn": 24,
-                  "endLine": 337,
-                  "endColumn": 49,
-                  "byteLength": 25
+                  "startLine": 443,
+                  "startColumn": 12,
+                  "endLine": 443,
+                  "endColumn": 28,
+                  "byteLength": 16
                 }
               }
             }
@@ -8083,7 +8183,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function lrand48." },
+          "message": { "text": "assigns clause in function free." },
           "locations": [
             {
               "physicalLocation": {
@@ -8092,11 +8192,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 335,
-                  "startColumn": 10,
-                  "endLine": 335,
-                  "endColumn": 37,
-                  "byteLength": 27
+                  "startLine": 440,
+                  "startColumn": 12,
+                  "endLine": 440,
+                  "endColumn": 28,
+                  "byteLength": 16
                 }
               }
             }
@@ -8106,9 +8206,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term __fc_random48_counter[0 .. 2] in function lrand48."
-          },
+          "message": { "text": "assigns clause in function free." },
           "locations": [
             {
               "physicalLocation": {
@@ -8117,11 +8215,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 335,
-                  "startColumn": 10,
-                  "endLine": 335,
-                  "endColumn": 37,
-                  "byteLength": 27
+                  "startLine": 452,
+                  "startColumn": 12,
+                  "endLine": 452,
+                  "endColumn": 16,
+                  "byteLength": 4
                 }
               }
             }
@@ -8132,7 +8230,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function lrand48."
+            "text": "from clause of term __fc_heap_status in function free."
           },
           "locations": [
             {
@@ -8142,11 +8240,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 336,
-                  "startColumn": 10,
-                  "endLine": 336,
-                  "endColumn": 17,
-                  "byteLength": 7
+                  "startLine": 443,
+                  "startColumn": 12,
+                  "endLine": 443,
+                  "endColumn": 28,
+                  "byteLength": 16
                 }
               }
             }
@@ -8156,7 +8254,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior allocation in function malloc." },
+          "message": {
+            "text": "from clause of term __fc_heap_status in function free."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -8165,11 +8265,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 404,
-                  "startColumn": 13,
-                  "endLine": 404,
-                  "endColumn": 19,
-                  "byteLength": 6
+                  "startLine": 440,
+                  "startColumn": 12,
+                  "endLine": 440,
+                  "endColumn": 28,
+                  "byteLength": 16
                 }
               }
             }
@@ -8179,7 +8279,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function malloc." },
+          "message": { "text": "allocates/frees clause in function free." },
           "locations": [
             {
               "physicalLocation": {
@@ -8188,11 +8288,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 404,
-                  "startColumn": 13,
-                  "endLine": 404,
-                  "endColumn": 19,
-                  "byteLength": 6
+                  "startLine": 439,
+                  "startColumn": 10,
+                  "endLine": 439,
+                  "endColumn": 11,
+                  "byteLength": 1
                 }
               }
             }
@@ -8202,7 +8302,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior no_allocation in function malloc." },
+          "message": { "text": "allocates/frees clause in function free." },
           "locations": [
             {
               "physicalLocation": {
@@ -8211,11 +8311,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 404,
-                  "startColumn": 13,
-                  "endLine": 404,
-                  "endColumn": 19,
-                  "byteLength": 6
+                  "startLine": 452,
+                  "startColumn": 12,
+                  "endLine": 452,
+                  "endColumn": 16,
+                  "byteLength": 4
                 }
               }
             }
@@ -8225,7 +8325,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "can_allocate." },
+          "message": { "text": "complete clause in function free." },
           "locations": [
             {
               "physicalLocation": {
@@ -8234,11 +8334,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 392,
-                  "startColumn": 26,
-                  "endLine": 392,
-                  "endColumn": 44,
-                  "byteLength": 18
+                  "startLine": 452,
+                  "startColumn": 12,
+                  "endLine": 452,
+                  "endColumn": 16,
+                  "byteLength": 4
                 }
               }
             }
@@ -8248,7 +8348,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "cannot_allocate." },
+          "message": { "text": "disjoint clause in function free." },
           "locations": [
             {
               "physicalLocation": {
@@ -8257,34 +8357,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 397,
-                  "startColumn": 29,
-                  "endLine": 397,
-                  "endColumn": 48,
-                  "byteLength": 19
-                }
-              }
-            }
-          ]
-        },
-        {
-          "ruleId": "user-spec",
-          "kind": "pass",
-          "level": "none",
-          "message": { "text": "allocation." },
-          "locations": [
-            {
-              "physicalLocation": {
-                "artifactLocation": {
-                  "uri": "libc/stdlib.h",
-                  "uriBaseId": "FRAMAC_SHARE"
-                },
-                "region": {
-                  "startLine": 395,
-                  "startColumn": 24,
-                  "endLine": 395,
-                  "endColumn": 44,
-                  "byteLength": 20
+                  "startLine": 452,
+                  "startColumn": 12,
+                  "endLine": 452,
+                  "endColumn": 16,
+                  "byteLength": 4
                 }
               }
             }
@@ -8294,7 +8371,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "null_result." },
+          "message": { "text": "behavior default! in function getenv." },
           "locations": [
             {
               "physicalLocation": {
@@ -8303,11 +8380,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 400,
-                  "startColumn": 25,
-                  "endLine": 400,
-                  "endColumn": 39,
-                  "byteLength": 14
+                  "startLine": 560,
+                  "startColumn": 13,
+                  "endLine": 560,
+                  "endColumn": 19,
+                  "byteLength": 6
                 }
               }
             }
@@ -8317,7 +8394,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function malloc." },
+          "message": { "text": "valid_name." },
           "locations": [
             {
               "physicalLocation": {
@@ -8326,11 +8403,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 393,
-                  "startColumn": 12,
-                  "endLine": 393,
-                  "endColumn": 28,
-                  "byteLength": 16
+                  "startLine": 554,
+                  "startColumn": 23,
+                  "endLine": 554,
+                  "endColumn": 46,
+                  "byteLength": 23
                 }
               }
             }
@@ -8340,7 +8417,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function malloc." },
+          "message": { "text": "null_or_valid_result." },
           "locations": [
             {
               "physicalLocation": {
@@ -8349,11 +8426,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 389,
-                  "startColumn": 12,
-                  "endLine": 389,
-                  "endColumn": 28,
-                  "byteLength": 16
+                  "startLine": 558,
+                  "startColumn": 4,
+                  "endLine": 558,
+                  "endColumn": 71,
+                  "byteLength": 67
                 }
               }
             }
@@ -8363,7 +8440,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function malloc." },
+          "message": { "text": "assigns clause in function getenv." },
           "locations": [
             {
               "physicalLocation": {
@@ -8372,9 +8449,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 404,
+                  "startLine": 560,
                   "startColumn": 13,
-                  "endLine": 404,
+                  "endLine": 560,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -8387,7 +8464,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term __fc_heap_status in function malloc."
+            "text": "from clause of term \\result in function getenv."
           },
           "locations": [
             {
@@ -8397,11 +8474,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 393,
-                  "startColumn": 12,
-                  "endLine": 393,
-                  "endColumn": 28,
-                  "byteLength": 16
+                  "startLine": 555,
+                  "startColumn": 10,
+                  "endLine": 555,
+                  "endColumn": 17,
+                  "byteLength": 7
                 }
               }
             }
@@ -8411,9 +8488,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function malloc."
-          },
+          "message": { "text": "behavior default! in function jrand48." },
           "locations": [
             {
               "physicalLocation": {
@@ -8422,10 +8497,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 394,
-                  "startColumn": 12,
-                  "endLine": 394,
-                  "endColumn": 19,
+                  "startLine": 395,
+                  "startColumn": 16,
+                  "endLine": 395,
+                  "endColumn": 23,
                   "byteLength": 7
                 }
               }
@@ -8436,9 +8511,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term __fc_heap_status in function malloc."
-          },
+          "message": { "text": "valid_xsubi." },
           "locations": [
             {
               "physicalLocation": {
@@ -8448,10 +8521,10 @@
                 },
                 "region": {
                   "startLine": 389,
-                  "startColumn": 12,
+                  "startColumn": 24,
                   "endLine": 389,
-                  "endColumn": 28,
-                  "byteLength": 16
+                  "endColumn": 44,
+                  "byteLength": 20
                 }
               }
             }
@@ -8461,9 +8534,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function malloc."
-          },
+          "message": { "text": "initialization." },
           "locations": [
             {
               "physicalLocation": {
@@ -8473,10 +8544,10 @@
                 },
                 "region": {
                   "startLine": 390,
-                  "startColumn": 12,
+                  "startColumn": 45,
                   "endLine": 390,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "endColumn": 71,
+                  "byteLength": 26
                 }
               }
             }
@@ -8486,9 +8557,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function malloc."
-          },
+          "message": { "text": "result_range." },
           "locations": [
             {
               "physicalLocation": {
@@ -8497,11 +8566,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 398,
-                  "startColumn": 12,
-                  "endLine": 398,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "startLine": 393,
+                  "startColumn": 24,
+                  "endLine": 393,
+                  "endColumn": 59,
+                  "byteLength": 35
                 }
               }
             }
@@ -8511,7 +8580,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "allocates/frees clause in function malloc." },
+          "message": { "text": "assigns clause in function jrand48." },
           "locations": [
             {
               "physicalLocation": {
@@ -8520,11 +8589,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 388,
-                  "startColumn": 14,
-                  "endLine": 388,
-                  "endColumn": 21,
-                  "byteLength": 7
+                  "startLine": 391,
+                  "startColumn": 10,
+                  "endLine": 391,
+                  "endColumn": 37,
+                  "byteLength": 27
                 }
               }
             }
@@ -8534,7 +8603,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "allocates/frees clause in function malloc." },
+          "message": {
+            "text": "from clause of term __fc_random48_counter[0 .. 2] in function jrand48."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -8543,11 +8614,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 404,
-                  "startColumn": 13,
-                  "endLine": 404,
-                  "endColumn": 19,
-                  "byteLength": 6
+                  "startLine": 391,
+                  "startColumn": 10,
+                  "endLine": 391,
+                  "endColumn": 37,
+                  "byteLength": 27
                 }
               }
             }
@@ -8557,7 +8628,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "complete clause in function malloc." },
+          "message": {
+            "text": "from clause of term \\result in function jrand48."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -8566,11 +8639,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 404,
-                  "startColumn": 13,
-                  "endLine": 404,
-                  "endColumn": 19,
-                  "byteLength": 6
+                  "startLine": 392,
+                  "startColumn": 10,
+                  "endLine": 392,
+                  "endColumn": 17,
+                  "byteLength": 7
                 }
               }
             }
@@ -8580,7 +8653,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "disjoint clause in function malloc." },
+          "message": { "text": "behavior default! in function labs." },
           "locations": [
             {
               "physicalLocation": {
@@ -8589,11 +8662,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 404,
-                  "startColumn": 13,
-                  "endLine": 404,
-                  "endColumn": 19,
-                  "byteLength": 6
+                  "startLine": 694,
+                  "startColumn": 16,
+                  "endLine": 694,
+                  "endColumn": 20,
+                  "byteLength": 4
                 }
               }
             }
@@ -8603,7 +8676,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function mblen." },
+          "message": { "text": "behavior negative in function labs." },
           "locations": [
             {
               "physicalLocation": {
@@ -8612,11 +8685,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 654,
-                  "startColumn": 11,
-                  "endLine": 654,
-                  "endColumn": 16,
-                  "byteLength": 5
+                  "startLine": 694,
+                  "startColumn": 16,
+                  "endLine": 694,
+                  "endColumn": 20,
+                  "byteLength": 4
                 }
               }
             }
@@ -8626,7 +8699,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function mblen." },
+          "message": { "text": "behavior nonnegative in function labs." },
           "locations": [
             {
               "physicalLocation": {
@@ -8635,11 +8708,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 652,
-                  "startColumn": 12,
-                  "endLine": 652,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "startLine": 694,
+                  "startColumn": 16,
+                  "endLine": 694,
+                  "endColumn": 20,
+                  "byteLength": 4
                 }
               }
             }
@@ -8649,9 +8722,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function mblen."
-          },
+          "message": { "text": "abs_representable." },
           "locations": [
             {
               "physicalLocation": {
@@ -8660,11 +8731,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 652,
-                  "startColumn": 12,
-                  "endLine": 652,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "startLine": 683,
+                  "startColumn": 30,
+                  "endLine": 683,
+                  "endColumn": 62,
+                  "byteLength": 32
                 }
               }
             }
@@ -8674,9 +8745,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term __fc_mblen_state in function mblen."
-          },
+          "message": { "text": "negative." },
           "locations": [
             {
               "physicalLocation": {
@@ -8685,11 +8754,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 652,
-                  "startColumn": 21,
-                  "endLine": 652,
-                  "endColumn": 37,
-                  "byteLength": 16
+                  "startLine": 686,
+                  "startColumn": 22,
+                  "endLine": 686,
+                  "endColumn": 27,
+                  "byteLength": 5
                 }
               }
             }
@@ -8699,7 +8768,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function mbstowcs." },
+          "message": { "text": "nonnegative." },
           "locations": [
             {
               "physicalLocation": {
@@ -8708,11 +8777,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 686,
-                  "startColumn": 14,
-                  "endLine": 686,
-                  "endColumn": 22,
-                  "byteLength": 8
+                  "startLine": 689,
+                  "startColumn": 25,
+                  "endLine": 689,
+                  "endColumn": 31,
+                  "byteLength": 6
                 }
               }
             }
@@ -8722,7 +8791,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "separation." },
+          "message": { "text": "opposite_result." },
           "locations": [
             {
               "physicalLocation": {
@@ -8731,11 +8800,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 682,
-                  "startColumn": 23,
-                  "endLine": 682,
+                  "startLine": 687,
+                  "startColumn": 29,
+                  "endLine": 687,
                   "endColumn": 42,
-                  "byteLength": 19
+                  "byteLength": 13
                 }
               }
             }
@@ -8745,7 +8814,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function mbstowcs." },
+          "message": { "text": "same_result." },
           "locations": [
             {
               "physicalLocation": {
@@ -8754,11 +8823,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 683,
-                  "startColumn": 10,
-                  "endLine": 683,
-                  "endColumn": 17,
-                  "byteLength": 7
+                  "startLine": 690,
+                  "startColumn": 25,
+                  "endLine": 690,
+                  "endColumn": 37,
+                  "byteLength": 12
                 }
               }
             }
@@ -8768,9 +8837,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function mbstowcs."
-          },
+          "message": { "text": "assigns clause in function labs." },
           "locations": [
             {
               "physicalLocation": {
@@ -8779,11 +8846,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 683,
-                  "startColumn": 10,
-                  "endLine": 683,
-                  "endColumn": 17,
-                  "byteLength": 7
+                  "startLine": 694,
+                  "startColumn": 16,
+                  "endLine": 694,
+                  "endColumn": 20,
+                  "byteLength": 4
                 }
               }
             }
@@ -8794,7 +8861,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term *(pwcs + (0 .. n - 1)) in function mbstowcs."
+            "text": "from clause of term \\result in function labs."
           },
           "locations": [
             {
@@ -8807,8 +8874,8 @@
                   "startLine": 684,
                   "startColumn": 10,
                   "endLine": 684,
-                  "endColumn": 24,
-                  "byteLength": 14
+                  "endColumn": 17,
+                  "byteLength": 7
                 }
               }
             }
@@ -8818,7 +8885,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function mbtowc." },
+          "message": { "text": "complete clause in function labs." },
           "locations": [
             {
               "physicalLocation": {
@@ -8827,13 +8894,13 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 666,
-                  "startColumn": 11,
-                  "endLine": 666,
-                  "endColumn": 17,
-                  "byteLength": 6
-                }
-              }
+                  "startLine": 694,
+                  "startColumn": 16,
+                  "endLine": 694,
+                  "endColumn": 20,
+                  "byteLength": 4
+                }
+              }
             }
           ]
         },
@@ -8841,7 +8908,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "separation." },
+          "message": { "text": "disjoint clause in function labs." },
           "locations": [
             {
               "physicalLocation": {
@@ -8850,11 +8917,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 659,
-                  "startColumn": 23,
-                  "endLine": 659,
-                  "endColumn": 41,
-                  "byteLength": 18
+                  "startLine": 694,
+                  "startColumn": 16,
+                  "endLine": 694,
+                  "endColumn": 20,
+                  "byteLength": 4
                 }
               }
             }
@@ -8864,7 +8931,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "consumed_range." },
+          "message": { "text": "behavior default! in function lcong48." },
           "locations": [
             {
               "physicalLocation": {
@@ -8873,11 +8940,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 664,
-                  "startColumn": 26,
-                  "endLine": 664,
-                  "endColumn": 38,
-                  "byteLength": 12
+                  "startLine": 344,
+                  "startColumn": 12,
+                  "endLine": 344,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -8887,7 +8954,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function mbtowc." },
+          "message": { "text": "valid_param." },
           "locations": [
             {
               "physicalLocation": {
@@ -8896,11 +8963,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 660,
-                  "startColumn": 10,
-                  "endLine": 660,
-                  "endColumn": 17,
-                  "byteLength": 7
+                  "startLine": 338,
+                  "startColumn": 24,
+                  "endLine": 338,
+                  "endColumn": 44,
+                  "byteLength": 20
                 }
               }
             }
@@ -8910,9 +8977,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function mbtowc."
-          },
+          "message": { "text": "initialization." },
           "locations": [
             {
               "physicalLocation": {
@@ -8921,11 +8986,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 660,
-                  "startColumn": 10,
-                  "endLine": 660,
-                  "endColumn": 17,
-                  "byteLength": 7
+                  "startLine": 339,
+                  "startColumn": 45,
+                  "endLine": 339,
+                  "endColumn": 71,
+                  "byteLength": 26
                 }
               }
             }
@@ -8935,9 +9000,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term *(pwc + (0 .. \\result - 1)) in function mbtowc."
-          },
+          "message": { "text": "random48_initialized." },
           "locations": [
             {
               "physicalLocation": {
@@ -8946,11 +9009,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 662,
-                  "startColumn": 10,
-                  "endLine": 662,
-                  "endColumn": 29,
-                  "byteLength": 19
+                  "startLine": 342,
+                  "startColumn": 32,
+                  "endLine": 342,
+                  "endColumn": 55,
+                  "byteLength": 23
                 }
               }
             }
@@ -8960,9 +9023,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term __fc_mbtowc_state in function mbtowc."
-          },
+          "message": { "text": "assigns clause in function lcong48." },
           "locations": [
             {
               "physicalLocation": {
@@ -8971,11 +9032,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 662,
-                  "startColumn": 31,
-                  "endLine": 662,
-                  "endColumn": 48,
-                  "byteLength": 17
+                  "startLine": 340,
+                  "startColumn": 10,
+                  "endLine": 340,
+                  "endColumn": 37,
+                  "byteLength": 27
                 }
               }
             }
@@ -8985,20 +9046,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function memchr." },
+          "message": {
+            "text": "from clause of term __fc_random48_counter[0 .. 2] in function lcong48."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 268,
-                  "startColumn": 6,
-                  "endLine": 275,
-                  "endColumn": 1,
-                  "byteLength": 224
+                  "startLine": 340,
+                  "startColumn": 10,
+                  "endLine": 340,
+                  "endColumn": 37,
+                  "byteLength": 27
                 }
               }
             }
@@ -9008,20 +9071,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior found in function memchr." },
+          "message": {
+            "text": "from clause of term __fc_random48_init in function lcong48."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 268,
-                  "startColumn": 6,
-                  "endLine": 275,
-                  "endColumn": 1,
-                  "byteLength": 224
+                  "startLine": 341,
+                  "startColumn": 10,
+                  "endLine": 341,
+                  "endColumn": 28,
+                  "byteLength": 18
                 }
               }
             }
@@ -9031,20 +9096,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior not_found in function memchr." },
+          "message": { "text": "behavior default! in function ldiv." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 268,
-                  "startColumn": 6,
-                  "endLine": 275,
-                  "endColumn": 1,
-                  "byteLength": 224
+                  "startLine": 722,
+                  "startColumn": 14,
+                  "endLine": 722,
+                  "endColumn": 18,
+                  "byteLength": 4
                 }
               }
             }
@@ -9054,20 +9119,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid." },
+          "message": { "text": "denom_nonzero." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 68,
-                  "startColumn": 9,
-                  "endLine": 69,
-                  "endColumn": 74,
-                  "byteLength": 100
+                  "startLine": 718,
+                  "startColumn": 26,
+                  "endLine": 718,
+                  "endColumn": 36,
+                  "byteLength": 10
                 }
               }
             }
@@ -9077,20 +9142,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "initialization." },
+          "message": { "text": "no_overflow." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 71,
-                  "startColumn": 8,
-                  "endLine": 72,
-                  "endColumn": 71,
-                  "byteLength": 116
+                  "startLine": 719,
+                  "startColumn": 24,
+                  "endLine": 719,
+                  "endColumn": 79,
+                  "byteLength": 55
                 }
               }
             }
@@ -9100,20 +9165,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "danglingness." },
+          "message": { "text": "assigns clause in function ldiv." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 74,
-                  "startColumn": 8,
-                  "endLine": 75,
-                  "endColumn": 61,
-                  "byteLength": 80
+                  "startLine": 722,
+                  "startColumn": 14,
+                  "endLine": 722,
+                  "endColumn": 18,
+                  "byteLength": 4
                 }
               }
             }
@@ -9123,20 +9188,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "char_found." },
+          "message": {
+            "text": "from clause of term \\result in function ldiv."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 78,
-                  "startColumn": 24,
-                  "endLine": 78,
-                  "endColumn": 44,
-                  "byteLength": 20
+                  "startLine": 720,
+                  "startColumn": 10,
+                  "endLine": 720,
+                  "endColumn": 17,
+                  "byteLength": 7
                 }
               }
             }
@@ -9146,20 +9213,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "char_not_found." },
+          "message": { "text": "behavior default! in function llabs." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 85,
-                  "startColumn": 28,
-                  "endLine": 85,
-                  "endColumn": 49,
-                  "byteLength": 21
+                  "startLine": 708,
+                  "startColumn": 21,
+                  "endLine": 708,
+                  "endColumn": 26,
+                  "byteLength": 5
                 }
               }
             }
@@ -9169,20 +9236,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_same_base." },
+          "message": { "text": "behavior negative in function llabs." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 79,
-                  "startColumn": 30,
-                  "endLine": 79,
-                  "endColumn": 66,
-                  "byteLength": 36
+                  "startLine": 708,
+                  "startColumn": 21,
+                  "endLine": 708,
+                  "endColumn": 26,
+                  "byteLength": 5
                 }
               }
             }
@@ -9192,20 +9259,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_char." },
+          "message": { "text": "behavior nonnegative in function llabs." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 80,
-                  "startColumn": 25,
-                  "endLine": 80,
-                  "endColumn": 45,
-                  "byteLength": 20
+                  "startLine": 708,
+                  "startColumn": 21,
+                  "endLine": 708,
+                  "endColumn": 26,
+                  "byteLength": 5
                 }
               }
             }
@@ -9215,20 +9282,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_in_str." },
+          "message": { "text": "abs_representable." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 81,
-                  "startColumn": 27,
-                  "endLine": 83,
-                  "endColumn": 54,
-                  "byteLength": 120
+                  "startLine": 697,
+                  "startColumn": 30,
+                  "endLine": 697,
+                  "endColumn": 64,
+                  "byteLength": 34
                 }
               }
             }
@@ -9238,20 +9305,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_null." },
+          "message": { "text": "negative." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 86,
-                  "startColumn": 25,
-                  "endLine": 86,
-                  "endColumn": 41,
-                  "byteLength": 16
+                  "startLine": 700,
+                  "startColumn": 22,
+                  "endLine": 700,
+                  "endColumn": 27,
+                  "byteLength": 5
                 }
               }
             }
@@ -9261,20 +9328,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function memchr." },
+          "message": { "text": "nonnegative." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 268,
-                  "startColumn": 6,
-                  "endLine": 275,
-                  "endColumn": 1,
-                  "byteLength": 224
+                  "startLine": 703,
+                  "startColumn": 25,
+                  "endLine": 703,
+                  "endColumn": 31,
+                  "byteLength": 6
                 }
               }
             }
@@ -9284,22 +9351,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function memchr."
-          },
+          "message": { "text": "opposite_result." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 76,
-                  "startColumn": 12,
-                  "endLine": 76,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "startLine": 701,
+                  "startColumn": 29,
+                  "endLine": 701,
+                  "endColumn": 42,
+                  "byteLength": 13
                 }
               }
             }
@@ -9309,20 +9374,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function memcmp." },
+          "message": { "text": "same_result." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 163,
-                  "startColumn": 4,
-                  "endLine": 171,
-                  "endColumn": 1,
-                  "byteLength": 243
+                  "startLine": 704,
+                  "startColumn": 25,
+                  "endLine": 704,
+                  "endColumn": 37,
+                  "byteLength": 12
                 }
               }
             }
@@ -9332,20 +9397,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_s1." },
+          "message": { "text": "assigns clause in function llabs." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 55,
-                  "startColumn": 23,
-                  "endLine": 55,
-                  "endColumn": 49,
-                  "byteLength": 26
+                  "startLine": 708,
+                  "startColumn": 21,
+                  "endLine": 708,
+                  "endColumn": 26,
+                  "byteLength": 5
                 }
               }
             }
@@ -9355,20 +9420,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_s2." },
+          "message": {
+            "text": "from clause of term \\result in function llabs."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 56,
-                  "startColumn": 23,
-                  "endLine": 56,
-                  "endColumn": 49,
-                  "byteLength": 26
+                  "startLine": 698,
+                  "startColumn": 10,
+                  "endLine": 698,
+                  "endColumn": 17,
+                  "byteLength": 7
                 }
               }
             }
@@ -9378,20 +9445,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "initialization." },
+          "message": { "text": "complete clause in function llabs." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 57,
-                  "startColumn": 32,
-                  "endLine": 57,
-                  "endColumn": 68,
-                  "byteLength": 36
+                  "startLine": 708,
+                  "startColumn": 21,
+                  "endLine": 708,
+                  "endColumn": 26,
+                  "byteLength": 5
                 }
               }
             }
@@ -9401,20 +9468,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "initialization." },
+          "message": { "text": "disjoint clause in function llabs." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 58,
-                  "startColumn": 32,
-                  "endLine": 58,
-                  "endColumn": 68,
-                  "byteLength": 36
+                  "startLine": 708,
+                  "startColumn": 21,
+                  "endLine": 708,
+                  "endColumn": 26,
+                  "byteLength": 5
                 }
               }
             }
@@ -9424,20 +9491,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "danglingness." },
+          "message": { "text": "behavior default! in function lldiv." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 59,
-                  "startColumn": 30,
-                  "endLine": 59,
-                  "endColumn": 49,
-                  "byteLength": 19
+                  "startLine": 729,
+                  "startColumn": 15,
+                  "endLine": 729,
+                  "endColumn": 20,
+                  "byteLength": 5
                 }
               }
             }
@@ -9447,20 +9514,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "danglingness." },
+          "message": { "text": "denom_nonzero." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 60,
-                  "startColumn": 30,
-                  "endLine": 60,
-                  "endColumn": 49,
-                  "byteLength": 19
+                  "startLine": 725,
+                  "startColumn": 26,
+                  "endLine": 725,
+                  "endColumn": 36,
+                  "byteLength": 10
                 }
               }
             }
@@ -9470,20 +9537,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "logic_spec." },
+          "message": { "text": "no_overflow." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 63,
+                  "startLine": 726,
                   "startColumn": 24,
-                  "endLine": 63,
-                  "endColumn": 73,
-                  "byteLength": 49
+                  "endLine": 726,
+                  "endColumn": 81,
+                  "byteLength": 57
                 }
               }
             }
@@ -9493,20 +9560,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function memcmp." },
+          "message": { "text": "assigns clause in function lldiv." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 163,
-                  "startColumn": 4,
-                  "endLine": 171,
-                  "endColumn": 1,
-                  "byteLength": 243
+                  "startLine": 729,
+                  "startColumn": 15,
+                  "endLine": 729,
+                  "endColumn": 20,
+                  "byteLength": 5
                 }
               }
             }
@@ -9517,20 +9584,20 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function memcmp."
+            "text": "from clause of term \\result in function lldiv."
           },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 61,
-                  "startColumn": 12,
-                  "endLine": 61,
-                  "endColumn": 19,
+                  "startLine": 727,
+                  "startColumn": 10,
+                  "endLine": 727,
+                  "endColumn": 17,
                   "byteLength": 7
                 }
               }
@@ -9541,20 +9608,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function memcpy." },
+          "message": { "text": "behavior default! in function lrand48." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 30,
-                  "startColumn": 6,
-                  "endLine": 42,
-                  "endColumn": 1,
-                  "byteLength": 377
+                  "startLine": 369,
+                  "startColumn": 16,
+                  "endLine": 369,
+                  "endColumn": 23,
+                  "byteLength": 7
                 }
               }
             }
@@ -9564,19 +9631,19 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_dest." },
+          "message": { "text": "random48_initialized." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 95,
-                  "startColumn": 25,
-                  "endLine": 95,
-                  "endColumn": 48,
+                  "startLine": 364,
+                  "startColumn": 33,
+                  "endLine": 364,
+                  "endColumn": 56,
                   "byteLength": 23
                 }
               }
@@ -9587,20 +9654,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_src." },
+          "message": { "text": "result_range." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 96,
+                  "startLine": 367,
                   "startColumn": 24,
-                  "endLine": 96,
-                  "endColumn": 51,
-                  "byteLength": 27
+                  "endLine": 367,
+                  "endColumn": 49,
+                  "byteLength": 25
                 }
               }
             }
@@ -9610,20 +9677,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "separation." },
+          "message": { "text": "assigns clause in function lrand48." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 98,
-                  "startColumn": 4,
-                  "endLine": 98,
-                  "endColumn": 62,
-                  "byteLength": 58
+                  "startLine": 365,
+                  "startColumn": 10,
+                  "endLine": 365,
+                  "endColumn": 37,
+                  "byteLength": 27
                 }
               }
             }
@@ -9633,20 +9700,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "copied_contents." },
+          "message": {
+            "text": "from clause of term __fc_random48_counter[0 .. 2] in function lrand48."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 101,
-                  "startColumn": 29,
-                  "endLine": 101,
-                  "endColumn": 76,
-                  "byteLength": 47
+                  "startLine": 365,
+                  "startColumn": 10,
+                  "endLine": 365,
+                  "endColumn": 37,
+                  "byteLength": 27
                 }
               }
             }
@@ -9656,20 +9725,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_ptr." },
+          "message": {
+            "text": "from clause of term \\result in function lrand48."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 102,
-                  "startColumn": 24,
-                  "endLine": 102,
-                  "endColumn": 39,
-                  "byteLength": 15
+                  "startLine": 366,
+                  "startColumn": 10,
+                  "endLine": 366,
+                  "endColumn": 17,
+                  "byteLength": 7
                 }
               }
             }
@@ -9679,20 +9750,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function memcpy." },
+          "message": { "text": "behavior allocation in function malloc." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 99,
-                  "startColumn": 12,
-                  "endLine": 99,
-                  "endColumn": 35,
-                  "byteLength": 23
+                  "startLine": 436,
+                  "startColumn": 13,
+                  "endLine": 436,
+                  "endColumn": 19,
+                  "byteLength": 6
                 }
               }
             }
@@ -9702,22 +9773,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term *((char *)dest + (0 .. n - 1)) in function memcpy."
-          },
+          "message": { "text": "behavior default! in function malloc." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 99,
-                  "startColumn": 12,
-                  "endLine": 99,
-                  "endColumn": 35,
-                  "byteLength": 23
+                  "startLine": 436,
+                  "startColumn": 13,
+                  "endLine": 436,
+                  "endColumn": 19,
+                  "byteLength": 6
                 }
               }
             }
@@ -9727,22 +9796,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function memcpy."
-          },
+          "message": { "text": "behavior no_allocation in function malloc." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 100,
-                  "startColumn": 12,
-                  "endLine": 100,
+                  "startLine": 436,
+                  "startColumn": 13,
+                  "endLine": 436,
                   "endColumn": 19,
-                  "byteLength": 7
+                  "byteLength": 6
                 }
               }
             }
@@ -9752,20 +9819,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "no_eva." },
+          "message": { "text": "can_allocate." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 33,
-                  "startColumn": 27,
-                  "endLine": 33,
-                  "endColumn": 38,
-                  "byteLength": 11
+                  "startLine": 424,
+                  "startColumn": 26,
+                  "endLine": 424,
+                  "endColumn": 44,
+                  "byteLength": 18
                 }
               }
             }
@@ -9775,7 +9842,2934 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "no_eva." },
+          "message": { "text": "cannot_allocate." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/stdlib.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 429,
+                  "startColumn": 29,
+                  "endLine": 429,
+                  "endColumn": 48,
+                  "byteLength": 19
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "allocation." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/stdlib.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 427,
+                  "startColumn": 24,
+                  "endLine": 427,
+                  "endColumn": 44,
+                  "byteLength": 20
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "null_result." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/stdlib.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 432,
+                  "startColumn": 25,
+                  "endLine": 432,
+                  "endColumn": 39,
+                  "byteLength": 14
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "assigns clause in function malloc." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/stdlib.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 425,
+                  "startColumn": 12,
+                  "endLine": 425,
+                  "endColumn": 28,
+                  "byteLength": 16
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "assigns clause in function malloc." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/stdlib.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 421,
+                  "startColumn": 12,
+                  "endLine": 421,
+                  "endColumn": 28,
+                  "byteLength": 16
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "assigns clause in function malloc." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/stdlib.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 436,
+                  "startColumn": 13,
+                  "endLine": 436,
+                  "endColumn": 19,
+                  "byteLength": 6
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": {
+            "text": "from clause of term __fc_heap_status in function malloc."
+          },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/stdlib.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 425,
+                  "startColumn": 12,
+                  "endLine": 425,
+                  "endColumn": 28,
+                  "byteLength": 16
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": {
+            "text": "from clause of term \\result in function malloc."
+          },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/stdlib.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 426,
+                  "startColumn": 12,
+                  "endLine": 426,
+                  "endColumn": 19,
+                  "byteLength": 7
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": {
+            "text": "from clause of term __fc_heap_status in function malloc."
+          },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/stdlib.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 421,
+                  "startColumn": 12,
+                  "endLine": 421,
+                  "endColumn": 28,
+                  "byteLength": 16
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": {
+            "text": "from clause of term \\result in function malloc."
+          },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/stdlib.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 422,
+                  "startColumn": 12,
+                  "endLine": 422,
+                  "endColumn": 19,
+                  "byteLength": 7
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": {
+            "text": "from clause of term \\result in function malloc."
+          },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/stdlib.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 431,
+                  "startColumn": 12,
+                  "endLine": 431,
+                  "endColumn": 19,
+                  "byteLength": 7
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "allocates/frees clause in function malloc." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/stdlib.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 420,
+                  "startColumn": 14,
+                  "endLine": 420,
+                  "endColumn": 21,
+                  "byteLength": 7
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "allocates/frees clause in function malloc." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/stdlib.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 436,
+                  "startColumn": 13,
+                  "endLine": 436,
+                  "endColumn": 19,
+                  "byteLength": 6
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "complete clause in function malloc." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/stdlib.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 436,
+                  "startColumn": 13,
+                  "endLine": 436,
+                  "endColumn": 19,
+                  "byteLength": 6
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "disjoint clause in function malloc." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/stdlib.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 436,
+                  "startColumn": 13,
+                  "endLine": 436,
+                  "endColumn": 19,
+                  "byteLength": 6
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "behavior default! in function mblen." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/stdlib.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 737,
+                  "startColumn": 11,
+                  "endLine": 737,
+                  "endColumn": 16,
+                  "byteLength": 5
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "assigns clause in function mblen." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/stdlib.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 735,
+                  "startColumn": 12,
+                  "endLine": 735,
+                  "endColumn": 19,
+                  "byteLength": 7
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": {
+            "text": "from clause of term \\result in function mblen."
+          },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/stdlib.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 735,
+                  "startColumn": 12,
+                  "endLine": 735,
+                  "endColumn": 19,
+                  "byteLength": 7
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": {
+            "text": "from clause of term __fc_mblen_state in function mblen."
+          },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/stdlib.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 735,
+                  "startColumn": 21,
+                  "endLine": 735,
+                  "endColumn": 37,
+                  "byteLength": 16
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "behavior default! in function mbstowcs." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/stdlib.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 769,
+                  "startColumn": 14,
+                  "endLine": 769,
+                  "endColumn": 22,
+                  "byteLength": 8
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "separation." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/stdlib.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 765,
+                  "startColumn": 23,
+                  "endLine": 765,
+                  "endColumn": 42,
+                  "byteLength": 19
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "assigns clause in function mbstowcs." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/stdlib.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 766,
+                  "startColumn": 10,
+                  "endLine": 766,
+                  "endColumn": 17,
+                  "byteLength": 7
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": {
+            "text": "from clause of term \\result in function mbstowcs."
+          },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/stdlib.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 766,
+                  "startColumn": 10,
+                  "endLine": 766,
+                  "endColumn": 17,
+                  "byteLength": 7
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": {
+            "text": "from clause of term *(pwcs + (0 .. n - 1)) in function mbstowcs."
+          },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/stdlib.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 767,
+                  "startColumn": 10,
+                  "endLine": 767,
+                  "endColumn": 24,
+                  "byteLength": 14
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "behavior default! in function mbtowc." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/stdlib.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 749,
+                  "startColumn": 11,
+                  "endLine": 749,
+                  "endColumn": 17,
+                  "byteLength": 6
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "separation." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/stdlib.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 742,
+                  "startColumn": 23,
+                  "endLine": 742,
+                  "endColumn": 41,
+                  "byteLength": 18
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "consumed_range." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/stdlib.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 747,
+                  "startColumn": 26,
+                  "endLine": 747,
+                  "endColumn": 38,
+                  "byteLength": 12
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "assigns clause in function mbtowc." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/stdlib.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 743,
+                  "startColumn": 10,
+                  "endLine": 743,
+                  "endColumn": 17,
+                  "byteLength": 7
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": {
+            "text": "from clause of term \\result in function mbtowc."
+          },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/stdlib.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 743,
+                  "startColumn": 10,
+                  "endLine": 743,
+                  "endColumn": 17,
+                  "byteLength": 7
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": {
+            "text": "from clause of term *(pwc + (0 .. \\result - 1)) in function mbtowc."
+          },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/stdlib.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 745,
+                  "startColumn": 10,
+                  "endLine": 745,
+                  "endColumn": 29,
+                  "byteLength": 19
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": {
+            "text": "from clause of term __fc_mbtowc_state in function mbtowc."
+          },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/stdlib.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 745,
+                  "startColumn": 31,
+                  "endLine": 745,
+                  "endColumn": 48,
+                  "byteLength": 17
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "behavior default! in function memchr." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 271,
+                  "startColumn": 6,
+                  "endLine": 278,
+                  "endColumn": 1,
+                  "byteLength": 224
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "behavior found in function memchr." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 271,
+                  "startColumn": 6,
+                  "endLine": 278,
+                  "endColumn": 1,
+                  "byteLength": 224
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "behavior not_found in function memchr." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 271,
+                  "startColumn": 6,
+                  "endLine": 278,
+                  "endColumn": 1,
+                  "byteLength": 224
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "valid." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 68,
+                  "startColumn": 9,
+                  "endLine": 69,
+                  "endColumn": 74,
+                  "byteLength": 100
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "initialization." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 71,
+                  "startColumn": 8,
+                  "endLine": 72,
+                  "endColumn": 71,
+                  "byteLength": 116
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "danglingness." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 74,
+                  "startColumn": 8,
+                  "endLine": 75,
+                  "endColumn": 61,
+                  "byteLength": 80
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "char_found." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 78,
+                  "startColumn": 24,
+                  "endLine": 78,
+                  "endColumn": 44,
+                  "byteLength": 20
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "char_not_found." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 86,
+                  "startColumn": 28,
+                  "endLine": 86,
+                  "endColumn": 49,
+                  "byteLength": 21
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "result_valid_read." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 79,
+                  "startColumn": 31,
+                  "endLine": 79,
+                  "endColumn": 58,
+                  "byteLength": 27
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "result_same_base." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 80,
+                  "startColumn": 30,
+                  "endLine": 80,
+                  "endColumn": 66,
+                  "byteLength": 36
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "result_char." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 81,
+                  "startColumn": 25,
+                  "endLine": 81,
+                  "endColumn": 45,
+                  "byteLength": 20
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "result_in_str." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 82,
+                  "startColumn": 27,
+                  "endLine": 84,
+                  "endColumn": 54,
+                  "byteLength": 120
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "result_null." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 87,
+                  "startColumn": 25,
+                  "endLine": 87,
+                  "endColumn": 41,
+                  "byteLength": 16
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "assigns clause in function memchr." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 271,
+                  "startColumn": 6,
+                  "endLine": 278,
+                  "endColumn": 1,
+                  "byteLength": 224
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": {
+            "text": "from clause of term \\result in function memchr."
+          },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 76,
+                  "startColumn": 12,
+                  "endLine": 76,
+                  "endColumn": 19,
+                  "byteLength": 7
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "behavior default! in function memcmp." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 163,
+                  "startColumn": 4,
+                  "endLine": 171,
+                  "endColumn": 1,
+                  "byteLength": 243
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "valid_s1." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 55,
+                  "startColumn": 23,
+                  "endLine": 55,
+                  "endColumn": 49,
+                  "byteLength": 26
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "valid_s2." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 56,
+                  "startColumn": 23,
+                  "endLine": 56,
+                  "endColumn": 49,
+                  "byteLength": 26
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "initialization." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 57,
+                  "startColumn": 32,
+                  "endLine": 57,
+                  "endColumn": 68,
+                  "byteLength": 36
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "initialization." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 58,
+                  "startColumn": 32,
+                  "endLine": 58,
+                  "endColumn": 68,
+                  "byteLength": 36
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "danglingness." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 59,
+                  "startColumn": 30,
+                  "endLine": 59,
+                  "endColumn": 49,
+                  "byteLength": 19
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "danglingness." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 60,
+                  "startColumn": 30,
+                  "endLine": 60,
+                  "endColumn": 49,
+                  "byteLength": 19
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "logic_spec." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 63,
+                  "startColumn": 24,
+                  "endLine": 63,
+                  "endColumn": 73,
+                  "byteLength": 49
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "assigns clause in function memcmp." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 163,
+                  "startColumn": 4,
+                  "endLine": 171,
+                  "endColumn": 1,
+                  "byteLength": 243
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": {
+            "text": "from clause of term \\result in function memcmp."
+          },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 61,
+                  "startColumn": 12,
+                  "endLine": 61,
+                  "endColumn": 19,
+                  "byteLength": 7
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "behavior default! in function memcpy." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 30,
+                  "startColumn": 6,
+                  "endLine": 42,
+                  "endColumn": 1,
+                  "byteLength": 377
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "valid_dest." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 112,
+                  "startColumn": 25,
+                  "endLine": 112,
+                  "endColumn": 48,
+                  "byteLength": 23
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "valid_src." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 113,
+                  "startColumn": 24,
+                  "endLine": 113,
+                  "endColumn": 51,
+                  "byteLength": 27
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "separation." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 115,
+                  "startColumn": 4,
+                  "endLine": 115,
+                  "endColumn": 62,
+                  "byteLength": 58
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "copied_contents." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 118,
+                  "startColumn": 29,
+                  "endLine": 118,
+                  "endColumn": 76,
+                  "byteLength": 47
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "result_ptr." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 119,
+                  "startColumn": 24,
+                  "endLine": 119,
+                  "endColumn": 39,
+                  "byteLength": 15
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "assigns clause in function memcpy." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 116,
+                  "startColumn": 12,
+                  "endLine": 116,
+                  "endColumn": 35,
+                  "byteLength": 23
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": {
+            "text": "from clause of term *((char *)dest + (0 .. n - 1)) in function memcpy."
+          },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 116,
+                  "startColumn": 12,
+                  "endLine": 116,
+                  "endColumn": 35,
+                  "byteLength": 23
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": {
+            "text": "from clause of term \\result in function memcpy."
+          },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 117,
+                  "startColumn": 12,
+                  "endLine": 117,
+                  "endColumn": 19,
+                  "byteLength": 7
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "no_eva." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 33,
+                  "startColumn": 27,
+                  "endLine": 33,
+                  "endColumn": 38,
+                  "byteLength": 11
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "no_eva." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 34,
+                  "startColumn": 27,
+                  "endLine": 34,
+                  "endColumn": 92,
+                  "byteLength": 65
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "assigns clause in function memcpy." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 35,
+                  "startColumn": 17,
+                  "endLine": 35,
+                  "endColumn": 18,
+                  "byteLength": 1
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "decrease clause in function memcpy." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 36,
+                  "startColumn": 17,
+                  "endLine": 36,
+                  "endColumn": 22,
+                  "byteLength": 5
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "error",
+          "message": { "text": "reachability of stmt line 38 in memcpy." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 38,
+                  "startColumn": 2,
+                  "endLine": 40,
+                  "endColumn": 3,
+                  "byteLength": 76
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "error",
+          "message": { "text": "reachability post stmt line 38 in memcpy." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 38,
+                  "startColumn": 2,
+                  "endLine": 40,
+                  "endColumn": 3,
+                  "byteLength": 76
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "behavior default! in function memmem." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 559,
+                  "startColumn": 13,
+                  "endLine": 559,
+                  "endColumn": 19,
+                  "byteLength": 6
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "valid_haystack." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 549,
+                  "startColumn": 27,
+                  "endLine": 549,
+                  "endColumn": 78,
+                  "byteLength": 51
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "valid_needle." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 550,
+                  "startColumn": 25,
+                  "endLine": 550,
+                  "endColumn": 72,
+                  "byteLength": 47
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "result_null_or_valid." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 555,
+                  "startColumn": 4,
+                  "endLine": 555,
+                  "endColumn": 51,
+                  "byteLength": 47
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "result_null_or_same_base." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 557,
+                  "startColumn": 4,
+                  "endLine": 557,
+                  "endColumn": 67,
+                  "byteLength": 63
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "assigns clause in function memmem." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 559,
+                  "startColumn": 13,
+                  "endLine": 559,
+                  "endColumn": 19,
+                  "byteLength": 6
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": {
+            "text": "from clause of term \\result in function memmem."
+          },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 551,
+                  "startColumn": 10,
+                  "endLine": 551,
+                  "endColumn": 17,
+                  "byteLength": 7
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "behavior default! in function memmove." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 88,
+                  "startColumn": 6,
+                  "endLine": 118,
+                  "endColumn": 1,
+                  "byteLength": 1221
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "valid_dest." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 137,
+                  "startColumn": 25,
+                  "endLine": 137,
+                  "endColumn": 48,
+                  "byteLength": 23
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "valid_src." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 138,
+                  "startColumn": 24,
+                  "endLine": 138,
+                  "endColumn": 51,
+                  "byteLength": 27
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "copied_contents." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 141,
+                  "startColumn": 29,
+                  "endLine": 141,
+                  "endColumn": 76,
+                  "byteLength": 47
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "result_ptr." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 142,
+                  "startColumn": 24,
+                  "endLine": 142,
+                  "endColumn": 39,
+                  "byteLength": 15
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "assigns clause in function memmove." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 139,
+                  "startColumn": 12,
+                  "endLine": 139,
+                  "endColumn": 35,
+                  "byteLength": 23
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": {
+            "text": "from clause of term *((char *)dest + (0 .. n - 1)) in function memmove."
+          },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 139,
+                  "startColumn": 12,
+                  "endLine": 139,
+                  "endColumn": 35,
+                  "byteLength": 23
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": {
+            "text": "from clause of term \\result in function memmove."
+          },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 140,
+                  "startColumn": 12,
+                  "endLine": 140,
+                  "endColumn": 19,
+                  "byteLength": 7
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "no_eva." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 95,
+                  "startColumn": 29,
+                  "endLine": 95,
+                  "endColumn": 40,
+                  "byteLength": 11
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "no_eva." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 96,
+                  "startColumn": 29,
+                  "endLine": 96,
+                  "endColumn": 109,
+                  "byteLength": 80
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "no_eva." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 97,
+                  "startColumn": 29,
+                  "endLine": 97,
+                  "endColumn": 108,
+                  "byteLength": 79
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "assigns clause in function memmove." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 98,
+                  "startColumn": 19,
+                  "endLine": 98,
+                  "endColumn": 20,
+                  "byteLength": 1
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "decrease clause in function memmove." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 99,
+                  "startColumn": 19,
+                  "endLine": 99,
+                  "endColumn": 24,
+                  "byteLength": 5
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "error",
+          "message": { "text": "reachability of stmt line 101 in memmove." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 101,
+                  "startColumn": 4,
+                  "endLine": 102,
+                  "endColumn": 18,
+                  "byteLength": 49
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "error",
+          "message": {
+            "text": "reachability post stmt line 101 in memmove."
+          },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 101,
+                  "startColumn": 4,
+                  "endLine": 102,
+                  "endColumn": 18,
+                  "byteLength": 49
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "no_eva." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 107,
+                  "startColumn": 29,
+                  "endLine": 107,
+                  "endColumn": 39,
+                  "byteLength": 10
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "no_eva." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 108,
+                  "startColumn": 29,
+                  "endLine": 108,
+                  "endColumn": 108,
+                  "byteLength": 79
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "no_eva." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 109,
+                  "startColumn": 29,
+                  "endLine": 109,
+                  "endColumn": 109,
+                  "byteLength": 80
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "assigns clause in function memmove." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 110,
+                  "startColumn": 19,
+                  "endLine": 110,
+                  "endColumn": 20,
+                  "byteLength": 1
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "decrease clause in function memmove." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 111,
+                  "startColumn": 19,
+                  "endLine": 111,
+                  "endColumn": 20,
+                  "byteLength": 1
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "error",
+          "message": { "text": "reachability of stmt line 113 in memmove." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 113,
+                  "startColumn": 4,
+                  "endLine": 114,
+                  "endColumn": 18,
+                  "byteLength": 51
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "error",
+          "message": {
+            "text": "reachability post stmt line 113 in memmove."
+          },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 113,
+                  "startColumn": 4,
+                  "endLine": 114,
+                  "endColumn": 18,
+                  "byteLength": 51
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "behavior default! in function memoverlap." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 79,
+                  "startColumn": 11,
+                  "endLine": 86,
+                  "endColumn": 1,
+                  "byteLength": 255
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": {
+            "text": "behavior not_separated_gt in function memoverlap."
+          },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 79,
+                  "startColumn": 11,
+                  "endLine": 86,
+                  "endColumn": 1,
+                  "byteLength": 255
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": {
+            "text": "behavior not_separated_lt in function memoverlap."
+          },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 79,
+                  "startColumn": 11,
+                  "endLine": 86,
+                  "endColumn": 1,
+                  "byteLength": 255
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "behavior separated in function memoverlap." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 79,
+                  "startColumn": 11,
+                  "endLine": 86,
+                  "endColumn": 1,
+                  "byteLength": 255
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "separation." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 66,
+                  "startColumn": 35,
+                  "endLine": 66,
+                  "endColumn": 77,
+                  "byteLength": 42
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "separation." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 69,
+                  "startColumn": 32,
+                  "endLine": 69,
+                  "endColumn": 75,
+                  "byteLength": 43
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "p_before_q." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 70,
+                  "startColumn": 24,
+                  "endLine": 70,
+                  "endColumn": 38,
+                  "byteLength": 14
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "separation." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 73,
+                  "startColumn": 32,
+                  "endLine": 73,
+                  "endColumn": 75,
+                  "byteLength": 43
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "p_after_q." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 74,
+                  "startColumn": 23,
+                  "endLine": 74,
+                  "endColumn": 37,
+                  "byteLength": 14
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "result_no_overlap." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 67,
+                  "startColumn": 31,
+                  "endLine": 67,
+                  "endColumn": 43,
+                  "byteLength": 12
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "result_p_before_q." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 71,
+                  "startColumn": 31,
+                  "endLine": 71,
+                  "endColumn": 44,
+                  "byteLength": 13
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "result_p_after_q." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 75,
+                  "startColumn": 30,
+                  "endLine": 75,
+                  "endColumn": 42,
+                  "byteLength": 12
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "assigns clause in function memoverlap." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 79,
+                  "startColumn": 11,
+                  "endLine": 86,
+                  "endColumn": 1,
+                  "byteLength": 255
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": {
+            "text": "from clause of term \\result in function memoverlap."
+          },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 64,
+                  "startColumn": 10,
+                  "endLine": 64,
+                  "endColumn": 17,
+                  "byteLength": 7
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "complete clause in function memoverlap." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 79,
+                  "startColumn": 11,
+                  "endLine": 86,
+                  "endColumn": 1,
+                  "byteLength": 255
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "disjoint clause in function memoverlap." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 79,
+                  "startColumn": 11,
+                  "endLine": 86,
+                  "endColumn": 1,
+                  "byteLength": 255
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "behavior default! in function mempcpy." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 45,
+                  "startColumn": 6,
+                  "endLine": 58,
+                  "endColumn": 1,
+                  "byteLength": 394
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "valid_dest." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 125,
+                  "startColumn": 25,
+                  "endLine": 125,
+                  "endColumn": 48,
+                  "byteLength": 23
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "valid_src." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 126,
+                  "startColumn": 24,
+                  "endLine": 126,
+                  "endColumn": 51,
+                  "byteLength": 27
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "separation." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 128,
+                  "startColumn": 4,
+                  "endLine": 128,
+                  "endColumn": 62,
+                  "byteLength": 58
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "copied_contents." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 131,
+                  "startColumn": 29,
+                  "endLine": 131,
+                  "endColumn": 76,
+                  "byteLength": 47
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "result_next_byte." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 132,
+                  "startColumn": 30,
+                  "endLine": 132,
+                  "endColumn": 49,
+                  "byteLength": 19
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "assigns clause in function mempcpy." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 129,
+                  "startColumn": 12,
+                  "endLine": 129,
+                  "endColumn": 35,
+                  "byteLength": 23
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": {
+            "text": "from clause of term *((char *)dest + (0 .. n - 1)) in function mempcpy."
+          },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 129,
+                  "startColumn": 12,
+                  "endLine": 129,
+                  "endColumn": 35,
+                  "byteLength": 23
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": {
+            "text": "from clause of term \\result in function mempcpy."
+          },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 130,
+                  "startColumn": 12,
+                  "endLine": 130,
+                  "endColumn": 19,
+                  "byteLength": 7
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "no_eva." },
           "locations": [
             {
               "physicalLocation": {
@@ -9784,9 +12778,32 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 34,
+                  "startLine": 49,
                   "startColumn": 27,
-                  "endLine": 34,
+                  "endLine": 49,
+                  "endColumn": 38,
+                  "byteLength": 11
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "no_eva." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 50,
+                  "startColumn": 27,
+                  "endLine": 50,
                   "endColumn": 92,
                   "byteLength": 65
                 }
@@ -9798,7 +12815,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function memcpy." },
+          "message": { "text": "assigns clause in function mempcpy." },
           "locations": [
             {
               "physicalLocation": {
@@ -9807,9 +12824,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 35,
+                  "startLine": 51,
                   "startColumn": 17,
-                  "endLine": 35,
+                  "endLine": 51,
                   "endColumn": 18,
                   "byteLength": 1
                 }
@@ -9821,7 +12838,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "decrease clause in function memcpy." },
+          "message": { "text": "decrease clause in function mempcpy." },
           "locations": [
             {
               "physicalLocation": {
@@ -9830,9 +12847,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 36,
+                  "startLine": 52,
                   "startColumn": 17,
-                  "endLine": 36,
+                  "endLine": 52,
                   "endColumn": 22,
                   "byteLength": 5
                 }
@@ -9844,7 +12861,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "error",
-          "message": { "text": "reachability of stmt line 38 in memcpy." },
+          "message": { "text": "reachability of stmt line 54 in mempcpy." },
           "locations": [
             {
               "physicalLocation": {
@@ -9853,11 +12870,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 38,
+                  "startLine": 54,
                   "startColumn": 2,
-                  "endLine": 40,
+                  "endLine": 56,
                   "endColumn": 3,
-                  "byteLength": 76
+                  "byteLength": 69
                 }
               }
             }
@@ -9867,7 +12884,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "error",
-          "message": { "text": "reachability post stmt line 38 in memcpy." },
+          "message": { "text": "reachability post stmt line 54 in mempcpy." },
           "locations": [
             {
               "physicalLocation": {
@@ -9876,11 +12893,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 38,
+                  "startLine": 54,
                   "startColumn": 2,
-                  "endLine": 40,
+                  "endLine": 56,
                   "endColumn": 3,
-                  "byteLength": 76
+                  "byteLength": 69
                 }
               }
             }
@@ -9890,7 +12907,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function memmove." },
+          "message": { "text": "behavior default! in function memrchr." },
           "locations": [
             {
               "physicalLocation": {
@@ -9899,11 +12916,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 88,
+                  "startLine": 280,
                   "startColumn": 6,
-                  "endLine": 118,
+                  "endLine": 287,
                   "endColumn": 1,
-                  "byteLength": 1221
+                  "byteLength": 229
                 }
               }
             }
@@ -9913,7 +12930,53 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_dest." },
+          "message": { "text": "behavior found in function memrchr." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 280,
+                  "startColumn": 6,
+                  "endLine": 287,
+                  "endColumn": 1,
+                  "byteLength": 229
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "behavior not_found in function memrchr." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 280,
+                  "startColumn": 6,
+                  "endLine": 287,
+                  "endColumn": 1,
+                  "byteLength": 229
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "valid." },
           "locations": [
             {
               "physicalLocation": {
@@ -9922,11 +12985,126 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 120,
+                  "startLine": 94,
+                  "startColumn": 18,
+                  "endLine": 94,
+                  "endColumn": 43,
+                  "byteLength": 25
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "initialization." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 95,
+                  "startColumn": 27,
+                  "endLine": 95,
+                  "endColumn": 73,
+                  "byteLength": 46
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "danglingness." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 96,
                   "startColumn": 25,
-                  "endLine": 120,
-                  "endColumn": 48,
-                  "byteLength": 23
+                  "endLine": 96,
+                  "endColumn": 43,
+                  "byteLength": 18
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "char_found." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 99,
+                  "startColumn": 24,
+                  "endLine": 99,
+                  "endColumn": 44,
+                  "byteLength": 20
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "char_not_found." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 103,
+                  "startColumn": 28,
+                  "endLine": 103,
+                  "endColumn": 49,
+                  "byteLength": 21
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "result_valid_read." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 100,
+                  "startColumn": 31,
+                  "endLine": 100,
+                  "endColumn": 58,
+                  "byteLength": 27
                 }
               }
             }
@@ -9936,7 +13114,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_src." },
+          "message": { "text": "result_same_base." },
           "locations": [
             {
               "physicalLocation": {
@@ -9945,11 +13123,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 121,
-                  "startColumn": 24,
-                  "endLine": 121,
-                  "endColumn": 51,
-                  "byteLength": 27
+                  "startLine": 101,
+                  "startColumn": 30,
+                  "endLine": 101,
+                  "endColumn": 66,
+                  "byteLength": 36
                 }
               }
             }
@@ -9959,7 +13137,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "copied_contents." },
+          "message": { "text": "result_null." },
           "locations": [
             {
               "physicalLocation": {
@@ -9968,11 +13146,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 124,
-                  "startColumn": 29,
-                  "endLine": 124,
-                  "endColumn": 76,
-                  "byteLength": 47
+                  "startLine": 104,
+                  "startColumn": 25,
+                  "endLine": 104,
+                  "endColumn": 41,
+                  "byteLength": 16
                 }
               }
             }
@@ -9982,20 +13160,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_ptr." },
+          "message": { "text": "assigns clause in function memrchr." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/string.c",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 125,
-                  "startColumn": 24,
-                  "endLine": 125,
-                  "endColumn": 39,
-                  "byteLength": 15
+                  "startLine": 280,
+                  "startColumn": 6,
+                  "endLine": 287,
+                  "endColumn": 1,
+                  "byteLength": 229
                 }
               }
             }
@@ -10005,7 +13183,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function memmove." },
+          "message": {
+            "text": "from clause of term \\result in function memrchr."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -10014,11 +13194,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 122,
-                  "startColumn": 12,
-                  "endLine": 122,
-                  "endColumn": 35,
-                  "byteLength": 23
+                  "startLine": 97,
+                  "startColumn": 10,
+                  "endLine": 97,
+                  "endColumn": 17,
+                  "byteLength": 7
                 }
               }
             }
@@ -10028,22 +13208,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term *((char *)dest + (0 .. n - 1)) in function memmove."
-          },
+          "message": { "text": "complete clause in function memrchr." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/string.c",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 122,
-                  "startColumn": 12,
-                  "endLine": 122,
-                  "endColumn": 35,
-                  "byteLength": 23
+                  "startLine": 280,
+                  "startColumn": 6,
+                  "endLine": 287,
+                  "endColumn": 1,
+                  "byteLength": 229
                 }
               }
             }
@@ -10053,22 +13231,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function memmove."
-          },
+          "message": { "text": "disjoint clause in function memrchr." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/string.c",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 123,
-                  "startColumn": 12,
-                  "endLine": 123,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "startLine": 280,
+                  "startColumn": 6,
+                  "endLine": 287,
+                  "endColumn": 1,
+                  "byteLength": 229
                 }
               }
             }
@@ -10078,7 +13254,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "no_eva." },
+          "message": { "text": "behavior default! in function memset." },
           "locations": [
             {
               "physicalLocation": {
@@ -10087,11 +13263,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 95,
-                  "startColumn": 29,
-                  "endLine": 95,
-                  "endColumn": 40,
-                  "byteLength": 11
+                  "startLine": 134,
+                  "startColumn": 6,
+                  "endLine": 141,
+                  "endColumn": 1,
+                  "byteLength": 142
                 }
               }
             }
@@ -10101,20 +13277,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "no_eva." },
+          "message": { "text": "valid_s." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/string.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 96,
-                  "startColumn": 29,
-                  "endLine": 96,
-                  "endColumn": 109,
-                  "byteLength": 80
+                  "startLine": 148,
+                  "startColumn": 22,
+                  "endLine": 148,
+                  "endColumn": 42,
+                  "byteLength": 20
                 }
               }
             }
@@ -10124,20 +13300,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "no_eva." },
+          "message": { "text": "acsl_c_equiv." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/string.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 97,
-                  "startColumn": 29,
-                  "endLine": 97,
-                  "endColumn": 108,
-                  "byteLength": 79
+                  "startLine": 151,
+                  "startColumn": 26,
+                  "endLine": 151,
+                  "endColumn": 46,
+                  "byteLength": 20
                 }
               }
             }
@@ -10147,20 +13323,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function memmove." },
+          "message": { "text": "result_ptr." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/string.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 98,
-                  "startColumn": 19,
-                  "endLine": 98,
-                  "endColumn": 20,
-                  "byteLength": 1
+                  "startLine": 152,
+                  "startColumn": 24,
+                  "endLine": 152,
+                  "endColumn": 36,
+                  "byteLength": 12
                 }
               }
             }
@@ -10170,20 +13346,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "decrease clause in function memmove." },
+          "message": { "text": "assigns clause in function memset." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/string.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 99,
-                  "startColumn": 19,
-                  "endLine": 99,
-                  "endColumn": 24,
-                  "byteLength": 5
+                  "startLine": 149,
+                  "startColumn": 12,
+                  "endLine": 149,
+                  "endColumn": 32,
+                  "byteLength": 20
                 }
               }
             }
@@ -10192,21 +13368,23 @@
         {
           "ruleId": "user-spec",
           "kind": "pass",
-          "level": "error",
-          "message": { "text": "reachability of stmt line 101 in memmove." },
+          "level": "none",
+          "message": {
+            "text": "from clause of term *((char *)s + (0 .. n - 1)) in function memset."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/string.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 101,
-                  "startColumn": 4,
-                  "endLine": 102,
-                  "endColumn": 18,
-                  "byteLength": 49
+                  "startLine": 149,
+                  "startColumn": 12,
+                  "endLine": 149,
+                  "endColumn": 32,
+                  "byteLength": 20
                 }
               }
             }
@@ -10215,23 +13393,23 @@
         {
           "ruleId": "user-spec",
           "kind": "pass",
-          "level": "error",
+          "level": "none",
           "message": {
-            "text": "reachability post stmt line 101 in memmove."
+            "text": "from clause of term \\result in function memset."
           },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/string.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 101,
-                  "startColumn": 4,
-                  "endLine": 102,
-                  "endColumn": 18,
-                  "byteLength": 49
+                  "startLine": 150,
+                  "startColumn": 12,
+                  "endLine": 150,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -10241,20 +13419,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "no_eva." },
+          "message": { "text": "behavior default! in function mkstemp." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 107,
-                  "startColumn": 29,
-                  "endLine": 107,
-                  "endColumn": 39,
-                  "byteLength": 10
+                  "startLine": 820,
+                  "startColumn": 11,
+                  "endLine": 820,
+                  "endColumn": 18,
+                  "byteLength": 7
                 }
               }
             }
@@ -10264,20 +13442,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "no_eva." },
+          "message": { "text": "valid_template." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 108,
-                  "startColumn": 29,
-                  "endLine": 108,
-                  "endColumn": 108,
-                  "byteLength": 79
+                  "startLine": 813,
+                  "startColumn": 27,
+                  "endLine": 813,
+                  "endColumn": 48,
+                  "byteLength": 21
                 }
               }
             }
@@ -10287,20 +13465,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "no_eva." },
+          "message": { "text": "template_len." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 109,
-                  "startColumn": 29,
-                  "endLine": 109,
-                  "endColumn": 109,
-                  "byteLength": 80
+                  "startLine": 814,
+                  "startColumn": 25,
+                  "endLine": 814,
+                  "endColumn": 45,
+                  "byteLength": 20
                 }
               }
             }
@@ -10310,20 +13488,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function memmove." },
+          "message": { "text": "result_error_or_valid_fd." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 110,
-                  "startColumn": 19,
-                  "endLine": 110,
-                  "endColumn": 20,
-                  "byteLength": 1
+                  "startLine": 817,
+                  "startColumn": 36,
+                  "endLine": 818,
+                  "endColumn": 53,
+                  "byteLength": 70
                 }
               }
             }
@@ -10333,20 +13511,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "decrease clause in function memmove." },
+          "message": { "text": "assigns clause in function mkstemp." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 111,
-                  "startColumn": 19,
-                  "endLine": 111,
-                  "endColumn": 20,
-                  "byteLength": 1
+                  "startLine": 815,
+                  "startColumn": 10,
+                  "endLine": 815,
+                  "endColumn": 22,
+                  "byteLength": 12
                 }
               }
             }
@@ -10355,21 +13533,23 @@
         {
           "ruleId": "user-spec",
           "kind": "pass",
-          "level": "error",
-          "message": { "text": "reachability of stmt line 113 in memmove." },
+          "level": "none",
+          "message": {
+            "text": "from clause of term *(templat + (0 ..)) in function mkstemp."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
-                  "uriBaseId": "FRAMAC_SHARE"
-                },
-                "region": {
-                  "startLine": 113,
-                  "startColumn": 4,
-                  "endLine": 114,
-                  "endColumn": 18,
-                  "byteLength": 51
+                  "uri": "libc/stdlib.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 815,
+                  "startColumn": 10,
+                  "endLine": 815,
+                  "endColumn": 22,
+                  "byteLength": 12
                 }
               }
             }
@@ -10378,23 +13558,23 @@
         {
           "ruleId": "user-spec",
           "kind": "pass",
-          "level": "error",
+          "level": "none",
           "message": {
-            "text": "reachability post stmt line 113 in memmove."
+            "text": "from clause of term \\result in function mkstemp."
           },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 113,
-                  "startColumn": 4,
-                  "endLine": 114,
-                  "endColumn": 18,
-                  "byteLength": 51
+                  "startLine": 816,
+                  "startColumn": 10,
+                  "endLine": 816,
+                  "endColumn": 17,
+                  "byteLength": 7
                 }
               }
             }
@@ -10404,20 +13584,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function memoverlap." },
+          "message": { "text": "behavior default! in function mkstemps." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 79,
+                  "startLine": 833,
                   "startColumn": 11,
-                  "endLine": 86,
-                  "endColumn": 1,
-                  "byteLength": 255
+                  "endLine": 833,
+                  "endColumn": 19,
+                  "byteLength": 8
                 }
               }
             }
@@ -10427,22 +13607,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "behavior not_separated_gt in function memoverlap."
-          },
+          "message": { "text": "valid_template." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 79,
-                  "startColumn": 11,
-                  "endLine": 86,
-                  "endColumn": 1,
-                  "byteLength": 255
+                  "startLine": 825,
+                  "startColumn": 27,
+                  "endLine": 825,
+                  "endColumn": 48,
+                  "byteLength": 21
                 }
               }
             }
@@ -10452,22 +13630,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "behavior not_separated_lt in function memoverlap."
-          },
+          "message": { "text": "template_len." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 79,
-                  "startColumn": 11,
-                  "endLine": 86,
-                  "endColumn": 1,
-                  "byteLength": 255
+                  "startLine": 826,
+                  "startColumn": 25,
+                  "endLine": 826,
+                  "endColumn": 57,
+                  "byteLength": 32
                 }
               }
             }
@@ -10477,20 +13653,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior separated in function memoverlap." },
+          "message": { "text": "non_negative_suffixlen." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 79,
-                  "startColumn": 11,
-                  "endLine": 86,
-                  "endColumn": 1,
-                  "byteLength": 255
+                  "startLine": 827,
+                  "startColumn": 35,
+                  "endLine": 827,
+                  "endColumn": 49,
+                  "byteLength": 14
                 }
               }
             }
@@ -10500,20 +13676,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "separation." },
+          "message": { "text": "result_error_or_valid_fd." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 66,
-                  "startColumn": 35,
-                  "endLine": 66,
-                  "endColumn": 77,
-                  "byteLength": 42
+                  "startLine": 830,
+                  "startColumn": 36,
+                  "endLine": 831,
+                  "endColumn": 53,
+                  "byteLength": 70
                 }
               }
             }
@@ -10523,20 +13699,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "separation." },
+          "message": { "text": "assigns clause in function mkstemps." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 69,
-                  "startColumn": 32,
-                  "endLine": 69,
-                  "endColumn": 75,
-                  "byteLength": 43
+                  "startLine": 828,
+                  "startColumn": 10,
+                  "endLine": 828,
+                  "endColumn": 22,
+                  "byteLength": 12
                 }
               }
             }
@@ -10546,20 +13722,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "p_before_q." },
+          "message": {
+            "text": "from clause of term *(templat + (0 ..)) in function mkstemps."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 70,
-                  "startColumn": 24,
-                  "endLine": 70,
-                  "endColumn": 38,
-                  "byteLength": 14
+                  "startLine": 828,
+                  "startColumn": 10,
+                  "endLine": 828,
+                  "endColumn": 22,
+                  "byteLength": 12
                 }
               }
             }
@@ -10569,20 +13747,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "separation." },
+          "message": {
+            "text": "from clause of term \\result in function mkstemps."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 73,
-                  "startColumn": 32,
-                  "endLine": 73,
-                  "endColumn": 75,
-                  "byteLength": 43
+                  "startLine": 829,
+                  "startColumn": 10,
+                  "endLine": 829,
+                  "endColumn": 17,
+                  "byteLength": 7
                 }
               }
             }
@@ -10592,20 +13772,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "p_after_q." },
+          "message": { "text": "behavior default! in function mrand48." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 74,
-                  "startColumn": 23,
-                  "endLine": 74,
-                  "endColumn": 37,
-                  "byteLength": 14
+                  "startLine": 386,
+                  "startColumn": 16,
+                  "endLine": 386,
+                  "endColumn": 23,
+                  "byteLength": 7
                 }
               }
             }
@@ -10615,20 +13795,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_no_overlap." },
+          "message": { "text": "random48_initialized." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 67,
-                  "startColumn": 31,
-                  "endLine": 67,
-                  "endColumn": 43,
-                  "byteLength": 12
+                  "startLine": 381,
+                  "startColumn": 33,
+                  "endLine": 381,
+                  "endColumn": 56,
+                  "byteLength": 23
                 }
               }
             }
@@ -10638,20 +13818,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_p_before_q." },
+          "message": { "text": "result_range." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 71,
-                  "startColumn": 31,
-                  "endLine": 71,
-                  "endColumn": 44,
-                  "byteLength": 13
+                  "startLine": 384,
+                  "startColumn": 24,
+                  "endLine": 384,
+                  "endColumn": 59,
+                  "byteLength": 35
                 }
               }
             }
@@ -10661,20 +13841,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_p_after_q." },
+          "message": { "text": "assigns clause in function mrand48." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 75,
-                  "startColumn": 30,
-                  "endLine": 75,
-                  "endColumn": 42,
-                  "byteLength": 12
+                  "startLine": 382,
+                  "startColumn": 10,
+                  "endLine": 382,
+                  "endColumn": 37,
+                  "byteLength": 27
                 }
               }
             }
@@ -10684,20 +13864,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function memoverlap." },
+          "message": {
+            "text": "from clause of term __fc_random48_counter[0 .. 2] in function mrand48."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 79,
-                  "startColumn": 11,
-                  "endLine": 86,
-                  "endColumn": 1,
-                  "byteLength": 255
+                  "startLine": 382,
+                  "startColumn": 10,
+                  "endLine": 382,
+                  "endColumn": 37,
+                  "byteLength": 27
                 }
               }
             }
@@ -10708,19 +13890,19 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function memoverlap."
+            "text": "from clause of term \\result in function mrand48."
           },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 64,
+                  "startLine": 383,
                   "startColumn": 10,
-                  "endLine": 64,
+                  "endLine": 383,
                   "endColumn": 17,
                   "byteLength": 7
                 }
@@ -10732,20 +13914,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "complete clause in function memoverlap." },
+          "message": { "text": "behavior default! in function nrand48." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 79,
-                  "startColumn": 11,
-                  "endLine": 86,
-                  "endColumn": 1,
-                  "byteLength": 255
+                  "startLine": 378,
+                  "startColumn": 16,
+                  "endLine": 378,
+                  "endColumn": 23,
+                  "byteLength": 7
                 }
               }
             }
@@ -10755,20 +13937,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "disjoint clause in function memoverlap." },
+          "message": { "text": "valid_xsubi." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 79,
-                  "startColumn": 11,
-                  "endLine": 86,
-                  "endColumn": 1,
-                  "byteLength": 255
+                  "startLine": 372,
+                  "startColumn": 24,
+                  "endLine": 372,
+                  "endColumn": 44,
+                  "byteLength": 20
                 }
               }
             }
@@ -10778,20 +13960,43 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function mempcpy." },
+          "message": { "text": "initialization." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 45,
-                  "startColumn": 6,
-                  "endLine": 58,
-                  "endColumn": 1,
-                  "byteLength": 394
+                  "startLine": 373,
+                  "startColumn": 45,
+                  "endLine": 373,
+                  "endColumn": 71,
+                  "byteLength": 26
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "result_range." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/stdlib.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 376,
+                  "startColumn": 24,
+                  "endLine": 376,
+                  "endColumn": 49,
+                  "byteLength": 25
                 }
               }
             }
@@ -10801,20 +14006,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_dest." },
+          "message": { "text": "assigns clause in function nrand48." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 108,
-                  "startColumn": 25,
-                  "endLine": 108,
-                  "endColumn": 48,
-                  "byteLength": 23
+                  "startLine": 374,
+                  "startColumn": 10,
+                  "endLine": 374,
+                  "endColumn": 37,
+                  "byteLength": 27
                 }
               }
             }
@@ -10824,19 +14029,21 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_src." },
+          "message": {
+            "text": "from clause of term __fc_random48_counter[0 .. 2] in function nrand48."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 109,
-                  "startColumn": 24,
-                  "endLine": 109,
-                  "endColumn": 51,
+                  "startLine": 374,
+                  "startColumn": 10,
+                  "endLine": 374,
+                  "endColumn": 37,
                   "byteLength": 27
                 }
               }
@@ -10847,20 +14054,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "separation." },
+          "message": {
+            "text": "from clause of term \\result in function nrand48."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 111,
-                  "startColumn": 4,
-                  "endLine": 111,
-                  "endColumn": 62,
-                  "byteLength": 58
+                  "startLine": 375,
+                  "startColumn": 10,
+                  "endLine": 375,
+                  "endColumn": 17,
+                  "byteLength": 7
                 }
               }
             }
@@ -10870,20 +14079,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "copied_contents." },
+          "message": {
+            "text": "behavior allocation in function posix_memalign."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 114,
-                  "startColumn": 29,
-                  "endLine": 114,
-                  "endColumn": 76,
-                  "byteLength": 47
+                  "startLine": 808,
+                  "startColumn": 11,
+                  "endLine": 808,
+                  "endColumn": 25,
+                  "byteLength": 14
                 }
               }
             }
@@ -10893,20 +14104,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_next_byte." },
+          "message": {
+            "text": "behavior default! in function posix_memalign."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 115,
-                  "startColumn": 30,
-                  "endLine": 115,
-                  "endColumn": 49,
-                  "byteLength": 19
+                  "startLine": 808,
+                  "startColumn": 11,
+                  "endLine": 808,
+                  "endColumn": 25,
+                  "byteLength": 14
                 }
               }
             }
@@ -10916,20 +14129,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function mempcpy." },
+          "message": {
+            "text": "behavior no_allocation in function posix_memalign."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 112,
-                  "startColumn": 12,
-                  "endLine": 112,
-                  "endColumn": 35,
-                  "byteLength": 23
+                  "startLine": 808,
+                  "startColumn": 11,
+                  "endLine": 808,
+                  "endColumn": 25,
+                  "byteLength": 14
                 }
               }
             }
@@ -10939,22 +14154,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term *((char *)dest + (0 .. n - 1)) in function mempcpy."
-          },
+          "message": { "text": "valid_memptr." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 112,
-                  "startColumn": 12,
-                  "endLine": 112,
-                  "endColumn": 35,
-                  "byteLength": 23
+                  "startLine": 785,
+                  "startColumn": 25,
+                  "endLine": 785,
+                  "endColumn": 39,
+                  "byteLength": 14
                 }
               }
             }
@@ -10964,22 +14177,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function mempcpy."
-          },
+          "message": { "text": "alignment_is_a_suitable_power_of_two." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 113,
-                  "startColumn": 12,
-                  "endLine": 113,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "startLine": 787,
+                  "startColumn": 4,
+                  "endLine": 788,
+                  "endColumn": 54,
+                  "byteLength": 84
                 }
               }
             }
@@ -10989,20 +14200,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "no_eva." },
+          "message": { "text": "can_allocate." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 49,
-                  "startColumn": 27,
-                  "endLine": 49,
-                  "endColumn": 38,
-                  "byteLength": 11
+                  "startLine": 794,
+                  "startColumn": 26,
+                  "endLine": 794,
+                  "endColumn": 44,
+                  "byteLength": 18
                 }
               }
             }
@@ -11012,20 +14223,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "no_eva." },
+          "message": { "text": "cannot_allocate." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 50,
-                  "startColumn": 27,
-                  "endLine": 50,
-                  "endColumn": 92,
-                  "byteLength": 65
+                  "startLine": 801,
+                  "startColumn": 29,
+                  "endLine": 801,
+                  "endColumn": 48,
+                  "byteLength": 19
                 }
               }
             }
@@ -11035,20 +14246,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function mempcpy." },
+          "message": { "text": "allocation." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 51,
-                  "startColumn": 17,
-                  "endLine": 51,
-                  "endColumn": 18,
-                  "byteLength": 1
+                  "startLine": 798,
+                  "startColumn": 24,
+                  "endLine": 798,
+                  "endColumn": 44,
+                  "byteLength": 20
                 }
               }
             }
@@ -11058,20 +14269,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "decrease clause in function mempcpy." },
+          "message": { "text": "result_zero." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 52,
-                  "startColumn": 17,
-                  "endLine": 52,
-                  "endColumn": 22,
-                  "byteLength": 5
+                  "startLine": 799,
+                  "startColumn": 25,
+                  "endLine": 799,
+                  "endColumn": 37,
+                  "byteLength": 12
                 }
               }
             }
@@ -11080,21 +14291,21 @@
         {
           "ruleId": "user-spec",
           "kind": "pass",
-          "level": "error",
-          "message": { "text": "reachability of stmt line 54 in mempcpy." },
+          "level": "none",
+          "message": { "text": "result_non_zero." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 54,
-                  "startColumn": 2,
-                  "endLine": 56,
-                  "endColumn": 3,
-                  "byteLength": 69
+                  "startLine": 804,
+                  "startColumn": 29,
+                  "endLine": 804,
+                  "endColumn": 55,
+                  "byteLength": 26
                 }
               }
             }
@@ -11103,21 +14314,21 @@
         {
           "ruleId": "user-spec",
           "kind": "pass",
-          "level": "error",
-          "message": { "text": "reachability post stmt line 54 in mempcpy." },
+          "level": "none",
+          "message": { "text": "assigns clause in function posix_memalign." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 54,
-                  "startColumn": 2,
-                  "endLine": 56,
-                  "endColumn": 3,
-                  "byteLength": 69
+                  "startLine": 795,
+                  "startColumn": 12,
+                  "endLine": 795,
+                  "endColumn": 28,
+                  "byteLength": 16
                 }
               }
             }
@@ -11127,20 +14338,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function memset." },
+          "message": { "text": "assigns clause in function posix_memalign." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 134,
-                  "startColumn": 6,
-                  "endLine": 141,
-                  "endColumn": 1,
-                  "byteLength": 142
+                  "startLine": 790,
+                  "startColumn": 10,
+                  "endLine": 790,
+                  "endColumn": 26,
+                  "byteLength": 16
                 }
               }
             }
@@ -11150,20 +14361,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_s." },
+          "message": { "text": "assigns clause in function posix_memalign." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 131,
-                  "startColumn": 22,
-                  "endLine": 131,
-                  "endColumn": 42,
-                  "byteLength": 20
+                  "startLine": 808,
+                  "startColumn": 11,
+                  "endLine": 808,
+                  "endColumn": 25,
+                  "byteLength": 14
                 }
               }
             }
@@ -11173,20 +14384,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "acsl_c_equiv." },
+          "message": {
+            "text": "from clause of term __fc_heap_status in function posix_memalign."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 134,
-                  "startColumn": 26,
-                  "endLine": 134,
-                  "endColumn": 46,
-                  "byteLength": 20
+                  "startLine": 795,
+                  "startColumn": 12,
+                  "endLine": 795,
+                  "endColumn": 28,
+                  "byteLength": 16
                 }
               }
             }
@@ -11196,20 +14409,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_ptr." },
+          "message": {
+            "text": "from clause of term \\result in function posix_memalign."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
-                  "uriBaseId": "FRAMAC_SHARE"
-                },
-                "region": {
-                  "startLine": 135,
-                  "startColumn": 24,
-                  "endLine": 135,
-                  "endColumn": 36,
-                  "byteLength": 12
+                  "uri": "libc/stdlib.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 796,
+                  "startColumn": 12,
+                  "endLine": 796,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -11219,20 +14434,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function memset." },
+          "message": {
+            "text": "from clause of term __fc_heap_status in function posix_memalign."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 132,
-                  "startColumn": 12,
-                  "endLine": 132,
-                  "endColumn": 32,
-                  "byteLength": 20
+                  "startLine": 790,
+                  "startColumn": 10,
+                  "endLine": 790,
+                  "endColumn": 26,
+                  "byteLength": 16
                 }
               }
             }
@@ -11243,21 +14460,21 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term *((char *)s + (0 .. n - 1)) in function memset."
+            "text": "from clause of term \\result in function posix_memalign."
           },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 132,
-                  "startColumn": 12,
-                  "endLine": 132,
-                  "endColumn": 32,
-                  "byteLength": 20
+                  "startLine": 791,
+                  "startColumn": 10,
+                  "endLine": 791,
+                  "endColumn": 17,
+                  "byteLength": 7
                 }
               }
             }
@@ -11268,19 +14485,19 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function memset."
+            "text": "from clause of term \\result in function posix_memalign."
           },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 133,
+                  "startLine": 803,
                   "startColumn": 12,
-                  "endLine": 133,
+                  "endLine": 803,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -11292,7 +14509,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function mkstemp." },
+          "message": {
+            "text": "allocates/frees clause in function posix_memalign."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -11301,10 +14520,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 737,
-                  "startColumn": 11,
-                  "endLine": 737,
-                  "endColumn": 18,
+                  "startLine": 789,
+                  "startColumn": 12,
+                  "endLine": 789,
+                  "endColumn": 19,
                   "byteLength": 7
                 }
               }
@@ -11315,7 +14534,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_template." },
+          "message": {
+            "text": "allocates/frees clause in function posix_memalign."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -11324,11 +14545,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 730,
-                  "startColumn": 27,
-                  "endLine": 730,
-                  "endColumn": 48,
-                  "byteLength": 21
+                  "startLine": 808,
+                  "startColumn": 11,
+                  "endLine": 808,
+                  "endColumn": 25,
+                  "byteLength": 14
                 }
               }
             }
@@ -11338,7 +14559,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "template_len." },
+          "message": {
+            "text": "complete clause in function posix_memalign."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -11347,11 +14570,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 731,
-                  "startColumn": 25,
-                  "endLine": 731,
-                  "endColumn": 45,
-                  "byteLength": 20
+                  "startLine": 808,
+                  "startColumn": 11,
+                  "endLine": 808,
+                  "endColumn": 25,
+                  "byteLength": 14
                 }
               }
             }
@@ -11361,7 +14584,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_error_or_valid_fd." },
+          "message": {
+            "text": "disjoint clause in function posix_memalign."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -11370,11 +14595,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 734,
-                  "startColumn": 36,
-                  "endLine": 735,
-                  "endColumn": 53,
-                  "byteLength": 70
+                  "startLine": 808,
+                  "startColumn": 11,
+                  "endLine": 808,
+                  "endColumn": 25,
+                  "byteLength": 14
                 }
               }
             }
@@ -11384,7 +14609,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function mkstemp." },
+          "message": { "text": "behavior default! in function putenv." },
           "locations": [
             {
               "physicalLocation": {
@@ -11393,11 +14618,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 732,
-                  "startColumn": 10,
-                  "endLine": 732,
-                  "endColumn": 22,
-                  "byteLength": 12
+                  "startLine": 567,
+                  "startColumn": 11,
+                  "endLine": 567,
+                  "endColumn": 17,
+                  "byteLength": 6
                 }
               }
             }
@@ -11407,9 +14632,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term *(templat + (0 ..)) in function mkstemp."
-          },
+          "message": { "text": "valid_string." },
           "locations": [
             {
               "physicalLocation": {
@@ -11418,11 +14641,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 732,
-                  "startColumn": 10,
-                  "endLine": 732,
-                  "endColumn": 22,
-                  "byteLength": 12
+                  "startLine": 563,
+                  "startColumn": 25,
+                  "endLine": 563,
+                  "endColumn": 50,
+                  "byteLength": 25
                 }
               }
             }
@@ -11432,9 +14655,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function mkstemp."
-          },
+          "message": { "text": "assigns clause in function putenv." },
           "locations": [
             {
               "physicalLocation": {
@@ -11443,11 +14664,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 733,
+                  "startLine": 564,
                   "startColumn": 10,
-                  "endLine": 733,
-                  "endColumn": 17,
-                  "byteLength": 7
+                  "endLine": 564,
+                  "endColumn": 23,
+                  "byteLength": 13
                 }
               }
             }
@@ -11457,7 +14678,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function mkstemps." },
+          "message": {
+            "text": "from clause of term __fc_env[0 ..] in function putenv."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -11466,11 +14689,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 750,
-                  "startColumn": 11,
-                  "endLine": 750,
-                  "endColumn": 19,
-                  "byteLength": 8
+                  "startLine": 564,
+                  "startColumn": 10,
+                  "endLine": 564,
+                  "endColumn": 23,
+                  "byteLength": 13
                 }
               }
             }
@@ -11480,7 +14703,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_template." },
+          "message": {
+            "text": "from clause of term \\result in function putenv."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -11489,11 +14714,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 742,
-                  "startColumn": 27,
-                  "endLine": 742,
-                  "endColumn": 48,
-                  "byteLength": 21
+                  "startLine": 565,
+                  "startColumn": 10,
+                  "endLine": 565,
+                  "endColumn": 17,
+                  "byteLength": 7
                 }
               }
             }
@@ -11503,7 +14728,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "template_len." },
+          "message": { "text": "behavior default! in function qsort." },
           "locations": [
             {
               "physicalLocation": {
@@ -11512,11 +14737,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 743,
-                  "startColumn": 25,
-                  "endLine": 743,
-                  "endColumn": 57,
-                  "byteLength": 32
+                  "startLine": 663,
+                  "startColumn": 12,
+                  "endLine": 663,
+                  "endColumn": 17,
+                  "byteLength": 5
                 }
               }
             }
@@ -11526,7 +14751,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "non_negative_suffixlen." },
+          "message": { "text": "valid_function_compar." },
           "locations": [
             {
               "physicalLocation": {
@@ -11535,11 +14760,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 744,
-                  "startColumn": 35,
-                  "endLine": 744,
-                  "endColumn": 49,
-                  "byteLength": 14
+                  "startLine": 658,
+                  "startColumn": 34,
+                  "endLine": 658,
+                  "endColumn": 57,
+                  "byteLength": 23
                 }
               }
             }
@@ -11549,7 +14774,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_error_or_valid_fd." },
+          "message": { "text": "assigns clause in function qsort." },
           "locations": [
             {
               "physicalLocation": {
@@ -11558,11 +14783,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 747,
-                  "startColumn": 36,
-                  "endLine": 748,
-                  "endColumn": 53,
-                  "byteLength": 70
+                  "startLine": 659,
+                  "startColumn": 10,
+                  "endLine": 659,
+                  "endColumn": 29,
+                  "byteLength": 19
                 }
               }
             }
@@ -11572,7 +14797,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function mkstemps." },
+          "message": {
+            "text": "from clause of term *((char *)base + (0 ..)) in function qsort."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -11581,11 +14808,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 745,
+                  "startLine": 659,
                   "startColumn": 10,
-                  "endLine": 745,
-                  "endColumn": 22,
-                  "byteLength": 12
+                  "endLine": 659,
+                  "endColumn": 29,
+                  "byteLength": 19
                 }
               }
             }
@@ -11595,9 +14822,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term *(templat + (0 ..)) in function mkstemps."
-          },
+          "message": { "text": "behavior default! in function quick_exit." },
           "locations": [
             {
               "physicalLocation": {
@@ -11606,11 +14831,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 745,
-                  "startColumn": 10,
-                  "endLine": 745,
+                  "startLine": 625,
+                  "startColumn": 12,
+                  "endLine": 625,
                   "endColumn": 22,
-                  "byteLength": 12
+                  "byteLength": 10
                 }
               }
             }
@@ -11620,9 +14845,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function mkstemps."
-          },
+          "message": { "text": "never_terminates." },
           "locations": [
             {
               "physicalLocation": {
@@ -11631,11 +14854,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 746,
-                  "startColumn": 10,
-                  "endLine": 746,
-                  "endColumn": 17,
-                  "byteLength": 7
+                  "startLine": 623,
+                  "startColumn": 28,
+                  "endLine": 623,
+                  "endColumn": 34,
+                  "byteLength": 6
                 }
               }
             }
@@ -11645,7 +14868,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function mrand48." },
+          "message": { "text": "assigns clause in function quick_exit." },
           "locations": [
             {
               "physicalLocation": {
@@ -11654,11 +14877,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 355,
-                  "startColumn": 16,
-                  "endLine": 355,
-                  "endColumn": 23,
-                  "byteLength": 7
+                  "startLine": 625,
+                  "startColumn": 12,
+                  "endLine": 625,
+                  "endColumn": 22,
+                  "byteLength": 10
                 }
               }
             }
@@ -11668,7 +14891,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "random48_initialized." },
+          "message": { "text": "behavior default! in function rand." },
           "locations": [
             {
               "physicalLocation": {
@@ -11677,11 +14900,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 350,
-                  "startColumn": 33,
-                  "endLine": 350,
-                  "endColumn": 56,
-                  "byteLength": 23
+                  "startLine": 299,
+                  "startColumn": 11,
+                  "endLine": 299,
+                  "endColumn": 15,
+                  "byteLength": 4
                 }
               }
             }
@@ -11700,11 +14923,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 353,
+                  "startLine": 297,
                   "startColumn": 24,
-                  "endLine": 353,
-                  "endColumn": 59,
-                  "byteLength": 35
+                  "endLine": 297,
+                  "endColumn": 53,
+                  "byteLength": 29
                 }
               }
             }
@@ -11714,7 +14937,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function mrand48." },
+          "message": { "text": "assigns clause in function rand." },
           "locations": [
             {
               "physicalLocation": {
@@ -11723,11 +14946,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 351,
+                  "startLine": 295,
                   "startColumn": 10,
-                  "endLine": 351,
-                  "endColumn": 37,
-                  "byteLength": 27
+                  "endLine": 295,
+                  "endColumn": 17,
+                  "byteLength": 7
                 }
               }
             }
@@ -11738,7 +14961,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term __fc_random48_counter[0 .. 2] in function mrand48."
+            "text": "from clause of term \\result in function rand."
           },
           "locations": [
             {
@@ -11748,11 +14971,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 351,
+                  "startLine": 295,
                   "startColumn": 10,
-                  "endLine": 351,
-                  "endColumn": 37,
-                  "byteLength": 27
+                  "endLine": 295,
+                  "endColumn": 17,
+                  "byteLength": 7
                 }
               }
             }
@@ -11763,7 +14986,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function mrand48."
+            "text": "from clause of term __fc_random_counter in function rand."
           },
           "locations": [
             {
@@ -11773,11 +14996,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 352,
+                  "startLine": 296,
                   "startColumn": 10,
-                  "endLine": 352,
-                  "endColumn": 17,
-                  "byteLength": 7
+                  "endLine": 296,
+                  "endColumn": 29,
+                  "byteLength": 19
                 }
               }
             }
@@ -11787,7 +15010,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function nrand48." },
+          "message": { "text": "behavior default! in function random." },
           "locations": [
             {
               "physicalLocation": {
@@ -11796,11 +15019,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 347,
+                  "startLine": 308,
                   "startColumn": 16,
-                  "endLine": 347,
-                  "endColumn": 23,
-                  "byteLength": 7
+                  "endLine": 308,
+                  "endColumn": 22,
+                  "byteLength": 6
                 }
               }
             }
@@ -11810,7 +15033,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "initialization." },
+          "message": { "text": "result_range." },
           "locations": [
             {
               "physicalLocation": {
@@ -11819,11 +15042,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 342,
-                  "startColumn": 45,
-                  "endLine": 342,
-                  "endColumn": 71,
-                  "byteLength": 26
+                  "startLine": 306,
+                  "startColumn": 24,
+                  "endLine": 306,
+                  "endColumn": 53,
+                  "byteLength": 29
                 }
               }
             }
@@ -11833,7 +15056,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_range." },
+          "message": { "text": "assigns clause in function random." },
           "locations": [
             {
               "physicalLocation": {
@@ -11842,11 +15065,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 345,
-                  "startColumn": 24,
-                  "endLine": 345,
-                  "endColumn": 49,
-                  "byteLength": 25
+                  "startLine": 308,
+                  "startColumn": 16,
+                  "endLine": 308,
+                  "endColumn": 22,
+                  "byteLength": 6
                 }
               }
             }
@@ -11856,7 +15079,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function nrand48." },
+          "message": {
+            "text": "from clause of term \\result in function random."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -11865,11 +15090,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 343,
+                  "startLine": 305,
                   "startColumn": 10,
-                  "endLine": 343,
-                  "endColumn": 37,
-                  "byteLength": 27
+                  "endLine": 305,
+                  "endColumn": 17,
+                  "byteLength": 7
                 }
               }
             }
@@ -11879,9 +15104,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term __fc_random48_counter[0 .. 2] in function nrand48."
-          },
+          "message": { "text": "behavior allocation in function realloc." },
           "locations": [
             {
               "physicalLocation": {
@@ -11890,11 +15113,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 343,
-                  "startColumn": 10,
-                  "endLine": 343,
-                  "endColumn": 37,
-                  "byteLength": 27
+                  "startLine": 485,
+                  "startColumn": 13,
+                  "endLine": 485,
+                  "endColumn": 20,
+                  "byteLength": 7
                 }
               }
             }
@@ -11904,9 +15127,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function nrand48."
-          },
+          "message": { "text": "behavior deallocation in function realloc." },
           "locations": [
             {
               "physicalLocation": {
@@ -11915,10 +15136,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 344,
-                  "startColumn": 10,
-                  "endLine": 344,
-                  "endColumn": 17,
+                  "startLine": 485,
+                  "startColumn": 13,
+                  "endLine": 485,
+                  "endColumn": 20,
                   "byteLength": 7
                 }
               }
@@ -11929,9 +15150,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "behavior allocation in function posix_memalign."
-          },
+          "message": { "text": "behavior default! in function realloc." },
           "locations": [
             {
               "physicalLocation": {
@@ -11940,11 +15159,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 725,
-                  "startColumn": 11,
-                  "endLine": 725,
-                  "endColumn": 25,
-                  "byteLength": 14
+                  "startLine": 485,
+                  "startColumn": 13,
+                  "endLine": 485,
+                  "endColumn": 20,
+                  "byteLength": 7
                 }
               }
             }
@@ -11954,9 +15173,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "behavior default! in function posix_memalign."
-          },
+          "message": { "text": "behavior fail in function realloc." },
           "locations": [
             {
               "physicalLocation": {
@@ -11965,11 +15182,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 725,
-                  "startColumn": 11,
-                  "endLine": 725,
-                  "endColumn": 25,
-                  "byteLength": 14
+                  "startLine": 485,
+                  "startColumn": 13,
+                  "endLine": 485,
+                  "endColumn": 20,
+                  "byteLength": 7
                 }
               }
             }
@@ -11979,9 +15196,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "behavior no_allocation in function posix_memalign."
-          },
+          "message": { "text": "freeable." },
           "locations": [
             {
               "physicalLocation": {
@@ -11990,11 +15205,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 725,
-                  "startColumn": 11,
-                  "endLine": 725,
-                  "endColumn": 25,
-                  "byteLength": 14
+                  "startLine": 455,
+                  "startColumn": 22,
+                  "endLine": 455,
+                  "endColumn": 52,
+                  "byteLength": 30
                 }
               }
             }
@@ -12004,7 +15219,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_memptr." },
+          "message": { "text": "can_allocate." },
           "locations": [
             {
               "physicalLocation": {
@@ -12013,11 +15228,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 702,
-                  "startColumn": 25,
-                  "endLine": 702,
-                  "endColumn": 39,
-                  "byteLength": 14
+                  "startLine": 462,
+                  "startColumn": 27,
+                  "endLine": 462,
+                  "endColumn": 45,
+                  "byteLength": 18
                 }
               }
             }
@@ -12027,7 +15242,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "alignment_is_a_suitable_power_of_two." },
+          "message": { "text": "nonnull_ptr." },
           "locations": [
             {
               "physicalLocation": {
@@ -12036,11 +15251,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 704,
-                  "startColumn": 4,
-                  "endLine": 705,
-                  "endColumn": 54,
-                  "byteLength": 84
+                  "startLine": 468,
+                  "startColumn": 26,
+                  "endLine": 468,
+                  "endColumn": 38,
+                  "byteLength": 12
                 }
               }
             }
@@ -12059,10 +15274,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 711,
-                  "startColumn": 26,
-                  "endLine": 711,
-                  "endColumn": 44,
+                  "startLine": 469,
+                  "startColumn": 27,
+                  "endLine": 469,
+                  "endColumn": 45,
                   "byteLength": 18
                 }
               }
@@ -12082,10 +15297,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 718,
-                  "startColumn": 29,
-                  "endLine": 718,
-                  "endColumn": 48,
+                  "startLine": 475,
+                  "startColumn": 30,
+                  "endLine": 475,
+                  "endColumn": 49,
                   "byteLength": 19
                 }
               }
@@ -12105,10 +15320,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 715,
-                  "startColumn": 24,
-                  "endLine": 715,
-                  "endColumn": 44,
+                  "startLine": 465,
+                  "startColumn": 25,
+                  "endLine": 465,
+                  "endColumn": 45,
                   "byteLength": 20
                 }
               }
@@ -12119,7 +15334,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_zero." },
+          "message": { "text": "freed." },
           "locations": [
             {
               "physicalLocation": {
@@ -12128,11 +15343,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 716,
-                  "startColumn": 25,
-                  "endLine": 716,
-                  "endColumn": 37,
-                  "byteLength": 12
+                  "startLine": 471,
+                  "startColumn": 20,
+                  "endLine": 471,
+                  "endColumn": 35,
+                  "byteLength": 15
                 }
               }
             }
@@ -12142,7 +15357,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_non_zero." },
+          "message": { "text": "freeable." },
           "locations": [
             {
               "physicalLocation": {
@@ -12151,11 +15366,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 721,
-                  "startColumn": 29,
-                  "endLine": 721,
-                  "endColumn": 55,
-                  "byteLength": 26
+                  "startLine": 472,
+                  "startColumn": 23,
+                  "endLine": 472,
+                  "endColumn": 61,
+                  "byteLength": 38
                 }
               }
             }
@@ -12165,7 +15380,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function posix_memalign." },
+          "message": { "text": "null_result." },
           "locations": [
             {
               "physicalLocation": {
@@ -12174,10 +15389,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 712,
-                  "startColumn": 12,
-                  "endLine": 712,
-                  "endColumn": 28,
+                  "startLine": 479,
+                  "startColumn": 26,
+                  "endLine": 479,
+                  "endColumn": 42,
                   "byteLength": 16
                 }
               }
@@ -12188,7 +15403,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function posix_memalign." },
+          "message": { "text": "assigns clause in function realloc." },
           "locations": [
             {
               "physicalLocation": {
@@ -12197,11 +15412,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 707,
-                  "startColumn": 10,
-                  "endLine": 707,
-                  "endColumn": 26,
-                  "byteLength": 16
+                  "startLine": 485,
+                  "startColumn": 13,
+                  "endLine": 485,
+                  "endColumn": 20,
+                  "byteLength": 7
                 }
               }
             }
@@ -12211,7 +15426,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function posix_memalign." },
+          "message": { "text": "assigns clause in function realloc." },
           "locations": [
             {
               "physicalLocation": {
@@ -12220,11 +15435,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 725,
+                  "startLine": 458,
                   "startColumn": 11,
-                  "endLine": 725,
-                  "endColumn": 25,
-                  "byteLength": 14
+                  "endLine": 458,
+                  "endColumn": 27,
+                  "byteLength": 16
                 }
               }
             }
@@ -12234,9 +15449,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term __fc_heap_status in function posix_memalign."
-          },
+          "message": { "text": "assigns clause in function realloc." },
           "locations": [
             {
               "physicalLocation": {
@@ -12245,11 +15458,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 712,
-                  "startColumn": 12,
-                  "endLine": 712,
-                  "endColumn": 28,
-                  "byteLength": 16
+                  "startLine": 485,
+                  "startColumn": 13,
+                  "endLine": 485,
+                  "endColumn": 20,
+                  "byteLength": 7
                 }
               }
             }
@@ -12260,7 +15473,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function posix_memalign."
+            "text": "from clause of term \\result in function realloc."
           },
           "locations": [
             {
@@ -12270,10 +15483,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 713,
-                  "startColumn": 12,
-                  "endLine": 713,
-                  "endColumn": 19,
+                  "startLine": 464,
+                  "startColumn": 13,
+                  "endLine": 464,
+                  "endColumn": 20,
                   "byteLength": 7
                 }
               }
@@ -12285,7 +15498,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term __fc_heap_status in function posix_memalign."
+            "text": "from clause of term __fc_heap_status in function realloc."
           },
           "locations": [
             {
@@ -12295,10 +15508,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 707,
-                  "startColumn": 10,
-                  "endLine": 707,
-                  "endColumn": 26,
+                  "startLine": 458,
+                  "startColumn": 11,
+                  "endLine": 458,
+                  "endColumn": 27,
                   "byteLength": 16
                 }
               }
@@ -12310,7 +15523,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function posix_memalign."
+            "text": "from clause of term \\result in function realloc."
           },
           "locations": [
             {
@@ -12320,10 +15533,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 708,
-                  "startColumn": 10,
-                  "endLine": 708,
-                  "endColumn": 17,
+                  "startLine": 459,
+                  "startColumn": 11,
+                  "endLine": 459,
+                  "endColumn": 18,
                   "byteLength": 7
                 }
               }
@@ -12335,7 +15548,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function posix_memalign."
+            "text": "from clause of term \\result in function realloc."
           },
           "locations": [
             {
@@ -12345,10 +15558,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 719,
-                  "startColumn": 12,
-                  "endLine": 719,
-                  "endColumn": 19,
+                  "startLine": 478,
+                  "startColumn": 13,
+                  "endLine": 478,
+                  "endColumn": 20,
                   "byteLength": 7
                 }
               }
@@ -12360,7 +15573,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "allocates/frees clause in function posix_memalign."
+            "text": "allocates/frees clause in function realloc."
           },
           "locations": [
             {
@@ -12370,10 +15583,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 706,
-                  "startColumn": 12,
-                  "endLine": 706,
-                  "endColumn": 19,
+                  "startLine": 463,
+                  "startColumn": 15,
+                  "endLine": 463,
+                  "endColumn": 22,
                   "byteLength": 7
                 }
               }
@@ -12385,7 +15598,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "allocates/frees clause in function posix_memalign."
+            "text": "allocates/frees clause in function realloc."
           },
           "locations": [
             {
@@ -12395,11 +15608,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 725,
+                  "startLine": 470,
                   "startColumn": 11,
-                  "endLine": 725,
-                  "endColumn": 25,
-                  "byteLength": 14
+                  "endLine": 470,
+                  "endColumn": 14,
+                  "byteLength": 3
                 }
               }
             }
@@ -12410,7 +15623,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "complete clause in function posix_memalign."
+            "text": "allocates/frees clause in function realloc."
           },
           "locations": [
             {
@@ -12420,11 +15633,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 725,
-                  "startColumn": 11,
-                  "endLine": 725,
-                  "endColumn": 25,
-                  "byteLength": 14
+                  "startLine": 457,
+                  "startColumn": 9,
+                  "endLine": 457,
+                  "endColumn": 12,
+                  "byteLength": 3
                 }
               }
             }
@@ -12435,7 +15648,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "disjoint clause in function posix_memalign."
+            "text": "allocates/frees clause in function realloc."
           },
           "locations": [
             {
@@ -12445,11 +15658,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 725,
-                  "startColumn": 11,
-                  "endLine": 725,
-                  "endColumn": 25,
-                  "byteLength": 14
+                  "startLine": 485,
+                  "startColumn": 13,
+                  "endLine": 485,
+                  "endColumn": 20,
+                  "byteLength": 7
                 }
               }
             }
@@ -12459,7 +15672,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function putenv." },
+          "message": { "text": "complete clause in function realloc." },
           "locations": [
             {
               "physicalLocation": {
@@ -12468,11 +15681,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 533,
-                  "startColumn": 11,
-                  "endLine": 533,
-                  "endColumn": 17,
-                  "byteLength": 6
+                  "startLine": 485,
+                  "startColumn": 13,
+                  "endLine": 485,
+                  "endColumn": 20,
+                  "byteLength": 7
                 }
               }
             }
@@ -12482,7 +15695,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_string." },
+          "message": { "text": "disjoint clause in function realloc." },
           "locations": [
             {
               "physicalLocation": {
@@ -12491,11 +15704,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 529,
-                  "startColumn": 25,
-                  "endLine": 529,
-                  "endColumn": 50,
-                  "byteLength": 25
+                  "startLine": 485,
+                  "startColumn": 13,
+                  "endLine": 485,
+                  "endColumn": 20,
+                  "byteLength": 7
                 }
               }
             }
@@ -12505,7 +15718,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function putenv." },
+          "message": { "text": "disjoint clause in function realloc." },
           "locations": [
             {
               "physicalLocation": {
@@ -12514,11 +15727,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 530,
-                  "startColumn": 10,
-                  "endLine": 530,
-                  "endColumn": 23,
-                  "byteLength": 13
+                  "startLine": 485,
+                  "startColumn": 13,
+                  "endLine": 485,
+                  "endColumn": 20,
+                  "byteLength": 7
                 }
               }
             }
@@ -12529,7 +15742,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term __fc_env[0 ..] in function putenv."
+            "text": "behavior allocation in function reallocarray."
           },
           "locations": [
             {
@@ -12539,11 +15752,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 530,
-                  "startColumn": 10,
-                  "endLine": 530,
-                  "endColumn": 23,
-                  "byteLength": 13
+                  "startLine": 521,
+                  "startColumn": 13,
+                  "endLine": 521,
+                  "endColumn": 25,
+                  "byteLength": 12
                 }
               }
             }
@@ -12554,7 +15767,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function putenv."
+            "text": "behavior deallocation in function reallocarray."
           },
           "locations": [
             {
@@ -12564,11 +15777,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 531,
-                  "startColumn": 10,
-                  "endLine": 531,
-                  "endColumn": 17,
-                  "byteLength": 7
+                  "startLine": 521,
+                  "startColumn": 13,
+                  "endLine": 521,
+                  "endColumn": 25,
+                  "byteLength": 12
                 }
               }
             }
@@ -12578,7 +15791,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function qsort." },
+          "message": {
+            "text": "behavior default! in function reallocarray."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -12587,11 +15802,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 594,
-                  "startColumn": 12,
-                  "endLine": 594,
-                  "endColumn": 17,
-                  "byteLength": 5
+                  "startLine": 521,
+                  "startColumn": 13,
+                  "endLine": 521,
+                  "endColumn": 25,
+                  "byteLength": 12
                 }
               }
             }
@@ -12601,7 +15816,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_function_compar." },
+          "message": { "text": "behavior fail in function reallocarray." },
           "locations": [
             {
               "physicalLocation": {
@@ -12610,11 +15825,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 589,
-                  "startColumn": 34,
-                  "endLine": 589,
-                  "endColumn": 57,
-                  "byteLength": 23
+                  "startLine": 521,
+                  "startColumn": 13,
+                  "endLine": 521,
+                  "endColumn": 25,
+                  "byteLength": 12
                 }
               }
             }
@@ -12624,7 +15839,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function qsort." },
+          "message": { "text": "freeable." },
           "locations": [
             {
               "physicalLocation": {
@@ -12633,11 +15848,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 590,
-                  "startColumn": 10,
-                  "endLine": 590,
-                  "endColumn": 29,
-                  "byteLength": 19
+                  "startLine": 489,
+                  "startColumn": 22,
+                  "endLine": 489,
+                  "endColumn": 52,
+                  "byteLength": 30
                 }
               }
             }
@@ -12647,9 +15862,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term *((char *)base + (0 ..)) in function qsort."
-          },
+          "message": { "text": "can_allocate." },
           "locations": [
             {
               "physicalLocation": {
@@ -12658,11 +15871,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 590,
-                  "startColumn": 10,
-                  "endLine": 590,
-                  "endColumn": 29,
-                  "byteLength": 19
+                  "startLine": 498,
+                  "startColumn": 27,
+                  "endLine": 498,
+                  "endColumn": 53,
+                  "byteLength": 26
                 }
               }
             }
@@ -12672,7 +15885,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function quick_exit." },
+          "message": { "text": "nonnull_ptr." },
           "locations": [
             {
               "physicalLocation": {
@@ -12681,11 +15894,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 557,
-                  "startColumn": 12,
-                  "endLine": 557,
-                  "endColumn": 22,
-                  "byteLength": 10
+                  "startLine": 503,
+                  "startColumn": 26,
+                  "endLine": 503,
+                  "endColumn": 38,
+                  "byteLength": 12
                 }
               }
             }
@@ -12695,7 +15908,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "never_terminates." },
+          "message": { "text": "can_allocate." },
           "locations": [
             {
               "physicalLocation": {
@@ -12704,11 +15917,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 555,
-                  "startColumn": 28,
-                  "endLine": 555,
-                  "endColumn": 34,
-                  "byteLength": 6
+                  "startLine": 504,
+                  "startColumn": 27,
+                  "endLine": 504,
+                  "endColumn": 53,
+                  "byteLength": 26
                 }
               }
             }
@@ -12718,7 +15931,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function quick_exit." },
+          "message": { "text": "cannot_allocate." },
           "locations": [
             {
               "physicalLocation": {
@@ -12727,11 +15940,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 557,
-                  "startColumn": 12,
-                  "endLine": 557,
-                  "endColumn": 22,
-                  "byteLength": 10
+                  "startLine": 510,
+                  "startColumn": 30,
+                  "endLine": 510,
+                  "endColumn": 57,
+                  "byteLength": 27
                 }
               }
             }
@@ -12741,7 +15954,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function rand." },
+          "message": { "text": "allocation." },
           "locations": [
             {
               "physicalLocation": {
@@ -12750,11 +15963,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 273,
-                  "startColumn": 11,
-                  "endLine": 273,
-                  "endColumn": 15,
-                  "byteLength": 4
+                  "startLine": 500,
+                  "startColumn": 25,
+                  "endLine": 500,
+                  "endColumn": 54,
+                  "byteLength": 29
                 }
               }
             }
@@ -12764,7 +15977,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_range." },
+          "message": { "text": "freed." },
           "locations": [
             {
               "physicalLocation": {
@@ -12773,11 +15986,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 271,
-                  "startColumn": 26,
-                  "endLine": 271,
-                  "endColumn": 55,
-                  "byteLength": 29
+                  "startLine": 506,
+                  "startColumn": 20,
+                  "endLine": 506,
+                  "endColumn": 35,
+                  "byteLength": 15
                 }
               }
             }
@@ -12787,7 +16000,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function rand." },
+          "message": { "text": "freeable." },
           "locations": [
             {
               "physicalLocation": {
@@ -12796,11 +16009,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 269,
-                  "startColumn": 12,
-                  "endLine": 269,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "startLine": 507,
+                  "startColumn": 23,
+                  "endLine": 507,
+                  "endColumn": 61,
+                  "byteLength": 38
                 }
               }
             }
@@ -12810,9 +16023,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function rand."
-          },
+          "message": { "text": "null_result." },
           "locations": [
             {
               "physicalLocation": {
@@ -12821,11 +16032,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 269,
-                  "startColumn": 12,
-                  "endLine": 269,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "startLine": 515,
+                  "startColumn": 26,
+                  "endLine": 515,
+                  "endColumn": 42,
+                  "byteLength": 16
                 }
               }
             }
@@ -12835,9 +16046,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term __fc_random_counter in function rand."
-          },
+          "message": { "text": "assigns clause in function reallocarray." },
           "locations": [
             {
               "physicalLocation": {
@@ -12846,11 +16055,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 270,
-                  "startColumn": 12,
-                  "endLine": 270,
-                  "endColumn": 31,
-                  "byteLength": 19
+                  "startLine": 492,
+                  "startColumn": 11,
+                  "endLine": 492,
+                  "endColumn": 27,
+                  "byteLength": 16
                 }
               }
             }
@@ -12860,7 +16069,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function random." },
+          "message": { "text": "assigns clause in function reallocarray." },
           "locations": [
             {
               "physicalLocation": {
@@ -12869,11 +16078,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 282,
-                  "startColumn": 16,
-                  "endLine": 282,
-                  "endColumn": 22,
-                  "byteLength": 6
+                  "startLine": 521,
+                  "startColumn": 13,
+                  "endLine": 521,
+                  "endColumn": 25,
+                  "byteLength": 12
                 }
               }
             }
@@ -12883,7 +16092,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_range." },
+          "message": {
+            "text": "from clause of term __fc_heap_status in function reallocarray."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -12892,11 +16103,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 280,
-                  "startColumn": 24,
-                  "endLine": 280,
-                  "endColumn": 53,
-                  "byteLength": 29
+                  "startLine": 492,
+                  "startColumn": 11,
+                  "endLine": 492,
+                  "endColumn": 27,
+                  "byteLength": 16
                 }
               }
             }
@@ -12906,7 +16117,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function random." },
+          "message": {
+            "text": "from clause of term \\result in function reallocarray."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -12915,11 +16128,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 282,
-                  "startColumn": 16,
-                  "endLine": 282,
-                  "endColumn": 22,
-                  "byteLength": 6
+                  "startLine": 494,
+                  "startColumn": 11,
+                  "endLine": 494,
+                  "endColumn": 18,
+                  "byteLength": 7
                 }
               }
             }
@@ -12930,7 +16143,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function random."
+            "text": "from clause of term \\result in function reallocarray."
           },
           "locations": [
             {
@@ -12940,10 +16153,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 279,
-                  "startColumn": 10,
-                  "endLine": 279,
-                  "endColumn": 17,
+                  "startLine": 513,
+                  "startColumn": 13,
+                  "endLine": 513,
+                  "endColumn": 20,
                   "byteLength": 7
                 }
               }
@@ -12954,7 +16167,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior allocation in function realloc." },
+          "message": {
+            "text": "allocates/frees clause in function reallocarray."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -12963,10 +16178,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 453,
-                  "startColumn": 13,
-                  "endLine": 453,
-                  "endColumn": 20,
+                  "startLine": 499,
+                  "startColumn": 15,
+                  "endLine": 499,
+                  "endColumn": 22,
                   "byteLength": 7
                 }
               }
@@ -12977,7 +16192,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior deallocation in function realloc." },
+          "message": {
+            "text": "allocates/frees clause in function reallocarray."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -12986,11 +16203,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 453,
-                  "startColumn": 13,
-                  "endLine": 453,
-                  "endColumn": 20,
-                  "byteLength": 7
+                  "startLine": 505,
+                  "startColumn": 11,
+                  "endLine": 505,
+                  "endColumn": 14,
+                  "byteLength": 3
                 }
               }
             }
@@ -13000,7 +16217,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function realloc." },
+          "message": {
+            "text": "allocates/frees clause in function reallocarray."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -13009,11 +16228,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 453,
-                  "startColumn": 13,
-                  "endLine": 453,
-                  "endColumn": 20,
-                  "byteLength": 7
+                  "startLine": 491,
+                  "startColumn": 9,
+                  "endLine": 491,
+                  "endColumn": 12,
+                  "byteLength": 3
                 }
               }
             }
@@ -13023,7 +16242,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior fail in function realloc." },
+          "message": {
+            "text": "allocates/frees clause in function reallocarray."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -13032,11 +16253,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 453,
+                  "startLine": 521,
                   "startColumn": 13,
-                  "endLine": 453,
-                  "endColumn": 20,
-                  "byteLength": 7
+                  "endLine": 521,
+                  "endColumn": 25,
+                  "byteLength": 12
                 }
               }
             }
@@ -13046,7 +16267,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "freeable." },
+          "message": { "text": "complete clause in function reallocarray." },
           "locations": [
             {
               "physicalLocation": {
@@ -13055,11 +16276,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 423,
-                  "startColumn": 22,
-                  "endLine": 423,
-                  "endColumn": 52,
-                  "byteLength": 30
+                  "startLine": 521,
+                  "startColumn": 13,
+                  "endLine": 521,
+                  "endColumn": 25,
+                  "byteLength": 12
                 }
               }
             }
@@ -13069,7 +16290,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "can_allocate." },
+          "message": { "text": "disjoint clause in function reallocarray." },
           "locations": [
             {
               "physicalLocation": {
@@ -13078,11 +16299,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 430,
-                  "startColumn": 27,
-                  "endLine": 430,
-                  "endColumn": 45,
-                  "byteLength": 18
+                  "startLine": 521,
+                  "startColumn": 13,
+                  "endLine": 521,
+                  "endColumn": 25,
+                  "byteLength": 12
                 }
               }
             }
@@ -13092,7 +16313,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "nonnull_ptr." },
+          "message": { "text": "disjoint clause in function reallocarray." },
           "locations": [
             {
               "physicalLocation": {
@@ -13101,10 +16322,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 436,
-                  "startColumn": 26,
-                  "endLine": 436,
-                  "endColumn": 38,
+                  "startLine": 521,
+                  "startColumn": 13,
+                  "endLine": 521,
+                  "endColumn": 25,
                   "byteLength": 12
                 }
               }
@@ -13115,7 +16336,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "can_allocate." },
+          "message": {
+            "text": "behavior allocate_resolved_name in function realpath."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -13124,11 +16347,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 437,
-                  "startColumn": 27,
-                  "endLine": 437,
-                  "endColumn": 45,
-                  "byteLength": 18
+                  "startLine": 890,
+                  "startColumn": 13,
+                  "endLine": 890,
+                  "endColumn": 21,
+                  "byteLength": 8
                 }
               }
             }
@@ -13138,7 +16361,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "cannot_allocate." },
+          "message": { "text": "behavior default! in function realpath." },
           "locations": [
             {
               "physicalLocation": {
@@ -13147,11 +16370,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 443,
-                  "startColumn": 30,
-                  "endLine": 443,
-                  "endColumn": 49,
-                  "byteLength": 19
+                  "startLine": 890,
+                  "startColumn": 13,
+                  "endLine": 890,
+                  "endColumn": 21,
+                  "byteLength": 8
                 }
               }
             }
@@ -13161,7 +16384,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "allocation." },
+          "message": {
+            "text": "behavior filesystem_error in function realpath."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -13170,11 +16395,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 433,
-                  "startColumn": 25,
-                  "endLine": 433,
-                  "endColumn": 45,
-                  "byteLength": 20
+                  "startLine": 890,
+                  "startColumn": 13,
+                  "endLine": 890,
+                  "endColumn": 21,
+                  "byteLength": 8
                 }
               }
             }
@@ -13184,7 +16409,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "freed." },
+          "message": {
+            "text": "behavior not_enough_memory in function realpath."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -13193,11 +16420,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 439,
-                  "startColumn": 20,
-                  "endLine": 439,
-                  "endColumn": 35,
-                  "byteLength": 15
+                  "startLine": 890,
+                  "startColumn": 13,
+                  "endLine": 890,
+                  "endColumn": 21,
+                  "byteLength": 8
                 }
               }
             }
@@ -13207,7 +16434,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "freeable." },
+          "message": {
+            "text": "behavior null_file_name in function realpath."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -13216,11 +16445,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 440,
-                  "startColumn": 23,
-                  "endLine": 440,
-                  "endColumn": 61,
-                  "byteLength": 38
+                  "startLine": 890,
+                  "startColumn": 13,
+                  "endLine": 890,
+                  "endColumn": 21,
+                  "byteLength": 8
                 }
               }
             }
@@ -13230,7 +16459,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "null_result." },
+          "message": {
+            "text": "behavior resolved_name_buffer in function realpath."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -13239,11 +16470,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 447,
-                  "startColumn": 26,
-                  "endLine": 447,
-                  "endColumn": 42,
-                  "byteLength": 16
+                  "startLine": 890,
+                  "startColumn": 13,
+                  "endLine": 890,
+                  "endColumn": 21,
+                  "byteLength": 8
                 }
               }
             }
@@ -13253,7 +16484,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function realloc." },
+          "message": { "text": "valid_file_name_or_null." },
           "locations": [
             {
               "physicalLocation": {
@@ -13262,11 +16493,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 453,
-                  "startColumn": 13,
-                  "endLine": 453,
-                  "endColumn": 20,
-                  "byteLength": 7
+                  "startLine": 840,
+                  "startColumn": 4,
+                  "endLine": 840,
+                  "endColumn": 54,
+                  "byteLength": 50
                 }
               }
             }
@@ -13276,7 +16507,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function realloc." },
+          "message": { "text": "resolved_name_null_or_allocated." },
           "locations": [
             {
               "physicalLocation": {
@@ -13285,11 +16516,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 426,
-                  "startColumn": 11,
-                  "endLine": 426,
-                  "endColumn": 27,
-                  "byteLength": 16
+                  "startLine": 842,
+                  "startColumn": 4,
+                  "endLine": 842,
+                  "endColumn": 66,
+                  "byteLength": 62
                 }
               }
             }
@@ -13299,7 +16530,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function realloc." },
+          "message": { "text": "null_file_name." },
           "locations": [
             {
               "physicalLocation": {
@@ -13308,11 +16539,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 453,
-                  "startColumn": 13,
-                  "endLine": 453,
-                  "endColumn": 20,
-                  "byteLength": 7
+                  "startLine": 850,
+                  "startColumn": 28,
+                  "endLine": 850,
+                  "endColumn": 46,
+                  "byteLength": 18
                 }
               }
             }
@@ -13322,9 +16553,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function realloc."
-          },
+          "message": { "text": "valid_file_name." },
           "locations": [
             {
               "physicalLocation": {
@@ -13333,11 +16562,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 432,
-                  "startColumn": 13,
-                  "endLine": 432,
-                  "endColumn": 20,
-                  "byteLength": 7
+                  "startLine": 855,
+                  "startColumn": 29,
+                  "endLine": 855,
+                  "endColumn": 57,
+                  "byteLength": 28
                 }
               }
             }
@@ -13347,9 +16576,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term __fc_heap_status in function realloc."
-          },
+          "message": { "text": "resolved_name_null." },
           "locations": [
             {
               "physicalLocation": {
@@ -13358,11 +16585,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 426,
-                  "startColumn": 11,
-                  "endLine": 426,
-                  "endColumn": 27,
-                  "byteLength": 16
+                  "startLine": 856,
+                  "startColumn": 32,
+                  "endLine": 856,
+                  "endColumn": 54,
+                  "byteLength": 22
                 }
               }
             }
@@ -13372,9 +16599,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function realloc."
-          },
+          "message": { "text": "can_allocate." },
           "locations": [
             {
               "physicalLocation": {
@@ -13383,11 +16608,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 427,
-                  "startColumn": 11,
-                  "endLine": 427,
-                  "endColumn": 18,
-                  "byteLength": 7
+                  "startLine": 857,
+                  "startColumn": 26,
+                  "endLine": 857,
+                  "endColumn": 44,
+                  "byteLength": 18
                 }
               }
             }
@@ -13397,9 +16622,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function realloc."
-          },
+          "message": { "text": "valid_file_name." },
           "locations": [
             {
               "physicalLocation": {
@@ -13408,11 +16631,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 446,
-                  "startColumn": 13,
-                  "endLine": 446,
-                  "endColumn": 20,
-                  "byteLength": 7
+                  "startLine": 862,
+                  "startColumn": 29,
+                  "endLine": 862,
+                  "endColumn": 57,
+                  "byteLength": 28
                 }
               }
             }
@@ -13422,22 +16645,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "allocates/frees clause in function realloc."
-          },
+          "message": { "text": "resolved_name_null." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
                   "uri": "libc/stdlib.h",
                   "uriBaseId": "FRAMAC_SHARE"
-                },
-                "region": {
-                  "startLine": 431,
-                  "startColumn": 15,
-                  "endLine": 431,
-                  "endColumn": 22,
-                  "byteLength": 7
+                },
+                "region": {
+                  "startLine": 863,
+                  "startColumn": 32,
+                  "endLine": 863,
+                  "endColumn": 54,
+                  "byteLength": 22
                 }
               }
             }
@@ -13447,9 +16668,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "allocates/frees clause in function realloc."
-          },
+          "message": { "text": "cannot_allocate." },
           "locations": [
             {
               "physicalLocation": {
@@ -13458,11 +16677,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 438,
-                  "startColumn": 11,
-                  "endLine": 438,
-                  "endColumn": 14,
-                  "byteLength": 3
+                  "startLine": 864,
+                  "startColumn": 29,
+                  "endLine": 864,
+                  "endColumn": 48,
+                  "byteLength": 19
                 }
               }
             }
@@ -13472,9 +16691,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "allocates/frees clause in function realloc."
-          },
+          "message": { "text": "valid_file_name." },
           "locations": [
             {
               "physicalLocation": {
@@ -13483,11 +16700,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 425,
-                  "startColumn": 9,
-                  "endLine": 425,
-                  "endColumn": 12,
-                  "byteLength": 3
+                  "startLine": 870,
+                  "startColumn": 29,
+                  "endLine": 870,
+                  "endColumn": 57,
+                  "byteLength": 28
                 }
               }
             }
@@ -13497,9 +16714,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "allocates/frees clause in function realloc."
-          },
+          "message": { "text": "allocated_resolved_name_or_fail." },
           "locations": [
             {
               "physicalLocation": {
@@ -13508,11 +16723,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 453,
-                  "startColumn": 13,
-                  "endLine": 453,
-                  "endColumn": 20,
-                  "byteLength": 7
+                  "startLine": 872,
+                  "startColumn": 6,
+                  "endLine": 872,
+                  "endColumn": 42,
+                  "byteLength": 36
                 }
               }
             }
@@ -13522,7 +16737,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "complete clause in function realloc." },
+          "message": { "text": "valid_file_name." },
           "locations": [
             {
               "physicalLocation": {
@@ -13531,11 +16746,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 453,
-                  "startColumn": 13,
-                  "endLine": 453,
-                  "endColumn": 20,
-                  "byteLength": 7
+                  "startLine": 882,
+                  "startColumn": 29,
+                  "endLine": 882,
+                  "endColumn": 57,
+                  "byteLength": 28
                 }
               }
             }
@@ -13545,7 +16760,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "disjoint clause in function realloc." },
+          "message": { "text": "null_result." },
           "locations": [
             {
               "physicalLocation": {
@@ -13554,11 +16769,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 453,
-                  "startColumn": 13,
-                  "endLine": 453,
-                  "endColumn": 20,
-                  "byteLength": 7
+                  "startLine": 852,
+                  "startColumn": 25,
+                  "endLine": 852,
+                  "endColumn": 41,
+                  "byteLength": 16
                 }
               }
             }
@@ -13568,7 +16783,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "disjoint clause in function realloc." },
+          "message": { "text": "errno_set." },
           "locations": [
             {
               "physicalLocation": {
@@ -13577,11 +16792,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 453,
-                  "startColumn": 13,
-                  "endLine": 453,
-                  "endColumn": 20,
-                  "byteLength": 7
+                  "startLine": 853,
+                  "startColumn": 23,
+                  "endLine": 853,
+                  "endColumn": 39,
+                  "byteLength": 16
                 }
               }
             }
@@ -13591,9 +16806,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "behavior allocation in function reallocarray."
-          },
+          "message": { "text": "allocation." },
           "locations": [
             {
               "physicalLocation": {
@@ -13602,11 +16815,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 489,
-                  "startColumn": 13,
-                  "endLine": 489,
-                  "endColumn": 25,
-                  "byteLength": 12
+                  "startLine": 860,
+                  "startColumn": 24,
+                  "endLine": 860,
+                  "endColumn": 44,
+                  "byteLength": 20
                 }
               }
             }
@@ -13616,9 +16829,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "behavior deallocation in function reallocarray."
-          },
+          "message": { "text": "null_result." },
           "locations": [
             {
               "physicalLocation": {
@@ -13627,11 +16838,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 489,
-                  "startColumn": 13,
-                  "endLine": 489,
-                  "endColumn": 25,
-                  "byteLength": 12
+                  "startLine": 867,
+                  "startColumn": 25,
+                  "endLine": 867,
+                  "endColumn": 41,
+                  "byteLength": 16
                 }
               }
             }
@@ -13641,9 +16852,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "behavior default! in function reallocarray."
-          },
+          "message": { "text": "errno_set." },
           "locations": [
             {
               "physicalLocation": {
@@ -13652,11 +16861,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 489,
-                  "startColumn": 13,
-                  "endLine": 489,
-                  "endColumn": 25,
-                  "byteLength": 12
+                  "startLine": 868,
+                  "startColumn": 23,
+                  "endLine": 868,
+                  "endColumn": 39,
+                  "byteLength": 16
                 }
               }
             }
@@ -13666,7 +16875,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior fail in function reallocarray." },
+          "message": { "text": "valid_string_resolved_name." },
           "locations": [
             {
               "physicalLocation": {
@@ -13675,11 +16884,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 489,
-                  "startColumn": 13,
-                  "endLine": 489,
-                  "endColumn": 25,
-                  "byteLength": 12
+                  "startLine": 876,
+                  "startColumn": 40,
+                  "endLine": 877,
+                  "endColumn": 71,
+                  "byteLength": 99
                 }
               }
             }
@@ -13689,7 +16898,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "freeable." },
+          "message": { "text": "resolved_result." },
           "locations": [
             {
               "physicalLocation": {
@@ -13698,11 +16907,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 457,
-                  "startColumn": 22,
-                  "endLine": 457,
-                  "endColumn": 52,
-                  "byteLength": 30
+                  "startLine": 880,
+                  "startColumn": 29,
+                  "endLine": 880,
+                  "endColumn": 53,
+                  "byteLength": 24
                 }
               }
             }
@@ -13712,7 +16921,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "can_allocate." },
+          "message": { "text": "null_result." },
           "locations": [
             {
               "physicalLocation": {
@@ -13721,11 +16930,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 466,
-                  "startColumn": 27,
-                  "endLine": 466,
-                  "endColumn": 53,
-                  "byteLength": 26
+                  "startLine": 886,
+                  "startColumn": 25,
+                  "endLine": 886,
+                  "endColumn": 41,
+                  "byteLength": 16
                 }
               }
             }
@@ -13735,7 +16944,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "nonnull_ptr." },
+          "message": { "text": "errno_set." },
           "locations": [
             {
               "physicalLocation": {
@@ -13744,11 +16953,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 471,
-                  "startColumn": 26,
-                  "endLine": 471,
-                  "endColumn": 38,
-                  "byteLength": 12
+                  "startLine": 888,
+                  "startColumn": 6,
+                  "endLine": 888,
+                  "endColumn": 43,
+                  "byteLength": 37
                 }
               }
             }
@@ -13758,7 +16967,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "can_allocate." },
+          "message": { "text": "assigns clause in function realpath." },
           "locations": [
             {
               "physicalLocation": {
@@ -13767,11 +16976,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 472,
-                  "startColumn": 27,
-                  "endLine": 472,
-                  "endColumn": 53,
-                  "byteLength": 26
+                  "startLine": 858,
+                  "startColumn": 12,
+                  "endLine": 858,
+                  "endColumn": 28,
+                  "byteLength": 16
                 }
               }
             }
@@ -13781,7 +16990,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "cannot_allocate." },
+          "message": { "text": "assigns clause in function realpath." },
           "locations": [
             {
               "physicalLocation": {
@@ -13790,11 +16999,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 478,
-                  "startColumn": 30,
-                  "endLine": 478,
-                  "endColumn": 57,
-                  "byteLength": 27
+                  "startLine": 843,
+                  "startColumn": 10,
+                  "endLine": 843,
+                  "endColumn": 26,
+                  "byteLength": 16
                 }
               }
             }
@@ -13804,7 +17013,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "allocation." },
+          "message": { "text": "assigns clause in function realpath." },
           "locations": [
             {
               "physicalLocation": {
@@ -13813,11 +17022,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 468,
-                  "startColumn": 25,
-                  "endLine": 468,
-                  "endColumn": 54,
-                  "byteLength": 29
+                  "startLine": 884,
+                  "startColumn": 12,
+                  "endLine": 884,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -13827,7 +17036,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "freed." },
+          "message": { "text": "assigns clause in function realpath." },
           "locations": [
             {
               "physicalLocation": {
@@ -13836,11 +17045,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 474,
-                  "startColumn": 20,
-                  "endLine": 474,
-                  "endColumn": 35,
-                  "byteLength": 15
+                  "startLine": 890,
+                  "startColumn": 13,
+                  "endLine": 890,
+                  "endColumn": 21,
+                  "byteLength": 8
                 }
               }
             }
@@ -13850,7 +17059,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "freeable." },
+          "message": { "text": "assigns clause in function realpath." },
           "locations": [
             {
               "physicalLocation": {
@@ -13859,11 +17068,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 475,
-                  "startColumn": 23,
-                  "endLine": 475,
-                  "endColumn": 61,
-                  "byteLength": 38
+                  "startLine": 851,
+                  "startColumn": 12,
+                  "endLine": 851,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -13873,7 +17082,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "null_result." },
+          "message": { "text": "assigns clause in function realpath." },
           "locations": [
             {
               "physicalLocation": {
@@ -13882,11 +17091,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 483,
-                  "startColumn": 26,
-                  "endLine": 483,
-                  "endColumn": 42,
-                  "byteLength": 16
+                  "startLine": 874,
+                  "startColumn": 12,
+                  "endLine": 874,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -13896,7 +17105,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function reallocarray." },
+          "message": {
+            "text": "from clause of term __fc_heap_status in function realpath."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -13905,10 +17116,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 460,
-                  "startColumn": 11,
-                  "endLine": 460,
-                  "endColumn": 27,
+                  "startLine": 858,
+                  "startColumn": 12,
+                  "endLine": 858,
+                  "endColumn": 28,
                   "byteLength": 16
                 }
               }
@@ -13919,7 +17130,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function reallocarray." },
+          "message": {
+            "text": "from clause of term \\result in function realpath."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -13928,11 +17141,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 489,
-                  "startColumn": 13,
-                  "endLine": 489,
-                  "endColumn": 25,
-                  "byteLength": 12
+                  "startLine": 859,
+                  "startColumn": 12,
+                  "endLine": 859,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -13943,7 +17156,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term __fc_heap_status in function reallocarray."
+            "text": "from clause of term __fc_heap_status in function realpath."
           },
           "locations": [
             {
@@ -13953,10 +17166,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 460,
-                  "startColumn": 11,
-                  "endLine": 460,
-                  "endColumn": 27,
+                  "startLine": 843,
+                  "startColumn": 10,
+                  "endLine": 843,
+                  "endColumn": 26,
                   "byteLength": 16
                 }
               }
@@ -13968,7 +17181,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function reallocarray."
+            "text": "from clause of term *(\\result + (0 .. 4096 - 1)) in function realpath."
           },
           "locations": [
             {
@@ -13978,11 +17191,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 462,
-                  "startColumn": 11,
-                  "endLine": 462,
-                  "endColumn": 18,
-                  "byteLength": 7
+                  "startLine": 844,
+                  "startColumn": 10,
+                  "endLine": 844,
+                  "endColumn": 31,
+                  "byteLength": 21
                 }
               }
             }
@@ -13993,7 +17206,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function reallocarray."
+            "text": "from clause of term *(resolved_name + (0 .. 4096 - 1)) in function realpath."
           },
           "locations": [
             {
@@ -14003,11 +17216,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 481,
-                  "startColumn": 13,
-                  "endLine": 481,
-                  "endColumn": 20,
-                  "byteLength": 7
+                  "startLine": 844,
+                  "startColumn": 33,
+                  "endLine": 844,
+                  "endColumn": 60,
+                  "byteLength": 27
                 }
               }
             }
@@ -14018,7 +17231,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "allocates/frees clause in function reallocarray."
+            "text": "from clause of term __fc_errno in function realpath."
           },
           "locations": [
             {
@@ -14028,11 +17241,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 467,
-                  "startColumn": 15,
-                  "endLine": 467,
-                  "endColumn": 22,
-                  "byteLength": 7
+                  "startLine": 846,
+                  "startColumn": 10,
+                  "endLine": 846,
+                  "endColumn": 20,
+                  "byteLength": 10
                 }
               }
             }
@@ -14043,7 +17256,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "allocates/frees clause in function reallocarray."
+            "text": "from clause of term \\result in function realpath."
           },
           "locations": [
             {
@@ -14053,11 +17266,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 473,
-                  "startColumn": 11,
-                  "endLine": 473,
-                  "endColumn": 14,
-                  "byteLength": 3
+                  "startLine": 884,
+                  "startColumn": 12,
+                  "endLine": 884,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -14068,7 +17281,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "allocates/frees clause in function reallocarray."
+            "text": "from clause of term __fc_errno in function realpath."
           },
           "locations": [
             {
@@ -14078,11 +17291,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 459,
-                  "startColumn": 9,
-                  "endLine": 459,
-                  "endColumn": 12,
-                  "byteLength": 3
+                  "startLine": 884,
+                  "startColumn": 21,
+                  "endLine": 884,
+                  "endColumn": 31,
+                  "byteLength": 10
                 }
               }
             }
@@ -14093,7 +17306,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "allocates/frees clause in function reallocarray."
+            "text": "from clause of term \\result in function realpath."
           },
           "locations": [
             {
@@ -14103,11 +17316,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 489,
-                  "startColumn": 13,
-                  "endLine": 489,
-                  "endColumn": 25,
-                  "byteLength": 12
+                  "startLine": 866,
+                  "startColumn": 12,
+                  "endLine": 866,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -14117,7 +17330,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "complete clause in function reallocarray." },
+          "message": {
+            "text": "from clause of term \\result in function realpath."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -14126,11 +17341,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 489,
-                  "startColumn": 13,
-                  "endLine": 489,
-                  "endColumn": 25,
-                  "byteLength": 12
+                  "startLine": 851,
+                  "startColumn": 12,
+                  "endLine": 851,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -14140,7 +17355,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "disjoint clause in function reallocarray." },
+          "message": {
+            "text": "from clause of term __fc_errno in function realpath."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -14149,11 +17366,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 489,
-                  "startColumn": 13,
-                  "endLine": 489,
-                  "endColumn": 25,
-                  "byteLength": 12
+                  "startLine": 851,
+                  "startColumn": 21,
+                  "endLine": 851,
+                  "endColumn": 31,
+                  "byteLength": 10
                 }
               }
             }
@@ -14163,7 +17380,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "disjoint clause in function reallocarray." },
+          "message": {
+            "text": "from clause of term \\result in function realpath."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -14172,11 +17391,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 489,
-                  "startColumn": 13,
-                  "endLine": 489,
-                  "endColumn": 25,
-                  "byteLength": 12
+                  "startLine": 874,
+                  "startColumn": 12,
+                  "endLine": 874,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -14187,7 +17406,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "behavior allocate_resolved_name in function realpath."
+            "text": "from clause of term *(resolved_name + (0 .. 4096 - 1)) in function realpath."
           },
           "locations": [
             {
@@ -14197,11 +17416,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 807,
-                  "startColumn": 13,
-                  "endLine": 807,
-                  "endColumn": 21,
-                  "byteLength": 8
+                  "startLine": 875,
+                  "startColumn": 12,
+                  "endLine": 875,
+                  "endColumn": 39,
+                  "byteLength": 27
                 }
               }
             }
@@ -14211,7 +17430,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function realpath." },
+          "message": {
+            "text": "allocates/frees clause in function realpath."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -14220,9 +17441,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 807,
+                  "startLine": 890,
                   "startColumn": 13,
-                  "endLine": 807,
+                  "endLine": 890,
                   "endColumn": 21,
                   "byteLength": 8
                 }
@@ -14235,7 +17456,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "behavior filesystem_error in function realpath."
+            "text": "allocates/frees clause in function realpath."
           },
           "locations": [
             {
@@ -14245,9 +17466,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 807,
+                  "startLine": 890,
                   "startColumn": 13,
-                  "endLine": 807,
+                  "endLine": 890,
                   "endColumn": 21,
                   "byteLength": 8
                 }
@@ -14260,7 +17481,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "behavior not_enough_memory in function realpath."
+            "text": "allocates/frees clause in function realpath."
           },
           "locations": [
             {
@@ -14270,9 +17491,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 807,
+                  "startLine": 890,
                   "startColumn": 13,
-                  "endLine": 807,
+                  "endLine": 890,
                   "endColumn": 21,
                   "byteLength": 8
                 }
@@ -14284,9 +17505,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "behavior null_file_name in function realpath."
-          },
+          "message": { "text": "behavior default! in function seed48." },
           "locations": [
             {
               "physicalLocation": {
@@ -14295,11 +17514,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 807,
-                  "startColumn": 13,
-                  "endLine": 807,
-                  "endColumn": 21,
-                  "byteLength": 8
+                  "startLine": 335,
+                  "startColumn": 23,
+                  "endLine": 335,
+                  "endColumn": 29,
+                  "byteLength": 6
                 }
               }
             }
@@ -14309,9 +17528,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "behavior resolved_name_buffer in function realpath."
-          },
+          "message": { "text": "valid_seed16v." },
           "locations": [
             {
               "physicalLocation": {
@@ -14320,11 +17537,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 807,
-                  "startColumn": 13,
-                  "endLine": 807,
-                  "endColumn": 21,
-                  "byteLength": 8
+                  "startLine": 327,
+                  "startColumn": 26,
+                  "endLine": 327,
+                  "endColumn": 48,
+                  "byteLength": 22
                 }
               }
             }
@@ -14334,7 +17551,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_file_name_or_null." },
+          "message": { "text": "initialization." },
           "locations": [
             {
               "physicalLocation": {
@@ -14343,11 +17560,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 757,
-                  "startColumn": 4,
-                  "endLine": 757,
-                  "endColumn": 54,
-                  "byteLength": 50
+                  "startLine": 328,
+                  "startColumn": 47,
+                  "endLine": 328,
+                  "endColumn": 75,
+                  "byteLength": 28
                 }
               }
             }
@@ -14357,7 +17574,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "resolved_name_null_or_allocated." },
+          "message": { "text": "random48_initialized." },
           "locations": [
             {
               "physicalLocation": {
@@ -14366,11 +17583,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 759,
-                  "startColumn": 4,
-                  "endLine": 759,
-                  "endColumn": 66,
-                  "byteLength": 62
+                  "startLine": 332,
+                  "startColumn": 32,
+                  "endLine": 332,
+                  "endColumn": 55,
+                  "byteLength": 23
                 }
               }
             }
@@ -14380,7 +17597,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "null_file_name." },
+          "message": { "text": "result_counter." },
           "locations": [
             {
               "physicalLocation": {
@@ -14389,11 +17606,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 767,
-                  "startColumn": 28,
-                  "endLine": 767,
-                  "endColumn": 46,
-                  "byteLength": 18
+                  "startLine": 333,
+                  "startColumn": 26,
+                  "endLine": 333,
+                  "endColumn": 60,
+                  "byteLength": 34
                 }
               }
             }
@@ -14403,7 +17620,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_file_name." },
+          "message": { "text": "assigns clause in function seed48." },
           "locations": [
             {
               "physicalLocation": {
@@ -14412,11 +17629,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 772,
-                  "startColumn": 29,
-                  "endLine": 772,
-                  "endColumn": 57,
-                  "byteLength": 28
+                  "startLine": 329,
+                  "startColumn": 10,
+                  "endLine": 329,
+                  "endColumn": 37,
+                  "byteLength": 27
                 }
               }
             }
@@ -14426,7 +17643,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "resolved_name_null." },
+          "message": {
+            "text": "from clause of term __fc_random48_counter[0 .. 2] in function seed48."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -14435,11 +17654,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 773,
-                  "startColumn": 32,
-                  "endLine": 773,
-                  "endColumn": 54,
-                  "byteLength": 22
+                  "startLine": 329,
+                  "startColumn": 10,
+                  "endLine": 329,
+                  "endColumn": 37,
+                  "byteLength": 27
                 }
               }
             }
@@ -14449,7 +17668,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "can_allocate." },
+          "message": {
+            "text": "from clause of term __fc_random48_init in function seed48."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -14458,10 +17679,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 774,
-                  "startColumn": 26,
-                  "endLine": 774,
-                  "endColumn": 44,
+                  "startLine": 330,
+                  "startColumn": 10,
+                  "endLine": 330,
+                  "endColumn": 28,
                   "byteLength": 18
                 }
               }
@@ -14472,7 +17693,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_file_name." },
+          "message": {
+            "text": "from clause of term \\result in function seed48."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -14481,11 +17704,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 779,
-                  "startColumn": 29,
-                  "endLine": 779,
-                  "endColumn": 57,
-                  "byteLength": 28
+                  "startLine": 331,
+                  "startColumn": 10,
+                  "endLine": 331,
+                  "endColumn": 17,
+                  "byteLength": 7
                 }
               }
             }
@@ -14495,7 +17718,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "resolved_name_null." },
+          "message": { "text": "behavior default! in function setenv." },
           "locations": [
             {
               "physicalLocation": {
@@ -14504,11 +17727,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 780,
-                  "startColumn": 32,
-                  "endLine": 780,
-                  "endColumn": 54,
-                  "byteLength": 22
+                  "startLine": 611,
+                  "startColumn": 11,
+                  "endLine": 611,
+                  "endColumn": 17,
+                  "byteLength": 6
                 }
               }
             }
@@ -14518,7 +17741,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "cannot_allocate." },
+          "message": { "text": "behavior invalid_name in function setenv." },
           "locations": [
             {
               "physicalLocation": {
@@ -14527,11 +17750,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 781,
-                  "startColumn": 29,
-                  "endLine": 781,
-                  "endColumn": 48,
-                  "byteLength": 19
+                  "startLine": 611,
+                  "startColumn": 11,
+                  "endLine": 611,
+                  "endColumn": 17,
+                  "byteLength": 6
                 }
               }
             }
@@ -14541,7 +17764,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_file_name." },
+          "message": { "text": "behavior ok in function setenv." },
           "locations": [
             {
               "physicalLocation": {
@@ -14550,11 +17773,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 787,
-                  "startColumn": 29,
-                  "endLine": 787,
-                  "endColumn": 57,
-                  "byteLength": 28
+                  "startLine": 611,
+                  "startColumn": 11,
+                  "endLine": 611,
+                  "endColumn": 17,
+                  "byteLength": 6
                 }
               }
             }
@@ -14564,7 +17787,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "allocated_resolved_name_or_fail." },
+          "message": { "text": "behavior out_of_memory in function setenv." },
           "locations": [
             {
               "physicalLocation": {
@@ -14573,11 +17796,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 789,
-                  "startColumn": 6,
-                  "endLine": 789,
-                  "endColumn": 42,
-                  "byteLength": 36
+                  "startLine": 611,
+                  "startColumn": 11,
+                  "endLine": 611,
+                  "endColumn": 17,
+                  "byteLength": 6
                 }
               }
             }
@@ -14587,7 +17810,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_file_name." },
+          "message": { "text": "valid_name." },
           "locations": [
             {
               "physicalLocation": {
@@ -14596,11 +17819,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 799,
-                  "startColumn": 29,
-                  "endLine": 799,
-                  "endColumn": 57,
-                  "byteLength": 28
+                  "startLine": 570,
+                  "startColumn": 23,
+                  "endLine": 570,
+                  "endColumn": 46,
+                  "byteLength": 23
                 }
               }
             }
@@ -14610,7 +17833,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "null_result." },
+          "message": { "text": "valid_value." },
           "locations": [
             {
               "physicalLocation": {
@@ -14619,11 +17842,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 769,
-                  "startColumn": 25,
-                  "endLine": 769,
-                  "endColumn": 41,
-                  "byteLength": 16
+                  "startLine": 571,
+                  "startColumn": 24,
+                  "endLine": 571,
+                  "endColumn": 48,
+                  "byteLength": 24
                 }
               }
             }
@@ -14633,7 +17856,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "errno_set." },
+          "message": { "text": "name_empty_or_with_equals_sign." },
           "locations": [
             {
               "physicalLocation": {
@@ -14642,11 +17865,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 770,
-                  "startColumn": 23,
-                  "endLine": 770,
-                  "endColumn": 39,
-                  "byteLength": 16
+                  "startLine": 583,
+                  "startColumn": 6,
+                  "endLine": 583,
+                  "endColumn": 44,
+                  "byteLength": 38
                 }
               }
             }
@@ -14656,7 +17879,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "allocation." },
+          "message": { "text": "not_enough_memory." },
           "locations": [
             {
               "physicalLocation": {
@@ -14665,11 +17888,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 777,
-                  "startColumn": 24,
-                  "endLine": 777,
-                  "endColumn": 44,
-                  "byteLength": 20
+                  "startLine": 590,
+                  "startColumn": 31,
+                  "endLine": 590,
+                  "endColumn": 78,
+                  "byteLength": 47
                 }
               }
             }
@@ -14679,7 +17902,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "null_result." },
+          "message": { "text": "name_not_empty." },
           "locations": [
             {
               "physicalLocation": {
@@ -14688,10 +17911,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 784,
-                  "startColumn": 25,
-                  "endLine": 784,
-                  "endColumn": 41,
+                  "startLine": 598,
+                  "startColumn": 28,
+                  "endLine": 598,
+                  "endColumn": 44,
                   "byteLength": 16
                 }
               }
@@ -14702,7 +17925,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "errno_set." },
+          "message": { "text": "name_has_no_equals_sign." },
           "locations": [
             {
               "physicalLocation": {
@@ -14711,11 +17934,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 785,
-                  "startColumn": 23,
-                  "endLine": 785,
-                  "endColumn": 39,
-                  "byteLength": 16
+                  "startLine": 599,
+                  "startColumn": 37,
+                  "endLine": 599,
+                  "endColumn": 55,
+                  "byteLength": 18
                 }
               }
             }
@@ -14725,7 +17948,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_string_resolved_name." },
+          "message": { "text": "enough_memory." },
           "locations": [
             {
               "physicalLocation": {
@@ -14734,11 +17957,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 792,
-                  "startColumn": 40,
-                  "endLine": 793,
-                  "endColumn": 71,
-                  "byteLength": 99
+                  "startLine": 600,
+                  "startColumn": 27,
+                  "endLine": 600,
+                  "endColumn": 73,
+                  "byteLength": 46
                 }
               }
             }
@@ -14748,7 +17971,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "resolved_result." },
+          "message": { "text": "result_ok_or_error." },
           "locations": [
             {
               "physicalLocation": {
@@ -14757,11 +17980,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 796,
-                  "startColumn": 29,
-                  "endLine": 796,
-                  "endColumn": 53,
-                  "byteLength": 24
+                  "startLine": 580,
+                  "startColumn": 30,
+                  "endLine": 580,
+                  "endColumn": 59,
+                  "byteLength": 29
                 }
               }
             }
@@ -14771,7 +17994,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "null_result." },
+          "message": { "text": "error." },
           "locations": [
             {
               "physicalLocation": {
@@ -14780,11 +18003,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 802,
-                  "startColumn": 25,
-                  "endLine": 802,
-                  "endColumn": 41,
-                  "byteLength": 16
+                  "startLine": 587,
+                  "startColumn": 19,
+                  "endLine": 587,
+                  "endColumn": 32,
+                  "byteLength": 13
                 }
               }
             }
@@ -14803,11 +18026,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 804,
-                  "startColumn": 6,
-                  "endLine": 804,
-                  "endColumn": 43,
-                  "byteLength": 37
+                  "startLine": 588,
+                  "startColumn": 23,
+                  "endLine": 588,
+                  "endColumn": 39,
+                  "byteLength": 16
                 }
               }
             }
@@ -14817,7 +18040,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function realpath." },
+          "message": { "text": "error." },
           "locations": [
             {
               "physicalLocation": {
@@ -14826,11 +18049,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 775,
-                  "startColumn": 12,
-                  "endLine": 775,
-                  "endColumn": 28,
-                  "byteLength": 16
+                  "startLine": 595,
+                  "startColumn": 19,
+                  "endLine": 595,
+                  "endColumn": 32,
+                  "byteLength": 13
                 }
               }
             }
@@ -14840,7 +18063,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function realpath." },
+          "message": { "text": "errno_set." },
           "locations": [
             {
               "physicalLocation": {
@@ -14849,10 +18072,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 760,
-                  "startColumn": 10,
-                  "endLine": 760,
-                  "endColumn": 26,
+                  "startLine": 596,
+                  "startColumn": 23,
+                  "endLine": 596,
+                  "endColumn": 39,
                   "byteLength": 16
                 }
               }
@@ -14863,7 +18086,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function realpath." },
+          "message": { "text": "ok." },
           "locations": [
             {
               "physicalLocation": {
@@ -14872,11 +18095,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 800,
-                  "startColumn": 12,
-                  "endLine": 800,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "startLine": 609,
+                  "startColumn": 16,
+                  "endLine": 609,
+                  "endColumn": 28,
+                  "byteLength": 12
                 }
               }
             }
@@ -14886,7 +18109,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function realpath." },
+          "message": { "text": "assigns clause in function setenv." },
           "locations": [
             {
               "physicalLocation": {
@@ -14895,11 +18118,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 807,
-                  "startColumn": 13,
-                  "endLine": 807,
-                  "endColumn": 21,
-                  "byteLength": 8
+                  "startLine": 573,
+                  "startColumn": 10,
+                  "endLine": 573,
+                  "endColumn": 17,
+                  "byteLength": 7
                 }
               }
             }
@@ -14909,7 +18132,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function realpath." },
+          "message": { "text": "assigns clause in function setenv." },
           "locations": [
             {
               "physicalLocation": {
@@ -14918,9 +18141,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 768,
+                  "startLine": 585,
                   "startColumn": 12,
-                  "endLine": 768,
+                  "endLine": 585,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -14932,7 +18155,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function realpath." },
+          "message": { "text": "assigns clause in function setenv." },
           "locations": [
             {
               "physicalLocation": {
@@ -14941,9 +18164,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 790,
+                  "startLine": 602,
                   "startColumn": 12,
-                  "endLine": 790,
+                  "endLine": 602,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -14955,9 +18178,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term __fc_heap_status in function realpath."
-          },
+          "message": { "text": "assigns clause in function setenv." },
           "locations": [
             {
               "physicalLocation": {
@@ -14966,11 +18187,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 775,
+                  "startLine": 592,
                   "startColumn": 12,
-                  "endLine": 775,
-                  "endColumn": 28,
-                  "byteLength": 16
+                  "endLine": 592,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -14981,7 +18202,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function realpath."
+            "text": "from clause of term \\result in function setenv."
           },
           "locations": [
             {
@@ -14991,10 +18212,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 776,
-                  "startColumn": 12,
-                  "endLine": 776,
-                  "endColumn": 19,
+                  "startLine": 573,
+                  "startColumn": 10,
+                  "endLine": 573,
+                  "endColumn": 17,
                   "byteLength": 7
                 }
               }
@@ -15006,7 +18227,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term __fc_heap_status in function realpath."
+            "text": "from clause of term __fc_env[0 ..] in function setenv."
           },
           "locations": [
             {
@@ -15016,11 +18237,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 760,
-                  "startColumn": 10,
-                  "endLine": 760,
-                  "endColumn": 26,
-                  "byteLength": 16
+                  "startLine": 573,
+                  "startColumn": 19,
+                  "endLine": 573,
+                  "endColumn": 32,
+                  "byteLength": 13
                 }
               }
             }
@@ -15031,7 +18252,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term *(\\result + (0 .. 4096 - 1)) in function realpath."
+            "text": "from clause of term *(__fc_env[0 ..] + (0 ..)) in function setenv."
           },
           "locations": [
             {
@@ -15041,11 +18262,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 761,
+                  "startLine": 576,
                   "startColumn": 10,
-                  "endLine": 761,
-                  "endColumn": 31,
-                  "byteLength": 21
+                  "endLine": 576,
+                  "endColumn": 28,
+                  "byteLength": 18
                 }
               }
             }
@@ -15056,7 +18277,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term *(resolved_name + (0 .. 4096 - 1)) in function realpath."
+            "text": "from clause of term \\result in function setenv."
           },
           "locations": [
             {
@@ -15066,11 +18287,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 761,
-                  "startColumn": 33,
-                  "endLine": 761,
-                  "endColumn": 60,
-                  "byteLength": 27
+                  "startLine": 585,
+                  "startColumn": 12,
+                  "endLine": 585,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -15081,7 +18302,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term __fc_errno in function realpath."
+            "text": "from clause of term __fc_errno in function setenv."
           },
           "locations": [
             {
@@ -15091,10 +18312,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 763,
-                  "startColumn": 10,
-                  "endLine": 763,
-                  "endColumn": 20,
+                  "startLine": 586,
+                  "startColumn": 12,
+                  "endLine": 586,
+                  "endColumn": 22,
                   "byteLength": 10
                 }
               }
@@ -15106,7 +18327,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function realpath."
+            "text": "from clause of term \\result in function setenv."
           },
           "locations": [
             {
@@ -15116,9 +18337,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 800,
+                  "startLine": 602,
                   "startColumn": 12,
-                  "endLine": 800,
+                  "endLine": 602,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -15131,7 +18352,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term __fc_errno in function realpath."
+            "text": "from clause of term __fc_env[0 ..] in function setenv."
           },
           "locations": [
             {
@@ -15141,11 +18362,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 800,
+                  "startLine": 602,
                   "startColumn": 21,
-                  "endLine": 800,
-                  "endColumn": 31,
-                  "byteLength": 10
+                  "endLine": 602,
+                  "endColumn": 34,
+                  "byteLength": 13
                 }
               }
             }
@@ -15156,7 +18377,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function realpath."
+            "text": "from clause of term *(__fc_env[0 ..] + (0 ..)) in function setenv."
           },
           "locations": [
             {
@@ -15166,11 +18387,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 782,
+                  "startLine": 605,
                   "startColumn": 12,
-                  "endLine": 782,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "endLine": 605,
+                  "endColumn": 30,
+                  "byteLength": 18
                 }
               }
             }
@@ -15181,7 +18402,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function realpath."
+            "text": "from clause of term \\result in function setenv."
           },
           "locations": [
             {
@@ -15191,9 +18412,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 768,
+                  "startLine": 592,
                   "startColumn": 12,
-                  "endLine": 768,
+                  "endLine": 592,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -15206,7 +18427,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term __fc_errno in function realpath."
+            "text": "from clause of term __fc_errno in function setenv."
           },
           "locations": [
             {
@@ -15216,9 +18437,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 768,
+                  "startLine": 592,
                   "startColumn": 21,
-                  "endLine": 768,
+                  "endLine": 592,
                   "endColumn": 31,
                   "byteLength": 10
                 }
@@ -15230,9 +18451,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function realpath."
-          },
+          "message": { "text": "allocates/frees clause in function setenv." },
           "locations": [
             {
               "physicalLocation": {
@@ -15241,11 +18460,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 790,
+                  "startLine": 572,
                   "startColumn": 12,
-                  "endLine": 790,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "endLine": 572,
+                  "endColumn": 25,
+                  "byteLength": 13
                 }
               }
             }
@@ -15255,9 +18474,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term *(resolved_name + (0 .. 4096 - 1)) in function realpath."
-          },
+          "message": { "text": "allocates/frees clause in function setenv." },
           "locations": [
             {
               "physicalLocation": {
@@ -15266,11 +18483,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 791,
-                  "startColumn": 12,
-                  "endLine": 791,
-                  "endColumn": 39,
-                  "byteLength": 27
+                  "startLine": 611,
+                  "startColumn": 11,
+                  "endLine": 611,
+                  "endColumn": 17,
+                  "byteLength": 6
                 }
               }
             }
@@ -15280,9 +18497,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "allocates/frees clause in function realpath."
-          },
+          "message": { "text": "allocates/frees clause in function setenv." },
           "locations": [
             {
               "physicalLocation": {
@@ -15291,11 +18506,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 807,
-                  "startColumn": 13,
-                  "endLine": 807,
-                  "endColumn": 21,
-                  "byteLength": 8
+                  "startLine": 601,
+                  "startColumn": 14,
+                  "endLine": 601,
+                  "endColumn": 27,
+                  "byteLength": 13
                 }
               }
             }
@@ -15305,9 +18520,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "allocates/frees clause in function realpath."
-          },
+          "message": { "text": "allocates/frees clause in function setenv." },
           "locations": [
             {
               "physicalLocation": {
@@ -15316,11 +18529,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 807,
-                  "startColumn": 13,
-                  "endLine": 807,
-                  "endColumn": 21,
-                  "byteLength": 8
+                  "startLine": 611,
+                  "startColumn": 11,
+                  "endLine": 611,
+                  "endColumn": 17,
+                  "byteLength": 6
                 }
               }
             }
@@ -15330,9 +18543,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "allocates/frees clause in function realpath."
-          },
+          "message": { "text": "behavior default! in function srand." },
           "locations": [
             {
               "physicalLocation": {
@@ -15341,11 +18552,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 807,
-                  "startColumn": 13,
-                  "endLine": 807,
-                  "endColumn": 21,
-                  "byteLength": 8
+                  "startLine": 302,
+                  "startColumn": 12,
+                  "endLine": 302,
+                  "endColumn": 17,
+                  "byteLength": 5
                 }
               }
             }
@@ -15355,7 +18566,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function seed48." },
+          "message": { "text": "assigns clause in function srand." },
           "locations": [
             {
               "physicalLocation": {
@@ -15364,11 +18575,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 308,
-                  "startColumn": 23,
-                  "endLine": 308,
-                  "endColumn": 29,
-                  "byteLength": 6
+                  "startLine": 301,
+                  "startColumn": 12,
+                  "endLine": 301,
+                  "endColumn": 31,
+                  "byteLength": 19
                 }
               }
             }
@@ -15378,7 +18589,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "initialization." },
+          "message": {
+            "text": "from clause of term __fc_random_counter in function srand."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -15388,10 +18601,33 @@
                 },
                 "region": {
                   "startLine": 301,
-                  "startColumn": 47,
+                  "startColumn": 12,
                   "endLine": 301,
-                  "endColumn": 75,
-                  "byteLength": 28
+                  "endColumn": 31,
+                  "byteLength": 19
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "behavior default! in function srand48." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/stdlib.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 324,
+                  "startColumn": 12,
+                  "endLine": 324,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -15410,9 +18646,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 305,
+                  "startLine": 322,
                   "startColumn": 32,
-                  "endLine": 305,
+                  "endLine": 322,
                   "endColumn": 55,
                   "byteLength": 23
                 }
@@ -15424,7 +18660,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_counter." },
+          "message": { "text": "assigns clause in function srand48." },
           "locations": [
             {
               "physicalLocation": {
@@ -15433,11 +18669,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 306,
-                  "startColumn": 26,
-                  "endLine": 306,
-                  "endColumn": 60,
-                  "byteLength": 34
+                  "startLine": 320,
+                  "startColumn": 10,
+                  "endLine": 320,
+                  "endColumn": 37,
+                  "byteLength": 27
                 }
               }
             }
@@ -15447,7 +18683,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function seed48." },
+          "message": {
+            "text": "from clause of term __fc_random48_counter[0 .. 2] in function srand48."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -15456,9 +18694,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 302,
+                  "startLine": 320,
                   "startColumn": 10,
-                  "endLine": 302,
+                  "endLine": 320,
                   "endColumn": 37,
                   "byteLength": 27
                 }
@@ -15471,7 +18709,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term __fc_random48_counter[0 .. 2] in function seed48."
+            "text": "from clause of term __fc_random48_init in function srand48."
           },
           "locations": [
             {
@@ -15481,11 +18719,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 302,
+                  "startLine": 321,
                   "startColumn": 10,
-                  "endLine": 302,
-                  "endColumn": 37,
-                  "byteLength": 27
+                  "endLine": 321,
+                  "endColumn": 28,
+                  "byteLength": 18
                 }
               }
             }
@@ -15495,9 +18733,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term __fc_random48_init in function seed48."
-          },
+          "message": { "text": "behavior default! in function srandom." },
           "locations": [
             {
               "physicalLocation": {
@@ -15506,11 +18742,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 303,
-                  "startColumn": 10,
-                  "endLine": 303,
-                  "endColumn": 28,
-                  "byteLength": 18
+                  "startLine": 311,
+                  "startColumn": 12,
+                  "endLine": 311,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -15520,9 +18756,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function seed48."
-          },
+          "message": { "text": "assigns clause in function srandom." },
           "locations": [
             {
               "physicalLocation": {
@@ -15531,11 +18765,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 304,
-                  "startColumn": 10,
-                  "endLine": 304,
-                  "endColumn": 17,
-                  "byteLength": 7
+                  "startLine": 310,
+                  "startColumn": 12,
+                  "endLine": 310,
+                  "endColumn": 31,
+                  "byteLength": 19
                 }
               }
             }
@@ -15545,7 +18779,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function setenv." },
+          "message": {
+            "text": "from clause of term __fc_random_counter in function srandom."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -15554,11 +18790,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 543,
-                  "startColumn": 11,
-                  "endLine": 543,
-                  "endColumn": 17,
-                  "byteLength": 6
+                  "startLine": 310,
+                  "startColumn": 12,
+                  "endLine": 310,
+                  "endColumn": 31,
+                  "byteLength": 19
                 }
               }
             }
@@ -15568,20 +18804,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_name." },
+          "message": { "text": "behavior default! in function stpcpy." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/string.c",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 536,
-                  "startColumn": 23,
-                  "endLine": 536,
-                  "endColumn": 46,
-                  "byteLength": 23
+                  "startLine": 233,
+                  "startColumn": 6,
+                  "endLine": 240,
+                  "endColumn": 1,
+                  "byteLength": 139
                 }
               }
             }
@@ -15591,20 +18827,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_value." },
+          "message": { "text": "valid_string_src." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/string.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 537,
-                  "startColumn": 24,
-                  "endLine": 537,
-                  "endColumn": 48,
-                  "byteLength": 24
+                  "startLine": 464,
+                  "startColumn": 31,
+                  "endLine": 464,
+                  "endColumn": 53,
+                  "byteLength": 22
                 }
               }
             }
@@ -15614,19 +18850,19 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_ok_or_error." },
+          "message": { "text": "room_string." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/string.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 541,
-                  "startColumn": 30,
-                  "endLine": 541,
-                  "endColumn": 59,
+                  "startLine": 465,
+                  "startColumn": 26,
+                  "endLine": 465,
+                  "endColumn": 55,
                   "byteLength": 29
                 }
               }
@@ -15637,20 +18873,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function setenv." },
+          "message": { "text": "separation." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/string.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 538,
-                  "startColumn": 10,
-                  "endLine": 538,
-                  "endColumn": 17,
-                  "byteLength": 7
+                  "startLine": 467,
+                  "startColumn": 4,
+                  "endLine": 467,
+                  "endColumn": 59,
+                  "byteLength": 55
                 }
               }
             }
@@ -15660,22 +18896,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function setenv."
-          },
+          "message": { "text": "equal_contents." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/string.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 538,
-                  "startColumn": 10,
-                  "endLine": 538,
-                  "endColumn": 17,
-                  "byteLength": 7
+                  "startLine": 470,
+                  "startColumn": 28,
+                  "endLine": 470,
+                  "endColumn": 49,
+                  "byteLength": 21
                 }
               }
             }
@@ -15685,22 +18919,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term __fc_env[0 ..] in function setenv."
-          },
+          "message": { "text": "points_to_end." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/string.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 538,
-                  "startColumn": 19,
-                  "endLine": 538,
-                  "endColumn": 32,
-                  "byteLength": 13
+                  "startLine": 471,
+                  "startColumn": 27,
+                  "endLine": 471,
+                  "endColumn": 57,
+                  "byteLength": 30
                 }
               }
             }
@@ -15710,20 +18942,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function srand." },
+          "message": { "text": "assigns clause in function stpcpy." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/string.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 276,
+                  "startLine": 468,
                   "startColumn": 12,
-                  "endLine": 276,
-                  "endColumn": 17,
-                  "byteLength": 5
+                  "endLine": 468,
+                  "endColumn": 32,
+                  "byteLength": 20
                 }
               }
             }
@@ -15733,20 +18965,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function srand." },
+          "message": {
+            "text": "from clause of term *(dest + (0 .. strlen{Old}(src))) in function stpcpy."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/string.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 275,
+                  "startLine": 468,
                   "startColumn": 12,
-                  "endLine": 275,
-                  "endColumn": 31,
-                  "byteLength": 19
+                  "endLine": 468,
+                  "endColumn": 32,
+                  "byteLength": 20
                 }
               }
             }
@@ -15757,21 +18991,21 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term __fc_random_counter in function srand."
+            "text": "from clause of term \\result in function stpcpy."
           },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/string.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 275,
+                  "startLine": 469,
                   "startColumn": 12,
-                  "endLine": 275,
-                  "endColumn": 31,
-                  "byteLength": 19
+                  "endLine": 469,
+                  "endColumn": 19,
+                  "byteLength": 7
                 }
               }
             }
@@ -15781,19 +19015,19 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function srand48." },
+          "message": { "text": "behavior default! in function stpncpy." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/string.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 298,
-                  "startColumn": 12,
-                  "endLine": 298,
-                  "endColumn": 19,
+                  "startLine": 630,
+                  "startColumn": 13,
+                  "endLine": 630,
+                  "endColumn": 20,
                   "byteLength": 7
                 }
               }
@@ -15804,20 +19038,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "random48_initialized." },
+          "message": {
+            "text": "behavior src_is_a_string in function stpncpy."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/string.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 296,
-                  "startColumn": 32,
-                  "endLine": 296,
-                  "endColumn": 55,
-                  "byteLength": 23
+                  "startLine": 630,
+                  "startColumn": 13,
+                  "endLine": 630,
+                  "endColumn": 20,
+                  "byteLength": 7
                 }
               }
             }
@@ -15827,20 +19063,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function srand48." },
+          "message": { "text": "behavior src_too_long in function stpncpy." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/string.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 294,
-                  "startColumn": 10,
-                  "endLine": 294,
-                  "endColumn": 37,
-                  "byteLength": 27
+                  "startLine": 630,
+                  "startColumn": 13,
+                  "endLine": 630,
+                  "endColumn": 20,
+                  "byteLength": 7
                 }
               }
             }
@@ -15850,22 +19086,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term __fc_random48_counter[0 .. 2] in function srand48."
-          },
+          "message": { "text": "valid_string_src." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/string.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 294,
-                  "startColumn": 10,
-                  "endLine": 294,
-                  "endColumn": 37,
-                  "byteLength": 27
+                  "startLine": 612,
+                  "startColumn": 29,
+                  "endLine": 612,
+                  "endColumn": 55,
+                  "byteLength": 26
                 }
               }
             }
@@ -15875,22 +19109,43 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term __fc_random48_init in function srand48."
-          },
+          "message": { "text": "valid_dest." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/string.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 295,
-                  "startColumn": 10,
-                  "endLine": 295,
-                  "endColumn": 28,
-                  "byteLength": 18
+                  "startLine": 613,
+                  "startColumn": 23,
+                  "endLine": 613,
+                  "endColumn": 46,
+                  "byteLength": 23
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "separation." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 614,
+                  "startColumn": 23,
+                  "endLine": 614,
+                  "endColumn": 66,
+                  "byteLength": 43
                 }
               }
             }
@@ -15900,20 +19155,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function srandom." },
+          "message": { "text": "src_has_nul." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/string.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 285,
-                  "startColumn": 12,
-                  "endLine": 285,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "startLine": 619,
+                  "startColumn": 25,
+                  "endLine": 619,
+                  "endColumn": 40,
+                  "byteLength": 15
                 }
               }
             }
@@ -15923,20 +19178,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function srandom." },
+          "message": { "text": "src_no_nul." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/string.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 284,
-                  "startColumn": 12,
-                  "endLine": 284,
-                  "endColumn": 31,
-                  "byteLength": 19
+                  "startLine": 626,
+                  "startColumn": 24,
+                  "endLine": 626,
+                  "endColumn": 69,
+                  "byteLength": 45
                 }
               }
             }
@@ -15946,22 +19201,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term __fc_random_counter in function srandom."
-          },
+          "message": { "text": "initialization." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/stdlib.h",
+                  "uri": "libc/string.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 284,
-                  "startColumn": 12,
-                  "endLine": 284,
-                  "endColumn": 31,
-                  "byteLength": 19
+                  "startLine": 617,
+                  "startColumn": 26,
+                  "endLine": 617,
+                  "endColumn": 55,
+                  "byteLength": 29
                 }
               }
             }
@@ -15971,20 +19224,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function stpcpy." },
+          "message": { "text": "valid_string_dest." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/string.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 230,
-                  "startColumn": 6,
-                  "endLine": 237,
-                  "endColumn": 1,
-                  "byteLength": 139
+                  "startLine": 620,
+                  "startColumn": 31,
+                  "endLine": 620,
+                  "endColumn": 54,
+                  "byteLength": 23
                 }
               }
             }
@@ -15994,7 +19247,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_string_src." },
+          "message": { "text": "same_contents." },
           "locations": [
             {
               "physicalLocation": {
@@ -16003,10 +19256,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 412,
-                  "startColumn": 31,
-                  "endLine": 412,
-                  "endColumn": 53,
+                  "startLine": 621,
+                  "startColumn": 27,
+                  "endLine": 621,
+                  "endColumn": 49,
                   "byteLength": 22
                 }
               }
@@ -16017,7 +19270,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "room_string." },
+          "message": { "text": "dest_nul_padded." },
           "locations": [
             {
               "physicalLocation": {
@@ -16026,11 +19279,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 413,
-                  "startColumn": 26,
-                  "endLine": 413,
-                  "endColumn": 55,
-                  "byteLength": 29
+                  "startLine": 623,
+                  "startColumn": 6,
+                  "endLine": 623,
+                  "endColumn": 62,
+                  "byteLength": 56
                 }
               }
             }
@@ -16040,7 +19293,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "separation." },
+          "message": { "text": "result_points_to_nul." },
           "locations": [
             {
               "physicalLocation": {
@@ -16049,11 +19302,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 415,
-                  "startColumn": 4,
-                  "endLine": 415,
-                  "endColumn": 59,
-                  "byteLength": 55
+                  "startLine": 624,
+                  "startColumn": 34,
+                  "endLine": 624,
+                  "endColumn": 63,
+                  "byteLength": 29
                 }
               }
             }
@@ -16063,7 +19316,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "equal_contents." },
+          "message": { "text": "same_partial_contents." },
           "locations": [
             {
               "physicalLocation": {
@@ -16072,11 +19325,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 418,
-                  "startColumn": 28,
-                  "endLine": 418,
-                  "endColumn": 49,
-                  "byteLength": 21
+                  "startLine": 627,
+                  "startColumn": 35,
+                  "endLine": 627,
+                  "endColumn": 61,
+                  "byteLength": 26
                 }
               }
             }
@@ -16086,7 +19339,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "points_to_end." },
+          "message": { "text": "result_points_to_end." },
           "locations": [
             {
               "physicalLocation": {
@@ -16095,11 +19348,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 419,
-                  "startColumn": 27,
-                  "endLine": 419,
-                  "endColumn": 57,
-                  "byteLength": 30
+                  "startLine": 628,
+                  "startColumn": 34,
+                  "endLine": 628,
+                  "endColumn": 53,
+                  "byteLength": 19
                 }
               }
             }
@@ -16109,7 +19362,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function stpcpy." },
+          "message": { "text": "assigns clause in function stpncpy." },
           "locations": [
             {
               "physicalLocation": {
@@ -16118,11 +19371,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 416,
-                  "startColumn": 12,
-                  "endLine": 416,
-                  "endColumn": 32,
-                  "byteLength": 20
+                  "startLine": 615,
+                  "startColumn": 10,
+                  "endLine": 615,
+                  "endColumn": 24,
+                  "byteLength": 14
                 }
               }
             }
@@ -16133,7 +19386,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term *(dest + (0 .. strlen{Old}(src))) in function stpcpy."
+            "text": "from clause of term *(dest + (0 .. n - 1)) in function stpncpy."
           },
           "locations": [
             {
@@ -16143,11 +19396,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 416,
-                  "startColumn": 12,
-                  "endLine": 416,
-                  "endColumn": 32,
-                  "byteLength": 20
+                  "startLine": 615,
+                  "startColumn": 10,
+                  "endLine": 615,
+                  "endColumn": 24,
+                  "byteLength": 14
                 }
               }
             }
@@ -16158,7 +19411,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function stpcpy."
+            "text": "from clause of term \\result in function stpncpy."
           },
           "locations": [
             {
@@ -16168,10 +19421,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 417,
-                  "startColumn": 12,
-                  "endLine": 417,
-                  "endColumn": 19,
+                  "startLine": 616,
+                  "startColumn": 10,
+                  "endLine": 616,
+                  "endColumn": 17,
                   "byteLength": 7
                 }
               }
@@ -16191,9 +19444,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 183,
+                  "startLine": 186,
                   "startColumn": 4,
-                  "endLine": 193,
+                  "endLine": 196,
                   "endColumn": 1,
                   "byteLength": 284
                 }
@@ -16260,9 +19513,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 183,
+                  "startLine": 186,
                   "startColumn": 4,
-                  "endLine": 193,
+                  "endLine": 196,
                   "endColumn": 1,
                   "byteLength": 284
                 }
@@ -16308,9 +19561,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 255,
+                  "startLine": 281,
                   "startColumn": 13,
-                  "endLine": 255,
+                  "endLine": 281,
                   "endColumn": 23,
                   "byteLength": 10
                 }
@@ -16331,10 +19584,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 247,
-                  "startColumn": 36,
-                  "endLine": 247,
-                  "endColumn": 63,
+                  "startLine": 271,
+                  "startColumn": 34,
+                  "endLine": 271,
+                  "endColumn": 61,
                   "byteLength": 27
                 }
               }
@@ -16354,10 +19607,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 248,
-                  "startColumn": 34,
-                  "endLine": 248,
-                  "endColumn": 59,
+                  "startLine": 272,
+                  "startColumn": 32,
+                  "endLine": 272,
+                  "endColumn": 57,
                   "byteLength": 25
                 }
               }
@@ -16377,11 +19630,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 252,
+                  "startLine": 276,
                   "startColumn": 4,
-                  "endLine": 253,
-                  "endColumn": 65,
-                  "byteLength": 82
+                  "endLine": 278,
+                  "endColumn": 49,
+                  "byteLength": 104
                 }
               }
             }
@@ -16400,9 +19653,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 255,
+                  "startLine": 281,
                   "startColumn": 13,
-                  "endLine": 255,
+                  "endLine": 281,
                   "endColumn": 23,
                   "byteLength": 10
                 }
@@ -16425,10 +19678,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 249,
-                  "startColumn": 12,
-                  "endLine": 249,
-                  "endColumn": 19,
+                  "startLine": 273,
+                  "startColumn": 10,
+                  "endLine": 273,
+                  "endColumn": 17,
                   "byteLength": 7
                 }
               }
@@ -16448,9 +19701,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 195,
+                  "startLine": 198,
                   "startColumn": 6,
-                  "endLine": 204,
+                  "endLine": 207,
                   "endColumn": 1,
                   "byteLength": 172
                 }
@@ -16471,9 +19724,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 424,
+                  "startLine": 476,
                   "startColumn": 31,
-                  "endLine": 424,
+                  "endLine": 476,
                   "endColumn": 53,
                   "byteLength": 22
                 }
@@ -16494,9 +19747,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 425,
+                  "startLine": 477,
                   "startColumn": 32,
-                  "endLine": 425,
+                  "endLine": 477,
                   "endColumn": 50,
                   "byteLength": 18
                 }
@@ -16517,9 +19770,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 426,
+                  "startLine": 478,
                   "startColumn": 26,
-                  "endLine": 426,
+                  "endLine": 478,
                   "endColumn": 70,
                   "byteLength": 44
                 }
@@ -16527,6 +19780,29 @@
             }
           ]
         },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "separation." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 480,
+                  "startColumn": 4,
+                  "endLine": 480,
+                  "endColumn": 72,
+                  "byteLength": 68
+                }
+              }
+            }
+          ]
+        },
         {
           "ruleId": "user-spec",
           "kind": "pass",
@@ -16540,9 +19816,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 429,
+                  "startLine": 483,
                   "startColumn": 28,
-                  "endLine": 429,
+                  "endLine": 483,
                   "endColumn": 76,
                   "byteLength": 48
                 }
@@ -16563,9 +19839,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 432,
+                  "startLine": 486,
                   "startColumn": 4,
-                  "endLine": 432,
+                  "endLine": 486,
                   "endColumn": 60,
                   "byteLength": 56
                 }
@@ -16586,9 +19862,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 433,
+                  "startLine": 487,
                   "startColumn": 34,
-                  "endLine": 433,
+                  "endLine": 487,
                   "endColumn": 77,
                   "byteLength": 43
                 }
@@ -16609,9 +19885,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 434,
+                  "startLine": 488,
                   "startColumn": 24,
-                  "endLine": 434,
+                  "endLine": 488,
                   "endColumn": 39,
                   "byteLength": 15
                 }
@@ -16632,9 +19908,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 427,
+                  "startLine": 481,
                   "startColumn": 12,
-                  "endLine": 427,
+                  "endLine": 481,
                   "endColumn": 58,
                   "byteLength": 46
                 }
@@ -16657,9 +19933,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 427,
+                  "startLine": 481,
                   "startColumn": 12,
-                  "endLine": 427,
+                  "endLine": 481,
                   "endColumn": 58,
                   "byteLength": 46
                 }
@@ -16682,9 +19958,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 430,
+                  "startLine": 484,
                   "startColumn": 12,
-                  "endLine": 430,
+                  "endLine": 484,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -16707,9 +19983,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 198,
+                  "startLine": 201,
                   "startColumn": 13,
-                  "endLine": 198,
+                  "endLine": 201,
                   "endColumn": 25,
                   "byteLength": 12
                 }
@@ -16721,7 +19997,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "error",
-          "message": { "text": "reachability of stmt line 198 in strcat." },
+          "message": { "text": "reachability of stmt line 201 in strcat." },
           "locations": [
             {
               "physicalLocation": {
@@ -16730,9 +20006,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 198,
+                  "startLine": 201,
                   "startColumn": 13,
-                  "endLine": 198,
+                  "endLine": 201,
                   "endColumn": 25,
                   "byteLength": 12
                 }
@@ -16740,29 +20016,6 @@
             }
           ]
         },
-        {
-          "ruleId": "user-spec",
-          "kind": "pass",
-          "level": "none",
-          "message": { "text": "behavior default in function strchr." },
-          "locations": [
-            {
-              "physicalLocation": {
-                "artifactLocation": {
-                  "uri": "libc/string.c",
-                  "uriBaseId": "FRAMAC_SHARE"
-                },
-                "region": {
-                  "startLine": 251,
-                  "startColumn": 6,
-                  "endLine": 258,
-                  "endColumn": 1,
-                  "byteLength": 157
-                }
-              }
-            }
-          ]
-        },
         {
           "ruleId": "user-spec",
           "kind": "pass",
@@ -16776,9 +20029,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 251,
+                  "startLine": 254,
                   "startColumn": 6,
-                  "endLine": 258,
+                  "endLine": 261,
                   "endColumn": 1,
                   "byteLength": 157
                 }
@@ -16799,9 +20052,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 251,
+                  "startLine": 254,
                   "startColumn": 6,
-                  "endLine": 258,
+                  "endLine": 261,
                   "endColumn": 1,
                   "byteLength": 157
                 }
@@ -16822,9 +20075,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 251,
+                  "startLine": 254,
                   "startColumn": 6,
-                  "endLine": 258,
+                  "endLine": 261,
                   "endColumn": 1,
                   "byteLength": 157
                 }
@@ -16845,10 +20098,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 173,
-                  "startColumn": 29,
-                  "endLine": 173,
-                  "endColumn": 49,
+                  "startLine": 193,
+                  "startColumn": 27,
+                  "endLine": 193,
+                  "endColumn": 47,
                   "byteLength": 20
                 }
               }
@@ -16868,9 +20121,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 176,
+                  "startLine": 196,
                   "startColumn": 24,
-                  "endLine": 176,
+                  "endLine": 196,
                   "endColumn": 35,
                   "byteLength": 11
                 }
@@ -16891,9 +20144,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 183,
+                  "startLine": 204,
                   "startColumn": 28,
-                  "endLine": 183,
+                  "endLine": 204,
                   "endColumn": 40,
                   "byteLength": 12
                 }
@@ -16901,6 +20154,29 @@
             }
           ]
         },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "result_valid_string." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 197,
+                  "startColumn": 33,
+                  "endLine": 197,
+                  "endColumn": 59,
+                  "byteLength": 26
+                }
+              }
+            }
+          ]
+        },
         {
           "ruleId": "user-spec",
           "kind": "pass",
@@ -16914,9 +20190,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 177,
+                  "startLine": 198,
                   "startColumn": 25,
-                  "endLine": 177,
+                  "endLine": 198,
                   "endColumn": 44,
                   "byteLength": 19
                 }
@@ -16937,9 +20213,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 178,
+                  "startLine": 199,
                   "startColumn": 30,
-                  "endLine": 178,
+                  "endLine": 199,
                   "endColumn": 66,
                   "byteLength": 36
                 }
@@ -16960,9 +20236,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 179,
+                  "startLine": 200,
                   "startColumn": 30,
-                  "endLine": 179,
+                  "endLine": 200,
                   "endColumn": 59,
                   "byteLength": 29
                 }
@@ -16974,7 +20250,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_valid_string." },
+          "message": { "text": "result_first_occurrence." },
           "locations": [
             {
               "physicalLocation": {
@@ -16983,11 +20259,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 180,
-                  "startColumn": 33,
-                  "endLine": 180,
-                  "endColumn": 59,
-                  "byteLength": 26
+                  "startLine": 202,
+                  "startColumn": 6,
+                  "endLine": 202,
+                  "endColumn": 57,
+                  "byteLength": 51
                 }
               }
             }
@@ -16997,7 +20273,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_first_occur." },
+          "message": { "text": "result_null." },
           "locations": [
             {
               "physicalLocation": {
@@ -17006,11 +20282,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 181,
-                  "startColumn": 32,
-                  "endLine": 181,
-                  "endColumn": 79,
-                  "byteLength": 47
+                  "startLine": 205,
+                  "startColumn": 25,
+                  "endLine": 205,
+                  "endColumn": 41,
+                  "byteLength": 16
                 }
               }
             }
@@ -17020,20 +20296,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_null." },
+          "message": { "text": "assigns clause in function strchr." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/string.c",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 184,
-                  "startColumn": 25,
-                  "endLine": 184,
-                  "endColumn": 41,
-                  "byteLength": 16
+                  "startLine": 254,
+                  "startColumn": 6,
+                  "endLine": 261,
+                  "endColumn": 1,
+                  "byteLength": 157
                 }
               }
             }
@@ -17043,7 +20319,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_null_or_same_base." },
+          "message": {
+            "text": "from clause of term \\result in function strchr."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -17052,11 +20330,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 187,
-                  "startColumn": 4,
-                  "endLine": 187,
-                  "endColumn": 60,
-                  "byteLength": 56
+                  "startLine": 194,
+                  "startColumn": 10,
+                  "endLine": 194,
+                  "endColumn": 17,
+                  "byteLength": 7
                 }
               }
             }
@@ -17066,7 +20344,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function strchr." },
+          "message": { "text": "complete clause in function strchr." },
           "locations": [
             {
               "physicalLocation": {
@@ -17075,9 +20353,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 251,
+                  "startLine": 254,
                   "startColumn": 6,
-                  "endLine": 258,
+                  "endLine": 261,
                   "endColumn": 1,
                   "byteLength": 157
                 }
@@ -17089,22 +20367,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function strchr."
-          },
+          "message": { "text": "disjoint clause in function strchr." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/string.c",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 174,
-                  "startColumn": 12,
-                  "endLine": 174,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "startLine": 254,
+                  "startColumn": 6,
+                  "endLine": 261,
+                  "endColumn": 1,
+                  "byteLength": 157
                 }
               }
             }
@@ -17123,9 +20399,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 195,
+                  "startLine": 217,
                   "startColumn": 13,
-                  "endLine": 195,
+                  "endLine": 217,
                   "endColumn": 22,
                   "byteLength": 9
                 }
@@ -17146,16 +20422,39 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 191,
-                  "startColumn": 29,
-                  "endLine": 191,
-                  "endColumn": 49,
+                  "startLine": 212,
+                  "startColumn": 27,
+                  "endLine": 212,
+                  "endColumn": 47,
                   "byteLength": 20
                 }
               }
             }
           ]
         },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "result_valid_string." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 214,
+                  "startColumn": 31,
+                  "endLine": 214,
+                  "endColumn": 57,
+                  "byteLength": 26
+                }
+              }
+            }
+          ]
+        },
         {
           "ruleId": "user-spec",
           "kind": "pass",
@@ -17169,11 +20468,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 193,
-                  "startColumn": 30,
-                  "endLine": 193,
+                  "startLine": 215,
+                  "startColumn": 28,
+                  "endLine": 215,
                   "endColumn": 64,
-                  "byteLength": 34
+                  "byteLength": 36
                 }
               }
             }
@@ -17192,9 +20491,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 195,
+                  "startLine": 217,
                   "startColumn": 13,
-                  "endLine": 195,
+                  "endLine": 217,
                   "endColumn": 22,
                   "byteLength": 9
                 }
@@ -17217,10 +20516,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 192,
-                  "startColumn": 12,
-                  "endLine": 192,
-                  "endColumn": 19,
+                  "startLine": 213,
+                  "startColumn": 10,
+                  "endLine": 213,
+                  "endColumn": 17,
                   "byteLength": 7
                 }
               }
@@ -17263,9 +20562,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 153,
+                  "startLine": 170,
                   "startColumn": 30,
-                  "endLine": 153,
+                  "endLine": 170,
                   "endColumn": 51,
                   "byteLength": 21
                 }
@@ -17286,9 +20585,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 154,
+                  "startLine": 171,
                   "startColumn": 30,
-                  "endLine": 154,
+                  "endLine": 171,
                   "endColumn": 51,
                   "byteLength": 21
                 }
@@ -17309,9 +20608,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 156,
+                  "startLine": 174,
                   "startColumn": 26,
-                  "endLine": 156,
+                  "endLine": 174,
                   "endColumn": 50,
                   "byteLength": 24
                 }
@@ -17357,9 +20656,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 155,
+                  "startLine": 172,
                   "startColumn": 12,
-                  "endLine": 155,
+                  "endLine": 172,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -17380,9 +20679,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 171,
+                  "startLine": 190,
                   "startColumn": 11,
-                  "endLine": 171,
+                  "endLine": 190,
                   "endColumn": 18,
                   "byteLength": 7
                 }
@@ -17403,9 +20702,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 167,
+                  "startLine": 185,
                   "startColumn": 30,
-                  "endLine": 167,
+                  "endLine": 185,
                   "endColumn": 51,
                   "byteLength": 21
                 }
@@ -17426,9 +20725,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 168,
+                  "startLine": 186,
                   "startColumn": 30,
-                  "endLine": 168,
+                  "endLine": 186,
                   "endColumn": 51,
                   "byteLength": 21
                 }
@@ -17449,9 +20748,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 171,
+                  "startLine": 190,
                   "startColumn": 11,
-                  "endLine": 171,
+                  "endLine": 190,
                   "endColumn": 18,
                   "byteLength": 7
                 }
@@ -17474,9 +20773,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 169,
+                  "startLine": 187,
                   "startColumn": 12,
-                  "endLine": 169,
+                  "endLine": 187,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -17497,9 +20796,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 220,
+                  "startLine": 223,
                   "startColumn": 6,
-                  "endLine": 227,
+                  "endLine": 230,
                   "endColumn": 1,
                   "byteLength": 135
                 }
@@ -17520,9 +20819,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 367,
+                  "startLine": 419,
                   "startColumn": 31,
-                  "endLine": 367,
+                  "endLine": 419,
                   "endColumn": 53,
                   "byteLength": 22
                 }
@@ -17543,9 +20842,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 368,
+                  "startLine": 420,
                   "startColumn": 26,
-                  "endLine": 368,
+                  "endLine": 420,
                   "endColumn": 55,
                   "byteLength": 29
                 }
@@ -17566,9 +20865,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 370,
+                  "startLine": 422,
                   "startColumn": 4,
-                  "endLine": 370,
+                  "endLine": 422,
                   "endColumn": 59,
                   "byteLength": 55
                 }
@@ -17589,9 +20888,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 373,
+                  "startLine": 425,
                   "startColumn": 28,
-                  "endLine": 373,
+                  "endLine": 425,
                   "endColumn": 49,
                   "byteLength": 21
                 }
@@ -17612,9 +20911,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 374,
+                  "startLine": 426,
                   "startColumn": 24,
-                  "endLine": 374,
+                  "endLine": 426,
                   "endColumn": 39,
                   "byteLength": 15
                 }
@@ -17635,9 +20934,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 371,
+                  "startLine": 423,
                   "startColumn": 12,
-                  "endLine": 371,
+                  "endLine": 423,
                   "endColumn": 32,
                   "byteLength": 20
                 }
@@ -17660,9 +20959,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 371,
+                  "startLine": 423,
                   "startColumn": 12,
-                  "endLine": 371,
+                  "endLine": 423,
                   "endColumn": 32,
                   "byteLength": 20
                 }
@@ -17685,9 +20984,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 372,
+                  "startLine": 424,
                   "startColumn": 12,
-                  "endLine": 372,
+                  "endLine": 424,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -17708,9 +21007,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 218,
+                  "startLine": 235,
                   "startColumn": 14,
-                  "endLine": 218,
+                  "endLine": 235,
                   "endColumn": 21,
                   "byteLength": 7
                 }
@@ -17731,10 +21030,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 213,
-                  "startColumn": 29,
-                  "endLine": 213,
-                  "endColumn": 49,
+                  "startLine": 229,
+                  "startColumn": 27,
+                  "endLine": 229,
+                  "endColumn": 47,
                   "byteLength": 20
                 }
               }
@@ -17752,12 +21051,12 @@
                 "artifactLocation": {
                   "uri": "libc/string.h",
                   "uriBaseId": "FRAMAC_SHARE"
-                },
-                "region": {
-                  "startLine": 214,
-                  "startColumn": 34,
-                  "endLine": 214,
-                  "endColumn": 59,
+                },
+                "region": {
+                  "startLine": 230,
+                  "startColumn": 32,
+                  "endLine": 230,
+                  "endColumn": 57,
                   "byteLength": 25
                 }
               }
@@ -17777,10 +21076,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 216,
-                  "startColumn": 28,
-                  "endLine": 216,
-                  "endColumn": 53,
+                  "startLine": 233,
+                  "startColumn": 26,
+                  "endLine": 233,
+                  "endColumn": 51,
                   "byteLength": 25
                 }
               }
@@ -17800,9 +21099,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 218,
+                  "startLine": 235,
                   "startColumn": 14,
-                  "endLine": 218,
+                  "endLine": 235,
                   "endColumn": 21,
                   "byteLength": 7
                 }
@@ -17825,10 +21124,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 215,
-                  "startColumn": 12,
-                  "endLine": 215,
-                  "endColumn": 19,
+                  "startLine": 231,
+                  "startColumn": 10,
+                  "endLine": 231,
+                  "endColumn": 17,
                   "byteLength": 7
                 }
               }
@@ -17848,9 +21147,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 316,
+                  "startLine": 319,
                   "startColumn": 6,
-                  "endLine": 326,
+                  "endLine": 329,
                   "endColumn": 1,
                   "byteLength": 158
                 }
@@ -17871,9 +21170,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 316,
+                  "startLine": 319,
                   "startColumn": 6,
-                  "endLine": 326,
+                  "endLine": 329,
                   "endColumn": 1,
                   "byteLength": 158
                 }
@@ -17894,9 +21193,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 316,
+                  "startLine": 319,
                   "startColumn": 6,
-                  "endLine": 326,
+                  "endLine": 329,
                   "endColumn": 1,
                   "byteLength": 158
                 }
@@ -17917,10 +21216,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 484,
-                  "startColumn": 29,
-                  "endLine": 484,
-                  "endColumn": 49,
+                  "startLine": 565,
+                  "startColumn": 27,
+                  "endLine": 565,
+                  "endColumn": 47,
                   "byteLength": 20
                 }
               }
@@ -17940,11 +21239,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 488,
+                  "startLine": 569,
                   "startColumn": 26,
-                  "endLine": 488,
-                  "endColumn": 49,
-                  "byteLength": 23
+                  "endLine": 569,
+                  "endColumn": 51,
+                  "byteLength": 25
                 }
               }
             }
@@ -17963,11 +21262,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 495,
+                  "startLine": 577,
                   "startColumn": 29,
-                  "endLine": 495,
-                  "endColumn": 53,
-                  "byteLength": 24
+                  "endLine": 577,
+                  "endColumn": 55,
+                  "byteLength": 26
                 }
               }
             }
@@ -17986,11 +21285,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 491,
+                  "startLine": 573,
                   "startColumn": 24,
-                  "endLine": 491,
-                  "endColumn": 49,
-                  "byteLength": 25
+                  "endLine": 573,
+                  "endColumn": 51,
+                  "byteLength": 27
                 }
               }
             }
@@ -18009,10 +21308,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 493,
-                  "startColumn": 4,
-                  "endLine": 493,
-                  "endColumn": 51,
+                  "startLine": 575,
+                  "startColumn": 6,
+                  "endLine": 575,
+                  "endColumn": 53,
                   "byteLength": 47
                 }
               }
@@ -18032,9 +21331,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 498,
+                  "startLine": 580,
                   "startColumn": 25,
-                  "endLine": 498,
+                  "endLine": 580,
                   "endColumn": 41,
                   "byteLength": 16
                 }
@@ -18055,9 +21354,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 489,
+                  "startLine": 570,
                   "startColumn": 12,
-                  "endLine": 489,
+                  "endLine": 570,
                   "endColumn": 28,
                   "byteLength": 16
                 }
@@ -18078,9 +21377,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 316,
+                  "startLine": 319,
                   "startColumn": 6,
-                  "endLine": 326,
+                  "endLine": 329,
                   "endColumn": 1,
                   "byteLength": 158
                 }
@@ -18101,9 +21400,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 316,
+                  "startLine": 319,
                   "startColumn": 6,
-                  "endLine": 326,
+                  "endLine": 329,
                   "endColumn": 1,
                   "byteLength": 158
                 }
@@ -18126,9 +21425,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 489,
+                  "startLine": 570,
                   "startColumn": 12,
-                  "endLine": 489,
+                  "endLine": 570,
                   "endColumn": 28,
                   "byteLength": 16
                 }
@@ -18151,9 +21450,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 490,
+                  "startLine": 572,
                   "startColumn": 12,
-                  "endLine": 490,
+                  "endLine": 572,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -18176,10 +21475,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 486,
-                  "startColumn": 12,
-                  "endLine": 486,
-                  "endColumn": 19,
+                  "startLine": 567,
+                  "startColumn": 10,
+                  "endLine": 567,
+                  "endColumn": 17,
                   "byteLength": 7
                 }
               }
@@ -18201,9 +21500,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 496,
+                  "startLine": 579,
                   "startColumn": 12,
-                  "endLine": 496,
+                  "endLine": 579,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -18224,10 +21523,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 485,
-                  "startColumn": 14,
-                  "endLine": 485,
-                  "endColumn": 21,
+                  "startLine": 566,
+                  "startColumn": 12,
+                  "endLine": 566,
+                  "endColumn": 19,
                   "byteLength": 7
                 }
               }
@@ -18247,9 +21546,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 316,
+                  "startLine": 319,
                   "startColumn": 6,
-                  "endLine": 326,
+                  "endLine": 329,
                   "endColumn": 1,
                   "byteLength": 158
                 }
@@ -18272,9 +21571,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 318,
+                  "startLine": 321,
                   "startColumn": 13,
-                  "endLine": 318,
+                  "endLine": 321,
                   "endColumn": 22,
                   "byteLength": 9
                 }
@@ -18286,7 +21585,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "error",
-          "message": { "text": "reachability of stmt line 318 in strdup." },
+          "message": { "text": "reachability of stmt line 321 in strdup." },
           "locations": [
             {
               "physicalLocation": {
@@ -18295,9 +21594,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 318,
+                  "startLine": 321,
                   "startColumn": 13,
-                  "endLine": 318,
+                  "endLine": 321,
                   "endColumn": 22,
                   "byteLength": 9
                 }
@@ -18318,9 +21617,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 324,
+                  "startLine": 327,
                   "startColumn": 2,
-                  "endLine": 324,
+                  "endLine": 327,
                   "endColumn": 17,
                   "byteLength": 15
                 }
@@ -18341,9 +21640,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 324,
+                  "startLine": 327,
                   "startColumn": 2,
-                  "endLine": 324,
+                  "endLine": 327,
                   "endColumn": 17,
                   "byteLength": 15
                 }
@@ -18364,9 +21663,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 324,
+                  "startLine": 327,
                   "startColumn": 2,
-                  "endLine": 324,
+                  "endLine": 327,
                   "endColumn": 17,
                   "byteLength": 15
                 }
@@ -18378,7 +21677,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "error",
-          "message": { "text": "reachability of stmt line 324 in strdup." },
+          "message": { "text": "reachability of stmt line 327 in strdup." },
           "locations": [
             {
               "physicalLocation": {
@@ -18387,9 +21686,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 324,
+                  "startLine": 327,
                   "startColumn": 2,
-                  "endLine": 324,
+                  "endLine": 327,
                   "endColumn": 17,
                   "byteLength": 15
                 }
@@ -18410,9 +21709,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 302,
+                  "startLine": 305,
                   "startColumn": 6,
-                  "endLine": 313,
+                  "endLine": 316,
                   "endColumn": 1,
                   "byteLength": 216
                 }
@@ -18433,9 +21732,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 359,
+                  "startLine": 411,
                   "startColumn": 33,
-                  "endLine": 359,
+                  "endLine": 411,
                   "endColumn": 59,
                   "byteLength": 26
                 }
@@ -18456,9 +21755,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 360,
+                  "startLine": 412,
                   "startColumn": 35,
-                  "endLine": 360,
+                  "endLine": 412,
                   "endColumn": 51,
                   "byteLength": 16
                 }
@@ -18479,9 +21778,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 361,
+                  "startLine": 413,
                   "startColumn": 33,
-                  "endLine": 361,
+                  "endLine": 413,
                   "endColumn": 59,
                   "byteLength": 26
                 }
@@ -18502,9 +21801,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 302,
+                  "startLine": 305,
                   "startColumn": 6,
-                  "endLine": 313,
+                  "endLine": 316,
                   "endColumn": 1,
                   "byteLength": 216
                 }
@@ -18527,9 +21826,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 358,
+                  "startLine": 410,
                   "startColumn": 12,
-                  "endLine": 358,
+                  "endLine": 410,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -18550,9 +21849,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 307,
+                  "startLine": 310,
                   "startColumn": 4,
-                  "endLine": 307,
+                  "endLine": 310,
                   "endColumn": 43,
                   "byteLength": 39
                 }
@@ -18564,7 +21863,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "error",
-          "message": { "text": "reachability of stmt line 307 in strerror." },
+          "message": { "text": "reachability of stmt line 310 in strerror." },
           "locations": [
             {
               "physicalLocation": {
@@ -18573,9 +21872,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 307,
+                  "startLine": 310,
                   "startColumn": 4,
-                  "endLine": 307,
+                  "endLine": 310,
                   "endColumn": 43,
                   "byteLength": 39
                 }
@@ -18596,9 +21895,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 471,
+                  "startLine": 536,
                   "startColumn": 14,
-                  "endLine": 471,
+                  "endLine": 536,
                   "endColumn": 21,
                   "byteLength": 7
                 }
@@ -18619,9 +21918,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 464,
+                  "startLine": 526,
                   "startColumn": 31,
-                  "endLine": 464,
+                  "endLine": 526,
                   "endColumn": 53,
                   "byteLength": 22
                 }
@@ -18642,9 +21941,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 465,
+                  "startLine": 527,
                   "startColumn": 32,
-                  "endLine": 465,
+                  "endLine": 527,
                   "endColumn": 50,
                   "byteLength": 18
                 }
@@ -18665,9 +21964,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 466,
+                  "startLine": 528,
                   "startColumn": 27,
-                  "endLine": 466,
+                  "endLine": 528,
                   "endColumn": 48,
                   "byteLength": 21
                 }
@@ -18675,6 +21974,29 @@
             }
           ]
         },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "separation." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 530,
+                  "startColumn": 4,
+                  "endLine": 531,
+                  "endColumn": 31,
+                  "byteLength": 89
+                }
+              }
+            }
+          ]
+        },
         {
           "ruleId": "user-spec",
           "kind": "pass",
@@ -18688,9 +22010,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 469,
+                  "startLine": 534,
                   "startColumn": 28,
-                  "endLine": 469,
+                  "endLine": 534,
                   "endColumn": 65,
                   "byteLength": 37
                 }
@@ -18711,9 +22033,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 467,
+                  "startLine": 532,
                   "startColumn": 12,
-                  "endLine": 467,
+                  "endLine": 532,
                   "endColumn": 33,
                   "byteLength": 21
                 }
@@ -18736,9 +22058,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 467,
+                  "startLine": 532,
                   "startColumn": 12,
-                  "endLine": 467,
+                  "endLine": 532,
                   "endColumn": 33,
                   "byteLength": 21
                 }
@@ -18761,9 +22083,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 468,
+                  "startLine": 533,
                   "startColumn": 12,
-                  "endLine": 468,
+                  "endLine": 533,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -18784,9 +22106,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 409,
+                  "startLine": 461,
                   "startColumn": 7,
-                  "endLine": 409,
+                  "endLine": 461,
                   "endColumn": 14,
                   "byteLength": 7
                 }
@@ -18807,9 +22129,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 400,
+                  "startLine": 452,
                   "startColumn": 31,
-                  "endLine": 400,
+                  "endLine": 452,
                   "endColumn": 53,
                   "byteLength": 22
                 }
@@ -18830,9 +22152,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 401,
+                  "startLine": 453,
                   "startColumn": 27,
-                  "endLine": 401,
+                  "endLine": 453,
                   "endColumn": 48,
                   "byteLength": 21
                 }
@@ -18853,9 +22175,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 403,
+                  "startLine": 455,
                   "startColumn": 4,
-                  "endLine": 403,
+                  "endLine": 455,
                   "endColumn": 61,
                   "byteLength": 57
                 }
@@ -18876,9 +22198,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 406,
+                  "startLine": 458,
                   "startColumn": 28,
-                  "endLine": 406,
+                  "endLine": 458,
                   "endColumn": 73,
                   "byteLength": 45
                 }
@@ -18899,9 +22221,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 407,
+                  "startLine": 459,
                   "startColumn": 28,
-                  "endLine": 407,
+                  "endLine": 459,
                   "endColumn": 50,
                   "byteLength": 22
                 }
@@ -18922,9 +22244,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 404,
+                  "startLine": 456,
                   "startColumn": 12,
-                  "endLine": 404,
+                  "endLine": 456,
                   "endColumn": 24,
                   "byteLength": 12
                 }
@@ -18947,9 +22269,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 404,
+                  "startLine": 456,
                   "startColumn": 12,
-                  "endLine": 404,
+                  "endLine": 456,
                   "endColumn": 24,
                   "byteLength": 12
                 }
@@ -18972,9 +22294,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 405,
+                  "startLine": 457,
                   "startColumn": 12,
-                  "endLine": 405,
+                  "endLine": 457,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -19018,9 +22340,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 141,
+                  "startLine": 158,
                   "startColumn": 29,
-                  "endLine": 141,
+                  "endLine": 158,
                   "endColumn": 49,
                   "byteLength": 20
                 }
@@ -19041,9 +22363,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 143,
+                  "startLine": 160,
                   "startColumn": 26,
-                  "endLine": 143,
+                  "endLine": 160,
                   "endColumn": 46,
                   "byteLength": 20
                 }
@@ -19089,9 +22411,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 142,
+                  "startLine": 159,
                   "startColumn": 12,
-                  "endLine": 142,
+                  "endLine": 159,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -19229,9 +22551,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 207,
+                  "startLine": 210,
                   "startColumn": 6,
-                  "endLine": 218,
+                  "endLine": 221,
                   "endColumn": 1,
                   "byteLength": 231
                 }
@@ -19252,9 +22574,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 207,
+                  "startLine": 210,
                   "startColumn": 6,
-                  "endLine": 218,
+                  "endLine": 221,
                   "endColumn": 1,
                   "byteLength": 231
                 }
@@ -19275,9 +22597,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 207,
+                  "startLine": 210,
                   "startColumn": 6,
-                  "endLine": 218,
+                  "endLine": 221,
                   "endColumn": 1,
                   "byteLength": 231
                 }
@@ -19298,10 +22620,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 439,
-                  "startColumn": 32,
-                  "endLine": 439,
-                  "endColumn": 58,
+                  "startLine": 497,
+                  "startColumn": 30,
+                  "endLine": 497,
+                  "endColumn": 56,
                   "byteLength": 26
                 }
               }
@@ -19321,16 +22643,39 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 440,
-                  "startColumn": 32,
-                  "endLine": 440,
-                  "endColumn": 50,
+                  "startLine": 498,
+                  "startColumn": 30,
+                  "endLine": 498,
+                  "endColumn": 48,
                   "byteLength": 18
                 }
               }
             }
           ]
         },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "separation." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 500,
+                  "startColumn": 4,
+                  "endLine": 501,
+                  "endColumn": 40,
+                  "byteLength": 91
+                }
+              }
+            }
+          ]
+        },
         {
           "ruleId": "user-spec",
           "kind": "pass",
@@ -19344,9 +22689,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 446,
+                  "startLine": 507,
                   "startColumn": 26,
-                  "endLine": 446,
+                  "endLine": 507,
                   "endColumn": 74,
                   "byteLength": 48
                 }
@@ -19367,9 +22712,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 454,
+                  "startLine": 514,
                   "startColumn": 26,
-                  "endLine": 454,
+                  "endLine": 514,
                   "endColumn": 64,
                   "byteLength": 38
                 }
@@ -19381,7 +22726,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_string_src_fits." },
+          "message": { "text": "src_fits." },
           "locations": [
             {
               "physicalLocation": {
@@ -19390,11 +22735,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 445,
-                  "startColumn": 35,
-                  "endLine": 445,
-                  "endColumn": 77,
-                  "byteLength": 42
+                  "startLine": 506,
+                  "startColumn": 22,
+                  "endLine": 506,
+                  "endColumn": 41,
+                  "byteLength": 19
                 }
               }
             }
@@ -19404,7 +22749,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_string_src_too_large." },
+          "message": { "text": "src_too_large." },
           "locations": [
             {
               "physicalLocation": {
@@ -19413,11 +22758,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 453,
-                  "startColumn": 4,
-                  "endLine": 453,
-                  "endColumn": 49,
-                  "byteLength": 45
+                  "startLine": 513,
+                  "startColumn": 27,
+                  "endLine": 513,
+                  "endColumn": 47,
+                  "byteLength": 20
                 }
               }
             }
@@ -19436,10 +22781,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 443,
-                  "startColumn": 24,
-                  "endLine": 443,
-                  "endColumn": 39,
+                  "startLine": 504,
+                  "startColumn": 22,
+                  "endLine": 504,
+                  "endColumn": 37,
                   "byteLength": 15
                 }
               }
@@ -19459,9 +22804,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 450,
+                  "startLine": 511,
                   "startColumn": 28,
-                  "endLine": 450,
+                  "endLine": 511,
                   "endColumn": 76,
                   "byteLength": 48
                 }
@@ -19482,9 +22827,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 458,
+                  "startLine": 518,
                   "startColumn": 36,
-                  "endLine": 458,
+                  "endLine": 518,
                   "endColumn": 74,
                   "byteLength": 38
                 }
@@ -19505,11 +22850,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 447,
+                  "startLine": 508,
                   "startColumn": 12,
-                  "endLine": 447,
-                  "endColumn": 58,
-                  "byteLength": 46
+                  "endLine": 508,
+                  "endColumn": 60,
+                  "byteLength": 48
                 }
               }
             }
@@ -19528,10 +22873,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 441,
-                  "startColumn": 12,
-                  "endLine": 441,
-                  "endColumn": 50,
+                  "startLine": 502,
+                  "startColumn": 10,
+                  "endLine": 502,
+                  "endColumn": 48,
                   "byteLength": 38
                 }
               }
@@ -19551,11 +22896,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 455,
+                  "startLine": 515,
                   "startColumn": 12,
-                  "endLine": 455,
-                  "endColumn": 48,
-                  "byteLength": 36
+                  "endLine": 515,
+                  "endColumn": 50,
+                  "byteLength": 38
                 }
               }
             }
@@ -19576,11 +22921,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 447,
+                  "startLine": 508,
                   "startColumn": 12,
-                  "endLine": 447,
-                  "endColumn": 58,
-                  "byteLength": 46
+                  "endLine": 508,
+                  "endColumn": 60,
+                  "byteLength": 48
                 }
               }
             }
@@ -19601,9 +22946,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 449,
+                  "startLine": 510,
                   "startColumn": 12,
-                  "endLine": 449,
+                  "endLine": 510,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -19626,10 +22971,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 441,
-                  "startColumn": 12,
-                  "endLine": 441,
-                  "endColumn": 50,
+                  "startLine": 502,
+                  "startColumn": 10,
+                  "endLine": 502,
+                  "endColumn": 48,
                   "byteLength": 38
                 }
               }
@@ -19651,10 +22996,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 442,
-                  "startColumn": 12,
-                  "endLine": 442,
-                  "endColumn": 19,
+                  "startLine": 503,
+                  "startColumn": 10,
+                  "endLine": 503,
+                  "endColumn": 17,
                   "byteLength": 7
                 }
               }
@@ -19676,11 +23021,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 455,
+                  "startLine": 515,
                   "startColumn": 12,
-                  "endLine": 455,
-                  "endColumn": 48,
-                  "byteLength": 36
+                  "endLine": 515,
+                  "endColumn": 50,
+                  "byteLength": 38
                 }
               }
             }
@@ -19701,9 +23046,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 457,
+                  "startLine": 517,
                   "startColumn": 12,
-                  "endLine": 457,
+                  "endLine": 517,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -19711,6 +23056,52 @@
             }
           ]
         },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "complete clause in function strncat." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 210,
+                  "startColumn": 6,
+                  "endLine": 221,
+                  "endColumn": 1,
+                  "byteLength": 231
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "disjoint clause in function strncat." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.c",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 210,
+                  "startColumn": 6,
+                  "endLine": 221,
+                  "endColumn": 1,
+                  "byteLength": 231
+                }
+              }
+            }
+          ]
+        },
         {
           "ruleId": "user-spec",
           "kind": "pass",
@@ -19726,9 +23117,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 209,
+                  "startLine": 212,
                   "startColumn": 20,
-                  "endLine": 209,
+                  "endLine": 212,
                   "endColumn": 32,
                   "byteLength": 12
                 }
@@ -19740,7 +23131,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "error",
-          "message": { "text": "reachability of stmt line 209 in strncat." },
+          "message": { "text": "reachability of stmt line 212 in strncat." },
           "locations": [
             {
               "physicalLocation": {
@@ -19749,9 +23140,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 209,
+                  "startLine": 212,
                   "startColumn": 20,
-                  "endLine": 209,
+                  "endLine": 212,
                   "endColumn": 32,
                   "byteLength": 12
                 }
@@ -19795,9 +23186,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 160,
+                  "startLine": 178,
                   "startColumn": 30,
-                  "endLine": 160,
+                  "endLine": 178,
                   "endColumn": 55,
                   "byteLength": 25
                 }
@@ -19818,9 +23209,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 161,
+                  "startLine": 179,
                   "startColumn": 30,
-                  "endLine": 161,
+                  "endLine": 179,
                   "endColumn": 55,
                   "byteLength": 25
                 }
@@ -19841,9 +23232,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 163,
+                  "startLine": 181,
                   "startColumn": 26,
-                  "endLine": 163,
+                  "endLine": 181,
                   "endColumn": 53,
                   "byteLength": 27
                 }
@@ -19889,9 +23280,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 162,
+                  "startLine": 180,
                   "startColumn": 12,
-                  "endLine": 162,
+                  "endLine": 180,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -19912,9 +23303,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 239,
+                  "startLine": 242,
                   "startColumn": 6,
-                  "endLine": 249,
+                  "endLine": 252,
                   "endColumn": 1,
                   "byteLength": 197
                 }
@@ -19935,9 +23326,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 239,
+                  "startLine": 242,
                   "startColumn": 6,
-                  "endLine": 249,
+                  "endLine": 252,
                   "endColumn": 1,
                   "byteLength": 197
                 }
@@ -19958,9 +23349,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 239,
+                  "startLine": 242,
                   "startColumn": 6,
-                  "endLine": 249,
+                  "endLine": 252,
                   "endColumn": 1,
                   "byteLength": 197
                 }
@@ -19981,9 +23372,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 379,
+                  "startLine": 431,
                   "startColumn": 32,
-                  "endLine": 379,
+                  "endLine": 431,
                   "endColumn": 58,
                   "byteLength": 26
                 }
@@ -20004,9 +23395,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 380,
+                  "startLine": 432,
                   "startColumn": 27,
-                  "endLine": 380,
+                  "endLine": 432,
                   "endColumn": 50,
                   "byteLength": 23
                 }
@@ -20027,9 +23418,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 382,
+                  "startLine": 434,
                   "startColumn": 4,
-                  "endLine": 382,
+                  "endLine": 434,
                   "endColumn": 43,
                   "byteLength": 39
                 }
@@ -20050,9 +23441,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 388,
+                  "startLine": 440,
                   "startColumn": 22,
-                  "endLine": 388,
+                  "endLine": 440,
                   "endColumn": 37,
                   "byteLength": 15
                 }
@@ -20073,9 +23464,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 391,
+                  "startLine": 443,
                   "startColumn": 26,
-                  "endLine": 391,
+                  "endLine": 443,
                   "endColumn": 42,
                   "byteLength": 16
                 }
@@ -20096,9 +23487,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 385,
+                  "startLine": 437,
                   "startColumn": 24,
-                  "endLine": 385,
+                  "endLine": 437,
                   "endColumn": 39,
                   "byteLength": 15
                 }
@@ -20119,9 +23510,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 386,
+                  "startLine": 438,
                   "startColumn": 28,
-                  "endLine": 386,
+                  "endLine": 438,
                   "endColumn": 57,
                   "byteLength": 29
                 }
@@ -20142,9 +23533,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 389,
+                  "startLine": 441,
                   "startColumn": 30,
-                  "endLine": 389,
+                  "endLine": 441,
                   "endColumn": 51,
                   "byteLength": 21
                 }
@@ -20165,9 +23556,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 392,
+                  "startLine": 444,
                   "startColumn": 26,
-                  "endLine": 392,
+                  "endLine": 444,
                   "endColumn": 60,
                   "byteLength": 34
                 }
@@ -20188,9 +23579,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 383,
+                  "startLine": 435,
                   "startColumn": 12,
-                  "endLine": 383,
+                  "endLine": 435,
                   "endColumn": 26,
                   "byteLength": 14
                 }
@@ -20213,9 +23604,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 383,
+                  "startLine": 435,
                   "startColumn": 12,
-                  "endLine": 383,
+                  "endLine": 435,
                   "endColumn": 26,
                   "byteLength": 14
                 }
@@ -20238,9 +23629,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 384,
+                  "startLine": 436,
                   "startColumn": 12,
-                  "endLine": 384,
+                  "endLine": 436,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -20261,9 +23652,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 329,
+                  "startLine": 332,
                   "startColumn": 6,
-                  "endLine": 344,
+                  "endLine": 347,
                   "endColumn": 1,
                   "byteLength": 290
                 }
@@ -20284,9 +23675,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 329,
+                  "startLine": 332,
                   "startColumn": 6,
-                  "endLine": 344,
+                  "endLine": 347,
                   "endColumn": 1,
                   "byteLength": 290
                 }
@@ -20309,9 +23700,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 329,
+                  "startLine": 332,
                   "startColumn": 6,
-                  "endLine": 344,
+                  "endLine": 347,
                   "endColumn": 1,
                   "byteLength": 290
                 }
@@ -20332,10 +23723,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 502,
-                  "startColumn": 29,
-                  "endLine": 502,
-                  "endColumn": 49,
+                  "startLine": 588,
+                  "startColumn": 27,
+                  "endLine": 588,
+                  "endColumn": 47,
                   "byteLength": 20
                 }
               }
@@ -20355,11 +23746,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 507,
+                  "startLine": 593,
                   "startColumn": 26,
-                  "endLine": 507,
-                  "endColumn": 60,
-                  "byteLength": 34
+                  "endLine": 593,
+                  "endColumn": 57,
+                  "byteLength": 31
                 }
               }
             }
@@ -20378,11 +23769,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 517,
+                  "startLine": 603,
                   "startColumn": 29,
-                  "endLine": 517,
-                  "endColumn": 64,
-                  "byteLength": 35
+                  "endLine": 603,
+                  "endColumn": 61,
+                  "byteLength": 32
                 }
               }
             }
@@ -20401,11 +23792,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 511,
+                  "startLine": 597,
                   "startColumn": 24,
-                  "endLine": 511,
-                  "endColumn": 60,
-                  "byteLength": 36
+                  "endLine": 597,
+                  "endColumn": 58,
+                  "byteLength": 34
                 }
               }
             }
@@ -20426,11 +23817,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 513,
-                  "startColumn": 4,
-                  "endLine": 515,
-                  "endColumn": 29,
-                  "byteLength": 124
+                  "startLine": 599,
+                  "startColumn": 6,
+                  "endLine": 601,
+                  "endColumn": 31,
+                  "byteLength": 125
                 }
               }
             }
@@ -20449,9 +23840,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 520,
+                  "startLine": 606,
                   "startColumn": 25,
-                  "endLine": 520,
+                  "endLine": 606,
                   "endColumn": 41,
                   "byteLength": 16
                 }
@@ -20472,9 +23863,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 508,
+                  "startLine": 594,
                   "startColumn": 12,
-                  "endLine": 508,
+                  "endLine": 594,
                   "endColumn": 28,
                   "byteLength": 16
                 }
@@ -20495,9 +23886,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 329,
+                  "startLine": 332,
                   "startColumn": 6,
-                  "endLine": 344,
+                  "endLine": 347,
                   "endColumn": 1,
                   "byteLength": 290
                 }
@@ -20518,9 +23909,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 329,
+                  "startLine": 332,
                   "startColumn": 6,
-                  "endLine": 344,
+                  "endLine": 347,
                   "endColumn": 1,
                   "byteLength": 290
                 }
@@ -20543,9 +23934,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 508,
+                  "startLine": 594,
                   "startColumn": 12,
-                  "endLine": 508,
+                  "endLine": 594,
                   "endColumn": 28,
                   "byteLength": 16
                 }
@@ -20568,9 +23959,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 509,
+                  "startLine": 595,
                   "startColumn": 12,
-                  "endLine": 509,
+                  "endLine": 595,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -20593,10 +23984,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 504,
-                  "startColumn": 12,
-                  "endLine": 504,
-                  "endColumn": 19,
+                  "startLine": 590,
+                  "startColumn": 10,
+                  "endLine": 590,
+                  "endColumn": 17,
                   "byteLength": 7
                 }
               }
@@ -20618,9 +24009,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 518,
+                  "startLine": 605,
                   "startColumn": 12,
-                  "endLine": 518,
+                  "endLine": 605,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -20643,10 +24034,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 503,
-                  "startColumn": 14,
-                  "endLine": 503,
-                  "endColumn": 21,
+                  "startLine": 589,
+                  "startColumn": 12,
+                  "endLine": 589,
+                  "endColumn": 19,
                   "byteLength": 7
                 }
               }
@@ -20668,9 +24059,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 329,
+                  "startLine": 332,
                   "startColumn": 6,
-                  "endLine": 344,
+                  "endLine": 347,
                   "endColumn": 1,
                   "byteLength": 290
                 }
@@ -20691,9 +24082,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 341,
+                  "startLine": 344,
                   "startColumn": 2,
-                  "endLine": 341,
+                  "endLine": 344,
                   "endColumn": 17,
                   "byteLength": 15
                 }
@@ -20714,9 +24105,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 341,
+                  "startLine": 344,
                   "startColumn": 2,
-                  "endLine": 341,
+                  "endLine": 344,
                   "endColumn": 17,
                   "byteLength": 15
                 }
@@ -20737,9 +24128,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 341,
+                  "startLine": 344,
                   "startColumn": 2,
-                  "endLine": 341,
+                  "endLine": 344,
                   "endColumn": 17,
                   "byteLength": 15
                 }
@@ -20751,7 +24142,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "error",
-          "message": { "text": "reachability of stmt line 341 in strndup." },
+          "message": { "text": "reachability of stmt line 344 in strndup." },
           "locations": [
             {
               "physicalLocation": {
@@ -20760,9 +24151,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 341,
+                  "startLine": 344,
                   "startColumn": 2,
-                  "endLine": 341,
+                  "endLine": 344,
                   "endColumn": 17,
                   "byteLength": 15
                 }
@@ -20806,9 +24197,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 147,
+                  "startLine": 164,
                   "startColumn": 29,
-                  "endLine": 147,
+                  "endLine": 164,
                   "endColumn": 53,
                   "byteLength": 24
                 }
@@ -20829,9 +24220,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 149,
+                  "startLine": 166,
                   "startColumn": 28,
-                  "endLine": 149,
+                  "endLine": 166,
                   "endColumn": 64,
                   "byteLength": 36
                 }
@@ -20877,9 +24268,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 148,
+                  "startLine": 165,
                   "startColumn": 12,
-                  "endLine": 148,
+                  "endLine": 165,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -20900,9 +24291,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 234,
+                  "startLine": 255,
                   "startColumn": 13,
-                  "endLine": 234,
+                  "endLine": 255,
                   "endColumn": 20,
                   "byteLength": 7
                 }
@@ -20923,10 +24314,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 228,
-                  "startColumn": 29,
-                  "endLine": 228,
-                  "endColumn": 49,
+                  "startLine": 247,
+                  "startColumn": 27,
+                  "endLine": 247,
+                  "endColumn": 47,
                   "byteLength": 20
                 }
               }
@@ -20946,10 +24337,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 229,
-                  "startColumn": 34,
-                  "endLine": 229,
-                  "endColumn": 59,
+                  "startLine": 248,
+                  "startColumn": 32,
+                  "endLine": 248,
+                  "endColumn": 57,
                   "byteLength": 25
                 }
               }
@@ -20969,11 +24360,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 232,
+                  "startLine": 252,
                   "startColumn": 4,
-                  "endLine": 232,
-                  "endColumn": 60,
-                  "byteLength": 56
+                  "endLine": 253,
+                  "endColumn": 72,
+                  "byteLength": 92
                 }
               }
             }
@@ -20992,9 +24383,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 234,
+                  "startLine": 255,
                   "startColumn": 13,
-                  "endLine": 234,
+                  "endLine": 255,
                   "endColumn": 20,
                   "byteLength": 7
                 }
@@ -21017,39 +24408,16 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 230,
-                  "startColumn": 12,
-                  "endLine": 230,
-                  "endColumn": 19,
+                  "startLine": 249,
+                  "startColumn": 10,
+                  "endLine": 249,
+                  "endColumn": 17,
                   "byteLength": 7
                 }
               }
             }
           ]
         },
-        {
-          "ruleId": "user-spec",
-          "kind": "pass",
-          "level": "none",
-          "message": { "text": "behavior default in function strrchr." },
-          "locations": [
-            {
-              "physicalLocation": {
-                "artifactLocation": {
-                  "uri": "libc/string.c",
-                  "uriBaseId": "FRAMAC_SHARE"
-                },
-                "region": {
-                  "startLine": 260,
-                  "startColumn": 6,
-                  "endLine": 266,
-                  "endColumn": 1,
-                  "byteLength": 164
-                }
-              }
-            }
-          ]
-        },
         {
           "ruleId": "user-spec",
           "kind": "pass",
@@ -21063,55 +24431,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 260,
-                  "startColumn": 6,
-                  "endLine": 266,
-                  "endColumn": 1,
-                  "byteLength": 164
-                }
-              }
-            }
-          ]
-        },
-        {
-          "ruleId": "user-spec",
-          "kind": "pass",
-          "level": "none",
-          "message": { "text": "behavior found in function strrchr." },
-          "locations": [
-            {
-              "physicalLocation": {
-                "artifactLocation": {
-                  "uri": "libc/string.c",
-                  "uriBaseId": "FRAMAC_SHARE"
-                },
-                "region": {
-                  "startLine": 260,
-                  "startColumn": 6,
-                  "endLine": 266,
-                  "endColumn": 1,
-                  "byteLength": 164
-                }
-              }
-            }
-          ]
-        },
-        {
-          "ruleId": "user-spec",
-          "kind": "pass",
-          "level": "none",
-          "message": { "text": "behavior not_found in function strrchr." },
-          "locations": [
-            {
-              "physicalLocation": {
-                "artifactLocation": {
-                  "uri": "libc/string.c",
-                  "uriBaseId": "FRAMAC_SHARE"
-                },
-                "region": {
-                  "startLine": 260,
+                  "startLine": 263,
                   "startColumn": 6,
-                  "endLine": 266,
+                  "endLine": 269,
                   "endColumn": 1,
                   "byteLength": 164
                 }
@@ -21132,10 +24454,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 197,
-                  "startColumn": 29,
-                  "endLine": 197,
-                  "endColumn": 49,
+                  "startLine": 220,
+                  "startColumn": 27,
+                  "endLine": 220,
+                  "endColumn": 47,
                   "byteLength": 20
                 }
               }
@@ -21146,7 +24468,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "char_found." },
+          "message": { "text": "result_null_or_same_base." },
           "locations": [
             {
               "physicalLocation": {
@@ -21155,11 +24477,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 200,
-                  "startColumn": 24,
-                  "endLine": 200,
-                  "endColumn": 35,
-                  "byteLength": 11
+                  "startLine": 223,
+                  "startColumn": 4,
+                  "endLine": 224,
+                  "endColumn": 72,
+                  "byteLength": 92
                 }
               }
             }
@@ -21169,20 +24491,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "char_not_found." },
+          "message": { "text": "assigns clause in function strrchr." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/string.c",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 205,
-                  "startColumn": 28,
-                  "endLine": 205,
-                  "endColumn": 40,
-                  "byteLength": 12
+                  "startLine": 263,
+                  "startColumn": 6,
+                  "endLine": 269,
+                  "endColumn": 1,
+                  "byteLength": 164
                 }
               }
             }
@@ -21192,7 +24514,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_char." },
+          "message": {
+            "text": "from clause of term \\result in function strrchr."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -21201,11 +24525,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 201,
-                  "startColumn": 25,
-                  "endLine": 201,
-                  "endColumn": 38,
-                  "byteLength": 13
+                  "startLine": 221,
+                  "startColumn": 10,
+                  "endLine": 221,
+                  "endColumn": 17,
+                  "byteLength": 7
                 }
               }
             }
@@ -21215,20 +24539,22 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_same_base." },
+          "message": {
+            "text": "specialization of valid_string_s at stmt 291."
+          },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/string.c",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 202,
-                  "startColumn": 30,
-                  "endLine": 202,
-                  "endColumn": 66,
-                  "byteLength": 36
+                  "startLine": 266,
+                  "startColumn": 18,
+                  "endLine": 266,
+                  "endColumn": 27,
+                  "byteLength": 9
                 }
               }
             }
@@ -21237,21 +24563,21 @@
         {
           "ruleId": "user-spec",
           "kind": "pass",
-          "level": "none",
-          "message": { "text": "result_valid_string." },
+          "level": "error",
+          "message": { "text": "reachability of stmt line 266 in strrchr." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.h",
+                  "uri": "libc/string.c",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 203,
-                  "startColumn": 33,
-                  "endLine": 203,
-                  "endColumn": 59,
-                  "byteLength": 26
+                  "startLine": 266,
+                  "startColumn": 18,
+                  "endLine": 266,
+                  "endColumn": 27,
+                  "byteLength": 9
                 }
               }
             }
@@ -21261,7 +24587,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_null." },
+          "message": { "text": "behavior default! in function strsep." },
           "locations": [
             {
               "physicalLocation": {
@@ -21269,12 +24595,12 @@
                   "uri": "libc/string.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
-                "region": {
-                  "startLine": 206,
-                  "startColumn": 25,
-                  "endLine": 206,
-                  "endColumn": 41,
-                  "byteLength": 16
+                "region": {
+                  "startLine": 402,
+                  "startColumn": 13,
+                  "endLine": 402,
+                  "endColumn": 19,
+                  "byteLength": 6
                 }
               }
             }
@@ -21284,7 +24610,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_null_or_same_base." },
+          "message": { "text": "behavior no_stringp in function strsep." },
           "locations": [
             {
               "physicalLocation": {
@@ -21293,11 +24619,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 209,
-                  "startColumn": 4,
-                  "endLine": 209,
-                  "endColumn": 60,
-                  "byteLength": 56
+                  "startLine": 402,
+                  "startColumn": 13,
+                  "endLine": 402,
+                  "endColumn": 19,
+                  "byteLength": 6
                 }
               }
             }
@@ -21307,20 +24633,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function strrchr." },
+          "message": { "text": "behavior valid_stringp in function strsep." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/string.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 260,
-                  "startColumn": 6,
-                  "endLine": 266,
-                  "endColumn": 1,
-                  "byteLength": 164
+                  "startLine": 402,
+                  "startColumn": 13,
+                  "endLine": 402,
+                  "endColumn": 19,
+                  "byteLength": 6
                 }
               }
             }
@@ -21330,9 +24656,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function strrchr."
-          },
+          "message": { "text": "valid_stringp." },
           "locations": [
             {
               "physicalLocation": {
@@ -21341,11 +24665,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 198,
-                  "startColumn": 12,
-                  "endLine": 198,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "startLine": 390,
+                  "startColumn": 26,
+                  "endLine": 390,
+                  "endColumn": 41,
+                  "byteLength": 15
                 }
               }
             }
@@ -21355,22 +24679,20 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "specialization of valid_string_s at stmt 291."
-          },
+          "message": { "text": "valid_string_stringp." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/string.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 263,
-                  "startColumn": 18,
-                  "endLine": 263,
-                  "endColumn": 27,
-                  "byteLength": 9
+                  "startLine": 398,
+                  "startColumn": 35,
+                  "endLine": 398,
+                  "endColumn": 57,
+                  "byteLength": 22
                 }
               }
             }
@@ -21379,21 +24701,21 @@
         {
           "ruleId": "user-spec",
           "kind": "pass",
-          "level": "error",
-          "message": { "text": "reachability of stmt line 263 in strrchr." },
+          "level": "none",
+          "message": { "text": "stringp_null." },
           "locations": [
             {
               "physicalLocation": {
                 "artifactLocation": {
-                  "uri": "libc/string.c",
+                  "uri": "libc/string.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 263,
-                  "startColumn": 18,
-                  "endLine": 263,
-                  "endColumn": 27,
-                  "byteLength": 9
+                  "startLine": 394,
+                  "startColumn": 26,
+                  "endLine": 394,
+                  "endColumn": 43,
+                  "byteLength": 17
                 }
               }
             }
@@ -21403,7 +24725,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function strsep." },
+          "message": { "text": "stringp_not_null." },
           "locations": [
             {
               "physicalLocation": {
@@ -21412,11 +24734,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 350,
-                  "startColumn": 13,
-                  "endLine": 350,
-                  "endColumn": 19,
-                  "byteLength": 6
+                  "startLine": 397,
+                  "startColumn": 30,
+                  "endLine": 397,
+                  "endColumn": 47,
+                  "byteLength": 17
                 }
               }
             }
@@ -21426,7 +24748,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_string_stringp." },
+          "message": { "text": "result_null." },
           "locations": [
             {
               "physicalLocation": {
@@ -21435,11 +24757,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 345,
-                  "startColumn": 35,
-                  "endLine": 345,
-                  "endColumn": 76,
-                  "byteLength": 41
+                  "startLine": 395,
+                  "startColumn": 25,
+                  "endLine": 395,
+                  "endColumn": 41,
+                  "byteLength": 16
                 }
               }
             }
@@ -21449,7 +24771,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_string_delim." },
+          "message": { "text": "valid_result." },
           "locations": [
             {
               "physicalLocation": {
@@ -21458,11 +24780,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 346,
-                  "startColumn": 33,
-                  "endLine": 346,
-                  "endColumn": 57,
-                  "byteLength": 24
+                  "startLine": 399,
+                  "startColumn": 26,
+                  "endLine": 400,
+                  "endColumn": 69,
+                  "byteLength": 94
                 }
               }
             }
@@ -21481,11 +24803,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 347,
-                  "startColumn": 12,
-                  "endLine": 347,
-                  "endColumn": 20,
-                  "byteLength": 8
+                  "startLine": 391,
+                  "startColumn": 10,
+                  "endLine": 391,
+                  "endColumn": 23,
+                  "byteLength": 13
                 }
               }
             }
@@ -21496,7 +24818,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term *stringp in function strsep."
+            "text": "from clause of term *(*(stringp + (0 ..))) in function strsep."
           },
           "locations": [
             {
@@ -21506,11 +24828,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 347,
-                  "startColumn": 12,
-                  "endLine": 347,
-                  "endColumn": 20,
-                  "byteLength": 8
+                  "startLine": 391,
+                  "startColumn": 10,
+                  "endLine": 391,
+                  "endColumn": 23,
+                  "byteLength": 13
                 }
               }
             }
@@ -21531,10 +24853,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 348,
-                  "startColumn": 12,
-                  "endLine": 348,
-                  "endColumn": 19,
+                  "startLine": 392,
+                  "startColumn": 10,
+                  "endLine": 392,
+                  "endColumn": 17,
                   "byteLength": 7
                 }
               }
@@ -21554,9 +24876,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 348,
+                  "startLine": 351,
                   "startColumn": 6,
-                  "endLine": 359,
+                  "endLine": 362,
                   "endColumn": 1,
                   "byteLength": 223
                 }
@@ -21577,9 +24899,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 535,
+                  "startLine": 643,
                   "startColumn": 33,
-                  "endLine": 535,
+                  "endLine": 643,
                   "endColumn": 60,
                   "byteLength": 27
                 }
@@ -21600,9 +24922,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 536,
+                  "startLine": 644,
                   "startColumn": 35,
-                  "endLine": 536,
+                  "endLine": 644,
                   "endColumn": 51,
                   "byteLength": 16
                 }
@@ -21623,9 +24945,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 537,
+                  "startLine": 645,
                   "startColumn": 33,
-                  "endLine": 537,
+                  "endLine": 645,
                   "endColumn": 59,
                   "byteLength": 26
                 }
@@ -21646,9 +24968,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 348,
+                  "startLine": 351,
                   "startColumn": 6,
-                  "endLine": 359,
+                  "endLine": 362,
                   "endColumn": 1,
                   "byteLength": 223
                 }
@@ -21671,9 +24993,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 534,
+                  "startLine": 642,
                   "startColumn": 12,
-                  "endLine": 534,
+                  "endLine": 642,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -21694,9 +25016,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 353,
+                  "startLine": 356,
                   "startColumn": 4,
-                  "endLine": 353,
+                  "endLine": 356,
                   "endColumn": 44,
                   "byteLength": 40
                 }
@@ -21709,7 +25031,7 @@
           "kind": "pass",
           "level": "error",
           "message": {
-            "text": "reachability of stmt line 353 in strsignal."
+            "text": "reachability of stmt line 356 in strsignal."
           },
           "locations": [
             {
@@ -21719,9 +25041,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 353,
+                  "startLine": 356,
                   "startColumn": 4,
-                  "endLine": 353,
+                  "endLine": 356,
                   "endColumn": 44,
                   "byteLength": 40
                 }
@@ -21742,9 +25064,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 226,
+                  "startLine": 244,
                   "startColumn": 14,
-                  "endLine": 226,
+                  "endLine": 244,
                   "endColumn": 20,
                   "byteLength": 6
                 }
@@ -21765,10 +25087,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 220,
-                  "startColumn": 29,
-                  "endLine": 220,
-                  "endColumn": 49,
+                  "startLine": 238,
+                  "startColumn": 27,
+                  "endLine": 238,
+                  "endColumn": 47,
                   "byteLength": 20
                 }
               }
@@ -21788,10 +25110,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 221,
-                  "startColumn": 34,
-                  "endLine": 221,
-                  "endColumn": 59,
+                  "startLine": 239,
+                  "startColumn": 32,
+                  "endLine": 239,
+                  "endColumn": 57,
                   "byteLength": 25
                 }
               }
@@ -21811,10 +25133,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 224,
-                  "startColumn": 28,
-                  "endLine": 224,
-                  "endColumn": 53,
+                  "startLine": 242,
+                  "startColumn": 26,
+                  "endLine": 242,
+                  "endColumn": 51,
                   "byteLength": 25
                 }
               }
@@ -21834,36 +25156,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 222,
-                  "startColumn": 12,
-                  "endLine": 222,
-                  "endColumn": 19,
-                  "byteLength": 7
-                }
-              }
-            }
-          ]
-        },
-        {
-          "ruleId": "user-spec",
-          "kind": "pass",
-          "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function strspn."
-          },
-          "locations": [
-            {
-              "physicalLocation": {
-                "artifactLocation": {
-                  "uri": "libc/string.h",
-                  "uriBaseId": "FRAMAC_SHARE"
-                },
-                "region": {
-                  "startLine": 222,
-                  "startColumn": 12,
-                  "endLine": 222,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "startLine": 244,
+                  "startColumn": 14,
+                  "endLine": 244,
+                  "endColumn": 20,
+                  "byteLength": 6
                 }
               }
             }
@@ -21884,10 +25181,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 223,
-                  "startColumn": 12,
-                  "endLine": 223,
-                  "endColumn": 19,
+                  "startLine": 240,
+                  "startColumn": 10,
+                  "endLine": 240,
+                  "endColumn": 17,
                   "byteLength": 7
                 }
               }
@@ -21907,9 +25204,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 286,
+                  "startLine": 289,
                   "startColumn": 6,
-                  "endLine": 298,
+                  "endLine": 301,
                   "endColumn": 1,
                   "byteLength": 379
                 }
@@ -21930,10 +25227,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 236,
-                  "startColumn": 36,
-                  "endLine": 236,
-                  "endColumn": 63,
+                  "startLine": 258,
+                  "startColumn": 34,
+                  "endLine": 258,
+                  "endColumn": 61,
                   "byteLength": 27
                 }
               }
@@ -21953,10 +25250,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 237,
-                  "startColumn": 34,
-                  "endLine": 237,
-                  "endColumn": 59,
+                  "startLine": 259,
+                  "startColumn": 32,
+                  "endLine": 259,
+                  "endColumn": 57,
                   "byteLength": 25
                 }
               }
@@ -21976,11 +25273,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 241,
+                  "startLine": 263,
                   "startColumn": 4,
-                  "endLine": 243,
-                  "endColumn": 59,
-                  "byteLength": 141
+                  "endLine": 266,
+                  "endColumn": 57,
+                  "byteLength": 164
                 }
               }
             }
@@ -21999,9 +25296,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 286,
+                  "startLine": 289,
                   "startColumn": 6,
-                  "endLine": 298,
+                  "endLine": 301,
                   "endColumn": 1,
                   "byteLength": 379
                 }
@@ -22024,10 +25321,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 238,
-                  "startColumn": 12,
-                  "endLine": 238,
-                  "endColumn": 19,
+                  "startLine": 260,
+                  "startColumn": 10,
+                  "endLine": 260,
+                  "endColumn": 17,
                   "byteLength": 7
                 }
               }
@@ -22047,9 +25344,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 117,
+                  "startLine": 119,
                   "startColumn": 14,
-                  "endLine": 117,
+                  "endLine": 119,
                   "endColumn": 20,
                   "byteLength": 6
                 }
@@ -22070,9 +25367,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 117,
+                  "startLine": 119,
                   "startColumn": 14,
-                  "endLine": 117,
+                  "endLine": 119,
                   "endColumn": 20,
                   "byteLength": 6
                 }
@@ -22095,9 +25392,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 117,
+                  "startLine": 119,
                   "startColumn": 14,
-                  "endLine": 117,
+                  "endLine": 119,
                   "endColumn": 20,
                   "byteLength": 6
                 }
@@ -22164,9 +25461,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 108,
+                  "startLine": 109,
                   "startColumn": 27,
-                  "endLine": 108,
+                  "endLine": 109,
                   "endColumn": 41,
                   "byteLength": 14
                 }
@@ -22187,9 +25484,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 104,
+                  "startLine": 105,
                   "startColumn": 25,
-                  "endLine": 104,
+                  "endLine": 105,
                   "endColumn": 40,
                   "byteLength": 15
                 }
@@ -22210,9 +25507,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 107,
+                  "startLine": 108,
                   "startColumn": 28,
-                  "endLine": 107,
+                  "endLine": 108,
                   "endColumn": 43,
                   "byteLength": 15
                 }
@@ -22233,9 +25530,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 111,
+                  "startLine": 113,
                   "startColumn": 28,
-                  "endLine": 111,
+                  "endLine": 113,
                   "endColumn": 48,
                   "byteLength": 20
                 }
@@ -22256,9 +25553,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 112,
+                  "startLine": 114,
                   "startColumn": 34,
-                  "endLine": 112,
+                  "endLine": 114,
                   "endColumn": 54,
                   "byteLength": 20
                 }
@@ -22270,7 +25567,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "position_subset." },
+          "message": { "text": "endptr_same_base." },
           "locations": [
             {
               "physicalLocation": {
@@ -22279,11 +25576,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 113,
-                  "startColumn": 29,
-                  "endLine": 113,
-                  "endColumn": 60,
-                  "byteLength": 31
+                  "startLine": 115,
+                  "startColumn": 30,
+                  "endLine": 115,
+                  "endColumn": 69,
+                  "byteLength": 39
                 }
               }
             }
@@ -22325,9 +25622,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 117,
+                  "startLine": 119,
                   "startColumn": 14,
-                  "endLine": 117,
+                  "endLine": 119,
                   "endColumn": 20,
                   "byteLength": 6
                 }
@@ -22348,9 +25645,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 109,
+                  "startLine": 110,
                   "startColumn": 12,
-                  "endLine": 109,
+                  "endLine": 110,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -22423,9 +25720,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 105,
+                  "startLine": 106,
                   "startColumn": 12,
-                  "endLine": 105,
+                  "endLine": 106,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -22448,9 +25745,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 109,
+                  "startLine": 110,
                   "startColumn": 12,
-                  "endLine": 109,
+                  "endLine": 110,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -22473,9 +25770,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 110,
+                  "startLine": 111,
                   "startColumn": 12,
-                  "endLine": 110,
+                  "endLine": 111,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -22496,9 +25793,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 117,
+                  "startLine": 119,
                   "startColumn": 14,
-                  "endLine": 117,
+                  "endLine": 119,
                   "endColumn": 20,
                   "byteLength": 6
                 }
@@ -22519,9 +25816,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 117,
+                  "startLine": 119,
                   "startColumn": 14,
-                  "endLine": 117,
+                  "endLine": 119,
                   "endColumn": 20,
                   "byteLength": 6
                 }
@@ -22542,9 +25839,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 139,
+                  "startLine": 142,
                   "startColumn": 13,
-                  "endLine": 139,
+                  "endLine": 142,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -22565,9 +25862,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 139,
+                  "startLine": 142,
                   "startColumn": 13,
-                  "endLine": 139,
+                  "endLine": 142,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -22590,9 +25887,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 139,
+                  "startLine": 142,
                   "startColumn": 13,
-                  "endLine": 139,
+                  "endLine": 142,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -22613,9 +25910,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 121,
+                  "startLine": 123,
                   "startColumn": 30,
-                  "endLine": 121,
+                  "endLine": 123,
                   "endColumn": 53,
                   "byteLength": 23
                 }
@@ -22636,9 +25933,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 122,
+                  "startLine": 124,
                   "startColumn": 23,
-                  "endLine": 122,
+                  "endLine": 124,
                   "endColumn": 47,
                   "byteLength": 24
                 }
@@ -22659,9 +25956,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 130,
+                  "startLine": 133,
                   "startColumn": 27,
-                  "endLine": 130,
+                  "endLine": 133,
                   "endColumn": 41,
                   "byteLength": 14
                 }
@@ -22682,9 +25979,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 126,
+                  "startLine": 129,
                   "startColumn": 25,
-                  "endLine": 126,
+                  "endLine": 129,
                   "endColumn": 40,
                   "byteLength": 15
                 }
@@ -22705,9 +26002,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 129,
+                  "startLine": 132,
                   "startColumn": 28,
-                  "endLine": 129,
+                  "endLine": 132,
                   "endColumn": 43,
                   "byteLength": 15
                 }
@@ -22728,9 +26025,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 133,
+                  "startLine": 136,
                   "startColumn": 28,
-                  "endLine": 133,
+                  "endLine": 136,
                   "endColumn": 48,
                   "byteLength": 20
                 }
@@ -22751,9 +26048,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 134,
+                  "startLine": 137,
                   "startColumn": 34,
-                  "endLine": 134,
+                  "endLine": 137,
                   "endColumn": 54,
                   "byteLength": 20
                 }
@@ -22765,7 +26062,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "position_subset." },
+          "message": { "text": "endptr_same_base." },
           "locations": [
             {
               "physicalLocation": {
@@ -22774,11 +26071,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 135,
-                  "startColumn": 29,
-                  "endLine": 135,
-                  "endColumn": 60,
-                  "byteLength": 31
+                  "startLine": 138,
+                  "startColumn": 30,
+                  "endLine": 138,
+                  "endColumn": 69,
+                  "byteLength": 39
                 }
               }
             }
@@ -22797,9 +26094,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 123,
+                  "startLine": 125,
                   "startColumn": 10,
-                  "endLine": 123,
+                  "endLine": 125,
                   "endColumn": 17,
                   "byteLength": 7
                 }
@@ -22820,9 +26117,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 139,
+                  "startLine": 142,
                   "startColumn": 13,
-                  "endLine": 139,
+                  "endLine": 142,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -22843,9 +26140,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 131,
+                  "startLine": 134,
                   "startColumn": 12,
-                  "endLine": 131,
+                  "endLine": 134,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -22868,9 +26165,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 123,
+                  "startLine": 125,
                   "startColumn": 10,
-                  "endLine": 123,
+                  "endLine": 125,
                   "endColumn": 17,
                   "byteLength": 7
                 }
@@ -22893,9 +26190,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 124,
+                  "startLine": 126,
                   "startColumn": 10,
-                  "endLine": 124,
+                  "endLine": 126,
                   "endColumn": 17,
                   "byteLength": 7
                 }
@@ -22918,9 +26215,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 127,
+                  "startLine": 130,
                   "startColumn": 12,
-                  "endLine": 127,
+                  "endLine": 130,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -22943,9 +26240,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 131,
+                  "startLine": 134,
                   "startColumn": 12,
-                  "endLine": 131,
+                  "endLine": 134,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -22968,9 +26265,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 132,
+                  "startLine": 135,
                   "startColumn": 12,
-                  "endLine": 132,
+                  "endLine": 135,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -22991,9 +26288,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 139,
+                  "startLine": 142,
                   "startColumn": 13,
-                  "endLine": 139,
+                  "endLine": 142,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -23014,9 +26311,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 139,
+                  "startLine": 142,
                   "startColumn": 13,
-                  "endLine": 139,
+                  "endLine": 142,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -23037,9 +26334,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 299,
+                  "startLine": 334,
                   "startColumn": 13,
-                  "endLine": 299,
+                  "endLine": 334,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -23060,9 +26357,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 299,
+                  "startLine": 334,
                   "startColumn": 13,
-                  "endLine": 299,
+                  "endLine": 334,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -23083,9 +26380,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 299,
+                  "startLine": 334,
                   "startColumn": 13,
-                  "endLine": 299,
+                  "endLine": 334,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -23106,9 +26403,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 261,
+                  "startLine": 287,
                   "startColumn": 31,
-                  "endLine": 261,
+                  "endLine": 287,
                   "endColumn": 55,
                   "byteLength": 24
                 }
@@ -23116,6 +26413,29 @@
             }
           ]
         },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "separation." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 288,
+                  "startColumn": 23,
+                  "endLine": 288,
+                  "endColumn": 77,
+                  "byteLength": 54
+                }
+              }
+            }
+          ]
+        },
         {
           "ruleId": "user-spec",
           "kind": "pass",
@@ -23129,9 +26449,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 274,
+                  "startLine": 301,
                   "startColumn": 6,
-                  "endLine": 276,
+                  "endLine": 303,
                   "endColumn": 70,
                   "byteLength": 120
                 }
@@ -23152,9 +26472,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 284,
+                  "startLine": 315,
                   "startColumn": 29,
-                  "endLine": 284,
+                  "endLine": 315,
                   "endColumn": 53,
                   "byteLength": 24
                 }
@@ -23175,9 +26495,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 272,
+                  "startLine": 299,
                   "startColumn": 24,
-                  "endLine": 272,
+                  "endLine": 299,
                   "endColumn": 34,
                   "byteLength": 10
                 }
@@ -23198,9 +26518,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 283,
+                  "startLine": 314,
                   "startColumn": 20,
-                  "endLine": 283,
+                  "endLine": 314,
                   "endColumn": 30,
                   "byteLength": 10
                 }
@@ -23212,7 +26532,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_subset." },
+          "message": { "text": "result_same_base." },
           "locations": [
             {
               "physicalLocation": {
@@ -23221,11 +26541,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 280,
-                  "startColumn": 27,
-                  "endLine": 280,
-                  "endColumn": 72,
-                  "byteLength": 45
+                  "startLine": 309,
+                  "startColumn": 6,
+                  "endLine": 310,
+                  "endColumn": 74,
+                  "byteLength": 94
                 }
               }
             }
@@ -23235,7 +26555,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "ptr_subset." },
+          "message": { "text": "ptr_valid_string." },
           "locations": [
             {
               "physicalLocation": {
@@ -23244,11 +26564,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 281,
-                  "startColumn": 24,
-                  "endLine": 281,
-                  "endColumn": 57,
-                  "byteLength": 33
+                  "startLine": 311,
+                  "startColumn": 30,
+                  "endLine": 311,
+                  "endColumn": 64,
+                  "byteLength": 34
                 }
               }
             }
@@ -23258,7 +26578,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_subset." },
+          "message": { "text": "ptr_same_base." },
           "locations": [
             {
               "physicalLocation": {
@@ -23267,11 +26587,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 293,
+                  "startLine": 312,
                   "startColumn": 27,
-                  "endLine": 294,
-                  "endColumn": 72,
-                  "byteLength": 92
+                  "endLine": 312,
+                  "endColumn": 71,
+                  "byteLength": 44
                 }
               }
             }
@@ -23281,7 +26601,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "ptr_subset." },
+          "message": { "text": "result_same_base." },
           "locations": [
             {
               "physicalLocation": {
@@ -23290,11 +26610,57 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 295,
-                  "startColumn": 24,
-                  "endLine": 295,
-                  "endColumn": 77,
-                  "byteLength": 53
+                  "startLine": 325,
+                  "startColumn": 6,
+                  "endLine": 327,
+                  "endColumn": 65,
+                  "byteLength": 122
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "ptr_valid_string." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 328,
+                  "startColumn": 30,
+                  "endLine": 328,
+                  "endColumn": 64,
+                  "byteLength": 34
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "ptr_same_base." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 330,
+                  "startColumn": 6,
+                  "endLine": 330,
+                  "endColumn": 70,
+                  "byteLength": 64
                 }
               }
             }
@@ -23313,9 +26679,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 262,
+                  "startLine": 289,
                   "startColumn": 10,
-                  "endLine": 262,
+                  "endLine": 289,
                   "endColumn": 16,
                   "byteLength": 6
                 }
@@ -23336,9 +26702,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 277,
+                  "startLine": 304,
                   "startColumn": 12,
-                  "endLine": 277,
+                  "endLine": 304,
                   "endColumn": 27,
                   "byteLength": 15
                 }
@@ -23359,9 +26725,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 285,
+                  "startLine": 316,
                   "startColumn": 12,
-                  "endLine": 285,
+                  "endLine": 316,
                   "endColumn": 32,
                   "byteLength": 20
                 }
@@ -23384,9 +26750,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 262,
+                  "startLine": 289,
                   "startColumn": 10,
-                  "endLine": 262,
+                  "endLine": 289,
                   "endColumn": 16,
                   "byteLength": 6
                 }
@@ -23409,9 +26775,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 264,
+                  "startLine": 291,
                   "startColumn": 10,
-                  "endLine": 264,
+                  "endLine": 291,
                   "endColumn": 30,
                   "byteLength": 20
                 }
@@ -23434,9 +26800,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 266,
+                  "startLine": 293,
                   "startColumn": 10,
-                  "endLine": 266,
+                  "endLine": 293,
                   "endColumn": 17,
                   "byteLength": 7
                 }
@@ -23459,9 +26825,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 268,
+                  "startLine": 295,
                   "startColumn": 10,
-                  "endLine": 268,
+                  "endLine": 295,
                   "endColumn": 25,
                   "byteLength": 15
                 }
@@ -23484,9 +26850,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 277,
+                  "startLine": 304,
                   "startColumn": 12,
-                  "endLine": 277,
+                  "endLine": 304,
                   "endColumn": 27,
                   "byteLength": 15
                 }
@@ -23509,9 +26875,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 278,
+                  "startLine": 306,
                   "startColumn": 12,
-                  "endLine": 278,
+                  "endLine": 306,
                   "endColumn": 18,
                   "byteLength": 6
                 }
@@ -23534,9 +26900,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 279,
+                  "startLine": 307,
                   "startColumn": 12,
-                  "endLine": 279,
+                  "endLine": 307,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -23559,9 +26925,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 285,
+                  "startLine": 316,
                   "startColumn": 12,
-                  "endLine": 285,
+                  "endLine": 316,
                   "endColumn": 32,
                   "byteLength": 20
                 }
@@ -23584,9 +26950,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 288,
+                  "startLine": 319,
                   "startColumn": 12,
-                  "endLine": 288,
+                  "endLine": 319,
                   "endColumn": 27,
                   "byteLength": 15
                 }
@@ -23609,9 +26975,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 291,
+                  "startLine": 322,
                   "startColumn": 12,
-                  "endLine": 291,
+                  "endLine": 322,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -23632,9 +26998,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 299,
+                  "startLine": 334,
                   "startColumn": 13,
-                  "endLine": 299,
+                  "endLine": 334,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -23655,9 +27021,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 299,
+                  "startLine": 334,
                   "startColumn": 13,
-                  "endLine": 299,
+                  "endLine": 334,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -23678,9 +27044,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 343,
+                  "startLine": 387,
                   "startColumn": 13,
-                  "endLine": 343,
+                  "endLine": 387,
                   "endColumn": 21,
                   "byteLength": 8
                 }
@@ -23701,9 +27067,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 343,
+                  "startLine": 387,
                   "startColumn": 13,
-                  "endLine": 343,
+                  "endLine": 387,
                   "endColumn": 21,
                   "byteLength": 8
                 }
@@ -23724,9 +27090,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 343,
+                  "startLine": 387,
                   "startColumn": 13,
-                  "endLine": 343,
+                  "endLine": 387,
                   "endColumn": 21,
                   "byteLength": 8
                 }
@@ -23747,9 +27113,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 302,
+                  "startLine": 337,
                   "startColumn": 31,
-                  "endLine": 302,
+                  "endLine": 337,
                   "endColumn": 55,
                   "byteLength": 24
                 }
@@ -23757,6 +27123,29 @@
             }
           ]
         },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "separation." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 338,
+                  "startColumn": 23,
+                  "endLine": 339,
+                  "endColumn": 49,
+                  "byteLength": 104
+                }
+              }
+            }
+          ]
+        },
         {
           "ruleId": "user-spec",
           "kind": "pass",
@@ -23770,9 +27159,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 303,
+                  "startLine": 340,
                   "startColumn": 26,
-                  "endLine": 303,
+                  "endLine": 340,
                   "endColumn": 41,
                   "byteLength": 15
                 }
@@ -23793,9 +27182,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 316,
+                  "startLine": 353,
                   "startColumn": 6,
-                  "endLine": 318,
+                  "endLine": 355,
                   "endColumn": 70,
                   "byteLength": 120
                 }
@@ -23816,9 +27205,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 327,
+                  "startLine": 367,
                   "startColumn": 29,
-                  "endLine": 327,
+                  "endLine": 367,
                   "endColumn": 46,
                   "byteLength": 17
                 }
@@ -23839,9 +27228,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 328,
+                  "startLine": 368,
                   "startColumn": 37,
-                  "endLine": 328,
+                  "endLine": 368,
                   "endColumn": 58,
                   "byteLength": 21
                 }
@@ -23862,9 +27251,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 314,
+                  "startLine": 351,
                   "startColumn": 24,
-                  "endLine": 314,
+                  "endLine": 351,
                   "endColumn": 34,
                   "byteLength": 10
                 }
@@ -23885,9 +27274,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 326,
+                  "startLine": 366,
                   "startColumn": 20,
-                  "endLine": 326,
+                  "endLine": 366,
                   "endColumn": 30,
                   "byteLength": 10
                 }
@@ -23899,7 +27288,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_subset." },
+          "message": { "text": "result_same_base." },
           "locations": [
             {
               "physicalLocation": {
@@ -23908,11 +27297,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 322,
-                  "startColumn": 27,
-                  "endLine": 322,
-                  "endColumn": 72,
-                  "byteLength": 45
+                  "startLine": 361,
+                  "startColumn": 6,
+                  "endLine": 362,
+                  "endColumn": 74,
+                  "byteLength": 94
                 }
               }
             }
@@ -23922,7 +27311,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "initialization." },
+          "message": { "text": "saveptr_valid_string." },
           "locations": [
             {
               "physicalLocation": {
@@ -23931,11 +27320,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 323,
-                  "startColumn": 28,
-                  "endLine": 323,
-                  "endColumn": 49,
-                  "byteLength": 21
+                  "startLine": 363,
+                  "startColumn": 34,
+                  "endLine": 363,
+                  "endColumn": 61,
+                  "byteLength": 27
                 }
               }
             }
@@ -23945,7 +27334,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "saveptr_subset." },
+          "message": { "text": "saveptr_same_base." },
           "locations": [
             {
               "physicalLocation": {
@@ -23954,11 +27343,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 324,
-                  "startColumn": 28,
-                  "endLine": 324,
-                  "endColumn": 54,
-                  "byteLength": 26
+                  "startLine": 364,
+                  "startColumn": 31,
+                  "endLine": 364,
+                  "endColumn": 68,
+                  "byteLength": 37
                 }
               }
             }
@@ -23968,7 +27357,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_subset." },
+          "message": { "text": "result_same_base." },
           "locations": [
             {
               "physicalLocation": {
@@ -23977,11 +27366,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 337,
-                  "startColumn": 27,
-                  "endLine": 338,
-                  "endColumn": 65,
-                  "byteLength": 85
+                  "startLine": 378,
+                  "startColumn": 6,
+                  "endLine": 380,
+                  "endColumn": 58,
+                  "byteLength": 115
                 }
               }
             }
@@ -23991,7 +27380,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "saveptr_subset." },
+          "message": { "text": "saveptr_valid_string." },
           "locations": [
             {
               "physicalLocation": {
@@ -24000,11 +27389,34 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 339,
-                  "startColumn": 28,
-                  "endLine": 339,
-                  "endColumn": 67,
-                  "byteLength": 39
+                  "startLine": 381,
+                  "startColumn": 34,
+                  "endLine": 381,
+                  "endColumn": 61,
+                  "byteLength": 27
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "saveptr_same_base." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 383,
+                  "startColumn": 6,
+                  "endLine": 383,
+                  "endColumn": 56,
+                  "byteLength": 50
                 }
               }
             }
@@ -24023,9 +27435,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 304,
+                  "startLine": 341,
                   "startColumn": 10,
-                  "endLine": 304,
+                  "endLine": 341,
                   "endColumn": 16,
                   "byteLength": 6
                 }
@@ -24046,9 +27458,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 319,
+                  "startLine": 356,
                   "startColumn": 12,
-                  "endLine": 319,
+                  "endLine": 356,
                   "endColumn": 20,
                   "byteLength": 8
                 }
@@ -24069,9 +27481,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 329,
+                  "startLine": 369,
                   "startColumn": 12,
-                  "endLine": 329,
+                  "endLine": 369,
                   "endColumn": 27,
                   "byteLength": 15
                 }
@@ -24094,9 +27506,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 304,
+                  "startLine": 341,
                   "startColumn": 10,
-                  "endLine": 304,
+                  "endLine": 341,
                   "endColumn": 16,
                   "byteLength": 6
                 }
@@ -24119,9 +27531,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 306,
+                  "startLine": 343,
                   "startColumn": 10,
-                  "endLine": 306,
+                  "endLine": 343,
                   "endColumn": 25,
                   "byteLength": 15
                 }
@@ -24144,9 +27556,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 308,
+                  "startLine": 345,
                   "startColumn": 10,
-                  "endLine": 308,
+                  "endLine": 345,
                   "endColumn": 17,
                   "byteLength": 7
                 }
@@ -24169,9 +27581,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 310,
+                  "startLine": 347,
                   "startColumn": 10,
-                  "endLine": 310,
+                  "endLine": 347,
                   "endColumn": 18,
                   "byteLength": 8
                 }
@@ -24194,9 +27606,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 319,
+                  "startLine": 356,
                   "startColumn": 12,
-                  "endLine": 319,
+                  "endLine": 356,
                   "endColumn": 20,
                   "byteLength": 8
                 }
@@ -24219,9 +27631,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 320,
+                  "startLine": 358,
                   "startColumn": 12,
-                  "endLine": 320,
+                  "endLine": 358,
                   "endColumn": 18,
                   "byteLength": 6
                 }
@@ -24244,9 +27656,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 321,
+                  "startLine": 359,
                   "startColumn": 12,
-                  "endLine": 321,
+                  "endLine": 359,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -24269,9 +27681,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 329,
+                  "startLine": 369,
                   "startColumn": 12,
-                  "endLine": 329,
+                  "endLine": 369,
                   "endColumn": 27,
                   "byteLength": 15
                 }
@@ -24294,9 +27706,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 332,
+                  "startLine": 372,
                   "startColumn": 12,
-                  "endLine": 332,
+                  "endLine": 372,
                   "endColumn": 20,
                   "byteLength": 8
                 }
@@ -24319,9 +27731,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 335,
+                  "startLine": 375,
                   "startColumn": 12,
-                  "endLine": 335,
+                  "endLine": 375,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -24342,9 +27754,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 343,
+                  "startLine": 387,
                   "startColumn": 13,
-                  "endLine": 343,
+                  "endLine": 387,
                   "endColumn": 21,
                   "byteLength": 8
                 }
@@ -24365,9 +27777,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 343,
+                  "startLine": 387,
                   "startColumn": 13,
-                  "endLine": 343,
+                  "endLine": 387,
                   "endColumn": 21,
                   "byteLength": 8
                 }
@@ -24388,9 +27800,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 185,
+                  "startLine": 195,
                   "startColumn": 16,
-                  "endLine": 185,
+                  "endLine": 195,
                   "endColumn": 22,
                   "byteLength": 6
                 }
@@ -24411,9 +27823,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 185,
+                  "startLine": 195,
                   "startColumn": 16,
-                  "endLine": 185,
+                  "endLine": 195,
                   "endColumn": 22,
                   "byteLength": 6
                 }
@@ -24436,9 +27848,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 185,
+                  "startLine": 195,
                   "startColumn": 16,
-                  "endLine": 185,
+                  "endLine": 195,
                   "endColumn": 22,
                   "byteLength": 6
                 }
@@ -24459,9 +27871,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 166,
+                  "startLine": 171,
                   "startColumn": 30,
-                  "endLine": 166,
+                  "endLine": 171,
                   "endColumn": 53,
                   "byteLength": 23
                 }
@@ -24482,9 +27894,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 167,
+                  "startLine": 172,
                   "startColumn": 23,
-                  "endLine": 167,
+                  "endLine": 172,
                   "endColumn": 47,
                   "byteLength": 24
                 }
@@ -24505,9 +27917,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 168,
+                  "startLine": 173,
                   "startColumn": 23,
-                  "endLine": 168,
+                  "endLine": 173,
                   "endColumn": 51,
                   "byteLength": 28
                 }
@@ -24528,9 +27940,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 176,
+                  "startLine": 184,
                   "startColumn": 27,
-                  "endLine": 176,
+                  "endLine": 184,
                   "endColumn": 41,
                   "byteLength": 14
                 }
@@ -24551,9 +27963,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 172,
+                  "startLine": 179,
                   "startColumn": 25,
-                  "endLine": 172,
+                  "endLine": 179,
                   "endColumn": 40,
                   "byteLength": 15
                 }
@@ -24574,9 +27986,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 175,
+                  "startLine": 183,
                   "startColumn": 28,
-                  "endLine": 175,
+                  "endLine": 183,
                   "endColumn": 43,
                   "byteLength": 15
                 }
@@ -24597,9 +28009,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 179,
+                  "startLine": 189,
                   "startColumn": 28,
-                  "endLine": 179,
+                  "endLine": 189,
                   "endColumn": 48,
                   "byteLength": 20
                 }
@@ -24620,9 +28032,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 180,
+                  "startLine": 190,
                   "startColumn": 34,
-                  "endLine": 180,
+                  "endLine": 190,
                   "endColumn": 54,
                   "byteLength": 20
                 }
@@ -24634,7 +28046,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "position_subset." },
+          "message": { "text": "endptr_same_base." },
           "locations": [
             {
               "physicalLocation": {
@@ -24643,11 +28055,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 181,
-                  "startColumn": 29,
-                  "endLine": 181,
-                  "endColumn": 60,
-                  "byteLength": 31
+                  "startLine": 191,
+                  "startColumn": 30,
+                  "endLine": 191,
+                  "endColumn": 69,
+                  "byteLength": 39
                 }
               }
             }
@@ -24666,9 +28078,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 169,
+                  "startLine": 174,
                   "startColumn": 10,
-                  "endLine": 169,
+                  "endLine": 174,
                   "endColumn": 17,
                   "byteLength": 7
                 }
@@ -24689,9 +28101,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 185,
+                  "startLine": 195,
                   "startColumn": 16,
-                  "endLine": 185,
+                  "endLine": 195,
                   "endColumn": 22,
                   "byteLength": 6
                 }
@@ -24712,9 +28124,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 177,
+                  "startLine": 185,
                   "startColumn": 12,
-                  "endLine": 177,
+                  "endLine": 185,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -24737,9 +28149,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 169,
+                  "startLine": 174,
                   "startColumn": 10,
-                  "endLine": 169,
+                  "endLine": 174,
                   "endColumn": 17,
                   "byteLength": 7
                 }
@@ -24762,9 +28174,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 170,
+                  "startLine": 176,
                   "startColumn": 10,
-                  "endLine": 170,
+                  "endLine": 176,
                   "endColumn": 17,
                   "byteLength": 7
                 }
@@ -24787,9 +28199,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 173,
+                  "startLine": 180,
                   "startColumn": 12,
-                  "endLine": 173,
+                  "endLine": 180,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -24812,9 +28224,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 177,
+                  "startLine": 185,
                   "startColumn": 12,
-                  "endLine": 177,
+                  "endLine": 185,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -24837,9 +28249,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 178,
+                  "startLine": 187,
                   "startColumn": 12,
-                  "endLine": 178,
+                  "endLine": 187,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -24860,9 +28272,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 185,
+                  "startLine": 195,
                   "startColumn": 16,
-                  "endLine": 185,
+                  "endLine": 195,
                   "endColumn": 22,
                   "byteLength": 6
                 }
@@ -24883,9 +28295,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 185,
+                  "startLine": 195,
                   "startColumn": 16,
-                  "endLine": 185,
+                  "endLine": 195,
                   "endColumn": 22,
                   "byteLength": 6
                 }
@@ -24906,9 +28318,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 161,
+                  "startLine": 166,
                   "startColumn": 19,
-                  "endLine": 161,
+                  "endLine": 166,
                   "endColumn": 26,
                   "byteLength": 7
                 }
@@ -24929,9 +28341,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 161,
+                  "startLine": 166,
                   "startColumn": 19,
-                  "endLine": 161,
+                  "endLine": 166,
                   "endColumn": 26,
                   "byteLength": 7
                 }
@@ -24954,9 +28366,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 161,
+                  "startLine": 166,
                   "startColumn": 19,
-                  "endLine": 161,
+                  "endLine": 166,
                   "endColumn": 26,
                   "byteLength": 7
                 }
@@ -24977,9 +28389,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 143,
+                  "startLine": 146,
                   "startColumn": 30,
-                  "endLine": 143,
+                  "endLine": 146,
                   "endColumn": 53,
                   "byteLength": 23
                 }
@@ -25000,9 +28412,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 144,
+                  "startLine": 147,
                   "startColumn": 23,
-                  "endLine": 144,
+                  "endLine": 147,
                   "endColumn": 47,
                   "byteLength": 24
                 }
@@ -25023,9 +28435,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 152,
+                  "startLine": 156,
                   "startColumn": 27,
-                  "endLine": 152,
+                  "endLine": 156,
                   "endColumn": 41,
                   "byteLength": 14
                 }
@@ -25046,9 +28458,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 148,
+                  "startLine": 152,
                   "startColumn": 25,
-                  "endLine": 148,
+                  "endLine": 152,
                   "endColumn": 40,
                   "byteLength": 15
                 }
@@ -25069,9 +28481,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 151,
+                  "startLine": 155,
                   "startColumn": 28,
-                  "endLine": 151,
+                  "endLine": 155,
                   "endColumn": 43,
                   "byteLength": 15
                 }
@@ -25092,9 +28504,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 155,
+                  "startLine": 160,
                   "startColumn": 28,
-                  "endLine": 155,
+                  "endLine": 160,
                   "endColumn": 48,
                   "byteLength": 20
                 }
@@ -25115,9 +28527,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 156,
+                  "startLine": 161,
                   "startColumn": 34,
-                  "endLine": 156,
+                  "endLine": 161,
                   "endColumn": 54,
                   "byteLength": 20
                 }
@@ -25129,7 +28541,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "position_subset." },
+          "message": { "text": "endptr_same_base." },
           "locations": [
             {
               "physicalLocation": {
@@ -25138,11 +28550,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 157,
-                  "startColumn": 29,
-                  "endLine": 157,
-                  "endColumn": 60,
-                  "byteLength": 31
+                  "startLine": 162,
+                  "startColumn": 30,
+                  "endLine": 162,
+                  "endColumn": 69,
+                  "byteLength": 39
                 }
               }
             }
@@ -25161,9 +28573,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 145,
+                  "startLine": 148,
                   "startColumn": 10,
-                  "endLine": 145,
+                  "endLine": 148,
                   "endColumn": 17,
                   "byteLength": 7
                 }
@@ -25184,9 +28596,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 161,
+                  "startLine": 166,
                   "startColumn": 19,
-                  "endLine": 161,
+                  "endLine": 166,
                   "endColumn": 26,
                   "byteLength": 7
                 }
@@ -25207,9 +28619,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 153,
+                  "startLine": 157,
                   "startColumn": 12,
-                  "endLine": 153,
+                  "endLine": 157,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -25232,9 +28644,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 145,
+                  "startLine": 148,
                   "startColumn": 10,
-                  "endLine": 145,
+                  "endLine": 148,
                   "endColumn": 17,
                   "byteLength": 7
                 }
@@ -25257,9 +28669,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 146,
+                  "startLine": 149,
                   "startColumn": 10,
-                  "endLine": 146,
+                  "endLine": 149,
                   "endColumn": 17,
                   "byteLength": 7
                 }
@@ -25282,9 +28694,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 149,
+                  "startLine": 153,
                   "startColumn": 12,
-                  "endLine": 149,
+                  "endLine": 153,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -25307,9 +28719,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 153,
+                  "startLine": 157,
                   "startColumn": 12,
-                  "endLine": 153,
+                  "endLine": 157,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -25332,9 +28744,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 154,
+                  "startLine": 158,
                   "startColumn": 12,
-                  "endLine": 154,
+                  "endLine": 158,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -25355,9 +28767,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 161,
+                  "startLine": 166,
                   "startColumn": 19,
-                  "endLine": 161,
+                  "endLine": 166,
                   "endColumn": 26,
                   "byteLength": 7
                 }
@@ -25378,9 +28790,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 161,
+                  "startLine": 166,
                   "startColumn": 19,
-                  "endLine": 161,
+                  "endLine": 166,
                   "endColumn": 26,
                   "byteLength": 7
                 }
@@ -25401,9 +28813,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 210,
+                  "startLine": 225,
                   "startColumn": 21,
-                  "endLine": 210,
+                  "endLine": 225,
                   "endColumn": 28,
                   "byteLength": 7
                 }
@@ -25424,9 +28836,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 210,
+                  "startLine": 225,
                   "startColumn": 21,
-                  "endLine": 210,
+                  "endLine": 225,
                   "endColumn": 28,
                   "byteLength": 7
                 }
@@ -25449,9 +28861,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 210,
+                  "startLine": 225,
                   "startColumn": 21,
-                  "endLine": 210,
+                  "endLine": 225,
                   "endColumn": 28,
                   "byteLength": 7
                 }
@@ -25472,9 +28884,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 191,
+                  "startLine": 201,
                   "startColumn": 30,
-                  "endLine": 191,
+                  "endLine": 201,
                   "endColumn": 53,
                   "byteLength": 23
                 }
@@ -25495,9 +28907,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 192,
+                  "startLine": 202,
                   "startColumn": 23,
-                  "endLine": 192,
+                  "endLine": 202,
                   "endColumn": 47,
                   "byteLength": 24
                 }
@@ -25518,9 +28930,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 193,
+                  "startLine": 203,
                   "startColumn": 23,
-                  "endLine": 193,
+                  "endLine": 203,
                   "endColumn": 51,
                   "byteLength": 28
                 }
@@ -25541,9 +28953,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 201,
+                  "startLine": 214,
                   "startColumn": 27,
-                  "endLine": 201,
+                  "endLine": 214,
                   "endColumn": 41,
                   "byteLength": 14
                 }
@@ -25564,9 +28976,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 197,
+                  "startLine": 209,
                   "startColumn": 25,
-                  "endLine": 197,
+                  "endLine": 209,
                   "endColumn": 40,
                   "byteLength": 15
                 }
@@ -25587,9 +28999,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 200,
+                  "startLine": 213,
                   "startColumn": 28,
-                  "endLine": 200,
+                  "endLine": 213,
                   "endColumn": 43,
                   "byteLength": 15
                 }
@@ -25610,9 +29022,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 204,
+                  "startLine": 219,
                   "startColumn": 28,
-                  "endLine": 204,
+                  "endLine": 219,
                   "endColumn": 48,
                   "byteLength": 20
                 }
@@ -25633,9 +29045,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 205,
+                  "startLine": 220,
                   "startColumn": 34,
-                  "endLine": 205,
+                  "endLine": 220,
                   "endColumn": 54,
                   "byteLength": 20
                 }
@@ -25647,7 +29059,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "position_subset." },
+          "message": { "text": "endptr_same_base." },
           "locations": [
             {
               "physicalLocation": {
@@ -25656,11 +29068,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 206,
-                  "startColumn": 29,
-                  "endLine": 206,
-                  "endColumn": 60,
-                  "byteLength": 31
+                  "startLine": 221,
+                  "startColumn": 30,
+                  "endLine": 221,
+                  "endColumn": 69,
+                  "byteLength": 39
                 }
               }
             }
@@ -25679,9 +29091,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 194,
+                  "startLine": 204,
                   "startColumn": 10,
-                  "endLine": 194,
+                  "endLine": 204,
                   "endColumn": 17,
                   "byteLength": 7
                 }
@@ -25702,9 +29114,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 210,
+                  "startLine": 225,
                   "startColumn": 21,
-                  "endLine": 210,
+                  "endLine": 225,
                   "endColumn": 28,
                   "byteLength": 7
                 }
@@ -25725,9 +29137,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 202,
+                  "startLine": 215,
                   "startColumn": 12,
-                  "endLine": 202,
+                  "endLine": 215,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -25750,9 +29162,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 194,
+                  "startLine": 204,
                   "startColumn": 10,
-                  "endLine": 194,
+                  "endLine": 204,
                   "endColumn": 17,
                   "byteLength": 7
                 }
@@ -25775,9 +29187,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 195,
+                  "startLine": 206,
                   "startColumn": 10,
-                  "endLine": 195,
+                  "endLine": 206,
                   "endColumn": 17,
                   "byteLength": 7
                 }
@@ -25800,9 +29212,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 198,
+                  "startLine": 210,
                   "startColumn": 12,
-                  "endLine": 198,
+                  "endLine": 210,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -25825,9 +29237,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 202,
+                  "startLine": 215,
                   "startColumn": 12,
-                  "endLine": 202,
+                  "endLine": 215,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -25850,9 +29262,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 203,
+                  "startLine": 217,
                   "startColumn": 12,
-                  "endLine": 203,
+                  "endLine": 217,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -25873,9 +29285,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 210,
+                  "startLine": 225,
                   "startColumn": 21,
-                  "endLine": 210,
+                  "endLine": 225,
                   "endColumn": 28,
                   "byteLength": 7
                 }
@@ -25896,9 +29308,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 210,
+                  "startLine": 225,
                   "startColumn": 21,
-                  "endLine": 210,
+                  "endLine": 225,
                   "endColumn": 28,
                   "byteLength": 7
                 }
@@ -25919,9 +29331,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 235,
+                  "startLine": 255,
                   "startColumn": 25,
-                  "endLine": 235,
+                  "endLine": 255,
                   "endColumn": 32,
                   "byteLength": 7
                 }
@@ -25942,9 +29354,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 235,
+                  "startLine": 255,
                   "startColumn": 25,
-                  "endLine": 235,
+                  "endLine": 255,
                   "endColumn": 32,
                   "byteLength": 7
                 }
@@ -25967,9 +29379,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 235,
+                  "startLine": 255,
                   "startColumn": 25,
-                  "endLine": 235,
+                  "endLine": 255,
                   "endColumn": 32,
                   "byteLength": 7
                 }
@@ -25990,9 +29402,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 216,
+                  "startLine": 231,
                   "startColumn": 30,
-                  "endLine": 216,
+                  "endLine": 231,
                   "endColumn": 53,
                   "byteLength": 23
                 }
@@ -26013,9 +29425,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 217,
+                  "startLine": 232,
                   "startColumn": 23,
-                  "endLine": 217,
+                  "endLine": 232,
                   "endColumn": 47,
                   "byteLength": 24
                 }
@@ -26036,9 +29448,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 218,
+                  "startLine": 233,
                   "startColumn": 23,
-                  "endLine": 218,
+                  "endLine": 233,
                   "endColumn": 51,
                   "byteLength": 28
                 }
@@ -26059,9 +29471,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 226,
+                  "startLine": 244,
                   "startColumn": 27,
-                  "endLine": 226,
+                  "endLine": 244,
                   "endColumn": 41,
                   "byteLength": 14
                 }
@@ -26082,9 +29494,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 222,
+                  "startLine": 239,
                   "startColumn": 25,
-                  "endLine": 222,
+                  "endLine": 239,
                   "endColumn": 40,
                   "byteLength": 15
                 }
@@ -26105,9 +29517,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 225,
+                  "startLine": 243,
                   "startColumn": 28,
-                  "endLine": 225,
+                  "endLine": 243,
                   "endColumn": 43,
                   "byteLength": 15
                 }
@@ -26128,9 +29540,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 229,
+                  "startLine": 249,
                   "startColumn": 28,
-                  "endLine": 229,
+                  "endLine": 249,
                   "endColumn": 48,
                   "byteLength": 20
                 }
@@ -26151,9 +29563,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 230,
+                  "startLine": 250,
                   "startColumn": 34,
-                  "endLine": 230,
+                  "endLine": 250,
                   "endColumn": 54,
                   "byteLength": 20
                 }
@@ -26165,7 +29577,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "position_subset." },
+          "message": { "text": "endptr_same_base." },
           "locations": [
             {
               "physicalLocation": {
@@ -26174,11 +29586,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 231,
-                  "startColumn": 29,
-                  "endLine": 231,
-                  "endColumn": 60,
-                  "byteLength": 31
+                  "startLine": 251,
+                  "startColumn": 30,
+                  "endLine": 251,
+                  "endColumn": 69,
+                  "byteLength": 39
                 }
               }
             }
@@ -26197,9 +29609,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 219,
+                  "startLine": 234,
                   "startColumn": 10,
-                  "endLine": 219,
+                  "endLine": 234,
                   "endColumn": 17,
                   "byteLength": 7
                 }
@@ -26220,9 +29632,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 235,
+                  "startLine": 255,
                   "startColumn": 25,
-                  "endLine": 235,
+                  "endLine": 255,
                   "endColumn": 32,
                   "byteLength": 7
                 }
@@ -26243,9 +29655,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 227,
+                  "startLine": 245,
                   "startColumn": 12,
-                  "endLine": 227,
+                  "endLine": 245,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -26268,9 +29680,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 219,
+                  "startLine": 234,
                   "startColumn": 10,
-                  "endLine": 219,
+                  "endLine": 234,
                   "endColumn": 17,
                   "byteLength": 7
                 }
@@ -26293,9 +29705,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 220,
+                  "startLine": 236,
                   "startColumn": 10,
-                  "endLine": 220,
+                  "endLine": 236,
                   "endColumn": 17,
                   "byteLength": 7
                 }
@@ -26318,9 +29730,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 223,
+                  "startLine": 240,
                   "startColumn": 12,
-                  "endLine": 223,
+                  "endLine": 240,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -26343,9 +29755,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 227,
+                  "startLine": 245,
                   "startColumn": 12,
-                  "endLine": 227,
+                  "endLine": 245,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -26368,9 +29780,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 228,
+                  "startLine": 247,
                   "startColumn": 12,
-                  "endLine": 228,
+                  "endLine": 247,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -26391,9 +29803,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 235,
+                  "startLine": 255,
                   "startColumn": 25,
-                  "endLine": 235,
+                  "endLine": 255,
                   "endColumn": 32,
                   "byteLength": 7
                 }
@@ -26414,9 +29826,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 235,
+                  "startLine": 255,
                   "startColumn": 25,
-                  "endLine": 235,
+                  "endLine": 255,
                   "endColumn": 32,
                   "byteLength": 7
                 }
@@ -26437,9 +29849,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 260,
+                  "startLine": 285,
                   "startColumn": 30,
-                  "endLine": 260,
+                  "endLine": 285,
                   "endColumn": 38,
                   "byteLength": 8
                 }
@@ -26460,9 +29872,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 260,
+                  "startLine": 285,
                   "startColumn": 30,
-                  "endLine": 260,
+                  "endLine": 285,
                   "endColumn": 38,
                   "byteLength": 8
                 }
@@ -26485,9 +29897,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 260,
+                  "startLine": 285,
                   "startColumn": 30,
-                  "endLine": 260,
+                  "endLine": 285,
                   "endColumn": 38,
                   "byteLength": 8
                 }
@@ -26508,9 +29920,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 241,
+                  "startLine": 261,
                   "startColumn": 30,
-                  "endLine": 241,
+                  "endLine": 261,
                   "endColumn": 53,
                   "byteLength": 23
                 }
@@ -26531,9 +29943,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 242,
+                  "startLine": 262,
                   "startColumn": 23,
-                  "endLine": 242,
+                  "endLine": 262,
                   "endColumn": 47,
                   "byteLength": 24
                 }
@@ -26554,9 +29966,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 243,
+                  "startLine": 263,
                   "startColumn": 23,
-                  "endLine": 243,
+                  "endLine": 263,
                   "endColumn": 51,
                   "byteLength": 28
                 }
@@ -26577,9 +29989,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 251,
+                  "startLine": 274,
                   "startColumn": 27,
-                  "endLine": 251,
+                  "endLine": 274,
                   "endColumn": 41,
                   "byteLength": 14
                 }
@@ -26600,9 +30012,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 247,
+                  "startLine": 269,
                   "startColumn": 25,
-                  "endLine": 247,
+                  "endLine": 269,
                   "endColumn": 40,
                   "byteLength": 15
                 }
@@ -26623,9 +30035,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 250,
+                  "startLine": 273,
                   "startColumn": 28,
-                  "endLine": 250,
+                  "endLine": 273,
                   "endColumn": 43,
                   "byteLength": 15
                 }
@@ -26646,9 +30058,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 254,
+                  "startLine": 279,
                   "startColumn": 28,
-                  "endLine": 254,
+                  "endLine": 279,
                   "endColumn": 48,
                   "byteLength": 20
                 }
@@ -26669,9 +30081,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 255,
+                  "startLine": 280,
                   "startColumn": 34,
-                  "endLine": 255,
+                  "endLine": 280,
                   "endColumn": 54,
                   "byteLength": 20
                 }
@@ -26683,7 +30095,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "position_subset." },
+          "message": { "text": "endptr_same_base." },
           "locations": [
             {
               "physicalLocation": {
@@ -26692,11 +30104,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 256,
-                  "startColumn": 29,
-                  "endLine": 256,
-                  "endColumn": 60,
-                  "byteLength": 31
+                  "startLine": 281,
+                  "startColumn": 30,
+                  "endLine": 281,
+                  "endColumn": 69,
+                  "byteLength": 39
                 }
               }
             }
@@ -26715,9 +30127,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 244,
+                  "startLine": 264,
                   "startColumn": 10,
-                  "endLine": 244,
+                  "endLine": 264,
                   "endColumn": 17,
                   "byteLength": 7
                 }
@@ -26738,9 +30150,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 260,
+                  "startLine": 285,
                   "startColumn": 30,
-                  "endLine": 260,
+                  "endLine": 285,
                   "endColumn": 38,
                   "byteLength": 8
                 }
@@ -26761,9 +30173,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 252,
+                  "startLine": 275,
                   "startColumn": 12,
-                  "endLine": 252,
+                  "endLine": 275,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -26786,9 +30198,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 244,
+                  "startLine": 264,
                   "startColumn": 10,
-                  "endLine": 244,
+                  "endLine": 264,
                   "endColumn": 17,
                   "byteLength": 7
                 }
@@ -26811,9 +30223,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 245,
+                  "startLine": 266,
                   "startColumn": 10,
-                  "endLine": 245,
+                  "endLine": 266,
                   "endColumn": 17,
                   "byteLength": 7
                 }
@@ -26836,9 +30248,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 248,
+                  "startLine": 270,
                   "startColumn": 12,
-                  "endLine": 248,
+                  "endLine": 270,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -26861,9 +30273,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 252,
+                  "startLine": 275,
                   "startColumn": 12,
-                  "endLine": 252,
+                  "endLine": 275,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -26886,9 +30298,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 253,
+                  "startLine": 277,
                   "startColumn": 12,
-                  "endLine": 253,
+                  "endLine": 277,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -26909,9 +30321,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 260,
+                  "startLine": 285,
                   "startColumn": 30,
-                  "endLine": 260,
+                  "endLine": 285,
                   "endColumn": 38,
                   "byteLength": 8
                 }
@@ -26932,9 +30344,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 260,
+                  "startLine": 285,
                   "startColumn": 30,
-                  "endLine": 260,
+                  "endLine": 285,
                   "endColumn": 38,
                   "byteLength": 8
                 }
@@ -26955,9 +30367,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 479,
+                  "startLine": 545,
                   "startColumn": 14,
-                  "endLine": 479,
+                  "endLine": 545,
                   "endColumn": 21,
                   "byteLength": 7
                 }
@@ -26978,10 +30390,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 474,
-                  "startColumn": 25,
-                  "endLine": 474,
-                  "endColumn": 48,
+                  "startLine": 539,
+                  "startColumn": 23,
+                  "endLine": 539,
+                  "endColumn": 46,
                   "byteLength": 23
                 }
               }
@@ -27001,16 +30413,39 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 475,
-                  "startColumn": 31,
-                  "endLine": 475,
-                  "endColumn": 53,
+                  "startLine": 540,
+                  "startColumn": 29,
+                  "endLine": 540,
+                  "endColumn": 51,
                   "byteLength": 22
                 }
               }
             }
           ]
         },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "separation." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 541,
+                  "startColumn": 23,
+                  "endLine": 541,
+                  "endColumn": 72,
+                  "byteLength": 49
+                }
+              }
+            }
+          ]
+        },
         {
           "ruleId": "user-spec",
           "kind": "pass",
@@ -27024,10 +30459,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 476,
-                  "startColumn": 12,
-                  "endLine": 476,
-                  "endColumn": 26,
+                  "startLine": 542,
+                  "startColumn": 10,
+                  "endLine": 542,
+                  "endColumn": 24,
                   "byteLength": 14
                 }
               }
@@ -27049,10 +30484,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 476,
-                  "startColumn": 12,
-                  "endLine": 476,
-                  "endColumn": 26,
+                  "startLine": 542,
+                  "startColumn": 10,
+                  "endLine": 542,
+                  "endColumn": 24,
                   "byteLength": 14
                 }
               }
@@ -27074,10 +30509,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 477,
-                  "startColumn": 12,
-                  "endLine": 477,
-                  "endColumn": 19,
+                  "startLine": 543,
+                  "startColumn": 10,
+                  "endLine": 543,
+                  "endColumn": 17,
                   "byteLength": 7
                 }
               }
@@ -27097,9 +30532,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 564,
+                  "startLine": 633,
                   "startColumn": 11,
-                  "endLine": 564,
+                  "endLine": 633,
                   "endColumn": 17,
                   "byteLength": 6
                 }
@@ -27120,9 +30555,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 561,
+                  "startLine": 629,
                   "startColumn": 5,
-                  "endLine": 561,
+                  "endLine": 629,
                   "endColumn": 51,
                   "byteLength": 46
                 }
@@ -27143,9 +30578,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 564,
+                  "startLine": 633,
                   "startColumn": 11,
-                  "endLine": 564,
+                  "endLine": 633,
                   "endColumn": 17,
                   "byteLength": 6
                 }
@@ -27168,9 +30603,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 562,
+                  "startLine": 630,
                   "startColumn": 10,
-                  "endLine": 562,
+                  "endLine": 630,
                   "endColumn": 17,
                   "byteLength": 7
                 }
@@ -27191,9 +30626,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 551,
+                  "startLine": 619,
                   "startColumn": 11,
-                  "endLine": 551,
+                  "endLine": 619,
                   "endColumn": 19,
                   "byteLength": 8
                 }
@@ -27214,9 +30649,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 546,
+                  "startLine": 614,
                   "startColumn": 23,
-                  "endLine": 546,
+                  "endLine": 614,
                   "endColumn": 46,
                   "byteLength": 23
                 }
@@ -27237,9 +30672,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 549,
+                  "startLine": 617,
                   "startColumn": 30,
-                  "endLine": 549,
+                  "endLine": 617,
                   "endColumn": 59,
                   "byteLength": 29
                 }
@@ -27260,9 +30695,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 547,
+                  "startLine": 615,
                   "startColumn": 10,
-                  "endLine": 547,
+                  "endLine": 615,
                   "endColumn": 17,
                   "byteLength": 7
                 }
@@ -27285,9 +30720,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 547,
+                  "startLine": 615,
                   "startColumn": 10,
-                  "endLine": 547,
+                  "endLine": 615,
                   "endColumn": 17,
                   "byteLength": 7
                 }
@@ -27310,9 +30745,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 547,
+                  "startLine": 615,
                   "startColumn": 19,
-                  "endLine": 547,
+                  "endLine": 615,
                   "endColumn": 32,
                   "byteLength": 13
                 }
@@ -27333,9 +30768,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 695,
+                  "startLine": 778,
                   "startColumn": 14,
-                  "endLine": 695,
+                  "endLine": 778,
                   "endColumn": 22,
                   "byteLength": 8
                 }
@@ -27356,9 +30791,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 691,
+                  "startLine": 774,
                   "startColumn": 23,
-                  "endLine": 691,
+                  "endLine": 774,
                   "endColumn": 42,
                   "byteLength": 19
                 }
@@ -27379,9 +30814,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 692,
+                  "startLine": 775,
                   "startColumn": 10,
-                  "endLine": 692,
+                  "endLine": 775,
                   "endColumn": 17,
                   "byteLength": 7
                 }
@@ -27404,9 +30839,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 692,
+                  "startLine": 775,
                   "startColumn": 10,
-                  "endLine": 692,
+                  "endLine": 775,
                   "endColumn": 17,
                   "byteLength": 7
                 }
@@ -27429,9 +30864,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 693,
+                  "startLine": 776,
                   "startColumn": 10,
-                  "endLine": 693,
+                  "endLine": 776,
                   "endColumn": 21,
                   "byteLength": 11
                 }
@@ -27452,9 +30887,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 677,
+                  "startLine": 760,
                   "startColumn": 11,
-                  "endLine": 677,
+                  "endLine": 760,
                   "endColumn": 17,
                   "byteLength": 6
                 }
@@ -27475,9 +30910,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 674,
+                  "startLine": 757,
                   "startColumn": 10,
-                  "endLine": 674,
+                  "endLine": 757,
                   "endColumn": 17,
                   "byteLength": 7
                 }
@@ -27500,9 +30935,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 674,
+                  "startLine": 757,
                   "startColumn": 10,
-                  "endLine": 674,
+                  "endLine": 757,
                   "endColumn": 17,
                   "byteLength": 7
                 }
@@ -27525,9 +30960,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 675,
+                  "startLine": 758,
                   "startColumn": 10,
-                  "endLine": 675,
+                  "endLine": 758,
                   "endColumn": 17,
                   "byteLength": 7
                 }
@@ -27550,9 +30985,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 675,
+                  "startLine": 758,
                   "startColumn": 19,
-                  "endLine": 675,
+                  "endLine": 758,
                   "endColumn": 36,
                   "byteLength": 17
                 }
diff --git a/src/plugins/markdown-report/tests/sarif/oracle/with-libc.sarif b/src/plugins/markdown-report/tests/sarif/oracle/with-libc.sarif
index 49eef37ea69e3e7f40f200e22276de5ad597a508..32a3730cb3736ebcad4b6cf8f4dfa985f540f0bb 100644
--- a/src/plugins/markdown-report/tests/sarif/oracle/with-libc.sarif
+++ b/src/plugins/markdown-report/tests/sarif/oracle/with-libc.sarif
@@ -1318,9 +1318,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 88,
+                  "startLine": 89,
                   "startColumn": 13,
-                  "endLine": 88,
+                  "endLine": 89,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -1341,9 +1341,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 88,
+                  "startLine": 89,
                   "startColumn": 13,
-                  "endLine": 88,
+                  "endLine": 89,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -1364,9 +1364,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 88,
+                  "startLine": 89,
                   "startColumn": 13,
-                  "endLine": 88,
+                  "endLine": 89,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -1479,9 +1479,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 85,
+                  "startLine": 86,
                   "startColumn": 28,
-                  "endLine": 85,
+                  "endLine": 86,
                   "endColumn": 49,
                   "byteLength": 21
                 }
@@ -1493,7 +1493,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_same_base." },
+          "message": { "text": "result_valid_read." },
           "locations": [
             {
               "physicalLocation": {
@@ -1503,8 +1503,31 @@
                 },
                 "region": {
                   "startLine": 79,
-                  "startColumn": 30,
+                  "startColumn": 31,
                   "endLine": 79,
+                  "endColumn": 58,
+                  "byteLength": 27
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "result_same_base." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 80,
+                  "startColumn": 30,
+                  "endLine": 80,
                   "endColumn": 66,
                   "byteLength": 36
                 }
@@ -1525,9 +1548,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 80,
+                  "startLine": 81,
                   "startColumn": 25,
-                  "endLine": 80,
+                  "endLine": 81,
                   "endColumn": 45,
                   "byteLength": 20
                 }
@@ -1548,9 +1571,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 81,
+                  "startLine": 82,
                   "startColumn": 27,
-                  "endLine": 83,
+                  "endLine": 84,
                   "endColumn": 54,
                   "byteLength": 120
                 }
@@ -1571,9 +1594,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 86,
+                  "startLine": 87,
                   "startColumn": 25,
-                  "endLine": 86,
+                  "endLine": 87,
                   "endColumn": 41,
                   "byteLength": 16
                 }
@@ -1594,9 +1617,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 88,
+                  "startLine": 89,
                   "startColumn": 13,
-                  "endLine": 88,
+                  "endLine": 89,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -1874,9 +1897,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 104,
+                  "startLine": 121,
                   "startColumn": 13,
-                  "endLine": 104,
+                  "endLine": 121,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -1897,9 +1920,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 95,
+                  "startLine": 112,
                   "startColumn": 25,
-                  "endLine": 95,
+                  "endLine": 112,
                   "endColumn": 48,
                   "byteLength": 23
                 }
@@ -1920,9 +1943,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 96,
+                  "startLine": 113,
                   "startColumn": 24,
-                  "endLine": 96,
+                  "endLine": 113,
                   "endColumn": 51,
                   "byteLength": 27
                 }
@@ -1943,9 +1966,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 98,
+                  "startLine": 115,
                   "startColumn": 4,
-                  "endLine": 98,
+                  "endLine": 115,
                   "endColumn": 62,
                   "byteLength": 58
                 }
@@ -1966,9 +1989,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 101,
+                  "startLine": 118,
                   "startColumn": 29,
-                  "endLine": 101,
+                  "endLine": 118,
                   "endColumn": 76,
                   "byteLength": 47
                 }
@@ -1989,9 +2012,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 102,
+                  "startLine": 119,
                   "startColumn": 24,
-                  "endLine": 102,
+                  "endLine": 119,
                   "endColumn": 39,
                   "byteLength": 15
                 }
@@ -2012,9 +2035,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 99,
+                  "startLine": 116,
                   "startColumn": 12,
-                  "endLine": 99,
+                  "endLine": 116,
                   "endColumn": 35,
                   "byteLength": 23
                 }
@@ -2037,9 +2060,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 99,
+                  "startLine": 116,
                   "startColumn": 12,
-                  "endLine": 99,
+                  "endLine": 116,
                   "endColumn": 35,
                   "byteLength": 23
                 }
@@ -2062,9 +2085,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 100,
+                  "startLine": 117,
                   "startColumn": 12,
-                  "endLine": 100,
+                  "endLine": 117,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -2076,7 +2099,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function memmove." },
+          "message": { "text": "behavior default! in function memmem." },
           "locations": [
             {
               "physicalLocation": {
@@ -2085,34 +2108,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 127,
+                  "startLine": 559,
                   "startColumn": 13,
-                  "endLine": 127,
-                  "endColumn": 20,
-                  "byteLength": 7
-                }
-              }
-            }
-          ]
-        },
-        {
-          "ruleId": "user-spec",
-          "kind": "pass",
-          "level": "none",
-          "message": { "text": "valid_dest." },
-          "locations": [
-            {
-              "physicalLocation": {
-                "artifactLocation": {
-                  "uri": "libc/string.h",
-                  "uriBaseId": "FRAMAC_SHARE"
-                },
-                "region": {
-                  "startLine": 120,
-                  "startColumn": 25,
-                  "endLine": 120,
-                  "endColumn": 48,
-                  "byteLength": 23
+                  "endLine": 559,
+                  "endColumn": 19,
+                  "byteLength": 6
                 }
               }
             }
@@ -2122,7 +2122,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_src." },
+          "message": { "text": "valid_haystack." },
           "locations": [
             {
               "physicalLocation": {
@@ -2131,11 +2131,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 121,
-                  "startColumn": 24,
-                  "endLine": 121,
-                  "endColumn": 51,
-                  "byteLength": 27
+                  "startLine": 549,
+                  "startColumn": 27,
+                  "endLine": 549,
+                  "endColumn": 78,
+                  "byteLength": 51
                 }
               }
             }
@@ -2145,7 +2145,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "copied_contents." },
+          "message": { "text": "valid_needle." },
           "locations": [
             {
               "physicalLocation": {
@@ -2154,10 +2154,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 124,
-                  "startColumn": 29,
-                  "endLine": 124,
-                  "endColumn": 76,
+                  "startLine": 550,
+                  "startColumn": 25,
+                  "endLine": 550,
+                  "endColumn": 72,
                   "byteLength": 47
                 }
               }
@@ -2168,7 +2168,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_ptr." },
+          "message": { "text": "result_null_or_valid." },
           "locations": [
             {
               "physicalLocation": {
@@ -2177,11 +2177,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 125,
-                  "startColumn": 24,
-                  "endLine": 125,
-                  "endColumn": 39,
-                  "byteLength": 15
+                  "startLine": 555,
+                  "startColumn": 4,
+                  "endLine": 555,
+                  "endColumn": 51,
+                  "byteLength": 47
                 }
               }
             }
@@ -2191,7 +2191,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function memmove." },
+          "message": { "text": "result_null_or_same_base." },
           "locations": [
             {
               "physicalLocation": {
@@ -2200,11 +2200,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 122,
-                  "startColumn": 12,
-                  "endLine": 122,
-                  "endColumn": 35,
-                  "byteLength": 23
+                  "startLine": 557,
+                  "startColumn": 4,
+                  "endLine": 557,
+                  "endColumn": 67,
+                  "byteLength": 63
                 }
               }
             }
@@ -2214,9 +2214,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term *((char *)dest + (0 .. n - 1)) in function memmove."
-          },
+          "message": { "text": "assigns clause in function memmem." },
           "locations": [
             {
               "physicalLocation": {
@@ -2225,11 +2223,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 122,
-                  "startColumn": 12,
-                  "endLine": 122,
-                  "endColumn": 35,
-                  "byteLength": 23
+                  "startLine": 559,
+                  "startColumn": 13,
+                  "endLine": 559,
+                  "endColumn": 19,
+                  "byteLength": 6
                 }
               }
             }
@@ -2240,7 +2238,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function memmove."
+            "text": "from clause of term \\result in function memmem."
           },
           "locations": [
             {
@@ -2250,10 +2248,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 123,
-                  "startColumn": 12,
-                  "endLine": 123,
-                  "endColumn": 19,
+                  "startLine": 551,
+                  "startColumn": 10,
+                  "endLine": 551,
+                  "endColumn": 17,
                   "byteLength": 7
                 }
               }
@@ -2264,7 +2262,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function mempcpy." },
+          "message": { "text": "behavior default! in function memmove." },
           "locations": [
             {
               "physicalLocation": {
@@ -2273,9 +2271,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 117,
+                  "startLine": 144,
                   "startColumn": 13,
-                  "endLine": 117,
+                  "endLine": 144,
                   "endColumn": 20,
                   "byteLength": 7
                 }
@@ -2296,9 +2294,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 108,
+                  "startLine": 137,
                   "startColumn": 25,
-                  "endLine": 108,
+                  "endLine": 137,
                   "endColumn": 48,
                   "byteLength": 23
                 }
@@ -2319,9 +2317,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 109,
+                  "startLine": 138,
                   "startColumn": 24,
-                  "endLine": 109,
+                  "endLine": 138,
                   "endColumn": 51,
                   "byteLength": 27
                 }
@@ -2329,29 +2327,6 @@
             }
           ]
         },
-        {
-          "ruleId": "user-spec",
-          "kind": "pass",
-          "level": "none",
-          "message": { "text": "separation." },
-          "locations": [
-            {
-              "physicalLocation": {
-                "artifactLocation": {
-                  "uri": "libc/string.h",
-                  "uriBaseId": "FRAMAC_SHARE"
-                },
-                "region": {
-                  "startLine": 111,
-                  "startColumn": 4,
-                  "endLine": 111,
-                  "endColumn": 62,
-                  "byteLength": 58
-                }
-              }
-            }
-          ]
-        },
         {
           "ruleId": "user-spec",
           "kind": "pass",
@@ -2365,9 +2340,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 114,
+                  "startLine": 141,
                   "startColumn": 29,
-                  "endLine": 114,
+                  "endLine": 141,
                   "endColumn": 76,
                   "byteLength": 47
                 }
@@ -2379,7 +2354,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_next_byte." },
+          "message": { "text": "result_ptr." },
           "locations": [
             {
               "physicalLocation": {
@@ -2388,11 +2363,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 115,
-                  "startColumn": 30,
-                  "endLine": 115,
-                  "endColumn": 49,
-                  "byteLength": 19
+                  "startLine": 142,
+                  "startColumn": 24,
+                  "endLine": 142,
+                  "endColumn": 39,
+                  "byteLength": 15
                 }
               }
             }
@@ -2402,7 +2377,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function mempcpy." },
+          "message": { "text": "assigns clause in function memmove." },
           "locations": [
             {
               "physicalLocation": {
@@ -2411,9 +2386,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 112,
+                  "startLine": 139,
                   "startColumn": 12,
-                  "endLine": 112,
+                  "endLine": 139,
                   "endColumn": 35,
                   "byteLength": 23
                 }
@@ -2426,7 +2401,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term *((char *)dest + (0 .. n - 1)) in function mempcpy."
+            "text": "from clause of term *((char *)dest + (0 .. n - 1)) in function memmove."
           },
           "locations": [
             {
@@ -2436,9 +2411,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 112,
+                  "startLine": 139,
                   "startColumn": 12,
-                  "endLine": 112,
+                  "endLine": 139,
                   "endColumn": 35,
                   "byteLength": 23
                 }
@@ -2451,7 +2426,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function mempcpy."
+            "text": "from clause of term \\result in function memmove."
           },
           "locations": [
             {
@@ -2461,9 +2436,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 113,
+                  "startLine": 140,
                   "startColumn": 12,
-                  "endLine": 113,
+                  "endLine": 140,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -2475,7 +2450,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function memset." },
+          "message": { "text": "behavior default! in function mempcpy." },
           "locations": [
             {
               "physicalLocation": {
@@ -2484,11 +2459,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 137,
+                  "startLine": 134,
                   "startColumn": 13,
-                  "endLine": 137,
-                  "endColumn": 19,
-                  "byteLength": 6
+                  "endLine": 134,
+                  "endColumn": 20,
+                  "byteLength": 7
                 }
               }
             }
@@ -2498,7 +2473,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_s." },
+          "message": { "text": "valid_dest." },
           "locations": [
             {
               "physicalLocation": {
@@ -2507,11 +2482,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 131,
-                  "startColumn": 22,
-                  "endLine": 131,
-                  "endColumn": 42,
-                  "byteLength": 20
+                  "startLine": 125,
+                  "startColumn": 25,
+                  "endLine": 125,
+                  "endColumn": 48,
+                  "byteLength": 23
                 }
               }
             }
@@ -2521,7 +2496,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "acsl_c_equiv." },
+          "message": { "text": "valid_src." },
           "locations": [
             {
               "physicalLocation": {
@@ -2530,11 +2505,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 134,
-                  "startColumn": 26,
-                  "endLine": 134,
-                  "endColumn": 46,
-                  "byteLength": 20
+                  "startLine": 126,
+                  "startColumn": 24,
+                  "endLine": 126,
+                  "endColumn": 51,
+                  "byteLength": 27
                 }
               }
             }
@@ -2544,7 +2519,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_ptr." },
+          "message": { "text": "separation." },
           "locations": [
             {
               "physicalLocation": {
@@ -2553,11 +2528,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 135,
-                  "startColumn": 24,
-                  "endLine": 135,
-                  "endColumn": 36,
-                  "byteLength": 12
+                  "startLine": 128,
+                  "startColumn": 4,
+                  "endLine": 128,
+                  "endColumn": 62,
+                  "byteLength": 58
                 }
               }
             }
@@ -2567,7 +2542,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function memset." },
+          "message": { "text": "copied_contents." },
           "locations": [
             {
               "physicalLocation": {
@@ -2576,11 +2551,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 132,
-                  "startColumn": 12,
-                  "endLine": 132,
-                  "endColumn": 32,
-                  "byteLength": 20
+                  "startLine": 131,
+                  "startColumn": 29,
+                  "endLine": 131,
+                  "endColumn": 76,
+                  "byteLength": 47
                 }
               }
             }
@@ -2590,9 +2565,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term *((char *)s + (0 .. n - 1)) in function memset."
-          },
+          "message": { "text": "result_next_byte." },
           "locations": [
             {
               "physicalLocation": {
@@ -2602,10 +2575,10 @@
                 },
                 "region": {
                   "startLine": 132,
-                  "startColumn": 12,
+                  "startColumn": 30,
                   "endLine": 132,
-                  "endColumn": 32,
-                  "byteLength": 20
+                  "endColumn": 49,
+                  "byteLength": 19
                 }
               }
             }
@@ -2615,8 +2588,827 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function memset."
+          "message": { "text": "assigns clause in function mempcpy." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 129,
+                  "startColumn": 12,
+                  "endLine": 129,
+                  "endColumn": 35,
+                  "byteLength": 23
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": {
+            "text": "from clause of term *((char *)dest + (0 .. n - 1)) in function mempcpy."
+          },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 129,
+                  "startColumn": 12,
+                  "endLine": 129,
+                  "endColumn": 35,
+                  "byteLength": 23
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": {
+            "text": "from clause of term \\result in function mempcpy."
+          },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 130,
+                  "startColumn": 12,
+                  "endLine": 130,
+                  "endColumn": 19,
+                  "byteLength": 7
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "behavior default! in function memrchr." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 108,
+                  "startColumn": 13,
+                  "endLine": 108,
+                  "endColumn": 20,
+                  "byteLength": 7
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "behavior found in function memrchr." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 108,
+                  "startColumn": 13,
+                  "endLine": 108,
+                  "endColumn": 20,
+                  "byteLength": 7
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "behavior not_found in function memrchr." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 108,
+                  "startColumn": 13,
+                  "endLine": 108,
+                  "endColumn": 20,
+                  "byteLength": 7
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "valid." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 94,
+                  "startColumn": 18,
+                  "endLine": 94,
+                  "endColumn": 43,
+                  "byteLength": 25
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "initialization." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 95,
+                  "startColumn": 27,
+                  "endLine": 95,
+                  "endColumn": 73,
+                  "byteLength": 46
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "danglingness." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 96,
+                  "startColumn": 25,
+                  "endLine": 96,
+                  "endColumn": 43,
+                  "byteLength": 18
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "char_found." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 99,
+                  "startColumn": 24,
+                  "endLine": 99,
+                  "endColumn": 44,
+                  "byteLength": 20
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "char_not_found." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 103,
+                  "startColumn": 28,
+                  "endLine": 103,
+                  "endColumn": 49,
+                  "byteLength": 21
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "result_valid_read." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 100,
+                  "startColumn": 31,
+                  "endLine": 100,
+                  "endColumn": 58,
+                  "byteLength": 27
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "result_same_base." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 101,
+                  "startColumn": 30,
+                  "endLine": 101,
+                  "endColumn": 66,
+                  "byteLength": 36
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "result_null." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 104,
+                  "startColumn": 25,
+                  "endLine": 104,
+                  "endColumn": 41,
+                  "byteLength": 16
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "assigns clause in function memrchr." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 108,
+                  "startColumn": 13,
+                  "endLine": 108,
+                  "endColumn": 20,
+                  "byteLength": 7
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": {
+            "text": "from clause of term \\result in function memrchr."
+          },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 97,
+                  "startColumn": 10,
+                  "endLine": 97,
+                  "endColumn": 17,
+                  "byteLength": 7
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "complete clause in function memrchr." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 108,
+                  "startColumn": 13,
+                  "endLine": 108,
+                  "endColumn": 20,
+                  "byteLength": 7
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "disjoint clause in function memrchr." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 108,
+                  "startColumn": 13,
+                  "endLine": 108,
+                  "endColumn": 20,
+                  "byteLength": 7
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "behavior default! in function memset." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 154,
+                  "startColumn": 13,
+                  "endLine": 154,
+                  "endColumn": 19,
+                  "byteLength": 6
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "valid_s." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 148,
+                  "startColumn": 22,
+                  "endLine": 148,
+                  "endColumn": 42,
+                  "byteLength": 20
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "acsl_c_equiv." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 151,
+                  "startColumn": 26,
+                  "endLine": 151,
+                  "endColumn": 46,
+                  "byteLength": 20
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "result_ptr." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 152,
+                  "startColumn": 24,
+                  "endLine": 152,
+                  "endColumn": 36,
+                  "byteLength": 12
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "assigns clause in function memset." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 149,
+                  "startColumn": 12,
+                  "endLine": 149,
+                  "endColumn": 32,
+                  "byteLength": 20
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": {
+            "text": "from clause of term *((char *)s + (0 .. n - 1)) in function memset."
+          },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 149,
+                  "startColumn": 12,
+                  "endLine": 149,
+                  "endColumn": 32,
+                  "byteLength": 20
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": {
+            "text": "from clause of term \\result in function memset."
+          },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 150,
+                  "startColumn": 12,
+                  "endLine": 150,
+                  "endColumn": 19,
+                  "byteLength": 7
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "behavior default! in function stpcpy." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 473,
+                  "startColumn": 13,
+                  "endLine": 473,
+                  "endColumn": 19,
+                  "byteLength": 6
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "valid_string_src." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 464,
+                  "startColumn": 31,
+                  "endLine": 464,
+                  "endColumn": 53,
+                  "byteLength": 22
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "room_string." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 465,
+                  "startColumn": 26,
+                  "endLine": 465,
+                  "endColumn": 55,
+                  "byteLength": 29
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "separation." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 467,
+                  "startColumn": 4,
+                  "endLine": 467,
+                  "endColumn": 59,
+                  "byteLength": 55
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "equal_contents." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 470,
+                  "startColumn": 28,
+                  "endLine": 470,
+                  "endColumn": 49,
+                  "byteLength": 21
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "points_to_end." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 471,
+                  "startColumn": 27,
+                  "endLine": 471,
+                  "endColumn": 57,
+                  "byteLength": 30
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "assigns clause in function stpcpy." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 468,
+                  "startColumn": 12,
+                  "endLine": 468,
+                  "endColumn": 32,
+                  "byteLength": 20
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": {
+            "text": "from clause of term *(dest + (0 .. strlen{Old}(src))) in function stpcpy."
+          },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 468,
+                  "startColumn": 12,
+                  "endLine": 468,
+                  "endColumn": 32,
+                  "byteLength": 20
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": {
+            "text": "from clause of term \\result in function stpcpy."
+          },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 469,
+                  "startColumn": 12,
+                  "endLine": 469,
+                  "endColumn": 19,
+                  "byteLength": 7
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "behavior default! in function stpncpy." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 630,
+                  "startColumn": 13,
+                  "endLine": 630,
+                  "endColumn": 20,
+                  "byteLength": 7
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": {
+            "text": "behavior src_is_a_string in function stpncpy."
           },
           "locations": [
             {
@@ -2626,11 +3418,80 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 133,
-                  "startColumn": 12,
-                  "endLine": 133,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "startLine": 630,
+                  "startColumn": 13,
+                  "endLine": 630,
+                  "endColumn": 20,
+                  "byteLength": 7
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "behavior src_too_long in function stpncpy." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 630,
+                  "startColumn": 13,
+                  "endLine": 630,
+                  "endColumn": 20,
+                  "byteLength": 7
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "valid_string_src." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 612,
+                  "startColumn": 29,
+                  "endLine": 612,
+                  "endColumn": 55,
+                  "byteLength": 26
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "valid_dest." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 613,
+                  "startColumn": 23,
+                  "endLine": 613,
+                  "endColumn": 46,
+                  "byteLength": 23
                 }
               }
             }
@@ -2640,7 +3501,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function stpcpy." },
+          "message": { "text": "separation." },
           "locations": [
             {
               "physicalLocation": {
@@ -2649,11 +3510,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 421,
-                  "startColumn": 13,
-                  "endLine": 421,
-                  "endColumn": 19,
-                  "byteLength": 6
+                  "startLine": 614,
+                  "startColumn": 23,
+                  "endLine": 614,
+                  "endColumn": 66,
+                  "byteLength": 43
                 }
               }
             }
@@ -2663,7 +3524,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_string_src." },
+          "message": { "text": "src_has_nul." },
           "locations": [
             {
               "physicalLocation": {
@@ -2672,11 +3533,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 412,
-                  "startColumn": 31,
-                  "endLine": 412,
-                  "endColumn": 53,
-                  "byteLength": 22
+                  "startLine": 619,
+                  "startColumn": 25,
+                  "endLine": 619,
+                  "endColumn": 40,
+                  "byteLength": 15
                 }
               }
             }
@@ -2686,7 +3547,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "room_string." },
+          "message": { "text": "src_no_nul." },
           "locations": [
             {
               "physicalLocation": {
@@ -2695,9 +3556,32 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 413,
+                  "startLine": 626,
+                  "startColumn": 24,
+                  "endLine": 626,
+                  "endColumn": 69,
+                  "byteLength": 45
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "initialization." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 617,
                   "startColumn": 26,
-                  "endLine": 413,
+                  "endLine": 617,
                   "endColumn": 55,
                   "byteLength": 29
                 }
@@ -2709,7 +3593,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "separation." },
+          "message": { "text": "valid_string_dest." },
           "locations": [
             {
               "physicalLocation": {
@@ -2718,11 +3602,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 415,
-                  "startColumn": 4,
-                  "endLine": 415,
-                  "endColumn": 59,
-                  "byteLength": 55
+                  "startLine": 620,
+                  "startColumn": 31,
+                  "endLine": 620,
+                  "endColumn": 54,
+                  "byteLength": 23
                 }
               }
             }
@@ -2732,7 +3616,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "equal_contents." },
+          "message": { "text": "same_contents." },
           "locations": [
             {
               "physicalLocation": {
@@ -2741,11 +3625,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 418,
-                  "startColumn": 28,
-                  "endLine": 418,
+                  "startLine": 621,
+                  "startColumn": 27,
+                  "endLine": 621,
                   "endColumn": 49,
-                  "byteLength": 21
+                  "byteLength": 22
                 }
               }
             }
@@ -2755,7 +3639,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "points_to_end." },
+          "message": { "text": "dest_nul_padded." },
           "locations": [
             {
               "physicalLocation": {
@@ -2764,11 +3648,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 419,
-                  "startColumn": 27,
-                  "endLine": 419,
-                  "endColumn": 57,
-                  "byteLength": 30
+                  "startLine": 623,
+                  "startColumn": 6,
+                  "endLine": 623,
+                  "endColumn": 62,
+                  "byteLength": 56
                 }
               }
             }
@@ -2778,7 +3662,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function stpcpy." },
+          "message": { "text": "result_points_to_nul." },
           "locations": [
             {
               "physicalLocation": {
@@ -2787,11 +3671,80 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 416,
-                  "startColumn": 12,
-                  "endLine": 416,
-                  "endColumn": 32,
-                  "byteLength": 20
+                  "startLine": 624,
+                  "startColumn": 34,
+                  "endLine": 624,
+                  "endColumn": 63,
+                  "byteLength": 29
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "same_partial_contents." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 627,
+                  "startColumn": 35,
+                  "endLine": 627,
+                  "endColumn": 61,
+                  "byteLength": 26
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "result_points_to_end." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 628,
+                  "startColumn": 34,
+                  "endLine": 628,
+                  "endColumn": 53,
+                  "byteLength": 19
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "assigns clause in function stpncpy." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 615,
+                  "startColumn": 10,
+                  "endLine": 615,
+                  "endColumn": 24,
+                  "byteLength": 14
                 }
               }
             }
@@ -2802,7 +3755,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term *(dest + (0 .. strlen{Old}(src))) in function stpcpy."
+            "text": "from clause of term *(dest + (0 .. n - 1)) in function stpncpy."
           },
           "locations": [
             {
@@ -2812,11 +3765,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 416,
-                  "startColumn": 12,
-                  "endLine": 416,
-                  "endColumn": 32,
-                  "byteLength": 20
+                  "startLine": 615,
+                  "startColumn": 10,
+                  "endLine": 615,
+                  "endColumn": 24,
+                  "byteLength": 14
                 }
               }
             }
@@ -2827,7 +3780,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term \\result in function stpcpy."
+            "text": "from clause of term \\result in function stpncpy."
           },
           "locations": [
             {
@@ -2837,10 +3790,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 417,
-                  "startColumn": 12,
-                  "endLine": 417,
-                  "endColumn": 19,
+                  "startLine": 616,
+                  "startColumn": 10,
+                  "endLine": 616,
+                  "endColumn": 17,
                   "byteLength": 7
                 }
               }
@@ -2977,9 +3930,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 255,
+                  "startLine": 281,
                   "startColumn": 13,
-                  "endLine": 255,
+                  "endLine": 281,
                   "endColumn": 23,
                   "byteLength": 10
                 }
@@ -3000,10 +3953,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 247,
-                  "startColumn": 36,
-                  "endLine": 247,
-                  "endColumn": 63,
+                  "startLine": 271,
+                  "startColumn": 34,
+                  "endLine": 271,
+                  "endColumn": 61,
                   "byteLength": 27
                 }
               }
@@ -3023,10 +3976,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 248,
-                  "startColumn": 34,
-                  "endLine": 248,
-                  "endColumn": 59,
+                  "startLine": 272,
+                  "startColumn": 32,
+                  "endLine": 272,
+                  "endColumn": 57,
                   "byteLength": 25
                 }
               }
@@ -3046,11 +3999,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 252,
+                  "startLine": 276,
                   "startColumn": 4,
-                  "endLine": 253,
-                  "endColumn": 65,
-                  "byteLength": 82
+                  "endLine": 278,
+                  "endColumn": 49,
+                  "byteLength": 104
                 }
               }
             }
@@ -3069,9 +4022,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 255,
+                  "startLine": 281,
                   "startColumn": 13,
-                  "endLine": 255,
+                  "endLine": 281,
                   "endColumn": 23,
                   "byteLength": 10
                 }
@@ -3094,10 +4047,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 249,
-                  "startColumn": 12,
-                  "endLine": 249,
-                  "endColumn": 19,
+                  "startLine": 273,
+                  "startColumn": 10,
+                  "endLine": 273,
+                  "endColumn": 17,
                   "byteLength": 7
                 }
               }
@@ -3117,9 +4070,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 436,
+                  "startLine": 490,
                   "startColumn": 13,
-                  "endLine": 436,
+                  "endLine": 490,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -3140,9 +4093,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 424,
+                  "startLine": 476,
                   "startColumn": 31,
-                  "endLine": 424,
+                  "endLine": 476,
                   "endColumn": 53,
                   "byteLength": 22
                 }
@@ -3163,9 +4116,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 425,
+                  "startLine": 477,
                   "startColumn": 32,
-                  "endLine": 425,
+                  "endLine": 477,
                   "endColumn": 50,
                   "byteLength": 18
                 }
@@ -3186,9 +4139,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 426,
+                  "startLine": 478,
                   "startColumn": 26,
-                  "endLine": 426,
+                  "endLine": 478,
                   "endColumn": 70,
                   "byteLength": 44
                 }
@@ -3196,6 +4149,29 @@
             }
           ]
         },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "separation." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 480,
+                  "startColumn": 4,
+                  "endLine": 480,
+                  "endColumn": 72,
+                  "byteLength": 68
+                }
+              }
+            }
+          ]
+        },
         {
           "ruleId": "user-spec",
           "kind": "pass",
@@ -3209,9 +4185,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 429,
+                  "startLine": 483,
                   "startColumn": 28,
-                  "endLine": 429,
+                  "endLine": 483,
                   "endColumn": 76,
                   "byteLength": 48
                 }
@@ -3232,9 +4208,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 432,
+                  "startLine": 486,
                   "startColumn": 4,
-                  "endLine": 432,
+                  "endLine": 486,
                   "endColumn": 60,
                   "byteLength": 56
                 }
@@ -3255,9 +4231,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 433,
+                  "startLine": 487,
                   "startColumn": 34,
-                  "endLine": 433,
+                  "endLine": 487,
                   "endColumn": 77,
                   "byteLength": 43
                 }
@@ -3278,9 +4254,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 434,
+                  "startLine": 488,
                   "startColumn": 24,
-                  "endLine": 434,
+                  "endLine": 488,
                   "endColumn": 39,
                   "byteLength": 15
                 }
@@ -3301,9 +4277,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 427,
+                  "startLine": 481,
                   "startColumn": 12,
-                  "endLine": 427,
+                  "endLine": 481,
                   "endColumn": 58,
                   "byteLength": 46
                 }
@@ -3326,9 +4302,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 427,
+                  "startLine": 481,
                   "startColumn": 12,
-                  "endLine": 427,
+                  "endLine": 481,
                   "endColumn": 58,
                   "byteLength": 46
                 }
@@ -3351,9 +4327,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 430,
+                  "startLine": 484,
                   "startColumn": 12,
-                  "endLine": 430,
+                  "endLine": 484,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -3361,29 +4337,6 @@
             }
           ]
         },
-        {
-          "ruleId": "user-spec",
-          "kind": "pass",
-          "level": "none",
-          "message": { "text": "behavior default in function strchr." },
-          "locations": [
-            {
-              "physicalLocation": {
-                "artifactLocation": {
-                  "uri": "libc/string.h",
-                  "uriBaseId": "FRAMAC_SHARE"
-                },
-                "region": {
-                  "startLine": 189,
-                  "startColumn": 13,
-                  "endLine": 189,
-                  "endColumn": 19,
-                  "byteLength": 6
-                }
-              }
-            }
-          ]
-        },
         {
           "ruleId": "user-spec",
           "kind": "pass",
@@ -3397,9 +4350,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 189,
+                  "startLine": 209,
                   "startColumn": 13,
-                  "endLine": 189,
+                  "endLine": 209,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -3420,9 +4373,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 189,
+                  "startLine": 209,
                   "startColumn": 13,
-                  "endLine": 189,
+                  "endLine": 209,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -3443,9 +4396,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 189,
+                  "startLine": 209,
                   "startColumn": 13,
-                  "endLine": 189,
+                  "endLine": 209,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -3466,10 +4419,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 173,
-                  "startColumn": 29,
-                  "endLine": 173,
-                  "endColumn": 49,
+                  "startLine": 193,
+                  "startColumn": 27,
+                  "endLine": 193,
+                  "endColumn": 47,
                   "byteLength": 20
                 }
               }
@@ -3489,9 +4442,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 176,
+                  "startLine": 196,
                   "startColumn": 24,
-                  "endLine": 176,
+                  "endLine": 196,
                   "endColumn": 35,
                   "byteLength": 11
                 }
@@ -3512,9 +4465,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 183,
+                  "startLine": 204,
                   "startColumn": 28,
-                  "endLine": 183,
+                  "endLine": 204,
                   "endColumn": 40,
                   "byteLength": 12
                 }
@@ -3522,6 +4475,29 @@
             }
           ]
         },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "result_valid_string." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 197,
+                  "startColumn": 33,
+                  "endLine": 197,
+                  "endColumn": 59,
+                  "byteLength": 26
+                }
+              }
+            }
+          ]
+        },
         {
           "ruleId": "user-spec",
           "kind": "pass",
@@ -3535,9 +4511,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 177,
+                  "startLine": 198,
                   "startColumn": 25,
-                  "endLine": 177,
+                  "endLine": 198,
                   "endColumn": 44,
                   "byteLength": 19
                 }
@@ -3558,9 +4534,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 178,
+                  "startLine": 199,
                   "startColumn": 30,
-                  "endLine": 178,
+                  "endLine": 199,
                   "endColumn": 66,
                   "byteLength": 36
                 }
@@ -3581,9 +4557,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 179,
+                  "startLine": 200,
                   "startColumn": 30,
-                  "endLine": 179,
+                  "endLine": 200,
                   "endColumn": 59,
                   "byteLength": 29
                 }
@@ -3595,7 +4571,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_valid_string." },
+          "message": { "text": "result_first_occurrence." },
           "locations": [
             {
               "physicalLocation": {
@@ -3604,11 +4580,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 180,
-                  "startColumn": 33,
-                  "endLine": 180,
-                  "endColumn": 59,
-                  "byteLength": 26
+                  "startLine": 202,
+                  "startColumn": 6,
+                  "endLine": 202,
+                  "endColumn": 57,
+                  "byteLength": 51
                 }
               }
             }
@@ -3618,7 +4594,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_first_occur." },
+          "message": { "text": "result_null." },
           "locations": [
             {
               "physicalLocation": {
@@ -3627,11 +4603,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 181,
-                  "startColumn": 32,
-                  "endLine": 181,
-                  "endColumn": 79,
-                  "byteLength": 47
+                  "startLine": 205,
+                  "startColumn": 25,
+                  "endLine": 205,
+                  "endColumn": 41,
+                  "byteLength": 16
                 }
               }
             }
@@ -3641,7 +4617,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_null." },
+          "message": { "text": "assigns clause in function strchr." },
           "locations": [
             {
               "physicalLocation": {
@@ -3650,11 +4626,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 184,
-                  "startColumn": 25,
-                  "endLine": 184,
-                  "endColumn": 41,
-                  "byteLength": 16
+                  "startLine": 209,
+                  "startColumn": 13,
+                  "endLine": 209,
+                  "endColumn": 19,
+                  "byteLength": 6
                 }
               }
             }
@@ -3664,7 +4640,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_null_or_same_base." },
+          "message": {
+            "text": "from clause of term \\result in function strchr."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -3673,11 +4651,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 187,
-                  "startColumn": 4,
-                  "endLine": 187,
-                  "endColumn": 60,
-                  "byteLength": 56
+                  "startLine": 194,
+                  "startColumn": 10,
+                  "endLine": 194,
+                  "endColumn": 17,
+                  "byteLength": 7
                 }
               }
             }
@@ -3687,7 +4665,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function strchr." },
+          "message": { "text": "complete clause in function strchr." },
           "locations": [
             {
               "physicalLocation": {
@@ -3696,9 +4674,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 189,
+                  "startLine": 209,
                   "startColumn": 13,
-                  "endLine": 189,
+                  "endLine": 209,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -3710,9 +4688,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function strchr."
-          },
+          "message": { "text": "disjoint clause in function strchr." },
           "locations": [
             {
               "physicalLocation": {
@@ -3721,11 +4697,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 174,
-                  "startColumn": 12,
-                  "endLine": 174,
+                  "startLine": 209,
+                  "startColumn": 13,
+                  "endLine": 209,
                   "endColumn": 19,
-                  "byteLength": 7
+                  "byteLength": 6
                 }
               }
             }
@@ -3744,9 +4720,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 195,
+                  "startLine": 217,
                   "startColumn": 13,
-                  "endLine": 195,
+                  "endLine": 217,
                   "endColumn": 22,
                   "byteLength": 9
                 }
@@ -3767,16 +4743,39 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 191,
-                  "startColumn": 29,
-                  "endLine": 191,
-                  "endColumn": 49,
+                  "startLine": 212,
+                  "startColumn": 27,
+                  "endLine": 212,
+                  "endColumn": 47,
                   "byteLength": 20
                 }
               }
             }
           ]
         },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "result_valid_string." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 214,
+                  "startColumn": 31,
+                  "endLine": 214,
+                  "endColumn": 57,
+                  "byteLength": 26
+                }
+              }
+            }
+          ]
+        },
         {
           "ruleId": "user-spec",
           "kind": "pass",
@@ -3790,11 +4789,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 193,
-                  "startColumn": 30,
-                  "endLine": 193,
+                  "startLine": 215,
+                  "startColumn": 28,
+                  "endLine": 215,
                   "endColumn": 64,
-                  "byteLength": 34
+                  "byteLength": 36
                 }
               }
             }
@@ -3813,9 +4812,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 195,
+                  "startLine": 217,
                   "startColumn": 13,
-                  "endLine": 195,
+                  "endLine": 217,
                   "endColumn": 22,
                   "byteLength": 9
                 }
@@ -3838,10 +4837,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 192,
-                  "startColumn": 12,
-                  "endLine": 192,
-                  "endColumn": 19,
+                  "startLine": 213,
+                  "startColumn": 10,
+                  "endLine": 213,
+                  "endColumn": 17,
                   "byteLength": 7
                 }
               }
@@ -3861,9 +4860,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 158,
+                  "startLine": 176,
                   "startColumn": 11,
-                  "endLine": 158,
+                  "endLine": 176,
                   "endColumn": 17,
                   "byteLength": 6
                 }
@@ -3884,9 +4883,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 153,
+                  "startLine": 170,
                   "startColumn": 30,
-                  "endLine": 153,
+                  "endLine": 170,
                   "endColumn": 51,
                   "byteLength": 21
                 }
@@ -3907,9 +4906,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 154,
+                  "startLine": 171,
                   "startColumn": 30,
-                  "endLine": 154,
+                  "endLine": 171,
                   "endColumn": 51,
                   "byteLength": 21
                 }
@@ -3930,9 +4929,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 156,
+                  "startLine": 174,
                   "startColumn": 26,
-                  "endLine": 156,
+                  "endLine": 174,
                   "endColumn": 50,
                   "byteLength": 24
                 }
@@ -3953,9 +4952,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 158,
+                  "startLine": 176,
                   "startColumn": 11,
-                  "endLine": 158,
+                  "endLine": 176,
                   "endColumn": 17,
                   "byteLength": 6
                 }
@@ -3978,9 +4977,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 155,
+                  "startLine": 172,
                   "startColumn": 12,
-                  "endLine": 155,
+                  "endLine": 172,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -4001,9 +5000,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 171,
+                  "startLine": 190,
                   "startColumn": 11,
-                  "endLine": 171,
+                  "endLine": 190,
                   "endColumn": 18,
                   "byteLength": 7
                 }
@@ -4024,9 +5023,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 167,
+                  "startLine": 185,
                   "startColumn": 30,
-                  "endLine": 167,
+                  "endLine": 185,
                   "endColumn": 51,
                   "byteLength": 21
                 }
@@ -4047,9 +5046,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 168,
+                  "startLine": 186,
                   "startColumn": 30,
-                  "endLine": 168,
+                  "endLine": 186,
                   "endColumn": 51,
                   "byteLength": 21
                 }
@@ -4070,9 +5069,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 171,
+                  "startLine": 190,
                   "startColumn": 11,
-                  "endLine": 171,
+                  "endLine": 190,
                   "endColumn": 18,
                   "byteLength": 7
                 }
@@ -4095,9 +5094,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 169,
+                  "startLine": 187,
                   "startColumn": 12,
-                  "endLine": 169,
+                  "endLine": 187,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -4118,9 +5117,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 376,
+                  "startLine": 428,
                   "startColumn": 13,
-                  "endLine": 376,
+                  "endLine": 428,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -4141,9 +5140,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 367,
+                  "startLine": 419,
                   "startColumn": 31,
-                  "endLine": 367,
+                  "endLine": 419,
                   "endColumn": 53,
                   "byteLength": 22
                 }
@@ -4164,9 +5163,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 368,
+                  "startLine": 420,
                   "startColumn": 26,
-                  "endLine": 368,
+                  "endLine": 420,
                   "endColumn": 55,
                   "byteLength": 29
                 }
@@ -4187,9 +5186,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 370,
+                  "startLine": 422,
                   "startColumn": 4,
-                  "endLine": 370,
+                  "endLine": 422,
                   "endColumn": 59,
                   "byteLength": 55
                 }
@@ -4210,9 +5209,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 373,
+                  "startLine": 425,
                   "startColumn": 28,
-                  "endLine": 373,
+                  "endLine": 425,
                   "endColumn": 49,
                   "byteLength": 21
                 }
@@ -4233,9 +5232,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 374,
+                  "startLine": 426,
                   "startColumn": 24,
-                  "endLine": 374,
+                  "endLine": 426,
                   "endColumn": 39,
                   "byteLength": 15
                 }
@@ -4256,9 +5255,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 371,
+                  "startLine": 423,
                   "startColumn": 12,
-                  "endLine": 371,
+                  "endLine": 423,
                   "endColumn": 32,
                   "byteLength": 20
                 }
@@ -4281,9 +5280,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 371,
+                  "startLine": 423,
                   "startColumn": 12,
-                  "endLine": 371,
+                  "endLine": 423,
                   "endColumn": 32,
                   "byteLength": 20
                 }
@@ -4306,9 +5305,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 372,
+                  "startLine": 424,
                   "startColumn": 12,
-                  "endLine": 372,
+                  "endLine": 424,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -4329,9 +5328,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 218,
+                  "startLine": 235,
                   "startColumn": 14,
-                  "endLine": 218,
+                  "endLine": 235,
                   "endColumn": 21,
                   "byteLength": 7
                 }
@@ -4352,10 +5351,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 213,
-                  "startColumn": 29,
-                  "endLine": 213,
-                  "endColumn": 49,
+                  "startLine": 229,
+                  "startColumn": 27,
+                  "endLine": 229,
+                  "endColumn": 47,
                   "byteLength": 20
                 }
               }
@@ -4375,10 +5374,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 214,
-                  "startColumn": 34,
-                  "endLine": 214,
-                  "endColumn": 59,
+                  "startLine": 230,
+                  "startColumn": 32,
+                  "endLine": 230,
+                  "endColumn": 57,
                   "byteLength": 25
                 }
               }
@@ -4398,10 +5397,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 216,
-                  "startColumn": 28,
-                  "endLine": 216,
-                  "endColumn": 53,
+                  "startLine": 233,
+                  "startColumn": 26,
+                  "endLine": 233,
+                  "endColumn": 51,
                   "byteLength": 25
                 }
               }
@@ -4421,9 +5420,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 218,
+                  "startLine": 235,
                   "startColumn": 14,
-                  "endLine": 218,
+                  "endLine": 235,
                   "endColumn": 21,
                   "byteLength": 7
                 }
@@ -4446,10 +5445,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 215,
-                  "startColumn": 12,
-                  "endLine": 215,
-                  "endColumn": 19,
+                  "startLine": 231,
+                  "startColumn": 10,
+                  "endLine": 231,
+                  "endColumn": 17,
                   "byteLength": 7
                 }
               }
@@ -4469,9 +5468,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 500,
+                  "startLine": 582,
                   "startColumn": 13,
-                  "endLine": 500,
+                  "endLine": 582,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -4492,9 +5491,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 500,
+                  "startLine": 582,
                   "startColumn": 13,
-                  "endLine": 500,
+                  "endLine": 582,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -4515,9 +5514,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 500,
+                  "startLine": 582,
                   "startColumn": 13,
-                  "endLine": 500,
+                  "endLine": 582,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -4538,10 +5537,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 484,
-                  "startColumn": 29,
-                  "endLine": 484,
-                  "endColumn": 49,
+                  "startLine": 565,
+                  "startColumn": 27,
+                  "endLine": 565,
+                  "endColumn": 47,
                   "byteLength": 20
                 }
               }
@@ -4561,11 +5560,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 488,
+                  "startLine": 569,
                   "startColumn": 26,
-                  "endLine": 488,
-                  "endColumn": 49,
-                  "byteLength": 23
+                  "endLine": 569,
+                  "endColumn": 51,
+                  "byteLength": 25
                 }
               }
             }
@@ -4584,11 +5583,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 495,
+                  "startLine": 577,
                   "startColumn": 29,
-                  "endLine": 495,
-                  "endColumn": 53,
-                  "byteLength": 24
+                  "endLine": 577,
+                  "endColumn": 55,
+                  "byteLength": 26
                 }
               }
             }
@@ -4607,11 +5606,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 491,
+                  "startLine": 573,
                   "startColumn": 24,
-                  "endLine": 491,
-                  "endColumn": 49,
-                  "byteLength": 25
+                  "endLine": 573,
+                  "endColumn": 51,
+                  "byteLength": 27
                 }
               }
             }
@@ -4630,10 +5629,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 493,
-                  "startColumn": 4,
-                  "endLine": 493,
-                  "endColumn": 51,
+                  "startLine": 575,
+                  "startColumn": 6,
+                  "endLine": 575,
+                  "endColumn": 53,
                   "byteLength": 47
                 }
               }
@@ -4653,9 +5652,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 498,
+                  "startLine": 580,
                   "startColumn": 25,
-                  "endLine": 498,
+                  "endLine": 580,
                   "endColumn": 41,
                   "byteLength": 16
                 }
@@ -4676,9 +5675,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 489,
+                  "startLine": 570,
                   "startColumn": 12,
-                  "endLine": 489,
+                  "endLine": 570,
                   "endColumn": 28,
                   "byteLength": 16
                 }
@@ -4699,9 +5698,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 500,
+                  "startLine": 582,
                   "startColumn": 13,
-                  "endLine": 500,
+                  "endLine": 582,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -4722,9 +5721,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 500,
+                  "startLine": 582,
                   "startColumn": 13,
-                  "endLine": 500,
+                  "endLine": 582,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -4747,9 +5746,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 489,
+                  "startLine": 570,
                   "startColumn": 12,
-                  "endLine": 489,
+                  "endLine": 570,
                   "endColumn": 28,
                   "byteLength": 16
                 }
@@ -4772,9 +5771,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 490,
+                  "startLine": 572,
                   "startColumn": 12,
-                  "endLine": 490,
+                  "endLine": 572,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -4797,10 +5796,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 486,
-                  "startColumn": 12,
-                  "endLine": 486,
-                  "endColumn": 19,
+                  "startLine": 567,
+                  "startColumn": 10,
+                  "endLine": 567,
+                  "endColumn": 17,
                   "byteLength": 7
                 }
               }
@@ -4822,9 +5821,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 496,
+                  "startLine": 579,
                   "startColumn": 12,
-                  "endLine": 496,
+                  "endLine": 579,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -4845,10 +5844,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 485,
-                  "startColumn": 14,
-                  "endLine": 485,
-                  "endColumn": 21,
+                  "startLine": 566,
+                  "startColumn": 12,
+                  "endLine": 566,
+                  "endColumn": 19,
                   "byteLength": 7
                 }
               }
@@ -4868,9 +5867,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 500,
+                  "startLine": 582,
                   "startColumn": 13,
-                  "endLine": 500,
+                  "endLine": 582,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -4891,9 +5890,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 363,
+                  "startLine": 415,
                   "startColumn": 13,
-                  "endLine": 363,
+                  "endLine": 415,
                   "endColumn": 21,
                   "byteLength": 8
                 }
@@ -4914,9 +5913,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 359,
+                  "startLine": 411,
                   "startColumn": 33,
-                  "endLine": 359,
+                  "endLine": 411,
                   "endColumn": 59,
                   "byteLength": 26
                 }
@@ -4937,9 +5936,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 360,
+                  "startLine": 412,
                   "startColumn": 35,
-                  "endLine": 360,
+                  "endLine": 412,
                   "endColumn": 51,
                   "byteLength": 16
                 }
@@ -4960,9 +5959,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 361,
+                  "startLine": 413,
                   "startColumn": 33,
-                  "endLine": 361,
+                  "endLine": 413,
                   "endColumn": 59,
                   "byteLength": 26
                 }
@@ -4983,9 +5982,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 363,
+                  "startLine": 415,
                   "startColumn": 13,
-                  "endLine": 363,
+                  "endLine": 415,
                   "endColumn": 21,
                   "byteLength": 8
                 }
@@ -5008,9 +6007,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 358,
+                  "startLine": 410,
                   "startColumn": 12,
-                  "endLine": 358,
+                  "endLine": 410,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -5031,9 +6030,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 471,
+                  "startLine": 536,
                   "startColumn": 14,
-                  "endLine": 471,
+                  "endLine": 536,
                   "endColumn": 21,
                   "byteLength": 7
                 }
@@ -5054,9 +6053,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 464,
+                  "startLine": 526,
                   "startColumn": 31,
-                  "endLine": 464,
+                  "endLine": 526,
                   "endColumn": 53,
                   "byteLength": 22
                 }
@@ -5077,9 +6076,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 465,
+                  "startLine": 527,
                   "startColumn": 32,
-                  "endLine": 465,
+                  "endLine": 527,
                   "endColumn": 50,
                   "byteLength": 18
                 }
@@ -5100,9 +6099,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 466,
+                  "startLine": 528,
                   "startColumn": 27,
-                  "endLine": 466,
+                  "endLine": 528,
                   "endColumn": 48,
                   "byteLength": 21
                 }
@@ -5110,6 +6109,29 @@
             }
           ]
         },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "separation." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 530,
+                  "startColumn": 4,
+                  "endLine": 531,
+                  "endColumn": 31,
+                  "byteLength": 89
+                }
+              }
+            }
+          ]
+        },
         {
           "ruleId": "user-spec",
           "kind": "pass",
@@ -5123,9 +6145,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 469,
+                  "startLine": 534,
                   "startColumn": 28,
-                  "endLine": 469,
+                  "endLine": 534,
                   "endColumn": 65,
                   "byteLength": 37
                 }
@@ -5146,9 +6168,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 467,
+                  "startLine": 532,
                   "startColumn": 12,
-                  "endLine": 467,
+                  "endLine": 532,
                   "endColumn": 33,
                   "byteLength": 21
                 }
@@ -5171,9 +6193,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 467,
+                  "startLine": 532,
                   "startColumn": 12,
-                  "endLine": 467,
+                  "endLine": 532,
                   "endColumn": 33,
                   "byteLength": 21
                 }
@@ -5196,9 +6218,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 468,
+                  "startLine": 533,
                   "startColumn": 12,
-                  "endLine": 468,
+                  "endLine": 533,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -5219,9 +6241,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 409,
+                  "startLine": 461,
                   "startColumn": 7,
-                  "endLine": 409,
+                  "endLine": 461,
                   "endColumn": 14,
                   "byteLength": 7
                 }
@@ -5242,9 +6264,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 400,
+                  "startLine": 452,
                   "startColumn": 31,
-                  "endLine": 400,
+                  "endLine": 452,
                   "endColumn": 53,
                   "byteLength": 22
                 }
@@ -5265,9 +6287,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 401,
+                  "startLine": 453,
                   "startColumn": 27,
-                  "endLine": 401,
+                  "endLine": 453,
                   "endColumn": 48,
                   "byteLength": 21
                 }
@@ -5288,9 +6310,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 403,
+                  "startLine": 455,
                   "startColumn": 4,
-                  "endLine": 403,
+                  "endLine": 455,
                   "endColumn": 61,
                   "byteLength": 57
                 }
@@ -5311,9 +6333,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 406,
+                  "startLine": 458,
                   "startColumn": 28,
-                  "endLine": 406,
+                  "endLine": 458,
                   "endColumn": 73,
                   "byteLength": 45
                 }
@@ -5334,9 +6356,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 407,
+                  "startLine": 459,
                   "startColumn": 28,
-                  "endLine": 407,
+                  "endLine": 459,
                   "endColumn": 50,
                   "byteLength": 22
                 }
@@ -5357,9 +6379,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 404,
+                  "startLine": 456,
                   "startColumn": 12,
-                  "endLine": 404,
+                  "endLine": 456,
                   "endColumn": 24,
                   "byteLength": 12
                 }
@@ -5382,9 +6404,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 404,
+                  "startLine": 456,
                   "startColumn": 12,
-                  "endLine": 404,
+                  "endLine": 456,
                   "endColumn": 24,
                   "byteLength": 12
                 }
@@ -5407,9 +6429,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 405,
+                  "startLine": 457,
                   "startColumn": 12,
-                  "endLine": 405,
+                  "endLine": 457,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -5430,9 +6452,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 145,
+                  "startLine": 162,
                   "startColumn": 14,
-                  "endLine": 145,
+                  "endLine": 162,
                   "endColumn": 20,
                   "byteLength": 6
                 }
@@ -5453,9 +6475,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 141,
+                  "startLine": 158,
                   "startColumn": 29,
-                  "endLine": 141,
+                  "endLine": 158,
                   "endColumn": 49,
                   "byteLength": 20
                 }
@@ -5476,9 +6498,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 143,
+                  "startLine": 160,
                   "startColumn": 26,
-                  "endLine": 143,
+                  "endLine": 160,
                   "endColumn": 46,
                   "byteLength": 20
                 }
@@ -5499,9 +6521,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 145,
+                  "startLine": 162,
                   "startColumn": 14,
-                  "endLine": 145,
+                  "endLine": 162,
                   "endColumn": 20,
                   "byteLength": 6
                 }
@@ -5524,9 +6546,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 142,
+                  "startLine": 159,
                   "startColumn": 12,
-                  "endLine": 142,
+                  "endLine": 159,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -5664,9 +6686,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 460,
+                  "startLine": 522,
                   "startColumn": 13,
-                  "endLine": 460,
+                  "endLine": 522,
                   "endColumn": 20,
                   "byteLength": 7
                 }
@@ -5687,9 +6709,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 460,
+                  "startLine": 522,
                   "startColumn": 13,
-                  "endLine": 460,
+                  "endLine": 522,
                   "endColumn": 20,
                   "byteLength": 7
                 }
@@ -5710,9 +6732,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 460,
+                  "startLine": 522,
                   "startColumn": 13,
-                  "endLine": 460,
+                  "endLine": 522,
                   "endColumn": 20,
                   "byteLength": 7
                 }
@@ -5733,10 +6755,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 439,
-                  "startColumn": 32,
-                  "endLine": 439,
-                  "endColumn": 58,
+                  "startLine": 497,
+                  "startColumn": 30,
+                  "endLine": 497,
+                  "endColumn": 56,
                   "byteLength": 26
                 }
               }
@@ -5756,16 +6778,39 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 440,
-                  "startColumn": 32,
-                  "endLine": 440,
-                  "endColumn": 50,
+                  "startLine": 498,
+                  "startColumn": 30,
+                  "endLine": 498,
+                  "endColumn": 48,
                   "byteLength": 18
                 }
               }
             }
           ]
         },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "separation." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 500,
+                  "startColumn": 4,
+                  "endLine": 501,
+                  "endColumn": 40,
+                  "byteLength": 91
+                }
+              }
+            }
+          ]
+        },
         {
           "ruleId": "user-spec",
           "kind": "pass",
@@ -5779,9 +6824,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 446,
+                  "startLine": 507,
                   "startColumn": 26,
-                  "endLine": 446,
+                  "endLine": 507,
                   "endColumn": 74,
                   "byteLength": 48
                 }
@@ -5802,9 +6847,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 454,
+                  "startLine": 514,
                   "startColumn": 26,
-                  "endLine": 454,
+                  "endLine": 514,
                   "endColumn": 64,
                   "byteLength": 38
                 }
@@ -5816,7 +6861,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_string_src_fits." },
+          "message": { "text": "src_fits." },
           "locations": [
             {
               "physicalLocation": {
@@ -5825,11 +6870,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 445,
-                  "startColumn": 35,
-                  "endLine": 445,
-                  "endColumn": 77,
-                  "byteLength": 42
+                  "startLine": 506,
+                  "startColumn": 22,
+                  "endLine": 506,
+                  "endColumn": 41,
+                  "byteLength": 19
                 }
               }
             }
@@ -5839,7 +6884,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_string_src_too_large." },
+          "message": { "text": "src_too_large." },
           "locations": [
             {
               "physicalLocation": {
@@ -5848,11 +6893,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 453,
-                  "startColumn": 4,
-                  "endLine": 453,
-                  "endColumn": 49,
-                  "byteLength": 45
+                  "startLine": 513,
+                  "startColumn": 27,
+                  "endLine": 513,
+                  "endColumn": 47,
+                  "byteLength": 20
                 }
               }
             }
@@ -5871,10 +6916,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 443,
-                  "startColumn": 24,
-                  "endLine": 443,
-                  "endColumn": 39,
+                  "startLine": 504,
+                  "startColumn": 22,
+                  "endLine": 504,
+                  "endColumn": 37,
                   "byteLength": 15
                 }
               }
@@ -5894,9 +6939,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 450,
+                  "startLine": 511,
                   "startColumn": 28,
-                  "endLine": 450,
+                  "endLine": 511,
                   "endColumn": 76,
                   "byteLength": 48
                 }
@@ -5917,9 +6962,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 458,
+                  "startLine": 518,
                   "startColumn": 36,
-                  "endLine": 458,
+                  "endLine": 518,
                   "endColumn": 74,
                   "byteLength": 38
                 }
@@ -5940,11 +6985,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 447,
+                  "startLine": 508,
                   "startColumn": 12,
-                  "endLine": 447,
-                  "endColumn": 58,
-                  "byteLength": 46
+                  "endLine": 508,
+                  "endColumn": 60,
+                  "byteLength": 48
                 }
               }
             }
@@ -5963,10 +7008,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 441,
-                  "startColumn": 12,
-                  "endLine": 441,
-                  "endColumn": 50,
+                  "startLine": 502,
+                  "startColumn": 10,
+                  "endLine": 502,
+                  "endColumn": 48,
                   "byteLength": 38
                 }
               }
@@ -5986,11 +7031,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 455,
+                  "startLine": 515,
                   "startColumn": 12,
-                  "endLine": 455,
-                  "endColumn": 48,
-                  "byteLength": 36
+                  "endLine": 515,
+                  "endColumn": 50,
+                  "byteLength": 38
                 }
               }
             }
@@ -6011,11 +7056,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 447,
+                  "startLine": 508,
                   "startColumn": 12,
-                  "endLine": 447,
-                  "endColumn": 58,
-                  "byteLength": 46
+                  "endLine": 508,
+                  "endColumn": 60,
+                  "byteLength": 48
                 }
               }
             }
@@ -6036,9 +7081,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 449,
+                  "startLine": 510,
                   "startColumn": 12,
-                  "endLine": 449,
+                  "endLine": 510,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -6061,10 +7106,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 441,
-                  "startColumn": 12,
-                  "endLine": 441,
-                  "endColumn": 50,
+                  "startLine": 502,
+                  "startColumn": 10,
+                  "endLine": 502,
+                  "endColumn": 48,
                   "byteLength": 38
                 }
               }
@@ -6086,10 +7131,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 442,
-                  "startColumn": 12,
-                  "endLine": 442,
-                  "endColumn": 19,
+                  "startLine": 503,
+                  "startColumn": 10,
+                  "endLine": 503,
+                  "endColumn": 17,
                   "byteLength": 7
                 }
               }
@@ -6111,11 +7156,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 455,
+                  "startLine": 515,
                   "startColumn": 12,
-                  "endLine": 455,
-                  "endColumn": 48,
-                  "byteLength": 36
+                  "endLine": 515,
+                  "endColumn": 50,
+                  "byteLength": 38
                 }
               }
             }
@@ -6136,9 +7181,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 457,
+                  "startLine": 517,
                   "startColumn": 12,
-                  "endLine": 457,
+                  "endLine": 517,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -6146,6 +7191,52 @@
             }
           ]
         },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "complete clause in function strncat." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 522,
+                  "startColumn": 13,
+                  "endLine": 522,
+                  "endColumn": 20,
+                  "byteLength": 7
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "disjoint clause in function strncat." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 522,
+                  "startColumn": 13,
+                  "endLine": 522,
+                  "endColumn": 20,
+                  "byteLength": 7
+                }
+              }
+            }
+          ]
+        },
         {
           "ruleId": "user-spec",
           "kind": "pass",
@@ -6159,9 +7250,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 165,
+                  "startLine": 183,
                   "startColumn": 11,
-                  "endLine": 165,
+                  "endLine": 183,
                   "endColumn": 18,
                   "byteLength": 7
                 }
@@ -6182,9 +7273,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 160,
+                  "startLine": 178,
                   "startColumn": 30,
-                  "endLine": 160,
+                  "endLine": 178,
                   "endColumn": 55,
                   "byteLength": 25
                 }
@@ -6205,9 +7296,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 161,
+                  "startLine": 179,
                   "startColumn": 30,
-                  "endLine": 161,
+                  "endLine": 179,
                   "endColumn": 55,
                   "byteLength": 25
                 }
@@ -6228,9 +7319,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 163,
+                  "startLine": 181,
                   "startColumn": 26,
-                  "endLine": 163,
+                  "endLine": 181,
                   "endColumn": 53,
                   "byteLength": 27
                 }
@@ -6251,9 +7342,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 165,
+                  "startLine": 183,
                   "startColumn": 11,
-                  "endLine": 165,
+                  "endLine": 183,
                   "endColumn": 18,
                   "byteLength": 7
                 }
@@ -6276,9 +7367,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 162,
+                  "startLine": 180,
                   "startColumn": 12,
-                  "endLine": 162,
+                  "endLine": 180,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -6299,9 +7390,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 394,
+                  "startLine": 446,
                   "startColumn": 13,
-                  "endLine": 394,
+                  "endLine": 446,
                   "endColumn": 20,
                   "byteLength": 7
                 }
@@ -6322,9 +7413,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 394,
+                  "startLine": 446,
                   "startColumn": 13,
-                  "endLine": 394,
+                  "endLine": 446,
                   "endColumn": 20,
                   "byteLength": 7
                 }
@@ -6345,9 +7436,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 394,
+                  "startLine": 446,
                   "startColumn": 13,
-                  "endLine": 394,
+                  "endLine": 446,
                   "endColumn": 20,
                   "byteLength": 7
                 }
@@ -6368,9 +7459,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 379,
+                  "startLine": 431,
                   "startColumn": 32,
-                  "endLine": 379,
+                  "endLine": 431,
                   "endColumn": 58,
                   "byteLength": 26
                 }
@@ -6391,9 +7482,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 380,
+                  "startLine": 432,
                   "startColumn": 27,
-                  "endLine": 380,
+                  "endLine": 432,
                   "endColumn": 50,
                   "byteLength": 23
                 }
@@ -6414,9 +7505,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 382,
+                  "startLine": 434,
                   "startColumn": 4,
-                  "endLine": 382,
+                  "endLine": 434,
                   "endColumn": 43,
                   "byteLength": 39
                 }
@@ -6437,9 +7528,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 388,
+                  "startLine": 440,
                   "startColumn": 22,
-                  "endLine": 388,
+                  "endLine": 440,
                   "endColumn": 37,
                   "byteLength": 15
                 }
@@ -6460,9 +7551,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 391,
+                  "startLine": 443,
                   "startColumn": 26,
-                  "endLine": 391,
+                  "endLine": 443,
                   "endColumn": 42,
                   "byteLength": 16
                 }
@@ -6483,9 +7574,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 385,
+                  "startLine": 437,
                   "startColumn": 24,
-                  "endLine": 385,
+                  "endLine": 437,
                   "endColumn": 39,
                   "byteLength": 15
                 }
@@ -6506,9 +7597,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 386,
+                  "startLine": 438,
                   "startColumn": 28,
-                  "endLine": 386,
+                  "endLine": 438,
                   "endColumn": 57,
                   "byteLength": 29
                 }
@@ -6529,9 +7620,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 389,
+                  "startLine": 441,
                   "startColumn": 30,
-                  "endLine": 389,
+                  "endLine": 441,
                   "endColumn": 51,
                   "byteLength": 21
                 }
@@ -6552,9 +7643,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 392,
+                  "startLine": 444,
                   "startColumn": 26,
-                  "endLine": 392,
+                  "endLine": 444,
                   "endColumn": 60,
                   "byteLength": 34
                 }
@@ -6575,9 +7666,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 383,
+                  "startLine": 435,
                   "startColumn": 12,
-                  "endLine": 383,
+                  "endLine": 435,
                   "endColumn": 26,
                   "byteLength": 14
                 }
@@ -6600,9 +7691,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 383,
+                  "startLine": 435,
                   "startColumn": 12,
-                  "endLine": 383,
+                  "endLine": 435,
                   "endColumn": 26,
                   "byteLength": 14
                 }
@@ -6625,9 +7716,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 384,
+                  "startLine": 436,
                   "startColumn": 12,
-                  "endLine": 384,
+                  "endLine": 436,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -6648,9 +7739,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 522,
+                  "startLine": 608,
                   "startColumn": 13,
-                  "endLine": 522,
+                  "endLine": 608,
                   "endColumn": 20,
                   "byteLength": 7
                 }
@@ -6671,9 +7762,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 522,
+                  "startLine": 608,
                   "startColumn": 13,
-                  "endLine": 522,
+                  "endLine": 608,
                   "endColumn": 20,
                   "byteLength": 7
                 }
@@ -6696,9 +7787,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 522,
+                  "startLine": 608,
                   "startColumn": 13,
-                  "endLine": 522,
+                  "endLine": 608,
                   "endColumn": 20,
                   "byteLength": 7
                 }
@@ -6719,10 +7810,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 502,
-                  "startColumn": 29,
-                  "endLine": 502,
-                  "endColumn": 49,
+                  "startLine": 588,
+                  "startColumn": 27,
+                  "endLine": 588,
+                  "endColumn": 47,
                   "byteLength": 20
                 }
               }
@@ -6742,11 +7833,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 507,
+                  "startLine": 593,
                   "startColumn": 26,
-                  "endLine": 507,
-                  "endColumn": 60,
-                  "byteLength": 34
+                  "endLine": 593,
+                  "endColumn": 57,
+                  "byteLength": 31
                 }
               }
             }
@@ -6765,11 +7856,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 517,
+                  "startLine": 603,
                   "startColumn": 29,
-                  "endLine": 517,
-                  "endColumn": 64,
-                  "byteLength": 35
+                  "endLine": 603,
+                  "endColumn": 61,
+                  "byteLength": 32
                 }
               }
             }
@@ -6788,11 +7879,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 511,
+                  "startLine": 597,
                   "startColumn": 24,
-                  "endLine": 511,
-                  "endColumn": 60,
-                  "byteLength": 36
+                  "endLine": 597,
+                  "endColumn": 58,
+                  "byteLength": 34
                 }
               }
             }
@@ -6813,11 +7904,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 513,
-                  "startColumn": 4,
-                  "endLine": 515,
-                  "endColumn": 29,
-                  "byteLength": 124
+                  "startLine": 599,
+                  "startColumn": 6,
+                  "endLine": 601,
+                  "endColumn": 31,
+                  "byteLength": 125
                 }
               }
             }
@@ -6836,9 +7927,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 520,
+                  "startLine": 606,
                   "startColumn": 25,
-                  "endLine": 520,
+                  "endLine": 606,
                   "endColumn": 41,
                   "byteLength": 16
                 }
@@ -6859,9 +7950,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 508,
+                  "startLine": 594,
                   "startColumn": 12,
-                  "endLine": 508,
+                  "endLine": 594,
                   "endColumn": 28,
                   "byteLength": 16
                 }
@@ -6882,9 +7973,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 522,
+                  "startLine": 608,
                   "startColumn": 13,
-                  "endLine": 522,
+                  "endLine": 608,
                   "endColumn": 20,
                   "byteLength": 7
                 }
@@ -6905,9 +7996,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 522,
+                  "startLine": 608,
                   "startColumn": 13,
-                  "endLine": 522,
+                  "endLine": 608,
                   "endColumn": 20,
                   "byteLength": 7
                 }
@@ -6930,9 +8021,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 508,
+                  "startLine": 594,
                   "startColumn": 12,
-                  "endLine": 508,
+                  "endLine": 594,
                   "endColumn": 28,
                   "byteLength": 16
                 }
@@ -6955,9 +8046,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 509,
+                  "startLine": 595,
                   "startColumn": 12,
-                  "endLine": 509,
+                  "endLine": 595,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -6980,10 +8071,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 504,
-                  "startColumn": 12,
-                  "endLine": 504,
-                  "endColumn": 19,
+                  "startLine": 590,
+                  "startColumn": 10,
+                  "endLine": 590,
+                  "endColumn": 17,
                   "byteLength": 7
                 }
               }
@@ -7005,9 +8096,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 518,
+                  "startLine": 605,
                   "startColumn": 12,
-                  "endLine": 518,
+                  "endLine": 605,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -7030,10 +8121,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 503,
-                  "startColumn": 14,
-                  "endLine": 503,
-                  "endColumn": 21,
+                  "startLine": 589,
+                  "startColumn": 12,
+                  "endLine": 589,
+                  "endColumn": 19,
                   "byteLength": 7
                 }
               }
@@ -7055,9 +8146,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 522,
+                  "startLine": 608,
                   "startColumn": 13,
-                  "endLine": 522,
+                  "endLine": 608,
                   "endColumn": 20,
                   "byteLength": 7
                 }
@@ -7078,9 +8169,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 151,
+                  "startLine": 168,
                   "startColumn": 14,
-                  "endLine": 151,
+                  "endLine": 168,
                   "endColumn": 21,
                   "byteLength": 7
                 }
@@ -7101,9 +8192,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 147,
+                  "startLine": 164,
                   "startColumn": 29,
-                  "endLine": 147,
+                  "endLine": 164,
                   "endColumn": 53,
                   "byteLength": 24
                 }
@@ -7124,9 +8215,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 149,
+                  "startLine": 166,
                   "startColumn": 28,
-                  "endLine": 149,
+                  "endLine": 166,
                   "endColumn": 64,
                   "byteLength": 36
                 }
@@ -7147,9 +8238,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 151,
+                  "startLine": 168,
                   "startColumn": 14,
-                  "endLine": 151,
+                  "endLine": 168,
                   "endColumn": 21,
                   "byteLength": 7
                 }
@@ -7172,9 +8263,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 148,
+                  "startLine": 165,
                   "startColumn": 12,
-                  "endLine": 148,
+                  "endLine": 165,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -7195,9 +8286,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 234,
+                  "startLine": 255,
                   "startColumn": 13,
-                  "endLine": 234,
+                  "endLine": 255,
                   "endColumn": 20,
                   "byteLength": 7
                 }
@@ -7218,10 +8309,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 228,
-                  "startColumn": 29,
-                  "endLine": 228,
-                  "endColumn": 49,
+                  "startLine": 247,
+                  "startColumn": 27,
+                  "endLine": 247,
+                  "endColumn": 47,
                   "byteLength": 20
                 }
               }
@@ -7241,10 +8332,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 229,
-                  "startColumn": 34,
-                  "endLine": 229,
-                  "endColumn": 59,
+                  "startLine": 248,
+                  "startColumn": 32,
+                  "endLine": 248,
+                  "endColumn": 57,
                   "byteLength": 25
                 }
               }
@@ -7264,11 +8355,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 232,
+                  "startLine": 252,
                   "startColumn": 4,
-                  "endLine": 232,
-                  "endColumn": 60,
-                  "byteLength": 56
+                  "endLine": 253,
+                  "endColumn": 72,
+                  "byteLength": 92
                 }
               }
             }
@@ -7287,9 +8378,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 234,
+                  "startLine": 255,
                   "startColumn": 13,
-                  "endLine": 234,
+                  "endLine": 255,
                   "endColumn": 20,
                   "byteLength": 7
                 }
@@ -7312,33 +8403,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 230,
-                  "startColumn": 12,
-                  "endLine": 230,
-                  "endColumn": 19,
-                  "byteLength": 7
-                }
-              }
-            }
-          ]
-        },
-        {
-          "ruleId": "user-spec",
-          "kind": "pass",
-          "level": "none",
-          "message": { "text": "behavior default in function strrchr." },
-          "locations": [
-            {
-              "physicalLocation": {
-                "artifactLocation": {
-                  "uri": "libc/string.h",
-                  "uriBaseId": "FRAMAC_SHARE"
-                },
-                "region": {
-                  "startLine": 211,
-                  "startColumn": 13,
-                  "endLine": 211,
-                  "endColumn": 20,
+                  "startLine": 249,
+                  "startColumn": 10,
+                  "endLine": 249,
+                  "endColumn": 17,
                   "byteLength": 7
                 }
               }
@@ -7358,55 +8426,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 211,
-                  "startColumn": 13,
-                  "endLine": 211,
-                  "endColumn": 20,
-                  "byteLength": 7
-                }
-              }
-            }
-          ]
-        },
-        {
-          "ruleId": "user-spec",
-          "kind": "pass",
-          "level": "none",
-          "message": { "text": "behavior found in function strrchr." },
-          "locations": [
-            {
-              "physicalLocation": {
-                "artifactLocation": {
-                  "uri": "libc/string.h",
-                  "uriBaseId": "FRAMAC_SHARE"
-                },
-                "region": {
-                  "startLine": 211,
-                  "startColumn": 13,
-                  "endLine": 211,
-                  "endColumn": 20,
-                  "byteLength": 7
-                }
-              }
-            }
-          ]
-        },
-        {
-          "ruleId": "user-spec",
-          "kind": "pass",
-          "level": "none",
-          "message": { "text": "behavior not_found in function strrchr." },
-          "locations": [
-            {
-              "physicalLocation": {
-                "artifactLocation": {
-                  "uri": "libc/string.h",
-                  "uriBaseId": "FRAMAC_SHARE"
-                },
-                "region": {
-                  "startLine": 211,
+                  "startLine": 226,
                   "startColumn": 13,
-                  "endLine": 211,
+                  "endLine": 226,
                   "endColumn": 20,
                   "byteLength": 7
                 }
@@ -7427,10 +8449,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 197,
-                  "startColumn": 29,
-                  "endLine": 197,
-                  "endColumn": 49,
+                  "startLine": 220,
+                  "startColumn": 27,
+                  "endLine": 220,
+                  "endColumn": 47,
                   "byteLength": 20
                 }
               }
@@ -7441,7 +8463,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "char_found." },
+          "message": { "text": "result_null_or_same_base." },
           "locations": [
             {
               "physicalLocation": {
@@ -7450,11 +8472,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 200,
-                  "startColumn": 24,
-                  "endLine": 200,
-                  "endColumn": 35,
-                  "byteLength": 11
+                  "startLine": 223,
+                  "startColumn": 4,
+                  "endLine": 224,
+                  "endColumn": 72,
+                  "byteLength": 92
                 }
               }
             }
@@ -7464,7 +8486,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "char_not_found." },
+          "message": { "text": "assigns clause in function strrchr." },
           "locations": [
             {
               "physicalLocation": {
@@ -7473,11 +8495,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 205,
-                  "startColumn": 28,
-                  "endLine": 205,
-                  "endColumn": 40,
-                  "byteLength": 12
+                  "startLine": 226,
+                  "startColumn": 13,
+                  "endLine": 226,
+                  "endColumn": 20,
+                  "byteLength": 7
                 }
               }
             }
@@ -7487,7 +8509,9 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_char." },
+          "message": {
+            "text": "from clause of term \\result in function strrchr."
+          },
           "locations": [
             {
               "physicalLocation": {
@@ -7496,11 +8520,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 201,
-                  "startColumn": 25,
-                  "endLine": 201,
-                  "endColumn": 38,
-                  "byteLength": 13
+                  "startLine": 221,
+                  "startColumn": 10,
+                  "endLine": 221,
+                  "endColumn": 17,
+                  "byteLength": 7
                 }
               }
             }
@@ -7510,7 +8534,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_same_base." },
+          "message": { "text": "behavior default! in function strsep." },
           "locations": [
             {
               "physicalLocation": {
@@ -7518,12 +8542,12 @@
                   "uri": "libc/string.h",
                   "uriBaseId": "FRAMAC_SHARE"
                 },
-                "region": {
-                  "startLine": 202,
-                  "startColumn": 30,
-                  "endLine": 202,
-                  "endColumn": 66,
-                  "byteLength": 36
+                "region": {
+                  "startLine": 402,
+                  "startColumn": 13,
+                  "endLine": 402,
+                  "endColumn": 19,
+                  "byteLength": 6
                 }
               }
             }
@@ -7533,7 +8557,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_valid_string." },
+          "message": { "text": "behavior no_stringp in function strsep." },
           "locations": [
             {
               "physicalLocation": {
@@ -7542,11 +8566,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 203,
-                  "startColumn": 33,
-                  "endLine": 203,
-                  "endColumn": 59,
-                  "byteLength": 26
+                  "startLine": 402,
+                  "startColumn": 13,
+                  "endLine": 402,
+                  "endColumn": 19,
+                  "byteLength": 6
                 }
               }
             }
@@ -7556,7 +8580,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_null." },
+          "message": { "text": "behavior valid_stringp in function strsep." },
           "locations": [
             {
               "physicalLocation": {
@@ -7565,11 +8589,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 206,
-                  "startColumn": 25,
-                  "endLine": 206,
-                  "endColumn": 41,
-                  "byteLength": 16
+                  "startLine": 402,
+                  "startColumn": 13,
+                  "endLine": 402,
+                  "endColumn": 19,
+                  "byteLength": 6
                 }
               }
             }
@@ -7579,7 +8603,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_null_or_same_base." },
+          "message": { "text": "valid_stringp." },
           "locations": [
             {
               "physicalLocation": {
@@ -7588,11 +8612,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 209,
-                  "startColumn": 4,
-                  "endLine": 209,
-                  "endColumn": 60,
-                  "byteLength": 56
+                  "startLine": 390,
+                  "startColumn": 26,
+                  "endLine": 390,
+                  "endColumn": 41,
+                  "byteLength": 15
                 }
               }
             }
@@ -7602,7 +8626,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "assigns clause in function strrchr." },
+          "message": { "text": "valid_string_stringp." },
           "locations": [
             {
               "physicalLocation": {
@@ -7611,11 +8635,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 211,
-                  "startColumn": 13,
-                  "endLine": 211,
-                  "endColumn": 20,
-                  "byteLength": 7
+                  "startLine": 398,
+                  "startColumn": 35,
+                  "endLine": 398,
+                  "endColumn": 57,
+                  "byteLength": 22
                 }
               }
             }
@@ -7625,9 +8649,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function strrchr."
-          },
+          "message": { "text": "stringp_null." },
           "locations": [
             {
               "physicalLocation": {
@@ -7636,11 +8658,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 198,
-                  "startColumn": 12,
-                  "endLine": 198,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "startLine": 394,
+                  "startColumn": 26,
+                  "endLine": 394,
+                  "endColumn": 43,
+                  "byteLength": 17
                 }
               }
             }
@@ -7650,7 +8672,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "behavior default! in function strsep." },
+          "message": { "text": "stringp_not_null." },
           "locations": [
             {
               "physicalLocation": {
@@ -7659,11 +8681,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 350,
-                  "startColumn": 13,
-                  "endLine": 350,
-                  "endColumn": 19,
-                  "byteLength": 6
+                  "startLine": 397,
+                  "startColumn": 30,
+                  "endLine": 397,
+                  "endColumn": 47,
+                  "byteLength": 17
                 }
               }
             }
@@ -7673,7 +8695,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_string_stringp." },
+          "message": { "text": "result_null." },
           "locations": [
             {
               "physicalLocation": {
@@ -7682,11 +8704,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 345,
-                  "startColumn": 35,
-                  "endLine": 345,
-                  "endColumn": 76,
-                  "byteLength": 41
+                  "startLine": 395,
+                  "startColumn": 25,
+                  "endLine": 395,
+                  "endColumn": 41,
+                  "byteLength": 16
                 }
               }
             }
@@ -7696,7 +8718,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "valid_string_delim." },
+          "message": { "text": "valid_result." },
           "locations": [
             {
               "physicalLocation": {
@@ -7705,11 +8727,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 346,
-                  "startColumn": 33,
-                  "endLine": 346,
-                  "endColumn": 57,
-                  "byteLength": 24
+                  "startLine": 399,
+                  "startColumn": 26,
+                  "endLine": 400,
+                  "endColumn": 69,
+                  "byteLength": 94
                 }
               }
             }
@@ -7728,11 +8750,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 347,
-                  "startColumn": 12,
-                  "endLine": 347,
-                  "endColumn": 20,
-                  "byteLength": 8
+                  "startLine": 391,
+                  "startColumn": 10,
+                  "endLine": 391,
+                  "endColumn": 23,
+                  "byteLength": 13
                 }
               }
             }
@@ -7743,7 +8765,7 @@
           "kind": "pass",
           "level": "none",
           "message": {
-            "text": "from clause of term *stringp in function strsep."
+            "text": "from clause of term *(*(stringp + (0 ..))) in function strsep."
           },
           "locations": [
             {
@@ -7753,11 +8775,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 347,
-                  "startColumn": 12,
-                  "endLine": 347,
-                  "endColumn": 20,
-                  "byteLength": 8
+                  "startLine": 391,
+                  "startColumn": 10,
+                  "endLine": 391,
+                  "endColumn": 23,
+                  "byteLength": 13
                 }
               }
             }
@@ -7778,10 +8800,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 348,
-                  "startColumn": 12,
-                  "endLine": 348,
-                  "endColumn": 19,
+                  "startLine": 392,
+                  "startColumn": 10,
+                  "endLine": 392,
+                  "endColumn": 17,
                   "byteLength": 7
                 }
               }
@@ -7801,9 +8823,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 539,
+                  "startLine": 647,
                   "startColumn": 13,
-                  "endLine": 539,
+                  "endLine": 647,
                   "endColumn": 22,
                   "byteLength": 9
                 }
@@ -7824,9 +8846,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 535,
+                  "startLine": 643,
                   "startColumn": 33,
-                  "endLine": 535,
+                  "endLine": 643,
                   "endColumn": 60,
                   "byteLength": 27
                 }
@@ -7847,9 +8869,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 536,
+                  "startLine": 644,
                   "startColumn": 35,
-                  "endLine": 536,
+                  "endLine": 644,
                   "endColumn": 51,
                   "byteLength": 16
                 }
@@ -7870,9 +8892,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 537,
+                  "startLine": 645,
                   "startColumn": 33,
-                  "endLine": 537,
+                  "endLine": 645,
                   "endColumn": 59,
                   "byteLength": 26
                 }
@@ -7893,9 +8915,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 539,
+                  "startLine": 647,
                   "startColumn": 13,
-                  "endLine": 539,
+                  "endLine": 647,
                   "endColumn": 22,
                   "byteLength": 9
                 }
@@ -7918,9 +8940,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 534,
+                  "startLine": 642,
                   "startColumn": 12,
-                  "endLine": 534,
+                  "endLine": 642,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -7941,9 +8963,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 226,
+                  "startLine": 244,
                   "startColumn": 14,
-                  "endLine": 226,
+                  "endLine": 244,
                   "endColumn": 20,
                   "byteLength": 6
                 }
@@ -7964,10 +8986,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 220,
-                  "startColumn": 29,
-                  "endLine": 220,
-                  "endColumn": 49,
+                  "startLine": 238,
+                  "startColumn": 27,
+                  "endLine": 238,
+                  "endColumn": 47,
                   "byteLength": 20
                 }
               }
@@ -7987,10 +9009,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 221,
-                  "startColumn": 34,
-                  "endLine": 221,
-                  "endColumn": 59,
+                  "startLine": 239,
+                  "startColumn": 32,
+                  "endLine": 239,
+                  "endColumn": 57,
                   "byteLength": 25
                 }
               }
@@ -8010,10 +9032,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 224,
-                  "startColumn": 28,
-                  "endLine": 224,
-                  "endColumn": 53,
+                  "startLine": 242,
+                  "startColumn": 26,
+                  "endLine": 242,
+                  "endColumn": 51,
                   "byteLength": 25
                 }
               }
@@ -8033,36 +9055,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 222,
-                  "startColumn": 12,
-                  "endLine": 222,
-                  "endColumn": 19,
-                  "byteLength": 7
-                }
-              }
-            }
-          ]
-        },
-        {
-          "ruleId": "user-spec",
-          "kind": "pass",
-          "level": "none",
-          "message": {
-            "text": "from clause of term \\result in function strspn."
-          },
-          "locations": [
-            {
-              "physicalLocation": {
-                "artifactLocation": {
-                  "uri": "libc/string.h",
-                  "uriBaseId": "FRAMAC_SHARE"
-                },
-                "region": {
-                  "startLine": 222,
-                  "startColumn": 12,
-                  "endLine": 222,
-                  "endColumn": 19,
-                  "byteLength": 7
+                  "startLine": 244,
+                  "startColumn": 14,
+                  "endLine": 244,
+                  "endColumn": 20,
+                  "byteLength": 6
                 }
               }
             }
@@ -8083,10 +9080,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 223,
-                  "startColumn": 12,
-                  "endLine": 223,
-                  "endColumn": 19,
+                  "startLine": 240,
+                  "startColumn": 10,
+                  "endLine": 240,
+                  "endColumn": 17,
                   "byteLength": 7
                 }
               }
@@ -8106,9 +9103,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 245,
+                  "startLine": 268,
                   "startColumn": 13,
-                  "endLine": 245,
+                  "endLine": 268,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -8129,10 +9126,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 236,
-                  "startColumn": 36,
-                  "endLine": 236,
-                  "endColumn": 63,
+                  "startLine": 258,
+                  "startColumn": 34,
+                  "endLine": 258,
+                  "endColumn": 61,
                   "byteLength": 27
                 }
               }
@@ -8152,10 +9149,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 237,
-                  "startColumn": 34,
-                  "endLine": 237,
-                  "endColumn": 59,
+                  "startLine": 259,
+                  "startColumn": 32,
+                  "endLine": 259,
+                  "endColumn": 57,
                   "byteLength": 25
                 }
               }
@@ -8175,11 +9172,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 241,
+                  "startLine": 263,
                   "startColumn": 4,
-                  "endLine": 243,
-                  "endColumn": 59,
-                  "byteLength": 141
+                  "endLine": 266,
+                  "endColumn": 57,
+                  "byteLength": 164
                 }
               }
             }
@@ -8198,9 +9195,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 245,
+                  "startLine": 268,
                   "startColumn": 13,
-                  "endLine": 245,
+                  "endLine": 268,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -8223,10 +9220,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 238,
-                  "startColumn": 12,
-                  "endLine": 238,
-                  "endColumn": 19,
+                  "startLine": 260,
+                  "startColumn": 10,
+                  "endLine": 260,
+                  "endColumn": 17,
                   "byteLength": 7
                 }
               }
@@ -8246,9 +9243,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 299,
+                  "startLine": 334,
                   "startColumn": 13,
-                  "endLine": 299,
+                  "endLine": 334,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -8269,9 +9266,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 299,
+                  "startLine": 334,
                   "startColumn": 13,
-                  "endLine": 299,
+                  "endLine": 334,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -8292,9 +9289,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 299,
+                  "startLine": 334,
                   "startColumn": 13,
-                  "endLine": 299,
+                  "endLine": 334,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -8315,9 +9312,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 261,
+                  "startLine": 287,
                   "startColumn": 31,
-                  "endLine": 261,
+                  "endLine": 287,
                   "endColumn": 55,
                   "byteLength": 24
                 }
@@ -8325,6 +9322,29 @@
             }
           ]
         },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "separation." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 288,
+                  "startColumn": 23,
+                  "endLine": 288,
+                  "endColumn": 77,
+                  "byteLength": 54
+                }
+              }
+            }
+          ]
+        },
         {
           "ruleId": "user-spec",
           "kind": "pass",
@@ -8338,9 +9358,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 274,
+                  "startLine": 301,
                   "startColumn": 6,
-                  "endLine": 276,
+                  "endLine": 303,
                   "endColumn": 70,
                   "byteLength": 120
                 }
@@ -8361,11 +9381,57 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 284,
-                  "startColumn": 29,
-                  "endLine": 284,
-                  "endColumn": 53,
-                  "byteLength": 24
+                  "startLine": 315,
+                  "startColumn": 29,
+                  "endLine": 315,
+                  "endColumn": 53,
+                  "byteLength": 24
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "s_not_null." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 299,
+                  "startColumn": 24,
+                  "endLine": 299,
+                  "endColumn": 34,
+                  "byteLength": 10
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "s_null." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 314,
+                  "startColumn": 20,
+                  "endLine": 314,
+                  "endColumn": 30,
+                  "byteLength": 10
                 }
               }
             }
@@ -8375,7 +9441,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "s_not_null." },
+          "message": { "text": "result_same_base." },
           "locations": [
             {
               "physicalLocation": {
@@ -8384,11 +9450,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 272,
-                  "startColumn": 24,
-                  "endLine": 272,
-                  "endColumn": 34,
-                  "byteLength": 10
+                  "startLine": 309,
+                  "startColumn": 6,
+                  "endLine": 310,
+                  "endColumn": 74,
+                  "byteLength": 94
                 }
               }
             }
@@ -8398,7 +9464,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "s_null." },
+          "message": { "text": "ptr_valid_string." },
           "locations": [
             {
               "physicalLocation": {
@@ -8407,11 +9473,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 283,
-                  "startColumn": 20,
-                  "endLine": 283,
-                  "endColumn": 30,
-                  "byteLength": 10
+                  "startLine": 311,
+                  "startColumn": 30,
+                  "endLine": 311,
+                  "endColumn": 64,
+                  "byteLength": 34
                 }
               }
             }
@@ -8421,7 +9487,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_subset." },
+          "message": { "text": "ptr_same_base." },
           "locations": [
             {
               "physicalLocation": {
@@ -8430,11 +9496,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 280,
+                  "startLine": 312,
                   "startColumn": 27,
-                  "endLine": 280,
-                  "endColumn": 72,
-                  "byteLength": 45
+                  "endLine": 312,
+                  "endColumn": 71,
+                  "byteLength": 44
                 }
               }
             }
@@ -8444,7 +9510,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "ptr_subset." },
+          "message": { "text": "result_same_base." },
           "locations": [
             {
               "physicalLocation": {
@@ -8453,11 +9519,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 281,
-                  "startColumn": 24,
-                  "endLine": 281,
-                  "endColumn": 57,
-                  "byteLength": 33
+                  "startLine": 325,
+                  "startColumn": 6,
+                  "endLine": 327,
+                  "endColumn": 65,
+                  "byteLength": 122
                 }
               }
             }
@@ -8467,7 +9533,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_subset." },
+          "message": { "text": "ptr_valid_string." },
           "locations": [
             {
               "physicalLocation": {
@@ -8476,11 +9542,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 293,
-                  "startColumn": 27,
-                  "endLine": 294,
-                  "endColumn": 72,
-                  "byteLength": 92
+                  "startLine": 328,
+                  "startColumn": 30,
+                  "endLine": 328,
+                  "endColumn": 64,
+                  "byteLength": 34
                 }
               }
             }
@@ -8490,7 +9556,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "ptr_subset." },
+          "message": { "text": "ptr_same_base." },
           "locations": [
             {
               "physicalLocation": {
@@ -8499,11 +9565,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 295,
-                  "startColumn": 24,
-                  "endLine": 295,
-                  "endColumn": 77,
-                  "byteLength": 53
+                  "startLine": 330,
+                  "startColumn": 6,
+                  "endLine": 330,
+                  "endColumn": 70,
+                  "byteLength": 64
                 }
               }
             }
@@ -8522,9 +9588,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 262,
+                  "startLine": 289,
                   "startColumn": 10,
-                  "endLine": 262,
+                  "endLine": 289,
                   "endColumn": 16,
                   "byteLength": 6
                 }
@@ -8545,9 +9611,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 277,
+                  "startLine": 304,
                   "startColumn": 12,
-                  "endLine": 277,
+                  "endLine": 304,
                   "endColumn": 27,
                   "byteLength": 15
                 }
@@ -8568,9 +9634,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 285,
+                  "startLine": 316,
                   "startColumn": 12,
-                  "endLine": 285,
+                  "endLine": 316,
                   "endColumn": 32,
                   "byteLength": 20
                 }
@@ -8593,9 +9659,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 262,
+                  "startLine": 289,
                   "startColumn": 10,
-                  "endLine": 262,
+                  "endLine": 289,
                   "endColumn": 16,
                   "byteLength": 6
                 }
@@ -8618,9 +9684,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 264,
+                  "startLine": 291,
                   "startColumn": 10,
-                  "endLine": 264,
+                  "endLine": 291,
                   "endColumn": 30,
                   "byteLength": 20
                 }
@@ -8643,9 +9709,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 266,
+                  "startLine": 293,
                   "startColumn": 10,
-                  "endLine": 266,
+                  "endLine": 293,
                   "endColumn": 17,
                   "byteLength": 7
                 }
@@ -8668,9 +9734,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 268,
+                  "startLine": 295,
                   "startColumn": 10,
-                  "endLine": 268,
+                  "endLine": 295,
                   "endColumn": 25,
                   "byteLength": 15
                 }
@@ -8693,9 +9759,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 277,
+                  "startLine": 304,
                   "startColumn": 12,
-                  "endLine": 277,
+                  "endLine": 304,
                   "endColumn": 27,
                   "byteLength": 15
                 }
@@ -8718,9 +9784,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 278,
+                  "startLine": 306,
                   "startColumn": 12,
-                  "endLine": 278,
+                  "endLine": 306,
                   "endColumn": 18,
                   "byteLength": 6
                 }
@@ -8743,9 +9809,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 279,
+                  "startLine": 307,
                   "startColumn": 12,
-                  "endLine": 279,
+                  "endLine": 307,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -8768,9 +9834,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 285,
+                  "startLine": 316,
                   "startColumn": 12,
-                  "endLine": 285,
+                  "endLine": 316,
                   "endColumn": 32,
                   "byteLength": 20
                 }
@@ -8793,9 +9859,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 288,
+                  "startLine": 319,
                   "startColumn": 12,
-                  "endLine": 288,
+                  "endLine": 319,
                   "endColumn": 27,
                   "byteLength": 15
                 }
@@ -8818,9 +9884,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 291,
+                  "startLine": 322,
                   "startColumn": 12,
-                  "endLine": 291,
+                  "endLine": 322,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -8841,9 +9907,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 299,
+                  "startLine": 334,
                   "startColumn": 13,
-                  "endLine": 299,
+                  "endLine": 334,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -8864,9 +9930,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 299,
+                  "startLine": 334,
                   "startColumn": 13,
-                  "endLine": 299,
+                  "endLine": 334,
                   "endColumn": 19,
                   "byteLength": 6
                 }
@@ -8887,9 +9953,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 343,
+                  "startLine": 387,
                   "startColumn": 13,
-                  "endLine": 343,
+                  "endLine": 387,
                   "endColumn": 21,
                   "byteLength": 8
                 }
@@ -8910,9 +9976,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 343,
+                  "startLine": 387,
                   "startColumn": 13,
-                  "endLine": 343,
+                  "endLine": 387,
                   "endColumn": 21,
                   "byteLength": 8
                 }
@@ -8933,9 +9999,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 343,
+                  "startLine": 387,
                   "startColumn": 13,
-                  "endLine": 343,
+                  "endLine": 387,
                   "endColumn": 21,
                   "byteLength": 8
                 }
@@ -8956,9 +10022,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 302,
+                  "startLine": 337,
                   "startColumn": 31,
-                  "endLine": 302,
+                  "endLine": 337,
                   "endColumn": 55,
                   "byteLength": 24
                 }
@@ -8966,6 +10032,29 @@
             }
           ]
         },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "separation." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 338,
+                  "startColumn": 23,
+                  "endLine": 339,
+                  "endColumn": 49,
+                  "byteLength": 104
+                }
+              }
+            }
+          ]
+        },
         {
           "ruleId": "user-spec",
           "kind": "pass",
@@ -8979,9 +10068,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 303,
+                  "startLine": 340,
                   "startColumn": 26,
-                  "endLine": 303,
+                  "endLine": 340,
                   "endColumn": 41,
                   "byteLength": 15
                 }
@@ -9002,9 +10091,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 316,
+                  "startLine": 353,
                   "startColumn": 6,
-                  "endLine": 318,
+                  "endLine": 355,
                   "endColumn": 70,
                   "byteLength": 120
                 }
@@ -9025,9 +10114,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 327,
+                  "startLine": 367,
                   "startColumn": 29,
-                  "endLine": 327,
+                  "endLine": 367,
                   "endColumn": 46,
                   "byteLength": 17
                 }
@@ -9048,9 +10137,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 328,
+                  "startLine": 368,
                   "startColumn": 37,
-                  "endLine": 328,
+                  "endLine": 368,
                   "endColumn": 58,
                   "byteLength": 21
                 }
@@ -9071,9 +10160,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 314,
+                  "startLine": 351,
                   "startColumn": 24,
-                  "endLine": 314,
+                  "endLine": 351,
                   "endColumn": 34,
                   "byteLength": 10
                 }
@@ -9094,9 +10183,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 326,
+                  "startLine": 366,
                   "startColumn": 20,
-                  "endLine": 326,
+                  "endLine": 366,
                   "endColumn": 30,
                   "byteLength": 10
                 }
@@ -9108,7 +10197,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_subset." },
+          "message": { "text": "result_same_base." },
           "locations": [
             {
               "physicalLocation": {
@@ -9117,11 +10206,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 322,
-                  "startColumn": 27,
-                  "endLine": 322,
-                  "endColumn": 72,
-                  "byteLength": 45
+                  "startLine": 361,
+                  "startColumn": 6,
+                  "endLine": 362,
+                  "endColumn": 74,
+                  "byteLength": 94
                 }
               }
             }
@@ -9131,7 +10220,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "initialization." },
+          "message": { "text": "saveptr_valid_string." },
           "locations": [
             {
               "physicalLocation": {
@@ -9140,11 +10229,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 323,
-                  "startColumn": 28,
-                  "endLine": 323,
-                  "endColumn": 49,
-                  "byteLength": 21
+                  "startLine": 363,
+                  "startColumn": 34,
+                  "endLine": 363,
+                  "endColumn": 61,
+                  "byteLength": 27
                 }
               }
             }
@@ -9154,7 +10243,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "saveptr_subset." },
+          "message": { "text": "saveptr_same_base." },
           "locations": [
             {
               "physicalLocation": {
@@ -9163,11 +10252,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 324,
-                  "startColumn": 28,
-                  "endLine": 324,
-                  "endColumn": 54,
-                  "byteLength": 26
+                  "startLine": 364,
+                  "startColumn": 31,
+                  "endLine": 364,
+                  "endColumn": 68,
+                  "byteLength": 37
                 }
               }
             }
@@ -9177,7 +10266,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "result_subset." },
+          "message": { "text": "result_same_base." },
           "locations": [
             {
               "physicalLocation": {
@@ -9186,11 +10275,11 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 337,
-                  "startColumn": 27,
-                  "endLine": 338,
-                  "endColumn": 65,
-                  "byteLength": 85
+                  "startLine": 378,
+                  "startColumn": 6,
+                  "endLine": 380,
+                  "endColumn": 58,
+                  "byteLength": 115
                 }
               }
             }
@@ -9200,7 +10289,7 @@
           "ruleId": "user-spec",
           "kind": "pass",
           "level": "none",
-          "message": { "text": "saveptr_subset." },
+          "message": { "text": "saveptr_valid_string." },
           "locations": [
             {
               "physicalLocation": {
@@ -9209,11 +10298,34 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 339,
-                  "startColumn": 28,
-                  "endLine": 339,
-                  "endColumn": 67,
-                  "byteLength": 39
+                  "startLine": 381,
+                  "startColumn": 34,
+                  "endLine": 381,
+                  "endColumn": 61,
+                  "byteLength": 27
+                }
+              }
+            }
+          ]
+        },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "saveptr_same_base." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 383,
+                  "startColumn": 6,
+                  "endLine": 383,
+                  "endColumn": 56,
+                  "byteLength": 50
                 }
               }
             }
@@ -9232,9 +10344,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 304,
+                  "startLine": 341,
                   "startColumn": 10,
-                  "endLine": 304,
+                  "endLine": 341,
                   "endColumn": 16,
                   "byteLength": 6
                 }
@@ -9255,9 +10367,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 319,
+                  "startLine": 356,
                   "startColumn": 12,
-                  "endLine": 319,
+                  "endLine": 356,
                   "endColumn": 20,
                   "byteLength": 8
                 }
@@ -9278,9 +10390,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 329,
+                  "startLine": 369,
                   "startColumn": 12,
-                  "endLine": 329,
+                  "endLine": 369,
                   "endColumn": 27,
                   "byteLength": 15
                 }
@@ -9303,9 +10415,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 304,
+                  "startLine": 341,
                   "startColumn": 10,
-                  "endLine": 304,
+                  "endLine": 341,
                   "endColumn": 16,
                   "byteLength": 6
                 }
@@ -9328,9 +10440,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 306,
+                  "startLine": 343,
                   "startColumn": 10,
-                  "endLine": 306,
+                  "endLine": 343,
                   "endColumn": 25,
                   "byteLength": 15
                 }
@@ -9353,9 +10465,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 308,
+                  "startLine": 345,
                   "startColumn": 10,
-                  "endLine": 308,
+                  "endLine": 345,
                   "endColumn": 17,
                   "byteLength": 7
                 }
@@ -9378,9 +10490,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 310,
+                  "startLine": 347,
                   "startColumn": 10,
-                  "endLine": 310,
+                  "endLine": 347,
                   "endColumn": 18,
                   "byteLength": 8
                 }
@@ -9403,9 +10515,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 319,
+                  "startLine": 356,
                   "startColumn": 12,
-                  "endLine": 319,
+                  "endLine": 356,
                   "endColumn": 20,
                   "byteLength": 8
                 }
@@ -9428,9 +10540,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 320,
+                  "startLine": 358,
                   "startColumn": 12,
-                  "endLine": 320,
+                  "endLine": 358,
                   "endColumn": 18,
                   "byteLength": 6
                 }
@@ -9453,9 +10565,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 321,
+                  "startLine": 359,
                   "startColumn": 12,
-                  "endLine": 321,
+                  "endLine": 359,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -9478,9 +10590,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 329,
+                  "startLine": 369,
                   "startColumn": 12,
-                  "endLine": 329,
+                  "endLine": 369,
                   "endColumn": 27,
                   "byteLength": 15
                 }
@@ -9503,9 +10615,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 332,
+                  "startLine": 372,
                   "startColumn": 12,
-                  "endLine": 332,
+                  "endLine": 372,
                   "endColumn": 20,
                   "byteLength": 8
                 }
@@ -9528,9 +10640,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 335,
+                  "startLine": 375,
                   "startColumn": 12,
-                  "endLine": 335,
+                  "endLine": 375,
                   "endColumn": 19,
                   "byteLength": 7
                 }
@@ -9551,9 +10663,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 343,
+                  "startLine": 387,
                   "startColumn": 13,
-                  "endLine": 343,
+                  "endLine": 387,
                   "endColumn": 21,
                   "byteLength": 8
                 }
@@ -9574,9 +10686,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 343,
+                  "startLine": 387,
                   "startColumn": 13,
-                  "endLine": 343,
+                  "endLine": 387,
                   "endColumn": 21,
                   "byteLength": 8
                 }
@@ -9597,9 +10709,9 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 479,
+                  "startLine": 545,
                   "startColumn": 14,
-                  "endLine": 479,
+                  "endLine": 545,
                   "endColumn": 21,
                   "byteLength": 7
                 }
@@ -9620,10 +10732,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 474,
-                  "startColumn": 25,
-                  "endLine": 474,
-                  "endColumn": 48,
+                  "startLine": 539,
+                  "startColumn": 23,
+                  "endLine": 539,
+                  "endColumn": 46,
                   "byteLength": 23
                 }
               }
@@ -9643,16 +10755,39 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 475,
-                  "startColumn": 31,
-                  "endLine": 475,
-                  "endColumn": 53,
+                  "startLine": 540,
+                  "startColumn": 29,
+                  "endLine": 540,
+                  "endColumn": 51,
                   "byteLength": 22
                 }
               }
             }
           ]
         },
+        {
+          "ruleId": "user-spec",
+          "kind": "pass",
+          "level": "none",
+          "message": { "text": "separation." },
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "libc/string.h",
+                  "uriBaseId": "FRAMAC_SHARE"
+                },
+                "region": {
+                  "startLine": 541,
+                  "startColumn": 23,
+                  "endLine": 541,
+                  "endColumn": 72,
+                  "byteLength": 49
+                }
+              }
+            }
+          ]
+        },
         {
           "ruleId": "user-spec",
           "kind": "pass",
@@ -9666,10 +10801,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 476,
-                  "startColumn": 12,
-                  "endLine": 476,
-                  "endColumn": 26,
+                  "startLine": 542,
+                  "startColumn": 10,
+                  "endLine": 542,
+                  "endColumn": 24,
                   "byteLength": 14
                 }
               }
@@ -9691,10 +10826,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 476,
-                  "startColumn": 12,
-                  "endLine": 476,
-                  "endColumn": 26,
+                  "startLine": 542,
+                  "startColumn": 10,
+                  "endLine": 542,
+                  "endColumn": 24,
                   "byteLength": 14
                 }
               }
@@ -9716,10 +10851,10 @@
                   "uriBaseId": "FRAMAC_SHARE"
                 },
                 "region": {
-                  "startLine": 477,
-                  "startColumn": 12,
-                  "endLine": 477,
-                  "endColumn": 19,
+                  "startLine": 543,
+                  "startColumn": 10,
+                  "endLine": 543,
+                  "endColumn": 17,
                   "byteLength": 7
                 }
               }
diff --git a/src/plugins/nonterm/tests/nonterm/oracle/builtin_with_body.res.oracle b/src/plugins/nonterm/tests/nonterm/oracle/builtin_with_body.res.oracle
index 1866eb49d1dd8e5c1ab086ec0c765ef766ad2400..e0fb8cec55ceec779710c8ece757a934d707f16b 100644
--- a/src/plugins/nonterm/tests/nonterm/oracle/builtin_with_body.res.oracle
+++ b/src/plugins/nonterm/tests/nonterm/oracle/builtin_with_body.res.oracle
@@ -11,7 +11,7 @@
   function memcpy: precondition 'valid_src' got status valid.
 [eva] builtin_with_body.c:13: 
   function memcpy: precondition 'separation' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:101: 
+[eva] FRAMAC_SHARE/libc/string.h:118: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp
 [eva] Recording results for main
 [eva] Done for function main
diff --git a/src/plugins/nonterm/tests/nonterm/oracle/n6.res.oracle b/src/plugins/nonterm/tests/nonterm/oracle/n6.res.oracle
index 5b78c301d31e30534c20cc182e2fa6795a6f57c2..dfee7778a152739f0973a6b45f4669ecfc83e52c 100644
--- a/src/plugins/nonterm/tests/nonterm/oracle/n6.res.oracle
+++ b/src/plugins/nonterm/tests/nonterm/oracle/n6.res.oracle
@@ -8,7 +8,7 @@
 [eva] n6.c:9: function memcpy: precondition 'valid_dest' got status valid.
 [eva] n6.c:9: function memcpy: precondition 'valid_src' got status valid.
 [eva] n6.c:9: function memcpy: precondition 'separation' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:101: 
+[eva] FRAMAC_SHARE/libc/string.h:118: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp
 [eva] Recording results for main
 [eva] Done for function main
diff --git a/src/plugins/variadic/tests/known/oracle/printf.res.oracle b/src/plugins/variadic/tests/known/oracle/printf.res.oracle
index 7b945647be0216ee15d342ea55494da9642fb01b..2dc413e1c2b0772f552ddf056279124588bb262e 100644
--- a/src/plugins/variadic/tests/known/oracle/printf.res.oracle
+++ b/src/plugins/variadic/tests/known/oracle/printf.res.oracle
@@ -1,14 +1,14 @@
-[variadic] FRAMAC_SHARE/libc/wchar.h:272: 
+[variadic] FRAMAC_SHARE/libc/wchar.h:292: 
   Declaration of variadic function fwprintf.
-[variadic] FRAMAC_SHARE/libc/wchar.h:274: 
+[variadic] FRAMAC_SHARE/libc/wchar.h:294: 
   Declaration of variadic function swprintf.
-[variadic] FRAMAC_SHARE/libc/wchar.h:276: 
+[variadic] FRAMAC_SHARE/libc/wchar.h:296: 
   Declaration of variadic function wprintf.
-[variadic] FRAMAC_SHARE/libc/wchar.h:279: 
+[variadic] FRAMAC_SHARE/libc/wchar.h:299: 
   Declaration of variadic function wscanf.
-[variadic] FRAMAC_SHARE/libc/wchar.h:281: 
+[variadic] FRAMAC_SHARE/libc/wchar.h:301: 
   Declaration of variadic function fwscanf.
-[variadic] FRAMAC_SHARE/libc/wchar.h:283: 
+[variadic] FRAMAC_SHARE/libc/wchar.h:303: 
   Declaration of variadic function swscanf.
 [variadic] FRAMAC_SHARE/libc/stdio.h:207: 
   Declaration of variadic function fprintf.
diff --git a/src/plugins/variadic/tests/known/oracle/printf_wrong_arity.res.oracle b/src/plugins/variadic/tests/known/oracle/printf_wrong_arity.res.oracle
index 4bc1b2c08cd50b61c5c8daf12624e722166eac3b..99fb90220628d73ce5c536af4f37862117360fc0 100644
--- a/src/plugins/variadic/tests/known/oracle/printf_wrong_arity.res.oracle
+++ b/src/plugins/variadic/tests/known/oracle/printf_wrong_arity.res.oracle
@@ -42,6 +42,7 @@
 #include "errno.h"
 #include "stdarg.h"
 #include "stddef.h"
+#include "stdint.h"
 #include "stdio.c"
 #include "stdio.h"
 #include "stdlib.h"
diff --git a/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle b/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle
index d02dcac5510941570a258d4eb2a201b8be69f6d4..ed5803742848fec0b861d13f8868bd34fda7bedf 100644
--- a/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle
+++ b/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle
@@ -21,7 +21,7 @@
 [variadic] snprintf.c:15: 
   Translating call to snprintf to a call to the specialized version snprintf_va_2.
 [eva] Analyzing a complete application starting at main
-[eva] FRAMAC_SHARE/libc/string.h:134: 
+[eva] FRAMAC_SHARE/libc/string.h:151: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memset
 [eva] using specification for function snprintf_va_1
 [eva] FRAMAC_SHARE/libc/stdio.h:213: 
diff --git a/src/plugins/variadic/tests/known/oracle/swprintf.res.oracle b/src/plugins/variadic/tests/known/oracle/swprintf.res.oracle
index 346dd2a50c7cf708e909cba481810d818a33ed59..a7437bfcd7ce641e866f72a40da2ed7e4e0e0516 100644
--- a/src/plugins/variadic/tests/known/oracle/swprintf.res.oracle
+++ b/src/plugins/variadic/tests/known/oracle/swprintf.res.oracle
@@ -1,14 +1,14 @@
-[variadic] FRAMAC_SHARE/libc/wchar.h:272: 
+[variadic] FRAMAC_SHARE/libc/wchar.h:292: 
   Declaration of variadic function fwprintf.
-[variadic] FRAMAC_SHARE/libc/wchar.h:274: 
+[variadic] FRAMAC_SHARE/libc/wchar.h:294: 
   Declaration of variadic function swprintf.
-[variadic] FRAMAC_SHARE/libc/wchar.h:276: 
+[variadic] FRAMAC_SHARE/libc/wchar.h:296: 
   Declaration of variadic function wprintf.
-[variadic] FRAMAC_SHARE/libc/wchar.h:279: 
+[variadic] FRAMAC_SHARE/libc/wchar.h:299: 
   Declaration of variadic function wscanf.
-[variadic] FRAMAC_SHARE/libc/wchar.h:281: 
+[variadic] FRAMAC_SHARE/libc/wchar.h:301: 
   Declaration of variadic function fwscanf.
-[variadic] FRAMAC_SHARE/libc/wchar.h:283: 
+[variadic] FRAMAC_SHARE/libc/wchar.h:303: 
   Declaration of variadic function swscanf.
 [variadic] FRAMAC_SHARE/libc/stdio.h:207: 
   Declaration of variadic function fprintf.
@@ -35,7 +35,7 @@
 [eva] Analyzing a complete application starting at main
 [eva] using specification for function wmemset
 [eva] using specification for function swprintf_va_1
-[eva] FRAMAC_SHARE/libc/wchar.h:274: 
+[eva] FRAMAC_SHARE/libc/wchar.h:294: 
   Cannot evaluate range bound wformat_length(format) - 1
   (unsupported ACSL construct: logic function wformat_length). Approximating
 [eva:alarm] swprintf.c:12: Warning: 
@@ -55,6 +55,7 @@
 #include "errno.h"
 #include "signal.h"
 #include "stdarg.h"
+#include "stddef.h"
 #include "stdio.h"
 #include "string.h"
 #include "strings.h"
diff --git a/src/plugins/variadic/tests/known/oracle/wchar.res.oracle b/src/plugins/variadic/tests/known/oracle/wchar.res.oracle
index defbdf84a051614e4391d7148f3ae23bb9116f7d..e0192389ab09f034d7cf9800f641395f7a80ed42 100644
--- a/src/plugins/variadic/tests/known/oracle/wchar.res.oracle
+++ b/src/plugins/variadic/tests/known/oracle/wchar.res.oracle
@@ -1,14 +1,14 @@
-[variadic] FRAMAC_SHARE/libc/wchar.h:272: 
+[variadic] FRAMAC_SHARE/libc/wchar.h:292: 
   Declaration of variadic function fwprintf.
-[variadic] FRAMAC_SHARE/libc/wchar.h:274: 
+[variadic] FRAMAC_SHARE/libc/wchar.h:294: 
   Declaration of variadic function swprintf.
-[variadic] FRAMAC_SHARE/libc/wchar.h:276: 
+[variadic] FRAMAC_SHARE/libc/wchar.h:296: 
   Declaration of variadic function wprintf.
-[variadic] FRAMAC_SHARE/libc/wchar.h:279: 
+[variadic] FRAMAC_SHARE/libc/wchar.h:299: 
   Declaration of variadic function wscanf.
-[variadic] FRAMAC_SHARE/libc/wchar.h:281: 
+[variadic] FRAMAC_SHARE/libc/wchar.h:301: 
   Declaration of variadic function fwscanf.
-[variadic] FRAMAC_SHARE/libc/wchar.h:283: 
+[variadic] FRAMAC_SHARE/libc/wchar.h:303: 
   Declaration of variadic function swscanf.
 [variadic] FRAMAC_SHARE/libc/stdio.h:207: 
   Declaration of variadic function fprintf.
@@ -84,6 +84,7 @@
 #include "errno.h"
 #include "signal.h"
 #include "stdarg.h"
+#include "stddef.h"
 #include "stdio.h"
 #include "string.h"
 #include "strings.h"
diff --git a/src/plugins/wp/tests/wp_acsl/oracle/terminates_call_options.0.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle/terminates_call_options.0.res.oracle
index 0c0e75bda644384e9c87aad58541a0f8a1c7b8bb..abdd33ee5e23d51c3c7fec93aeb1ebfc846a8d24 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle/terminates_call_options.0.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle/terminates_call_options.0.res.oracle
@@ -1,10 +1,10 @@
 # frama-c -wp [...]
 [kernel] Parsing terminates_call_options.c (with preprocessing)
 [wp] Running WP plugin...
-[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:511: Warning: 
+[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:543: Warning: 
   Neither code nor explicit terminates for function exit,
    generating default clauses. See -generated-spec-* options for more info
-[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:642: Warning: 
+[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:715: Warning: 
   Neither code nor explicit exits and terminates for function div,
    generating default clauses. See -generated-spec-* options for more info
 [wp] Warning: Missing RTE guards
@@ -46,3 +46,15 @@ Goal Termination-condition (file terminates_call_options.c, line 36) in 'libc_ca
 Prove: true.
 
 ------------------------------------------------------------
+
+Goal Instance of 'Pre-condition 'denom_nonzero' in 'div'' in 'libc_call' at call 'div' (file terminates_call_options.c, line 38)
+:
+Prove: true.
+
+------------------------------------------------------------
+
+Goal Instance of 'Pre-condition 'no_overflow' in 'div'' in 'libc_call' at call 'div' (file terminates_call_options.c, line 38)
+:
+Prove: true.
+
+------------------------------------------------------------
diff --git a/src/plugins/wp/tests/wp_acsl/oracle/terminates_call_options.1.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle/terminates_call_options.1.res.oracle
index 907d765fcb069c60eb99c128520a688baadd064f..ae3902f932266228373c644afce74f2b8cac2cae 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle/terminates_call_options.1.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle/terminates_call_options.1.res.oracle
@@ -4,10 +4,10 @@
 [kernel:annot:missing-spec] terminates_call_options.c:17: Warning: 
   Neither code nor explicit exits and terminates for function declaration,
    generating default clauses. See -generated-spec-* options for more info
-[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:511: Warning: 
+[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:543: Warning: 
   Neither code nor explicit terminates for function exit,
    generating default clauses. See -generated-spec-* options for more info
-[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:642: Warning: 
+[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:715: Warning: 
   Neither code nor explicit exits and terminates for function div,
    generating default clauses. See -generated-spec-* options for more info
 [wp] Warning: Missing RTE guards
@@ -62,6 +62,18 @@ Prove: true.
 Goal Exit-condition (generated) in 'libc_call':
 Prove: false.
 
+------------------------------------------------------------
+
+Goal Instance of 'Pre-condition 'denom_nonzero' in 'div'' in 'libc_call' at call 'div' (file terminates_call_options.c, line 38)
+:
+Prove: true.
+
+------------------------------------------------------------
+
+Goal Instance of 'Pre-condition 'no_overflow' in 'div'' in 'libc_call' at call 'div' (file terminates_call_options.c, line 38)
+:
+Prove: true.
+
 ------------------------------------------------------------
 ------------------------------------------------------------
   Function no_spec_generates_goal
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/terminates_call_options.0.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/terminates_call_options.0.res.oracle
index be2f82c65143796f81fa17eb5d906dd11203ebdd..d243e2769233918caa9bdeeddb22f7a827c96e6e 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/terminates_call_options.0.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/terminates_call_options.0.res.oracle
@@ -1,10 +1,10 @@
 # frama-c -wp [...]
 [kernel] Parsing terminates_call_options.c (with preprocessing)
 [wp] Running WP plugin...
-[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:511: Warning: 
+[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:543: Warning: 
   Neither code nor explicit terminates for function exit,
    generating default clauses. See -generated-spec-* options for more info
-[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:642: Warning: 
+[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:715: Warning: 
   Neither code nor explicit exits and terminates for function div,
    generating default clauses. See -generated-spec-* options for more info
 [wp] Warning: Missing RTE guards
@@ -12,18 +12,20 @@
   Missing terminates clause on call to declaration, defaults to \false
 [wp] terminates_call_options.c:29: Warning: 
   Missing terminates clause on call to definition, defaults to \false
-[wp] 4 goals scheduled
+[wp] 6 goals scheduled
 [wp] [Valid] typed_definition_assigns (Qed)
 [wp] [Unsuccess] typed_call_declaration_terminates (Alt-Ergo) (Cached)
 [wp] [Unsuccess] typed_call_definition_terminates (Alt-Ergo) (Cached)
 [wp] [Valid] typed_libc_call_terminates (Qed)
-[wp] Proved goals:    2 / 4
-  Qed:             2
+[wp] [Valid] typed_libc_call_call_div_requires_denom_nonzero (Qed)
+[wp] [Valid] typed_libc_call_call_div_requires_no_overflow (Qed)
+[wp] Proved goals:    4 / 6
+  Qed:             4
   Unsuccess:       2
 ------------------------------------------------------------
  Functions                 WP     Alt-Ergo  Total   Success
   definition                1        -        1       100%
   call_declaration          -        -        1       0.0%
   call_definition           -        -        1       0.0%
-  libc_call                 1        -        1       100%
+  libc_call                 3        -        3       100%
 ------------------------------------------------------------
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/terminates_call_options.1.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/terminates_call_options.1.res.oracle
index c0b8e8f68afae083a33b1559023f7ae97d111f5c..386bd2017c828c017bdcd2008aa7f4108dd86ceb 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/terminates_call_options.1.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/terminates_call_options.1.res.oracle
@@ -4,10 +4,10 @@
 [kernel:annot:missing-spec] terminates_call_options.c:17: Warning: 
   Neither code nor explicit exits and terminates for function declaration,
    generating default clauses. See -generated-spec-* options for more info
-[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:511: Warning: 
+[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:543: Warning: 
   Neither code nor explicit terminates for function exit,
    generating default clauses. See -generated-spec-* options for more info
-[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:642: Warning: 
+[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:715: Warning: 
   Neither code nor explicit exits and terminates for function div,
    generating default clauses. See -generated-spec-* options for more info
 [wp] Warning: Missing RTE guards
@@ -16,7 +16,7 @@
 [wp] [Valid] Goal no_spec_generates_goal_exits (Cfg) (Unreachable)
 [wp] terminates_call_options.c:33: Warning: 
   Missing assigns clause (assigns 'everything' instead)
-[wp] 8 goals scheduled
+[wp] 10 goals scheduled
 [wp] [Valid] typed_definition_assigns (Qed)
 [wp] [Valid] typed_call_declaration_terminates (Qed)
 [wp] [Valid] typed_call_declaration_exits (Qed)
@@ -25,10 +25,12 @@
 [wp] [Unsuccess] typed_no_spec_generates_goal_terminates (Alt-Ergo) (Cached)
 [wp] [Valid] typed_libc_call_terminates (Qed)
 [wp] [Unsuccess] typed_libc_call_exits (Alt-Ergo) (Cached)
-[wp] Proved goals:    9 / 11
+[wp] [Valid] typed_libc_call_call_div_requires_denom_nonzero (Qed)
+[wp] [Valid] typed_libc_call_call_div_requires_no_overflow (Qed)
+[wp] Proved goals:   11 / 13
   Terminating:     1
   Unreachable:     2
-  Qed:             6
+  Qed:             8
   Unsuccess:       2
 ------------------------------------------------------------
  Functions                 WP     Alt-Ergo  Total   Success
@@ -36,5 +38,5 @@
   call_declaration          2        -        2       100%
   call_definition           2        -        2       100%
   no_spec_generates_goal    -        -        1       0.0%
-  libc_call                 1        -        2      50.0%
+  libc_call                 3        -        4      75.0%
 ------------------------------------------------------------
diff --git a/src/plugins/wp/tests/wp_bts/oracle/issue-684-exit.res.oracle b/src/plugins/wp/tests/wp_bts/oracle/issue-684-exit.res.oracle
index 3ffda2bbd573ca3eacf2c0cac5653c23459e01b5..c69d39414c1922c5e4d3bcdb9c8ff9d1f05e98e5 100644
--- a/src/plugins/wp/tests/wp_bts/oracle/issue-684-exit.res.oracle
+++ b/src/plugins/wp/tests/wp_bts/oracle/issue-684-exit.res.oracle
@@ -1,7 +1,7 @@
 # frama-c -wp [...]
 [kernel] Parsing issue-684-exit.c (with preprocessing)
 [wp] Running WP plugin...
-[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:511: Warning: 
+[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:543: Warning: 
   Neither code nor explicit terminates for function exit,
    generating default clauses. See -generated-spec-* options for more info
 [wp] Warning: Missing RTE guards
diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue-684-exit.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue-684-exit.res.oracle
index 298c37684c6d07ccbcef188616124cb1b7e72528..f78ed5d813b1ab1745fbb6f7e8a2eccd974536a0 100644
--- a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue-684-exit.res.oracle
+++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue-684-exit.res.oracle
@@ -1,7 +1,7 @@
 # frama-c -wp [...]
 [kernel] Parsing issue-684-exit.c (with preprocessing)
 [wp] Running WP plugin...
-[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:511: Warning: 
+[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:543: Warning: 
   Neither code nor explicit terminates for function exit,
    generating default clauses. See -generated-spec-* options for more info
 [wp] Warning: Missing RTE guards
diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/string-compare.res.oracle b/src/plugins/wp/tests/wp_gallery/oracle_qualif/string-compare.res.oracle
index 8ed861ca5371cefe0b5ef5db43627884c3a3e96a..230f48f715072f41dbea3f8593e03c2055a37e41 100644
--- a/src/plugins/wp/tests/wp_gallery/oracle_qualif/string-compare.res.oracle
+++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/string-compare.res.oracle
@@ -53,28 +53,30 @@
 [wp] [Valid] typed_stringLength_assigns_part4 (Qed)
 [wp] [Valid] typed_stringLength_assigns_part5 (Qed)
 [wp] [Valid] typed_main_terminates (Qed)
-[wp] [Valid] typed_main_ensures (Alt-Ergo) (Cached)
+[wp] [NoResult] typed_main_ensures (Qed)
 [wp] [Valid] typed_main_exits_never (Qed)
 [wp] [Valid] typed_main_assert (Qed)
 [wp] [Valid] typed_main_assigns_exit (Qed)
 [wp] [Valid] typed_main_assigns_normal_part1 (Qed)
 [wp] [Valid] typed_main_assigns_normal_part2 (Qed)
-[wp] [Valid] typed_main_call_stringCompare_requires_validStrings (Alt-Ergo) (Cached)
-[wp] Proved goals:   57 / 57
+[wp] [NoResult] typed_main_call_stringCompare_requires_validStrings (Qed)
+[wp] Proved goals:   55 / 57
   Unreachable:     2
   Qed:            36
-  Alt-Ergo:       19
+  Alt-Ergo:       17
+  Unsuccess:       2
+  Missing:         2
 ------------------------------------------------------------
  Functions                 WP     Alt-Ergo  Total   Success
   stringCompare            20       13       33       100%
   stringLength             10        4       14       100%
-  main                      6        2        8       100%
+  main                      6        -        8      75.0%
 ------------------------------------------------------------
 [wp] Running WP plugin...
 [rte:annot] annotating function main
 [rte:annot] annotating function stringCompare
 [rte:annot] annotating function stringLength
-[wp] 8 goals scheduled
+[wp] 10 goals scheduled
 [wp] [Valid] typed_stringCompare_assert_rte_mem_access (Alt-Ergo) (Cached)
 [wp] [Valid] typed_stringCompare_assert_rte_mem_access_2 (Alt-Ergo) (Cached)
 [wp] [Valid] typed_stringCompare_assert_rte_mem_access_3 (Qed)
@@ -83,12 +85,16 @@
 [wp] [Valid] typed_stringCompare_assert_rte_signed_overflow (Alt-Ergo) (Cached)
 [wp] [Valid] typed_stringCompare_assert_rte_signed_overflow_2 (Alt-Ergo) (Cached)
 [wp] [Valid] typed_stringLength_assert_rte_mem_access (Alt-Ergo) (Cached)
-[wp] Proved goals:    8 / 8
+[wp] [NoResult] typed_main_ensures (Qed)
+[wp] [NoResult] typed_main_call_stringCompare_requires_validStrings (Qed)
+[wp] Proved goals:    8 / 10
   Qed:             2
   Alt-Ergo:        6
+  Unsuccess:       2
+  Missing:         2
 ------------------------------------------------------------
  Functions                 WP     Alt-Ergo  Total   Success
   stringCompare            22       18       40       100%
   stringLength             10        5       15       100%
-  main                      6        2        8       100%
+  main                      6        -        8      75.0%
 ------------------------------------------------------------
diff --git a/src/plugins/wp/tests/wp_plugin/oracle/string_c.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle/string_c.res.oracle
index 5eb6eecbfbe6c40a6167a94a08c4399f2bc80b66..c445f32f58a06110307a70680b95d96d15723a13 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle/string_c.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle/string_c.res.oracle
@@ -161,7 +161,7 @@ Prove: included(a_2, 1, a, n).
 
 ------------------------------------------------------------
 
-Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 99) in 'memcpy':
+Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 116) in 'memcpy':
 Effect at line 38
 Prove: true.
 
@@ -793,47 +793,47 @@ Prove: included(a_2, 1, a, n).
 
 ------------------------------------------------------------
 
-Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 122) in 'memmove':
+Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 139) in 'memmove':
 Prove: true.
 
 ------------------------------------------------------------
 
-Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 122) in 'memmove' (1/7):
+Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 139) in 'memmove' (1/7):
 Prove: true.
 
 ------------------------------------------------------------
 
-Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 122) in 'memmove' (2/7):
+Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 139) in 'memmove' (2/7):
 Effect at line 90
 Prove: true.
 
 ------------------------------------------------------------
 
-Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 122) in 'memmove' (3/7):
+Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 139) in 'memmove' (3/7):
 Call Result at line 93
 Prove: true.
 
 ------------------------------------------------------------
 
-Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 122) in 'memmove' (4/7):
+Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 139) in 'memmove' (4/7):
 Effect at line 101
 Prove: true.
 
 ------------------------------------------------------------
 
-Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 122) in 'memmove' (5/7):
+Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 139) in 'memmove' (5/7):
 Effect at line 113
 Prove: true.
 
 ------------------------------------------------------------
 
-Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 122) in 'memmove' (6/7):
+Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 139) in 'memmove' (6/7):
 Effect at line 115
 Prove: true.
 
 ------------------------------------------------------------
 
-Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 122) in 'memmove' (7/7):
+Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 139) in 'memmove' (7/7):
 Effect at line 117
 Prove: true.
 
diff --git a/tests/builtins/oracle/alloc_weak.res.oracle b/tests/builtins/oracle/alloc_weak.res.oracle
index 9c58bc9c1889b90ba1a5adfe21c98784a6c897d8..6be26b1b41e70edb1802c589c4c5b3355fe08492 100644
--- a/tests/builtins/oracle/alloc_weak.res.oracle
+++ b/tests/builtins/oracle/alloc_weak.res.oracle
@@ -21,7 +21,7 @@
   function memcpy: precondition 'valid_src' got status valid.
 [eva] alloc_weak.c:14: 
   function memcpy: precondition 'separation' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:101: 
+[eva] FRAMAC_SHARE/libc/string.h:118: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp
 [eva] Recording results for copy
 [eva] Done for function copy
diff --git a/tests/builtins/oracle/fam.res.oracle b/tests/builtins/oracle/fam.res.oracle
index 844fc35e98c896e9b18baa5ebfd38aec3d207566..a729605f74daa3292d2046ca7804ee924529356e 100644
--- a/tests/builtins/oracle/fam.res.oracle
+++ b/tests/builtins/oracle/fam.res.oracle
@@ -9,7 +9,7 @@
 [eva] fam.c:16: function memcpy: precondition 'valid_dest' got status valid.
 [eva] fam.c:16: function memcpy: precondition 'valid_src' got status valid.
 [eva] fam.c:16: function memcpy: precondition 'separation' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:101: 
+[eva] FRAMAC_SHARE/libc/string.h:118: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp
 [eva] Recording results for main
 [eva] Done for function main
diff --git a/tests/builtins/oracle/imprecise.res.oracle b/tests/builtins/oracle/imprecise.res.oracle
index 9c3b0de6adf1e40daacaf0ac128c6b426c165ecf..e9a2b40bda7a15f15e13d336e0fafcc3fa849d96 100644
--- a/tests/builtins/oracle/imprecise.res.oracle
+++ b/tests/builtins/oracle/imprecise.res.oracle
@@ -99,7 +99,7 @@
 [eva] imprecise.c:51: Call to builtin memset
 [eva:alarm] imprecise.c:51: Warning: 
   function memset: precondition 'valid_s' got status unknown.
-[eva] FRAMAC_SHARE/libc/string.h:134: 
+[eva] FRAMAC_SHARE/libc/string.h:151: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memset
 [eva:alarm] imprecise.c:53: Warning: out of bounds write. assert \valid(p2);
 [eva:alarm] imprecise.c:53: Warning: 
diff --git a/tests/builtins/oracle/linked_list.0.res.oracle b/tests/builtins/oracle/linked_list.0.res.oracle
index 45987fd11dcf676e5b53cafd650180b2d135d280..46862a2655e4a39732bfc305d8f565ee8716e9df 100644
--- a/tests/builtins/oracle/linked_list.0.res.oracle
+++ b/tests/builtins/oracle/linked_list.0.res.oracle
@@ -44,7 +44,7 @@
   ==END OF DUMP==
 [eva] computing for function malloc <- main.
   Called from linked_list.c:41.
-[eva:alarm] FRAMAC_SHARE/libc/stdlib.h:395: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/stdlib.h:427: Warning: 
   function malloc, behavior allocation: postcondition 'allocation' got status unknown.
 [eva] Recording results for malloc
 [eva] Done for function malloc
diff --git a/tests/builtins/oracle/linked_list.1.res.oracle b/tests/builtins/oracle/linked_list.1.res.oracle
index 488273ab10d70800ebcb23b96d034502714116f9..b51e860fb2cc9d319d8dc588d68e517a18573841 100644
--- a/tests/builtins/oracle/linked_list.1.res.oracle
+++ b/tests/builtins/oracle/linked_list.1.res.oracle
@@ -44,7 +44,7 @@
   ==END OF DUMP==
 [eva] computing for function malloc <- main.
   Called from linked_list.c:41.
-[eva:alarm] FRAMAC_SHARE/libc/stdlib.h:395: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/stdlib.h:427: Warning: 
   function malloc, behavior allocation: postcondition 'allocation' got status unknown.
 [eva] Recording results for malloc
 [eva] Done for function malloc
diff --git a/tests/builtins/oracle/linked_list.2.res.oracle b/tests/builtins/oracle/linked_list.2.res.oracle
index ae7d0058ec1f75eec94c984ff2ce8a5d06214dc6..cb6c771649a7abe82835280f67ccf0516a2cd706 100644
--- a/tests/builtins/oracle/linked_list.2.res.oracle
+++ b/tests/builtins/oracle/linked_list.2.res.oracle
@@ -44,7 +44,7 @@
   ==END OF DUMP==
 [eva] computing for function malloc <- main.
   Called from linked_list.c:41.
-[eva:alarm] FRAMAC_SHARE/libc/stdlib.h:395: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/stdlib.h:427: Warning: 
   function malloc, behavior allocation: postcondition 'allocation' got status unknown.
 [eva] Recording results for malloc
 [eva] Done for function malloc
diff --git a/tests/builtins/oracle/malloc_bug_tr.res.oracle b/tests/builtins/oracle/malloc_bug_tr.res.oracle
index c78b9bb05b71a8123d942d78568856f31f1a9eb2..809a48dc1f7c1e10a2e3061f8d7adb7c30c8f302 100644
--- a/tests/builtins/oracle/malloc_bug_tr.res.oracle
+++ b/tests/builtins/oracle/malloc_bug_tr.res.oracle
@@ -19,7 +19,7 @@
   function memcpy: precondition 'valid_src' got status valid.
 [eva] malloc_bug_tr.c:13: 
   function memcpy: precondition 'separation' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:101: 
+[eva] FRAMAC_SHARE/libc/string.h:118: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp
 [eva] malloc_bug_tr.c:14: Call to builtin memcpy
 [eva:alarm] malloc_bug_tr.c:14: Warning: 
diff --git a/tests/builtins/oracle/memchr.res.oracle b/tests/builtins/oracle/memchr.res.oracle
index 8fff0338008ea33210bd476ef4e1d436a7d1cd63..0a694b9d8f482db1843a769ae3ee1da8270363c3 100644
--- a/tests/builtins/oracle/memchr.res.oracle
+++ b/tests/builtins/oracle/memchr.res.oracle
@@ -29,7 +29,7 @@
   function memchr: precondition 'danglingness' got status unknown.
 [eva] FRAMAC_SHARE/libc/string.h:78: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memchr
-[eva] FRAMAC_SHARE/libc/string.h:85: 
+[eva] FRAMAC_SHARE/libc/string.h:86: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memchr
 [eva] memchr.c:90: Frama_C_show_each_mymemchr: {3}
 [eva] memchr.c:91: assertion got status valid.
@@ -141,7 +141,7 @@
   Called from memchr.c:201.
 [eva] memchr.c:193: Call to builtin memset
 [eva] memchr.c:193: function memset: precondition 'valid_s' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:134: 
+[eva] FRAMAC_SHARE/libc/string.h:151: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memset
 [eva] Recording results for init_array_nondet
 [eva] Done for function init_array_nondet
diff --git a/tests/builtins/oracle/memcpy.res.oracle b/tests/builtins/oracle/memcpy.res.oracle
index 2d5891583c8722e65411a6358aaac05cd5295ef9..7d949b4911c4732f7bc7a8206a5ebdb5aaf85692 100644
--- a/tests/builtins/oracle/memcpy.res.oracle
+++ b/tests/builtins/oracle/memcpy.res.oracle
@@ -30,7 +30,7 @@
   function memcpy: precondition 'valid_dest' got status unknown.
 [eva] memcpy.c:28: function memcpy: precondition 'valid_src' got status valid.
 [eva] memcpy.c:28: function memcpy: precondition 'separation' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:101: 
+[eva] FRAMAC_SHARE/libc/string.h:118: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp
 [eva] Recording results for buggy
 [from] Computing for function buggy
@@ -1029,6 +1029,8 @@
 --- Properties of Function 'memchr'
 --------------------------------------------------------------------------------
 
+[ Extern  ] Post-condition for 'found' 'result_valid_read'
+            Unverifiable but considered Valid.
 [ Extern  ] Post-condition for 'found' 'result_same_base'
             Unverifiable but considered Valid.
 [ Extern  ] Post-condition for 'found' 'result_char'
@@ -1048,6 +1050,27 @@
 [  Valid  ] Behavior 'not_found'
             by Frama-C kernel.
 
+--------------------------------------------------------------------------------
+--- Properties of Function 'memrchr'
+--------------------------------------------------------------------------------
+
+[ Extern  ] Post-condition for 'found' 'result_valid_read'
+            Unverifiable but considered Valid.
+[ Extern  ] Post-condition for 'found' 'result_same_base'
+            Unverifiable but considered Valid.
+[ Extern  ] Post-condition for 'not_found' 'result_null'
+            Unverifiable but considered Valid.
+[ Extern  ] Assigns nothing
+            Unverifiable but considered Valid.
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 97)
+            Unverifiable but considered Valid.
+[  Valid  ] Default behavior
+            by Frama-C kernel.
+[  Valid  ] Behavior 'found'
+            by Frama-C kernel.
+[  Valid  ] Behavior 'not_found'
+            by Frama-C kernel.
+
 --------------------------------------------------------------------------------
 --- Properties of Function 'memcpy'
 --------------------------------------------------------------------------------
@@ -1100,11 +1123,11 @@
             Unverifiable but considered Valid.
 [ Extern  ] Post-condition 'result_ptr'
             Unverifiable but considered Valid.
-[ Extern  ] Assigns (file FRAMAC_SHARE/libc/string.h, line 99)
+[ Extern  ] Assigns (file FRAMAC_SHARE/libc/string.h, line 116)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 99)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 116)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 100)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 117)
             Unverifiable but considered Valid.
 [  Valid  ] Default behavior
             by Frama-C kernel.
@@ -1117,11 +1140,11 @@
             Unverifiable but considered Valid.
 [ Extern  ] Post-condition 'result_next_byte'
             Unverifiable but considered Valid.
-[ Extern  ] Assigns (file FRAMAC_SHARE/libc/string.h, line 112)
+[ Extern  ] Assigns (file FRAMAC_SHARE/libc/string.h, line 129)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 112)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 129)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 113)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 130)
             Unverifiable but considered Valid.
 [  Valid  ] Default behavior
             by Frama-C kernel.
@@ -1134,11 +1157,11 @@
             Unverifiable but considered Valid.
 [ Extern  ] Post-condition 'result_ptr'
             Unverifiable but considered Valid.
-[ Extern  ] Assigns (file FRAMAC_SHARE/libc/string.h, line 122)
+[ Extern  ] Assigns (file FRAMAC_SHARE/libc/string.h, line 139)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 122)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 139)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 123)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 140)
             Unverifiable but considered Valid.
 [  Valid  ] Default behavior
             by Frama-C kernel.
@@ -1151,11 +1174,11 @@
             Unverifiable but considered Valid.
 [ Extern  ] Post-condition 'result_ptr'
             Unverifiable but considered Valid.
-[ Extern  ] Assigns (file FRAMAC_SHARE/libc/string.h, line 132)
+[ Extern  ] Assigns (file FRAMAC_SHARE/libc/string.h, line 149)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 132)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 149)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 133)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 150)
             Unverifiable but considered Valid.
 [  Valid  ] Default behavior
             by Frama-C kernel.
@@ -1168,7 +1191,7 @@
             Unverifiable but considered Valid.
 [ Extern  ] Assigns nothing
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 142)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 159)
             Unverifiable but considered Valid.
 [  Valid  ] Default behavior
             by Frama-C kernel.
@@ -1181,7 +1204,7 @@
             Unverifiable but considered Valid.
 [ Extern  ] Assigns nothing
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 148)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 165)
             Unverifiable but considered Valid.
 [  Valid  ] Default behavior
             by Frama-C kernel.
@@ -1194,7 +1217,7 @@
             Unverifiable but considered Valid.
 [ Extern  ] Assigns nothing
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 155)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 172)
             Unverifiable but considered Valid.
 [  Valid  ] Default behavior
             by Frama-C kernel.
@@ -1207,7 +1230,7 @@
             Unverifiable but considered Valid.
 [ Extern  ] Assigns nothing
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 162)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 180)
             Unverifiable but considered Valid.
 [  Valid  ] Default behavior
             by Frama-C kernel.
@@ -1218,7 +1241,7 @@
 
 [ Extern  ] Assigns nothing
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 169)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 187)
             Unverifiable but considered Valid.
 [  Valid  ] Default behavior
             by Frama-C kernel.
@@ -1227,26 +1250,22 @@
 --- Properties of Function 'strchr'
 --------------------------------------------------------------------------------
 
+[ Extern  ] Post-condition for 'found' 'result_valid_string'
+            Unverifiable but considered Valid.
 [ Extern  ] Post-condition for 'found' 'result_char'
             Unverifiable but considered Valid.
 [ Extern  ] Post-condition for 'found' 'result_same_base'
             Unverifiable but considered Valid.
 [ Extern  ] Post-condition for 'found' 'result_in_length'
             Unverifiable but considered Valid.
-[ Extern  ] Post-condition for 'found' 'result_valid_string'
-            Unverifiable but considered Valid.
-[ Extern  ] Post-condition for 'found' 'result_first_occur'
+[ Extern  ] Post-condition for 'found' 'result_first_occurrence'
             Unverifiable but considered Valid.
 [ Extern  ] Post-condition for 'not_found' 'result_null'
             Unverifiable but considered Valid.
-[ Extern  ] Post-condition for 'default' 'result_null_or_same_base'
-            Unverifiable but considered Valid.
 [ Extern  ] Assigns nothing
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 174)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 194)
             Unverifiable but considered Valid.
-[  Valid  ] Behavior 'default'
-            by Frama-C kernel.
 [  Valid  ] Default behavior
             by Frama-C kernel.
 [  Valid  ] Behavior 'found'
@@ -1258,11 +1277,13 @@
 --- Properties of Function 'strchrnul'
 --------------------------------------------------------------------------------
 
+[ Extern  ] Post-condition 'result_valid_string'
+            Unverifiable but considered Valid.
 [ Extern  ] Post-condition 'result_same_base'
             Unverifiable but considered Valid.
 [ Extern  ] Assigns nothing
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 192)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 213)
             Unverifiable but considered Valid.
 [  Valid  ] Default behavior
             by Frama-C kernel.
@@ -1271,28 +1292,14 @@
 --- Properties of Function 'strrchr'
 --------------------------------------------------------------------------------
 
-[ Extern  ] Post-condition for 'found' 'result_char'
-            Unverifiable but considered Valid.
-[ Extern  ] Post-condition for 'found' 'result_same_base'
-            Unverifiable but considered Valid.
-[ Extern  ] Post-condition for 'found' 'result_valid_string'
-            Unverifiable but considered Valid.
-[ Extern  ] Post-condition for 'not_found' 'result_null'
-            Unverifiable but considered Valid.
-[ Extern  ] Post-condition for 'default' 'result_null_or_same_base'
+[ Extern  ] Post-condition 'result_null_or_same_base'
             Unverifiable but considered Valid.
 [ Extern  ] Assigns nothing
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 198)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 221)
             Unverifiable but considered Valid.
-[  Valid  ] Behavior 'default'
-            by Frama-C kernel.
 [  Valid  ] Default behavior
             by Frama-C kernel.
-[  Valid  ] Behavior 'found'
-            by Frama-C kernel.
-[  Valid  ] Behavior 'not_found'
-            by Frama-C kernel.
 
 --------------------------------------------------------------------------------
 --- Properties of Function 'strcspn'
@@ -1302,7 +1309,7 @@
             Unverifiable but considered Valid.
 [ Extern  ] Assigns nothing
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 215)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 231)
             Unverifiable but considered Valid.
 [  Valid  ] Default behavior
             by Frama-C kernel.
@@ -1313,11 +1320,9 @@
 
 [ Extern  ] Post-condition 'result_bounded'
             Unverifiable but considered Valid.
-[ Extern  ] Assigns (file FRAMAC_SHARE/libc/string.h, line 222)
-            Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 222)
+[ Extern  ] Assigns nothing
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 223)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 240)
             Unverifiable but considered Valid.
 [  Valid  ] Default behavior
             by Frama-C kernel.
@@ -1330,7 +1335,7 @@
             Unverifiable but considered Valid.
 [ Extern  ] Assigns nothing
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 230)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 249)
             Unverifiable but considered Valid.
 [  Valid  ] Default behavior
             by Frama-C kernel.
@@ -1343,7 +1348,7 @@
             Unverifiable but considered Valid.
 [ Extern  ] Assigns nothing
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 238)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 260)
             Unverifiable but considered Valid.
 [  Valid  ] Default behavior
             by Frama-C kernel.
@@ -1356,7 +1361,7 @@
             Unverifiable but considered Valid.
 [ Extern  ] Assigns nothing
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 249)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 273)
             Unverifiable but considered Valid.
 [  Valid  ] Default behavior
             by Frama-C kernel.
@@ -1365,39 +1370,43 @@
 --- Properties of Function 'strtok'
 --------------------------------------------------------------------------------
 
-[ Extern  ] Post-condition for 'new_str' 'result_subset'
+[ Extern  ] Post-condition for 'new_str' 'result_same_base'
+            Unverifiable but considered Valid.
+[ Extern  ] Post-condition for 'new_str' 'ptr_valid_string'
+            Unverifiable but considered Valid.
+[ Extern  ] Post-condition for 'new_str' 'ptr_same_base'
             Unverifiable but considered Valid.
-[ Extern  ] Post-condition for 'new_str' 'ptr_subset'
+[ Extern  ] Post-condition for 'resume_str' 'result_same_base'
             Unverifiable but considered Valid.
-[ Extern  ] Post-condition for 'resume_str' 'result_subset'
+[ Extern  ] Post-condition for 'resume_str' 'ptr_valid_string'
             Unverifiable but considered Valid.
-[ Extern  ] Post-condition for 'resume_str' 'ptr_subset'
+[ Extern  ] Post-condition for 'resume_str' 'ptr_same_base'
             Unverifiable but considered Valid.
-[ Extern  ] Assigns (file FRAMAC_SHARE/libc/string.h, line 262)
+[ Extern  ] Assigns (file FRAMAC_SHARE/libc/string.h, line 289)
             Unverifiable but considered Valid.
-[ Extern  ] Assigns for 'new_str' (file FRAMAC_SHARE/libc/string.h, line 277)
+[ Extern  ] Assigns for 'new_str' (file FRAMAC_SHARE/libc/string.h, line 304)
             Unverifiable but considered Valid.
-[ Extern  ] Assigns for 'resume_str' (file FRAMAC_SHARE/libc/string.h, line 285)
+[ Extern  ] Assigns for 'resume_str' (file FRAMAC_SHARE/libc/string.h, line 316)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 262)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 289)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 264)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 291)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 266)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 293)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 268)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 295)
             Unverifiable but considered Valid.
-[ Extern  ] Froms for 'new_str' (file FRAMAC_SHARE/libc/string.h, line 277)
+[ Extern  ] Froms for 'new_str' (file FRAMAC_SHARE/libc/string.h, line 304)
             Unverifiable but considered Valid.
-[ Extern  ] Froms for 'new_str' (file FRAMAC_SHARE/libc/string.h, line 278)
+[ Extern  ] Froms for 'new_str' (file FRAMAC_SHARE/libc/string.h, line 306)
             Unverifiable but considered Valid.
-[ Extern  ] Froms for 'new_str' (file FRAMAC_SHARE/libc/string.h, line 279)
+[ Extern  ] Froms for 'new_str' (file FRAMAC_SHARE/libc/string.h, line 307)
             Unverifiable but considered Valid.
-[ Extern  ] Froms for 'resume_str' (file FRAMAC_SHARE/libc/string.h, line 285)
+[ Extern  ] Froms for 'resume_str' (file FRAMAC_SHARE/libc/string.h, line 316)
             Unverifiable but considered Valid.
-[ Extern  ] Froms for 'resume_str' (file FRAMAC_SHARE/libc/string.h, line 288)
+[ Extern  ] Froms for 'resume_str' (file FRAMAC_SHARE/libc/string.h, line 319)
             Unverifiable but considered Valid.
-[ Extern  ] Froms for 'resume_str' (file FRAMAC_SHARE/libc/string.h, line 291)
+[ Extern  ] Froms for 'resume_str' (file FRAMAC_SHARE/libc/string.h, line 322)
             Unverifiable but considered Valid.
 [  Valid  ] Default behavior
             by Frama-C kernel.
@@ -1410,41 +1419,43 @@
 --- Properties of Function 'strtok_r'
 --------------------------------------------------------------------------------
 
-[ Extern  ] Post-condition for 'new_str' 'result_subset'
+[ Extern  ] Post-condition for 'new_str' 'result_same_base'
             Unverifiable but considered Valid.
-[ Extern  ] Post-condition for 'new_str' 'initialization'
+[ Extern  ] Post-condition for 'new_str' 'saveptr_valid_string'
             Unverifiable but considered Valid.
-[ Extern  ] Post-condition for 'new_str' 'saveptr_subset'
+[ Extern  ] Post-condition for 'new_str' 'saveptr_same_base'
             Unverifiable but considered Valid.
-[ Extern  ] Post-condition for 'resume_str' 'result_subset'
+[ Extern  ] Post-condition for 'resume_str' 'result_same_base'
             Unverifiable but considered Valid.
-[ Extern  ] Post-condition for 'resume_str' 'saveptr_subset'
+[ Extern  ] Post-condition for 'resume_str' 'saveptr_valid_string'
             Unverifiable but considered Valid.
-[ Extern  ] Assigns (file FRAMAC_SHARE/libc/string.h, line 304)
+[ Extern  ] Post-condition for 'resume_str' 'saveptr_same_base'
             Unverifiable but considered Valid.
-[ Extern  ] Assigns for 'new_str' (file FRAMAC_SHARE/libc/string.h, line 319)
+[ Extern  ] Assigns (file FRAMAC_SHARE/libc/string.h, line 341)
             Unverifiable but considered Valid.
-[ Extern  ] Assigns for 'resume_str' (file FRAMAC_SHARE/libc/string.h, line 329)
+[ Extern  ] Assigns for 'new_str' (file FRAMAC_SHARE/libc/string.h, line 356)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 304)
+[ Extern  ] Assigns for 'resume_str' (file FRAMAC_SHARE/libc/string.h, line 369)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 306)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 341)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 308)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 343)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 310)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 345)
             Unverifiable but considered Valid.
-[ Extern  ] Froms for 'new_str' (file FRAMAC_SHARE/libc/string.h, line 319)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 347)
+            Unverifiable but considered Valid.
+[ Extern  ] Froms for 'new_str' (file FRAMAC_SHARE/libc/string.h, line 356)
             Unverifiable but considered Valid.
-[ Extern  ] Froms for 'new_str' (file FRAMAC_SHARE/libc/string.h, line 320)
+[ Extern  ] Froms for 'new_str' (file FRAMAC_SHARE/libc/string.h, line 358)
             Unverifiable but considered Valid.
-[ Extern  ] Froms for 'new_str' (file FRAMAC_SHARE/libc/string.h, line 321)
+[ Extern  ] Froms for 'new_str' (file FRAMAC_SHARE/libc/string.h, line 359)
             Unverifiable but considered Valid.
-[ Extern  ] Froms for 'resume_str' (file FRAMAC_SHARE/libc/string.h, line 329)
+[ Extern  ] Froms for 'resume_str' (file FRAMAC_SHARE/libc/string.h, line 369)
             Unverifiable but considered Valid.
-[ Extern  ] Froms for 'resume_str' (file FRAMAC_SHARE/libc/string.h, line 332)
+[ Extern  ] Froms for 'resume_str' (file FRAMAC_SHARE/libc/string.h, line 372)
             Unverifiable but considered Valid.
-[ Extern  ] Froms for 'resume_str' (file FRAMAC_SHARE/libc/string.h, line 335)
+[ Extern  ] Froms for 'resume_str' (file FRAMAC_SHARE/libc/string.h, line 375)
             Unverifiable but considered Valid.
 [  Valid  ] Default behavior
             by Frama-C kernel.
@@ -1457,14 +1468,22 @@
 --- Properties of Function 'strsep'
 --------------------------------------------------------------------------------
 
-[ Extern  ] Assigns (file FRAMAC_SHARE/libc/string.h, line 347)
+[ Extern  ] Post-condition for 'no_stringp' 'result_null'
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 347)
+[ Extern  ] Post-condition for 'valid_stringp' 'valid_result'
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 348)
+[ Extern  ] Assigns (file FRAMAC_SHARE/libc/string.h, line 391)
+            Unverifiable but considered Valid.
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 391)
+            Unverifiable but considered Valid.
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 392)
             Unverifiable but considered Valid.
 [  Valid  ] Default behavior
             by Frama-C kernel.
+[  Valid  ] Behavior 'no_stringp'
+            by Frama-C kernel.
+[  Valid  ] Behavior 'valid_stringp'
+            by Frama-C kernel.
 
 --------------------------------------------------------------------------------
 --- Properties of Function 'strerror'
@@ -1478,7 +1497,7 @@
             Unverifiable but considered Valid.
 [ Extern  ] Assigns nothing
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 358)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 410)
             Unverifiable but considered Valid.
 [  Valid  ] Default behavior
             by Frama-C kernel.
@@ -1491,11 +1510,11 @@
             Unverifiable but considered Valid.
 [ Extern  ] Post-condition 'result_ptr'
             Unverifiable but considered Valid.
-[ Extern  ] Assigns (file FRAMAC_SHARE/libc/string.h, line 371)
+[ Extern  ] Assigns (file FRAMAC_SHARE/libc/string.h, line 423)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 371)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 423)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 372)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 424)
             Unverifiable but considered Valid.
 [  Valid  ] Default behavior
             by Frama-C kernel.
@@ -1512,11 +1531,11 @@
             Unverifiable but considered Valid.
 [ Extern  ] Post-condition for 'partial' 'equal_prefix'
             Unverifiable but considered Valid.
-[ Extern  ] Assigns (file FRAMAC_SHARE/libc/string.h, line 383)
+[ Extern  ] Assigns (file FRAMAC_SHARE/libc/string.h, line 435)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 383)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 435)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 384)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 436)
             Unverifiable but considered Valid.
 [  Valid  ] Behavior 'complete'
             by Frama-C kernel.
@@ -1533,11 +1552,11 @@
             Unverifiable but considered Valid.
 [ Extern  ] Post-condition 'bounded_result'
             Unverifiable but considered Valid.
-[ Extern  ] Assigns (file FRAMAC_SHARE/libc/string.h, line 404)
+[ Extern  ] Assigns (file FRAMAC_SHARE/libc/string.h, line 456)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 404)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 456)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 405)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 457)
             Unverifiable but considered Valid.
 [  Valid  ] Default behavior
             by Frama-C kernel.
@@ -1550,11 +1569,11 @@
             Unverifiable but considered Valid.
 [ Extern  ] Post-condition 'points_to_end'
             Unverifiable but considered Valid.
-[ Extern  ] Assigns (file FRAMAC_SHARE/libc/string.h, line 416)
+[ Extern  ] Assigns (file FRAMAC_SHARE/libc/string.h, line 468)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 416)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 468)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 417)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 469)
             Unverifiable but considered Valid.
 [  Valid  ] Default behavior
             by Frama-C kernel.
@@ -1571,11 +1590,11 @@
             Unverifiable but considered Valid.
 [ Extern  ] Post-condition 'result_ptr'
             Unverifiable but considered Valid.
-[ Extern  ] Assigns (file FRAMAC_SHARE/libc/string.h, line 427)
+[ Extern  ] Assigns (file FRAMAC_SHARE/libc/string.h, line 481)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 427)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 481)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 430)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 484)
             Unverifiable but considered Valid.
 [  Valid  ] Default behavior
             by Frama-C kernel.
@@ -1590,23 +1609,23 @@
             Unverifiable but considered Valid.
 [ Extern  ] Post-condition for 'partial' 'sum_of_bounded_lengths'
             Unverifiable but considered Valid.
-[ Extern  ] Assigns for 'complete' (file FRAMAC_SHARE/libc/string.h, line 447)
+[ Extern  ] Assigns for 'complete' (file FRAMAC_SHARE/libc/string.h, line 508)
             Unverifiable but considered Valid.
-[ Extern  ] Assigns (file FRAMAC_SHARE/libc/string.h, line 441)
+[ Extern  ] Assigns (file FRAMAC_SHARE/libc/string.h, line 502)
             Unverifiable but considered Valid.
-[ Extern  ] Assigns for 'partial' (file FRAMAC_SHARE/libc/string.h, line 455)
+[ Extern  ] Assigns for 'partial' (file FRAMAC_SHARE/libc/string.h, line 515)
             Unverifiable but considered Valid.
-[ Extern  ] Froms for 'complete' (file FRAMAC_SHARE/libc/string.h, line 447)
+[ Extern  ] Froms for 'complete' (file FRAMAC_SHARE/libc/string.h, line 508)
             Unverifiable but considered Valid.
-[ Extern  ] Froms for 'complete' (file FRAMAC_SHARE/libc/string.h, line 449)
+[ Extern  ] Froms for 'complete' (file FRAMAC_SHARE/libc/string.h, line 510)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 441)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 502)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 442)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 503)
             Unverifiable but considered Valid.
-[ Extern  ] Froms for 'partial' (file FRAMAC_SHARE/libc/string.h, line 455)
+[ Extern  ] Froms for 'partial' (file FRAMAC_SHARE/libc/string.h, line 515)
             Unverifiable but considered Valid.
-[ Extern  ] Froms for 'partial' (file FRAMAC_SHARE/libc/string.h, line 457)
+[ Extern  ] Froms for 'partial' (file FRAMAC_SHARE/libc/string.h, line 517)
             Unverifiable but considered Valid.
 [  Valid  ] Behavior 'complete'
             by Frama-C kernel.
@@ -1621,11 +1640,11 @@
 
 [ Extern  ] Post-condition 'bounded_result'
             Unverifiable but considered Valid.
-[ Extern  ] Assigns (file FRAMAC_SHARE/libc/string.h, line 467)
+[ Extern  ] Assigns (file FRAMAC_SHARE/libc/string.h, line 532)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 467)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 532)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 468)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 533)
             Unverifiable but considered Valid.
 [  Valid  ] Default behavior
             by Frama-C kernel.
@@ -1634,11 +1653,26 @@
 --- Properties of Function 'strxfrm'
 --------------------------------------------------------------------------------
 
-[ Extern  ] Assigns (file FRAMAC_SHARE/libc/string.h, line 476)
+[ Extern  ] Assigns (file FRAMAC_SHARE/libc/string.h, line 542)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 476)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 542)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 477)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 543)
+            Unverifiable but considered Valid.
+[  Valid  ] Default behavior
+            by Frama-C kernel.
+
+--------------------------------------------------------------------------------
+--- Properties of Function 'memmem'
+--------------------------------------------------------------------------------
+
+[ Extern  ] Post-condition 'result_null_or_valid'
+            Unverifiable but considered Valid.
+[ Extern  ] Post-condition 'result_null_or_same_base'
+            Unverifiable but considered Valid.
+[ Extern  ] Assigns nothing
+            Unverifiable but considered Valid.
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 551)
             Unverifiable but considered Valid.
 [  Valid  ] Default behavior
             by Frama-C kernel.
@@ -1653,19 +1687,19 @@
             Unverifiable but considered Valid.
 [ Extern  ] Post-condition for 'no_allocation' 'result_null'
             Unverifiable but considered Valid.
-[ Extern  ] Assigns for 'allocation' (file FRAMAC_SHARE/libc/string.h, line 489)
+[ Extern  ] Assigns for 'allocation' (file FRAMAC_SHARE/libc/string.h, line 570)
             Unverifiable but considered Valid.
 [ Extern  ] Assigns nothing
             Unverifiable but considered Valid.
 [ Extern  ] Assigns for 'no_allocation' nothing
             Unverifiable but considered Valid.
-[ Extern  ] Froms for 'allocation' (file FRAMAC_SHARE/libc/string.h, line 489)
+[ Extern  ] Froms for 'allocation' (file FRAMAC_SHARE/libc/string.h, line 570)
             Unverifiable but considered Valid.
-[ Extern  ] Froms for 'allocation' (file FRAMAC_SHARE/libc/string.h, line 490)
+[ Extern  ] Froms for 'allocation' (file FRAMAC_SHARE/libc/string.h, line 572)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 486)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 567)
             Unverifiable but considered Valid.
-[ Extern  ] Froms for 'no_allocation' (file FRAMAC_SHARE/libc/string.h, line 496)
+[ Extern  ] Froms for 'no_allocation' (file FRAMAC_SHARE/libc/string.h, line 579)
             Unverifiable but considered Valid.
 [  Valid  ] Behavior 'allocation'
             by Frama-C kernel.
@@ -1673,7 +1707,7 @@
             by Frama-C kernel.
 [  Valid  ] Behavior 'no_allocation'
             by Frama-C kernel.
-[ Extern  ] Frees/Allocates nothing/(file FRAMAC_SHARE/libc/string.h, line 485) 
+[ Extern  ] Frees/Allocates nothing/(file FRAMAC_SHARE/libc/string.h, line 566) 
             Unverifiable but considered Valid.
 [ Extern  ] Frees/Allocates for 'no_allocation' nothing/nothing 
             Unverifiable but considered Valid.
@@ -1688,19 +1722,19 @@
             Unverifiable but considered Valid.
 [ Extern  ] Post-condition for 'no_allocation' 'result_null'
             Unverifiable but considered Valid.
-[ Extern  ] Assigns for 'allocation' (file FRAMAC_SHARE/libc/string.h, line 508)
+[ Extern  ] Assigns for 'allocation' (file FRAMAC_SHARE/libc/string.h, line 594)
             Unverifiable but considered Valid.
 [ Extern  ] Assigns nothing
             Unverifiable but considered Valid.
 [ Extern  ] Assigns for 'no_allocation' nothing
             Unverifiable but considered Valid.
-[ Extern  ] Froms for 'allocation' (file FRAMAC_SHARE/libc/string.h, line 508)
+[ Extern  ] Froms for 'allocation' (file FRAMAC_SHARE/libc/string.h, line 594)
             Unverifiable but considered Valid.
-[ Extern  ] Froms for 'allocation' (file FRAMAC_SHARE/libc/string.h, line 509)
+[ Extern  ] Froms for 'allocation' (file FRAMAC_SHARE/libc/string.h, line 595)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 504)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 590)
             Unverifiable but considered Valid.
-[ Extern  ] Froms for 'no_allocation' (file FRAMAC_SHARE/libc/string.h, line 518)
+[ Extern  ] Froms for 'no_allocation' (file FRAMAC_SHARE/libc/string.h, line 605)
             Unverifiable but considered Valid.
 [  Valid  ] Behavior 'allocation'
             by Frama-C kernel.
@@ -1708,11 +1742,42 @@
             by Frama-C kernel.
 [  Valid  ] Behavior 'no_allocation'
             by Frama-C kernel.
-[ Extern  ] Frees/Allocates nothing/(file FRAMAC_SHARE/libc/string.h, line 503) 
+[ Extern  ] Frees/Allocates nothing/(file FRAMAC_SHARE/libc/string.h, line 589) 
             Unverifiable but considered Valid.
 [ Extern  ] Frees/Allocates for 'no_allocation' nothing/nothing 
             Unverifiable but considered Valid.
 
+--------------------------------------------------------------------------------
+--- Properties of Function 'stpncpy'
+--------------------------------------------------------------------------------
+
+[ Extern  ] Post-condition 'initialization'
+            Unverifiable but considered Valid.
+[ Extern  ] Post-condition for 'src_is_a_string' 'valid_string_dest'
+            Unverifiable but considered Valid.
+[ Extern  ] Post-condition for 'src_is_a_string' 'same_contents'
+            Unverifiable but considered Valid.
+[ Extern  ] Post-condition for 'src_is_a_string' 'dest_nul_padded'
+            Unverifiable but considered Valid.
+[ Extern  ] Post-condition for 'src_is_a_string' 'result_points_to_nul'
+            Unverifiable but considered Valid.
+[ Extern  ] Post-condition for 'src_too_long' 'same_partial_contents'
+            Unverifiable but considered Valid.
+[ Extern  ] Post-condition for 'src_too_long' 'result_points_to_end'
+            Unverifiable but considered Valid.
+[ Extern  ] Assigns (file FRAMAC_SHARE/libc/string.h, line 615)
+            Unverifiable but considered Valid.
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 615)
+            Unverifiable but considered Valid.
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 616)
+            Unverifiable but considered Valid.
+[  Valid  ] Default behavior
+            by Frama-C kernel.
+[  Valid  ] Behavior 'src_is_a_string'
+            by Frama-C kernel.
+[  Valid  ] Behavior 'src_too_long'
+            by Frama-C kernel.
+
 --------------------------------------------------------------------------------
 --- Properties of Function 'strsignal'
 --------------------------------------------------------------------------------
@@ -1725,7 +1790,7 @@
             Unverifiable but considered Valid.
 [ Extern  ] Assigns nothing
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 534)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/string.h, line 642)
             Unverifiable but considered Valid.
 [  Valid  ] Default behavior
             by Frama-C kernel.
@@ -2187,10 +2252,10 @@
 --------------------------------------------------------------------------------
 --- Status Report Summary
 --------------------------------------------------------------------------------
-   164 Completely validated
+   169 Completely validated
      1 Locally validated
-   247 Considered valid
+   267 Considered valid
     32 To be validated
      4 Alarms emitted
-   448 Total
+   473 Total
 --------------------------------------------------------------------------------
diff --git a/tests/builtins/oracle/memcpy2.res.oracle b/tests/builtins/oracle/memcpy2.res.oracle
index d72a3ed46ed6d5c6578a06f007b32c315bd6b56f..7a2e4458ddb0a4d4f593fa1d0a5256214685d97b 100644
--- a/tests/builtins/oracle/memcpy2.res.oracle
+++ b/tests/builtins/oracle/memcpy2.res.oracle
@@ -14,13 +14,13 @@
 [eva] memcpy2.c:10: function memcpy: precondition 'valid_dest' got status valid.
 [eva] memcpy2.c:10: function memcpy: precondition 'valid_src' got status valid.
 [eva] memcpy2.c:10: function memcpy: precondition 'separation' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:101: 
+[eva] FRAMAC_SHARE/libc/string.h:118: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp
 [eva] memcpy2.c:12: 
   Frama_C_dump_each:
   # cvalue:
-  Frama_C_entropy_source ∈ [--..--]
   __fc_heap_status ∈ [--..--]
+  Frama_C_entropy_source ∈ [--..--]
   __fc_strtok_ptr ∈ {0}
   __fc_strerror[0..63] ∈ [--..--]
   __fc_p_strerror ∈ {{ &__fc_strerror[0] }}
diff --git a/tests/builtins/oracle/memcpy_invalid.res.oracle b/tests/builtins/oracle/memcpy_invalid.res.oracle
index a1bb6e91bf1d45eb090a4ec7c0fb1765af51f91b..3f5a13b66c9273271fbc71b688a62613c4e69fd1 100644
--- a/tests/builtins/oracle/memcpy_invalid.res.oracle
+++ b/tests/builtins/oracle/memcpy_invalid.res.oracle
@@ -17,7 +17,7 @@
   function memcpy: precondition 'valid_src' got status unknown.
 [eva] memcpy_invalid.c:17: 
   function memcpy: precondition 'separation' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:101: 
+[eva] FRAMAC_SHARE/libc/string.h:118: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp
 [eva] Recording results for test
 [from] Computing for function test
diff --git a/tests/builtins/oracle/memset.res.oracle b/tests/builtins/oracle/memset.res.oracle
index f8bbb7519d819bd62c5c137bd158eadb4393d62a..81ad7400cbf0cce906879475122cb6216e196365 100644
--- a/tests/builtins/oracle/memset.res.oracle
+++ b/tests/builtins/oracle/memset.res.oracle
@@ -33,7 +33,7 @@
   Called from memset.c:93.
 [eva] memset.c:33: Call to builtin memset
 [eva] memset.c:33: function memset: precondition 'valid_s' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:134: 
+[eva] FRAMAC_SHARE/libc/string.h:151: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memset
 [eva:alarm] memset.c:34: Warning: 
   pointer downcast. assert (unsigned int)((int *)t2) ≤ 2147483647;
diff --git a/tests/builtins/oracle/memset_malloc_0.res.oracle b/tests/builtins/oracle/memset_malloc_0.res.oracle
index 3afa0b65a29ef763ba0924c82c44d6ef863279b3..f397248b81e2c8e0af63cfc8dfa48c7da96eb17d 100644
--- a/tests/builtins/oracle/memset_malloc_0.res.oracle
+++ b/tests/builtins/oracle/memset_malloc_0.res.oracle
@@ -9,7 +9,7 @@
 [eva] memset_malloc_0.c:18: Call to builtin memset
 [eva] memset_malloc_0.c:18: 
   function memset: precondition 'valid_s' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:134: 
+[eva] FRAMAC_SHARE/libc/string.h:151: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memset
 [eva] Recording results for main
 [eva] Done for function main
diff --git a/tests/builtins/oracle/precise_memset.res.oracle b/tests/builtins/oracle/precise_memset.res.oracle
index b02ac470c631262bbd86438efe066d2c039d917b..323e1f8213bf8c88a2a0230b709f435f46a07b9b 100644
--- a/tests/builtins/oracle/precise_memset.res.oracle
+++ b/tests/builtins/oracle/precise_memset.res.oracle
@@ -22,7 +22,7 @@
 [eva] precise_memset.c:72: Call to builtin memset
 [eva] precise_memset.c:72: 
   function memset: precondition 'valid_s' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:134: 
+[eva] FRAMAC_SHARE/libc/string.h:151: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memset
 [eva] precise_memset.c:73: Call to builtin memset
 [eva] precise_memset.c:73: 
diff --git a/tests/builtins/oracle/str_allocated.res.oracle b/tests/builtins/oracle/str_allocated.res.oracle
index e4448f41539d45b1ccf9d48abb53abff92e2f45a..cdd369361befe66a55caf18165d58ad4b5219c15 100644
--- a/tests/builtins/oracle/str_allocated.res.oracle
+++ b/tests/builtins/oracle/str_allocated.res.oracle
@@ -26,7 +26,7 @@
   function memchr: precondition 'danglingness' got status unknown.
 [eva] FRAMAC_SHARE/libc/string.h:78: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memchr
-[eva] FRAMAC_SHARE/libc/string.h:85: 
+[eva] FRAMAC_SHARE/libc/string.h:86: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memchr
 [eva] Recording results for memchr_bug
 [eva] Done for function memchr_bug
diff --git a/tests/builtins/oracle/strchr.res.oracle b/tests/builtins/oracle/strchr.res.oracle
index 28d8bac402b60642a6f46a399abd794616a4f0f9..924eddff1f52b8041adf37a6be4f29c7986b08f8 100644
--- a/tests/builtins/oracle/strchr.res.oracle
+++ b/tests/builtins/oracle/strchr.res.oracle
@@ -23,7 +23,7 @@
 [eva] strchr.c:88: Call to builtin strchr
 [eva] strchr.c:88: 
   function strchr: precondition 'valid_string_s' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:181: 
+[eva] FRAMAC_SHARE/libc/string.h:202: 
   cannot evaluate ACSL term, unsupported logic var p
 [eva] strchr.c:88: Frama_C_show_each_mystrchr: {3}
 [eva] strchr.c:89: assertion got status valid.
@@ -92,7 +92,7 @@
   Called from strchr.c:197.
 [eva] strchr.c:189: Call to builtin memset
 [eva] strchr.c:189: function memset: precondition 'valid_s' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:134: 
+[eva] FRAMAC_SHARE/libc/string.h:151: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memset
 [eva] Recording results for init_array_nondet
 [eva] Done for function init_array_nondet
diff --git a/tests/builtins/oracle/strlen.res.oracle b/tests/builtins/oracle/strlen.res.oracle
index 1998d07eb2c5d4eb738d3b6dcb21612791eb8072..0cbb3fda54f7f1e7fdf61be9e0926bbe60be9fdd 100644
--- a/tests/builtins/oracle/strlen.res.oracle
+++ b/tests/builtins/oracle/strlen.res.oracle
@@ -93,7 +93,7 @@
   Called from strlen.c:168.
 [eva] strlen.c:161: Call to builtin memset
 [eva] strlen.c:161: function memset: precondition 'valid_s' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:134: 
+[eva] FRAMAC_SHARE/libc/string.h:151: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memset
 [eva] Recording results for init_array_nondet
 [eva] Done for function init_array_nondet
diff --git a/tests/builtins/oracle/strnlen2.res.oracle b/tests/builtins/oracle/strnlen2.res.oracle
index f554968beef79c411e521f9b290838822ce89bd9..9b3f015bc35df7a058cf381f88f2d0eb5cba6393 100644
--- a/tests/builtins/oracle/strnlen2.res.oracle
+++ b/tests/builtins/oracle/strnlen2.res.oracle
@@ -93,7 +93,7 @@
   Called from strnlen2.c:144.
 [eva] strnlen2.c:138: Call to builtin memset
 [eva] strnlen2.c:138: function memset: precondition 'valid_s' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:134: 
+[eva] FRAMAC_SHARE/libc/string.h:151: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memset
 [eva] Recording results for init_array_nondet
 [eva] Done for function init_array_nondet
diff --git a/tests/builtins/oracle/wcslen.res.oracle b/tests/builtins/oracle/wcslen.res.oracle
index a5de0cd779733ac1419fd06657318b8832524640..9faaf9d02317bd2408bd494e9db29c182b804c24 100644
--- a/tests/builtins/oracle/wcslen.res.oracle
+++ b/tests/builtins/oracle/wcslen.res.oracle
@@ -93,7 +93,7 @@
   Called from wcslen.c:168.
 [eva] wcslen.c:161: Call to builtin memset
 [eva] wcslen.c:161: function memset: precondition 'valid_s' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:134: 
+[eva] FRAMAC_SHARE/libc/string.h:151: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memset
 [eva] Recording results for init_array_nondet
 [eva] Done for function init_array_nondet
diff --git a/tests/builtins/oracle/write-const.res.oracle b/tests/builtins/oracle/write-const.res.oracle
index 3c166ff90399758c31f8a4337cd8e0f318d7f3e2..eab4ebd123367102f38196750281397fd5071bd6 100644
--- a/tests/builtins/oracle/write-const.res.oracle
+++ b/tests/builtins/oracle/write-const.res.oracle
@@ -15,7 +15,7 @@
   function memcpy: precondition 'valid_src' got status valid.
 [eva] write-const.c:18: 
   function memcpy: precondition 'separation' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:101: 
+[eva] FRAMAC_SHARE/libc/string.h:118: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp
 [eva] write-const.c:19: 
   Frama_C_dump_each:
@@ -42,7 +42,7 @@
 [eva] write-const.c:25: Call to builtin memset
 [eva:alarm] write-const.c:25: Warning: 
   function memset: precondition 'valid_s' got status unknown.
-[eva] FRAMAC_SHARE/libc/string.h:134: 
+[eva] FRAMAC_SHARE/libc/string.h:151: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memset
 [eva] write-const.c:26: 
   Frama_C_dump_each:
diff --git a/tests/float/oracle/builtins.res.oracle b/tests/float/oracle/builtins.res.oracle
index 5039c250f6b7711f4c2d73630e0df5ae8926e78d..0314e931b5a92f9bc007ab7731e4456550165500 100644
--- a/tests/float/oracle/builtins.res.oracle
+++ b/tests/float/oracle/builtins.res.oracle
@@ -11,17 +11,13 @@
   Called from builtins.c:12.
 [eva] using specification for function Frama_C_float_interval
 [eva] builtins.c:12: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] builtins.c:12: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva] computing for function Frama_C_double_interval <- main.
   Called from builtins.c:13.
 [eva] using specification for function Frama_C_double_interval
 [eva] builtins.c:13: 
-  function Frama_C_double_interval: precondition 'finite' got status valid.
-[eva] builtins.c:13: 
-  function Frama_C_double_interval: precondition 'order' got status valid.
+  function Frama_C_double_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_double_interval
 [eva] Recording results for main
 [eva] Done for function main
diff --git a/tests/float/oracle/cond.res.oracle b/tests/float/oracle/cond.res.oracle
index 27e81d6dc944d269ef634354776c90bd54ee1940..80dde9ff11713507b42eaff929c50c759a3dce37 100644
--- a/tests/float/oracle/cond.res.oracle
+++ b/tests/float/oracle/cond.res.oracle
@@ -16,24 +16,18 @@
   Called from cond.c:12.
 [eva] using specification for function Frama_C_float_interval
 [eva] cond.c:12: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] cond.c:12: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva] computing for function Frama_C_float_interval <- main.
   Called from cond.c:15.
 [eva] cond.c:15: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] cond.c:15: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva:alarm] cond.c:18: Warning: assertion got status unknown.
 [eva] computing for function Frama_C_float_interval <- main.
   Called from cond.c:20.
 [eva] cond.c:20: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] cond.c:20: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva] Recording results for main
 [eva] Done for function main
diff --git a/tests/float/oracle/nonlin.0.res.oracle b/tests/float/oracle/nonlin.0.res.oracle
index f1e3762e46998e127a7fa8f744e42cd1eac9675b..42d729351cb63c8b12f12002bdfb07ae97d06d53 100644
--- a/tests/float/oracle/nonlin.0.res.oracle
+++ b/tests/float/oracle/nonlin.0.res.oracle
@@ -42,16 +42,12 @@
   Called from nonlin.c:18.
 [eva] using specification for function Frama_C_float_interval
 [eva] nonlin.c:18: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:18: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva] computing for function Frama_C_float_interval <- nonlin_f <- main.
   Called from nonlin.c:19.
 [eva] nonlin.c:19: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:19: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva] nonlin.c:22: assertion got status valid.
 [eva] nonlin.c:26: assertion got status valid.
@@ -158,16 +154,12 @@
 [eva] computing for function Frama_C_float_interval <- other <- main.
   Called from nonlin.c:61.
 [eva] nonlin.c:61: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:61: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva] computing for function Frama_C_float_interval <- other <- main.
   Called from nonlin.c:62.
 [eva] nonlin.c:62: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:62: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva:alarm] nonlin.c:63: Warning: 
   accessing out of bounds index.
@@ -206,16 +198,12 @@
 [eva] computing for function Frama_C_float_interval <- norm <- main.
   Called from nonlin.c:84.
 [eva] nonlin.c:84: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:84: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva] computing for function Frama_C_float_interval <- norm <- main.
   Called from nonlin.c:85.
 [eva] nonlin.c:85: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:85: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva:alarm] nonlin.c:92: Warning: 
   non-finite float value. assert \is_finite(\mul_float(v1, v1));
@@ -249,9 +237,7 @@
 [eva] computing for function Frama_C_float_interval <- around_zeros <- main.
   Called from nonlin.c:108.
 [eva] nonlin.c:108: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:108: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva:alarm] nonlin.c:113: Warning: 
   non-finite float value.
@@ -264,9 +250,7 @@
 [eva] computing for function Frama_C_float_interval <- subdivide_strategy <- main.
   Called from nonlin.c:126.
 [eva] nonlin.c:126: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:126: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva:alarm] nonlin.c:131: Warning: 
   non-finite double value. assert \is_finite(nondet);
@@ -276,9 +260,7 @@
 [eva] computing for function Frama_C_float_interval <- subdivide_strategy <- main.
   Called from nonlin.c:136.
 [eva] nonlin.c:136: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:136: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva] Recording results for subdivide_strategy
 [eva] Done for function subdivide_strategy
diff --git a/tests/float/oracle/nonlin.1.res.oracle b/tests/float/oracle/nonlin.1.res.oracle
index 244530720993a3a7e052fc2c7c6f87e33eac1545..c5dac9ca707683e6969cfce971489611bb88f9dd 100644
--- a/tests/float/oracle/nonlin.1.res.oracle
+++ b/tests/float/oracle/nonlin.1.res.oracle
@@ -42,16 +42,12 @@
   Called from nonlin.c:18.
 [eva] using specification for function Frama_C_float_interval
 [eva] nonlin.c:18: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:18: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva] computing for function Frama_C_float_interval <- nonlin_f <- main.
   Called from nonlin.c:19.
 [eva] nonlin.c:19: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:19: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva] nonlin.c:22: assertion got status valid.
 [eva:nonlin] nonlin.c:24: non-linear 'a + b * (c - a)', lv 'a'
@@ -162,16 +158,12 @@
 [eva] computing for function Frama_C_float_interval <- other <- main.
   Called from nonlin.c:61.
 [eva] nonlin.c:61: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:61: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva] computing for function Frama_C_float_interval <- other <- main.
   Called from nonlin.c:62.
 [eva] nonlin.c:62: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:62: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva:nonlin] nonlin.c:63: non-linear 'i * i', lv 'i'
 [eva:nonlin] nonlin.c:63: subdividing on i
@@ -221,16 +213,12 @@
 [eva] computing for function Frama_C_float_interval <- norm <- main.
   Called from nonlin.c:84.
 [eva] nonlin.c:84: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:84: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva] computing for function Frama_C_float_interval <- norm <- main.
   Called from nonlin.c:85.
 [eva] nonlin.c:85: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:85: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva:nonlin] nonlin.c:92: non-linear 'v1 * v1', lv 'v1'
 [eva:nonlin] nonlin.c:92: non-linear 'v2 * v2', lv 'v2'
@@ -268,9 +256,7 @@
 [eva] computing for function Frama_C_float_interval <- around_zeros <- main.
   Called from nonlin.c:108.
 [eva] nonlin.c:108: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:108: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva:nonlin] nonlin.c:113: non-linear '(f + f) - f', lv 'f'
 [eva:nonlin] nonlin.c:113: non-linear 'f1 / (((f + f) - f) - f1)', lv 'f1'
@@ -286,9 +272,7 @@
 [eva] computing for function Frama_C_float_interval <- subdivide_strategy <- main.
   Called from nonlin.c:126.
 [eva] nonlin.c:126: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:126: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva:nonlin] nonlin.c:130: non-linear 'x_0 * x_0', lv 'x_0'
 [eva:nonlin] nonlin.c:130: subdividing on x_0
@@ -302,9 +286,7 @@
 [eva] computing for function Frama_C_float_interval <- subdivide_strategy <- main.
   Called from nonlin.c:136.
 [eva] nonlin.c:136: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:136: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva:nonlin] nonlin.c:140: subdividing on x_0
 [eva] Recording results for subdivide_strategy
diff --git a/tests/float/oracle/nonlin.2.res.oracle b/tests/float/oracle/nonlin.2.res.oracle
index c34017d84d4a9ae84d71a2e2f54072c4703619fd..352093e03bcf77a2ec63db5bfad0780f2b9de997 100644
--- a/tests/float/oracle/nonlin.2.res.oracle
+++ b/tests/float/oracle/nonlin.2.res.oracle
@@ -42,16 +42,12 @@
   Called from nonlin.c:18.
 [eva] using specification for function Frama_C_float_interval
 [eva] nonlin.c:18: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:18: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva] computing for function Frama_C_float_interval <- nonlin_f <- main.
   Called from nonlin.c:19.
 [eva] nonlin.c:19: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:19: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva] nonlin.c:22: assertion got status valid.
 [eva:nonlin] nonlin.c:24: non-linear 'a + b * (c - a)', lv 'a'
@@ -162,16 +158,12 @@
 [eva] computing for function Frama_C_float_interval <- other <- main.
   Called from nonlin.c:61.
 [eva] nonlin.c:61: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:61: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva] computing for function Frama_C_float_interval <- other <- main.
   Called from nonlin.c:62.
 [eva] nonlin.c:62: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:62: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva:nonlin] nonlin.c:63: non-linear 'i * i', lv 'i'
 [eva:nonlin] nonlin.c:63: subdividing on i
@@ -218,16 +210,12 @@
 [eva] computing for function Frama_C_float_interval <- norm <- main.
   Called from nonlin.c:84.
 [eva] nonlin.c:84: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:84: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva] computing for function Frama_C_float_interval <- norm <- main.
   Called from nonlin.c:85.
 [eva] nonlin.c:85: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:85: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva:nonlin] nonlin.c:92: non-linear 'v1 * v1', lv 'v1'
 [eva:nonlin] nonlin.c:92: non-linear 'v2 * v2', lv 'v2'
@@ -251,9 +239,7 @@
 [eva] computing for function Frama_C_float_interval <- around_zeros <- main.
   Called from nonlin.c:108.
 [eva] nonlin.c:108: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:108: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva:nonlin] nonlin.c:113: non-linear '(f + f) - f', lv 'f'
 [eva:nonlin] nonlin.c:113: non-linear 'f1 / (((f + f) - f) - f1)', lv 'f1'
@@ -265,9 +251,7 @@
 [eva] computing for function Frama_C_float_interval <- subdivide_strategy <- main.
   Called from nonlin.c:126.
 [eva] nonlin.c:126: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:126: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva:nonlin] nonlin.c:130: non-linear 'x_0 * x_0', lv 'x_0'
 [eva:nonlin] nonlin.c:130: subdividing on x_0
@@ -276,9 +260,7 @@
 [eva] computing for function Frama_C_float_interval <- subdivide_strategy <- main.
   Called from nonlin.c:136.
 [eva] nonlin.c:136: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:136: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva:nonlin] nonlin.c:140: subdividing on x_0
 [eva] Recording results for subdivide_strategy
diff --git a/tests/float/oracle/nonlin.3.res.oracle b/tests/float/oracle/nonlin.3.res.oracle
index d23a6174a0cadc609bb5457dd506babb182eb65d..d2e06be00ee2be37e5019e5d0183e1d7301e8a6d 100644
--- a/tests/float/oracle/nonlin.3.res.oracle
+++ b/tests/float/oracle/nonlin.3.res.oracle
@@ -42,16 +42,12 @@
   Called from nonlin.c:18.
 [eva] using specification for function Frama_C_float_interval
 [eva] nonlin.c:18: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:18: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva] computing for function Frama_C_float_interval <- nonlin_f <- main.
   Called from nonlin.c:19.
 [eva] nonlin.c:19: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:19: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva] nonlin.c:22: assertion got status valid.
 [eva] nonlin.c:26: assertion got status valid.
@@ -158,16 +154,12 @@
 [eva] computing for function Frama_C_float_interval <- other <- main.
   Called from nonlin.c:61.
 [eva] nonlin.c:61: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:61: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva] computing for function Frama_C_float_interval <- other <- main.
   Called from nonlin.c:62.
 [eva] nonlin.c:62: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:62: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva:alarm] nonlin.c:63: Warning: 
   accessing out of bounds index.
@@ -206,16 +198,12 @@
 [eva] computing for function Frama_C_float_interval <- norm <- main.
   Called from nonlin.c:84.
 [eva] nonlin.c:84: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:84: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva] computing for function Frama_C_float_interval <- norm <- main.
   Called from nonlin.c:85.
 [eva] nonlin.c:85: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:85: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva:alarm] nonlin.c:92: Warning: 
   non-finite float value. assert \is_finite(\mul_float(v1, v1));
@@ -249,9 +237,7 @@
 [eva] computing for function Frama_C_float_interval <- around_zeros <- main.
   Called from nonlin.c:108.
 [eva] nonlin.c:108: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:108: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva:alarm] nonlin.c:113: Warning: 
   non-finite float value.
@@ -264,9 +250,7 @@
 [eva] computing for function Frama_C_float_interval <- subdivide_strategy <- main.
   Called from nonlin.c:126.
 [eva] nonlin.c:126: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:126: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva:alarm] nonlin.c:131: Warning: 
   non-finite float value. assert \is_finite(nondet);
@@ -276,9 +260,7 @@
 [eva] computing for function Frama_C_float_interval <- subdivide_strategy <- main.
   Called from nonlin.c:136.
 [eva] nonlin.c:136: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:136: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva] Recording results for subdivide_strategy
 [eva] Done for function subdivide_strategy
diff --git a/tests/float/oracle/nonlin.4.res.oracle b/tests/float/oracle/nonlin.4.res.oracle
index 20a680fb4f8c999495bd8c39d38b551737bbc1a4..b21a406a3b430d71f61d4bdec248136f1a8fcd7f 100644
--- a/tests/float/oracle/nonlin.4.res.oracle
+++ b/tests/float/oracle/nonlin.4.res.oracle
@@ -42,16 +42,12 @@
   Called from nonlin.c:18.
 [eva] using specification for function Frama_C_float_interval
 [eva] nonlin.c:18: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:18: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva] computing for function Frama_C_float_interval <- nonlin_f <- main.
   Called from nonlin.c:19.
 [eva] nonlin.c:19: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:19: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva] nonlin.c:22: assertion got status valid.
 [eva:nonlin] nonlin.c:24: non-linear 'a + b * (c - a)', lv 'a'
@@ -162,16 +158,12 @@
 [eva] computing for function Frama_C_float_interval <- other <- main.
   Called from nonlin.c:61.
 [eva] nonlin.c:61: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:61: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva] computing for function Frama_C_float_interval <- other <- main.
   Called from nonlin.c:62.
 [eva] nonlin.c:62: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:62: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva:nonlin] nonlin.c:63: non-linear 'i * i', lv 'i'
 [eva:nonlin] nonlin.c:63: subdividing on i
@@ -221,16 +213,12 @@
 [eva] computing for function Frama_C_float_interval <- norm <- main.
   Called from nonlin.c:84.
 [eva] nonlin.c:84: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:84: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva] computing for function Frama_C_float_interval <- norm <- main.
   Called from nonlin.c:85.
 [eva] nonlin.c:85: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:85: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva:nonlin] nonlin.c:92: non-linear 'v1 * v1', lv 'v1'
 [eva:nonlin] nonlin.c:92: non-linear 'v2 * v2', lv 'v2'
@@ -268,9 +256,7 @@
 [eva] computing for function Frama_C_float_interval <- around_zeros <- main.
   Called from nonlin.c:108.
 [eva] nonlin.c:108: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:108: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva:nonlin] nonlin.c:113: non-linear '(f + f) - f', lv 'f'
 [eva:nonlin] nonlin.c:113: non-linear 'f1 / (((f + f) - f) - f1)', lv 'f1'
@@ -286,9 +272,7 @@
 [eva] computing for function Frama_C_float_interval <- subdivide_strategy <- main.
   Called from nonlin.c:126.
 [eva] nonlin.c:126: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:126: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva:nonlin] nonlin.c:130: non-linear 'x_0 * x_0', lv 'x_0'
 [eva:nonlin] nonlin.c:130: subdividing on x_0
@@ -302,9 +286,7 @@
 [eva] computing for function Frama_C_float_interval <- subdivide_strategy <- main.
   Called from nonlin.c:136.
 [eva] nonlin.c:136: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:136: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva:nonlin] nonlin.c:140: subdividing on x_0
 [eva] Recording results for subdivide_strategy
diff --git a/tests/float/oracle/nonlin.5.res.oracle b/tests/float/oracle/nonlin.5.res.oracle
index 5a90665f5e4c99e945c480c7c69d501d54c561e8..0b7e0cad33be8205b342c70de1fd48d93f645367 100644
--- a/tests/float/oracle/nonlin.5.res.oracle
+++ b/tests/float/oracle/nonlin.5.res.oracle
@@ -42,16 +42,12 @@
   Called from nonlin.c:18.
 [eva] using specification for function Frama_C_float_interval
 [eva] nonlin.c:18: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:18: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva] computing for function Frama_C_float_interval <- nonlin_f <- main.
   Called from nonlin.c:19.
 [eva] nonlin.c:19: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:19: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva] nonlin.c:22: assertion got status valid.
 [eva:nonlin] nonlin.c:24: non-linear 'a + b * (c - a)', lv 'a'
@@ -162,16 +158,12 @@
 [eva] computing for function Frama_C_float_interval <- other <- main.
   Called from nonlin.c:61.
 [eva] nonlin.c:61: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:61: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva] computing for function Frama_C_float_interval <- other <- main.
   Called from nonlin.c:62.
 [eva] nonlin.c:62: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:62: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva:nonlin] nonlin.c:63: non-linear 'i * i', lv 'i'
 [eva:nonlin] nonlin.c:63: subdividing on i
@@ -218,16 +210,12 @@
 [eva] computing for function Frama_C_float_interval <- norm <- main.
   Called from nonlin.c:84.
 [eva] nonlin.c:84: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:84: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva] computing for function Frama_C_float_interval <- norm <- main.
   Called from nonlin.c:85.
 [eva] nonlin.c:85: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:85: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva:nonlin] nonlin.c:92: non-linear 'v1 * v1', lv 'v1'
 [eva:nonlin] nonlin.c:92: non-linear 'v2 * v2', lv 'v2'
@@ -251,9 +239,7 @@
 [eva] computing for function Frama_C_float_interval <- around_zeros <- main.
   Called from nonlin.c:108.
 [eva] nonlin.c:108: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:108: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva:nonlin] nonlin.c:113: non-linear '(f + f) - f', lv 'f'
 [eva:nonlin] nonlin.c:113: non-linear 'f1 / (((f + f) - f) - f1)', lv 'f1'
@@ -265,9 +251,7 @@
 [eva] computing for function Frama_C_float_interval <- subdivide_strategy <- main.
   Called from nonlin.c:126.
 [eva] nonlin.c:126: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:126: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva:nonlin] nonlin.c:130: non-linear 'x_0 * x_0', lv 'x_0'
 [eva:nonlin] nonlin.c:130: subdividing on x_0
@@ -276,9 +260,7 @@
 [eva] computing for function Frama_C_float_interval <- subdivide_strategy <- main.
   Called from nonlin.c:136.
 [eva] nonlin.c:136: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] nonlin.c:136: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva:nonlin] nonlin.c:140: subdividing on x_0
 [eva] Recording results for subdivide_strategy
diff --git a/tests/float/oracle/precise_cos_sin.res.oracle b/tests/float/oracle/precise_cos_sin.res.oracle
index ceaed12dc7a422f635a570f5fea4df483107e6ef..10a6b7fae42104936583a8201dae47a8e436b936 100644
--- a/tests/float/oracle/precise_cos_sin.res.oracle
+++ b/tests/float/oracle/precise_cos_sin.res.oracle
@@ -8,9 +8,7 @@
   Called from precise_cos_sin.c:12.
 [eva] using specification for function Frama_C_float_interval
 [eva] precise_cos_sin.c:12: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] precise_cos_sin.c:12: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva] precise_cos_sin.c:15: Call to builtin sin
 [eva] precise_cos_sin.c:15: 
diff --git a/tests/float/oracle_equality/cond.res.oracle b/tests/float/oracle_equality/cond.res.oracle
index 4cd8c3819bdb64f63d5e9a5ad88e1e7fa18fadeb..3af1cb44d15c34f17c0bceeedf4b3451fa35edd5 100644
--- a/tests/float/oracle_equality/cond.res.oracle
+++ b/tests/float/oracle_equality/cond.res.oracle
@@ -1,4 +1,4 @@
-45,46c45,46
+39,40c39,40
 <   dz ∈ [0x1.0000000000001p0 .. 0x1.4000000000000p3]
 <   dt ∈ [-0x1.4000000000000p3 .. 0x1.fffffffffffffp-1]
 ---
diff --git a/tests/float/oracle_equality/nonlin.1.res.oracle b/tests/float/oracle_equality/nonlin.1.res.oracle
index 219fb5edaa60ceb558e2ae210ac981f0d144e48a..a2da22e4c93e104dac96393c8d404c2e109f517d 100644
--- a/tests/float/oracle_equality/nonlin.1.res.oracle
+++ b/tests/float/oracle_equality/nonlin.1.res.oracle
@@ -1,2 +1,2 @@
-61a62
+57a58
 > [eva:nonlin] nonlin.c:44: subdividing on a
diff --git a/tests/float/oracle_equality/nonlin.2.res.oracle b/tests/float/oracle_equality/nonlin.2.res.oracle
index 219fb5edaa60ceb558e2ae210ac981f0d144e48a..a2da22e4c93e104dac96393c8d404c2e109f517d 100644
--- a/tests/float/oracle_equality/nonlin.2.res.oracle
+++ b/tests/float/oracle_equality/nonlin.2.res.oracle
@@ -1,2 +1,2 @@
-61a62
+57a58
 > [eva:nonlin] nonlin.c:44: subdividing on a
diff --git a/tests/float/oracle_equality/nonlin.4.res.oracle b/tests/float/oracle_equality/nonlin.4.res.oracle
index 219fb5edaa60ceb558e2ae210ac981f0d144e48a..a2da22e4c93e104dac96393c8d404c2e109f517d 100644
--- a/tests/float/oracle_equality/nonlin.4.res.oracle
+++ b/tests/float/oracle_equality/nonlin.4.res.oracle
@@ -1,2 +1,2 @@
-61a62
+57a58
 > [eva:nonlin] nonlin.c:44: subdividing on a
diff --git a/tests/float/oracle_equality/nonlin.5.res.oracle b/tests/float/oracle_equality/nonlin.5.res.oracle
index 219fb5edaa60ceb558e2ae210ac981f0d144e48a..a2da22e4c93e104dac96393c8d404c2e109f517d 100644
--- a/tests/float/oracle_equality/nonlin.5.res.oracle
+++ b/tests/float/oracle_equality/nonlin.5.res.oracle
@@ -1,2 +1,2 @@
-61a62
+57a58
 > [eva:nonlin] nonlin.c:44: subdividing on a
diff --git a/tests/float/oracle_octagon/nonlin.1.res.oracle b/tests/float/oracle_octagon/nonlin.1.res.oracle
index 6eefc1b9fe0c8e2bfb44c95f71f61bc9f761dcf4..32ee5946f24c027cb7bf9fbb4f5475f1efd4b0a9 100644
--- a/tests/float/oracle_octagon/nonlin.1.res.oracle
+++ b/tests/float/oracle_octagon/nonlin.1.res.oracle
@@ -1,5 +1,5 @@
-274a275,276
+260a261,262
 > [eva:nonlin] nonlin.c:113: non-linear 'f + f', lv 'f'
 > [eva:nonlin] nonlin.c:113: subdividing on f
-277d278
+263d264
 < [eva:nonlin] nonlin.c:113: subdividing on f
diff --git a/tests/float/oracle_octagon/nonlin.2.res.oracle b/tests/float/oracle_octagon/nonlin.2.res.oracle
index af64eb11946572bd8f9d116a6d6731adf1112bcb..012ad84c26fdedd40b52a9415821dc093e6e5493 100644
--- a/tests/float/oracle_octagon/nonlin.2.res.oracle
+++ b/tests/float/oracle_octagon/nonlin.2.res.oracle
@@ -1,5 +1,5 @@
-257a258,259
+243a244,245
 > [eva:nonlin] nonlin.c:113: non-linear 'f + f', lv 'f'
 > [eva:nonlin] nonlin.c:113: subdividing on f
-260d261
+246d247
 < [eva:nonlin] nonlin.c:113: subdividing on f
diff --git a/tests/float/oracle_octagon/nonlin.4.res.oracle b/tests/float/oracle_octagon/nonlin.4.res.oracle
index 6eefc1b9fe0c8e2bfb44c95f71f61bc9f761dcf4..32ee5946f24c027cb7bf9fbb4f5475f1efd4b0a9 100644
--- a/tests/float/oracle_octagon/nonlin.4.res.oracle
+++ b/tests/float/oracle_octagon/nonlin.4.res.oracle
@@ -1,5 +1,5 @@
-274a275,276
+260a261,262
 > [eva:nonlin] nonlin.c:113: non-linear 'f + f', lv 'f'
 > [eva:nonlin] nonlin.c:113: subdividing on f
-277d278
+263d264
 < [eva:nonlin] nonlin.c:113: subdividing on f
diff --git a/tests/float/oracle_octagon/nonlin.5.res.oracle b/tests/float/oracle_octagon/nonlin.5.res.oracle
index af64eb11946572bd8f9d116a6d6731adf1112bcb..012ad84c26fdedd40b52a9415821dc093e6e5493 100644
--- a/tests/float/oracle_octagon/nonlin.5.res.oracle
+++ b/tests/float/oracle_octagon/nonlin.5.res.oracle
@@ -1,5 +1,5 @@
-257a258,259
+243a244,245
 > [eva:nonlin] nonlin.c:113: non-linear 'f + f', lv 'f'
 > [eva:nonlin] nonlin.c:113: subdividing on f
-260d261
+246d247
 < [eva:nonlin] nonlin.c:113: subdividing on f
diff --git a/tests/idct/oracle/ieee_1180_1990.res.oracle b/tests/idct/oracle/ieee_1180_1990.res.oracle
index b29a4a707c40c6ccb368ad80e34cce3c990f63ff..32e6e21539e6842e33fc3ff8bf5cc4521b059b1e 100644
--- a/tests/idct/oracle/ieee_1180_1990.res.oracle
+++ b/tests/idct/oracle/ieee_1180_1990.res.oracle
@@ -2146,6 +2146,29 @@
             default behavior
             by Frama-C kernel.
 
+--------------------------------------------------------------------------------
+--- Properties of Function 'getline'
+--------------------------------------------------------------------------------
+
+[ Extern  ] Assigns (file FRAMAC_SHARE/libc/stdio.h, line 584)
+            assigns *(*lineptr + (0 .. *n - 1)), *n, *stream, \result;
+            Unverifiable but considered Valid.
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 584)
+            assigns *(*lineptr + (0 .. *n - 1)) \from *stream;
+            Unverifiable but considered Valid.
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 584)
+            assigns *n \from *stream;
+            Unverifiable but considered Valid.
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 584)
+            assigns *stream \from *stream;
+            Unverifiable but considered Valid.
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 584)
+            assigns \result \from *stream;
+            Unverifiable but considered Valid.
+[  Valid  ] Default behavior
+            default behavior
+            by Frama-C kernel.
+
 --------------------------------------------------------------------------------
 --- Properties of Function 'fmemopen'
 --------------------------------------------------------------------------------
@@ -2160,15 +2183,15 @@
             errno_set:
               __fc_errno ≡ \old(__fc_errno) ∨ __fc_errno ∈ {22, 24, 12}
             Unverifiable but considered Valid.
-[ Extern  ] Assigns (file FRAMAC_SHARE/libc/stdio.h, line 592)
+[ Extern  ] Assigns (file FRAMAC_SHARE/libc/stdio.h, line 593)
             assigns __fc_errno, \result;
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 592)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 593)
             assigns __fc_errno
               \from (indirect: buf), (indirect: size),
                     (indirect: *(mode + (0 .. strlen{Old}(mode))));
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 594)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 595)
             assigns \result
               \from __fc_p_fopen, (indirect: buf), (indirect: size),
                     (indirect: *(mode + (0 .. strlen{Old}(mode))));
@@ -2176,7 +2199,7 @@
 [  Valid  ] Default behavior
             default behavior
             by Frama-C kernel.
-[ Extern  ] Frees/Allocates nothing/(file FRAMAC_SHARE/libc/stdio.h, line 601) 
+[ Extern  ] Frees/Allocates nothing/(file FRAMAC_SHARE/libc/stdio.h, line 592) 
             allocates \old(buf);
             Unverifiable but considered Valid.
 
@@ -2184,29 +2207,60 @@
 --- Properties of Function 'asprintf'
 --------------------------------------------------------------------------------
 
-[ Extern  ] Post-condition 'result_error_or_written_byes'
+[ Extern  ] Post-condition 'result_error_or_written_bytes'
             ensures
-            result_error_or_written_byes: \result ≡ -1 ∨ \result ≥ 0
+            result_error_or_written_bytes: \result ≡ -1 ∨ \result ≥ 0
             Unverifiable but considered Valid.
-[ Extern  ] Assigns (file FRAMAC_SHARE/libc/stdio.h, line 613)
+[ Extern  ] Assigns (file FRAMAC_SHARE/libc/stdio.h, line 614)
             assigns __fc_heap_status, \result, *strp;
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 613)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 614)
             assigns __fc_heap_status
               \from (indirect: *(fmt + (0 ..))), __fc_heap_status;
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 614)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 615)
             assigns \result
               \from (indirect: *(fmt + (0 ..))), (indirect: __fc_heap_status);
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 615)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 616)
             assigns *strp
               \from *(fmt + (0 ..)), (indirect: __fc_heap_status);
             Unverifiable but considered Valid.
 [  Valid  ] Default behavior
             default behavior
             by Frama-C kernel.
-[ Extern  ] Frees/Allocates nothing/(file FRAMAC_SHARE/libc/stdio.h, line 618) 
+[ Extern  ] Frees/Allocates nothing/(file FRAMAC_SHARE/libc/stdio.h, line 613) 
+            allocates *\old(strp);
+            Unverifiable but considered Valid.
+
+--------------------------------------------------------------------------------
+--- Properties of Function 'vasprintf'
+--------------------------------------------------------------------------------
+
+[ Extern  ] Post-condition 'result_error_or_written_bytes'
+            ensures
+            result_error_or_written_bytes: \result ≡ -1 ∨ \result ≥ 0
+            Unverifiable but considered Valid.
+[ Extern  ] Assigns (file FRAMAC_SHARE/libc/stdio.h, line 627)
+            assigns __fc_heap_status, \result, *strp;
+            Unverifiable but considered Valid.
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 627)
+            assigns __fc_heap_status
+              \from (indirect: *(fmt + (0 ..))), (indirect: ap),
+                    __fc_heap_status;
+            Unverifiable but considered Valid.
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 629)
+            assigns \result
+              \from (indirect: *(fmt + (0 ..))), (indirect: __fc_heap_status);
+            Unverifiable but considered Valid.
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 630)
+            assigns *strp
+              \from *(fmt + (0 ..)), ap, (indirect: __fc_heap_status);
+            Unverifiable but considered Valid.
+[  Valid  ] Default behavior
+            default behavior
+            by Frama-C kernel.
+[ Extern  ] Frees/Allocates nothing/(file FRAMAC_SHARE/libc/stdio.h, line 626) 
             allocates *\old(strp);
             Unverifiable but considered Valid.
 
@@ -4257,9 +4311,9 @@
 --------------------------------------------------------------------------------
 --- Status Report Summary
 --------------------------------------------------------------------------------
-   194 Completely validated
+   196 Completely validated
     16 Locally validated
-   570 Considered valid
+   581 Considered valid
     56 To be validated
-   836 Total
+   849 Total
 --------------------------------------------------------------------------------
diff --git a/tests/idct/oracle_multidim/ieee_1180_1990.res.oracle b/tests/idct/oracle_multidim/ieee_1180_1990.res.oracle
index 47aa5d3e5dd20d6f1977724377123cb11af05543..e69b1bce17cf37606daa135221c9c880a23f0a59 100644
--- a/tests/idct/oracle_multidim/ieee_1180_1990.res.oracle
+++ b/tests/idct/oracle_multidim/ieee_1180_1990.res.oracle
@@ -265,7 +265,7 @@
 <      "output.\n"[bits 0 to 71]
 ---
 >     idct_init; idct_mc1[0..7][0..7]; idct_mc2[0..7][0..7]
-3909,3931d3743
+3963,3985d3797
 < [    -    ] Assertion 'Eva,initialization' (file idct.c, line 129)
 <             assert Eva: initialization: \initialized(&tmp1[i][j]);
 <             tried with Eva.
@@ -289,7 +289,7 @@
 <             assert Eva: initialization: \initialized(&tmp1[i][j]);
 <             By RedundantAlarms, with pending:
 <              - Assertion 'Eva,initialization' (file idct.c, line 145)
-3935,3957d3746
+3989,4011d3800
 < [    -    ] Assertion 'Eva,initialization' (file idct.c, line 163)
 <             assert Eva: initialization: \initialized(&tmp1[i][j]);
 <             tried with Eva.
@@ -313,11 +313,11 @@
 <             assert Eva: initialization: \initialized(&tmp1[i][j]);
 <             By RedundantAlarms, with pending:
 <              - Assertion 'Eva,initialization' (file idct.c, line 180)
-3979,3981d3767
+4033,4035d3821
 < [    -    ] Assertion 'Eva,initialization' (file ieee_1180_1990.c, line 109)
 <             assert Eva: initialization: \initialized(&tmp1[i][j]);
 <             tried with Eva.
-3985,4018d3770
+4039,4072d3824
 < [    -    ] Assertion 'Eva,initialization' (file ieee_1180_1990.c, line 116)
 <             assert Eva: initialization: \initialized(&tmp2[i][j]);
 <             tried with Eva.
@@ -352,11 +352,11 @@
 < [    -    ] Assertion 'Eva,float_to_int' (file ieee_1180_1990.c, line 124)
 <             assert Eva: float_to_int: tmp2[i][j] - 0.5 < 2147483648;
 <             tried with Eva.
-4039,4041d3790
+4093,4095d3844
 < [    -    ] Assertion 'Eva,initialization' (file ieee_1180_1990.c, line 150)
 <             assert Eva: initialization: \initialized(&tmp1[i][j]);
 <             tried with Eva.
-4045,4078d3793
+4099,4132d3847
 < [    -    ] Assertion 'Eva,initialization' (file ieee_1180_1990.c, line 157)
 <             assert Eva: initialization: \initialized(&tmp2[i][j]);
 <             tried with Eva.
@@ -391,7 +391,7 @@
 < [    -    ] Assertion 'Eva,float_to_int' (file ieee_1180_1990.c, line 165)
 <             assert Eva: float_to_int: tmp2[i][j] - 0.5 < 2147483648;
 <             tried with Eva.
-4178,4194c3893,3899
+4232,4248c3947,3953
 < [ Partial ] Assertion 'Eva,initialization' (file ieee_1180_1990.c, line 358)
 <             assert Eva: initialization: \initialized(&res[i].pmse[j][k]);
 <             By RedundantAlarms, with pending:
@@ -417,7 +417,7 @@
 >             reachability of stmt line 196 in main
 >             by Eva.
 > [  Dead   ] Instance of 'Pre-condition (file FRAMAC_SHARE/libc/stdio.h, line 211)' at call 'printf_va_1' (file ieee_1180_1990.c, line 195)
-4198,4199c3903,3906
+4252,4253c3957,3960
 <             by Eva.
 < [  Valid  ] Instance of 'Pre-condition (file FRAMAC_SHARE/libc/stdio.h, line 211)' at call 'printf_va_2' (file ieee_1180_1990.c, line 196)
 ---
@@ -425,22 +425,22 @@
 >             By Eva because:
 >              - Unreachable call 'printf_va_1' (file ieee_1180_1990.c, line 195)
 > [  Dead   ] Instance of 'Pre-condition (file FRAMAC_SHARE/libc/stdio.h, line 211)' at call 'printf_va_2' (file ieee_1180_1990.c, line 196)
-4203c3910,3912
+4257c3964,3966
 <             by Eva.
 ---
 >             Locally valid, but unreachable.
 >             By Eva because:
 >              - Unreachable call 'printf_va_2' (file ieee_1180_1990.c, line 196)
-4260,4261c3969
-<    194 Completely validated
+4314,4315c4023
+<    196 Completely validated
 <     16 Locally validated
 ---
->    192 Completely validated
-4263,4264c3971,3974
+>    194 Completely validated
+4317,4318c4025,4028
 <     56 To be validated
-<    836 Total
+<    849 Total
 ---
 >     32 To be validated
 >      2 Dead properties
 >      2 Unreachable
->    798 Total
+>    811 Total
diff --git a/tests/libc/oracle/argz_c.res.oracle b/tests/libc/oracle/argz_c.res.oracle
index 38884838a6fe0a2ad80311c8f255521d860e08fc..5351b22e36e6ed43c5e5350e2450c2ffd276e69b 100644
--- a/tests/libc/oracle/argz_c.res.oracle
+++ b/tests/libc/oracle/argz_c.res.oracle
@@ -22,6 +22,7 @@
   \return(getenv) == 0 (auto)
   \return(bsearch) == 0 (auto)
   \return(realpath) == 0 (auto)
+  \return(canonicalize_file_name) == 0 (auto)
   \return(memchr) == 0 (auto)
   \return(memrchr) == 0 (auto)
   \return(memcpy) == 0 (auto)
@@ -43,8 +44,10 @@
   \return(stpcpy) == 0 (auto)
   \return(strcat) == 0 (auto)
   \return(strncat) == 0 (auto)
+  \return(memmem) == 0 (auto)
   \return(strdup) == 0 (auto)
   \return(strndup) == 0 (auto)
+  \return(stpncpy) == 0 (auto)
   \return(strsignal) == 0 (auto)
   \return(argz_count) == 0, 6 (auto)
   \return(argz_append) == 0, 6 (auto)
@@ -62,24 +65,24 @@
   
 [eva] computing for function argz_create <- main.
   Called from argz_c.c:20.
-[eva] FRAMAC_SHARE/libc/argz.c:240: Call to builtin strlen
-[eva] FRAMAC_SHARE/libc/argz.c:240: 
+[eva] FRAMAC_SHARE/libc/argz.c:241: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/argz.c:241: 
   function strlen: precondition 'valid_string_s' got status valid.
-[eva] FRAMAC_SHARE/libc/argz.c:240: Call to builtin strlen
-[eva] FRAMAC_SHARE/libc/argz.c:240: Call to builtin strlen
-[eva] FRAMAC_SHARE/libc/argz.c:245: Call to builtin malloc
-[eva] FRAMAC_SHARE/libc/argz.c:245: 
-  allocating variable __malloc_argz_create_l245
+[eva] FRAMAC_SHARE/libc/argz.c:241: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/argz.c:241: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/argz.c:246: Call to builtin malloc
+[eva] FRAMAC_SHARE/libc/argz.c:246: 
+  allocating variable __malloc_argz_create_l246
 [eva] computing for function stpcpy <- argz_create <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:250.
+  Called from FRAMAC_SHARE/libc/argz.c:251.
 [eva] Recording results for stpcpy
 [eva] Done for function stpcpy
 [eva] computing for function stpcpy <- argz_create <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:250.
+  Called from FRAMAC_SHARE/libc/argz.c:251.
 [eva] Recording results for stpcpy
 [eva] Done for function stpcpy
 [eva] computing for function stpcpy <- argz_create <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:250.
+  Called from FRAMAC_SHARE/libc/argz.c:251.
 [eva] Recording results for stpcpy
 [eva] Done for function stpcpy
 [eva] Recording results for argz_create
@@ -93,12 +96,12 @@
 [eva] argz_c.c:23: function free: precondition 'freeable' got status valid.
 [eva] computing for function argz_create_sep <- main.
   Called from argz_c.c:25.
-[eva] FRAMAC_SHARE/libc/argz.c:196: Call to builtin strlen
-[eva] FRAMAC_SHARE/libc/argz.c:196: 
+[eva] FRAMAC_SHARE/libc/argz.c:197: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/argz.c:197: 
   function strlen: precondition 'valid_string_s' got status valid.
-[eva] FRAMAC_SHARE/libc/argz.c:202: Call to builtin malloc
-[eva] FRAMAC_SHARE/libc/argz.c:202: 
-  allocating variable __malloc_argz_create_sep_l202
+[eva] FRAMAC_SHARE/libc/argz.c:203: Call to builtin malloc
+[eva] FRAMAC_SHARE/libc/argz.c:203: 
+  allocating variable __malloc_argz_create_sep_l203
 [eva] Recording results for argz_create_sep
 [eva] Done for function argz_create_sep
 [eva] computing for function exit <- main.
@@ -112,11 +115,11 @@
 [eva] Done for function __FC_assert
 [eva] computing for function argz_count <- main.
   Called from argz_c.c:28.
-[eva] FRAMAC_SHARE/libc/argz.c:260: Call to builtin strlen
-[eva] FRAMAC_SHARE/libc/argz.c:260: 
+[eva] FRAMAC_SHARE/libc/argz.c:261: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/argz.c:261: 
   function strlen: precondition 'valid_string_s' got status valid.
-[eva] FRAMAC_SHARE/libc/argz.c:260: Call to builtin strlen
-[eva] FRAMAC_SHARE/libc/argz.c:260: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/argz.c:261: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/argz.c:261: Call to builtin strlen
 [eva] Recording results for argz_count
 [eva] Done for function argz_count
 [eva] computing for function __FC_assert <- main.
@@ -126,24 +129,24 @@
 [eva] Done for function __FC_assert
 [eva] computing for function argz_add <- main.
   Called from argz_c.c:30.
-[eva] FRAMAC_SHARE/libc/argz.c:282: Call to builtin strlen
-[eva] FRAMAC_SHARE/libc/argz.c:282: 
+[eva] FRAMAC_SHARE/libc/argz.c:283: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/argz.c:283: 
   function strlen: precondition 'valid_string_s' got status valid.
 [eva] computing for function argz_append <- argz_add <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:282.
-[eva] FRAMAC_SHARE/libc/argz.c:271: Call to builtin realloc
-[eva] FRAMAC_SHARE/libc/argz.c:271: 
+  Called from FRAMAC_SHARE/libc/argz.c:283.
+[eva] FRAMAC_SHARE/libc/argz.c:272: Call to builtin realloc
+[eva] FRAMAC_SHARE/libc/argz.c:272: 
   function realloc: precondition 'freeable' got status valid.
-[eva] FRAMAC_SHARE/libc/argz.c:271: 
-  allocating variable __realloc_argz_append_l271
-[eva] FRAMAC_SHARE/libc/argz.c:273: Call to builtin memcpy
-[eva] FRAMAC_SHARE/libc/argz.c:273: 
+[eva] FRAMAC_SHARE/libc/argz.c:272: 
+  allocating variable __realloc_argz_append_l272
+[eva] FRAMAC_SHARE/libc/argz.c:274: Call to builtin memcpy
+[eva] FRAMAC_SHARE/libc/argz.c:274: 
   function memcpy: precondition 'valid_dest' got status valid.
-[eva] FRAMAC_SHARE/libc/argz.c:273: 
+[eva] FRAMAC_SHARE/libc/argz.c:274: 
   function memcpy: precondition 'valid_src' got status valid.
-[eva] FRAMAC_SHARE/libc/argz.c:273: 
+[eva] FRAMAC_SHARE/libc/argz.c:274: 
   function memcpy: precondition 'separation' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:101: 
+[eva] FRAMAC_SHARE/libc/string.h:118: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp
 [eva] Recording results for argz_append
 [eva] Done for function argz_append
@@ -159,14 +162,14 @@
 [eva] Done for function __FC_assert
 [eva] computing for function argz_add_sep <- main.
   Called from argz_c.c:33.
-[eva] FRAMAC_SHARE/libc/argz.c:287: Call to builtin strlen
-[eva] FRAMAC_SHARE/libc/argz.c:287: 
+[eva] FRAMAC_SHARE/libc/argz.c:288: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/argz.c:288: 
   function strlen: precondition 'valid_string_s' got status valid.
-[eva] FRAMAC_SHARE/libc/argz.c:293: Call to builtin realloc
-[eva] FRAMAC_SHARE/libc/argz.c:293: 
+[eva] FRAMAC_SHARE/libc/argz.c:294: Call to builtin realloc
+[eva] FRAMAC_SHARE/libc/argz.c:294: 
   function realloc: precondition 'freeable' got status valid.
-[eva] FRAMAC_SHARE/libc/argz.c:293: 
-  allocating variable __realloc_argz_add_sep_l293
+[eva] FRAMAC_SHARE/libc/argz.c:294: 
+  allocating variable __realloc_argz_add_sep_l294
 [eva] Recording results for argz_add_sep
 [eva] Done for function argz_add_sep
 [eva] computing for function exit <- main.
@@ -179,12 +182,12 @@
 [eva] Done for function __FC_assert
 [eva] computing for function argz_count <- main.
   Called from argz_c.c:36.
-[eva] FRAMAC_SHARE/libc/argz.c:260: Call to builtin strlen
-[eva] FRAMAC_SHARE/libc/argz.c:260: Call to builtin strlen
-[eva] FRAMAC_SHARE/libc/argz.c:260: Call to builtin strlen
-[eva] FRAMAC_SHARE/libc/argz.c:260: Call to builtin strlen
-[eva] FRAMAC_SHARE/libc/argz.c:260: Call to builtin strlen
-[eva] FRAMAC_SHARE/libc/argz.c:260: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/argz.c:261: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/argz.c:261: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/argz.c:261: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/argz.c:261: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/argz.c:261: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/argz.c:261: Call to builtin strlen
 [eva] Recording results for argz_count
 [eva] Done for function argz_count
 [eva] computing for function __FC_assert <- main.
@@ -194,10 +197,10 @@
 [eva] Done for function __FC_assert
 [eva] computing for function argz_append <- main.
   Called from argz_c.c:38.
-[eva] FRAMAC_SHARE/libc/argz.c:271: Call to builtin realloc
-[eva] FRAMAC_SHARE/libc/argz.c:271: 
-  allocating variable __realloc_argz_append_l271_0
-[eva] FRAMAC_SHARE/libc/argz.c:273: Call to builtin memcpy
+[eva] FRAMAC_SHARE/libc/argz.c:272: Call to builtin realloc
+[eva] FRAMAC_SHARE/libc/argz.c:272: 
+  allocating variable __realloc_argz_append_l272_0
+[eva] FRAMAC_SHARE/libc/argz.c:274: Call to builtin memcpy
 [eva] Recording results for argz_append
 [eva] Done for function argz_append
 [eva] computing for function exit <- main.
@@ -210,13 +213,13 @@
 [eva] Done for function __FC_assert
 [eva] computing for function argz_add <- main.
   Called from argz_c.c:41.
-[eva] FRAMAC_SHARE/libc/argz.c:282: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/argz.c:283: Call to builtin strlen
 [eva] computing for function argz_append <- argz_add <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:282.
-[eva] FRAMAC_SHARE/libc/argz.c:271: Call to builtin realloc
-[eva] FRAMAC_SHARE/libc/argz.c:271: 
-  allocating variable __realloc_argz_append_l271_1
-[eva] FRAMAC_SHARE/libc/argz.c:273: Call to builtin memcpy
+  Called from FRAMAC_SHARE/libc/argz.c:283.
+[eva] FRAMAC_SHARE/libc/argz.c:272: Call to builtin realloc
+[eva] FRAMAC_SHARE/libc/argz.c:272: 
+  allocating variable __realloc_argz_append_l272_1
+[eva] FRAMAC_SHARE/libc/argz.c:274: Call to builtin memcpy
 [eva] Recording results for argz_append
 [eva] Done for function argz_append
 [eva] Recording results for argz_add
@@ -231,269 +234,269 @@
 [eva] Done for function __FC_assert
 [eva] computing for function argz_replace <- main.
   Called from argz_c.c:45.
-[eva] FRAMAC_SHARE/libc/argz.c:72: Call to builtin strlen
-[eva] FRAMAC_SHARE/libc/argz.c:72: 
+[eva] FRAMAC_SHARE/libc/argz.c:73: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/argz.c:73: 
   function strlen: precondition 'valid_string_s' got status valid.
-[eva] FRAMAC_SHARE/libc/argz.c:72: Call to builtin strlen
-[eva] FRAMAC_SHARE/libc/argz.c:72: 
+[eva] FRAMAC_SHARE/libc/argz.c:73: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/argz.c:73: 
   function strlen: precondition 'valid_string_s' got status valid.
 [eva] computing for function argz_next <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:74.
+  Called from FRAMAC_SHARE/libc/argz.c:75.
 [eva] Recording results for argz_next
 [eva] Done for function argz_next
 [eva] computing for function strstr <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:75.
+  Called from FRAMAC_SHARE/libc/argz.c:76.
 [eva] Recording results for strstr
 [eva] Done for function strstr
 [eva] computing for function argz_next <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:74.
-[eva] FRAMAC_SHARE/libc/argz.c:129: Call to builtin strchr
-[eva] FRAMAC_SHARE/libc/argz.c:129: 
+  Called from FRAMAC_SHARE/libc/argz.c:75.
+[eva] FRAMAC_SHARE/libc/argz.c:130: Call to builtin strchr
+[eva] FRAMAC_SHARE/libc/argz.c:130: 
   function strchr: precondition 'valid_string_s' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:181: 
+[eva] FRAMAC_SHARE/libc/string.h:202: 
   cannot evaluate ACSL term, unsupported logic var p
 [eva] Recording results for argz_next
 [eva] Done for function argz_next
 [eva] computing for function strstr <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:75.
+  Called from FRAMAC_SHARE/libc/argz.c:76.
 [eva] Recording results for strstr
 [eva] Done for function strstr
 [eva] computing for function argz_next <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:74.
-[eva] FRAMAC_SHARE/libc/argz.c:129: Call to builtin strchr
+  Called from FRAMAC_SHARE/libc/argz.c:75.
+[eva] FRAMAC_SHARE/libc/argz.c:130: Call to builtin strchr
 [eva] Recording results for argz_next
 [eva] Done for function argz_next
 [eva] computing for function strstr <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:75.
+  Called from FRAMAC_SHARE/libc/argz.c:76.
 [eva] Recording results for strstr
 [eva] Done for function strstr
 [eva] computing for function argz_next <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:74.
-[eva] FRAMAC_SHARE/libc/argz.c:129: Call to builtin strchr
+  Called from FRAMAC_SHARE/libc/argz.c:75.
+[eva] FRAMAC_SHARE/libc/argz.c:130: Call to builtin strchr
 [eva] Recording results for argz_next
 [eva] Done for function argz_next
 [eva] computing for function strstr <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:75.
+  Called from FRAMAC_SHARE/libc/argz.c:76.
 [eva] Recording results for strstr
 [eva] Done for function strstr
 [eva] computing for function strndup <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:79.
-[eva:loop-unroll:auto] FRAMAC_SHARE/libc/string.c:333: Automatic loop unrolling.
-[eva] FRAMAC_SHARE/libc/string.c:336: Call to builtin malloc
-[eva] FRAMAC_SHARE/libc/string.c:336: allocating variable __malloc_strndup_l336
-[eva] FRAMAC_SHARE/libc/string.c:341: Call to builtin memcpy
-[eva] FRAMAC_SHARE/libc/string.c:341: 
+  Called from FRAMAC_SHARE/libc/argz.c:80.
+[eva:loop-unroll:auto] FRAMAC_SHARE/libc/string.c:336: Automatic loop unrolling.
+[eva] FRAMAC_SHARE/libc/string.c:339: Call to builtin malloc
+[eva] FRAMAC_SHARE/libc/string.c:339: allocating variable __malloc_strndup_l339
+[eva] FRAMAC_SHARE/libc/string.c:344: Call to builtin memcpy
+[eva] FRAMAC_SHARE/libc/string.c:344: 
   function memcpy: precondition 'valid_dest' got status valid.
-[eva] FRAMAC_SHARE/libc/string.c:341: 
+[eva] FRAMAC_SHARE/libc/string.c:344: 
   function memcpy: precondition 'valid_src' got status valid.
-[eva] FRAMAC_SHARE/libc/string.c:341: 
+[eva] FRAMAC_SHARE/libc/string.c:344: 
   function memcpy: precondition 'separation' got status valid.
 [eva] Recording results for strndup
 [eva] Done for function strndup
 [eva] computing for function str_append <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:82.
-[eva] FRAMAC_SHARE/libc/argz.c:49: Call to builtin realloc
-[eva] FRAMAC_SHARE/libc/argz.c:49: 
+  Called from FRAMAC_SHARE/libc/argz.c:83.
+[eva] FRAMAC_SHARE/libc/argz.c:50: Call to builtin realloc
+[eva] FRAMAC_SHARE/libc/argz.c:50: 
   function realloc: precondition 'freeable' got status valid.
-[eva] FRAMAC_SHARE/libc/argz.c:49: allocating variable __realloc_str_append_l49
+[eva] FRAMAC_SHARE/libc/argz.c:50: allocating variable __realloc_str_append_l50
 [eva] computing for function mempcpy <- str_append <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:52.
+  Called from FRAMAC_SHARE/libc/argz.c:53.
 [eva:loop-unroll:auto] FRAMAC_SHARE/libc/string.c:54: Automatic loop unrolling.
 [eva] Recording results for mempcpy
 [eva] Done for function mempcpy
-[eva] FRAMAC_SHARE/libc/argz.c:56: Call to builtin free
-[eva] FRAMAC_SHARE/libc/argz.c:56: 
+[eva] FRAMAC_SHARE/libc/argz.c:57: Call to builtin free
+[eva] FRAMAC_SHARE/libc/argz.c:57: 
   function free: precondition 'freeable' got status valid.
 [eva] Recording results for str_append
 [eva] Done for function str_append
 [eva] computing for function strstr <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:84.
+  Called from FRAMAC_SHARE/libc/argz.c:85.
 [eva] Recording results for strstr
 [eva] Done for function strstr
-[eva] FRAMAC_SHARE/libc/argz.c:89: Call to builtin strlen
-[eva] FRAMAC_SHARE/libc/argz.c:89: 
+[eva] FRAMAC_SHARE/libc/argz.c:90: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/argz.c:90: 
   function strlen: precondition 'valid_string_s' got status valid.
 [eva] computing for function str_append <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:89.
-[eva] FRAMAC_SHARE/libc/argz.c:49: Call to builtin realloc
-[eva] FRAMAC_SHARE/libc/argz.c:49: 
-  allocating variable __realloc_str_append_l49_0
+  Called from FRAMAC_SHARE/libc/argz.c:90.
+[eva] FRAMAC_SHARE/libc/argz.c:50: Call to builtin realloc
+[eva] FRAMAC_SHARE/libc/argz.c:50: 
+  allocating variable __realloc_str_append_l50_0
 [eva] computing for function mempcpy <- str_append <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:52.
+  Called from FRAMAC_SHARE/libc/argz.c:53.
 [eva] Recording results for mempcpy
 [eva] Done for function mempcpy
-[eva] FRAMAC_SHARE/libc/argz.c:56: Call to builtin free
+[eva] FRAMAC_SHARE/libc/argz.c:57: Call to builtin free
 [eva] Recording results for str_append
 [eva] Done for function str_append
 [eva] computing for function argz_append <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:98.
-[eva] FRAMAC_SHARE/libc/argz.c:271: Call to builtin realloc
-[eva] FRAMAC_SHARE/libc/argz.c:271: 
-  allocating variable __realloc_argz_append_l271_2
-[eva] FRAMAC_SHARE/libc/argz.c:273: Call to builtin memcpy
+  Called from FRAMAC_SHARE/libc/argz.c:99.
+[eva] FRAMAC_SHARE/libc/argz.c:272: Call to builtin realloc
+[eva] FRAMAC_SHARE/libc/argz.c:272: 
+  allocating variable __realloc_argz_append_l272_2
+[eva] FRAMAC_SHARE/libc/argz.c:274: Call to builtin memcpy
 [eva] Recording results for argz_append
 [eva] Done for function argz_append
 [eva] computing for function argz_add <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:102.
-[eva] FRAMAC_SHARE/libc/argz.c:282: Call to builtin strlen
+  Called from FRAMAC_SHARE/libc/argz.c:103.
+[eva] FRAMAC_SHARE/libc/argz.c:283: Call to builtin strlen
 [eva] computing for function argz_append <- argz_add <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:282.
-[eva] FRAMAC_SHARE/libc/argz.c:271: Call to builtin realloc
-[eva] FRAMAC_SHARE/libc/argz.c:271: 
-  allocating variable __realloc_argz_append_l271_3
-[eva] FRAMAC_SHARE/libc/argz.c:273: Call to builtin memcpy
+  Called from FRAMAC_SHARE/libc/argz.c:283.
+[eva] FRAMAC_SHARE/libc/argz.c:272: Call to builtin realloc
+[eva] FRAMAC_SHARE/libc/argz.c:272: 
+  allocating variable __realloc_argz_append_l272_3
+[eva] FRAMAC_SHARE/libc/argz.c:274: Call to builtin memcpy
 [eva] Recording results for argz_append
 [eva] Done for function argz_append
 [eva] Recording results for argz_add
 [eva] Done for function argz_add
-[eva] FRAMAC_SHARE/libc/argz.c:103: Call to builtin free
-[eva] FRAMAC_SHARE/libc/argz.c:103: 
+[eva] FRAMAC_SHARE/libc/argz.c:104: Call to builtin free
+[eva] FRAMAC_SHARE/libc/argz.c:104: 
   function free: precondition 'freeable' got status valid.
-[eva] FRAMAC_SHARE/libc/argz.c:103: Call to builtin free
-[eva] FRAMAC_SHARE/libc/argz.c:103: Call to builtin free
+[eva] FRAMAC_SHARE/libc/argz.c:104: Call to builtin free
+[eva] FRAMAC_SHARE/libc/argz.c:104: Call to builtin free
 [eva] computing for function argz_next <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:74.
-[eva] FRAMAC_SHARE/libc/argz.c:129: Call to builtin strchr
+  Called from FRAMAC_SHARE/libc/argz.c:75.
+[eva] FRAMAC_SHARE/libc/argz.c:130: Call to builtin strchr
 [eva] Recording results for argz_next
 [eva] Done for function argz_next
 [eva] computing for function strstr <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:75.
+  Called from FRAMAC_SHARE/libc/argz.c:76.
 [eva] Recording results for strstr
 [eva] Done for function strstr
 [eva] computing for function argz_add <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:110.
-[eva] FRAMAC_SHARE/libc/argz.c:282: Call to builtin strlen
+  Called from FRAMAC_SHARE/libc/argz.c:111.
+[eva] FRAMAC_SHARE/libc/argz.c:283: Call to builtin strlen
 [eva] computing for function argz_append <- argz_add <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:282.
-[eva] FRAMAC_SHARE/libc/argz.c:271: Call to builtin realloc
-[eva] FRAMAC_SHARE/libc/argz.c:271: 
-  allocating variable __realloc_argz_append_l271_4
-[eva] FRAMAC_SHARE/libc/argz.c:273: Call to builtin memcpy
+  Called from FRAMAC_SHARE/libc/argz.c:283.
+[eva] FRAMAC_SHARE/libc/argz.c:272: Call to builtin realloc
+[eva] FRAMAC_SHARE/libc/argz.c:272: 
+  allocating variable __realloc_argz_append_l272_4
+[eva] FRAMAC_SHARE/libc/argz.c:274: Call to builtin memcpy
 [eva] Recording results for argz_append
 [eva] Done for function argz_append
 [eva] Recording results for argz_add
 [eva] Done for function argz_add
 [eva] computing for function argz_next <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:74.
-[eva] FRAMAC_SHARE/libc/argz.c:129: Call to builtin strchr
+  Called from FRAMAC_SHARE/libc/argz.c:75.
+[eva] FRAMAC_SHARE/libc/argz.c:130: Call to builtin strchr
 [eva] Recording results for argz_next
 [eva] Done for function argz_next
 [eva] computing for function strstr <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:75.
+  Called from FRAMAC_SHARE/libc/argz.c:76.
 [eva] Recording results for strstr
 [eva] Done for function strstr
 [eva] computing for function argz_add <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:110.
-[eva] FRAMAC_SHARE/libc/argz.c:282: Call to builtin strlen
+  Called from FRAMAC_SHARE/libc/argz.c:111.
+[eva] FRAMAC_SHARE/libc/argz.c:283: Call to builtin strlen
 [eva] computing for function argz_append <- argz_add <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:282.
-[eva] FRAMAC_SHARE/libc/argz.c:271: Call to builtin realloc
-[eva] FRAMAC_SHARE/libc/argz.c:271: 
-  allocating variable __realloc_argz_append_l271_5
-[eva] FRAMAC_SHARE/libc/argz.c:273: Call to builtin memcpy
+  Called from FRAMAC_SHARE/libc/argz.c:283.
+[eva] FRAMAC_SHARE/libc/argz.c:272: Call to builtin realloc
+[eva] FRAMAC_SHARE/libc/argz.c:272: 
+  allocating variable __realloc_argz_append_l272_5
+[eva] FRAMAC_SHARE/libc/argz.c:274: Call to builtin memcpy
 [eva] Recording results for argz_append
 [eva] Done for function argz_append
 [eva] Recording results for argz_add
 [eva] Done for function argz_add
 [eva] computing for function argz_next <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:74.
-[eva] FRAMAC_SHARE/libc/argz.c:129: Call to builtin strchr
+  Called from FRAMAC_SHARE/libc/argz.c:75.
+[eva] FRAMAC_SHARE/libc/argz.c:130: Call to builtin strchr
 [eva] Recording results for argz_next
 [eva] Done for function argz_next
 [eva] computing for function strstr <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:75.
+  Called from FRAMAC_SHARE/libc/argz.c:76.
 [eva] Recording results for strstr
 [eva] Done for function strstr
 [eva] computing for function argz_add <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:110.
-[eva] FRAMAC_SHARE/libc/argz.c:282: Call to builtin strlen
+  Called from FRAMAC_SHARE/libc/argz.c:111.
+[eva] FRAMAC_SHARE/libc/argz.c:283: Call to builtin strlen
 [eva] computing for function argz_append <- argz_add <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:282.
-[eva] FRAMAC_SHARE/libc/argz.c:271: Call to builtin realloc
-[eva] FRAMAC_SHARE/libc/argz.c:271: 
-  allocating variable __realloc_argz_append_l271_6
-[eva] FRAMAC_SHARE/libc/argz.c:273: Call to builtin memcpy
+  Called from FRAMAC_SHARE/libc/argz.c:283.
+[eva] FRAMAC_SHARE/libc/argz.c:272: Call to builtin realloc
+[eva] FRAMAC_SHARE/libc/argz.c:272: 
+  allocating variable __realloc_argz_append_l272_6
+[eva] FRAMAC_SHARE/libc/argz.c:274: Call to builtin memcpy
 [eva] Recording results for argz_append
 [eva] Done for function argz_append
 [eva] Recording results for argz_add
 [eva] Done for function argz_add
 [eva] computing for function argz_next <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:74.
-[eva] FRAMAC_SHARE/libc/argz.c:129: Call to builtin strchr
+  Called from FRAMAC_SHARE/libc/argz.c:75.
+[eva] FRAMAC_SHARE/libc/argz.c:130: Call to builtin strchr
 [eva] Recording results for argz_next
 [eva] Done for function argz_next
 [eva] computing for function strstr <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:75.
+  Called from FRAMAC_SHARE/libc/argz.c:76.
 [eva] Recording results for strstr
 [eva] Done for function strstr
 [eva] computing for function strndup <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:79.
-[eva] FRAMAC_SHARE/libc/string.c:336: Call to builtin malloc
-[eva] FRAMAC_SHARE/libc/string.c:336: 
-  allocating variable __malloc_strndup_l336_0
-[eva] FRAMAC_SHARE/libc/string.c:341: Call to builtin memcpy
+  Called from FRAMAC_SHARE/libc/argz.c:80.
+[eva] FRAMAC_SHARE/libc/string.c:339: Call to builtin malloc
+[eva] FRAMAC_SHARE/libc/string.c:339: 
+  allocating variable __malloc_strndup_l339_0
+[eva] FRAMAC_SHARE/libc/string.c:344: Call to builtin memcpy
 [eva] Recording results for strndup
 [eva] Done for function strndup
 [eva] computing for function str_append <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:82.
-[eva] FRAMAC_SHARE/libc/argz.c:49: Call to builtin realloc
-[eva] FRAMAC_SHARE/libc/argz.c:49: 
-  allocating variable __realloc_str_append_l49_1
+  Called from FRAMAC_SHARE/libc/argz.c:83.
+[eva] FRAMAC_SHARE/libc/argz.c:50: Call to builtin realloc
+[eva] FRAMAC_SHARE/libc/argz.c:50: 
+  allocating variable __realloc_str_append_l50_1
 [eva] computing for function mempcpy <- str_append <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:52.
+  Called from FRAMAC_SHARE/libc/argz.c:53.
 [eva] Recording results for mempcpy
 [eva] Done for function mempcpy
-[eva] FRAMAC_SHARE/libc/argz.c:56: Call to builtin free
+[eva] FRAMAC_SHARE/libc/argz.c:57: Call to builtin free
 [eva] Recording results for str_append
 [eva] Done for function str_append
 [eva] computing for function strstr <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:84.
+  Called from FRAMAC_SHARE/libc/argz.c:85.
 [eva] Recording results for strstr
 [eva] Done for function strstr
-[eva] FRAMAC_SHARE/libc/argz.c:89: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/argz.c:90: Call to builtin strlen
 [eva] computing for function str_append <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:89.
-[eva] FRAMAC_SHARE/libc/argz.c:49: Call to builtin realloc
-[eva] FRAMAC_SHARE/libc/argz.c:49: 
-  allocating variable __realloc_str_append_l49_2
+  Called from FRAMAC_SHARE/libc/argz.c:90.
+[eva] FRAMAC_SHARE/libc/argz.c:50: Call to builtin realloc
+[eva] FRAMAC_SHARE/libc/argz.c:50: 
+  allocating variable __realloc_str_append_l50_2
 [eva] computing for function mempcpy <- str_append <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:52.
+  Called from FRAMAC_SHARE/libc/argz.c:53.
 [eva] Recording results for mempcpy
 [eva] Done for function mempcpy
-[eva] FRAMAC_SHARE/libc/argz.c:56: Call to builtin free
+[eva] FRAMAC_SHARE/libc/argz.c:57: Call to builtin free
 [eva] Recording results for str_append
 [eva] Done for function str_append
 [eva] computing for function argz_add <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:102.
-[eva] FRAMAC_SHARE/libc/argz.c:282: Call to builtin strlen
+  Called from FRAMAC_SHARE/libc/argz.c:103.
+[eva] FRAMAC_SHARE/libc/argz.c:283: Call to builtin strlen
 [eva] computing for function argz_append <- argz_add <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:282.
-[eva] FRAMAC_SHARE/libc/argz.c:271: Call to builtin realloc
-[eva] FRAMAC_SHARE/libc/argz.c:271: 
-  allocating variable __realloc_argz_append_l271_7
-[eva] FRAMAC_SHARE/libc/argz.c:273: Call to builtin memcpy
+  Called from FRAMAC_SHARE/libc/argz.c:283.
+[eva] FRAMAC_SHARE/libc/argz.c:272: Call to builtin realloc
+[eva] FRAMAC_SHARE/libc/argz.c:272: 
+  allocating variable __realloc_argz_append_l272_7
+[eva] FRAMAC_SHARE/libc/argz.c:274: Call to builtin memcpy
 [eva] Recording results for argz_append
 [eva] Done for function argz_append
 [eva] Recording results for argz_add
 [eva] Done for function argz_add
-[eva] FRAMAC_SHARE/libc/argz.c:103: Call to builtin free
-[eva] FRAMAC_SHARE/libc/argz.c:103: Call to builtin free
+[eva] FRAMAC_SHARE/libc/argz.c:104: Call to builtin free
+[eva] FRAMAC_SHARE/libc/argz.c:104: Call to builtin free
 [eva] computing for function argz_next <- argz_replace <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:74.
-[eva] FRAMAC_SHARE/libc/argz.c:129: Call to builtin strchr
+  Called from FRAMAC_SHARE/libc/argz.c:75.
+[eva] FRAMAC_SHARE/libc/argz.c:130: Call to builtin strchr
 [eva] Recording results for argz_next
 [eva] Done for function argz_next
-[eva] FRAMAC_SHARE/libc/argz.c:115: Call to builtin free
-[eva] FRAMAC_SHARE/libc/argz.c:115: 
+[eva] FRAMAC_SHARE/libc/argz.c:116: Call to builtin free
+[eva] FRAMAC_SHARE/libc/argz.c:116: 
   function free: precondition 'freeable' got status valid.
-[eva] FRAMAC_SHARE/libc/argz.c:120: Call to builtin free
-[eva] FRAMAC_SHARE/libc/argz.c:120: 
+[eva] FRAMAC_SHARE/libc/argz.c:121: Call to builtin free
+[eva] FRAMAC_SHARE/libc/argz.c:121: 
   function free: precondition 'freeable' got status valid.
-[eva] FRAMAC_SHARE/libc/argz.c:120: Call to builtin free
-[eva] FRAMAC_SHARE/libc/argz.c:120: Call to builtin free
-[eva] FRAMAC_SHARE/libc/argz.c:120: Call to builtin free
-[eva] FRAMAC_SHARE/libc/argz.c:120: Call to builtin free
-[eva] FRAMAC_SHARE/libc/argz.c:120: Call to builtin free
+[eva] FRAMAC_SHARE/libc/argz.c:121: Call to builtin free
+[eva] FRAMAC_SHARE/libc/argz.c:121: Call to builtin free
+[eva] FRAMAC_SHARE/libc/argz.c:121: Call to builtin free
+[eva] FRAMAC_SHARE/libc/argz.c:121: Call to builtin free
+[eva] FRAMAC_SHARE/libc/argz.c:121: Call to builtin free
 [eva] Recording results for argz_replace
 [eva] Done for function argz_replace
 [eva] computing for function exit <- main.
@@ -520,20 +523,20 @@
 [eva] Done for function __FC_assert
 [eva] computing for function argz_next <- main.
   Called from argz_c.c:52.
-[eva] FRAMAC_SHARE/libc/argz.c:129: Call to builtin strchr
+[eva] FRAMAC_SHARE/libc/argz.c:130: Call to builtin strchr
 [eva] Recording results for argz_next
 [eva] Done for function argz_next
 [eva] computing for function argz_delete <- main.
   Called from argz_c.c:54.
-[eva] FRAMAC_SHARE/libc/argz.c:184: Call to builtin strlen
-[eva] FRAMAC_SHARE/libc/argz.c:184: 
+[eva] FRAMAC_SHARE/libc/argz.c:185: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/argz.c:185: 
   function strlen: precondition 'valid_string_s' got status valid.
-[eva] FRAMAC_SHARE/libc/argz.c:186: Call to builtin memmove
-[eva] FRAMAC_SHARE/libc/argz.c:186: 
+[eva] FRAMAC_SHARE/libc/argz.c:187: Call to builtin memmove
+[eva] FRAMAC_SHARE/libc/argz.c:187: 
   function memmove: precondition 'valid_dest' got status valid.
-[eva] FRAMAC_SHARE/libc/argz.c:186: 
+[eva] FRAMAC_SHARE/libc/argz.c:187: 
   function memmove: precondition 'valid_src' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:124: 
+[eva] FRAMAC_SHARE/libc/string.h:141: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp
 [eva] Recording results for argz_delete
 [eva] Done for function argz_delete
@@ -548,12 +551,12 @@
 [eva] Done for function argz_next
 [eva] computing for function argz_next <- main.
   Called from argz_c.c:58.
-[eva] FRAMAC_SHARE/libc/argz.c:129: Call to builtin strchr
+[eva] FRAMAC_SHARE/libc/argz.c:130: Call to builtin strchr
 [eva] Recording results for argz_next
 [eva] Done for function argz_next
 [eva] computing for function argz_next <- main.
   Called from argz_c.c:58.
-[eva] FRAMAC_SHARE/libc/argz.c:129: Call to builtin strchr
+[eva] FRAMAC_SHARE/libc/argz.c:130: Call to builtin strchr
 [eva] Recording results for argz_next
 [eva] Done for function argz_next
 [eva] computing for function __FC_assert <- main.
@@ -563,8 +566,8 @@
 [eva] Done for function __FC_assert
 [eva] computing for function argz_delete <- main.
   Called from argz_c.c:61.
-[eva] FRAMAC_SHARE/libc/argz.c:184: Call to builtin strlen
-[eva] FRAMAC_SHARE/libc/argz.c:186: Call to builtin memmove
+[eva] FRAMAC_SHARE/libc/argz.c:185: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/argz.c:187: Call to builtin memmove
 [eva] Recording results for argz_delete
 [eva] Done for function argz_delete
 [eva] computing for function __FC_assert <- main.
@@ -578,24 +581,24 @@
 [eva] Done for function argz_next
 [eva] computing for function argz_insert <- main.
   Called from argz_c.c:64.
-[eva] FRAMAC_SHARE/libc/argz.c:153: Call to builtin strlen
-[eva] FRAMAC_SHARE/libc/argz.c:153: 
+[eva] FRAMAC_SHARE/libc/argz.c:154: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/argz.c:154: 
   function strlen: precondition 'valid_string_s' got status valid.
-[eva] FRAMAC_SHARE/libc/argz.c:157: Call to builtin realloc
-[eva] FRAMAC_SHARE/libc/argz.c:157: 
+[eva] FRAMAC_SHARE/libc/argz.c:158: Call to builtin realloc
+[eva] FRAMAC_SHARE/libc/argz.c:158: 
   function realloc: precondition 'freeable' got status valid.
-[eva] FRAMAC_SHARE/libc/argz.c:157: 
-  allocating variable __realloc_argz_insert_l157
-[eva] FRAMAC_SHARE/libc/argz.c:161: Call to builtin memmove
-[eva] FRAMAC_SHARE/libc/argz.c:161: 
-  function memmove: precondition 'valid_dest' got status valid.
-[eva] FRAMAC_SHARE/libc/argz.c:161: 
-  function memmove: precondition 'valid_src' got status valid.
+[eva] FRAMAC_SHARE/libc/argz.c:158: 
+  allocating variable __realloc_argz_insert_l158
 [eva] FRAMAC_SHARE/libc/argz.c:162: Call to builtin memmove
 [eva] FRAMAC_SHARE/libc/argz.c:162: 
   function memmove: precondition 'valid_dest' got status valid.
 [eva] FRAMAC_SHARE/libc/argz.c:162: 
   function memmove: precondition 'valid_src' got status valid.
+[eva] FRAMAC_SHARE/libc/argz.c:163: Call to builtin memmove
+[eva] FRAMAC_SHARE/libc/argz.c:163: 
+  function memmove: precondition 'valid_dest' got status valid.
+[eva] FRAMAC_SHARE/libc/argz.c:163: 
+  function memmove: precondition 'valid_src' got status valid.
 [eva] Recording results for argz_insert
 [eva] Done for function argz_insert
 [eva] computing for function exit <- main.
@@ -609,14 +612,14 @@
 [eva] computing for function argz_insert <- main.
   Called from argz_c.c:67.
 [eva] computing for function argz_add <- argz_insert <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:142.
-[eva] FRAMAC_SHARE/libc/argz.c:282: Call to builtin strlen
+  Called from FRAMAC_SHARE/libc/argz.c:143.
+[eva] FRAMAC_SHARE/libc/argz.c:283: Call to builtin strlen
 [eva] computing for function argz_append <- argz_add <- argz_insert <- main.
-  Called from FRAMAC_SHARE/libc/argz.c:282.
-[eva] FRAMAC_SHARE/libc/argz.c:271: Call to builtin realloc
-[eva] FRAMAC_SHARE/libc/argz.c:271: 
-  allocating variable __realloc_argz_append_l271_8
-[eva] FRAMAC_SHARE/libc/argz.c:273: Call to builtin memcpy
+  Called from FRAMAC_SHARE/libc/argz.c:283.
+[eva] FRAMAC_SHARE/libc/argz.c:272: Call to builtin realloc
+[eva] FRAMAC_SHARE/libc/argz.c:272: 
+  allocating variable __realloc_argz_append_l272_8
+[eva] FRAMAC_SHARE/libc/argz.c:274: Call to builtin memcpy
 [eva] Recording results for argz_append
 [eva] Done for function argz_append
 [eva] Recording results for argz_add
@@ -639,45 +642,45 @@
 [eva:final-states] Values at end of function mempcpy:
   i ∈ {0; 3}
   __retres ∈
-          {{ (void *)&__realloc_str_append_l49[3] ;
-             (void *)&__realloc_str_append_l49_0[3] ;
-             (void *)&__realloc_str_append_l49_1[3] ;
-             (void *)&__realloc_str_append_l49_2[3] }}
-  __realloc_str_append_l49[0] ∈ {98}
+          {{ (void *)&__realloc_str_append_l50[3] ;
+             (void *)&__realloc_str_append_l50_0[3] ;
+             (void *)&__realloc_str_append_l50_1[3] ;
+             (void *)&__realloc_str_append_l50_2[3] }}
+  __realloc_str_append_l50[0] ∈ {98}
                           [1] ∈ {108}
                           [2] ∈ {97}
                           [3] ∈ UNINITIALIZED
-  __realloc_str_append_l49_1[0] ∈ {98}
+  __realloc_str_append_l50_1[0] ∈ {98}
                             [1] ∈ {108}
                             [2] ∈ {97}
                             [3] ∈ UNINITIALIZED
 [eva:final-states] Values at end of function argz_append:
   dst ∈
-     {{ NULL ; &__realloc_argz_append_l271_2[0] ;
-        &__realloc_argz_append_l271_3[0] ; &__realloc_argz_append_l271_4[0] ;
-        &__realloc_argz_append_l271_5[0] ; &__realloc_argz_append_l271_6[0] ;
-        &__realloc_argz_append_l271_7[0] }}
+     {{ NULL ; &__realloc_argz_append_l272_2[0] ;
+        &__realloc_argz_append_l272_3[0] ; &__realloc_argz_append_l272_4[0] ;
+        &__realloc_argz_append_l272_5[0] ; &__realloc_argz_append_l272_6[0] ;
+        &__realloc_argz_append_l272_7[0] }}
   dst_len ∈ {0; 7; 11; 14; 17; 19; 23}
   new_argz_len ∈ {7; 10; 11; 14; 17; 18; 19; 21; 23; 24}
   new_argz ∈
-          {{ NULL ; &__realloc_argz_append_l271[0] ;
-             &__realloc_argz_append_l271_0[0] ;
-             &__realloc_argz_append_l271_1[0] ;
-             &__realloc_argz_append_l271_2[0] ;
-             &__realloc_argz_append_l271_3[0] ;
-             &__realloc_argz_append_l271_4[0] ;
-             &__realloc_argz_append_l271_5[0] ;
-             &__realloc_argz_append_l271_6[0] ;
-             &__realloc_argz_append_l271_7[0] ;
-             &__realloc_argz_append_l271_8[0] }}
+          {{ NULL ; &__realloc_argz_append_l272[0] ;
+             &__realloc_argz_append_l272_0[0] ;
+             &__realloc_argz_append_l272_1[0] ;
+             &__realloc_argz_append_l272_2[0] ;
+             &__realloc_argz_append_l272_3[0] ;
+             &__realloc_argz_append_l272_4[0] ;
+             &__realloc_argz_append_l272_5[0] ;
+             &__realloc_argz_append_l272_6[0] ;
+             &__realloc_argz_append_l272_7[0] ;
+             &__realloc_argz_append_l272_8[0] }}
   argz ∈
-      {{ &__malloc_argz_create_sep_l202[0] ; &__realloc_argz_append_l271[0] ;
-         &__realloc_argz_add_sep_l293[0] ; &__realloc_argz_append_l271_0[0] ;
-         &__realloc_argz_append_l271_1[0] ; &__realloc_argz_insert_l157[0] ;
-         &__realloc_argz_append_l271_8[0] }}
+      {{ &__malloc_argz_create_sep_l203[0] ; &__realloc_argz_append_l272[0] ;
+         &__realloc_argz_add_sep_l294[0] ; &__realloc_argz_append_l272_0[0] ;
+         &__realloc_argz_append_l272_1[0] ; &__realloc_argz_insert_l158[0] ;
+         &__realloc_argz_append_l272_8[0] }}
   len ∈ {7; 10; 16; 18; 21; 24}
   __retres ∈ {0; 12}
-  __realloc_argz_append_l271[0] ∈ {97}
+  __realloc_argz_append_l272[0] ∈ {97}
                             [1] ∈ {0}
                             [2] ∈ {98}
                             [3] ∈ {0}
@@ -687,7 +690,7 @@
                             [7] ∈ {101}
                             [8] ∈ {102}
                             [9] ∈ {0}
-  __realloc_argz_append_l271_0[0] ∈ {97}
+  __realloc_argz_append_l272_0[0] ∈ {97}
                               [1] ∈ {0}
                               [2] ∈ {98}
                               [3] ∈ {0}
@@ -705,7 +708,7 @@
                               [15] ∈ {0}
                               [16] ∈ {107}
                               [17] ∈ {0}
-  __realloc_argz_append_l271_1[0] ∈ {97}
+  __realloc_argz_append_l272_1[0] ∈ {97}
                               [1] ∈ {0}
                               [2] ∈ {98}
                               [3] ∈ {0}
@@ -726,14 +729,14 @@
                               [18] ∈ {101}
                               [19] ∈ {102}
                               [20] ∈ {0}
-  __realloc_argz_append_l271_2[0] ∈ {97}
+  __realloc_argz_append_l272_2[0] ∈ {97}
                               [1] ∈ {0}
                               [2] ∈ {98}
                               [3] ∈ {0}
                               [4] ∈ {99}
                               [5] ∈ {100}
                               [6] ∈ {0}
-  __realloc_argz_append_l271_3[0] ∈ {97}
+  __realloc_argz_append_l272_3[0] ∈ {97}
                               [1] ∈ {0}
                               [2] ∈ {98}
                               [3] ∈ {0}
@@ -744,7 +747,7 @@
                               [8] ∈ {108}
                               [9] ∈ {97}
                               [10] ∈ {0}
-  __realloc_argz_append_l271_4[0] ∈ {97}
+  __realloc_argz_append_l272_4[0] ∈ {97}
                               [1] ∈ {0}
                               [2] ∈ {98}
                               [3] ∈ {0}
@@ -758,7 +761,7 @@
                               [11] ∈ {103}
                               [12] ∈ {104}
                               [13] ∈ {0}
-  __realloc_argz_append_l271_5[0] ∈ {97}
+  __realloc_argz_append_l272_5[0] ∈ {97}
                               [1] ∈ {0}
                               [2] ∈ {98}
                               [3] ∈ {0}
@@ -775,7 +778,7 @@
                               [14] ∈ {105}
                               [15] ∈ {106}
                               [16] ∈ {0}
-  __realloc_argz_append_l271_6[0] ∈ {97}
+  __realloc_argz_append_l272_6[0] ∈ {97}
                               [1] ∈ {0}
                               [2] ∈ {98}
                               [3] ∈ {0}
@@ -794,7 +797,7 @@
                               [16] ∈ {0}
                               [17] ∈ {107}
                               [18] ∈ {0}
-  __realloc_argz_append_l271_7[0] ∈ {97}
+  __realloc_argz_append_l272_7[0] ∈ {97}
                               [1] ∈ {0}
                               [2] ∈ {98}
                               [3] ∈ {0}
@@ -817,7 +820,7 @@
                               [20] ∈ {108}
                               [21] ∈ {97}
                               [22] ∈ {0}
-  __realloc_argz_append_l271_8[0] ∈ {109}
+  __realloc_argz_append_l272_8[0] ∈ {109}
                               [1] ∈ {110}
                               [2] ∈ {111}
                               [3] ∈ {0}
@@ -842,8 +845,8 @@
                               [23] ∈ {0}
 [eva:final-states] Values at end of function stpcpy:
   i ∈ {2; 4}
-  __retres ∈ {{ &__malloc_argz_create_l245{[4], [7], [12]} }}
-  __malloc_argz_create_l245[0] ∈ {116}
+  __retres ∈ {{ &__malloc_argz_create_l246{[4], [7], [12]} }}
+  __malloc_argz_create_l246[0] ∈ {116}
                            [1] ∈ {104}
                            [2] ∈ {105}
                            [3] ∈ {115}
@@ -859,54 +862,54 @@
 [eva:final-states] Values at end of function str_append:
   new_len ∈ {3}
   new_to ∈
-        {{ NULL ; &__realloc_str_append_l49[0] ;
-           &__realloc_str_append_l49_0[0] ; &__realloc_str_append_l49_1[0] ;
-           &__realloc_str_append_l49_2[0] }}
+        {{ NULL ; &__realloc_str_append_l50[0] ;
+           &__realloc_str_append_l50_0[0] ; &__realloc_str_append_l50_1[0] ;
+           &__realloc_str_append_l50_2[0] }}
   to_len ∈ {0; 3}
   to ∈
-    {{ NULL ; &__realloc_str_append_l49[0] ; &__realloc_str_append_l49_0[0] ;
-       &__realloc_str_append_l49_1[0] ; &__realloc_str_append_l49_2[0] }}
-  __realloc_str_append_l49[0] ∈ {98}
+    {{ NULL ; &__realloc_str_append_l50[0] ; &__realloc_str_append_l50_0[0] ;
+       &__realloc_str_append_l50_1[0] ; &__realloc_str_append_l50_2[0] }}
+  __realloc_str_append_l50[0] ∈ {98}
                           [1] ∈ {108}
                           [2] ∈ {97}
                           [3] ∈ {0}
-  __realloc_str_append_l49_0[0] ∈ {98}
+  __realloc_str_append_l50_0[0] ∈ {98}
                             [1] ∈ {108}
                             [2] ∈ {97}
                             [3] ∈ {0}
-  __realloc_str_append_l49_1[0] ∈ {98}
+  __realloc_str_append_l50_1[0] ∈ {98}
                             [1] ∈ {108}
                             [2] ∈ {97}
                             [3] ∈ {0}
-  __realloc_str_append_l49_2[0] ∈ {98}
+  __realloc_str_append_l50_2[0] ∈ {98}
                             [1] ∈ {108}
                             [2] ∈ {97}
                             [3] ∈ {0}
 [eva:final-states] Values at end of function argz_next:
   entry ∈
        {{ NULL ;
-          &__realloc_argz_append_l271_1{[2], [4], [7], [10], [13], [16],
+          &__realloc_argz_append_l272_1{[2], [4], [7], [10], [13], [16],
                                         [18], [21]} ;
-          &__realloc_argz_append_l271_7{[2], [5]} }}
+          &__realloc_argz_append_l272_7{[2], [5]} }}
   __retres ∈
           {{ NULL ;
-             &__realloc_argz_append_l271_1{[0], [2], [4], [7], [10], [13],
+             &__realloc_argz_append_l272_1{[0], [2], [4], [7], [10], [13],
                                            [16], [18]} ;
-             &__realloc_argz_append_l271_7{[0], [2], [5]} }}
+             &__realloc_argz_append_l272_7{[0], [2], [5]} }}
 [eva:final-states] Values at end of function argz_add:
   dst ∈
-     {{ &__realloc_argz_append_l271_2[0] ; &__realloc_argz_append_l271_3[0] ;
-        &__realloc_argz_append_l271_4[0] ; &__realloc_argz_append_l271_5[0] ;
-        &__realloc_argz_append_l271_6[0] ;
-        &__realloc_argz_append_l271_7[0] }}
+     {{ &__realloc_argz_append_l272_2[0] ; &__realloc_argz_append_l272_3[0] ;
+        &__realloc_argz_append_l272_4[0] ; &__realloc_argz_append_l272_5[0] ;
+        &__realloc_argz_append_l272_6[0] ;
+        &__realloc_argz_append_l272_7[0] }}
   dst_len ∈ {7; 11; 14; 17; 19; 23}
   argz ∈
-      {{ &__malloc_argz_create_sep_l202[0] ; &__realloc_argz_append_l271[0] ;
-         &__realloc_argz_append_l271_0[0] ;
-         &__realloc_argz_append_l271_1[0] ; &__realloc_argz_insert_l157[0] ;
-         &__realloc_argz_append_l271_8[0] }}
+      {{ &__malloc_argz_create_sep_l203[0] ; &__realloc_argz_append_l272[0] ;
+         &__realloc_argz_append_l272_0[0] ;
+         &__realloc_argz_append_l272_1[0] ; &__realloc_argz_insert_l158[0] ;
+         &__realloc_argz_append_l272_8[0] }}
   len ∈ {7; 10; 18; 21; 24}
-  __realloc_argz_append_l271[0] ∈ {97}
+  __realloc_argz_append_l272[0] ∈ {97}
                             [1] ∈ {0}
                             [2] ∈ {98}
                             [3] ∈ {0}
@@ -916,7 +919,7 @@
                             [7] ∈ {101}
                             [8] ∈ {102}
                             [9] ∈ {0}
-  __realloc_argz_append_l271_1[0] ∈ {97}
+  __realloc_argz_append_l272_1[0] ∈ {97}
                               [1] ∈ {0}
                               [2] ∈ {98}
                               [3] ∈ {0}
@@ -937,7 +940,7 @@
                               [18] ∈ {101}
                               [19] ∈ {102}
                               [20] ∈ {0}
-  __realloc_argz_append_l271_3[0] ∈ {97}
+  __realloc_argz_append_l272_3[0] ∈ {97}
                               [1] ∈ {0}
                               [2] ∈ {98}
                               [3] ∈ {0}
@@ -948,7 +951,7 @@
                               [8] ∈ {108}
                               [9] ∈ {97}
                               [10] ∈ {0}
-  __realloc_argz_append_l271_4[0] ∈ {97}
+  __realloc_argz_append_l272_4[0] ∈ {97}
                               [1] ∈ {0}
                               [2] ∈ {98}
                               [3] ∈ {0}
@@ -962,7 +965,7 @@
                               [11] ∈ {103}
                               [12] ∈ {104}
                               [13] ∈ {0}
-  __realloc_argz_append_l271_5[0] ∈ {97}
+  __realloc_argz_append_l272_5[0] ∈ {97}
                               [1] ∈ {0}
                               [2] ∈ {98}
                               [3] ∈ {0}
@@ -979,7 +982,7 @@
                               [14] ∈ {105}
                               [15] ∈ {106}
                               [16] ∈ {0}
-  __realloc_argz_append_l271_6[0] ∈ {97}
+  __realloc_argz_append_l272_6[0] ∈ {97}
                               [1] ∈ {0}
                               [2] ∈ {98}
                               [3] ∈ {0}
@@ -998,7 +1001,7 @@
                               [16] ∈ {0}
                               [17] ∈ {107}
                               [18] ∈ {0}
-  __realloc_argz_append_l271_7[0] ∈ {97}
+  __realloc_argz_append_l272_7[0] ∈ {97}
                               [1] ∈ {0}
                               [2] ∈ {98}
                               [3] ∈ {0}
@@ -1021,7 +1024,7 @@
                               [20] ∈ {108}
                               [21] ∈ {97}
                               [22] ∈ {0}
-  __realloc_argz_append_l271_8[0] ∈ {109}
+  __realloc_argz_append_l272_8[0] ∈ {109}
                               [1] ∈ {110}
                               [2] ∈ {111}
                               [3] ∈ {0}
@@ -1046,10 +1049,10 @@
                               [23] ∈ {0}
 [eva:final-states] Values at end of function argz_add_sep:
   nlen ∈ {6}
-  argz ∈ {{ NULL ; &__realloc_argz_add_sep_l293[0] }}
+  argz ∈ {{ NULL ; &__realloc_argz_add_sep_l294[0] }}
   len ∈ {10; 16}
   __retres ∈ {0; 12}
-  __realloc_argz_add_sep_l293[0] ∈ {97}
+  __realloc_argz_add_sep_l294[0] ∈ {97}
                              [1] ∈ {0}
                              [2] ∈ {98}
                              [3] ∈ {0}
@@ -1067,8 +1070,8 @@
                              [15] ∈ {0}
 [eva:final-states] Values at end of function argz_count:
   argz ∈
-      {{ &__malloc_argz_create_sep_l202[7] ;
-         &__realloc_argz_add_sep_l293[16] }}
+      {{ &__malloc_argz_create_sep_l203[7] ;
+         &__realloc_argz_add_sep_l294[16] }}
   len ∈ {0}
   count ∈ {3; 6}
 [eva:final-states] Values at end of function argz_create:
@@ -1076,11 +1079,11 @@
   argc ∈ {3}
   tlen ∈ {13}
   ap ∈ {{ &argv[3] }} or UNINITIALIZED
-  p ∈ {{ &__malloc_argz_create_l245[13] }} or UNINITIALIZED
-  argz ∈ {{ NULL ; &__malloc_argz_create_l245[0] }}
+  p ∈ {{ &__malloc_argz_create_l246[13] }} or UNINITIALIZED
+  argz ∈ {{ NULL ; &__malloc_argz_create_l246[0] }}
   len ∈ {13} or UNINITIALIZED
   __retres ∈ {0; 12}
-  __malloc_argz_create_l245[0] ∈ {116}
+  __malloc_argz_create_l246[0] ∈ {116}
                            [1] ∈ {104}
                            [2] ∈ {105}
                            [3] ∈ {115}
@@ -1096,10 +1099,10 @@
 [eva:final-states] Values at end of function argz_create_sep:
   __fc_heap_status ∈ [--..--]
   nlen ∈ {7; 8}
-  argz ∈ {{ NULL ; &__malloc_argz_create_sep_l202[0] }}
+  argz ∈ {{ NULL ; &__malloc_argz_create_sep_l203[0] }}
   len ∈ {7; 13}
   __retres ∈ {0; 12}
-  __malloc_argz_create_sep_l202[0] ∈ {97}
+  __malloc_argz_create_sep_l203[0] ∈ {97}
                                [1] ∈ {0}
                                [2] ∈ {98}
                                [3] ∈ {0}
@@ -1109,7 +1112,7 @@
                                [7] ∈ UNINITIALIZED
 [eva:final-states] Values at end of function argz_delete:
   len ∈ {17; 21}
-  __realloc_argz_append_l271_7[0] ∈ {97}
+  __realloc_argz_append_l272_7[0] ∈ {97}
                               [1] ∈ {0}
                               [2] ∈ {99}
                               [3] ∈ {100}
@@ -1134,15 +1137,15 @@
                               [22] ∈ {0}
 [eva:final-states] Values at end of function argz_insert:
   before ∈
-        {{ NULL ; &__realloc_argz_append_l271_7[0] ;
-           &__realloc_argz_insert_l157[0] }}
+        {{ NULL ; &__realloc_argz_append_l272_7[0] ;
+           &__realloc_argz_insert_l158[0] }}
   argz ∈
-      {{ &__realloc_argz_append_l271_7[0] ; &__realloc_argz_insert_l157[0] ;
-         &__realloc_argz_append_l271_8[0] }}
+      {{ &__realloc_argz_append_l272_7[0] ; &__realloc_argz_insert_l158[0] ;
+         &__realloc_argz_append_l272_8[0] }}
   len ∈ {17; 21; 24}
-  p ∈ {{ &__realloc_argz_append_l271_7[0] }} or ESCAPINGADDR
+  p ∈ {{ &__realloc_argz_append_l272_7[0] }} or ESCAPINGADDR
   __retres ∈ {0; 12}
-  __realloc_argz_insert_l157[0] ∈ {109}
+  __realloc_argz_insert_l158[0] ∈ {109}
                             [1] ∈ {110}
                             [2] ∈ {111}
                             [3] ∈ {0}
@@ -1163,7 +1166,7 @@
                             [18] ∈ {108}
                             [19] ∈ {97}
                             [20] ∈ {0}
-  __realloc_argz_append_l271_8[0] ∈ {109}
+  __realloc_argz_append_l272_8[0] ∈ {109}
                               [1] ∈ {110}
                               [2] ∈ {111}
                               [3] ∈ {0}
@@ -1190,22 +1193,22 @@
   __fc_errno ∈ [--..--]
   __fc_heap_status ∈ [--..--]
   l ∈ {0}
-  p ∈ {{ NULL ; &__malloc_strndup_l336 ; &__malloc_strndup_l336_0 }}
-  __retres ∈ {{ NULL ; &__malloc_strndup_l336 ; &__malloc_strndup_l336_0 }}
-  __malloc_strndup_l336 ∈ {0}
-  __malloc_strndup_l336_0 ∈ {0}
+  p ∈ {{ NULL ; &__malloc_strndup_l339 ; &__malloc_strndup_l339_0 }}
+  __retres ∈ {{ NULL ; &__malloc_strndup_l339 ; &__malloc_strndup_l339_0 }}
+  __malloc_strndup_l339 ∈ {0}
+  __malloc_strndup_l339_0 ∈ {0}
 [eva:final-states] Values at end of function strstr:
-  __retres ∈ {{ NULL ; &__realloc_argz_append_l271_1{[7], [18]} }}
+  __retres ∈ {{ NULL ; &__realloc_argz_append_l272_1{[7], [18]} }}
 [eva:final-states] Values at end of function argz_replace:
   __fc_errno ∈ [--..--]
   __fc_heap_status ∈ [--..--]
   er ∈ {0; 12}
   argz ∈
-      {{ &__realloc_argz_append_l271_1[0] ;
-         &__realloc_argz_append_l271_7[0] }}
+      {{ &__realloc_argz_append_l272_1[0] ;
+         &__realloc_argz_append_l272_7[0] }}
   len ∈ {21; 23}
   replace_count ∈ {2; 3}
-  __realloc_argz_append_l271_7[0] ∈ {97}
+  __realloc_argz_append_l272_7[0] ∈ {97}
                               [1] ∈ {0}
                               [2] ∈ {98}
                               [3] ∈ {0}
diff --git a/tests/libc/oracle/coverage.res.oracle b/tests/libc/oracle/coverage.res.oracle
index b53e4177747716d5b42c5a65a0cddd47dcb12058..598ece998e19e5bb6b582592af263a1681fed804 100644
--- a/tests/libc/oracle/coverage.res.oracle
+++ b/tests/libc/oracle/coverage.res.oracle
@@ -28,7 +28,7 @@
   main: 4 stmts out of 4 (100.0%)
 [metrics] Eva coverage statistics
   =======================
-  Syntactically reachable functions = 2 (out of 99)
+  Syntactically reachable functions = 2 (out of 102)
   Semantically reached functions = 2
   Coverage estimation = 100.0%
 [metrics] Statements analyzed by Eva
diff --git a/tests/libc/oracle/fc_builtin_c.res.oracle b/tests/libc/oracle/fc_builtin_c.res.oracle
index 79f1355c8e22c72b66f9ff2c8d652848fbd4ca5a..e64a6da01dd2bb7919cd7a38465ccde30fd12851 100644
--- a/tests/libc/oracle/fc_builtin_c.res.oracle
+++ b/tests/libc/oracle/fc_builtin_c.res.oracle
@@ -7,7 +7,7 @@
 [eva] computing for function Frama_C_interval <- main.
   Called from fc_builtin_c.c:8.
 [eva] computing for function Frama_C_update_entropy <- Frama_C_interval <- main.
-  Called from FRAMAC_SHARE/libc/__fc_builtin.c:66.
+  Called from FRAMAC_SHARE/libc/__fc_builtin.c:82.
 [eva] Recording results for Frama_C_update_entropy
 [eva] Done for function Frama_C_update_entropy
 [eva] Recording results for Frama_C_interval
@@ -18,8 +18,8 @@
 [eva] computing for function Frama_C_char_interval <- main.
   Called from fc_builtin_c.c:12.
 [eva] computing for function Frama_C_interval <- Frama_C_char_interval <- main.
-  Called from FRAMAC_SHARE/libc/__fc_builtin.c:77.
-[eva] FRAMAC_SHARE/libc/__fc_builtin.c:66: 
+  Called from FRAMAC_SHARE/libc/__fc_builtin.c:93.
+[eva] FRAMAC_SHARE/libc/__fc_builtin.c:82: 
   Reusing old results for call to Frama_C_update_entropy
 [eva] Recording results for Frama_C_interval
 [eva] Done for function Frama_C_interval
@@ -30,7 +30,7 @@
   assertion 'sampling,unknown' got status unknown.
 [eva] computing for function Frama_C_unsigned_int_interval <- main.
   Called from fc_builtin_c.c:16.
-[eva] FRAMAC_SHARE/libc/__fc_builtin.c:100: 
+[eva] FRAMAC_SHARE/libc/__fc_builtin.c:133: 
   Reusing old results for call to Frama_C_update_entropy
 [eva] Recording results for Frama_C_unsigned_int_interval
 [eva] Done for function Frama_C_unsigned_int_interval
@@ -39,7 +39,7 @@
   assertion 'sampling,unknown' got status unknown.
 [eva] computing for function Frama_C_float_interval <- main.
   Called from fc_builtin_c.c:20.
-[eva] FRAMAC_SHARE/libc/__fc_builtin.c:82: 
+[eva] FRAMAC_SHARE/libc/__fc_builtin.c:103: 
   Reusing old results for call to Frama_C_update_entropy
 [eva] Recording results for Frama_C_float_interval
 [eva] Done for function Frama_C_float_interval
@@ -48,7 +48,7 @@
   assertion 'sampling,unknown' got status unknown.
 [eva] computing for function Frama_C_double_interval <- main.
   Called from fc_builtin_c.c:25.
-[eva] FRAMAC_SHARE/libc/__fc_builtin.c:88: 
+[eva] FRAMAC_SHARE/libc/__fc_builtin.c:109: 
   Reusing old results for call to Frama_C_update_entropy
 [eva] Recording results for Frama_C_double_interval
 [eva] Done for function Frama_C_double_interval
@@ -57,7 +57,7 @@
   assertion 'sampling,unknown' got status unknown.
 [eva] computing for function Frama_C_long_interval <- main.
   Called from fc_builtin_c.c:29.
-[eva] FRAMAC_SHARE/libc/__fc_builtin.c:112: 
+[eva] FRAMAC_SHARE/libc/__fc_builtin.c:145: 
   Reusing old results for call to Frama_C_update_entropy
 [eva] Recording results for Frama_C_long_interval
 [eva] Done for function Frama_C_long_interval
@@ -66,7 +66,7 @@
   assertion 'sampling,unknown' got status unknown.
 [eva] computing for function Frama_C_unsigned_long_interval <- main.
   Called from fc_builtin_c.c:34.
-[eva] FRAMAC_SHARE/libc/__fc_builtin.c:124: 
+[eva] FRAMAC_SHARE/libc/__fc_builtin.c:157: 
   Reusing old results for call to Frama_C_update_entropy
 [eva] Recording results for Frama_C_unsigned_long_interval
 [eva] Done for function Frama_C_unsigned_long_interval
diff --git a/tests/libc/oracle/fc_libc.0.res.oracle b/tests/libc/oracle/fc_libc.0.res.oracle
index f1b5fe1e343d056445dc05e361a8f5f6d73093c9..1c30bf3978c0942907017a876cba68216a01456d 100644
--- a/tests/libc/oracle/fc_libc.0.res.oracle
+++ b/tests/libc/oracle/fc_libc.0.res.oracle
@@ -16,7 +16,6 @@
   
 /* Generated by Frama-C */
 #include "__fc_builtin.c"
-#include "__fc_builtin.h"
 #include "__fc_define_fd_set_t.h"
 #include "__fc_define_timeval.h"
 #include "__fc_gcc_builtins.h"
diff --git a/tests/libc/oracle/fc_libc.1.res.oracle b/tests/libc/oracle/fc_libc.1.res.oracle
index b5874f1ef25baa4b60527857038a1a5052e3bc20..825d7c5ddf07f1a2d857b8d4ade2fef0df9b25bf 100644
--- a/tests/libc/oracle/fc_libc.1.res.oracle
+++ b/tests/libc/oracle/fc_libc.1.res.oracle
@@ -1,7 +1,16 @@
 [kernel] Parsing fc_libc.c (with preprocessing)
 /* Generated by Frama-C */
-typedef unsigned int size_t;
 typedef long wchar_t;
+typedef unsigned int wint_t;
+typedef int ptrdiff_t;
+typedef unsigned int size_t;
+typedef int ssize_t;
+typedef unsigned char uint8_t;
+typedef unsigned short uint16_t;
+typedef unsigned int uint32_t;
+typedef unsigned int uintptr_t;
+typedef long long intmax_t;
+typedef unsigned long long uintmax_t;
 struct __fc_div_t {
    int quot ;
    int rem ;
@@ -17,8 +26,6 @@ struct __fc_lldiv_t {
    long long rem ;
 };
 typedef struct __fc_lldiv_t lldiv_t;
-typedef int ptrdiff_t;
-typedef int ssize_t;
 typedef int error_t;
 struct __fc_fenv_t {
    unsigned short __control_word ;
@@ -36,6 +43,10 @@ struct __fc_fenv_t {
    unsigned short __unused5 ;
 };
 typedef struct __fc_fenv_t fenv_t;
+struct __fc_fexcept_t {
+   int _fc ;
+};
+typedef struct __fc_fexcept_t fexcept_t;
 struct __fc_glob_t {
    unsigned int gl_pathc ;
    char **gl_pathv ;
@@ -48,11 +59,6 @@ struct __fc_glob_t {
    int (*gl_stat)(char const * restrict , void * restrict ) ;
 };
 typedef struct __fc_glob_t glob_t;
-typedef unsigned char uint8_t;
-typedef unsigned short uint16_t;
-typedef unsigned int uint32_t;
-typedef unsigned int uintptr_t;
-typedef long long intmax_t;
 struct __fc_imaxdiv_t {
    intmax_t quot ;
    intmax_t rem ;
@@ -306,6 +312,17 @@ typedef unsigned long long atomic_ullong;
 typedef void * const * va_list;
 typedef unsigned int id_t;
 typedef int suseconds_t;
+enum length_modifier {
+    NONE = 0,
+    HH = 1,
+    H = 2,
+    L = 3,
+    LL = 4,
+    J = 5,
+    Z = 6,
+    T = 7,
+    UPPER_L = 8
+};
 typedef unsigned int useconds_t;
 struct dirent {
    ino_t d_ino ;
@@ -400,9 +417,24 @@ struct termios {
    tcflag_t c_lflag ;
    cc_t c_cc[32] ;
 };
+/*@ ghost extern int __fc_heap_status; */
+
+/*@
+axiomatic dynamic_allocation {
+  predicate is_allocable{L}(ℤ n) 
+    reads __fc_heap_status;
+  
+  axiom never_allocable{L}:
+    ∀ ℤ i; i < 0 ∨ i > 4294967295U ⇒ ¬is_allocable(i);
+  
+  }
+ */
 int volatile Frama_C_entropy_source __attribute__((__unused__));
  __attribute__((__FC_BUILTIN__)) void Frama_C_make_unknown(char *p, size_t l);
 
+ __attribute__((__FC_BUILTIN__)) void Frama_C_make_unknown_wchar(wchar_t *p,
+                                                                 size_t l);
+
  __attribute__((__FC_BUILTIN__)) int Frama_C_nondet(int a, int b);
 
  __attribute__((__FC_BUILTIN__)) void *Frama_C_nondet_ptr(void *a, void *b);
@@ -415,17 +447,58 @@ int volatile Frama_C_entropy_source __attribute__((__unused__));
  __attribute__((__FC_BUILTIN__)) char Frama_C_char_interval(char min,
                                                             char max);
 
+ __attribute__((__FC_BUILTIN__)) unsigned short Frama_C_unsigned_short_interval
+(unsigned short min, unsigned short max);
+
+ __attribute__((__FC_BUILTIN__)) short Frama_C_short_interval(short min,
+                                                              short max);
+
  __attribute__((__FC_BUILTIN__)) unsigned int Frama_C_unsigned_int_interval
 (unsigned int min, unsigned int max);
 
+ __attribute__((__FC_BUILTIN__)) unsigned long Frama_C_unsigned_long_interval
+(unsigned long min, unsigned long max);
+
  __attribute__((__FC_BUILTIN__)) long Frama_C_long_interval(long min,
                                                             long max);
 
+ __attribute__((__FC_BUILTIN__)) unsigned long long Frama_C_unsigned_long_long_interval
+(unsigned long long min, unsigned long long max);
+
+ __attribute__((__FC_BUILTIN__)) long long Frama_C_long_long_interval
+(long long min, long long max);
+
+ __attribute__((__FC_BUILTIN__)) size_t Frama_C_size_t_interval(size_t min,
+                                                                size_t max);
+
+ __attribute__((__FC_BUILTIN__)) intmax_t Frama_C_intmax_t_interval(intmax_t min,
+                                                                    intmax_t max);
+
+ __attribute__((__FC_BUILTIN__)) uintmax_t Frama_C_uintmax_t_interval
+(uintmax_t min, uintmax_t max);
+
+ __attribute__((__FC_BUILTIN__)) ptrdiff_t Frama_C_ptrdiff_t_interval
+(ptrdiff_t min, ptrdiff_t max);
+
+ __attribute__((__FC_BUILTIN__)) wint_t Frama_C_wint_t_interval(wint_t min,
+                                                                wint_t max);
+
+ __attribute__((__FC_BUILTIN__)) double Frama_C_double_interval(double min,
+                                                                double max);
+
  __attribute__((__noreturn__, __FC_BUILTIN__)) void Frama_C_abort(void);
 
+unsigned short volatile __fc_unsigned_short_entropy;
 unsigned int volatile __fc_unsigned_int_entropy;
 long volatile __fc_long_entropy;
 unsigned long volatile __fc_unsigned_long_entropy;
+long long volatile __fc_long_long_entropy;
+unsigned long long volatile __fc_unsigned_long_long_entropy;
+size_t volatile __fc_size_t_entropy;
+intmax_t volatile __fc_intmax_t_entropy;
+uintmax_t volatile __fc_uintmax_t_entropy;
+ptrdiff_t volatile __fc_ptrdiff_t_entropy;
+wint_t volatile __fc_wint_t_entropy;
 /*@ assigns Frama_C_entropy_source;
     assigns Frama_C_entropy_source \from Frama_C_entropy_source;
  */
@@ -455,6 +528,27 @@ void Frama_C_make_unknown(char *p, size_t l)
   return;
 }
 
+/*@ requires valid_p: \valid(p + (0 .. l - 1));
+    ensures initialization: \initialized(\old(p) + (0 .. \old(l) - 1));
+    assigns *(p + (0 .. l - 1)), Frama_C_entropy_source;
+    assigns *(p + (0 .. l - 1)) \from Frama_C_entropy_source;
+    assigns Frama_C_entropy_source \from Frama_C_entropy_source;
+ */
+ __attribute__((__FC_BUILTIN__)) void Frama_C_make_unknown_wchar(wchar_t *p,
+                                                                 size_t l);
+void Frama_C_make_unknown_wchar(wchar_t *p, size_t l)
+{
+  Frama_C_update_entropy();
+  {
+    size_t i = (size_t)0;
+    while (i < l) {
+      *(p + i) = (wchar_t)Frama_C_entropy_source;
+      i ++;
+    }
+  }
+  return;
+}
+
 /*@ ensures result_a_or_b: \result ≡ \old(a) ∨ \result ≡ \old(b);
     assigns \result, Frama_C_entropy_source;
     assigns \result \from a, b, Frama_C_entropy_source;
@@ -519,6 +613,54 @@ char Frama_C_char_interval(char min, char max)
   return __retres;
 }
 
+/*@ requires order: min ≤ max;
+    ensures result_bounded: \old(min) ≤ \result ≤ \old(max);
+    assigns \result, Frama_C_entropy_source;
+    assigns \result \from min, max, Frama_C_entropy_source;
+    assigns Frama_C_entropy_source \from Frama_C_entropy_source;
+ */
+ __attribute__((__FC_BUILTIN__)) short Frama_C_short_interval(short min,
+                                                              short max);
+short Frama_C_short_interval(short min, short max)
+{
+  short __retres;
+  int tmp;
+  tmp = Frama_C_interval((int)min,(int)max);
+  __retres = (short)tmp;
+  return __retres;
+}
+
+/*@ assigns \result, Frama_C_entropy_source;
+    assigns \result \from min, max, Frama_C_entropy_source;
+    assigns Frama_C_entropy_source \from Frama_C_entropy_source;
+    
+    behavior finite:
+      assumes finite: \is_finite(min) ∧ \is_finite(max);
+      requires order: min ≤ max;
+      ensures
+        result_bounded:
+          \is_finite(\result) ∧ \old(min) ≤ \result ≤ \old(max);
+    
+    behavior infinite_not_nan:
+      assumes infinite: \is_infinite(min) ∨ \is_infinite(max);
+      assumes not_nan: ¬\is_NaN(min) ∧ ¬\is_NaN(max);
+      requires order: min ≤ max;
+      ensures
+        result_bounded:
+          ¬\is_NaN(\result) ∧ \old(min) ≤ \result ≤ \old(max);
+    
+    disjoint behaviors infinite_not_nan, finite;
+ */
+ __attribute__((__FC_BUILTIN__)) double Frama_C_double_interval(double min,
+                                                                double max);
+double Frama_C_double_interval(double min, double max)
+{
+  double tmp;
+  Frama_C_update_entropy();
+  if (Frama_C_entropy_source) tmp = min; else tmp = max;
+  return tmp;
+}
+
 /*@ requires order: min ≤ max;
     ensures result_bounded: \old(min) ≤ \result ≤ \old(max);
     assigns \result, Frama_C_entropy_source;
@@ -537,6 +679,27 @@ unsigned char Frama_C_unsigned_char_interval(unsigned char min,
   return __retres;
 }
 
+/*@ requires order: min ≤ max;
+    ensures result_bounded: \old(min) ≤ \result ≤ \old(max);
+    assigns \result, Frama_C_entropy_source;
+    assigns \result \from min, max, Frama_C_entropy_source;
+    assigns Frama_C_entropy_source \from Frama_C_entropy_source;
+ */
+ __attribute__((__FC_BUILTIN__)) unsigned short Frama_C_unsigned_short_interval
+(unsigned short min, unsigned short max);
+unsigned short Frama_C_unsigned_short_interval(unsigned short min,
+                                               unsigned short max)
+{
+  unsigned short r;
+  unsigned short aux;
+  Frama_C_update_entropy();
+  aux = __fc_unsigned_short_entropy;
+  if ((int)aux >= (int)min) 
+    if ((int)aux <= (int)max) r = aux; else r = min;
+  else r = min;
+  return r;
+}
+
 /*@ requires order: min ≤ max;
     ensures result_bounded: \old(min) ≤ \result ≤ \old(max);
     assigns \result, Frama_C_entropy_source;
@@ -577,6 +740,173 @@ long Frama_C_long_interval(long min, long max)
   return r;
 }
 
+/*@ requires order: min ≤ max;
+    ensures result_bounded: \old(min) ≤ \result ≤ \old(max);
+    assigns \result, Frama_C_entropy_source;
+    assigns \result \from min, max, Frama_C_entropy_source;
+    assigns Frama_C_entropy_source \from Frama_C_entropy_source;
+ */
+ __attribute__((__FC_BUILTIN__)) unsigned long Frama_C_unsigned_long_interval
+(unsigned long min, unsigned long max);
+unsigned long Frama_C_unsigned_long_interval(unsigned long min,
+                                             unsigned long max)
+{
+  unsigned long r;
+  unsigned long aux;
+  Frama_C_update_entropy();
+  aux = __fc_unsigned_long_entropy;
+  if (aux >= min) 
+    if (aux <= max) r = aux; else r = min;
+  else r = min;
+  return r;
+}
+
+/*@ requires order: min ≤ max;
+    ensures result_bounded: \old(min) ≤ \result ≤ \old(max);
+    assigns \result, Frama_C_entropy_source;
+    assigns \result \from min, max, Frama_C_entropy_source;
+    assigns Frama_C_entropy_source \from Frama_C_entropy_source;
+ */
+ __attribute__((__FC_BUILTIN__)) long long Frama_C_long_long_interval
+(long long min, long long max);
+long long Frama_C_long_long_interval(long long min, long long max)
+{
+  long long r;
+  long long aux;
+  Frama_C_update_entropy();
+  aux = __fc_long_long_entropy;
+  if (aux >= min) 
+    if (aux <= max) r = aux; else r = min;
+  else r = min;
+  return r;
+}
+
+/*@ requires order: min ≤ max;
+    ensures result_bounded: \old(min) ≤ \result ≤ \old(max);
+    assigns \result, Frama_C_entropy_source;
+    assigns \result \from min, max, Frama_C_entropy_source;
+    assigns Frama_C_entropy_source \from Frama_C_entropy_source;
+ */
+ __attribute__((__FC_BUILTIN__)) unsigned long long Frama_C_unsigned_long_long_interval
+(unsigned long long min, unsigned long long max);
+unsigned long long Frama_C_unsigned_long_long_interval(unsigned long long min,
+                                                       unsigned long long max)
+{
+  unsigned long long r;
+  unsigned long long aux;
+  Frama_C_update_entropy();
+  aux = __fc_unsigned_long_long_entropy;
+  if (aux >= min) 
+    if (aux <= max) r = aux; else r = min;
+  else r = min;
+  return r;
+}
+
+/*@ requires order: min ≤ max;
+    ensures result_bounded: \old(min) ≤ \result ≤ \old(max);
+    assigns \result, Frama_C_entropy_source;
+    assigns \result \from min, max, Frama_C_entropy_source;
+    assigns Frama_C_entropy_source \from Frama_C_entropy_source;
+ */
+ __attribute__((__FC_BUILTIN__)) size_t Frama_C_size_t_interval(size_t min,
+                                                                size_t max);
+size_t Frama_C_size_t_interval(size_t min, size_t max)
+{
+  size_t r;
+  size_t aux;
+  Frama_C_update_entropy();
+  aux = __fc_size_t_entropy;
+  if (aux >= min) 
+    if (aux <= max) r = aux; else r = min;
+  else r = min;
+  return r;
+}
+
+/*@ requires order: min ≤ max;
+    ensures result_bounded: \old(min) ≤ \result ≤ \old(max);
+    assigns \result, Frama_C_entropy_source;
+    assigns \result \from min, max, Frama_C_entropy_source;
+    assigns Frama_C_entropy_source \from Frama_C_entropy_source;
+ */
+ __attribute__((__FC_BUILTIN__)) intmax_t Frama_C_intmax_t_interval(intmax_t min,
+                                                                    intmax_t max);
+intmax_t Frama_C_intmax_t_interval(intmax_t min, intmax_t max)
+{
+  intmax_t r;
+  intmax_t aux;
+  Frama_C_update_entropy();
+  aux = __fc_intmax_t_entropy;
+  if (aux >= min) 
+    if (aux <= max) r = aux; else r = min;
+  else r = min;
+  return r;
+}
+
+/*@ requires order: min ≤ max;
+    ensures result_bounded: \old(min) ≤ \result ≤ \old(max);
+    assigns \result, Frama_C_entropy_source;
+    assigns \result \from min, max, Frama_C_entropy_source;
+    assigns Frama_C_entropy_source \from Frama_C_entropy_source;
+ */
+ __attribute__((__FC_BUILTIN__)) uintmax_t Frama_C_uintmax_t_interval
+(uintmax_t min, uintmax_t max);
+uintmax_t Frama_C_uintmax_t_interval(uintmax_t min, uintmax_t max)
+{
+  uintmax_t r;
+  uintmax_t aux;
+  Frama_C_update_entropy();
+  aux = __fc_uintmax_t_entropy;
+  if (aux >= min) 
+    if (aux <= max) r = aux; else r = min;
+  else r = min;
+  return r;
+}
+
+/*@ requires order: min ≤ max;
+    ensures result_bounded: \old(min) ≤ \result ≤ \old(max);
+    assigns \result, Frama_C_entropy_source;
+    assigns \result \from min, max, Frama_C_entropy_source;
+    assigns Frama_C_entropy_source \from Frama_C_entropy_source;
+ */
+ __attribute__((__FC_BUILTIN__)) ptrdiff_t Frama_C_ptrdiff_t_interval
+(ptrdiff_t min, ptrdiff_t max);
+ptrdiff_t Frama_C_ptrdiff_t_interval(ptrdiff_t min, ptrdiff_t max)
+{
+  ptrdiff_t r;
+  ptrdiff_t aux;
+  Frama_C_update_entropy();
+  aux = __fc_ptrdiff_t_entropy;
+  if (aux >= min) 
+    if (aux <= max) r = aux; else r = min;
+  else r = min;
+  return r;
+}
+
+/*@ requires order: min ≤ max;
+    ensures result_bounded: \old(min) ≤ \result ≤ \old(max);
+    assigns \result, Frama_C_entropy_source;
+    assigns \result \from min, max, Frama_C_entropy_source;
+    assigns Frama_C_entropy_source \from Frama_C_entropy_source;
+ */
+ __attribute__((__FC_BUILTIN__)) wint_t Frama_C_wint_t_interval(wint_t min,
+                                                                wint_t max);
+wint_t Frama_C_wint_t_interval(wint_t min, wint_t max)
+{
+  wint_t r;
+  wint_t aux;
+  Frama_C_update_entropy();
+  aux = __fc_wint_t_entropy;
+  if (aux >= min) 
+    if (aux <= max) r = aux; else r = min;
+  else r = min;
+  return r;
+}
+
+/*@ terminates \false;
+    ensures never_terminates: \false;
+    exits always_exits: \true;
+    assigns \nothing;
+ */
 extern  __attribute__((__noreturn__)) void __builtin_abort(void);
 
 /*@ terminates \false;
@@ -591,18 +921,6 @@ void Frama_C_abort(void)
 
 int __fc_errno;
 
-/*@ ghost extern int __fc_heap_status; */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(ℤ n) 
-    reads __fc_heap_status;
-  
-  axiom never_allocable{L}:
-    ∀ ℤ i; i < 0 ∨ i > 4294967295U ⇒ ¬is_allocable(i);
-  
-  }
- */
 /*@
 axiomatic MemCmp {
   logic ℤ memcmp{L1, L2}(char *s1, char *s2, ℤ n) 
@@ -869,10 +1187,6 @@ axiomatic WcsChr {
   
   }
  */
-/*@ logic ℤ minimum(ℤ i, ℤ j) = i < j? i: j;
- */
-/*@ logic ℤ maximum(ℤ i, ℤ j) = i < j? j: i;
- */
 /*@
 predicate valid_string{L}(char *s) =
   0 ≤ strlen(s) ∧ \valid(s + (0 .. strlen(s)));
@@ -905,50 +1219,64 @@ predicate valid_read_nwstring{L}(wchar_t *s, ℤ n) =
 /*@
 predicate valid_wstring_or_null{L}(wchar_t *s) =
   s ≡ \null ∨ valid_wstring(s);
+ */
+/*@ logic ℤ strnlen{L}(char *s, ℤ n) = \at(\min(strlen(s), n),L);
 
 */
-/*@ requires valid_nptr: \valid_read(nptr);
+/*@ requires valid_nptr: valid_read_string(nptr);
     assigns \result;
-    assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
+    assigns \result
+      \from (indirect: nptr), (indirect: *(nptr + (0 .. strlen{Old}(nptr))));
  */
 extern double atof(char const *nptr);
 
 int atoi(char const *p);
 
-/*@ requires valid_nptr: \valid_read(nptr);
+/*@ requires valid_nptr: valid_read_string(nptr);
     assigns \result;
-    assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
+    assigns \result
+      \from (indirect: nptr), (indirect: *(nptr + (0 .. strlen{Old}(nptr))));
  */
 extern long atol(char const *nptr);
 
-/*@ requires valid_nptr: \valid_read(nptr);
+/*@ requires valid_nptr: valid_read_string(nptr);
     assigns \result;
-    assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
+    assigns \result
+      \from (indirect: nptr), (indirect: *(nptr + (0 .. strlen{Old}(nptr))));
  */
 extern long long atoll(char const *nptr);
 
 /*@ requires valid_string_nptr: valid_read_string(nptr);
     requires separation: \separated(nptr, endptr);
     assigns \result, *endptr;
-    assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
+    assigns \result
+      \from (indirect: nptr), (indirect: *(nptr + (0 .. strlen{Old}(nptr))));
     assigns *endptr
-      \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr);
+      \from nptr, (indirect: *(nptr + (0 .. strlen{Old}(nptr)))),
+            (indirect: endptr);
     
     behavior no_storage:
       assumes null_endptr: endptr ≡ \null;
       assigns \result;
-      assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
+      assigns \result
+        \from (indirect: nptr),
+              (indirect: *(nptr + (0 .. strlen{Old}(nptr))));
     
     behavior store_position:
       assumes nonnull_endptr: endptr ≢ \null;
       requires valid_endptr: \valid(endptr);
       ensures initialization: \initialized(\old(endptr));
       ensures valid_endptr_content: \valid_read(*\old(endptr));
-      ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..));
+      ensures
+        endptr_same_base:
+          \base_addr(*\old(endptr)) ≡ \base_addr(\old(nptr));
       assigns \result, *endptr;
-      assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
+      assigns \result
+        \from (indirect: nptr),
+              (indirect: *(nptr + (0 .. strlen{Old}(nptr))));
       assigns *endptr
-        \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr);
+        \from nptr, (indirect: *(nptr + (0 .. strlen{Old}(nptr)))),
+              (indirect: endptr);
     
     complete behaviors store_position, no_storage;
     disjoint behaviors store_position, no_storage;
@@ -958,23 +1286,31 @@ extern double strtod(char const * restrict nptr, char ** restrict endptr);
 /*@ requires valid_string_nptr: valid_read_string(nptr);
     requires separation: \separated(nptr, endptr);
     assigns \result, *endptr;
-    assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
+    assigns \result
+      \from (indirect: nptr), (indirect: *(nptr + (0 .. strlen{Old}(nptr))));
     assigns *endptr
-      \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr);
+      \from nptr, (indirect: *(nptr + (0 .. strlen{Old}(nptr)))),
+            (indirect: endptr);
     
     behavior no_storage:
       assumes null_endptr: endptr ≡ \null;
       assigns \result;
-      assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
+      assigns \result
+        \from (indirect: nptr),
+              (indirect: *(nptr + (0 .. strlen{Old}(nptr))));
     
     behavior store_position:
       assumes nonnull_endptr: endptr ≢ \null;
       requires valid_endptr: \valid(endptr);
       ensures initialization: \initialized(\old(endptr));
       ensures valid_endptr_content: \valid_read(*\old(endptr));
-      ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..));
+      ensures
+        endptr_same_base:
+          \base_addr(*\old(endptr)) ≡ \base_addr(\old(nptr));
       assigns \result, *endptr;
-      assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
+      assigns \result
+        \from (indirect: nptr),
+              (indirect: *(nptr + (0 .. strlen{Old}(nptr))));
       assigns *endptr
         \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr);
     
@@ -986,25 +1322,34 @@ extern float strtof(char const * restrict nptr, char ** restrict endptr);
 /*@ requires valid_string_nptr: valid_read_string(nptr);
     requires separation: \separated(nptr, endptr);
     assigns \result, *endptr;
-    assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
+    assigns \result
+      \from (indirect: nptr), (indirect: *(nptr + (0 .. strlen{Old}(nptr))));
     assigns *endptr
-      \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr);
+      \from nptr, (indirect: *(nptr + (0 .. strlen{Old}(nptr)))),
+            (indirect: endptr);
     
     behavior no_storage:
       assumes null_endptr: endptr ≡ \null;
       assigns \result;
-      assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
+      assigns \result
+        \from (indirect: nptr),
+              (indirect: *(nptr + (0 .. strlen{Old}(nptr))));
     
     behavior store_position:
       assumes nonnull_endptr: endptr ≢ \null;
       requires valid_endptr: \valid(endptr);
       ensures initialization: \initialized(\old(endptr));
       ensures valid_endptr_content: \valid_read(*\old(endptr));
-      ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..));
+      ensures
+        endptr_same_base:
+          \base_addr(*\old(endptr)) ≡ \base_addr(\old(nptr));
       assigns \result, *endptr;
-      assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..)));
+      assigns \result
+        \from (indirect: nptr),
+              (indirect: *(nptr + (0 .. strlen{Old}(nptr))));
       assigns *endptr
-        \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr);
+        \from nptr, (indirect: *(nptr + (0 .. strlen{Old}(nptr)))),
+              (indirect: endptr);
     
     complete behaviors store_position, no_storage;
     disjoint behaviors store_position, no_storage;
@@ -1017,16 +1362,18 @@ extern long double strtold(char const * restrict nptr,
     requires base_range: base ≡ 0 ∨ (2 ≤ base ≤ 36);
     assigns \result, *endptr;
     assigns \result
-      \from (indirect: nptr), (indirect: *(nptr + (0 ..))), (indirect: base);
-    assigns *endptr
-      \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr),
+      \from (indirect: nptr), (indirect: *(nptr + (0 .. strlen{Old}(nptr)))),
             (indirect: base);
+    assigns *endptr
+      \from nptr, (indirect: *(nptr + (0 .. strlen{Old}(nptr)))),
+            (indirect: endptr), (indirect: base);
     
     behavior no_storage:
       assumes null_endptr: endptr ≡ \null;
       assigns \result;
       assigns \result
-        \from (indirect: nptr), (indirect: *(nptr + (0 ..))),
+        \from (indirect: nptr),
+              (indirect: *(nptr + (0 .. strlen{Old}(nptr)))),
               (indirect: base);
     
     behavior store_position:
@@ -1034,14 +1381,17 @@ extern long double strtold(char const * restrict nptr,
       requires valid_endptr: \valid(endptr);
       ensures initialization: \initialized(\old(endptr));
       ensures valid_endptr_content: \valid_read(*\old(endptr));
-      ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..));
+      ensures
+        endptr_same_base:
+          \base_addr(*\old(endptr)) ≡ \base_addr(\old(nptr));
       assigns \result, *endptr;
       assigns \result
-        \from (indirect: nptr), (indirect: *(nptr + (0 ..))),
+        \from (indirect: nptr),
+              (indirect: *(nptr + (0 .. strlen{Old}(nptr)))),
               (indirect: base);
       assigns *endptr
-        \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr),
-              (indirect: base);
+        \from nptr, (indirect: *(nptr + (0 .. strlen{Old}(nptr)))),
+              (indirect: endptr), (indirect: base);
     
     complete behaviors store_position, no_storage;
     disjoint behaviors store_position, no_storage;
@@ -1054,16 +1404,18 @@ extern long strtol(char const * restrict nptr, char ** restrict endptr,
     requires base_range: base ≡ 0 ∨ (2 ≤ base ≤ 36);
     assigns \result, *endptr;
     assigns \result
-      \from (indirect: nptr), (indirect: *(nptr + (0 ..))), (indirect: base);
-    assigns *endptr
-      \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr),
+      \from (indirect: nptr), (indirect: *(nptr + (0 .. strlen{Old}(nptr)))),
             (indirect: base);
+    assigns *endptr
+      \from nptr, (indirect: *(nptr + (0 .. strlen{Old}(nptr)))),
+            (indirect: endptr), (indirect: base);
     
     behavior no_storage:
       assumes null_endptr: endptr ≡ \null;
       assigns \result;
       assigns \result
-        \from (indirect: nptr), (indirect: *(nptr + (0 ..))),
+        \from (indirect: nptr),
+              (indirect: *(nptr + (0 .. strlen{Old}(nptr)))),
               (indirect: base);
     
     behavior store_position:
@@ -1071,14 +1423,17 @@ extern long strtol(char const * restrict nptr, char ** restrict endptr,
       requires valid_endptr: \valid(endptr);
       ensures initialization: \initialized(\old(endptr));
       ensures valid_endptr_content: \valid_read(*\old(endptr));
-      ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..));
+      ensures
+        endptr_same_base:
+          \base_addr(*\old(endptr)) ≡ \base_addr(\old(nptr));
       assigns \result, *endptr;
       assigns \result
-        \from (indirect: nptr), (indirect: *(nptr + (0 ..))),
+        \from (indirect: nptr),
+              (indirect: *(nptr + (0 .. strlen{Old}(nptr)))),
               (indirect: base);
       assigns *endptr
-        \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr),
-              (indirect: base);
+        \from nptr, (indirect: *(nptr + (0 .. strlen{Old}(nptr)))),
+              (indirect: endptr), (indirect: base);
     
     complete behaviors store_position, no_storage;
     disjoint behaviors store_position, no_storage;
@@ -1091,16 +1446,18 @@ extern long long strtoll(char const * restrict nptr, char ** restrict endptr,
     requires base_range: base ≡ 0 ∨ (2 ≤ base ≤ 36);
     assigns \result, *endptr;
     assigns \result
-      \from (indirect: nptr), (indirect: *(nptr + (0 ..))), (indirect: base);
-    assigns *endptr
-      \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr),
+      \from (indirect: nptr), (indirect: *(nptr + (0 .. strlen{Old}(nptr)))),
             (indirect: base);
+    assigns *endptr
+      \from nptr, (indirect: *(nptr + (0 .. strlen{Old}(nptr)))),
+            (indirect: endptr), (indirect: base);
     
     behavior no_storage:
       assumes null_endptr: endptr ≡ \null;
       assigns \result;
       assigns \result
-        \from (indirect: nptr), (indirect: *(nptr + (0 ..))),
+        \from (indirect: nptr),
+              (indirect: *(nptr + (0 .. strlen{Old}(nptr)))),
               (indirect: base);
     
     behavior store_position:
@@ -1108,14 +1465,17 @@ extern long long strtoll(char const * restrict nptr, char ** restrict endptr,
       requires valid_endptr: \valid(endptr);
       ensures initialization: \initialized(\old(endptr));
       ensures valid_endptr_content: \valid_read(*\old(endptr));
-      ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..));
+      ensures
+        endptr_same_base:
+          \base_addr(*\old(endptr)) ≡ \base_addr(\old(nptr));
       assigns \result, *endptr;
       assigns \result
-        \from (indirect: nptr), (indirect: *(nptr + (0 ..))),
+        \from (indirect: nptr),
+              (indirect: *(nptr + (0 .. strlen{Old}(nptr)))),
               (indirect: base);
       assigns *endptr
-        \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr),
-              (indirect: base);
+        \from nptr, (indirect: *(nptr + (0 .. strlen{Old}(nptr)))),
+              (indirect: endptr), (indirect: base);
     
     complete behaviors store_position, no_storage;
     disjoint behaviors store_position, no_storage;
@@ -1128,16 +1488,18 @@ extern unsigned long strtoul(char const * restrict nptr,
     requires base_range: base ≡ 0 ∨ (2 ≤ base ≤ 36);
     assigns \result, *endptr;
     assigns \result
-      \from (indirect: nptr), (indirect: *(nptr + (0 ..))), (indirect: base);
-    assigns *endptr
-      \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr),
+      \from (indirect: nptr), (indirect: *(nptr + (0 .. strlen{Old}(nptr)))),
             (indirect: base);
+    assigns *endptr
+      \from nptr, (indirect: *(nptr + (0 .. strlen{Old}(nptr)))),
+            (indirect: endptr), (indirect: base);
     
     behavior no_storage:
       assumes null_endptr: endptr ≡ \null;
       assigns \result;
       assigns \result
-        \from (indirect: nptr), (indirect: *(nptr + (0 ..))),
+        \from (indirect: nptr),
+              (indirect: *(nptr + (0 .. strlen{Old}(nptr)))),
               (indirect: base);
     
     behavior store_position:
@@ -1145,14 +1507,17 @@ extern unsigned long strtoul(char const * restrict nptr,
       requires valid_endptr: \valid(endptr);
       ensures initialization: \initialized(\old(endptr));
       ensures valid_endptr_content: \valid_read(*\old(endptr));
-      ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..));
+      ensures
+        endptr_same_base:
+          \base_addr(*\old(endptr)) ≡ \base_addr(\old(nptr));
       assigns \result, *endptr;
       assigns \result
-        \from (indirect: nptr), (indirect: *(nptr + (0 ..))),
+        \from (indirect: nptr),
+              (indirect: *(nptr + (0 .. strlen{Old}(nptr)))),
               (indirect: base);
       assigns *endptr
-        \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr),
-              (indirect: base);
+        \from nptr, (indirect: *(nptr + (0 .. strlen{Old}(nptr)))),
+              (indirect: endptr), (indirect: base);
     
     complete behaviors store_position, no_storage;
     disjoint behaviors store_position, no_storage;
@@ -1165,7 +1530,7 @@ extern unsigned long long strtoull(char const * restrict nptr,
 unsigned long const __fc_rand_max = (unsigned long)2147483647;
 /*@ ensures result_range: 0 ≤ \result ≤ __fc_rand_max;
     assigns \result, __fc_random_counter;
-    assigns \result \from __fc_random_counter;
+    assigns \result \from (indirect: __fc_random_counter);
     assigns __fc_random_counter \from __fc_random_counter;
  */
 extern int rand(void);
@@ -1176,7 +1541,7 @@ extern void srand(unsigned int seed);
 
 /*@ ensures result_range: 0 ≤ \result ≤ __fc_rand_max;
     assigns \result;
-    assigns \result \from __fc_random_counter;
+    assigns \result \from (indirect: __fc_random_counter);
  */
 extern long random(void);
 
@@ -1194,21 +1559,24 @@ unsigned short *__fc_p_random48_counter = __fc_random48_counter;
  */
 extern void srand48(long seed);
 
-/*@ requires
+/*@ requires valid_seed16v: \valid(seed16v + (0 .. 2));
+    requires
       initialization: initialized_seed16v: \initialized(seed16v + (0 .. 2));
     ensures random48_initialized: __fc_random48_init ≡ 1;
     ensures result_counter: \result ≡ __fc_p_random48_counter;
     assigns __fc_random48_counter[0 .. 2], __fc_random48_init, \result;
-    assigns __fc_random48_counter[0 .. 2]
-      \from (indirect: *(seed16v + (0 .. 2)));
+    assigns __fc_random48_counter[0 .. 2] \from *(seed16v + (0 .. 2));
     assigns __fc_random48_init \from \nothing;
     assigns \result \from __fc_p_random48_counter;
  */
 extern unsigned short *seed48(unsigned short seed16v[3]);
 
-/*@ ensures random48_initialized: __fc_random48_init ≡ 1;
+/*@ requires valid_param: \valid(param + (0 .. 6));
+    requires
+      initialization: initialized_param: \initialized(param + (0 .. 6));
+    ensures random48_initialized: __fc_random48_init ≡ 1;
     assigns __fc_random48_counter[0 .. 2], __fc_random48_init;
-    assigns __fc_random48_counter[0 .. 2] \from *(param + (0 .. 5));
+    assigns __fc_random48_counter[0 .. 2] \from *(param + (0 .. 6));
     assigns __fc_random48_init \from \nothing;
  */
 extern void lcong48(unsigned short param[7]);
@@ -1222,7 +1590,8 @@ extern void lcong48(unsigned short param[7]);
  */
 extern double drand48(void);
 
-/*@ requires
+/*@ requires valid_xsubi: \valid(xsubi + (0 .. 2));
+    requires
       initialization: initialized_xsubi: \initialized(xsubi + (0 .. 2));
     ensures result_range: \is_finite(\result) ∧ 0.0 ≤ \result < 1.0;
     assigns __fc_random48_counter[0 .. 2], \result;
@@ -1241,7 +1610,8 @@ extern double erand48(unsigned short xsubi[3]);
  */
 extern long lrand48(void);
 
-/*@ requires
+/*@ requires valid_xsubi: \valid(xsubi + (0 .. 2));
+    requires
       initialization: initialized_xsubi: \initialized(xsubi + (0 .. 2));
     ensures result_range: 0 ≤ \result < 2147483648;
     assigns __fc_random48_counter[0 .. 2], \result;
@@ -1260,7 +1630,8 @@ extern long nrand48(unsigned short xsubi[3]);
  */
 extern long mrand48(void);
 
-/*@ requires
+/*@ requires valid_xsubi: \valid(xsubi + (0 .. 2));
+    requires
       initialization: initialized_xsubi: \initialized(xsubi + (0 .. 2));
     ensures result_range: -2147483648 ≤ \result < 2147483648;
     assigns __fc_random48_counter[0 .. 2], \result;
@@ -1433,7 +1804,8 @@ extern  __attribute__((__noreturn__)) void quick_exit(int status);
         command ≡ \null ∨ valid_read_string(command);
     assigns \result;
     assigns \result
-      \from (indirect: command), (indirect: *(command + (0 ..)));
+      \from (indirect: command),
+            (indirect: *(command + (0 .. strlen{Old}(command))));
  */
 extern int system(char const *command);
 
@@ -1498,16 +1870,27 @@ extern long labs(long j);
  */
 extern long long llabs(long long j);
 
-/*@ assigns \result;
-    assigns \result \from numer, denom; */
+/*@ requires denom_nonzero: denom ≢ 0;
+    requires no_overflow: ¬(numer ≡ -2147483647 - 1 ∧ denom ≡ -1);
+    assigns \result;
+    assigns \result \from numer, denom;
+ */
 extern div_t div(int numer, int denom);
 
-/*@ assigns \result;
-    assigns \result \from numer, denom; */
+/*@ requires denom_nonzero: denom ≢ 0;
+    requires no_overflow: ¬(numer ≡ -2147483647L - 1L ∧ denom ≡ -1);
+    assigns \result;
+    assigns \result \from numer, denom;
+ */
 extern ldiv_t ldiv(long numer, long denom);
 
-/*@ assigns \result;
-    assigns \result \from numer, denom; */
+/*@ requires denom_nonzero: denom ≢ 0;
+    requires
+      no_overflow:
+        ¬(numer ≡ -9223372036854775807LL - 1LL ∧ denom ≡ -1);
+    assigns \result;
+    assigns \result \from numer, denom;
+ */
 extern lldiv_t lldiv(long long numer, long long denom);
 
 /*@ ghost extern int __fc_mblen_state; */
@@ -1641,15 +2024,16 @@ int strncmp(char const *s1, char const *s2, size_t n);
     requires valid_string_s2: valid_read_string(s2);
     assigns \result;
     assigns \result
-      \from (indirect: *(s1 + (0 ..))), (indirect: *(s2 + (0 ..)));
+      \from (indirect: *(s1 + (0 .. strlen{Old}(s1)))),
+            (indirect: *(s2 + (0 .. strlen{Old}(s2))));
  */
 extern int strcoll(char const *s1, char const *s2);
 
 char *strchr(char const *s, int c);
 
 /*@ requires valid_string_s: valid_read_string(s);
-    ensures
-      result_same_base: \subset(\result, \old(s) + (0 .. strlen(\old(s))));
+    ensures result_valid_string: valid_read_string(\result);
+    ensures result_same_base: \base_addr(\result) ≡ \base_addr(\old(s));
     assigns \result;
     assigns \result
       \from s, (indirect: *(s + (0 .. strlen{Old}(s)))), (indirect: c);
@@ -1663,7 +2047,8 @@ char *strrchr(char const *s, int c);
     ensures result_bounded: 0 ≤ \result ≤ strlen(\old(s));
     assigns \result;
     assigns \result
-      \from (indirect: *(s + (0 ..))), (indirect: *(reject + (0 ..)));
+      \from (indirect: *(s + (0 .. strlen{Old}(s)))),
+            (indirect: *(reject + (0 .. strlen{Old}(reject))));
  */
 extern size_t strcspn(char const *s, char const *reject);
 
@@ -1671,9 +2056,9 @@ extern size_t strcspn(char const *s, char const *reject);
     requires valid_string_accept: valid_read_string(accept);
     ensures result_bounded: 0 ≤ \result ≤ strlen(\old(s));
     assigns \result;
-    assigns \result \from *(s + (0 ..)), *(accept + (0 ..));
     assigns \result
-      \from (indirect: *(s + (0 ..))), (indirect: *(accept + (0 ..)));
+      \from (indirect: *(s + (0 .. strlen{Old}(s)))),
+            (indirect: *(accept + (0 .. strlen{Old}(accept))));
  */
 extern size_t strspn(char const *s, char const *accept);
 
@@ -1681,9 +2066,13 @@ extern size_t strspn(char const *s, char const *accept);
     requires valid_string_accept: valid_read_string(accept);
     ensures
       result_null_or_same_base:
-        \result ≡ \null ∨ \base_addr(\result) ≡ \base_addr(\old(s));
+        \result ≡ \null ∨
+        (valid_read_string(\result) ∧
+         \base_addr(\result) ≡ \base_addr(\old(s)));
     assigns \result;
-    assigns \result \from s, *(s + (0 ..)), *(accept + (0 ..));
+    assigns \result
+      \from s, (indirect: *(s + (0 .. strlen{Old}(s)))),
+            (indirect: *(accept + (0 .. strlen{Old}(accept))));
  */
 extern char *strpbrk(char const *s, char const *accept);
 
@@ -1694,32 +2083,37 @@ char *strstr(char const *haystack, char const *needle);
     ensures
       result_null_or_in_haystack:
         \result ≡ \null ∨
-        (\subset(\result, \old(haystack) + (0 ..)) ∧ \valid_read(\result));
+        (valid_read_string(\result) ∧
+         \base_addr(\result) ≡ \base_addr(\old(haystack)));
     assigns \result;
     assigns \result
-      \from haystack, (indirect: *(haystack + (0 ..))),
-            (indirect: *(needle + (0 ..)));
+      \from haystack, (indirect: *(haystack + (0 .. strlen{Old}(haystack)))),
+            (indirect: *(needle + (0 .. strlen{Old}(needle))));
  */
 extern char *strcasestr(char const *haystack, char const *needle);
 
 char *__fc_strtok_ptr;
 /*@ requires valid_string_delim: valid_read_string(delim);
+    requires
+      separation:
+        \separated(delim + (0 .. strlen(delim)), s + (0 .. strlen(s)));
     assigns *(s + (0 ..)), *(__fc_strtok_ptr + (0 ..)), \result,
             __fc_strtok_ptr;
     assigns *(s + (0 ..))
       \from *(s + (0 ..)), (indirect: s), (indirect: __fc_strtok_ptr),
-            (indirect: *(delim + (0 ..)));
+            (indirect: *(delim + (0 .. strlen{Old}(delim))));
     assigns *(__fc_strtok_ptr + (0 ..))
       \from *(__fc_strtok_ptr + (0 ..)), (indirect: s),
-            (indirect: __fc_strtok_ptr), (indirect: *(delim + (0 ..)));
+            (indirect: __fc_strtok_ptr),
+            (indirect: *(delim + (0 .. strlen{Old}(delim))));
     assigns \result
       \from s, __fc_strtok_ptr, (indirect: *(s + (0 ..))),
             (indirect: *(__fc_strtok_ptr + (0 ..))),
-            (indirect: *(delim + (0 ..)));
+            (indirect: *(delim + (0 .. strlen{Old}(delim))));
     assigns __fc_strtok_ptr
       \from \old(__fc_strtok_ptr), s,
             (indirect: *(__fc_strtok_ptr + (0 ..))),
-            (indirect: *(delim + (0 ..)));
+            (indirect: *(delim + (0 .. strlen{Old}(delim))));
     
     behavior new_str:
       assumes s_not_null: s ≢ \null;
@@ -1727,40 +2121,50 @@ char *__fc_strtok_ptr;
         valid_string_s_or_delim_not_found:
           valid_string(s) ∨
           (valid_read_string(s) ∧
-           (∀ int i;
+           (∀ ℤ i;
               0 ≤ i < strlen(delim) ⇒
               ¬(strchr(s, *(delim + i)) ≡ \true)));
       ensures
-        result_subset:
-          \result ≡ \null ∨ \subset(\result, \old(s) + (0 ..));
-      ensures ptr_subset: \subset(__fc_strtok_ptr, \old(s) + (0 ..));
+        result_same_base:
+          \result ≡ \null ∨
+          (valid_read_string(\result) ∧
+           \base_addr(\result) ≡ \base_addr(\old(s)));
+      ensures ptr_valid_string: valid_read_string(__fc_strtok_ptr);
+      ensures
+        ptr_same_base: \base_addr(__fc_strtok_ptr) ≡ \base_addr(\old(s));
       assigns __fc_strtok_ptr, *(s + (0 ..)), \result;
       assigns __fc_strtok_ptr
-        \from s, (indirect: *(s + (0 ..))), (indirect: *(delim + (0 ..)));
+        \from s, (indirect: *(s + (0 ..))),
+              (indirect: *(delim + (0 .. strlen{Old}(delim))));
       assigns *(s + (0 ..))
-        \from *(s + (0 ..)), (indirect: s), (indirect: *(delim + (0 ..)));
+        \from *(s + (0 ..)), (indirect: s),
+              (indirect: *(delim + (0 .. strlen{Old}(delim))));
       assigns \result
-        \from s, (indirect: *(s + (0 ..))), (indirect: *(delim + (0 ..)));
+        \from s, (indirect: *(s + (0 ..))),
+              (indirect: *(delim + (0 .. strlen{Old}(delim))));
     
     behavior resume_str:
       assumes s_null: s ≡ \null;
       requires not_first_call: __fc_strtok_ptr ≢ \null;
       ensures
-        result_subset:
+        result_same_base:
           \result ≡ \null ∨
-          \subset(\result, \old(__fc_strtok_ptr) + (0 ..));
+          (valid_read_string(\result) ∧
+           \base_addr(\result) ≡ \base_addr(\old(__fc_strtok_ptr)));
+      ensures ptr_valid_string: valid_read_string(__fc_strtok_ptr);
       ensures
-        ptr_subset: \subset(__fc_strtok_ptr, \old(__fc_strtok_ptr) + (0 ..));
+        ptr_same_base:
+          \base_addr(__fc_strtok_ptr) ≡ \base_addr(\old(__fc_strtok_ptr));
       assigns *(__fc_strtok_ptr + (0 ..)), __fc_strtok_ptr, \result;
       assigns *(__fc_strtok_ptr + (0 ..))
         \from *(__fc_strtok_ptr + (0 ..)), (indirect: __fc_strtok_ptr),
-              (indirect: *(delim + (0 ..)));
+              (indirect: *(delim + (0 .. strlen{Old}(delim))));
       assigns __fc_strtok_ptr
         \from \old(__fc_strtok_ptr), (indirect: *(__fc_strtok_ptr + (0 ..))),
-              (indirect: *(delim + (0 ..)));
+              (indirect: *(delim + (0 .. strlen{Old}(delim))));
       assigns \result
         \from __fc_strtok_ptr, (indirect: *(__fc_strtok_ptr + (0 ..))),
-              (indirect: *(delim + (0 ..)));
+              (indirect: *(delim + (0 .. strlen{Old}(delim))));
     
     complete behaviors resume_str, new_str;
     disjoint behaviors resume_str, new_str;
@@ -1768,20 +2172,27 @@ char *__fc_strtok_ptr;
 extern char *strtok(char * restrict s, char const * restrict delim);
 
 /*@ requires valid_string_delim: valid_read_string(delim);
+    requires
+      separation:
+        \separated(
+          delim + (0 .. strlen(delim)), s + (0 .. strlen(s)),
+          *saveptr + (0 ..)
+          );
     requires valid_saveptr: \valid(saveptr);
     assigns *(s + (0 ..)), *(*saveptr + (0 ..)), \result, *saveptr;
     assigns *(s + (0 ..))
       \from *(s + (0 ..)), (indirect: s), (indirect: *saveptr),
-            (indirect: *(delim + (0 ..)));
+            (indirect: *(delim + (0 .. strlen{Old}(delim))));
     assigns *(*saveptr + (0 ..))
       \from *(*saveptr + (0 ..)), (indirect: s), (indirect: *saveptr),
-            (indirect: *(delim + (0 ..)));
+            (indirect: *(delim + (0 .. strlen{Old}(delim))));
     assigns \result
       \from s, *saveptr, (indirect: *(s + (0 ..))),
-            (indirect: *(*saveptr + (0 ..))), (indirect: *(delim + (0 ..)));
+            (indirect: *(*saveptr + (0 ..))),
+            (indirect: *(delim + (0 .. strlen{Old}(delim))));
     assigns *saveptr
       \from \old(*saveptr), s, (indirect: *(*saveptr + (0 ..))),
-            (indirect: *(delim + (0 ..)));
+            (indirect: *(delim + (0 .. strlen{Old}(delim))));
     
     behavior new_str:
       assumes s_not_null: s ≢ \null;
@@ -1789,41 +2200,51 @@ extern char *strtok(char * restrict s, char const * restrict delim);
         valid_string_s_or_delim_not_found:
           valid_string(s) ∨
           (valid_read_string(s) ∧
-           (∀ int i;
+           (∀ ℤ i;
               0 ≤ i < strlen(delim) ⇒
               ¬(strchr(s, *(delim + i)) ≡ \true)));
       ensures
-        result_subset:
-          \result ≡ \null ∨ \subset(\result, \old(s) + (0 ..));
-      ensures initialization: \initialized(\old(saveptr));
-      ensures saveptr_subset: \subset(*\old(saveptr), \old(s) + (0 ..));
+        result_same_base:
+          \result ≡ \null ∨
+          (valid_read_string(\result) ∧
+           \base_addr(\result) ≡ \base_addr(\old(s)));
+      ensures saveptr_valid_string: valid_read_string(*\old(saveptr));
+      ensures
+        saveptr_same_base: \base_addr(*\old(saveptr)) ≡ \base_addr(\old(s));
       assigns *saveptr, *(s + (0 ..)), \result;
       assigns *saveptr
-        \from s, (indirect: *(s + (0 ..))), (indirect: *(delim + (0 ..)));
+        \from s, (indirect: *(s + (0 ..))),
+              (indirect: *(delim + (0 .. strlen{Old}(delim))));
       assigns *(s + (0 ..))
-        \from *(s + (0 ..)), (indirect: s), (indirect: *(delim + (0 ..)));
+        \from *(s + (0 ..)), (indirect: s),
+              (indirect: *(delim + (0 .. strlen{Old}(delim))));
       assigns \result
-        \from s, (indirect: *(s + (0 ..))), (indirect: *(delim + (0 ..)));
+        \from s, (indirect: *(s + (0 ..))),
+              (indirect: *(delim + (0 .. strlen{Old}(delim))));
     
     behavior resume_str:
       assumes s_null: s ≡ \null;
       requires not_first_call: *saveptr ≢ \null;
       requires initialization: saveptr: \initialized(saveptr);
       ensures
-        result_subset:
-          \result ≡ \null ∨ \subset(\result, \old(*saveptr) + (0 ..));
+        result_same_base:
+          \result ≡ \null ∨
+          (valid_read_string(\result) ∧
+           \base_addr(\result) ≡ \base_addr(\old(*saveptr)));
+      ensures saveptr_valid_string: valid_read_string(*\old(saveptr));
       ensures
-        saveptr_subset: \subset(*\old(saveptr), \old(*saveptr) + (0 ..));
+        saveptr_same_base:
+          \base_addr(*\old(saveptr)) ≡ \base_addr(\old(*saveptr));
       assigns *(*saveptr + (0 ..)), *saveptr, \result;
       assigns *(*saveptr + (0 ..))
         \from *(*saveptr + (0 ..)), (indirect: *saveptr),
-              (indirect: *(delim + (0 ..)));
+              (indirect: *(delim + (0 .. strlen{Old}(delim))));
       assigns *saveptr
         \from \old(*saveptr), (indirect: *(*saveptr + (0 ..))),
-              (indirect: *(delim + (0 ..)));
+              (indirect: *(delim + (0 .. strlen{Old}(delim))));
       assigns \result
         \from *saveptr, (indirect: *(*saveptr + (0 ..))),
-              (indirect: *(delim + (0 ..)));
+              (indirect: *(delim + (0 .. strlen{Old}(delim))));
     
     complete behaviors resume_str, new_str;
     disjoint behaviors resume_str, new_str;
@@ -1831,12 +2252,24 @@ extern char *strtok(char * restrict s, char const * restrict delim);
 extern char *strtok_r(char * restrict s, char const * restrict delim,
                       char ** restrict saveptr);
 
-/*@ requires
-      valid_string_stringp: \valid(stringp) ∧ valid_string(*stringp);
-    requires valid_string_delim: valid_read_string(delim);
-    assigns *stringp, \result;
-    assigns *stringp \from *(delim + (..)), *(*(stringp + (..)));
-    assigns \result \from *(delim + (..)), *(*(stringp + (..)));
+/*@ requires valid_stringp: \valid(stringp);
+    assigns *(*(stringp + (0 ..))), \result;
+    assigns *(*(stringp + (0 ..)))
+      \from (indirect: *(delim + (0 .. strlen{Old}(delim)))),
+            *(*(stringp + (0 ..)));
+    assigns \result \from *stringp;
+    
+    behavior no_stringp:
+      assumes stringp_null: *stringp ≡ \null;
+      ensures result_null: \result ≡ \null;
+    
+    behavior valid_stringp:
+      assumes stringp_not_null: *stringp ≢ \null;
+      requires valid_string_stringp: valid_string(*stringp);
+      ensures
+        valid_result:
+          valid_string(\result) ∧
+          \base_addr(\result) ≡ \base_addr(*\old(stringp));
  */
 extern char *strsep(char **stringp, char const *delim);
 
@@ -1875,6 +2308,12 @@ char *strncat(char *dest, char const *src, size_t n);
 /*@ requires valid_string_src: valid_read_string(src);
     requires valid_string_dest: valid_string(dest);
     requires room_nstring: \valid(dest + (0 .. n - 1));
+    requires
+      separation:
+        \separated(
+          dest + (0 .. \min(n - 1, strlen(dest) + strlen(src))),
+          src + (0 .. strnlen(src, n - 1))
+          );
     ensures
       bounded_result: \result ≡ strlen(\old(dest)) + strlen(\old(src));
     assigns *(dest + (strlen{Old}(dest) .. n)), \result;
@@ -1888,18 +2327,70 @@ extern size_t strlcat(char * restrict dest, char const * restrict src,
 
 /*@ requires valid_dest: \valid(dest + (0 .. n - 1));
     requires valid_string_src: valid_read_string(src);
+    requires
+      separation: \separated(dest + (0 .. n - 1), src + (0 .. strlen(src)));
     assigns *(dest + (0 .. n - 1)), \result;
     assigns *(dest + (0 .. n - 1))
-      \from (indirect: *(src + (0 ..))), (indirect: n);
-    assigns \result \from dest;
+      \from *(src + (0 .. strlen{Old}(src))), (indirect: n);
+    assigns \result \from (indirect: *(src + (0 .. strlen{Old}(src))));
  */
 extern size_t strxfrm(char * restrict dest, char const * restrict src,
                       size_t n);
 
+/*@ requires
+      valid_haystack: \valid_read((char *)haystack + (0 .. haystacklen - 1));
+    requires
+      valid_needle: \valid_read((char *)needle + (0 .. needlelen - 1));
+    ensures
+      result_null_or_valid:
+        \result ≡ \null ∨ \valid_read((char *)\result);
+    ensures
+      result_null_or_same_base:
+        \result ≡ \null ∨
+        \base_addr(\result) ≡ \base_addr(\old(haystack));
+    assigns \result;
+    assigns \result
+      \from haystack,
+            (indirect: *((char *)haystack + (0 .. haystacklen - 1))),
+            (indirect: *((char *)needle + (0 .. needlelen - 1)));
+ */
+extern void *memmem(void const *haystack, size_t haystacklen,
+                    void const *needle, size_t needlelen);
+
 char *strdup(char const *s);
 
 char *strndup(char const *s, size_t n);
 
+/*@ requires valid_string_src: valid_read_nstring(src, n);
+    requires valid_dest: \valid(dest + (0 .. n - 1));
+    requires separation: \separated(src + (0 .. n - 1), dest + (0 .. n - 1));
+    ensures initialization: \initialized(\old(dest) + (0 .. \old(n) - 1));
+    assigns *(dest + (0 .. n - 1)), \result;
+    assigns *(dest + (0 .. n - 1))
+      \from *(src + (0 .. n - 1)), (indirect: n);
+    assigns \result
+      \from dest, (indirect: *(src + (0 .. n - 1))), (indirect: n);
+    
+    behavior src_is_a_string:
+      assumes src_has_nul: strlen(src) < n;
+      ensures valid_string_dest: valid_read_string(\old(dest));
+      ensures same_contents: strcmp(\old(dest), \old(src)) ≡ 0;
+      ensures
+        dest_nul_padded:
+          ∀ ℤ i;
+            strlen(\old(src)) ≤ i < \old(n) ⇒ *(\old(dest) + i) ≡ 0;
+      ensures
+        result_points_to_nul: \result ≡ \old(dest) + strlen(\old(src));
+    
+    behavior src_too_long:
+      assumes src_no_nul: ∀ ℤ i; 0 ≤ i < n ⇒ *(src + i) ≢ 0;
+      ensures
+        same_partial_contents: strncmp(\old(src), \old(dest), \old(n)) ≡ 0;
+      ensures result_points_to_end: \result ≡ \old(dest) + \old(n);
+ */
+extern char *stpncpy(char * restrict dest, char const * restrict src,
+                     size_t n);
+
 char __fc_strsignal[64];
 char * const __fc_p_strsignal = __fc_strsignal;
 char *strsignal(int signum);
@@ -1955,6 +2446,9 @@ error_t argz_replace(char **argz, size_t *argz_len, char const *str,
 
 char *argz_next(char const *argz, size_t argz_len, char const *entry);
 
+/*@ assigns *(argz + (0 ..));
+    assigns *(argz + (0 ..)) \from *(argz + (0 ..)), (indirect: len), sep;
+ */
 void argz_stringify(char *argz, size_t len, int sep)
 {
   if (len > (size_t)0) 
@@ -1977,6 +2471,10 @@ void argz_stringify(char *argz, size_t len, int sep)
   return;
 }
 
+/*@ assigns *to, *to_len;
+    assigns *to \from *(buf + (0 .. buf_len - 1));
+    assigns *to_len \from *(buf + (0 .. buf_len - 1));
+ */
 static void str_append(char **to, size_t *to_len, char const *buf,
                        size_t const buf_len)
 {
@@ -1996,6 +2494,21 @@ static void str_append(char **to, size_t *to_len, char const *buf,
   return;
 }
 
+/*@ assigns *(*argz + (0 ..)), *argz_len, *replace_count, \result;
+    assigns *(*argz + (0 ..))
+      \from *(*argz + (0 ..)), *argz_len, *(str + (0 ..)), *(with + (0 ..)),
+            *replace_count;
+    assigns *argz_len
+      \from *(*argz + (0 ..)), *argz_len, *(str + (0 ..)), *(with + (0 ..)),
+            *replace_count;
+    assigns *replace_count
+      \from *(*argz + (0 ..)), *argz_len, *(str + (0 ..)), *(with + (0 ..)),
+            *replace_count;
+    assigns \result
+      \from *(*argz + (0 ..)), *argz_len, *(str + (0 ..)), *(with + (0 ..)),
+            *replace_count;
+    allocates *\old(argz);
+ */
 error_t argz_replace(char **argz, size_t *argz_len, char const *str,
                      char const *with, unsigned int *replace_count)
 {
@@ -2075,6 +2588,9 @@ error_t argz_replace(char **argz, size_t *argz_len, char const *str,
   return er;
 }
 
+/*@ assigns \result;
+    assigns \result \from *(argz + (0 ..)), argz_len, entry;
+ */
 char *argz_next(char const *argz, size_t argz_len, char const *entry)
 {
   char *__retres;
@@ -2102,6 +2618,18 @@ char *argz_next(char const *argz, size_t argz_len, char const *entry)
   return_label: return __retres;
 }
 
+/*@ assigns *(*argz + (0 ..)), *argz_len, \result;
+    assigns *(*argz + (0 ..))
+      \from *(*argz + (0 ..)), *argz_len, before, *(before + (0 ..)),
+            *(entry + (0 ..));
+    assigns *argz_len
+      \from *(*argz + (0 ..)), *argz_len, before, *(before + (0 ..)),
+            *(entry + (0 ..));
+    assigns \result
+      \from *(*argz + (0 ..)), *argz_len, before, *(before + (0 ..)),
+            *(entry + (0 ..));
+    allocates *\old(argz);
+ */
 error_t argz_insert(char **argz, size_t *argz_len, char *before,
                     char const *entry)
 {
@@ -2148,6 +2676,10 @@ error_t argz_insert(char **argz, size_t *argz_len, char *before,
   }
 }
 
+/*@ assigns *(*(argv + (0 ..)) + (0 ..));
+    assigns *(*(argv + (0 ..)) + (0 ..))
+      \from *(argz + (0 .. len)), (indirect: len);
+ */
 void argz_extract(char const *argz, size_t len, char **argv)
 {
   while (len > (size_t)0) {
@@ -2163,6 +2695,12 @@ void argz_extract(char const *argz, size_t len, char **argv)
   return;
 }
 
+/*@ assigns *(*argz + (0 ..)), *argz_len;
+    assigns *(*argz + (0 ..))
+      \from *(*argz + (0 ..)), *argz_len, *(entry + (0 ..));
+    assigns *argz_len \from *(*argz + (0 ..)), *argz_len, *(entry + (0 ..));
+    frees *argz;
+ */
 void argz_delete(char **argz, size_t *argz_len, char *entry)
 {
   if (entry) {
@@ -2180,9 +2718,12 @@ void argz_delete(char **argz, size_t *argz_len, char *entry)
   return;
 }
 
-/*@ assigns \result, *(*(argz + (..)));
-    assigns \result \from \nothing;
-    assigns *(*(argz + (..))) \from \nothing;
+/*@ assigns *(*argz + (0 ..)), *len, \result;
+    assigns *(*argz + (0 ..))
+      \from *(string + (0 ..)), delim, *(*argz + (0 ..)), *len;
+    assigns *len \from *(string + (0 ..)), delim, *(*argz + (0 ..)), *len;
+    assigns \result \from *(string + (0 ..)), delim, *(*argz + (0 ..)), *len;
+    allocates *\old(argz);
  */
 error_t argz_create_sep(char const *string, int delim, char **argz,
                         size_t *len)
@@ -2239,6 +2780,12 @@ error_t argz_create_sep(char const *string, int delim, char **argz,
   return_label: return __retres;
 }
 
+/*@ assigns *(*argz + (0 ..)), *len, \result;
+    assigns *(*argz + (0 ..)) \from *(*(argv + (0 ..)) + (0 ..));
+    assigns *len \from *(*(argv + (0 ..)) + (0 ..));
+    assigns \result \from *(*(argv + (0 ..)) + (0 ..));
+    allocates *\old(argz);
+ */
 error_t argz_create(char * const *argv, char **argz, size_t *len)
 {
   error_t __retres;
@@ -2273,6 +2820,10 @@ error_t argz_create(char * const *argv, char **argz, size_t *len)
   return_label: return __retres;
 }
 
+/*@ assigns \result;
+    assigns \result
+      \from (indirect: *(argz + (0 .. strlen{Old}(argz)))), (indirect: len);
+ */
 size_t argz_count(char const *argz, size_t len)
 {
   size_t count = (size_t)0;
@@ -2285,6 +2836,16 @@ size_t argz_count(char const *argz, size_t len)
   return count;
 }
 
+/*@ assigns *(*argz + (0 ..)), *argz_len, \result;
+    assigns *(*argz + (0 ..))
+      \from *(*argz + (0 ..)), *argz_len, *(buf + (0 ..)), buf_len;
+    assigns *argz_len
+      \from *(*argz + (0 ..)), *argz_len, *(buf + (0 ..)), buf_len;
+    assigns \result
+      \from (indirect: *(*argz + (0 ..))), (indirect: *argz_len),
+            (indirect: *(buf + (0 ..))), (indirect: buf_len);
+    allocates *\old(argz);
+ */
 error_t argz_append(char **argz, size_t *argz_len, char const *buf,
                     size_t buf_len)
 {
@@ -2305,6 +2866,13 @@ error_t argz_append(char **argz, size_t *argz_len, char const *buf,
   return_label: return __retres;
 }
 
+/*@ assigns *(*argz + (0 ..)), *argz_len, \result;
+    assigns *(*argz + (0 ..))
+      \from *(*argz + (0 ..)), *argz_len, *(str + (0 ..));
+    assigns *argz_len \from *(*argz + (0 ..)), *argz_len, *(str + (0 ..));
+    assigns \result \from *(*argz + (0 ..)), *argz_len, *(str + (0 ..));
+    allocates *\old(argz);
+ */
 error_t argz_add(char **argz, size_t *argz_len, char const *str)
 {
   error_t tmp_0;
@@ -2317,6 +2885,12 @@ error_t argz_add(char **argz, size_t *argz_len, char const *str)
   return tmp_0;
 }
 
+/*@ assigns *(*argz + (0 ..)), *argz_len, \result;
+    assigns *(*argz + (0 ..)) \from *(string + (0 ..)), delim;
+    assigns *argz_len \from *(string + (0 ..)), delim;
+    assigns \result \from *(string + (0 ..)), delim;
+    allocates *\old(argz);
+ */
 error_t argz_add_sep(char **argz, size_t *argz_len, char const *string,
                      int delim)
 {
@@ -2827,13 +3401,65 @@ int toupper(int c)
 }
 
 int __fc_errno = 0;
-int fetestexcept(int excepts);
+fenv_t volatile __fc_fenv_state;
+/*@ assigns __fc_fenv_state, \result;
+    assigns __fc_fenv_state \from (indirect: excepts), __fc_fenv_state;
+    assigns \result \from (indirect: __fc_fenv_state), (indirect: excepts);
+ */
+extern int feclearexcept(int excepts);
+
+/*@ assigns *envp, \result;
+    assigns *envp \from __fc_fenv_state;
+    assigns \result \from (indirect: __fc_fenv_state);
+ */
+extern int fegetenv(fenv_t *envp);
+
+/*@ assigns *flagp, \result;
+    assigns *flagp \from __fc_fenv_state, excepts;
+    assigns \result \from (indirect: __fc_fenv_state), (indirect: excepts);
+ */
+extern int fegetexceptflag(fexcept_t *flagp, int excepts);
+
+/*@ assigns \result;
+    assigns \result \from __fc_fenv_state; */
+extern int fegetround(void);
 
 int feholdexcept(fenv_t *envp);
 
+/*@ assigns \result;
+    assigns \result \from (indirect: __fc_fenv_state), (indirect: excepts);
+ */
+extern int feraiseexcept(int excepts);
+
 int fesetenv(fenv_t const *envp);
 
+/*@ assigns __fc_fenv_state, \result;
+    assigns __fc_fenv_state \from *flagp, excepts;
+    assigns \result
+      \from (indirect: __fc_fenv_state), (indirect: *flagp),
+            (indirect: excepts);
+ */
+extern int fesetexceptflag(fexcept_t const *flagp, int excepts);
+
+/*@ assigns __fc_fenv_state, \result;
+    assigns __fc_fenv_state
+      \from (indirect: __fc_fenv_state), (indirect: round);
+    assigns \result \from (indirect: __fc_fenv_state), (indirect: round);
+ */
+extern int fesetround(int round);
+
+int fetestexcept(int excepts);
+
+/*@ assigns __fc_fenv_state, \result;
+    assigns __fc_fenv_state \from __fc_fenv_state, *envp;
+    assigns \result \from (indirect: __fc_fenv_state), (indirect: *envp);
+ */
+extern int feupdateenv(fenv_t const *envp);
+
 static int volatile fetestexcept___fc_random_fetestexcept;
+/*@ assigns \result;
+    assigns \result \from (indirect: excepts), __fc_fenv_state;
+ */
 int fetestexcept(int excepts)
 {
   int __retres;
@@ -2841,7 +3467,11 @@ int fetestexcept(int excepts)
   return __retres;
 }
 
-fenv_t volatile __fc_fenv_state;
+/*@ assigns *envp, __fc_fenv_state, \result;
+    assigns *envp \from __fc_fenv_state;
+    assigns __fc_fenv_state \from __fc_fenv_state;
+    assigns \result \from (indirect: __fc_fenv_state);
+ */
 int feholdexcept(fenv_t *envp)
 {
   int __retres;
@@ -2850,6 +3480,10 @@ int feholdexcept(fenv_t *envp)
   return __retres;
 }
 
+/*@ assigns __fc_fenv_state, \result;
+    assigns __fc_fenv_state \from *envp;
+    assigns \result \from (indirect: __fc_fenv_state), (indirect: *envp);
+ */
 int fesetenv(fenv_t const *envp)
 {
   int __retres;
@@ -2863,6 +3497,15 @@ int glob(char const *pattern, int flags,
 
 void globfree(glob_t *pglob);
 
+/*@ assigns *pglob, \result;
+    assigns *pglob
+      \from (indirect: *(pattern + (0 .. strlen{Old}(pattern)))), flags,
+            (indirect: errfunc);
+    assigns \result
+      \from (indirect: *(pattern + (0 .. strlen{Old}(pattern)))),
+            (indirect: flags), (indirect: errfunc);
+    allocates \old(pglob)->gl_pathv;
+ */
 int glob(char const *pattern, int flags,
          int (*errfunc)(char const *epath, int eerrno), glob_t *pglob)
 {
@@ -2870,7 +3513,8 @@ int glob(char const *pattern, int flags,
   int tmp;
   unsigned int tmp_0;
   char **tmp_1;
-  int tmp_4;
+  int tmp_2;
+  int tmp_5;
   tmp = Frama_C_interval(0,10);
   pglob->gl_pathc = (unsigned int)tmp;
   if (flags & (1 << 3)) tmp_0 = pglob->gl_offs; else tmp_0 = (unsigned int)0;
@@ -2925,18 +3569,20 @@ int glob(char const *pattern, int flags,
     }
   }
   *(pglob->gl_pathv + ((prev_len + reserve_offs) + pglob->gl_pathc)) = (char *)0;
-  tmp_4 = Frama_C_nondet(0,1);
-  if (tmp_4) {
+  tmp_2 = Frama_C_nondet(0,1 << 8);
+  pglob->gl_flags = flags | tmp_2;
+  tmp_5 = Frama_C_nondet(0,1);
+  if (tmp_5) {
     __retres = 0;
     goto return_label;
   }
   else {
     if (errfunc) {
+      int tmp_4;
       int tmp_3;
-      int tmp_2;
-      tmp_2 = Frama_C_interval(0,255);
-      tmp_3 = (*errfunc)("glob.c error path",tmp_2);
-      int res = tmp_3;
+      tmp_3 = Frama_C_interval(0,255);
+      tmp_4 = (*errfunc)("glob.c error path",tmp_3);
+      int res = tmp_4;
       if (res) {
         __retres = 2;
         goto return_label;
@@ -2953,6 +3599,9 @@ int glob(char const *pattern, int flags,
   return_label: return __retres;
 }
 
+/*@ assigns *pglob;
+    assigns *pglob \from *pglob;
+    frees pglob->gl_pathv; */
 void globfree(glob_t *pglob)
 {
   if (pglob->gl_pathc > (unsigned int)0) free((void *)pglob->gl_pathv);
@@ -4588,6 +5237,11 @@ int getaddrinfo(char const * restrict nodename,
 }
 
 struct __fc_gethostbyname __fc_ghbn;
+/*@ assigns *(answer + (0 .. anslen - 1)), \result;
+    assigns *(answer + (0 .. anslen - 1))
+      \from (indirect: anslen), Frama_C_entropy_source;
+    assigns \result \from (indirect: anslen), Frama_C_entropy_source;
+ */
 static int res_search(char const *dname, int rec_class, int type,
                       char *answer, int anslen)
 {
@@ -4604,6 +5258,11 @@ static int res_search(char const *dname, int rec_class, int type,
   return tmp;
 }
 
+/*@ assigns \result, *\result;
+    assigns \result \from *(name + (0 .. strlen{Old}(name)));
+    assigns *\result \from *(name + (0 .. strlen{Old}(name)));
+    allocates \result;
+ */
 struct hostent *gethostbyname(char const *name)
 {
   struct hostent *__retres;
@@ -4735,6 +5394,21 @@ int getpwuid_r(uid_t uid, struct passwd *pwd, char *buf, size_t buflen,
                struct passwd **result);
 
 static int __fc_getpw_init;
+/*@ assigns __fc_getpw_init, __fc_getpw_pw_name[0 .. 63],
+            __fc_getpw_pw_passwd[0 .. 63], __fc_getpw_pw_gecos[0 .. 63],
+            __fc_getpw_pw_dir[0 .. 63], __fc_getpw_pw_shell[0 .. 63],
+            *(buf + (0 .. buflen - 1)), *pwd, *result, \result;
+    assigns __fc_getpw_init \from __fc_pwd;
+    assigns __fc_getpw_pw_name[0 .. 63] \from __fc_pwd;
+    assigns __fc_getpw_pw_passwd[0 .. 63] \from __fc_pwd;
+    assigns __fc_getpw_pw_gecos[0 .. 63] \from __fc_pwd;
+    assigns __fc_getpw_pw_dir[0 .. 63] \from __fc_pwd;
+    assigns __fc_getpw_pw_shell[0 .. 63] \from __fc_pwd;
+    assigns *(buf + (0 .. buflen - 1)) \from __fc_pwd;
+    assigns *pwd \from __fc_pwd;
+    assigns *result \from __fc_pwd;
+    assigns \result \from __fc_pwd;
+ */
 static int __fc_getpw_r(struct passwd *pwd, char *buf, size_t buflen,
                         struct passwd **result)
 {
@@ -5517,17 +6191,22 @@ extern wchar_t *fgetws(wchar_t * restrict ws, int n, FILE * restrict stream);
  */
 extern int wcscasecmp(wchar_t const *ws1, wchar_t const *ws2);
 
+wchar_t *wcsdup(wchar_t const *ws);
+
+void __fc_atomic_init_marker(void *obj, unsigned long long value);
+
 void atomic_thread_fence(memory_order order);
 
 void atomic_signal_fence(memory_order order);
 
-_Bool __fc_atomic_is_lock_free(void *obj);
+_Bool __fc_atomic_is_lock_free(void *obj, size_t obj_size);
 
-void __fc_atomic_store_marker(void *object, unsigned long long desired);
+void __fc_atomic_store_marker(void *object, unsigned long long desired,
+                              size_t obj_size);
 
 void __fc_atomic_store_explicit_marker(void *object,
                                        unsigned long long desired,
-                                       memory_order order);
+                                       memory_order order, size_t obj_size);
 
 unsigned long long __fc_atomic_load(void *obj, size_t obj_size);
 
@@ -5621,22 +6300,28 @@ void atomic_flag_clear(atomic_flag volatile *object);
 void atomic_flag_clear_explicit(atomic_flag volatile *object,
                                 memory_order order);
 
+/*@ assigns \nothing; */
 void __fc_atomic_init_marker(void *obj, unsigned long long value)
 {
   return;
 }
 
+/*@ assigns \nothing; */
 void atomic_thread_fence(memory_order order)
 {
   return;
 }
 
+/*@ assigns \nothing; */
 void atomic_signal_fence(memory_order order)
 {
   return;
 }
 
-_Bool __fc_atomic_is_lock_free(void *obj)
+/*@ assigns \result;
+    assigns \result \from (indirect: *((char *)obj + (0 .. obj_size - 1)));
+ */
+_Bool __fc_atomic_is_lock_free(void *obj, size_t obj_size)
 {
   _Bool __retres;
   int tmp;
@@ -5645,18 +6330,30 @@ _Bool __fc_atomic_is_lock_free(void *obj)
   return __retres;
 }
 
-void __fc_atomic_store_marker(void *object, unsigned long long desired)
+/*@ assigns *((char *)object + (0 .. obj_size - 1));
+    assigns *((char *)object + (0 .. obj_size - 1)) \from desired;
+ */
+void __fc_atomic_store_marker(void *object, unsigned long long desired,
+                              size_t obj_size)
 {
   return;
 }
 
+/*@ assigns *((char *)object + (0 .. obj_size - 1));
+    assigns *((char *)object + (0 .. obj_size - 1))
+      \from desired, (indirect: order);
+ */
 void __fc_atomic_store_explicit_marker(void *object,
                                        unsigned long long desired,
-                                       memory_order order)
+                                       memory_order order, size_t obj_size)
 {
   return;
 }
 
+/*@ assigns \result;
+    assigns \result
+      \from *((char *)obj + (0 .. obj_size - 1)), (indirect: obj_size);
+ */
 unsigned long long __fc_atomic_load(void *obj, size_t obj_size)
 {
   unsigned long long __retres;
@@ -5684,11 +6381,16 @@ unsigned long long __fc_atomic_load(void *obj, size_t obj_size)
             __retres = *((atomic_ullong volatile *)obj);
             goto return_label;
           }
-          else __FC_assert(0 != 0,"FRAMAC_SHARE/libc/stdatomic.c",50,"0");
+          else __FC_assert(0 != 0,"FRAMAC_SHARE/libc/stdatomic.c",53,"0");
   __retres = (unsigned long long)0;
   return_label: return __retres;
 }
 
+/*@ assigns \result;
+    assigns \result
+      \from *((char *)object + (0 .. obj_size - 1)), (indirect: order),
+            (indirect: obj_size);
+ */
 unsigned long long __fc_atomic_load_explicit(void *object,
                                              memory_order order,
                                              size_t obj_size)
@@ -5698,6 +6400,14 @@ unsigned long long __fc_atomic_load_explicit(void *object,
   return tmp;
 }
 
+/*@ assigns \result, *((char *)obj + (0 .. obj_size - 1));
+    assigns \result
+      \from *((char *)obj + (0 .. obj_size - 1)), desired,
+            (indirect: obj_size);
+    assigns *((char *)obj + (0 .. obj_size - 1))
+      \from *((char *)obj + (0 .. obj_size - 1)), desired,
+            (indirect: obj_size);
+ */
 unsigned long long __fc_atomic_exchange(void *obj,
                                         unsigned long long desired,
                                         size_t obj_size)
@@ -5727,10 +6437,18 @@ unsigned long long __fc_atomic_exchange(void *obj,
             r = *((atomic_ullong volatile *)obj);
             *((atomic_ullong volatile *)obj) = desired;
           }
-          else __FC_assert(0 != 0,"FRAMAC_SHARE/libc/stdatomic.c",79,"0");
+          else __FC_assert(0 != 0,"FRAMAC_SHARE/libc/stdatomic.c",82,"0");
   return r;
 }
 
+/*@ assigns \result, *((char *)object + (0 .. obj_size - 1));
+    assigns \result
+      \from *((char *)object + (0 .. obj_size - 1)), desired,
+            (indirect: order), (indirect: obj_size);
+    assigns *((char *)object + (0 .. obj_size - 1))
+      \from *((char *)object + (0 .. obj_size - 1)), desired,
+            (indirect: order), (indirect: obj_size);
+ */
 unsigned long long __fc_atomic_exchange_explicit(void *object,
                                                  unsigned long long desired,
                                                  memory_order order,
@@ -5741,6 +6459,21 @@ unsigned long long __fc_atomic_exchange_explicit(void *object,
   return tmp;
 }
 
+/*@ assigns *((char *)object + (0 .. obj_size - 1)),
+            *((char *)expected + (0 .. obj_size - 1)), \result;
+    assigns *((char *)object + (0 .. obj_size - 1))
+      \from *((char *)object + (0 .. obj_size - 1)),
+            *((char *)expected + (0 .. obj_size - 1)), desired,
+            (indirect: obj_size);
+    assigns *((char *)expected + (0 .. obj_size - 1))
+      \from *((char *)object + (0 .. obj_size - 1)),
+            *((char *)expected + (0 .. obj_size - 1)), desired,
+            (indirect: obj_size);
+    assigns \result
+      \from (indirect: *((char *)object + (0 .. obj_size - 1))),
+            (indirect: *((char *)expected + (0 .. obj_size - 1))),
+            (indirect: obj_size);
+ */
 _Bool __fc_atomic_compare_exchange_strong(void *object, void *expected,
                                           unsigned long long desired,
                                           size_t obj_size)
@@ -5753,6 +6486,21 @@ _Bool __fc_atomic_compare_exchange_strong(void *object, void *expected,
   return __retres;
 }
 
+/*@ assigns *((char *)object + (0 .. obj_size - 1)),
+            *((char *)expected + (0 .. obj_size - 1)), \result;
+    assigns *((char *)object + (0 .. obj_size - 1))
+      \from *((char *)object + (0 .. obj_size - 1)),
+            *((char *)expected + (0 .. obj_size - 1)), desired,
+            (indirect: success), (indirect: failure), (indirect: obj_size);
+    assigns *((char *)expected + (0 .. obj_size - 1))
+      \from *((char *)object + (0 .. obj_size - 1)),
+            *((char *)expected + (0 .. obj_size - 1)), desired,
+            (indirect: success), (indirect: failure), (indirect: obj_size);
+    assigns \result
+      \from (indirect: *((char *)object + (0 .. obj_size - 1))),
+            (indirect: *((char *)expected + (0 .. obj_size - 1))),
+            (indirect: success), (indirect: failure), (indirect: obj_size);
+ */
 _Bool __fc_atomic_compare_exchange_strong_explicit(void *object,
                                                    void *expected,
                                                    unsigned long long desired,
@@ -5765,6 +6513,21 @@ _Bool __fc_atomic_compare_exchange_strong_explicit(void *object,
   return tmp;
 }
 
+/*@ assigns *((char *)object + (0 .. obj_size - 1)),
+            *((char *)expected + (0 .. obj_size - 1)), \result;
+    assigns *((char *)object + (0 .. obj_size - 1))
+      \from *((char *)object + (0 .. obj_size - 1)),
+            *((char *)expected + (0 .. obj_size - 1)), desired,
+            (indirect: obj_size);
+    assigns *((char *)expected + (0 .. obj_size - 1))
+      \from *((char *)object + (0 .. obj_size - 1)),
+            *((char *)expected + (0 .. obj_size - 1)), desired,
+            (indirect: obj_size);
+    assigns \result
+      \from (indirect: *((char *)object + (0 .. obj_size - 1))),
+            (indirect: *((char *)expected + (0 .. obj_size - 1))),
+            (indirect: desired), (indirect: obj_size);
+ */
 _Bool __fc_atomic_compare_exchange_weak(void *object, void *expected,
                                         unsigned long long desired,
                                         size_t obj_size)
@@ -5774,6 +6537,22 @@ _Bool __fc_atomic_compare_exchange_weak(void *object, void *expected,
   return tmp;
 }
 
+/*@ assigns *((char *)object + (0 .. obj_size - 1)),
+            *((char *)expected + (0 .. obj_size - 1)), \result;
+    assigns *((char *)object + (0 .. obj_size - 1))
+      \from *((char *)object + (0 .. obj_size - 1)),
+            *((char *)expected + (0 .. obj_size - 1)), desired,
+            (indirect: success), (indirect: failure), (indirect: obj_size);
+    assigns *((char *)expected + (0 .. obj_size - 1))
+      \from *((char *)object + (0 .. obj_size - 1)),
+            *((char *)expected + (0 .. obj_size - 1)), desired,
+            (indirect: success), (indirect: failure), (indirect: obj_size);
+    assigns \result
+      \from (indirect: *((char *)object + (0 .. obj_size - 1))),
+            (indirect: *((char *)expected + (0 .. obj_size - 1))),
+            (indirect: desired), (indirect: success), (indirect: failure),
+            (indirect: obj_size);
+ */
 _Bool __fc_atomic_compare_exchange_weak_explicit(void *object,
                                                  void *expected,
                                                  unsigned long long desired,
@@ -5786,6 +6565,14 @@ _Bool __fc_atomic_compare_exchange_weak_explicit(void *object,
   return tmp;
 }
 
+/*@ assigns *((char *)obj + (0 .. obj_size - 1)), \result;
+    assigns *((char *)obj + (0 .. obj_size - 1))
+      \from *((char *)obj + (0 .. obj_size - 1)), operand,
+            (indirect: obj_size);
+    assigns \result
+      \from *((char *)obj + (0 .. obj_size - 1)), operand,
+            (indirect: obj_size);
+ */
 unsigned long long __fc_atomic_fetch_add(void *obj,
                                          unsigned long long operand,
                                          size_t obj_size)
@@ -5815,10 +6602,18 @@ unsigned long long __fc_atomic_fetch_add(void *obj,
             r = *((atomic_ullong volatile *)obj);
             *((atomic_ullong volatile *)obj) += operand;
           }
-          else __FC_assert(0 != 0,"FRAMAC_SHARE/libc/stdatomic.c",139,"0");
+          else __FC_assert(0 != 0,"FRAMAC_SHARE/libc/stdatomic.c",142,"0");
   return r;
 }
 
+/*@ assigns *((char *)obj + (0 .. obj_size - 1)), \result;
+    assigns *((char *)obj + (0 .. obj_size - 1))
+      \from *((char *)obj + (0 .. obj_size - 1)), operand, (indirect: order),
+            (indirect: obj_size);
+    assigns \result
+      \from *((char *)obj + (0 .. obj_size - 1)), operand, (indirect: order),
+            (indirect: obj_size);
+ */
 unsigned long long __fc_atomic_fetch_add_explicit(void *obj,
                                                   unsigned long long operand,
                                                   memory_order order,
@@ -5829,6 +6624,14 @@ unsigned long long __fc_atomic_fetch_add_explicit(void *obj,
   return tmp;
 }
 
+/*@ assigns *((char *)obj + (0 .. obj_size - 1)), \result;
+    assigns *((char *)obj + (0 .. obj_size - 1))
+      \from *((char *)obj + (0 .. obj_size - 1)), operand,
+            (indirect: obj_size);
+    assigns \result
+      \from *((char *)obj + (0 .. obj_size - 1)), operand,
+            (indirect: obj_size);
+ */
 unsigned long long __fc_atomic_fetch_sub(void *obj,
                                          unsigned long long operand,
                                          size_t obj_size)
@@ -5858,10 +6661,18 @@ unsigned long long __fc_atomic_fetch_sub(void *obj,
             r = *((atomic_ullong volatile *)obj);
             *((atomic_ullong volatile *)obj) -= operand;
           }
-          else __FC_assert(0 != 0,"FRAMAC_SHARE/libc/stdatomic.c",163,"0");
+          else __FC_assert(0 != 0,"FRAMAC_SHARE/libc/stdatomic.c",166,"0");
   return r;
 }
 
+/*@ assigns *((char *)obj + (0 .. obj_size - 1)), \result;
+    assigns *((char *)obj + (0 .. obj_size - 1))
+      \from *((char *)obj + (0 .. obj_size - 1)), operand, (indirect: order),
+            (indirect: obj_size);
+    assigns \result
+      \from *((char *)obj + (0 .. obj_size - 1)), operand, (indirect: order),
+            (indirect: obj_size);
+ */
 unsigned long long __fc_atomic_fetch_sub_explicit(void *obj,
                                                   unsigned long long operand,
                                                   memory_order order,
@@ -5872,6 +6683,14 @@ unsigned long long __fc_atomic_fetch_sub_explicit(void *obj,
   return tmp;
 }
 
+/*@ assigns *((char *)obj + (0 .. obj_size - 1)), \result;
+    assigns *((char *)obj + (0 .. obj_size - 1))
+      \from *((char *)obj + (0 .. obj_size - 1)), operand,
+            (indirect: obj_size);
+    assigns \result
+      \from *((char *)obj + (0 .. obj_size - 1)), operand,
+            (indirect: obj_size);
+ */
 unsigned long long __fc_atomic_fetch_or(void *obj,
                                         unsigned long long operand,
                                         size_t obj_size)
@@ -5901,10 +6720,18 @@ unsigned long long __fc_atomic_fetch_or(void *obj,
             r = *((atomic_ullong volatile *)obj);
             *((atomic_ullong volatile *)obj) |= operand;
           }
-          else __FC_assert(0 != 0,"FRAMAC_SHARE/libc/stdatomic.c",187,"0");
+          else __FC_assert(0 != 0,"FRAMAC_SHARE/libc/stdatomic.c",190,"0");
   return r;
 }
 
+/*@ assigns *((char *)obj + (0 .. obj_size - 1)), \result;
+    assigns *((char *)obj + (0 .. obj_size - 1))
+      \from *((char *)obj + (0 .. obj_size - 1)), operand, (indirect: order),
+            (indirect: obj_size);
+    assigns \result
+      \from *((char *)obj + (0 .. obj_size - 1)), operand, (indirect: order),
+            (indirect: obj_size);
+ */
 unsigned long long __fc_atomic_fetch_or_explicit(void *obj,
                                                  unsigned long long operand,
                                                  memory_order order,
@@ -5915,6 +6742,14 @@ unsigned long long __fc_atomic_fetch_or_explicit(void *obj,
   return tmp;
 }
 
+/*@ assigns *((char *)obj + (0 .. obj_size - 1)), \result;
+    assigns *((char *)obj + (0 .. obj_size - 1))
+      \from *((char *)obj + (0 .. obj_size - 1)), operand,
+            (indirect: obj_size);
+    assigns \result
+      \from *((char *)obj + (0 .. obj_size - 1)), operand,
+            (indirect: obj_size);
+ */
 unsigned long long __fc_atomic_fetch_xor(void *obj,
                                          unsigned long long operand,
                                          size_t obj_size)
@@ -5944,10 +6779,18 @@ unsigned long long __fc_atomic_fetch_xor(void *obj,
             r = *((atomic_ullong volatile *)obj);
             *((atomic_ullong volatile *)obj) ^= operand;
           }
-          else __FC_assert(0 != 0,"FRAMAC_SHARE/libc/stdatomic.c",217,"0");
+          else __FC_assert(0 != 0,"FRAMAC_SHARE/libc/stdatomic.c",220,"0");
   return r;
 }
 
+/*@ assigns *((char *)obj + (0 .. obj_size - 1)), \result;
+    assigns *((char *)obj + (0 .. obj_size - 1))
+      \from *((char *)obj + (0 .. obj_size - 1)), operand, (indirect: order),
+            (indirect: obj_size);
+    assigns \result
+      \from *((char *)obj + (0 .. obj_size - 1)), operand, (indirect: order),
+            (indirect: obj_size);
+ */
 unsigned long long __fc_atomic_fetch_xor_explicit(void *obj,
                                                   unsigned long long operand,
                                                   memory_order order,
@@ -5958,6 +6801,14 @@ unsigned long long __fc_atomic_fetch_xor_explicit(void *obj,
   return tmp;
 }
 
+/*@ assigns *((char *)obj + (0 .. obj_size - 1)), \result;
+    assigns *((char *)obj + (0 .. obj_size - 1))
+      \from *((char *)obj + (0 .. obj_size - 1)), operand,
+            (indirect: obj_size);
+    assigns \result
+      \from *((char *)obj + (0 .. obj_size - 1)), operand,
+            (indirect: obj_size);
+ */
 unsigned long long __fc_atomic_fetch_and(void *obj,
                                          unsigned long long operand,
                                          size_t obj_size)
@@ -5987,10 +6838,18 @@ unsigned long long __fc_atomic_fetch_and(void *obj,
             r = *((atomic_ullong volatile *)obj);
             *((atomic_ullong volatile *)obj) &= operand;
           }
-          else __FC_assert(0 != 0,"FRAMAC_SHARE/libc/stdatomic.c",247,"0");
+          else __FC_assert(0 != 0,"FRAMAC_SHARE/libc/stdatomic.c",250,"0");
   return r;
 }
 
+/*@ assigns *((char *)obj + (0 .. obj_size - 1)), \result;
+    assigns *((char *)obj + (0 .. obj_size - 1))
+      \from *((char *)obj + (0 .. obj_size - 1)), operand, (indirect: order),
+            (indirect: obj_size);
+    assigns \result
+      \from *((char *)obj + (0 .. obj_size - 1)), operand, (indirect: order),
+            (indirect: obj_size);
+ */
 unsigned long long __fc_atomic_fetch_and_explicit(void *obj,
                                                   unsigned long long operand,
                                                   memory_order order,
@@ -6001,6 +6860,10 @@ unsigned long long __fc_atomic_fetch_and_explicit(void *obj,
   return tmp;
 }
 
+/*@ assigns *object, \result;
+    assigns *object \from *object;
+    assigns \result \from (indirect: object);
+ */
 _Bool atomic_flag_test_and_set(atomic_flag volatile *object)
 {
   _Bool r = (_Bool)((int)object->__fc_val != 0);
@@ -6008,6 +6871,10 @@ _Bool atomic_flag_test_and_set(atomic_flag volatile *object)
   return r;
 }
 
+/*@ assigns *object, \result;
+    assigns *object \from *object, (indirect: order);
+    assigns \result \from (indirect: object), (indirect: order);
+ */
 _Bool atomic_flag_test_and_set_explicit(atomic_flag volatile *object,
                                         memory_order order)
 {
@@ -6016,12 +6883,16 @@ _Bool atomic_flag_test_and_set_explicit(atomic_flag volatile *object,
   return r;
 }
 
+/*@ assigns *object;
+    assigns *object \from *object; */
 void atomic_flag_clear(atomic_flag volatile *object)
 {
   object->__fc_val = (unsigned char)0;
   return;
 }
 
+/*@ assigns *object;
+    assigns *object \from *object, (indirect: order); */
 void atomic_flag_clear_explicit(atomic_flag volatile *object,
                                 memory_order order)
 {
@@ -6179,18 +7050,13 @@ extern int setvbuf(FILE * restrict stream, char * restrict buf, int mode,
 extern int vfprintf(FILE * restrict stream, char const * restrict format,
                     va_list arg);
 
-/*@ assigns *stream;
-    assigns *stream \from *(format + (..)), *stream; */
-extern int vfscanf(FILE * restrict stream, char const * restrict format,
-                   va_list arg);
+int vfscanf(FILE * restrict stream, char const * restrict format, va_list arg);
 
 /*@ assigns *__fc_stdout;
     assigns *__fc_stdout \from arg; */
 extern int vprintf(char const * restrict format, va_list arg);
 
-/*@ assigns *__fc_stdin;
-    assigns *__fc_stdin \from *(format + (..)); */
-extern int vscanf(char const * restrict format, va_list arg);
+int vscanf(char const * restrict format, va_list arg);
 
 /*@ assigns *(s + (0 .. n - 1));
     assigns *(s + (0 .. n - 1)) \from *(format + (..)), arg;
@@ -6515,6 +7381,8 @@ FILE *fmemopen(void * restrict buf, size_t size, char const * restrict mode);
 
 int asprintf(char **strp, char const *fmt, void * const *__va_params);
 
+int vasprintf(char **strp, char const *fmt, va_list ap);
+
 FILE __fc_initial_stdout =
   {.__fc_FILE_id = (unsigned int)1, .__fc_FILE_data = 0U};
 FILE *__fc_stdout = & __fc_initial_stdout;
@@ -6524,7 +7392,10 @@ FILE *__fc_stderr = & __fc_initial_stderr;
 FILE __fc_initial_stdin =
   {.__fc_FILE_id = (unsigned int)0, .__fc_FILE_data = 0U};
 FILE *__fc_stdin = & __fc_initial_stdin;
-/*@ requires valid_mode: valid_read_string(mode); */
+/*@ requires valid_mode: valid_read_string(mode);
+    assigns \result;
+    assigns \result \from *(mode + (0 .. strlen{Old}(mode)));
+ */
 static _Bool is_valid_mode(char const *mode)
 {
   _Bool __retres;
@@ -6561,6 +7432,12 @@ static _Bool is_valid_mode(char const *mode)
   return_label: return __retres;
 }
 
+/*@ assigns *(*lineptr + (0 .. *n - 1)), *n, *stream, \result;
+    assigns *(*lineptr + (0 .. *n - 1)) \from *stream;
+    assigns *n \from *stream;
+    assigns *stream \from *stream;
+    assigns \result \from *stream;
+ */
 ssize_t getline(char **lineptr, size_t *n, FILE *stream)
 {
   ssize_t __retres;
@@ -6660,21 +7537,19 @@ ssize_t getline(char **lineptr, size_t *n, FILE *stream)
 
 /*@ requires valid_strp: \valid(strp);
     requires valid_fmt: valid_read_string(fmt);
-    ensures result_error_or_written_byes: \result ≡ -1 ∨ \result ≥ 0;
+    ensures result_error_or_written_bytes: \result ≡ -1 ∨ \result ≥ 0;
     assigns __fc_heap_status, \result, *strp;
     assigns __fc_heap_status
-      \from (indirect: *(fmt + (0 ..))), __fc_heap_status;
+      \from (indirect: *(fmt + (0 ..))), (indirect: ap), __fc_heap_status;
     assigns \result
       \from (indirect: *(fmt + (0 ..))), (indirect: __fc_heap_status);
-    assigns *strp \from *(fmt + (0 ..)), (indirect: __fc_heap_status);
+    assigns *strp \from *(fmt + (0 ..)), ap, (indirect: __fc_heap_status);
     allocates *\old(strp);
  */
-int asprintf(char **strp, char const *fmt, void * const *__va_params)
+int vasprintf(char **strp, char const *fmt, va_list ap)
 {
   int __retres;
-  va_list args;
   int tmp;
-  args = __va_params;
   tmp = Frama_C_interval(1,256);
   size_t len = (size_t)tmp;
   *strp = (char *)malloc(len);
@@ -6688,6 +7563,25 @@ int asprintf(char **strp, char const *fmt, void * const *__va_params)
   return_label: return __retres;
 }
 
+/*@ requires valid_strp: \valid(strp);
+    requires valid_fmt: valid_read_string(fmt);
+    ensures result_error_or_written_bytes: \result ≡ -1 ∨ \result ≥ 0;
+    assigns __fc_heap_status, \result, *strp;
+    assigns __fc_heap_status
+      \from (indirect: *(fmt + (0 ..))), __fc_heap_status;
+    assigns \result
+      \from (indirect: *(fmt + (0 ..))), (indirect: __fc_heap_status);
+    assigns *strp \from *(fmt + (0 ..)), (indirect: __fc_heap_status);
+    allocates *\old(strp);
+ */
+int asprintf(char **strp, char const *fmt, void * const *__va_params)
+{
+  va_list args;
+  args = __va_params;
+  int res = vasprintf(strp,fmt,args);
+  return res;
+}
+
 /*@ requires valid_stream: \valid(stream);
     requires room_s: \valid(s + (0 .. size - 1));
     ensures result_null_or_same: \result ≡ \null ∨ \result ≡ \old(s);
@@ -6856,6 +7750,390 @@ FILE *fmemopen(void * restrict buf, size_t size, char const * restrict mode)
   return_label: return __retres;
 }
 
+/*@ assigns *stream;
+    assigns *stream \from *(format + (..)), *stream; */
+int vfscanf(FILE * restrict stream, char const * restrict format, va_list arg)
+{
+  int __retres;
+  char const *p = format;
+  char conversion_counter = (char)0;
+  while (*p) {
+    if ((int)*p == '%') {
+      enum length_modifier lm = NONE;
+      char asterisks = (char)0;
+      p ++;
+      if ((int)*p == '%') break;
+      while (1) {
+        switch ((int)*p) {
+          case '-': case '+': case ' ': case '#': case '0': break;
+          default: goto post_flags;
+        }
+        p ++;
+      }
+      post_flags:
+      while (1) {
+        if ((int)*p >= '0') {
+          if (! ((int)*p <= '9')) break;
+        }
+        else break;
+        p ++;
+      }
+      if ((int)*p == '*') {
+        asterisks = (char)((int)asterisks + 1);
+        p ++;
+      }
+      if ((int)*p == '.') {
+        p ++;
+        while (1) {
+          if ((int)*p >= '0') {
+            if (! ((int)*p <= '9')) break;
+          }
+          else break;
+          p ++;
+        }
+        if ((int)*p == '*') {
+          asterisks = (char)((int)asterisks + 1);
+          p ++;
+        }
+      }
+      switch ((int)*p) {
+        case 'h': p ++;
+        if ((int)*p == 'h') {
+          p ++;
+          lm = HH;
+        }
+        else lm = H;
+        break;
+        case 'l': p ++;
+        if ((int)*p == 'l') {
+          p ++;
+          lm = LL;
+        }
+        else lm = L;
+        break;
+        case 'j': p ++;
+        lm = J;
+        break;
+        case 'z': p ++;
+        lm = Z;
+        break;
+        case 't': p ++;
+        lm = T;
+        break;
+        case 'L': p ++;
+        lm = UPPER_L;
+        break;
+      }
+      while (asterisks) {
+        int tmp;
+        tmp = *((int *)*arg);
+        arg ++;
+        int ignored = tmp;
+        int tmp_2 = ignored;
+        asterisks = (char)((int)asterisks - 1);
+      }
+      switch ((int)*p) {
+        case 'd': case 'i': ;
+        switch (lm) {
+          int *tmp_0;
+          char *tmp_1;
+          short *tmp_2_0;
+          long *tmp_3;
+          long long *tmp_4;
+          intmax_t *tmp_5;
+          size_t *tmp_6;
+          ptrdiff_t *tmp_7;
+          case NONE:
+          { /* sequence */
+            tmp_0 = *((int **)*arg);
+            arg ++;
+            *tmp_0 = Frama_C_interval(-2147483647 - 1,2147483647);
+          }
+          break;
+          case HH:
+          { /* sequence */
+            tmp_1 = *((char **)*arg);
+            arg ++;
+            *tmp_1 = Frama_C_char_interval((char)(-127 - 1),(char)127);
+          }
+          break;
+          case H:
+          { /* sequence */
+            tmp_2_0 = *((short **)*arg);
+            arg ++;
+            *tmp_2_0 = Frama_C_short_interval((short)(-32767 - 1),
+                                              (short)32767);
+          }
+          break;
+          case L:
+          { /* sequence */
+            tmp_3 = *((long **)*arg);
+            arg ++;
+            *tmp_3 = Frama_C_long_interval(-2147483647L - 1L,2147483647L);
+          }
+          break;
+          case LL: case UPPER_L:
+          { /* sequence */
+            tmp_4 = *((long long **)*arg);
+            arg ++;
+            *tmp_4 = Frama_C_long_long_interval(-9223372036854775807LL - 1LL,
+                                                9223372036854775807LL);
+          }
+          break;
+          case J:
+          { /* sequence */
+            tmp_5 = *((intmax_t **)*arg);
+            arg ++;
+            *tmp_5 = Frama_C_intmax_t_interval(-9223372036854775807LL - 1LL,
+                                               9223372036854775807LL);
+          }
+          break;
+          case Z:
+          { /* sequence */
+            tmp_6 = *((size_t **)*arg);
+            arg ++;
+            *tmp_6 = Frama_C_size_t_interval((size_t)0,4294967295U);
+          }
+          break;
+          case T:
+          { /* sequence */
+            tmp_7 = *((ptrdiff_t **)*arg);
+            arg ++;
+            *tmp_7 = Frama_C_ptrdiff_t_interval(-2147483647 - 1,2147483647);
+          }
+          break;
+        }
+        break;
+        case 'o': case 'u': case 'x': case 'X': ;
+        switch (lm) {
+          unsigned int *tmp_8;
+          unsigned char *tmp_9;
+          unsigned short *tmp_10;
+          unsigned long *tmp_11;
+          unsigned long long *tmp_12;
+          uintmax_t *tmp_13;
+          size_t *tmp_14;
+          ptrdiff_t *tmp_15;
+          case NONE:
+          { /* sequence */
+            tmp_8 = *((unsigned int **)*arg);
+            arg ++;
+            *tmp_8 = Frama_C_unsigned_int_interval((unsigned int)0,
+                                                   4294967295U);
+          }
+          break;
+          case HH:
+          { /* sequence */
+            tmp_9 = *((unsigned char **)*arg);
+            arg ++;
+            *tmp_9 = Frama_C_unsigned_char_interval((unsigned char)0,
+                                                    (unsigned char)255U);
+          }
+          break;
+          case H:
+          { /* sequence */
+            tmp_10 = *((unsigned short **)*arg);
+            arg ++;
+            *tmp_10 = Frama_C_unsigned_short_interval((unsigned short)0,
+                                                      (unsigned short)65535U);
+          }
+          break;
+          case L:
+          { /* sequence */
+            tmp_11 = *((unsigned long **)*arg);
+            arg ++;
+            *tmp_11 = Frama_C_unsigned_long_interval((unsigned long)0,
+                                                     4294967295UL);
+          }
+          break;
+          case LL: case UPPER_L:
+          { /* sequence */
+            tmp_12 = *((unsigned long long **)*arg);
+            arg ++;
+            *tmp_12 = Frama_C_unsigned_long_long_interval((unsigned long long)0,
+                                                          18446744073709551615ULL);
+          }
+          break;
+          case J:
+          { /* sequence */
+            tmp_13 = *((uintmax_t **)*arg);
+            arg ++;
+            *tmp_13 = Frama_C_uintmax_t_interval((uintmax_t)0,
+                                                 18446744073709551615ULL);
+          }
+          break;
+          case Z:
+          { /* sequence */
+            tmp_14 = *((size_t **)*arg);
+            arg ++;
+            *tmp_14 = Frama_C_size_t_interval((size_t)0,4294967295U);
+          }
+          break;
+          case T:
+          { /* sequence */
+            tmp_15 = *((ptrdiff_t **)*arg);
+            arg ++;
+            *tmp_15 = Frama_C_ptrdiff_t_interval(-2147483647 - 1,2147483647);
+          }
+          break;
+        }
+        break;
+        case 'f': case 'F': case 'e': case 'E': case 'g': case 'G': case 'a':
+        case 'A':
+        ;
+        switch (lm) {
+          double *tmp_16;
+          case NONE: case L:
+          { /* sequence */
+            tmp_16 = *((double **)*arg);
+            arg ++;
+            *tmp_16 = Frama_C_double_interval(- 0x1.fffffffffffffp+1023,
+                                              0x1.fffffffffffffp+1023);
+          }
+          break;
+          case UPPER_L:
+          {
+            long double volatile vld;
+            long double *tmp_17;
+            tmp_17 = *((long double **)*arg);
+            arg ++;
+            *tmp_17 = vld;
+          }
+          break;
+          default: /*@ assert invalid_scanf_specifier: \false; */ ;
+        }
+        break;
+        case 'c': ;
+        switch (lm) {
+          char *tmp_18;
+          wint_t *tmp_19;
+          case NONE:
+          { /* sequence */
+            tmp_18 = *((char **)*arg);
+            arg ++;
+            *tmp_18 = Frama_C_char_interval((char)(-127 - 1),(char)127);
+          }
+          break;
+          case L:
+          { /* sequence */
+            tmp_19 = *((wint_t **)*arg);
+            arg ++;
+            *tmp_19 = Frama_C_wint_t_interval((wint_t)0,4294967295U);
+          }
+          default: /*@ assert invalid_scanf_specifier: \false; */ ;
+        }
+        break;
+        case 's': ;
+        switch (lm) {
+          size_t tmp_20;
+          char *tmp_21;
+          size_t tmp_22;
+          wchar_t *tmp_23;
+          case NONE:
+          { /* sequence */
+            tmp_20 = Frama_C_size_t_interval((size_t)0,4294967295U);
+            tmp_21 = *((char **)*arg);
+            arg ++;
+          }
+          Frama_C_make_unknown(tmp_21,tmp_20);
+          break;
+          case L:
+          { /* sequence */
+            tmp_22 = Frama_C_size_t_interval((size_t)0,
+                                             4294967295U / sizeof(wchar_t));
+            tmp_23 = *((wchar_t **)*arg);
+            arg ++;
+          }
+          Frama_C_make_unknown_wchar(tmp_23,tmp_22);
+          default: /*@ assert invalid_scanf_specifier: \false; */ ;
+        }
+        break;
+        case 'n': ;
+        switch (lm) {
+          int *tmp_24;
+          char *tmp_25;
+          short *tmp_26;
+          long *tmp_27;
+          long long *tmp_28;
+          intmax_t *tmp_29;
+          size_t *tmp_30;
+          ptrdiff_t *tmp_31;
+          case NONE:
+          { /* sequence */
+            tmp_24 = *((int **)*arg);
+            arg ++;
+            *tmp_24 = (int)conversion_counter;
+          }
+          break;
+          case HH:
+          { /* sequence */
+            tmp_25 = *((char **)*arg);
+            arg ++;
+            *tmp_25 = conversion_counter;
+          }
+          break;
+          case H:
+          { /* sequence */
+            tmp_26 = *((short **)*arg);
+            arg ++;
+            *tmp_26 = (short)conversion_counter;
+          }
+          break;
+          case L:
+          { /* sequence */
+            tmp_27 = *((long **)*arg);
+            arg ++;
+            *tmp_27 = (long)conversion_counter;
+          }
+          break;
+          case LL: case UPPER_L:
+          { /* sequence */
+            tmp_28 = *((long long **)*arg);
+            arg ++;
+            *tmp_28 = (long long)conversion_counter;
+          }
+          break;
+          case J:
+          { /* sequence */
+            tmp_29 = *((intmax_t **)*arg);
+            arg ++;
+            *tmp_29 = (intmax_t)conversion_counter;
+          }
+          break;
+          case Z:
+          { /* sequence */
+            tmp_30 = *((size_t **)*arg);
+            arg ++;
+            *tmp_30 = (size_t)conversion_counter;
+          }
+          break;
+          case T:
+          { /* sequence */
+            tmp_31 = *((ptrdiff_t **)*arg);
+            arg ++;
+            *tmp_31 = (ptrdiff_t)conversion_counter;
+          }
+          break;
+        }
+        break;
+      }
+      conversion_counter = (char)((int)conversion_counter + 1);
+    }
+    p ++;
+  }
+  __retres = (int)conversion_counter;
+  return __retres;
+}
+
+/*@ assigns *__fc_stdin;
+    assigns *__fc_stdin \from *(format + (..)); */
+int vscanf(char const * restrict format, va_list arg)
+{
+  int tmp;
+  tmp = vfscanf(__fc_stdin,format,arg);
+  return tmp;
+}
+
 /*@ requires abs_representable: i > -2147483647 - 1;
     assigns \result;
     assigns \result \from i;
@@ -6882,9 +8160,10 @@ int abs(int i)
   return_label: return __retres;
 }
 
-/*@ requires valid_nptr: \valid_read(p);
+/*@ requires valid_nptr: valid_read_string(p);
     assigns \result;
-    assigns \result \from (indirect: p), (indirect: *(p + (0 ..)));
+    assigns \result
+      \from (indirect: p), (indirect: *(p + (0 .. strlen{Old}(p))));
  */
 int atoi(char const *p)
 {
@@ -6980,6 +8259,10 @@ void *calloc(size_t nmemb, size_t size)
 
 static char __fc_env_strings[64];
 static char __fc_initenv_init;
+/*@ assigns __fc_env_strings[0 .. 64 - 1], __fc_env[0 .. 4096 - 1];
+    assigns __fc_env_strings[0 .. 64 - 1] \from Frama_C_entropy_source;
+    assigns __fc_env[0 .. 4096 - 1] \from Frama_C_entropy_source;
+ */
 static void __fc_initenv(void)
 {
   if (! __fc_initenv_init) {
@@ -7001,9 +8284,14 @@ static void __fc_initenv(void)
 }
 
 /*@ requires valid_name: valid_read_string(name);
-    ensures null_or_valid_result: \result ≡ \null ∨ \valid(\result);
+    ensures
+      null_or_valid_result:
+        \result ≡ \null ∨
+        (\valid(\result) ∧ valid_read_string(\result));
     assigns \result;
-    assigns \result \from __fc_env[0 ..], (indirect: name), *(name + (0 ..));
+    assigns \result
+      \from __fc_env[0 ..], (indirect: name),
+            (indirect: *(name + (0 .. strlen{Old}(name))));
  */
 char *getenv(char const *name)
 {
@@ -7047,6 +8335,7 @@ int putenv(char *string)
     tmp_1 = Frama_C_nondet(0,1);
     if (tmp_1) {
       int tmp_0;
+      __fc_errno = 12;
       tmp_0 = Frama_C_interval(-2147483647 - 1,2147483647);
       __retres = tmp_0;
       goto return_label;
@@ -7061,15 +8350,69 @@ int putenv(char *string)
 /*@ requires valid_name: valid_read_string(name);
     requires valid_value: valid_read_string(value);
     ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
-    assigns \result, __fc_env[0 ..];
+    assigns \result, __fc_env[0 ..], *(__fc_env[0 ..] + (0 ..));
     assigns \result
-      \from __fc_env[0 ..], (indirect: name), (indirect: *(name + (0 ..))),
-            (indirect: value), (indirect: *(value + (0 ..))),
+      \from __fc_env[0 ..], (indirect: *(name + (0 .. strlen{Old}(name)))),
+            (indirect: *(value + (0 .. strlen{Old}(value)))),
             (indirect: overwrite);
     assigns __fc_env[0 ..]
-      \from __fc_env[0 ..], (indirect: name), (indirect: *(name + (0 ..))),
-            (indirect: value), (indirect: *(value + (0 ..))),
+      \from __fc_env[0 ..], (indirect: *(name + (0 .. strlen{Old}(name)))),
+            (indirect: *(value + (0 .. strlen{Old}(value)))),
+            (indirect: overwrite);
+    assigns *(__fc_env[0 ..] + (0 ..))
+      \from *(name + (0 .. strlen{Old}(name))),
+            *(value + (0 .. strlen{Old}(value))), (indirect: __fc_env[0 ..]),
             (indirect: overwrite);
+    allocates __fc_env[0 ..];
+    
+    behavior invalid_name:
+      assumes
+        name_empty_or_with_equals_sign:
+          strlen(name) ≡ 0 ∨ strchr(name, '=') ≡ \true;
+      ensures error: \result ≡ -1;
+      ensures errno_set: __fc_errno ≡ 22;
+      assigns \result, __fc_errno;
+      assigns \result \from (indirect: *(name + (0 .. strlen{Old}(name))));
+      assigns __fc_errno
+        \from (indirect: *(name + (0 .. strlen{Old}(name))));
+      allocates \nothing;
+    
+    behavior out_of_memory:
+      assumes
+        not_enough_memory: ¬is_allocable((strlen(name) + strlen(value)) + 2);
+      ensures error: \result ≡ -1;
+      ensures errno_set: __fc_errno ≡ 12;
+      assigns \result, __fc_errno;
+      assigns \result
+        \from (indirect: *(name + (0 .. strlen{Old}(name)))),
+              (indirect: *(value + (0 .. strlen{Old}(value)))),
+              (indirect: overwrite);
+      assigns __fc_errno
+        \from (indirect: *(name + (0 .. strlen{Old}(name)))),
+              (indirect: *(value + (0 .. strlen{Old}(value)))),
+              (indirect: overwrite);
+      allocates \nothing;
+    
+    behavior ok:
+      assumes name_not_empty: strlen(name) > 0;
+      assumes name_has_no_equals_sign: ¬(strchr(name, '=') ≡ \true);
+      assumes
+        enough_memory: is_allocable((strlen(name) + strlen(value)) + 2);
+      ensures ok: \result ≡ 0;
+      assigns \result, __fc_env[0 ..], *(__fc_env[0 ..] + (0 ..));
+      assigns \result
+        \from __fc_env[0 ..], (indirect: *(name + (0 .. strlen{Old}(name)))),
+              (indirect: *(value + (0 .. strlen{Old}(value)))),
+              (indirect: overwrite);
+      assigns __fc_env[0 ..]
+        \from __fc_env[0 ..], (indirect: *(name + (0 .. strlen{Old}(name)))),
+              (indirect: *(value + (0 .. strlen{Old}(value)))),
+              (indirect: overwrite);
+      assigns *(__fc_env[0 ..] + (0 ..))
+        \from *(name + (0 .. strlen{Old}(name))),
+              *(value + (0 .. strlen{Old}(value))),
+              (indirect: __fc_env[0 ..]), (indirect: overwrite);
+      allocates __fc_env[0 ..];
  */
 int setenv(char const *name, char const *value, int overwrite)
 {
@@ -7078,17 +8421,20 @@ int setenv(char const *name, char const *value, int overwrite)
   int tmp_4;
   tmp = strchr(name,'=');
   if (tmp) {
+    __fc_errno = 22;
     __retres = -1;
     goto return_label;
   }
   size_t namelen = strlen(name);
   if (namelen == (size_t)0) {
+    __fc_errno = 22;
     __retres = -1;
     goto return_label;
   }
   __fc_initenv();
   tmp_4 = Frama_C_nondet(0,1);
   if (tmp_4) {
+    __fc_errno = 12;
     __retres = -1;
     goto return_label;
   }
@@ -7111,9 +8457,11 @@ int setenv(char const *name, char const *value, int overwrite)
     ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
     assigns \result, __fc_env[0 ..];
     assigns \result
-      \from __fc_env[0 ..], (indirect: name), (indirect: *(name + (0 ..)));
+      \from __fc_env[0 ..], (indirect: name),
+            (indirect: *(name + (0 .. strlen{Old}(name))));
     assigns __fc_env[0 ..]
-      \from __fc_env[0 ..], (indirect: name), (indirect: *(name + (0 ..)));
+      \from __fc_env[0 ..], (indirect: name),
+            (indirect: *(name + (0 .. strlen{Old}(name))));
  */
 int unsetenv(char const *name)
 {
@@ -7122,11 +8470,13 @@ int unsetenv(char const *name)
   int tmp_2;
   tmp = strchr(name,'=');
   if (tmp) {
+    __fc_errno = 22;
     __retres = -1;
     goto return_label;
   }
   size_t namelen = strlen(name);
   if (namelen == (size_t)0) {
+    __fc_errno = 22;
     __retres = -1;
     goto return_label;
   }
@@ -7312,6 +8662,10 @@ char *realpath(char const * restrict file_name, char * restrict resolved_name)
   return_label: return __retres;
 }
 
+/*@ assigns \result;
+    assigns \result \from *(path + (0 .. strlen{Old}(path)));
+    allocates \result;
+ */
 char *canonicalize_file_name(char const *path)
 {
   char *tmp;
@@ -7580,7 +8934,8 @@ void *memset(void *s, int c, size_t n)
     ensures acsl_c_equiv: \result ≡ strcmp(\old(s1), \old(s2));
     assigns \result;
     assigns \result
-      \from (indirect: *(s1 + (0 ..))), (indirect: *(s2 + (0 ..)));
+      \from (indirect: *(s1 + (0 .. strlen{Old}(s1)))),
+            (indirect: *(s2 + (0 .. strlen{Old}(s1))));
  */
 int strcmp(char const *s1, char const *s2)
 {
@@ -7663,6 +9018,8 @@ int memcmp(void const *s1, void const *s2, size_t n)
   return_label: return __retres;
 }
 
+/*@ assigns \result;
+    assigns \result \from c1, c2; */
 static int char_equal_ignore_case(char c1, char c2)
 {
   int __retres;
@@ -7730,6 +9087,11 @@ int strcasecmp(char const *s1, char const *s2)
 /*@ requires valid_string_src: valid_read_string(src);
     requires valid_string_dest: valid_string(dest);
     requires room_string: \valid(dest + (0 .. strlen(dest) + strlen(src)));
+    requires
+      separation:
+        \separated(
+          dest + (0 .. strlen(dest) + strlen(src)), src + (0 .. strlen(src))
+          );
     ensures
       sum_of_lengths: strlen(\old(dest)) ≡ \old(strlen(dest) + strlen(src));
     ensures
@@ -7762,15 +9124,20 @@ char *strcat(char *dest, char const *src)
 
 /*@ requires valid_nstring_src: valid_read_nstring(src, n);
     requires valid_string_dest: valid_string(dest);
+    requires
+      separation:
+        \separated(
+          dest + (0 .. strlen(dest) + strnlen(src, n)),
+          src + (0 .. strnlen(src, n))
+          );
     ensures result_ptr: \result ≡ \old(dest);
     assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n)), \result;
     assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n))
-      \from *(src + (0 .. n));
+      \from *(src + (0 .. n - 1));
     assigns \result \from dest;
     
     behavior complete:
-      assumes
-        valid_string_src_fits: valid_read_string(src) ∧ strlen(src) ≤ n;
+      assumes src_fits: strnlen(src, n) < n;
       requires
         room_string: \valid((dest + strlen(dest)) + (0 .. strlen(src)));
       ensures
@@ -7781,13 +9148,11 @@ char *strcat(char *dest, char const *src)
               \result;
       assigns
       *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + strlen{Old}(src)))
-        \from *(src + (0 .. strlen{Old}(src)));
+        \from *(src + (0 .. strlen{Old}(src) - 1));
       assigns \result \from dest;
     
     behavior partial:
-      assumes
-        valid_string_src_too_large:
-          ¬(valid_read_string(src) ∧ strlen(src) ≤ n);
+      assumes src_too_large: strnlen(src, n) ≡ n;
       requires room_string: \valid((dest + strlen(dest)) + (0 .. n));
       ensures
         sum_of_bounded_lengths:
@@ -7795,8 +9160,11 @@ char *strcat(char *dest, char const *src)
       assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n)),
               \result;
       assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n))
-        \from *(src + (0 .. strlen{Old}(src)));
+        \from *(src + (0 .. n - 1));
       assigns \result \from dest;
+    
+    complete behaviors partial, complete;
+    disjoint behaviors partial, complete;
  */
 char *strncat(char *dest, char const *src, size_t n)
 {
@@ -7904,23 +9272,21 @@ char *strncpy(char *dest, char const *src, size_t n)
     
     behavior found:
       assumes char_found: strchr(s, c) ≡ \true;
+      ensures result_valid_string: valid_read_string(\result);
       ensures result_char: *\result ≡ (char)\old(c);
       ensures result_same_base: \base_addr(\result) ≡ \base_addr(\old(s));
       ensures
         result_in_length: \old(s) ≤ \result ≤ \old(s) + strlen(\old(s));
-      ensures result_valid_string: valid_read_string(\result);
       ensures
-        result_first_occur:
+        result_first_occurrence:
           ∀ char *p; \old(s) ≤ p < \result ⇒ *p ≢ (char)\old(c);
     
     behavior not_found:
       assumes char_not_found: ¬(strchr(s, c) ≡ \true);
       ensures result_null: \result ≡ \null;
     
-    behavior default:
-      ensures
-        result_null_or_same_base:
-          \result ≡ \null ∨ \base_addr(\result) ≡ \base_addr(\old(s));
+    complete behaviors not_found, found;
+    disjoint behaviors not_found, found;
  */
 char *strchr(char const *s, int c)
 {
@@ -7940,23 +9306,14 @@ char *strchr(char const *s, int c)
 }
 
 /*@ requires valid_string_s: valid_read_string(s);
+    ensures
+      result_null_or_same_base:
+        \result ≡ \null ∨
+        (valid_read_string(\result) ∧
+         \base_addr(\result) ≡ \base_addr(\old(s)));
     assigns \result;
-    assigns \result \from s, *(s + (0 ..)), c;
-    
-    behavior found:
-      assumes char_found: strchr(s, c) ≡ \true;
-      ensures result_char: (int)*\result ≡ \old(c);
-      ensures result_same_base: \base_addr(\result) ≡ \base_addr(\old(s));
-      ensures result_valid_string: valid_read_string(\result);
-    
-    behavior not_found:
-      assumes char_not_found: ¬(strchr(s, c) ≡ \true);
-      ensures result_null: \result ≡ \null;
-    
-    behavior default:
-      ensures
-        result_null_or_same_base:
-          \result ≡ \null ∨ \base_addr(\result) ≡ \base_addr(\old(s));
+    assigns \result
+      \from s, (indirect: *(s + (0 .. strlen{Old}(s)))), (indirect: c);
  */
 char *strrchr(char const *s, int c)
 {
@@ -7995,6 +9352,7 @@ char *strrchr(char const *s, int c)
     
     behavior found:
       assumes char_found: memchr((char *)s, c, n) ≡ \true;
+      ensures result_valid_read: \valid_read((char *)\result);
       ensures result_same_base: \base_addr(\result) ≡ \base_addr(\old(s));
       ensures result_char: (int)*((char *)\result) ≡ \old(c);
       ensures
@@ -8027,6 +9385,26 @@ void *memchr(void const *s, int c, size_t n)
   return_label: return __retres;
 }
 
+/*@ requires valid: valid_read_or_empty(s, n);
+    requires initialization: \initialized((unsigned char *)s + (0 .. n - 1));
+    requires danglingness: non_escaping(s, n);
+    assigns \result;
+    assigns \result
+      \from s, (indirect: c),
+            (indirect: *((unsigned char *)s + (0 .. n - 1)));
+    
+    behavior found:
+      assumes char_found: memchr((char *)s, c, n) ≡ \true;
+      ensures result_valid_read: \valid_read((char *)\result);
+      ensures result_same_base: \base_addr(\result) ≡ \base_addr(\old(s));
+    
+    behavior not_found:
+      assumes char_not_found: ¬(memchr((char *)s, c, n) ≡ \true);
+      ensures result_null: \result ≡ \null;
+    
+    complete behaviors not_found, found;
+    disjoint behaviors not_found, found;
+ */
 void *memrchr(void const *s, int c, size_t n)
 {
   void *__retres;
@@ -8051,13 +9429,13 @@ void *memrchr(void const *s, int c, size_t n)
     ensures
       result_null_or_in_haystack:
         \result ≡ \null ∨
-        (\subset(\result, \old(haystack) + (0 ..)) ∧
-         \valid_read(\result) ∧
+        (valid_read_string(\result) ∧
+         \base_addr(\result) ≡ \base_addr(\old(haystack)) ∧
          memcmp{Pre, Pre}(\result, \old(needle), strlen(\old(needle))) ≡ 0);
     assigns \result;
     assigns \result
-      \from haystack, (indirect: *(haystack + (0 ..))),
-            (indirect: *(needle + (0 ..)));
+      \from haystack, (indirect: *(haystack + (0 .. strlen{Old}(haystack)))),
+            (indirect: *(needle + (0 .. strlen{Old}(needle))));
  */
 char *strstr(char const *haystack, char const *needle)
 {
@@ -8115,19 +9493,20 @@ char *strerror(int errnum)
     allocates \result;
     
     behavior allocation:
-      assumes can_allocate: is_allocable(strlen(s));
-      ensures allocation: \fresh{Old, Here}(\result,strlen(\old(s)));
+      assumes can_allocate: is_allocable(strlen(s) + 1);
+      ensures allocation: \fresh{Old, Here}(\result,strlen(\old(s)) + 1);
       ensures
         result_valid_string_and_same_contents:
           valid_string(\result) ∧ strcmp(\result, \old(s)) ≡ 0;
       assigns __fc_heap_status, \result;
-      assigns __fc_heap_status \from (indirect: s), __fc_heap_status;
+      assigns __fc_heap_status
+        \from __fc_heap_status, (indirect: *(s + (0 .. strlen{Old}(s))));
       assigns \result
         \from (indirect: *(s + (0 .. strlen{Old}(s)))),
               (indirect: __fc_heap_status);
     
     behavior no_allocation:
-      assumes cannot_allocate: ¬is_allocable(strlen(s));
+      assumes cannot_allocate: ¬is_allocable(strlen(s) + 1);
       ensures result_null: \result ≡ \null;
       assigns \result;
       assigns \result \from \nothing;
@@ -8158,13 +9537,12 @@ char *strdup(char const *s)
     allocates \result;
     
     behavior allocation:
-      assumes can_allocate: is_allocable(\min(strlen(s), n + 1));
+      assumes can_allocate: is_allocable(strnlen(s, n) + 1);
       ensures
-        allocation:
-          \fresh{Old, Here}(\result,\min(strlen(\old(s)), \old(n) + 1));
+        allocation: \fresh{Old, Here}(\result,strnlen(\old(s), \old(n)) + 1);
       ensures
         result_valid_string_bounded_and_same_prefix:
-          \valid(\result + (0 .. \min(strlen(\old(s)), \old(n)))) ∧
+          \valid(\result + (0 .. strnlen(\old(s), \old(n)))) ∧
           valid_string(\result) ∧ strlen(\result) ≤ \old(n) ∧
           strncmp(\result, \old(s), \old(n)) ≡ 0;
       assigns __fc_heap_status, \result;
@@ -8175,7 +9553,7 @@ char *strdup(char const *s)
               (indirect: __fc_heap_status);
     
     behavior no_allocation:
-      assumes cannot_allocate: ¬is_allocable(\min(strlen(s), n + 1));
+      assumes cannot_allocate: ¬is_allocable(strnlen(s, n) + 1);
       ensures result_null: \result ≡ \null;
       assigns \result;
       assigns \result \from \nothing;
@@ -8870,6 +10248,35 @@ wchar_t *wcsncat(wchar_t *dest, wchar_t const *src, size_t n)
   return dest;
 }
 
+/*@ requires valid_wstring: valid_read_wstring(ws);
+    assigns \result;
+    assigns \result
+      \from (indirect: *(ws + (0 .. wcslen{Old}(ws)))),
+            (indirect: __fc_heap_status);
+    allocates \result;
+    
+    behavior allocation:
+      assumes can_allocate: is_allocable(wcslen(ws));
+      ensures
+        allocation:
+          \fresh{Old, Here}(\result,wcslen(\old(ws)) * sizeof(wchar_t));
+      ensures
+        result_valid_string_and_same_contents:
+          valid_wstring(\result) ∧ wcscmp(\result, \old(ws)) ≡ 0;
+      assigns __fc_heap_status, \result;
+      assigns __fc_heap_status
+        \from (indirect: *(ws + (0 .. wcslen{Old}(ws)))), __fc_heap_status;
+      assigns \result
+        \from (indirect: *(ws + (0 .. wcslen{Old}(ws)))),
+              (indirect: __fc_heap_status);
+    
+    behavior no_allocation:
+      assumes cannot_allocate: ¬is_allocable(wcslen(ws));
+      ensures result_null: \result ≡ \null;
+      assigns \result;
+      assigns \result \from \nothing;
+      allocates \nothing;
+ */
 wchar_t *wcsdup(wchar_t const *ws)
 {
   wchar_t *__retres;
diff --git a/tests/libc/oracle/glob_c.res.oracle b/tests/libc/oracle/glob_c.res.oracle
index f2f55900b952817bf69c5ce4d1e0ee8725748d58..91eb904a9baf476445479b6c2d72105531fda702 100644
--- a/tests/libc/oracle/glob_c.res.oracle
+++ b/tests/libc/oracle/glob_c.res.oracle
@@ -31,23 +31,26 @@
   Called from FRAMAC_SHARE/libc/glob.c:77.
 [eva] using specification for function Frama_C_nondet
 [eva] Done for function Frama_C_nondet
+[eva] computing for function Frama_C_nondet <- glob <- main.
+  Called from FRAMAC_SHARE/libc/glob.c:78.
+[eva] Done for function Frama_C_nondet
 [eva] computing for function Frama_C_interval <- glob <- main.
-  Called from FRAMAC_SHARE/libc/glob.c:82.
-[eva] FRAMAC_SHARE/libc/glob.c:82: 
+  Called from FRAMAC_SHARE/libc/glob.c:83.
+[eva] FRAMAC_SHARE/libc/glob.c:83: 
   function Frama_C_interval: precondition 'order' got status valid.
 [eva] Done for function Frama_C_interval
 [eva] computing for function globerr0 <- glob <- main.
-  Called from FRAMAC_SHARE/libc/glob.c:82.
+  Called from FRAMAC_SHARE/libc/glob.c:83.
 [eva] Recording results for globerr0
 [eva] Done for function globerr0
 [eva] Recording results for glob
 [eva] Done for function glob
 [eva] computing for function globfree <- main.
   Called from glob_c.c:31.
-[eva:alarm] FRAMAC_SHARE/libc/glob.c:93: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/glob.c:94: Warning: 
   accessing uninitialized left-value. assert \initialized(&pglob->gl_pathv);
-[eva] FRAMAC_SHARE/libc/glob.c:93: Call to builtin free
-[eva] FRAMAC_SHARE/libc/glob.c:93: 
+[eva] FRAMAC_SHARE/libc/glob.c:94: Call to builtin free
+[eva] FRAMAC_SHARE/libc/glob.c:94: 
   function free: precondition 'freeable' got status valid.
 [eva] Recording results for globfree
 [eva] Done for function globfree
@@ -61,18 +64,21 @@
 [eva] computing for function Frama_C_nondet <- glob <- main.
   Called from FRAMAC_SHARE/libc/glob.c:77.
 [eva] Done for function Frama_C_nondet
+[eva] computing for function Frama_C_nondet <- glob <- main.
+  Called from FRAMAC_SHARE/libc/glob.c:78.
+[eva] Done for function Frama_C_nondet
 [eva] computing for function Frama_C_interval <- glob <- main.
-  Called from FRAMAC_SHARE/libc/glob.c:82.
+  Called from FRAMAC_SHARE/libc/glob.c:83.
 [eva] Done for function Frama_C_interval
-[eva] FRAMAC_SHARE/libc/glob.c:82: Reusing old results for call to globerr0
+[eva] FRAMAC_SHARE/libc/glob.c:83: Reusing old results for call to globerr0
 [eva] Recording results for glob
 [eva] Done for function glob
 [eva] computing for function globfree <- main.
   Called from glob_c.c:34.
-[eva:alarm] FRAMAC_SHARE/libc/glob.c:93: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/glob.c:94: Warning: 
   accessing left-value that contains escaping addresses.
   assert ¬\dangling(&pglob->gl_pathv);
-[eva] FRAMAC_SHARE/libc/glob.c:93: Call to builtin free
+[eva] FRAMAC_SHARE/libc/glob.c:94: Call to builtin free
 [eva] Recording results for globfree
 [eva] Done for function globfree
 [eva] computing for function glob <- main.
@@ -89,18 +95,21 @@
 [eva] computing for function Frama_C_nondet <- glob <- main.
   Called from FRAMAC_SHARE/libc/glob.c:77.
 [eva] Done for function Frama_C_nondet
+[eva] computing for function Frama_C_nondet <- glob <- main.
+  Called from FRAMAC_SHARE/libc/glob.c:78.
+[eva] Done for function Frama_C_nondet
 [eva] computing for function Frama_C_interval <- glob <- main.
-  Called from FRAMAC_SHARE/libc/glob.c:82.
+  Called from FRAMAC_SHARE/libc/glob.c:83.
 [eva] Done for function Frama_C_interval
 [eva] computing for function globerr1 <- glob <- main.
-  Called from FRAMAC_SHARE/libc/glob.c:82.
+  Called from FRAMAC_SHARE/libc/glob.c:83.
 [eva] Recording results for globerr1
 [eva] Done for function globerr1
 [eva] Recording results for glob
 [eva] Done for function glob
 [eva] computing for function globfree <- main.
   Called from glob_c.c:37.
-[eva] FRAMAC_SHARE/libc/glob.c:93: Call to builtin free
+[eva] FRAMAC_SHARE/libc/glob.c:94: Call to builtin free
 [eva] Recording results for globfree
 [eva] Done for function globfree
 [eva] computing for function glob <- main.
@@ -116,15 +125,18 @@
 [eva] computing for function Frama_C_nondet <- glob <- main.
   Called from FRAMAC_SHARE/libc/glob.c:77.
 [eva] Done for function Frama_C_nondet
+[eva] computing for function Frama_C_nondet <- glob <- main.
+  Called from FRAMAC_SHARE/libc/glob.c:78.
+[eva] Done for function Frama_C_nondet
 [eva] computing for function Frama_C_interval <- glob <- main.
-  Called from FRAMAC_SHARE/libc/glob.c:82.
+  Called from FRAMAC_SHARE/libc/glob.c:83.
 [eva] Done for function Frama_C_interval
-[eva] FRAMAC_SHARE/libc/glob.c:82: Reusing old results for call to globerr1
+[eva] FRAMAC_SHARE/libc/glob.c:83: Reusing old results for call to globerr1
 [eva] Recording results for glob
 [eva] Done for function glob
 [eva] computing for function globfree <- main.
   Called from glob_c.c:41.
-[eva] FRAMAC_SHARE/libc/glob.c:93: Call to builtin free
+[eva] FRAMAC_SHARE/libc/glob.c:94: Call to builtin free
 [eva] Recording results for globfree
 [eva] Done for function globfree
 [eva] Recording results for main
@@ -141,7 +153,8 @@
        &__realloc_glob_l50[0] ; &__realloc_glob_l66_1[0] ;
        &__realloc_glob_l50_0[0] ; &__realloc_glob_l66_2[0] }} or ESCAPINGADDR
     .gl_offs ∈ {1}
-    {.gl_flags; .gl_closedir; .gl_readdir; .gl_opendir; .gl_lstat; .gl_stat} ∈
+    .gl_flags ∈ {1; 8; 16; 24; 257; 264; 272; 280} or UNINITIALIZED
+    {.gl_closedir; .gl_readdir; .gl_opendir; .gl_lstat; .gl_stat} ∈
     UNINITIALIZED
 [eva:final-states] Values at end of function glob:
   Frama_C_entropy_source ∈ [--..--]
@@ -154,7 +167,8 @@
        &__realloc_glob_l50[0] ; &__realloc_glob_l66_1[0] ;
        &__realloc_glob_l50_0[0] ; &__realloc_glob_l66_2[0] }} or UNINITIALIZED or ESCAPINGADDR
     .gl_offs ∈ {1}
-    {.gl_flags; .gl_closedir; .gl_readdir; .gl_opendir; .gl_lstat; .gl_stat} ∈
+    .gl_flags ∈ {1; 8; 16; 24; 257; 264; 272; 280} or UNINITIALIZED
+    {.gl_closedir; .gl_readdir; .gl_opendir; .gl_lstat; .gl_stat} ∈
     UNINITIALIZED
   __retres ∈ {0; 1; 2; 3}
   __realloc_glob_l66[0] ∈ {0} or UNINITIALIZED
@@ -184,7 +198,8 @@
     .gl_pathv ∈
     {{ NULL ; &__realloc_glob_l50_0[0] ; &__realloc_glob_l66_2[0] }} or ESCAPINGADDR
     .gl_offs ∈ {1}
-    {.gl_flags; .gl_closedir; .gl_readdir; .gl_opendir; .gl_lstat; .gl_stat} ∈
+    .gl_flags ∈ {1; 8; 16; 24; 257; 264; 272; 280} or UNINITIALIZED
+    {.gl_closedir; .gl_readdir; .gl_opendir; .gl_lstat; .gl_stat} ∈
     UNINITIALIZED
   __retres ∈ {0}
   __realloc_glob_l66[0] ∈ {0} or UNINITIALIZED
diff --git a/tests/libc/oracle/netdb_c.res.oracle b/tests/libc/oracle/netdb_c.res.oracle
index 55cc38194e3ca106e062c6bb171b8241a1fbb49d..03e05636c2947e3202978ff951ba8b7ea50d9414 100644
--- a/tests/libc/oracle/netdb_c.res.oracle
+++ b/tests/libc/oracle/netdb_c.res.oracle
@@ -17,9 +17,11 @@
   \return(getenv) == 0 (auto)
   \return(bsearch) == 0 (auto)
   \return(realpath) == 0 (auto)
+  \return(canonicalize_file_name) == 0 (auto)
   \return(getcwd) == 0 (auto)
   \return(ttyname) == 0 (auto)
   \return(memchr) == 0 (auto)
+  \return(memrchr) == 0 (auto)
   \return(memcpy) == 0 (auto)
   \return(mempcpy) == 0 (auto)
   \return(memmove) == 0 (auto)
@@ -39,8 +41,10 @@
   \return(stpcpy) == 0 (auto)
   \return(strcat) == 0 (auto)
   \return(strncat) == 0 (auto)
+  \return(memmem) == 0 (auto)
   \return(strdup) == 0 (auto)
   \return(strndup) == 0 (auto)
+  \return(stpncpy) == 0 (auto)
   \return(strsignal) == 0 (auto)
   \return(bind) == 0 (auto)
   \return(socket) == -1 (auto)
@@ -61,7 +65,7 @@
   
 [eva] netdb_c.c:25: Call to builtin memset
 [eva] netdb_c.c:25: function memset: precondition 'valid_s' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:134: 
+[eva] FRAMAC_SHARE/libc/string.h:151: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memset
 [eva] computing for function getaddrinfo <- main.
   Called from netdb_c.c:34.
@@ -140,7 +144,7 @@
   function strcpy: precondition 'room_string' got status valid.
 [eva] FRAMAC_SHARE/libc/netdb.c:74: 
   function strcpy: precondition 'separation' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:373: 
+[eva] FRAMAC_SHARE/libc/string.h:425: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function strcmp
 [eva] Done for function strcpy
 [eva] Recording results for getaddrinfo
@@ -196,76 +200,76 @@
 [eva] computing for function gethostbyname <- main.
   Called from netdb_c.c:63.
 [eva] computing for function res_search <- gethostbyname <- main.
-  Called from FRAMAC_SHARE/libc/netdb.c:141.
+  Called from FRAMAC_SHARE/libc/netdb.c:145.
 [eva] computing for function Frama_C_char_interval <- res_search <- 
                           gethostbyname <- main.
-  Called from FRAMAC_SHARE/libc/netdb.c:99.
+  Called from FRAMAC_SHARE/libc/netdb.c:103.
 [eva] using specification for function Frama_C_char_interval
-[eva] FRAMAC_SHARE/libc/netdb.c:99: 
+[eva] FRAMAC_SHARE/libc/netdb.c:103: 
   function Frama_C_char_interval: precondition 'order' got status valid.
 [eva] Done for function Frama_C_char_interval
 [eva] computing for function Frama_C_char_interval <- res_search <- 
                           gethostbyname <- main.
-  Called from FRAMAC_SHARE/libc/netdb.c:99.
+  Called from FRAMAC_SHARE/libc/netdb.c:103.
 [eva] Done for function Frama_C_char_interval
 [eva] computing for function Frama_C_char_interval <- res_search <- 
                           gethostbyname <- main.
-  Called from FRAMAC_SHARE/libc/netdb.c:99.
+  Called from FRAMAC_SHARE/libc/netdb.c:103.
 [eva] Done for function Frama_C_char_interval
-[eva] FRAMAC_SHARE/libc/netdb.c:98: starting to merge loop iterations
+[eva] FRAMAC_SHARE/libc/netdb.c:102: starting to merge loop iterations
 [eva] computing for function Frama_C_char_interval <- res_search <- 
                           gethostbyname <- main.
-  Called from FRAMAC_SHARE/libc/netdb.c:99.
+  Called from FRAMAC_SHARE/libc/netdb.c:103.
 [eva] Done for function Frama_C_char_interval
 [eva] computing for function Frama_C_char_interval <- res_search <- 
                           gethostbyname <- main.
-  Called from FRAMAC_SHARE/libc/netdb.c:99.
+  Called from FRAMAC_SHARE/libc/netdb.c:103.
 [eva] Done for function Frama_C_char_interval
 [eva] computing for function Frama_C_char_interval <- res_search <- 
                           gethostbyname <- main.
-  Called from FRAMAC_SHARE/libc/netdb.c:99.
+  Called from FRAMAC_SHARE/libc/netdb.c:103.
 [eva] Done for function Frama_C_char_interval
 [eva] computing for function Frama_C_char_interval <- res_search <- 
                           gethostbyname <- main.
-  Called from FRAMAC_SHARE/libc/netdb.c:99.
+  Called from FRAMAC_SHARE/libc/netdb.c:103.
 [eva] Done for function Frama_C_char_interval
 [eva] computing for function Frama_C_interval <- res_search <- gethostbyname <- 
                           main.
-  Called from FRAMAC_SHARE/libc/netdb.c:102.
-[eva] FRAMAC_SHARE/libc/netdb.c:102: 
+  Called from FRAMAC_SHARE/libc/netdb.c:106.
+[eva] FRAMAC_SHARE/libc/netdb.c:106: 
   function Frama_C_interval: precondition 'order' got status valid.
 [eva] Done for function Frama_C_interval
 [eva] Recording results for res_search
 [eva] Done for function res_search
 [eva] computing for function Frama_C_nondet <- gethostbyname <- main.
-  Called from FRAMAC_SHARE/libc/netdb.c:144.
+  Called from FRAMAC_SHARE/libc/netdb.c:148.
 [eva] using specification for function Frama_C_nondet
 [eva] Done for function Frama_C_nondet
 [eva] computing for function inet_addr <- gethostbyname <- main.
-  Called from FRAMAC_SHARE/libc/netdb.c:147.
+  Called from FRAMAC_SHARE/libc/netdb.c:151.
 [eva] using specification for function inet_addr
-[eva] FRAMAC_SHARE/libc/netdb.c:147: 
+[eva] FRAMAC_SHARE/libc/netdb.c:151: 
   function inet_addr: precondition 'valid_arg' got status valid.
 [eva] Done for function inet_addr
-[eva] FRAMAC_SHARE/libc/netdb.c:148: Call to builtin memcpy
-[eva] FRAMAC_SHARE/libc/netdb.c:148: 
+[eva] FRAMAC_SHARE/libc/netdb.c:152: Call to builtin memcpy
+[eva] FRAMAC_SHARE/libc/netdb.c:152: 
   function memcpy: precondition 'valid_dest' got status valid.
-[eva] FRAMAC_SHARE/libc/netdb.c:148: 
+[eva] FRAMAC_SHARE/libc/netdb.c:152: 
   function memcpy: precondition 'valid_src' got status valid.
-[eva] FRAMAC_SHARE/libc/netdb.c:148: 
+[eva] FRAMAC_SHARE/libc/netdb.c:152: 
   function memcpy: precondition 'separation' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:101: 
+[eva] FRAMAC_SHARE/libc/string.h:118: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp
 [eva] computing for function strncpy <- gethostbyname <- main.
-  Called from FRAMAC_SHARE/libc/netdb.c:149.
+  Called from FRAMAC_SHARE/libc/netdb.c:153.
 [eva] using specification for function strncpy
-[eva] FRAMAC_SHARE/libc/netdb.c:149: 
+[eva] FRAMAC_SHARE/libc/netdb.c:153: 
   function strncpy: precondition 'valid_nstring_src' got status valid.
-[eva] FRAMAC_SHARE/libc/netdb.c:149: 
+[eva] FRAMAC_SHARE/libc/netdb.c:153: 
   function strncpy: precondition 'room_nstring' got status valid.
-[eva] FRAMAC_SHARE/libc/netdb.c:149: 
+[eva] FRAMAC_SHARE/libc/netdb.c:153: 
   function strncpy: precondition 'separation' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:389: 
+[eva] FRAMAC_SHARE/libc/string.h:441: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function strcmp
 [eva] Done for function strncpy
 [eva] Recording results for gethostbyname
diff --git a/tests/libc/oracle/pwd_c.res.oracle b/tests/libc/oracle/pwd_c.res.oracle
index d787033905172d387c156d9ab8d78c90b7cb7f6d..1543ddd5c9d2a7f8de77086b611ac8be61938f60 100644
--- a/tests/libc/oracle/pwd_c.res.oracle
+++ b/tests/libc/oracle/pwd_c.res.oracle
@@ -23,133 +23,133 @@
 [eva] computing for function getpwuid_r <- main.
   Called from pwd_c.c:14.
 [eva] computing for function __fc_getpw_r <- getpwuid_r <- main.
-  Called from FRAMAC_SHARE/libc/pwd.c:102.
+  Called from FRAMAC_SHARE/libc/pwd.c:107.
 [eva] computing for function Frama_C_make_unknown <- __fc_getpw_r <- getpwuid_r <- 
                           main.
-  Called from FRAMAC_SHARE/libc/pwd.c:56.
+  Called from FRAMAC_SHARE/libc/pwd.c:61.
 [eva] using specification for function Frama_C_make_unknown
-[eva] FRAMAC_SHARE/libc/pwd.c:56: 
+[eva] FRAMAC_SHARE/libc/pwd.c:61: 
   function Frama_C_make_unknown: precondition 'valid_p' got status valid.
 [eva] Done for function Frama_C_make_unknown
 [eva] computing for function Frama_C_make_unknown <- __fc_getpw_r <- getpwuid_r <- 
                           main.
-  Called from FRAMAC_SHARE/libc/pwd.c:58.
-[eva] FRAMAC_SHARE/libc/pwd.c:58: 
+  Called from FRAMAC_SHARE/libc/pwd.c:63.
+[eva] FRAMAC_SHARE/libc/pwd.c:63: 
   function Frama_C_make_unknown: precondition 'valid_p' got status valid.
 [eva] Done for function Frama_C_make_unknown
 [eva] computing for function Frama_C_make_unknown <- __fc_getpw_r <- getpwuid_r <- 
                           main.
-  Called from FRAMAC_SHARE/libc/pwd.c:60.
-[eva] FRAMAC_SHARE/libc/pwd.c:60: 
+  Called from FRAMAC_SHARE/libc/pwd.c:65.
+[eva] FRAMAC_SHARE/libc/pwd.c:65: 
   function Frama_C_make_unknown: precondition 'valid_p' got status valid.
 [eva] Done for function Frama_C_make_unknown
 [eva] computing for function Frama_C_make_unknown <- __fc_getpw_r <- getpwuid_r <- 
                           main.
-  Called from FRAMAC_SHARE/libc/pwd.c:62.
-[eva] FRAMAC_SHARE/libc/pwd.c:62: 
+  Called from FRAMAC_SHARE/libc/pwd.c:67.
+[eva] FRAMAC_SHARE/libc/pwd.c:67: 
   function Frama_C_make_unknown: precondition 'valid_p' got status valid.
 [eva] Done for function Frama_C_make_unknown
 [eva] computing for function Frama_C_make_unknown <- __fc_getpw_r <- getpwuid_r <- 
                           main.
-  Called from FRAMAC_SHARE/libc/pwd.c:64.
-[eva] FRAMAC_SHARE/libc/pwd.c:64: 
+  Called from FRAMAC_SHARE/libc/pwd.c:69.
+[eva] FRAMAC_SHARE/libc/pwd.c:69: 
   function Frama_C_make_unknown: precondition 'valid_p' got status valid.
 [eva] Done for function Frama_C_make_unknown
 [eva] computing for function Frama_C_interval <- __fc_getpw_r <- getpwuid_r <- main.
-  Called from FRAMAC_SHARE/libc/pwd.c:69.
+  Called from FRAMAC_SHARE/libc/pwd.c:74.
 [eva] using specification for function Frama_C_interval
-[eva] FRAMAC_SHARE/libc/pwd.c:69: 
+[eva] FRAMAC_SHARE/libc/pwd.c:74: 
   function Frama_C_interval: precondition 'order' got status valid.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- __fc_getpw_r <- getpwuid_r <- main.
-  Called from FRAMAC_SHARE/libc/pwd.c:72.
-[eva] FRAMAC_SHARE/libc/pwd.c:72: 
+  Called from FRAMAC_SHARE/libc/pwd.c:77.
+[eva] FRAMAC_SHARE/libc/pwd.c:77: 
   function Frama_C_interval: precondition 'order' got status valid.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- __fc_getpw_r <- getpwuid_r <- main.
-  Called from FRAMAC_SHARE/libc/pwd.c:73.
-[eva] FRAMAC_SHARE/libc/pwd.c:73: 
+  Called from FRAMAC_SHARE/libc/pwd.c:78.
+[eva] FRAMAC_SHARE/libc/pwd.c:78: 
   function Frama_C_interval: precondition 'order' got status valid.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- __fc_getpw_r <- getpwuid_r <- main.
-  Called from FRAMAC_SHARE/libc/pwd.c:74.
-[eva] FRAMAC_SHARE/libc/pwd.c:74: 
+  Called from FRAMAC_SHARE/libc/pwd.c:79.
+[eva] FRAMAC_SHARE/libc/pwd.c:79: 
   function Frama_C_interval: precondition 'order' got status valid.
 [eva] Done for function Frama_C_interval
-[eva] FRAMAC_SHARE/libc/pwd.c:82: Call to builtin strlen
-[eva] FRAMAC_SHARE/libc/pwd.c:82: 
+[eva] FRAMAC_SHARE/libc/pwd.c:87: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/pwd.c:87: 
   function strlen: precondition 'valid_string_s' got status valid.
 [eva] computing for function strcpy <- __fc_getpw_r <- getpwuid_r <- main.
-  Called from FRAMAC_SHARE/libc/pwd.c:82.
+  Called from FRAMAC_SHARE/libc/pwd.c:87.
 [eva] using specification for function strcpy
-[eva] FRAMAC_SHARE/libc/pwd.c:82: 
+[eva] FRAMAC_SHARE/libc/pwd.c:87: 
   function strcpy: precondition 'valid_string_src' got status valid.
-[eva] FRAMAC_SHARE/libc/pwd.c:82: 
+[eva] FRAMAC_SHARE/libc/pwd.c:87: 
   function strcpy: precondition 'room_string' got status valid.
-[eva] FRAMAC_SHARE/libc/pwd.c:82: 
+[eva] FRAMAC_SHARE/libc/pwd.c:87: 
   function strcpy: precondition 'separation' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:373: 
+[eva] FRAMAC_SHARE/libc/string.h:425: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function strcmp
 [eva] Done for function strcpy
-[eva] FRAMAC_SHARE/libc/pwd.c:83: Call to builtin strlen
-[eva] FRAMAC_SHARE/libc/pwd.c:83: 
+[eva] FRAMAC_SHARE/libc/pwd.c:88: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/pwd.c:88: 
   function strlen: precondition 'valid_string_s' got status valid.
 [eva] computing for function strcpy <- __fc_getpw_r <- getpwuid_r <- main.
-  Called from FRAMAC_SHARE/libc/pwd.c:83.
-[eva] FRAMAC_SHARE/libc/pwd.c:83: 
+  Called from FRAMAC_SHARE/libc/pwd.c:88.
+[eva] FRAMAC_SHARE/libc/pwd.c:88: 
   function strcpy: precondition 'valid_string_src' got status valid.
-[eva] FRAMAC_SHARE/libc/pwd.c:83: 
+[eva] FRAMAC_SHARE/libc/pwd.c:88: 
   function strcpy: precondition 'room_string' got status valid.
-[eva] FRAMAC_SHARE/libc/pwd.c:83: 
+[eva] FRAMAC_SHARE/libc/pwd.c:88: 
   function strcpy: precondition 'separation' got status valid.
 [eva] Done for function strcpy
-[eva] FRAMAC_SHARE/libc/pwd.c:84: Call to builtin strlen
-[eva] FRAMAC_SHARE/libc/pwd.c:84: 
+[eva] FRAMAC_SHARE/libc/pwd.c:89: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/pwd.c:89: 
   function strlen: precondition 'valid_string_s' got status valid.
 [eva] computing for function strcpy <- __fc_getpw_r <- getpwuid_r <- main.
-  Called from FRAMAC_SHARE/libc/pwd.c:84.
-[eva] FRAMAC_SHARE/libc/pwd.c:84: 
+  Called from FRAMAC_SHARE/libc/pwd.c:89.
+[eva] FRAMAC_SHARE/libc/pwd.c:89: 
   function strcpy: precondition 'valid_string_src' got status valid.
-[eva] FRAMAC_SHARE/libc/pwd.c:84: 
+[eva] FRAMAC_SHARE/libc/pwd.c:89: 
   function strcpy: precondition 'room_string' got status valid.
-[eva] FRAMAC_SHARE/libc/pwd.c:84: 
+[eva] FRAMAC_SHARE/libc/pwd.c:89: 
   function strcpy: precondition 'separation' got status valid.
 [eva] Done for function strcpy
-[eva] FRAMAC_SHARE/libc/pwd.c:85: Call to builtin strlen
-[eva] FRAMAC_SHARE/libc/pwd.c:85: 
+[eva] FRAMAC_SHARE/libc/pwd.c:90: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/pwd.c:90: 
   function strlen: precondition 'valid_string_s' got status valid.
 [eva] computing for function strcpy <- __fc_getpw_r <- getpwuid_r <- main.
-  Called from FRAMAC_SHARE/libc/pwd.c:85.
-[eva] FRAMAC_SHARE/libc/pwd.c:85: 
+  Called from FRAMAC_SHARE/libc/pwd.c:90.
+[eva] FRAMAC_SHARE/libc/pwd.c:90: 
   function strcpy: precondition 'valid_string_src' got status valid.
-[eva] FRAMAC_SHARE/libc/pwd.c:85: 
+[eva] FRAMAC_SHARE/libc/pwd.c:90: 
   function strcpy: precondition 'room_string' got status valid.
-[eva] FRAMAC_SHARE/libc/pwd.c:85: 
+[eva] FRAMAC_SHARE/libc/pwd.c:90: 
   function strcpy: precondition 'separation' got status valid.
 [eva] Done for function strcpy
-[eva] FRAMAC_SHARE/libc/pwd.c:86: Call to builtin strlen
-[eva] FRAMAC_SHARE/libc/pwd.c:86: 
+[eva] FRAMAC_SHARE/libc/pwd.c:91: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/pwd.c:91: 
   function strlen: precondition 'valid_string_s' got status valid.
 [eva] computing for function strcpy <- __fc_getpw_r <- getpwuid_r <- main.
-  Called from FRAMAC_SHARE/libc/pwd.c:86.
-[eva] FRAMAC_SHARE/libc/pwd.c:86: 
+  Called from FRAMAC_SHARE/libc/pwd.c:91.
+[eva] FRAMAC_SHARE/libc/pwd.c:91: 
   function strcpy: precondition 'valid_string_src' got status valid.
-[eva] FRAMAC_SHARE/libc/pwd.c:86: 
+[eva] FRAMAC_SHARE/libc/pwd.c:91: 
   function strcpy: precondition 'room_string' got status valid.
-[eva] FRAMAC_SHARE/libc/pwd.c:86: 
+[eva] FRAMAC_SHARE/libc/pwd.c:91: 
   function strcpy: precondition 'separation' got status valid.
 [eva] Done for function strcpy
 [eva] computing for function Frama_C_unsigned_int_interval <- __fc_getpw_r <- 
                           getpwuid_r <- main.
-  Called from FRAMAC_SHARE/libc/pwd.c:87.
+  Called from FRAMAC_SHARE/libc/pwd.c:92.
 [eva] using specification for function Frama_C_unsigned_int_interval
-[eva] FRAMAC_SHARE/libc/pwd.c:87: 
+[eva] FRAMAC_SHARE/libc/pwd.c:92: 
   function Frama_C_unsigned_int_interval: precondition 'order' got status valid.
 [eva] Done for function Frama_C_unsigned_int_interval
 [eva] computing for function Frama_C_unsigned_int_interval <- __fc_getpw_r <- 
                           getpwuid_r <- main.
-  Called from FRAMAC_SHARE/libc/pwd.c:88.
-[eva] FRAMAC_SHARE/libc/pwd.c:88: 
+  Called from FRAMAC_SHARE/libc/pwd.c:93.
+[eva] FRAMAC_SHARE/libc/pwd.c:93: 
   function Frama_C_unsigned_int_interval: precondition 'order' got status valid.
 [eva] Done for function Frama_C_unsigned_int_interval
 [eva] Recording results for __fc_getpw_r
@@ -165,48 +165,48 @@
 [eva:alarm] pwd_c.c:23: Warning: assertion got status unknown.
 [eva] computing for function getpwnam_r <- main.
   Called from pwd_c.c:27.
-[eva] FRAMAC_SHARE/libc/pwd.c:96: assertion got status valid.
+[eva] FRAMAC_SHARE/libc/pwd.c:101: assertion got status valid.
 [eva] computing for function __fc_getpw_r <- getpwnam_r <- main.
-  Called from FRAMAC_SHARE/libc/pwd.c:97.
+  Called from FRAMAC_SHARE/libc/pwd.c:102.
 [eva] computing for function Frama_C_interval <- __fc_getpw_r <- getpwnam_r <- main.
-  Called from FRAMAC_SHARE/libc/pwd.c:69.
+  Called from FRAMAC_SHARE/libc/pwd.c:74.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- __fc_getpw_r <- getpwnam_r <- main.
-  Called from FRAMAC_SHARE/libc/pwd.c:72.
+  Called from FRAMAC_SHARE/libc/pwd.c:77.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- __fc_getpw_r <- getpwnam_r <- main.
-  Called from FRAMAC_SHARE/libc/pwd.c:73.
+  Called from FRAMAC_SHARE/libc/pwd.c:78.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- __fc_getpw_r <- getpwnam_r <- main.
-  Called from FRAMAC_SHARE/libc/pwd.c:74.
+  Called from FRAMAC_SHARE/libc/pwd.c:79.
 [eva] Done for function Frama_C_interval
-[eva] FRAMAC_SHARE/libc/pwd.c:82: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/pwd.c:87: Call to builtin strlen
 [eva] computing for function strcpy <- __fc_getpw_r <- getpwnam_r <- main.
-  Called from FRAMAC_SHARE/libc/pwd.c:82.
+  Called from FRAMAC_SHARE/libc/pwd.c:87.
 [eva] Done for function strcpy
-[eva] FRAMAC_SHARE/libc/pwd.c:83: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/pwd.c:88: Call to builtin strlen
 [eva] computing for function strcpy <- __fc_getpw_r <- getpwnam_r <- main.
-  Called from FRAMAC_SHARE/libc/pwd.c:83.
+  Called from FRAMAC_SHARE/libc/pwd.c:88.
 [eva] Done for function strcpy
-[eva] FRAMAC_SHARE/libc/pwd.c:84: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/pwd.c:89: Call to builtin strlen
 [eva] computing for function strcpy <- __fc_getpw_r <- getpwnam_r <- main.
-  Called from FRAMAC_SHARE/libc/pwd.c:84.
+  Called from FRAMAC_SHARE/libc/pwd.c:89.
 [eva] Done for function strcpy
-[eva] FRAMAC_SHARE/libc/pwd.c:85: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/pwd.c:90: Call to builtin strlen
 [eva] computing for function strcpy <- __fc_getpw_r <- getpwnam_r <- main.
-  Called from FRAMAC_SHARE/libc/pwd.c:85.
+  Called from FRAMAC_SHARE/libc/pwd.c:90.
 [eva] Done for function strcpy
-[eva] FRAMAC_SHARE/libc/pwd.c:86: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/pwd.c:91: Call to builtin strlen
 [eva] computing for function strcpy <- __fc_getpw_r <- getpwnam_r <- main.
-  Called from FRAMAC_SHARE/libc/pwd.c:86.
+  Called from FRAMAC_SHARE/libc/pwd.c:91.
 [eva] Done for function strcpy
 [eva] computing for function Frama_C_unsigned_int_interval <- __fc_getpw_r <- 
                           getpwnam_r <- main.
-  Called from FRAMAC_SHARE/libc/pwd.c:87.
+  Called from FRAMAC_SHARE/libc/pwd.c:92.
 [eva] Done for function Frama_C_unsigned_int_interval
 [eva] computing for function Frama_C_unsigned_int_interval <- __fc_getpw_r <- 
                           getpwnam_r <- main.
-  Called from FRAMAC_SHARE/libc/pwd.c:88.
+  Called from FRAMAC_SHARE/libc/pwd.c:93.
 [eva] Done for function Frama_C_unsigned_int_interval
 [eva] Recording results for __fc_getpw_r
 [eva] Done for function __fc_getpw_r
diff --git a/tests/libc/oracle/search_h.res.oracle b/tests/libc/oracle/search_h.res.oracle
index b4d4733d9174d88e24ffc687e25e4d15ddd5ee7d..1737610be446fafaaf03fb7a1da4ca61e9d3426c 100644
--- a/tests/libc/oracle/search_h.res.oracle
+++ b/tests/libc/oracle/search_h.res.oracle
@@ -30,7 +30,7 @@
   function strcpy: precondition 'room_string' got status unknown.
 [eva] search_h.c:31: 
   function strcpy: precondition 'separation' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:373: 
+[eva] FRAMAC_SHARE/libc/string.h:425: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function strcmp
 [eva] Done for function strcpy
 [eva:alarm] search_h.c:32: Warning: 
diff --git a/tests/libc/oracle/socket.0.res.oracle b/tests/libc/oracle/socket.0.res.oracle
index d4f4aeb866fa02aacb1f2c4da06be3ecff46083d..a40bbd1511fc0e79478278af6a4a1cdb09d8ec25 100644
--- a/tests/libc/oracle/socket.0.res.oracle
+++ b/tests/libc/oracle/socket.0.res.oracle
@@ -133,7 +133,7 @@
   Called from socket.c:103.
 [eva] using specification for function memset
 [eva] socket.c:103: function memset: precondition 'valid_s' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:134: 
+[eva] FRAMAC_SHARE/libc/string.h:151: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memset
 [eva] Done for function memset
 [eva] computing for function bind <- test_server_echo <- main.
diff --git a/tests/libc/oracle/socket.1.res.oracle b/tests/libc/oracle/socket.1.res.oracle
index 7724f66078e1eacf9e681f731fc3d8d6f9b0088f..6033f24ffd4818b594b92e3ede1308eab808ba4c 100644
--- a/tests/libc/oracle/socket.1.res.oracle
+++ b/tests/libc/oracle/socket.1.res.oracle
@@ -133,7 +133,7 @@
   Called from socket.c:103.
 [eva] using specification for function memset
 [eva] socket.c:103: function memset: precondition 'valid_s' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:134: 
+[eva] FRAMAC_SHARE/libc/string.h:151: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memset
 [eva] Done for function memset
 [eva] computing for function bind <- test_server_echo <- main.
diff --git a/tests/libc/oracle/stdatomic_c.res.oracle b/tests/libc/oracle/stdatomic_c.res.oracle
index a76fc2013c7f17c8a2c8dd2124a88e55d4ed1feb..210a62db4e66a7990062661e041750ef79335adb 100644
--- a/tests/libc/oracle/stdatomic_c.res.oracle
+++ b/tests/libc/oracle/stdatomic_c.res.oracle
@@ -22,7 +22,7 @@
   Called from stdatomic_c.c:10.
 [eva] computing for function Frama_C_nondet <- __fc_atomic_is_lock_free <- 
                           test_atomic_int <- main.
-  Called from FRAMAC_SHARE/libc/stdatomic.c:35.
+  Called from FRAMAC_SHARE/libc/stdatomic.c:36.
 [eva] using specification for function Frama_C_nondet
 [eva] Done for function Frama_C_nondet
 [eva] Recording results for __fc_atomic_is_lock_free
@@ -42,7 +42,7 @@
 [eva] Done for function __fc_atomic_load
 [eva] computing for function __fc_atomic_load_explicit <- test_atomic_int <- main.
   Called from stdatomic_c.c:14.
-[eva] FRAMAC_SHARE/libc/stdatomic.c:57: 
+[eva] FRAMAC_SHARE/libc/stdatomic.c:60: 
   Reusing old results for call to __fc_atomic_load
 [eva] Recording results for __fc_atomic_load_explicit
 [eva] Done for function __fc_atomic_load_explicit
@@ -56,7 +56,7 @@
 [eva] computing for function __fc_atomic_exchange <- 
                           __fc_atomic_exchange_explicit <- test_atomic_int <- 
                           main.
-  Called from FRAMAC_SHARE/libc/stdatomic.c:87.
+  Called from FRAMAC_SHARE/libc/stdatomic.c:90.
 [eva] Recording results for __fc_atomic_exchange
 [eva] Done for function __fc_atomic_exchange
 [eva] Recording results for __fc_atomic_exchange_explicit
@@ -66,38 +66,38 @@
   Called from stdatomic_c.c:17.
 [eva] computing for function memcmp <- __fc_atomic_compare_exchange_strong <- 
                           test_atomic_int <- main.
-  Called from FRAMAC_SHARE/libc/stdatomic.c:93.
+  Called from FRAMAC_SHARE/libc/stdatomic.c:96.
 [eva] using specification for function memcmp
-[eva] FRAMAC_SHARE/libc/stdatomic.c:93: 
+[eva] FRAMAC_SHARE/libc/stdatomic.c:96: 
   function memcmp: precondition 'valid_s1' got status valid.
-[eva] FRAMAC_SHARE/libc/stdatomic.c:93: 
+[eva] FRAMAC_SHARE/libc/stdatomic.c:96: 
   function memcmp: precondition 'valid_s2' got status valid.
-[eva] FRAMAC_SHARE/libc/stdatomic.c:93: 
+[eva] FRAMAC_SHARE/libc/stdatomic.c:96: 
   function memcmp: precondition 'initialization,s1' got status valid.
-[eva] FRAMAC_SHARE/libc/stdatomic.c:93: 
+[eva] FRAMAC_SHARE/libc/stdatomic.c:96: 
   function memcmp: precondition 'initialization,s2' got status valid.
-[eva] FRAMAC_SHARE/libc/stdatomic.c:93: 
+[eva] FRAMAC_SHARE/libc/stdatomic.c:96: 
   function memcmp: precondition 'danglingness,s1' got status valid.
-[eva] FRAMAC_SHARE/libc/stdatomic.c:93: 
+[eva] FRAMAC_SHARE/libc/stdatomic.c:96: 
   function memcmp: precondition 'danglingness,s2' got status valid.
 [eva] FRAMAC_SHARE/libc/string.h:63: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp
 [eva] Done for function memcmp
-[eva] FRAMAC_SHARE/libc/stdatomic.c:94: Call to builtin memcpy
-[eva] FRAMAC_SHARE/libc/stdatomic.c:94: 
+[eva] FRAMAC_SHARE/libc/stdatomic.c:97: Call to builtin memcpy
+[eva] FRAMAC_SHARE/libc/stdatomic.c:97: 
   function memcpy: precondition 'valid_dest' got status valid.
-[eva] FRAMAC_SHARE/libc/stdatomic.c:94: 
+[eva] FRAMAC_SHARE/libc/stdatomic.c:97: 
   function memcpy: precondition 'valid_src' got status valid.
-[eva] FRAMAC_SHARE/libc/stdatomic.c:94: 
+[eva] FRAMAC_SHARE/libc/stdatomic.c:97: 
   function memcpy: precondition 'separation' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:101: 
+[eva] FRAMAC_SHARE/libc/string.h:118: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp
-[eva] FRAMAC_SHARE/libc/stdatomic.c:95: Call to builtin memcpy
-[eva] FRAMAC_SHARE/libc/stdatomic.c:95: 
+[eva] FRAMAC_SHARE/libc/stdatomic.c:98: Call to builtin memcpy
+[eva] FRAMAC_SHARE/libc/stdatomic.c:98: 
   function memcpy: precondition 'valid_dest' got status valid.
-[eva] FRAMAC_SHARE/libc/stdatomic.c:95: 
+[eva] FRAMAC_SHARE/libc/stdatomic.c:98: 
   function memcpy: precondition 'valid_src' got status valid.
-[eva] FRAMAC_SHARE/libc/stdatomic.c:95: 
+[eva] FRAMAC_SHARE/libc/stdatomic.c:98: 
   function memcpy: precondition 'separation' got status valid.
 [eva] Recording results for __fc_atomic_compare_exchange_strong
 [eva] Done for function __fc_atomic_compare_exchange_strong
@@ -107,14 +107,14 @@
 [eva] computing for function __fc_atomic_compare_exchange_strong <- 
                           __fc_atomic_compare_exchange_strong_explicit <- 
                           test_atomic_int <- main.
-  Called from FRAMAC_SHARE/libc/stdatomic.c:104.
+  Called from FRAMAC_SHARE/libc/stdatomic.c:107.
 [eva] computing for function memcmp <- __fc_atomic_compare_exchange_strong <- 
                           __fc_atomic_compare_exchange_strong_explicit <- 
                           test_atomic_int <- main.
-  Called from FRAMAC_SHARE/libc/stdatomic.c:93.
+  Called from FRAMAC_SHARE/libc/stdatomic.c:96.
 [eva] Done for function memcmp
-[eva] FRAMAC_SHARE/libc/stdatomic.c:94: Call to builtin memcpy
-[eva] FRAMAC_SHARE/libc/stdatomic.c:95: Call to builtin memcpy
+[eva] FRAMAC_SHARE/libc/stdatomic.c:97: Call to builtin memcpy
+[eva] FRAMAC_SHARE/libc/stdatomic.c:98: Call to builtin memcpy
 [eva] Recording results for __fc_atomic_compare_exchange_strong
 [eva] Done for function __fc_atomic_compare_exchange_strong
 [eva] Recording results for __fc_atomic_compare_exchange_strong_explicit
@@ -125,14 +125,14 @@
 [eva] computing for function __fc_atomic_compare_exchange_strong <- 
                           __fc_atomic_compare_exchange_weak <- 
                           test_atomic_int <- main.
-  Called from FRAMAC_SHARE/libc/stdatomic.c:110.
+  Called from FRAMAC_SHARE/libc/stdatomic.c:113.
 [eva] computing for function memcmp <- __fc_atomic_compare_exchange_strong <- 
                           __fc_atomic_compare_exchange_weak <- 
                           test_atomic_int <- main.
-  Called from FRAMAC_SHARE/libc/stdatomic.c:93.
+  Called from FRAMAC_SHARE/libc/stdatomic.c:96.
 [eva] Done for function memcmp
-[eva] FRAMAC_SHARE/libc/stdatomic.c:94: Call to builtin memcpy
-[eva] FRAMAC_SHARE/libc/stdatomic.c:95: Call to builtin memcpy
+[eva] FRAMAC_SHARE/libc/stdatomic.c:97: Call to builtin memcpy
+[eva] FRAMAC_SHARE/libc/stdatomic.c:98: Call to builtin memcpy
 [eva] Recording results for __fc_atomic_compare_exchange_strong
 [eva] Done for function __fc_atomic_compare_exchange_strong
 [eva] Recording results for __fc_atomic_compare_exchange_weak
@@ -143,14 +143,14 @@
 [eva] computing for function __fc_atomic_compare_exchange_strong <- 
                           __fc_atomic_compare_exchange_weak_explicit <- 
                           test_atomic_int <- main.
-  Called from FRAMAC_SHARE/libc/stdatomic.c:118.
+  Called from FRAMAC_SHARE/libc/stdatomic.c:121.
 [eva] computing for function memcmp <- __fc_atomic_compare_exchange_strong <- 
                           __fc_atomic_compare_exchange_weak_explicit <- 
                           test_atomic_int <- main.
-  Called from FRAMAC_SHARE/libc/stdatomic.c:93.
+  Called from FRAMAC_SHARE/libc/stdatomic.c:96.
 [eva] Done for function memcmp
-[eva] FRAMAC_SHARE/libc/stdatomic.c:94: Call to builtin memcpy
-[eva] FRAMAC_SHARE/libc/stdatomic.c:95: Call to builtin memcpy
+[eva] FRAMAC_SHARE/libc/stdatomic.c:97: Call to builtin memcpy
+[eva] FRAMAC_SHARE/libc/stdatomic.c:98: Call to builtin memcpy
 [eva] Recording results for __fc_atomic_compare_exchange_strong
 [eva] Done for function __fc_atomic_compare_exchange_strong
 [eva] Recording results for __fc_atomic_compare_exchange_weak_explicit
@@ -165,7 +165,7 @@
 [eva] computing for function __fc_atomic_fetch_add <- 
                           __fc_atomic_fetch_add_explicit <- test_atomic_int <- 
                           main.
-  Called from FRAMAC_SHARE/libc/stdatomic.c:147.
+  Called from FRAMAC_SHARE/libc/stdatomic.c:150.
 [eva] Recording results for __fc_atomic_fetch_add
 [eva] Done for function __fc_atomic_fetch_add
 [eva] Recording results for __fc_atomic_fetch_add_explicit
@@ -180,7 +180,7 @@
 [eva] computing for function __fc_atomic_fetch_sub <- 
                           __fc_atomic_fetch_sub_explicit <- test_atomic_int <- 
                           main.
-  Called from FRAMAC_SHARE/libc/stdatomic.c:171.
+  Called from FRAMAC_SHARE/libc/stdatomic.c:174.
 [eva] Recording results for __fc_atomic_fetch_sub
 [eva] Done for function __fc_atomic_fetch_sub
 [eva] Recording results for __fc_atomic_fetch_sub_explicit
@@ -195,7 +195,7 @@
 [eva] computing for function __fc_atomic_fetch_or <- 
                           __fc_atomic_fetch_or_explicit <- test_atomic_int <- 
                           main.
-  Called from FRAMAC_SHARE/libc/stdatomic.c:195.
+  Called from FRAMAC_SHARE/libc/stdatomic.c:198.
 [eva] Recording results for __fc_atomic_fetch_or
 [eva] Done for function __fc_atomic_fetch_or
 [eva] Recording results for __fc_atomic_fetch_or_explicit
@@ -210,7 +210,7 @@
 [eva] computing for function __fc_atomic_fetch_xor <- 
                           __fc_atomic_fetch_xor_explicit <- test_atomic_int <- 
                           main.
-  Called from FRAMAC_SHARE/libc/stdatomic.c:225.
+  Called from FRAMAC_SHARE/libc/stdatomic.c:228.
 [eva] Recording results for __fc_atomic_fetch_xor
 [eva] Done for function __fc_atomic_fetch_xor
 [eva] Recording results for __fc_atomic_fetch_xor_explicit
@@ -225,7 +225,7 @@
 [eva] computing for function __fc_atomic_fetch_and <- 
                           __fc_atomic_fetch_and_explicit <- test_atomic_int <- 
                           main.
-  Called from FRAMAC_SHARE/libc/stdatomic.c:255.
+  Called from FRAMAC_SHARE/libc/stdatomic.c:258.
 [eva] Recording results for __fc_atomic_fetch_and
 [eva] Done for function __fc_atomic_fetch_and
 [eva] Recording results for __fc_atomic_fetch_and_explicit
diff --git a/tests/libc/oracle/stdio_c.res.oracle b/tests/libc/oracle/stdio_c.res.oracle
index 71ff8f9d0dd26170d780b01a42df3071ef8bc615..18fbf9a277c2ed6dc7374ed55bebb838fefb4795 100644
--- a/tests/libc/oracle/stdio_c.res.oracle
+++ b/tests/libc/oracle/stdio_c.res.oracle
@@ -5,352 +5,1059 @@
 [eva:initial-state] Values of globals at initialization
   nondet ∈ [--..--]
 [eva] computing for function fopen <- main.
-  Called from stdio_c.c:12.
+  Called from stdio_c.c:16.
 [eva] using specification for function fopen
-[eva] stdio_c.c:12: 
+[eva] stdio_c.c:16: 
   function fopen: precondition 'valid_filename' got status valid.
-[eva] stdio_c.c:12: function fopen: precondition 'valid_mode' got status valid.
+[eva] stdio_c.c:16: function fopen: precondition 'valid_mode' got status valid.
 [eva] Done for function fopen
 [eva] computing for function getline <- main.
-  Called from stdio_c.c:14.
+  Called from stdio_c.c:18.
 [eva] computing for function ferror <- getline <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:68.
+  Called from FRAMAC_SHARE/libc/stdio.c:70.
 [eva] using specification for function ferror
-[eva] FRAMAC_SHARE/libc/stdio.c:68: 
+[eva] FRAMAC_SHARE/libc/stdio.c:70: 
   function ferror: precondition 'valid_stream' got status valid.
 [eva] Done for function ferror
 [eva] computing for function feof <- getline <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:68.
+  Called from FRAMAC_SHARE/libc/stdio.c:70.
 [eva] using specification for function feof
-[eva] FRAMAC_SHARE/libc/stdio.c:68: 
+[eva] FRAMAC_SHARE/libc/stdio.c:70: 
   function feof: precondition 'valid_stream' got status valid.
 [eva] Done for function feof
-[eva] FRAMAC_SHARE/libc/stdio.c:73: Call to builtin malloc
-[eva] FRAMAC_SHARE/libc/stdio.c:73: allocating variable __malloc_getline_l73
+[eva] FRAMAC_SHARE/libc/stdio.c:75: Call to builtin malloc
+[eva] FRAMAC_SHARE/libc/stdio.c:75: allocating variable __malloc_getline_l75
 [eva] computing for function ferror <- getline <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:82.
-[eva] FRAMAC_SHARE/libc/stdio.c:82: 
+  Called from FRAMAC_SHARE/libc/stdio.c:84.
+[eva] FRAMAC_SHARE/libc/stdio.c:84: 
   function ferror: precondition 'valid_stream' got status valid.
 [eva] Done for function ferror
 [eva] computing for function feof <- getline <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:82.
-[eva] FRAMAC_SHARE/libc/stdio.c:82: 
+  Called from FRAMAC_SHARE/libc/stdio.c:84.
+[eva] FRAMAC_SHARE/libc/stdio.c:84: 
   function feof: precondition 'valid_stream' got status valid.
 [eva] Done for function feof
 [eva] computing for function fgetc <- getline <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:84.
+  Called from FRAMAC_SHARE/libc/stdio.c:86.
 [eva] computing for function Frama_C_interval <- fgetc <- getline <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:174.
+  Called from FRAMAC_SHARE/libc/stdio.c:181.
 [eva] using specification for function Frama_C_interval
-[eva] FRAMAC_SHARE/libc/stdio.c:174: 
+[eva] FRAMAC_SHARE/libc/stdio.c:181: 
   function Frama_C_interval: precondition 'order' got status valid.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- fgetc <- getline <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:185.
-[eva] FRAMAC_SHARE/libc/stdio.c:185: 
+  Called from FRAMAC_SHARE/libc/stdio.c:192.
+[eva] FRAMAC_SHARE/libc/stdio.c:192: 
   function Frama_C_interval: precondition 'order' got status valid.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- fgetc <- getline <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:190.
-[eva] FRAMAC_SHARE/libc/stdio.c:190: 
+  Called from FRAMAC_SHARE/libc/stdio.c:197.
+[eva] FRAMAC_SHARE/libc/stdio.c:197: 
   function Frama_C_interval: precondition 'order' got status valid.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_unsigned_char_interval <- fgetc <- getline <- 
                           main.
-  Called from FRAMAC_SHARE/libc/stdio.c:193.
+  Called from FRAMAC_SHARE/libc/stdio.c:200.
 [eva] using specification for function Frama_C_unsigned_char_interval
-[eva] FRAMAC_SHARE/libc/stdio.c:193: 
+[eva] FRAMAC_SHARE/libc/stdio.c:200: 
   function Frama_C_unsigned_char_interval: precondition 'order' got status valid.
 [eva] Done for function Frama_C_unsigned_char_interval
 [eva] Recording results for fgetc
 [eva] Done for function fgetc
-[eva] FRAMAC_SHARE/libc/stdio.c:83: starting to merge loop iterations
-[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc
-[eva] FRAMAC_SHARE/libc/stdio.c:104: Call to builtin realloc
-[eva] FRAMAC_SHARE/libc/stdio.c:104: 
+[eva] FRAMAC_SHARE/libc/stdio.c:85: starting to merge loop iterations
+[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc
+[eva] FRAMAC_SHARE/libc/stdio.c:106: Call to builtin realloc
+[eva] FRAMAC_SHARE/libc/stdio.c:106: 
   function realloc: precondition 'freeable' got status valid.
-[eva] FRAMAC_SHARE/libc/stdio.c:104: allocating variable __realloc_getline_l104
-[eva] FRAMAC_SHARE/libc/stdio.c:82: starting to merge loop iterations
+[eva] FRAMAC_SHARE/libc/stdio.c:106: allocating variable __realloc_getline_l106
+[eva] FRAMAC_SHARE/libc/stdio.c:84: starting to merge loop iterations
 [eva] computing for function ferror <- getline <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:82.
+  Called from FRAMAC_SHARE/libc/stdio.c:84.
 [eva] Done for function ferror
 [eva] computing for function feof <- getline <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:82.
+  Called from FRAMAC_SHARE/libc/stdio.c:84.
 [eva] Done for function feof
-[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc
-[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc
-[eva] FRAMAC_SHARE/libc/stdio.c:104: Call to builtin realloc
+[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc
+[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc
+[eva] FRAMAC_SHARE/libc/stdio.c:106: Call to builtin realloc
 [eva] computing for function ferror <- getline <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:82.
+  Called from FRAMAC_SHARE/libc/stdio.c:84.
 [eva] Done for function ferror
 [eva] computing for function feof <- getline <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:82.
+  Called from FRAMAC_SHARE/libc/stdio.c:84.
 [eva] Done for function feof
-[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc
-[eva:alarm] FRAMAC_SHARE/libc/stdio.c:90: Warning: 
+[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:92: Warning: 
   out of bounds write. assert \valid(*lineptr + tmp_2);
                        (tmp_2 from cur++)
-[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc
-[eva] FRAMAC_SHARE/libc/stdio.c:104: Call to builtin realloc
+[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc
+[eva] FRAMAC_SHARE/libc/stdio.c:106: Call to builtin realloc
 [eva] computing for function ferror <- getline <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:82.
+  Called from FRAMAC_SHARE/libc/stdio.c:84.
 [eva] Done for function ferror
 [eva] computing for function feof <- getline <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:82.
+  Called from FRAMAC_SHARE/libc/stdio.c:84.
 [eva] Done for function feof
-[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc
-[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc
-[eva] FRAMAC_SHARE/libc/stdio.c:104: Call to builtin realloc
+[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc
+[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc
+[eva] FRAMAC_SHARE/libc/stdio.c:106: Call to builtin realloc
 [eva] computing for function ferror <- getline <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:82.
+  Called from FRAMAC_SHARE/libc/stdio.c:84.
 [eva] Done for function ferror
 [eva] computing for function feof <- getline <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:82.
+  Called from FRAMAC_SHARE/libc/stdio.c:84.
 [eva] Done for function feof
-[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc
-[eva] FRAMAC_SHARE/libc/stdio.c:104: Call to builtin realloc
-[eva:alarm] FRAMAC_SHARE/libc/stdio.c:93: Warning: 
+[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc
+[eva] FRAMAC_SHARE/libc/stdio.c:106: Call to builtin realloc
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:95: Warning: 
   out of bounds write. assert \valid(*lineptr + cur);
 [eva] Recording results for getline
 [eva] Done for function getline
-[eva:alarm] stdio_c.c:15: Warning: assertion 'read_ok' got status unknown.
-[eva] stdio_c.c:16: Call to builtin strlen
-[eva:alarm] stdio_c.c:16: Warning: 
+[eva:alarm] stdio_c.c:19: Warning: assertion 'read_ok' got status unknown.
+[eva] stdio_c.c:20: Call to builtin strlen
+[eva:alarm] stdio_c.c:20: Warning: 
   function strlen: precondition 'valid_string_s' got status unknown.
-[eva:alarm] stdio_c.c:17: Warning: assertion 'read_bytes' got status unknown.
-[eva:alarm] stdio_c.c:18: Warning: 
+[eva:alarm] stdio_c.c:21: Warning: assertion 'read_bytes' got status unknown.
+[eva:alarm] stdio_c.c:22: Warning: 
   assertion 'allocated_enough' got status unknown.
-[eva] stdio_c.c:14: starting to merge loop iterations
+[eva] stdio_c.c:18: starting to merge loop iterations
 [eva] computing for function getline <- main.
-  Called from stdio_c.c:14.
+  Called from stdio_c.c:18.
 [eva] computing for function ferror <- getline <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:68.
+  Called from FRAMAC_SHARE/libc/stdio.c:70.
 [eva] Done for function ferror
 [eva] computing for function feof <- getline <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:68.
+  Called from FRAMAC_SHARE/libc/stdio.c:70.
 [eva] Done for function feof
-[eva] FRAMAC_SHARE/libc/stdio.c:73: Call to builtin malloc
+[eva] FRAMAC_SHARE/libc/stdio.c:75: Call to builtin malloc
 [eva] computing for function ferror <- getline <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:82.
+  Called from FRAMAC_SHARE/libc/stdio.c:84.
 [eva] Done for function ferror
 [eva] computing for function feof <- getline <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:82.
+  Called from FRAMAC_SHARE/libc/stdio.c:84.
 [eva] Done for function feof
-[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc
-[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc
-[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc
-[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc
-[eva] FRAMAC_SHARE/libc/stdio.c:104: Call to builtin realloc
+[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc
+[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc
+[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc
+[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc
+[eva] FRAMAC_SHARE/libc/stdio.c:106: Call to builtin realloc
 [eva] computing for function ferror <- getline <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:82.
+  Called from FRAMAC_SHARE/libc/stdio.c:84.
 [eva] Done for function ferror
 [eva] computing for function feof <- getline <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:82.
+  Called from FRAMAC_SHARE/libc/stdio.c:84.
 [eva] Done for function feof
 [eva] Recording results for getline
 [eva] Done for function getline
-[eva] stdio_c.c:16: Call to builtin strlen
+[eva] stdio_c.c:20: Call to builtin strlen
 [eva] computing for function getline <- main.
-  Called from stdio_c.c:14.
+  Called from stdio_c.c:18.
 [eva] computing for function ferror <- getline <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:68.
+  Called from FRAMAC_SHARE/libc/stdio.c:70.
 [eva] Done for function ferror
 [eva] computing for function feof <- getline <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:68.
+  Called from FRAMAC_SHARE/libc/stdio.c:70.
 [eva] Done for function feof
-[eva] FRAMAC_SHARE/libc/stdio.c:73: Call to builtin malloc
+[eva] FRAMAC_SHARE/libc/stdio.c:75: Call to builtin malloc
 [eva] computing for function ferror <- getline <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:82.
+  Called from FRAMAC_SHARE/libc/stdio.c:84.
 [eva] Done for function ferror
 [eva] computing for function feof <- getline <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:82.
+  Called from FRAMAC_SHARE/libc/stdio.c:84.
 [eva] Done for function feof
-[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc
-[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc
-[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc
-[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc
-[eva] FRAMAC_SHARE/libc/stdio.c:104: Call to builtin realloc
+[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc
+[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc
+[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc
+[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc
+[eva] FRAMAC_SHARE/libc/stdio.c:106: Call to builtin realloc
 [eva] computing for function ferror <- getline <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:82.
+  Called from FRAMAC_SHARE/libc/stdio.c:84.
 [eva] Done for function ferror
 [eva] computing for function feof <- getline <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:82.
+  Called from FRAMAC_SHARE/libc/stdio.c:84.
 [eva] Done for function feof
 [eva] Recording results for getline
 [eva] Done for function getline
-[eva] stdio_c.c:16: Call to builtin strlen
+[eva] stdio_c.c:20: Call to builtin strlen
 [eva] computing for function getline <- main.
-  Called from stdio_c.c:14.
+  Called from stdio_c.c:18.
 [eva] computing for function ferror <- getline <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:68.
+  Called from FRAMAC_SHARE/libc/stdio.c:70.
 [eva] Done for function ferror
 [eva] computing for function feof <- getline <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:68.
+  Called from FRAMAC_SHARE/libc/stdio.c:70.
 [eva] Done for function feof
-[eva] FRAMAC_SHARE/libc/stdio.c:73: Call to builtin malloc
+[eva] FRAMAC_SHARE/libc/stdio.c:75: Call to builtin malloc
 [eva] computing for function ferror <- getline <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:82.
+  Called from FRAMAC_SHARE/libc/stdio.c:84.
 [eva] Done for function ferror
 [eva] computing for function feof <- getline <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:82.
+  Called from FRAMAC_SHARE/libc/stdio.c:84.
 [eva] Done for function feof
-[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc
-[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc
-[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc
-[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc
-[eva] FRAMAC_SHARE/libc/stdio.c:104: Call to builtin realloc
+[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc
+[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc
+[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc
+[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc
+[eva] FRAMAC_SHARE/libc/stdio.c:106: Call to builtin realloc
 [eva] computing for function ferror <- getline <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:82.
+  Called from FRAMAC_SHARE/libc/stdio.c:84.
 [eva] Done for function ferror
 [eva] computing for function feof <- getline <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:82.
+  Called from FRAMAC_SHARE/libc/stdio.c:84.
 [eva] Done for function feof
 [eva] Recording results for getline
 [eva] Done for function getline
-[eva] stdio_c.c:16: Call to builtin strlen
-[eva] stdio_c.c:20: Call to builtin free
-[eva] stdio_c.c:20: function free: precondition 'freeable' got status valid.
+[eva] stdio_c.c:20: Call to builtin strlen
+[eva] stdio_c.c:24: Call to builtin free
+[eva] stdio_c.c:24: function free: precondition 'freeable' got status valid.
 [eva] computing for function fclose <- main.
-  Called from stdio_c.c:21.
+  Called from stdio_c.c:25.
 [eva] using specification for function fclose
-[eva] stdio_c.c:21: 
+[eva] stdio_c.c:25: 
   function fclose: precondition 'valid_stream' got status valid.
 [eva] Done for function fclose
 [eva] computing for function asprintf <- main.
-  Called from stdio_c.c:28.
-[eva] computing for function Frama_C_interval <- asprintf <- main.
+  Called from stdio_c.c:31.
+[eva] computing for function vasprintf <- asprintf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:137.
+[eva] computing for function Frama_C_interval <- vasprintf <- asprintf <- main.
   Called from FRAMAC_SHARE/libc/stdio.c:123.
 [eva] FRAMAC_SHARE/libc/stdio.c:123: 
   function Frama_C_interval: precondition 'order' got status valid.
 [eva] Done for function Frama_C_interval
 [eva] FRAMAC_SHARE/libc/stdio.c:124: Call to builtin malloc
-[eva] FRAMAC_SHARE/libc/stdio.c:124: allocating variable __malloc_asprintf_l124
-[eva] computing for function Frama_C_make_unknown <- asprintf <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:130.
+[eva] FRAMAC_SHARE/libc/stdio.c:124: allocating variable __malloc_vasprintf_l124
+[eva] computing for function Frama_C_make_unknown <- vasprintf <- asprintf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:129.
 [eva] using specification for function Frama_C_make_unknown
-[eva:alarm] FRAMAC_SHARE/libc/stdio.c:130: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:129: Warning: 
   function Frama_C_make_unknown: precondition 'valid_p' got status unknown.
 [eva] Done for function Frama_C_make_unknown
-[eva:alarm] FRAMAC_SHARE/libc/stdio.c:131: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:130: Warning: 
   out of bounds write. assert \valid(*strp + (size_t)(len - 1U));
+[eva] Recording results for vasprintf
+[eva] Done for function vasprintf
 [eva] Recording results for asprintf
 [eva] Done for function asprintf
 [eva] computing for function printf_va_1 <- main.
-  Called from stdio_c.c:30.
+  Called from stdio_c.c:33.
 [eva] using specification for function printf_va_1
-[eva:alarm] stdio_c.c:30: Warning: 
+[eva:alarm] stdio_c.c:33: Warning: 
   function printf_va_1: precondition valid_read_string(param0) got status unknown.
-[eva] stdio_c.c:30: 
+[eva] stdio_c.c:33: 
   function printf_va_1: precondition valid_read_string(format) got status valid.
 [eva] Done for function printf_va_1
-[eva] stdio_c.c:31: Call to builtin free
-[eva] stdio_c.c:31: function free: precondition 'freeable' got status valid.
+[eva] stdio_c.c:34: Call to builtin free
+[eva] stdio_c.c:34: function free: precondition 'freeable' got status valid.
 [eva] computing for function fmemopen <- main.
-  Called from stdio_c.c:39.
+  Called from stdio_c.c:42.
 [eva] computing for function is_valid_mode <- fmemopen <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:206.
+  Called from FRAMAC_SHARE/libc/stdio.c:213.
 [eva] Recording results for is_valid_mode
 [eva] Done for function is_valid_mode
-[eva] FRAMAC_SHARE/libc/stdio.c:224: Call to builtin malloc
-[eva] FRAMAC_SHARE/libc/stdio.c:224: allocating variable __malloc_fmemopen_l224
+[eva] FRAMAC_SHARE/libc/stdio.c:231: Call to builtin malloc
+[eva] FRAMAC_SHARE/libc/stdio.c:231: allocating variable __malloc_fmemopen_l231
 [eva] computing for function Frama_C_interval <- fmemopen <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:232.
-[eva] FRAMAC_SHARE/libc/stdio.c:232: 
+  Called from FRAMAC_SHARE/libc/stdio.c:239.
+[eva] FRAMAC_SHARE/libc/stdio.c:239: 
   function Frama_C_interval: precondition 'order' got status valid.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- fmemopen <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:237.
-[eva] FRAMAC_SHARE/libc/stdio.c:237: 
+  Called from FRAMAC_SHARE/libc/stdio.c:244.
+[eva] FRAMAC_SHARE/libc/stdio.c:244: 
   function Frama_C_interval: precondition 'order' got status valid.
 [eva] Done for function Frama_C_interval
 [eva] Recording results for fmemopen
 [eva] Done for function fmemopen
 [eva] computing for function fwrite <- main.
-  Called from stdio_c.c:42.
+  Called from stdio_c.c:45.
 [eva] using specification for function fwrite
-[eva] stdio_c.c:42: 
+[eva] stdio_c.c:45: 
   function fwrite: precondition 'valid_ptr_block' got status valid.
-[eva] stdio_c.c:42: 
+[eva] stdio_c.c:45: 
   function fwrite: precondition 'valid_stream' got status valid.
 [eva] Done for function fwrite
-[eva] stdio_c.c:43: assertion got status valid.
+[eva] stdio_c.c:46: assertion got status valid.
 [eva] computing for function getchar <- main.
-  Called from stdio_c.c:46.
+  Called from stdio_c.c:49.
 [eva] computing for function fgetc <- getchar <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:198.
+  Called from FRAMAC_SHARE/libc/stdio.c:205.
 [eva] computing for function Frama_C_interval <- fgetc <- getchar <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:174.
+  Called from FRAMAC_SHARE/libc/stdio.c:181.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- fgetc <- getchar <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:185.
+  Called from FRAMAC_SHARE/libc/stdio.c:192.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- fgetc <- getchar <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:190.
+  Called from FRAMAC_SHARE/libc/stdio.c:197.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_unsigned_char_interval <- fgetc <- getchar <- 
                           main.
-  Called from FRAMAC_SHARE/libc/stdio.c:193.
+  Called from FRAMAC_SHARE/libc/stdio.c:200.
 [eva] Done for function Frama_C_unsigned_char_interval
 [eva] Recording results for fgetc
 [eva] Done for function fgetc
 [eva] Recording results for getchar
 [eva] Done for function getchar
-[eva] stdio_c.c:47: Frama_C_show_each_getchar: [-1..255]
-[eva] stdio_c.c:48: Reusing old results for call to fgetc
-[eva] stdio_c.c:49: Frama_C_show_each_fgetc: [-1..255]
+[eva] stdio_c.c:50: Frama_C_show_each_getchar: [-1..255]
+[eva] stdio_c.c:51: Reusing old results for call to fgetc
+[eva] stdio_c.c:52: Frama_C_show_each_fgetc: [-1..255]
 [eva] computing for function fgets <- main.
-  Called from stdio_c.c:51.
+  Called from stdio_c.c:54.
 [eva] computing for function Frama_C_interval <- fgets <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:136.
-[eva] FRAMAC_SHARE/libc/stdio.c:136: 
+  Called from FRAMAC_SHARE/libc/stdio.c:143.
+[eva] FRAMAC_SHARE/libc/stdio.c:143: 
   function Frama_C_interval: precondition 'order' got status valid.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- fgets <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:147.
-[eva] FRAMAC_SHARE/libc/stdio.c:147: 
+  Called from FRAMAC_SHARE/libc/stdio.c:154.
+[eva] FRAMAC_SHARE/libc/stdio.c:154: 
   function Frama_C_interval: precondition 'order' got status valid.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- fgets <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:154.
-[eva] FRAMAC_SHARE/libc/stdio.c:154: 
+  Called from FRAMAC_SHARE/libc/stdio.c:161.
+[eva] FRAMAC_SHARE/libc/stdio.c:161: 
   function Frama_C_interval: precondition 'order' got status valid.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- fgets <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:160.
-[eva] FRAMAC_SHARE/libc/stdio.c:160: 
+  Called from FRAMAC_SHARE/libc/stdio.c:167.
+[eva] FRAMAC_SHARE/libc/stdio.c:167: 
   function Frama_C_interval: precondition 'order' got status valid.
 [eva] Done for function Frama_C_interval
-[eva] FRAMAC_SHARE/libc/stdio.c:151: starting to merge loop iterations
+[eva] FRAMAC_SHARE/libc/stdio.c:158: starting to merge loop iterations
 [eva] computing for function Frama_C_interval <- fgets <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:154.
+  Called from FRAMAC_SHARE/libc/stdio.c:161.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- fgets <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:160.
+  Called from FRAMAC_SHARE/libc/stdio.c:167.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- fgets <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:154.
+  Called from FRAMAC_SHARE/libc/stdio.c:161.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- fgets <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:160.
+  Called from FRAMAC_SHARE/libc/stdio.c:167.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- fgets <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:154.
+  Called from FRAMAC_SHARE/libc/stdio.c:161.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- fgets <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:160.
+  Called from FRAMAC_SHARE/libc/stdio.c:167.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- fgets <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:154.
+  Called from FRAMAC_SHARE/libc/stdio.c:161.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- fgets <- main.
-  Called from FRAMAC_SHARE/libc/stdio.c:160.
+  Called from FRAMAC_SHARE/libc/stdio.c:167.
 [eva] Done for function Frama_C_interval
-[eva:alarm] FRAMAC_SHARE/libc/stdio.c:169: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:176: Warning: 
   out of bounds write. assert \valid(s + i);
 [eva] Recording results for fgets
 [eva] Done for function fgets
-[eva:alarm] stdio_c.c:53: Warning: 
+[eva:alarm] stdio_c.c:56: Warning: 
   assertion 'at_least_one_char' got status unknown.
+[eva] computing for function caller_stub_for_vscanf <- main.
+  Called from stdio_c.c:66.
+[eva] computing for function vscanf <- caller_stub_for_vscanf <- main.
+  Called from stdio_c.c:79.
+[eva] computing for function vfscanf <- vscanf <- caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:513.
+[eva] FRAMAC_SHARE/libc/stdio.c:265: starting to merge loop iterations
+[eva] computing for function Frama_C_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:350.
+[eva] FRAMAC_SHARE/libc/stdio.c:350: 
+  function Frama_C_interval: precondition 'order' got status valid.
+[eva] Done for function Frama_C_interval
+[eva] FRAMAC_SHARE/libc/stdio.c:256: starting to merge loop iterations
+[eva] FRAMAC_SHARE/libc/stdio.c:280: starting to merge loop iterations
+[eva] FRAMAC_SHARE/libc/stdio.c:338: starting to merge loop iterations
+[eva] computing for function Frama_C_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:350.
+[eva] Done for function Frama_C_interval
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:350: Warning: 
+  out of bounds write. assert \valid(tmp_0);
+                       (tmp_0 from vararg)
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:340: Warning: 
+  out of bounds read. assert \valid_read(arg);
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:350: Warning: 
+  out of bounds read. assert \valid_read(arg);
+[eva] computing for function Frama_C_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:350.
+[eva] Done for function Frama_C_interval
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:353: Warning: 
+  out of bounds read. assert \valid_read(arg);
+[eva] computing for function Frama_C_char_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:353.
+[eva] using specification for function Frama_C_char_interval
+[eva] FRAMAC_SHARE/libc/stdio.c:353: 
+  function Frama_C_char_interval: precondition 'order' got status valid.
+[eva] Done for function Frama_C_char_interval
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:356: Warning: 
+  out of bounds read. assert \valid_read(arg);
+[eva] computing for function Frama_C_short_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:356.
+[eva] using specification for function Frama_C_short_interval
+[eva] FRAMAC_SHARE/libc/stdio.c:356: 
+  function Frama_C_short_interval: precondition 'order' got status valid.
+[eva] Done for function Frama_C_short_interval
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:356: Warning: 
+  out of bounds write. assert \valid(tmp_2_0);
+                       (tmp_2_0 from vararg)
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:359: Warning: 
+  out of bounds read. assert \valid_read(arg);
+[eva] computing for function Frama_C_long_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:359.
+[eva] using specification for function Frama_C_long_interval
+[eva] FRAMAC_SHARE/libc/stdio.c:359: 
+  function Frama_C_long_interval: precondition 'order' got status valid.
+[eva] Done for function Frama_C_long_interval
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:359: Warning: 
+  out of bounds write. assert \valid(tmp_3);
+                       (tmp_3 from vararg)
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:363: Warning: 
+  out of bounds read. assert \valid_read(arg);
+[eva] computing for function Frama_C_long_long_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:364.
+[eva] using specification for function Frama_C_long_long_interval
+[eva] FRAMAC_SHARE/libc/stdio.c:364: 
+  function Frama_C_long_long_interval: precondition 'order' got status valid.
+[eva] Done for function Frama_C_long_long_interval
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:364: Warning: 
+  out of bounds write. assert \valid(tmp_4);
+                       (tmp_4 from vararg)
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:367: Warning: 
+  out of bounds read. assert \valid_read(arg);
+[eva] computing for function Frama_C_intmax_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:368.
+[eva] using specification for function Frama_C_intmax_t_interval
+[eva] FRAMAC_SHARE/libc/stdio.c:368: 
+  function Frama_C_intmax_t_interval: precondition 'order' got status valid.
+[eva] Done for function Frama_C_intmax_t_interval
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:368: Warning: 
+  out of bounds write. assert \valid(tmp_5);
+                       (tmp_5 from vararg)
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:371: Warning: 
+  out of bounds read. assert \valid_read(arg);
+[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:371.
+[eva] using specification for function Frama_C_size_t_interval
+[eva] FRAMAC_SHARE/libc/stdio.c:371: 
+  function Frama_C_size_t_interval: precondition 'order' got status valid.
+[eva] Done for function Frama_C_size_t_interval
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:371: Warning: 
+  out of bounds write. assert \valid(tmp_6);
+                       (tmp_6 from vararg)
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:374: Warning: 
+  out of bounds read. assert \valid_read(arg);
+[eva] computing for function Frama_C_ptrdiff_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:375.
+[eva] using specification for function Frama_C_ptrdiff_t_interval
+[eva] FRAMAC_SHARE/libc/stdio.c:375: 
+  function Frama_C_ptrdiff_t_interval: precondition 'order' got status valid.
+[eva] Done for function Frama_C_ptrdiff_t_interval
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:375: Warning: 
+  out of bounds write. assert \valid(tmp_7);
+                       (tmp_7 from vararg)
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:385: Warning: 
+  out of bounds read. assert \valid_read(arg);
+[eva] computing for function Frama_C_unsigned_int_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:386.
+[eva] using specification for function Frama_C_unsigned_int_interval
+[eva] FRAMAC_SHARE/libc/stdio.c:386: 
+  function Frama_C_unsigned_int_interval: precondition 'order' got status valid.
+[eva] Done for function Frama_C_unsigned_int_interval
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:386: Warning: 
+  out of bounds write. assert \valid(tmp_8);
+                       (tmp_8 from vararg)
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:389: Warning: 
+  out of bounds read. assert \valid_read(arg);
+[eva] computing for function Frama_C_unsigned_char_interval <- vfscanf <- 
+                          vscanf <- caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:390.
+[eva] FRAMAC_SHARE/libc/stdio.c:390: 
+  function Frama_C_unsigned_char_interval: precondition 'order' got status valid.
+[eva] Done for function Frama_C_unsigned_char_interval
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:393: Warning: 
+  out of bounds read. assert \valid_read(arg);
+[eva] computing for function Frama_C_unsigned_short_interval <- vfscanf <- 
+                          vscanf <- caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:394.
+[eva] using specification for function Frama_C_unsigned_short_interval
+[eva] FRAMAC_SHARE/libc/stdio.c:394: 
+  function Frama_C_unsigned_short_interval: precondition 'order' got status valid.
+[eva] Done for function Frama_C_unsigned_short_interval
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:394: Warning: 
+  out of bounds write. assert \valid(tmp_10);
+                       (tmp_10 from vararg)
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:397: Warning: 
+  out of bounds read. assert \valid_read(arg);
+[eva] computing for function Frama_C_unsigned_long_interval <- vfscanf <- 
+                          vscanf <- caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:398.
+[eva] using specification for function Frama_C_unsigned_long_interval
+[eva] FRAMAC_SHARE/libc/stdio.c:398: 
+  function Frama_C_unsigned_long_interval: precondition 'order' got status valid.
+[eva] Done for function Frama_C_unsigned_long_interval
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:398: Warning: 
+  out of bounds write. assert \valid(tmp_11);
+                       (tmp_11 from vararg)
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:402: Warning: 
+  out of bounds read. assert \valid_read(arg);
+[eva] computing for function Frama_C_unsigned_long_long_interval <- vfscanf <- 
+                          vscanf <- caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:403.
+[eva] using specification for function Frama_C_unsigned_long_long_interval
+[eva] FRAMAC_SHARE/libc/stdio.c:403: 
+  function Frama_C_unsigned_long_long_interval: precondition 'order' got status valid.
+[eva] Done for function Frama_C_unsigned_long_long_interval
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:403: Warning: 
+  out of bounds write. assert \valid(tmp_12);
+                       (tmp_12 from vararg)
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:406: Warning: 
+  out of bounds read. assert \valid_read(arg);
+[eva] computing for function Frama_C_uintmax_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:406.
+[eva] using specification for function Frama_C_uintmax_t_interval
+[eva] FRAMAC_SHARE/libc/stdio.c:406: 
+  function Frama_C_uintmax_t_interval: precondition 'order' got status valid.
+[eva] Done for function Frama_C_uintmax_t_interval
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:406: Warning: 
+  out of bounds write. assert \valid(tmp_13);
+                       (tmp_13 from vararg)
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:409: Warning: 
+  out of bounds read. assert \valid_read(arg);
+[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:409.
+[eva] FRAMAC_SHARE/libc/stdio.c:409: 
+  function Frama_C_size_t_interval: precondition 'order' got status valid.
+[eva] Done for function Frama_C_size_t_interval
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:409: Warning: 
+  out of bounds write. assert \valid(tmp_14);
+                       (tmp_14 from vararg)
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:412: Warning: 
+  out of bounds read. assert \valid_read(arg);
+[eva] computing for function Frama_C_ptrdiff_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:413.
+[eva] FRAMAC_SHARE/libc/stdio.c:413: 
+  function Frama_C_ptrdiff_t_interval: precondition 'order' got status valid.
+[eva] Done for function Frama_C_ptrdiff_t_interval
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:413: Warning: 
+  out of bounds write. assert \valid(tmp_15);
+                       (tmp_15 from vararg)
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:429: Warning: 
+  out of bounds read. assert \valid_read(arg);
+[eva] computing for function Frama_C_double_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:429.
+[eva] using specification for function Frama_C_double_interval
+[eva] FRAMAC_SHARE/libc/stdio.c:429: 
+  function Frama_C_double_interval, behavior finite: precondition 'order' got status valid.
+[eva] Done for function Frama_C_double_interval
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:429: Warning: 
+  out of bounds write. assert \valid(tmp_16);
+                       (tmp_16 from vararg)
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:435: Warning: 
+  out of bounds read. assert \valid_read(arg);
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:435: Warning: 
+  out of bounds write. assert \valid(tmp_17);
+                       (tmp_17 from vararg)
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:435: Warning: 
+  accessing uninitialized left-value. assert \initialized(&vld);
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:435: Warning: 
+  non-finite long double value. assert \is_finite(vld);
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:440: Warning: 
+  assertion 'invalid_scanf_specifier' got status invalid (stopping propagation).
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:447: Warning: 
+  out of bounds read. assert \valid_read(arg);
+[eva] computing for function Frama_C_char_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:447.
+[eva] FRAMAC_SHARE/libc/stdio.c:447: 
+  function Frama_C_char_interval: precondition 'order' got status valid.
+[eva] Done for function Frama_C_char_interval
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:450: Warning: 
+  out of bounds read. assert \valid_read(arg);
+[eva] computing for function Frama_C_wint_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:450.
+[eva] using specification for function Frama_C_wint_t_interval
+[eva] FRAMAC_SHARE/libc/stdio.c:450: 
+  function Frama_C_wint_t_interval: precondition 'order' got status valid.
+[eva] Done for function Frama_C_wint_t_interval
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:450: Warning: 
+  out of bounds write. assert \valid(tmp_19);
+                       (tmp_19 from vararg)
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:453: Warning: 
+  assertion 'invalid_scanf_specifier' got status invalid (stopping propagation).
+[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:462.
+[eva] FRAMAC_SHARE/libc/stdio.c:462: 
+  function Frama_C_size_t_interval: precondition 'order' got status valid.
+[eva] Done for function Frama_C_size_t_interval
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:461: Warning: 
+  out of bounds read. assert \valid_read(arg);
+[eva] computing for function Frama_C_make_unknown <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:461.
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:461: Warning: 
+  function Frama_C_make_unknown: precondition 'valid_p' got status unknown.
+[eva] Done for function Frama_C_make_unknown
+[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:467.
+[eva] FRAMAC_SHARE/libc/stdio.c:467: 
+  function Frama_C_size_t_interval: precondition 'order' got status valid.
+[eva] Done for function Frama_C_size_t_interval
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:466: Warning: 
+  out of bounds read. assert \valid_read(arg);
+[eva] computing for function Frama_C_make_unknown_wchar <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:466.
+[eva] using specification for function Frama_C_make_unknown_wchar
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:466: Warning: 
+  function Frama_C_make_unknown_wchar: precondition 'valid_p' got status unknown.
+[eva] Done for function Frama_C_make_unknown_wchar
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:470: Warning: 
+  assertion 'invalid_scanf_specifier' got status invalid (stopping propagation).
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:477: Warning: 
+  out of bounds read. assert \valid_read(arg);
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:477: Warning: 
+  out of bounds write. assert \valid(tmp_24);
+                       (tmp_24 from vararg)
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:480: Warning: 
+  out of bounds read. assert \valid_read(arg);
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:483: Warning: 
+  out of bounds read. assert \valid_read(arg);
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:483: Warning: 
+  out of bounds write. assert \valid(tmp_26);
+                       (tmp_26 from vararg)
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:486: Warning: 
+  out of bounds read. assert \valid_read(arg);
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:486: Warning: 
+  out of bounds write. assert \valid(tmp_27);
+                       (tmp_27 from vararg)
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:490: Warning: 
+  out of bounds read. assert \valid_read(arg);
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:490: Warning: 
+  out of bounds write. assert \valid(tmp_28);
+                       (tmp_28 from vararg)
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:493: Warning: 
+  out of bounds read. assert \valid_read(arg);
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:493: Warning: 
+  out of bounds write. assert \valid(tmp_29);
+                       (tmp_29 from vararg)
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:496: Warning: 
+  out of bounds read. assert \valid_read(arg);
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:496: Warning: 
+  out of bounds write. assert \valid(tmp_30);
+                       (tmp_30 from vararg)
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:499: Warning: 
+  out of bounds read. assert \valid_read(arg);
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:499: Warning: 
+  out of bounds write. assert \valid(tmp_31);
+                       (tmp_31 from vararg)
+[eva:alarm] FRAMAC_SHARE/libc/stdio.c:256: Warning: 
+  out of bounds read. assert \valid_read(p);
+[eva] FRAMAC_SHARE/libc/stdio.c:291: starting to merge loop iterations
+[eva] computing for function Frama_C_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:350.
+[eva] Done for function Frama_C_interval
+[eva] computing for function Frama_C_char_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:353.
+[eva] Done for function Frama_C_char_interval
+[eva] computing for function Frama_C_short_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:356.
+[eva] Done for function Frama_C_short_interval
+[eva] computing for function Frama_C_long_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:359.
+[eva] Done for function Frama_C_long_interval
+[eva] computing for function Frama_C_long_long_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:364.
+[eva] Done for function Frama_C_long_long_interval
+[eva] computing for function Frama_C_intmax_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:368.
+[eva] Done for function Frama_C_intmax_t_interval
+[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:371.
+[eva] Done for function Frama_C_size_t_interval
+[eva] computing for function Frama_C_ptrdiff_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:375.
+[eva] Done for function Frama_C_ptrdiff_t_interval
+[eva] computing for function Frama_C_unsigned_int_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:386.
+[eva] Done for function Frama_C_unsigned_int_interval
+[eva] computing for function Frama_C_unsigned_char_interval <- vfscanf <- 
+                          vscanf <- caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:390.
+[eva] Done for function Frama_C_unsigned_char_interval
+[eva] computing for function Frama_C_unsigned_short_interval <- vfscanf <- 
+                          vscanf <- caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:394.
+[eva] Done for function Frama_C_unsigned_short_interval
+[eva] computing for function Frama_C_unsigned_long_interval <- vfscanf <- 
+                          vscanf <- caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:398.
+[eva] Done for function Frama_C_unsigned_long_interval
+[eva] computing for function Frama_C_unsigned_long_long_interval <- vfscanf <- 
+                          vscanf <- caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:403.
+[eva] Done for function Frama_C_unsigned_long_long_interval
+[eva] computing for function Frama_C_uintmax_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:406.
+[eva] Done for function Frama_C_uintmax_t_interval
+[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:409.
+[eva] Done for function Frama_C_size_t_interval
+[eva] computing for function Frama_C_ptrdiff_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:413.
+[eva] Done for function Frama_C_ptrdiff_t_interval
+[eva] computing for function Frama_C_double_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:429.
+[eva] Done for function Frama_C_double_interval
+[eva] computing for function Frama_C_char_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:447.
+[eva] Done for function Frama_C_char_interval
+[eva] computing for function Frama_C_wint_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:450.
+[eva] Done for function Frama_C_wint_t_interval
+[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:462.
+[eva] Done for function Frama_C_size_t_interval
+[eva] computing for function Frama_C_make_unknown <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:461.
+[eva] Done for function Frama_C_make_unknown
+[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:467.
+[eva] Done for function Frama_C_size_t_interval
+[eva] computing for function Frama_C_make_unknown_wchar <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:466.
+[eva] Done for function Frama_C_make_unknown_wchar
+[eva] computing for function Frama_C_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:350.
+[eva] Done for function Frama_C_interval
+[eva] computing for function Frama_C_char_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:353.
+[eva] Done for function Frama_C_char_interval
+[eva] computing for function Frama_C_short_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:356.
+[eva] Done for function Frama_C_short_interval
+[eva] computing for function Frama_C_long_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:359.
+[eva] Done for function Frama_C_long_interval
+[eva] computing for function Frama_C_long_long_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:364.
+[eva] Done for function Frama_C_long_long_interval
+[eva] computing for function Frama_C_intmax_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:368.
+[eva] Done for function Frama_C_intmax_t_interval
+[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:371.
+[eva] Done for function Frama_C_size_t_interval
+[eva] computing for function Frama_C_ptrdiff_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:375.
+[eva] Done for function Frama_C_ptrdiff_t_interval
+[eva] computing for function Frama_C_unsigned_int_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:386.
+[eva] Done for function Frama_C_unsigned_int_interval
+[eva] computing for function Frama_C_unsigned_char_interval <- vfscanf <- 
+                          vscanf <- caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:390.
+[eva] Done for function Frama_C_unsigned_char_interval
+[eva] computing for function Frama_C_unsigned_short_interval <- vfscanf <- 
+                          vscanf <- caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:394.
+[eva] Done for function Frama_C_unsigned_short_interval
+[eva] computing for function Frama_C_unsigned_long_interval <- vfscanf <- 
+                          vscanf <- caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:398.
+[eva] Done for function Frama_C_unsigned_long_interval
+[eva] computing for function Frama_C_unsigned_long_long_interval <- vfscanf <- 
+                          vscanf <- caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:403.
+[eva] Done for function Frama_C_unsigned_long_long_interval
+[eva] computing for function Frama_C_uintmax_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:406.
+[eva] Done for function Frama_C_uintmax_t_interval
+[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:409.
+[eva] Done for function Frama_C_size_t_interval
+[eva] computing for function Frama_C_ptrdiff_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:413.
+[eva] Done for function Frama_C_ptrdiff_t_interval
+[eva] computing for function Frama_C_double_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:429.
+[eva] Done for function Frama_C_double_interval
+[eva] computing for function Frama_C_char_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:447.
+[eva] Done for function Frama_C_char_interval
+[eva] computing for function Frama_C_wint_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:450.
+[eva] Done for function Frama_C_wint_t_interval
+[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:462.
+[eva] Done for function Frama_C_size_t_interval
+[eva] computing for function Frama_C_make_unknown <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:461.
+[eva] Done for function Frama_C_make_unknown
+[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:467.
+[eva] Done for function Frama_C_size_t_interval
+[eva] computing for function Frama_C_make_unknown_wchar <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:466.
+[eva] Done for function Frama_C_make_unknown_wchar
+[eva] computing for function Frama_C_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:350.
+[eva] Done for function Frama_C_interval
+[eva] computing for function Frama_C_char_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:353.
+[eva] Done for function Frama_C_char_interval
+[eva] computing for function Frama_C_short_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:356.
+[eva] Done for function Frama_C_short_interval
+[eva] computing for function Frama_C_long_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:359.
+[eva] Done for function Frama_C_long_interval
+[eva] computing for function Frama_C_long_long_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:364.
+[eva] Done for function Frama_C_long_long_interval
+[eva] computing for function Frama_C_intmax_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:368.
+[eva] Done for function Frama_C_intmax_t_interval
+[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:371.
+[eva] Done for function Frama_C_size_t_interval
+[eva] computing for function Frama_C_ptrdiff_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:375.
+[eva] Done for function Frama_C_ptrdiff_t_interval
+[eva] computing for function Frama_C_unsigned_int_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:386.
+[eva] Done for function Frama_C_unsigned_int_interval
+[eva] computing for function Frama_C_unsigned_char_interval <- vfscanf <- 
+                          vscanf <- caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:390.
+[eva] Done for function Frama_C_unsigned_char_interval
+[eva] computing for function Frama_C_unsigned_short_interval <- vfscanf <- 
+                          vscanf <- caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:394.
+[eva] Done for function Frama_C_unsigned_short_interval
+[eva] computing for function Frama_C_unsigned_long_interval <- vfscanf <- 
+                          vscanf <- caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:398.
+[eva] Done for function Frama_C_unsigned_long_interval
+[eva] computing for function Frama_C_unsigned_long_long_interval <- vfscanf <- 
+                          vscanf <- caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:403.
+[eva] Done for function Frama_C_unsigned_long_long_interval
+[eva] computing for function Frama_C_uintmax_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:406.
+[eva] Done for function Frama_C_uintmax_t_interval
+[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:409.
+[eva] Done for function Frama_C_size_t_interval
+[eva] computing for function Frama_C_ptrdiff_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:413.
+[eva] Done for function Frama_C_ptrdiff_t_interval
+[eva] computing for function Frama_C_double_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:429.
+[eva] Done for function Frama_C_double_interval
+[eva] computing for function Frama_C_char_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:447.
+[eva] Done for function Frama_C_char_interval
+[eva] computing for function Frama_C_wint_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:450.
+[eva] Done for function Frama_C_wint_t_interval
+[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:462.
+[eva] Done for function Frama_C_size_t_interval
+[eva] computing for function Frama_C_make_unknown <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:461.
+[eva] Done for function Frama_C_make_unknown
+[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:467.
+[eva] Done for function Frama_C_size_t_interval
+[eva] computing for function Frama_C_make_unknown_wchar <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:466.
+[eva] Done for function Frama_C_make_unknown_wchar
+[eva] computing for function Frama_C_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:350.
+[eva] Done for function Frama_C_interval
+[eva] computing for function Frama_C_char_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:353.
+[eva] Done for function Frama_C_char_interval
+[eva] computing for function Frama_C_short_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:356.
+[eva] Done for function Frama_C_short_interval
+[eva] computing for function Frama_C_long_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:359.
+[eva] Done for function Frama_C_long_interval
+[eva] computing for function Frama_C_long_long_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:364.
+[eva] Done for function Frama_C_long_long_interval
+[eva] computing for function Frama_C_intmax_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:368.
+[eva] Done for function Frama_C_intmax_t_interval
+[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:371.
+[eva] Done for function Frama_C_size_t_interval
+[eva] computing for function Frama_C_ptrdiff_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:375.
+[eva] Done for function Frama_C_ptrdiff_t_interval
+[eva] computing for function Frama_C_unsigned_int_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:386.
+[eva] Done for function Frama_C_unsigned_int_interval
+[eva] computing for function Frama_C_unsigned_char_interval <- vfscanf <- 
+                          vscanf <- caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:390.
+[eva] Done for function Frama_C_unsigned_char_interval
+[eva] computing for function Frama_C_unsigned_short_interval <- vfscanf <- 
+                          vscanf <- caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:394.
+[eva] Done for function Frama_C_unsigned_short_interval
+[eva] computing for function Frama_C_unsigned_long_interval <- vfscanf <- 
+                          vscanf <- caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:398.
+[eva] Done for function Frama_C_unsigned_long_interval
+[eva] computing for function Frama_C_unsigned_long_long_interval <- vfscanf <- 
+                          vscanf <- caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:403.
+[eva] Done for function Frama_C_unsigned_long_long_interval
+[eva] computing for function Frama_C_uintmax_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:406.
+[eva] Done for function Frama_C_uintmax_t_interval
+[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:409.
+[eva] Done for function Frama_C_size_t_interval
+[eva] computing for function Frama_C_ptrdiff_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:413.
+[eva] Done for function Frama_C_ptrdiff_t_interval
+[eva] computing for function Frama_C_double_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:429.
+[eva] Done for function Frama_C_double_interval
+[eva] computing for function Frama_C_char_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:447.
+[eva] Done for function Frama_C_char_interval
+[eva] computing for function Frama_C_wint_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:450.
+[eva] Done for function Frama_C_wint_t_interval
+[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:462.
+[eva] Done for function Frama_C_size_t_interval
+[eva] computing for function Frama_C_make_unknown <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:461.
+[eva] Done for function Frama_C_make_unknown
+[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:467.
+[eva] Done for function Frama_C_size_t_interval
+[eva] computing for function Frama_C_make_unknown_wchar <- vfscanf <- vscanf <- 
+                          caller_stub_for_vscanf <- main.
+  Called from FRAMAC_SHARE/libc/stdio.c:466.
+[eva] Done for function Frama_C_make_unknown_wchar
+[eva] Recording results for vfscanf
+[eva] Done for function vfscanf
+[eva] Recording results for vscanf
+[eva] Done for function vscanf
+[eva] Recording results for caller_stub_for_vscanf
+[eva] Done for function caller_stub_for_vscanf
+[eva:alarm] stdio_c.c:68: Warning: check got status unknown.
+[eva:alarm] stdio_c.c:69: Warning: check got status unknown.
+[eva] stdio_c.c:70: 
+  Frama_C_show_each_must_be_reachable:
+  [-2147483648..2147483647],
+  {{ &vscanf_c }},
+  {{ &vscanf_Ld }},
+  [--..--] or UNINITIALIZED,
+  [-2147483648..2147483647],
+  [-9223372036854775808..9223372036854775807],
+  [0..4294967295]
 [eva] Recording results for main
 [eva] Done for function main
 [eva] ====== VALUES COMPUTED ======
@@ -370,20 +1077,11 @@
   Frama_C_entropy_source ∈ [--..--]
 [eva:final-states] Values at end of function is_valid_mode:
   __retres ∈ {1}
-[eva:final-states] Values at end of function asprintf:
-  __fc_heap_status ∈ [--..--]
-  Frama_C_entropy_source ∈ [--..--]
-  args ∈ {{ &__va_args[0] }}
-  len ∈ [1..256]
-  s ∈ {{ NULL ; &__malloc_asprintf_l124[0] }}
-  __retres ∈ [-1..256]
-  __malloc_asprintf_l124[0..254] ∈ [--..--] or UNINITIALIZED
-                        [255] ∈ {0} or UNINITIALIZED
 [eva:final-states] Values at end of function fmemopen:
   __fc_heap_status ∈ [--..--]
   __fc_errno ∈ [--..--]
   Frama_C_entropy_source ∈ [--..--]
-  buf ∈ {{ NULL ; (void *)&__malloc_fmemopen_l224 }}
+  buf ∈ {{ NULL ; (void *)&__malloc_fmemopen_l231 }}
   __retres ∈ {{ NULL ; &__fc_fopen + [0..120],0%8 }}
 [eva:final-states] Values at end of function getline:
   __fc_heap_status ∈ [--..--]
@@ -391,12 +1089,61 @@
   Frama_C_entropy_source ∈ [--..--]
   cur ∈ [0..2147483647] or UNINITIALIZED
   line ∈
-      {{ NULL ; &__malloc_w_getline_l73[0] ; &__realloc_w_getline_l104[0] }}
+      {{ NULL ; &__malloc_w_getline_l75[0] ; &__realloc_w_getline_l106[0] }}
   len ∈ [0..2147483647]
   __retres ∈ [-1..2147483646]
-  __malloc_w_getline_l73[0..1] ∈ [--..--] or UNINITIALIZED
-  __realloc_w_getline_l104[0..2147483645] ∈ [--..--] or UNINITIALIZED
+  __malloc_w_getline_l75[0..1] ∈ [--..--] or UNINITIALIZED
+  __realloc_w_getline_l106[0..2147483645] ∈ [--..--] or UNINITIALIZED
                           [2147483646] ∈ {0} or UNINITIALIZED
+[eva:final-states] Values at end of function vasprintf:
+  __fc_heap_status ∈ [--..--]
+  Frama_C_entropy_source ∈ [--..--]
+  len ∈ [1..256]
+  s ∈ {{ NULL ; &__malloc_vasprintf_l124[0] }}
+  __retres ∈ [-1..256]
+  __malloc_vasprintf_l124[0..254] ∈ [--..--] or UNINITIALIZED
+                         [255] ∈ {0} or UNINITIALIZED
+[eva:final-states] Values at end of function asprintf:
+  __fc_heap_status ∈ [--..--]
+  Frama_C_entropy_source ∈ [--..--]
+  args ∈ {{ &__va_args[0] }}
+  res ∈ [-1..256]
+  s ∈ {{ NULL ; &__malloc_vasprintf_l124[0] }}
+  __malloc_vasprintf_l124[0..254] ∈ [--..--] or UNINITIALIZED
+                         [255] ∈ {0} or UNINITIALIZED
+[eva:final-states] Values at end of function vfscanf:
+  Frama_C_entropy_source ∈ [--..--]
+  arg ∈ {{ &__va_args_39{[0], [1], [2], [3], [4], [5], [6], [7]} }}
+  p ∈ {{ "%+d %-2c % 41.999Lf %s %ti %jx %zu" + [2..34] }}
+  conversion_counter ∈ [--..--]
+  vscanf_d ∈ [--..--] or UNINITIALIZED
+  vscanf_c ∈ [--..--] or UNINITIALIZED
+  vscanf_Ld ∈ [--..--] or UNINITIALIZED
+  vscanf_s[0..29] ∈ [--..--] or UNINITIALIZED
+  vscanf_t ∈ [--..--] or UNINITIALIZED
+  vscanf_j ∈ [--..--] or UNINITIALIZED
+  vscanf_z ∈ [--..--] or UNINITIALIZED
+  __retres ∈ [-128..127]
+[eva:final-states] Values at end of function vscanf:
+  Frama_C_entropy_source ∈ [--..--]
+  vscanf_d ∈ [--..--] or UNINITIALIZED
+  vscanf_c ∈ [--..--] or UNINITIALIZED
+  vscanf_Ld ∈ [--..--] or UNINITIALIZED
+  vscanf_s[0..29] ∈ [--..--] or UNINITIALIZED
+  vscanf_t ∈ [--..--] or UNINITIALIZED
+  vscanf_j ∈ [--..--] or UNINITIALIZED
+  vscanf_z ∈ [--..--] or UNINITIALIZED
+[eva:final-states] Values at end of function caller_stub_for_vscanf:
+  Frama_C_entropy_source ∈ [--..--]
+  vscanf_d ∈ [--..--] or UNINITIALIZED
+  vscanf_c ∈ [--..--] or UNINITIALIZED
+  vscanf_Ld ∈ [--..--] or UNINITIALIZED
+  vscanf_s[0..29] ∈ [--..--] or UNINITIALIZED
+  vscanf_t ∈ [--..--] or UNINITIALIZED
+  vscanf_j ∈ [--..--] or UNINITIALIZED
+  vscanf_z ∈ [--..--] or UNINITIALIZED
+  args ∈ {{ &__va_args_39[0] }}
+  res ∈ [-128..127]
 [eva:final-states] Values at end of function main:
   __fc_heap_status ∈ [--..--]
   __fc_errno ∈ [--..--]
@@ -406,7 +1153,7 @@
                      .__fc_FILE_data ∈ [--..--]
   stream ∈ {{ NULL ; &__fc_fopen + [0..120],0%8 }}
   line ∈
-      {{ NULL ; &__malloc_w_getline_l73[0] ; &__realloc_w_getline_l104[0] }} or ESCAPINGADDR
+      {{ NULL ; &__malloc_w_getline_l75[0] ; &__realloc_w_getline_l106[0] }} or ESCAPINGADDR
   len ∈ [0..2147483647]
   total_len ∈ [--..--]
   read ∈ {-1} or UNINITIALIZED
@@ -414,9 +1161,31 @@
   buf[0..8] ∈ [--..--] or UNINITIALIZED
      [9] ∈ {0} or UNINITIALIZED
   r_1 ∈ {{ NULL ; &buf[0] }} or UNINITIALIZED
+  vscanf_d ∈ [--..--] or UNINITIALIZED
+  vscanf_c ∈ [--..--] or UNINITIALIZED
+  vscanf_Ld ∈ [--..--] or UNINITIALIZED
+  vscanf_s[0..29] ∈ [--..--] or UNINITIALIZED
+  vscanf_t ∈ [--..--] or UNINITIALIZED
+  vscanf_j ∈ [--..--] or UNINITIALIZED
+  vscanf_z ∈ [--..--] or UNINITIALIZED
+  vscanf_res ∈ [-128..127] or UNINITIALIZED
+  __va_arg0_31 ∈ {{ &vscanf_d }} or UNINITIALIZED
+  __va_arg1 ∈ {{ &vscanf_c }} or UNINITIALIZED
+  __va_arg2 ∈ {{ &vscanf_Ld }} or UNINITIALIZED
+  __va_arg3 ∈ {{ &vscanf_s[0] }} or UNINITIALIZED
+  __va_arg4 ∈ {{ &vscanf_t }} or UNINITIALIZED
+  __va_arg5 ∈ {{ &vscanf_j }} or UNINITIALIZED
+  __va_arg6 ∈ {{ &vscanf_z }} or UNINITIALIZED
+  __va_args_39[0] ∈ {{ (void *)&__va_arg0_31 }} or UNINITIALIZED
+              [1] ∈ {{ (void *)&__va_arg1 }} or UNINITIALIZED
+              [2] ∈ {{ (void *)&__va_arg2 }} or UNINITIALIZED
+              [3] ∈ {{ (void *)&__va_arg3 }} or UNINITIALIZED
+              [4] ∈ {{ (void *)&__va_arg4 }} or UNINITIALIZED
+              [5] ∈ {{ (void *)&__va_arg5 }} or UNINITIALIZED
+              [6] ∈ {{ (void *)&__va_arg6 }} or UNINITIALIZED
   __retres ∈ {0; 1}
-  __malloc_w_getline_l73[0..1] ∈ [--..--] or UNINITIALIZED
-  __realloc_w_getline_l104[0..2147483645] ∈ [--..--] or UNINITIALIZED
+  __malloc_w_getline_l75[0..1] ∈ [--..--] or UNINITIALIZED
+  __realloc_w_getline_l106[0..2147483645] ∈ [--..--] or UNINITIALIZED
                           [2147483646] ∈ {0} or UNINITIALIZED
-  __malloc_asprintf_l124[0..254] ∈ [--..--] or UNINITIALIZED
-                        [255] ∈ {0} or UNINITIALIZED
+  __malloc_vasprintf_l124[0..254] ∈ [--..--] or UNINITIALIZED
+                         [255] ∈ {0} or UNINITIALIZED
diff --git a/tests/libc/oracle/stdio_h.res.oracle b/tests/libc/oracle/stdio_h.res.oracle
index 0bbf2f381b0429cf2a075a45800b5fdf5444d5d2..473073174b670ab1fea643f327945e86dfc31f05 100644
--- a/tests/libc/oracle/stdio_h.res.oracle
+++ b/tests/libc/oracle/stdio_h.res.oracle
@@ -5,167 +5,228 @@
 [eva:initial-state] Values of globals at initialization
   nondet ∈ [--..--]
 [eva] computing for function fopen <- main.
-  Called from stdio_h.c:6.
+  Called from stdio_h.c:9.
 [eva] using specification for function fopen
-[eva] stdio_h.c:6: 
+[eva] stdio_h.c:9: 
   function fopen: precondition 'valid_filename' got status valid.
-[eva] stdio_h.c:6: function fopen: precondition 'valid_mode' got status valid.
+[eva] stdio_h.c:9: function fopen: precondition 'valid_mode' got status valid.
 [eva] Done for function fopen
 [eva] computing for function fseek <- main.
-  Called from stdio_h.c:8.
+  Called from stdio_h.c:11.
 [eva] using specification for function fseek
-[eva] stdio_h.c:8: function fseek: precondition 'valid_stream' got status valid.
-[eva] stdio_h.c:8: function fseek: precondition 'whence_enum' got status valid.
+[eva] stdio_h.c:11: 
+  function fseek: precondition 'valid_stream' got status valid.
+[eva] stdio_h.c:11: function fseek: precondition 'whence_enum' got status valid.
 [eva] Done for function fseek
 [eva] computing for function fseek <- main.
-  Called from stdio_h.c:10.
-[eva:alarm] stdio_h.c:10: Warning: 
+  Called from stdio_h.c:13.
+[eva:alarm] stdio_h.c:13: Warning: 
   function fseek: precondition 'valid_stream' got status invalid.
-[eva] stdio_h.c:10: 
+[eva] stdio_h.c:13: 
   function fseek: no state left, precondition 'whence_enum' got status valid.
 [eva] Done for function fseek
 [eva] computing for function Frama_C_interval <- main.
-  Called from stdio_h.c:16.
+  Called from stdio_h.c:19.
 [eva] using specification for function Frama_C_interval
-[eva] stdio_h.c:16: 
+[eva] stdio_h.c:19: 
   function Frama_C_interval: precondition 'order' got status valid.
 [eva] Done for function Frama_C_interval
 [eva] computing for function fseek <- main.
-  Called from stdio_h.c:19.
-[eva] stdio_h.c:19: 
+  Called from stdio_h.c:22.
+[eva] stdio_h.c:22: 
   function fseek: precondition 'valid_stream' got status valid.
-[eva:alarm] stdio_h.c:19: Warning: 
+[eva:alarm] stdio_h.c:22: Warning: 
   function fseek: precondition 'whence_enum' got status invalid.
 [eva] Done for function fseek
 [eva] computing for function tmpfile <- main.
-  Called from stdio_h.c:23.
+  Called from stdio_h.c:26.
 [eva] using specification for function tmpfile
 [eva] Done for function tmpfile
 [eva] computing for function fseek <- main.
-  Called from stdio_h.c:25.
-[eva] stdio_h.c:25: 
+  Called from stdio_h.c:28.
+[eva] stdio_h.c:28: 
   function fseek: precondition 'valid_stream' got status valid.
-[eva] stdio_h.c:25: function fseek: precondition 'whence_enum' got status valid.
+[eva] stdio_h.c:28: function fseek: precondition 'whence_enum' got status valid.
 [eva] Done for function fseek
 [eva] computing for function fseeko <- main.
-  Called from stdio_h.c:26.
+  Called from stdio_h.c:29.
 [eva] using specification for function fseeko
-[eva] stdio_h.c:26: 
+[eva] stdio_h.c:29: 
   function fseeko: precondition 'valid_stream' got status valid.
-[eva] stdio_h.c:26: 
+[eva] stdio_h.c:29: 
   function fseeko: precondition 'whence_enum' got status valid.
 [eva] Done for function fseeko
 [eva] computing for function ftell <- main.
-  Called from stdio_h.c:27.
+  Called from stdio_h.c:30.
 [eva] using specification for function ftell
-[eva] stdio_h.c:27: 
+[eva] stdio_h.c:30: 
   function ftell: precondition 'valid_stream' got status valid.
 [eva] Done for function ftell
 [eva] computing for function ftello <- main.
-  Called from stdio_h.c:28.
+  Called from stdio_h.c:31.
 [eva] using specification for function ftello
-[eva] stdio_h.c:28: 
+[eva] stdio_h.c:31: 
   function ftello: precondition 'valid_stream' got status valid.
 [eva] Done for function ftello
 [eva] computing for function fclose <- main.
-  Called from stdio_h.c:29.
+  Called from stdio_h.c:32.
 [eva] using specification for function fclose
-[eva] stdio_h.c:29: 
+[eva] stdio_h.c:32: 
   function fclose: precondition 'valid_stream' got status valid.
 [eva] Done for function fclose
 [eva] computing for function freopen <- main.
-  Called from stdio_h.c:31.
+  Called from stdio_h.c:34.
 [eva] using specification for function freopen
-[eva] stdio_h.c:31: 
+[eva] stdio_h.c:34: 
   function freopen: precondition 'valid_filename' got status valid.
-[eva] stdio_h.c:31: 
+[eva] stdio_h.c:34: 
   function freopen: precondition 'valid_mode' got status valid.
-[eva:alarm] stdio_h.c:31: Warning: 
+[eva:alarm] stdio_h.c:34: Warning: 
   function freopen: precondition 'valid_stream' got status unknown.
 [eva] Done for function freopen
 [eva] computing for function printf_va_1 <- main.
-  Called from stdio_h.c:33.
+  Called from stdio_h.c:36.
 [eva] using specification for function printf_va_1
-[eva] stdio_h.c:33: function printf_va_1: precondition got status valid.
+[eva] stdio_h.c:36: function printf_va_1: precondition got status valid.
 [eva] Done for function printf_va_1
 [eva] computing for function fclose <- main.
-  Called from stdio_h.c:34.
-[eva] stdio_h.c:34: 
+  Called from stdio_h.c:37.
+[eva] stdio_h.c:37: 
   function fclose: precondition 'valid_stream' got status valid.
 [eva] Done for function fclose
 [eva] computing for function fgets <- main.
-  Called from stdio_h.c:37.
+  Called from stdio_h.c:40.
 [eva] using specification for function fgets
-[eva] stdio_h.c:37: 
+[eva] stdio_h.c:40: 
   function fgets: precondition 'valid_stream' got status valid.
-[eva] stdio_h.c:37: function fgets: precondition 'room_s' got status valid.
+[eva] stdio_h.c:40: function fgets: precondition 'room_s' got status valid.
 [eva] Done for function fgets
-[eva:alarm] stdio_h.c:39: Warning: check got status unknown.
+[eva:alarm] stdio_h.c:42: Warning: check got status unknown.
 [eva] computing for function fgets <- main.
-  Called from stdio_h.c:41.
-[eva] stdio_h.c:41: 
+  Called from stdio_h.c:44.
+[eva] stdio_h.c:44: 
   function fgets: precondition 'valid_stream' got status valid.
-[eva:alarm] stdio_h.c:41: Warning: 
+[eva:alarm] stdio_h.c:44: Warning: 
   function fgets: precondition 'room_s' got status invalid.
 [eva] Done for function fgets
 [eva] computing for function fgetpos <- main.
-  Called from stdio_h.c:46.
+  Called from stdio_h.c:49.
 [eva] using specification for function fgetpos
-[eva] stdio_h.c:46: 
+[eva] stdio_h.c:49: 
   function fgetpos: precondition 'valid_stream' got status valid.
-[eva] stdio_h.c:46: function fgetpos: precondition 'valid_pos' got status valid.
+[eva] stdio_h.c:49: function fgetpos: precondition 'valid_pos' got status valid.
 [eva] Done for function fgetpos
 [eva] computing for function fsetpos <- main.
-  Called from stdio_h.c:47.
+  Called from stdio_h.c:50.
 [eva] using specification for function fsetpos
-[eva] stdio_h.c:47: 
+[eva] stdio_h.c:50: 
   function fsetpos: precondition 'valid_stream' got status valid.
-[eva] stdio_h.c:47: function fsetpos: precondition 'valid_pos' got status valid.
-[eva] stdio_h.c:47: 
+[eva] stdio_h.c:50: function fsetpos: precondition 'valid_pos' got status valid.
+[eva] stdio_h.c:50: 
   function fsetpos: precondition 'initialization,pos' got status valid.
 [eva] Done for function fsetpos
 [eva] computing for function fclose <- main.
-  Called from stdio_h.c:48.
-[eva] stdio_h.c:48: 
+  Called from stdio_h.c:51.
+[eva] stdio_h.c:51: 
   function fclose: precondition 'valid_stream' got status valid.
 [eva] Done for function fclose
 [eva] computing for function asprintf <- main.
-  Called from stdio_h.c:52.
+  Called from stdio_h.c:58.
 [eva] using specification for function asprintf
-[eva:libc:unsupported-spec] stdio_h.c:52: Warning: 
+[eva:libc:unsupported-spec] stdio_h.c:58: Warning: 
   The specification of function 'asprintf' is currently not supported by Eva.
   Consider adding 'FRAMAC_SHARE/libc/stdio.c' to the analyzed source files.
-[eva] stdio_h.c:52: Warning: ignoring unsupported allocates clause
-[eva] stdio_h.c:52: 
+[eva] stdio_h.c:58: Warning: ignoring unsupported allocates clause
+[eva] stdio_h.c:58: 
   function asprintf: precondition 'valid_strp' got status valid.
-[eva] stdio_h.c:52: 
+[eva] stdio_h.c:58: 
   function asprintf: precondition 'valid_fmt' got status valid.
 [eva] Done for function asprintf
-[eva:alarm] stdio_h.c:54: Warning: 
+[eva:alarm] stdio_h.c:60: Warning: 
   accessing uninitialized left-value. assert \initialized(&s);
 [eva] computing for function printf_va_2 <- main.
-  Called from stdio_h.c:54.
+  Called from stdio_h.c:60.
 [eva] using specification for function printf_va_2
-[eva:alarm] stdio_h.c:54: Warning: 
+[eva:alarm] stdio_h.c:60: Warning: 
   function printf_va_2: precondition valid_read_string(param0) got status invalid.
-[eva] stdio_h.c:54: 
+[eva] stdio_h.c:60: 
   function printf_va_2: no state left, precondition valid_read_string(format) got status valid.
 [eva] Done for function printf_va_2
+[eva] computing for function caller_stub_for_vasprintf <- main.
+  Called from stdio_h.c:69.
+[eva] computing for function vasprintf <- caller_stub_for_vasprintf <- main.
+  Called from stdio_h.c:91.
+[eva] using specification for function vasprintf
+[eva:libc:unsupported-spec] stdio_h.c:91: Warning: 
+  The specification of function 'vasprintf' is currently not supported by Eva.
+  Consider adding 'FRAMAC_SHARE/libc/stdio.c' to the analyzed source files.
+[eva] stdio_h.c:91: Warning: ignoring unsupported allocates clause
+[eva] stdio_h.c:91: 
+  function vasprintf: precondition 'valid_strp' got status valid.
+[eva] stdio_h.c:91: 
+  function vasprintf: precondition 'valid_fmt' got status valid.
+[eva:garbled-mix:assigns] stdio_h.c:91: 
+  The specification of function vasprintf
+  has generated a garbled mix of addresses for assigns clause *strp.
+[eva] Done for function vasprintf
+[eva] Recording results for caller_stub_for_vasprintf
+[eva] Done for function caller_stub_for_vasprintf
+[eva:locals-escaping] stdio_h.c:69: Warning: 
+  locals {__va_args_30} escaping the scope of a block of main through s_0
+[eva:alarm] stdio_h.c:71: Warning: 
+  accessing uninitialized left-value. assert \initialized(&s_0);
+[eva:alarm] stdio_h.c:71: Warning: 
+  accessing left-value that contains escaping addresses.
+  assert ¬\dangling(&s_0);
+[eva] computing for function printf_va_3 <- main.
+  Called from stdio_h.c:71.
+[eva] using specification for function printf_va_3
+[eva:alarm] stdio_h.c:71: Warning: 
+  function printf_va_3: precondition valid_read_string(param0) got status invalid.
+[eva] stdio_h.c:71: 
+  function printf_va_3: no state left, precondition valid_read_string(format) got status valid.
+[eva] Done for function printf_va_3
 [eva] computing for function fmemopen <- main.
-  Called from stdio_h.c:58.
+  Called from stdio_h.c:75.
 [eva] using specification for function fmemopen
-[eva:libc:unsupported-spec] stdio_h.c:58: Warning: 
+[eva:libc:unsupported-spec] stdio_h.c:75: Warning: 
   The specification of function 'fmemopen' is currently not supported by Eva.
   Consider adding 'FRAMAC_SHARE/libc/stdio.c' to the analyzed source files.
-[eva] stdio_h.c:58: Warning: ignoring unsupported allocates clause
-[eva] stdio_h.c:58: 
+[eva] stdio_h.c:75: Warning: ignoring unsupported allocates clause
+[eva] stdio_h.c:75: 
   function fmemopen: precondition 'valid_or_null_buff' got status valid.
-[eva] stdio_h.c:58: 
+[eva] stdio_h.c:75: 
   function fmemopen: precondition 'valid_mode' got status valid.
 [eva] Done for function fmemopen
+[eva] computing for function caller_stub_for_vscanf <- main.
+  Called from stdio_h.c:79.
+[eva] computing for function vscanf <- caller_stub_for_vscanf <- main.
+  Called from stdio_h.c:99.
+[eva] using specification for function vscanf
+[eva:libc:unsupported-spec] stdio_h.c:99: Warning: 
+  The specification of function 'vscanf' is currently not supported by Eva.
+  Consider adding 'FRAMAC_SHARE/libc/stdio.c' to the analyzed source files.
+[eva] FRAMAC_SHARE/libc/stdio.h:239: Warning: 
+  no 'assigns \result \from ...' clause specified for function vscanf
+[eva] Done for function vscanf
+[eva] Recording results for caller_stub_for_vscanf
+[eva] Done for function caller_stub_for_vscanf
+[eva:alarm] stdio_h.c:81: Warning: 
+  assertion got status invalid (stopping propagation).
 [eva] Recording results for main
 [eva] Done for function main
 [eva] ====== VALUES COMPUTED ======
+[eva:final-states] Values at end of function caller_stub_for_vasprintf:
+  __fc_heap_status ∈ [--..--]
+  s_0 ∈
+     {{ garbled mix of &{__va_args_30}
+      (origin: Library function {stdio_h.c:91}) }} or UNINITIALIZED
+  args ∈ {{ &__va_args_30[0] }}
+  res ∈ [-1..2147483647]
+[eva:final-states] Values at end of function caller_stub_for_vscanf:
+  args ∈ {{ &__va_args_35[0] }}
+  res ∈ [--..--]
+  S___fc_stdin[0..1] ∈ [--..--]
 [eva:final-states] Values at end of function main:
   __fc_errno ∈ [--..--]
   __fc_fopen[0..15] ∈ [--..--]
@@ -182,4 +243,5 @@
   pos ∈ [--..--] or UNINITIALIZED
   res_fclose ∈ {-1; 0} or UNINITIALIZED
   __retres ∈ {0; 1; 2; 3}
+  S___fc_stdin[0..1] ∈ [--..--]
   S___fc_stdout[0..1] ∈ [--..--]
diff --git a/tests/libc/oracle/stdlib_c.0.res.oracle b/tests/libc/oracle/stdlib_c.0.res.oracle
index 311025d26fd3425b42362fd4c546daeeab9dacc2..0d0926fd83f88b499a5fca3e923c499dfb5b5d74 100644
--- a/tests/libc/oracle/stdlib_c.0.res.oracle
+++ b/tests/libc/oracle/stdlib_c.0.res.oracle
@@ -61,11 +61,11 @@
   (0..31/34359738367) to fit 0..63/34359738367
 [eva] computing for function posix_memalign <- main.
   Called from stdlib_c.c:38.
-[eva] FRAMAC_SHARE/libc/stdlib.c:196: 
+[eva] FRAMAC_SHARE/libc/stdlib.c:200: 
   assertion 'alignment_is_a_suitable_power_of_two' got status valid.
-[eva] FRAMAC_SHARE/libc/stdlib.c:199: Call to builtin Frama_C_malloc
-[eva] FRAMAC_SHARE/libc/stdlib.c:199: 
-  allocating variable __malloc_posix_memalign_l199
+[eva] FRAMAC_SHARE/libc/stdlib.c:203: Call to builtin Frama_C_malloc
+[eva] FRAMAC_SHARE/libc/stdlib.c:203: 
+  allocating variable __malloc_posix_memalign_l203
 [eva] Recording results for posix_memalign
 [eva] Done for function posix_memalign
 [eva] computing for function free <- main.
@@ -76,14 +76,14 @@
 [eva] Done for function free
 [eva] computing for function posix_memalign <- main.
   Called from stdlib_c.c:40.
-[eva] FRAMAC_SHARE/libc/stdlib.c:199: Call to builtin Frama_C_malloc
-[eva] FRAMAC_SHARE/libc/stdlib.c:199: 
-  allocating variable __malloc_posix_memalign_l199_0
+[eva] FRAMAC_SHARE/libc/stdlib.c:203: Call to builtin Frama_C_malloc
+[eva] FRAMAC_SHARE/libc/stdlib.c:203: 
+  allocating variable __malloc_posix_memalign_l203_0
 [eva] Recording results for posix_memalign
 [eva] Done for function posix_memalign
 [eva] computing for function posix_memalign <- main.
   Called from stdlib_c.c:40.
-[eva] FRAMAC_SHARE/libc/stdlib.c:199: Call to builtin Frama_C_malloc
+[eva] FRAMAC_SHARE/libc/stdlib.c:203: Call to builtin Frama_C_malloc
 [eva] Recording results for posix_memalign
 [eva] Done for function posix_memalign
 [eva] computing for function free <- main.
@@ -102,20 +102,20 @@
 [eva] computing for function realpath <- main.
   Called from stdlib_c.c:46.
 [eva] computing for function Frama_C_interval <- realpath <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:213.
+  Called from FRAMAC_SHARE/libc/stdlib.c:217.
 [eva] using specification for function Frama_C_interval
-[eva] FRAMAC_SHARE/libc/stdlib.c:213: 
+[eva] FRAMAC_SHARE/libc/stdlib.c:217: 
   function Frama_C_interval: precondition 'order' got status valid.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- realpath <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:222.
-[eva] FRAMAC_SHARE/libc/stdlib.c:222: 
+  Called from FRAMAC_SHARE/libc/stdlib.c:226.
+[eva] FRAMAC_SHARE/libc/stdlib.c:226: 
   function Frama_C_interval: precondition 'order' got status valid.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_make_unknown <- realpath <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:230.
+  Called from FRAMAC_SHARE/libc/stdlib.c:234.
 [eva] using specification for function Frama_C_make_unknown
-[eva] FRAMAC_SHARE/libc/stdlib.c:230: 
+[eva] FRAMAC_SHARE/libc/stdlib.c:234: 
   function Frama_C_make_unknown: precondition 'valid_p' got status valid.
 [eva] Done for function Frama_C_make_unknown
 [eva] Recording results for realpath
@@ -163,50 +163,50 @@
 [eva] computing for function realpath <- main.
   Called from stdlib_c.c:54.
 [eva] computing for function Frama_C_interval <- realpath <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:213.
+  Called from FRAMAC_SHARE/libc/stdlib.c:217.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- realpath <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:222.
+  Called from FRAMAC_SHARE/libc/stdlib.c:226.
 [eva] Done for function Frama_C_interval
-[eva] FRAMAC_SHARE/libc/stdlib.c:224: Call to builtin Frama_C_malloc
-[eva] FRAMAC_SHARE/libc/stdlib.c:224: allocating variable __malloc_realpath_l224
+[eva] FRAMAC_SHARE/libc/stdlib.c:228: Call to builtin Frama_C_malloc
+[eva] FRAMAC_SHARE/libc/stdlib.c:228: allocating variable __malloc_realpath_l228
 [eva] computing for function Frama_C_make_unknown <- realpath <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:230.
+  Called from FRAMAC_SHARE/libc/stdlib.c:234.
 [eva] Done for function Frama_C_make_unknown
 [eva] Recording results for realpath
 [eva] Done for function realpath
 [eva] computing for function realpath <- main.
   Called from stdlib_c.c:54.
 [eva] computing for function Frama_C_interval <- realpath <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:213.
+  Called from FRAMAC_SHARE/libc/stdlib.c:217.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- realpath <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:222.
+  Called from FRAMAC_SHARE/libc/stdlib.c:226.
 [eva] Done for function Frama_C_interval
-[eva] FRAMAC_SHARE/libc/stdlib.c:224: Call to builtin Frama_C_malloc
+[eva] FRAMAC_SHARE/libc/stdlib.c:228: Call to builtin Frama_C_malloc
 [eva] computing for function Frama_C_make_unknown <- realpath <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:230.
+  Called from FRAMAC_SHARE/libc/stdlib.c:234.
 [eva] Done for function Frama_C_make_unknown
 [eva] Recording results for realpath
 [eva] Done for function realpath
 [eva] computing for function canonicalize_file_name <- main.
   Called from stdlib_c.c:56.
 [eva] computing for function realpath <- canonicalize_file_name <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:236.
+  Called from FRAMAC_SHARE/libc/stdlib.c:240.
 [eva] computing for function Frama_C_interval <- realpath <- 
                           canonicalize_file_name <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:213.
+  Called from FRAMAC_SHARE/libc/stdlib.c:217.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- realpath <- 
                           canonicalize_file_name <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:222.
+  Called from FRAMAC_SHARE/libc/stdlib.c:226.
 [eva] Done for function Frama_C_interval
-[eva] FRAMAC_SHARE/libc/stdlib.c:224: Call to builtin Frama_C_malloc
-[eva] FRAMAC_SHARE/libc/stdlib.c:224: 
-  allocating variable __malloc_realpath_l224_0
+[eva] FRAMAC_SHARE/libc/stdlib.c:228: Call to builtin Frama_C_malloc
+[eva] FRAMAC_SHARE/libc/stdlib.c:228: 
+  allocating variable __malloc_realpath_l228_0
 [eva] computing for function Frama_C_make_unknown <- realpath <- 
                           canonicalize_file_name <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:230.
+  Called from FRAMAC_SHARE/libc/stdlib.c:234.
 [eva] Done for function Frama_C_make_unknown
 [eva] Recording results for realpath
 [eva] Done for function realpath
@@ -215,19 +215,19 @@
 [eva] computing for function canonicalize_file_name <- main.
   Called from stdlib_c.c:56.
 [eva] computing for function realpath <- canonicalize_file_name <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:236.
+  Called from FRAMAC_SHARE/libc/stdlib.c:240.
 [eva] computing for function Frama_C_interval <- realpath <- 
                           canonicalize_file_name <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:213.
+  Called from FRAMAC_SHARE/libc/stdlib.c:217.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- realpath <- 
                           canonicalize_file_name <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:222.
+  Called from FRAMAC_SHARE/libc/stdlib.c:226.
 [eva] Done for function Frama_C_interval
-[eva] FRAMAC_SHARE/libc/stdlib.c:224: Call to builtin Frama_C_malloc
+[eva] FRAMAC_SHARE/libc/stdlib.c:228: Call to builtin Frama_C_malloc
 [eva] computing for function Frama_C_make_unknown <- realpath <- 
                           canonicalize_file_name <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:230.
+  Called from FRAMAC_SHARE/libc/stdlib.c:234.
 [eva] Done for function Frama_C_make_unknown
 [eva] Recording results for realpath
 [eva] Done for function realpath
@@ -246,30 +246,30 @@
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function posix_memalign:
   __fc_heap_status ∈ [--..--]
-  p_al0 ∈ {{ NULL ; &__malloc_posix_memalign_l199[0] }}
-  p_al1 ∈ {{ NULL ; &__malloc_posix_memalign_l199_0[0] }} or UNINITIALIZED
+  p_al0 ∈ {{ NULL ; &__malloc_posix_memalign_l203[0] }}
+  p_al1 ∈ {{ NULL ; &__malloc_posix_memalign_l203_0[0] }} or UNINITIALIZED
   __retres ∈ {0; 12}
 [eva:final-states] Values at end of function realpath:
   __fc_heap_status ∈ [--..--]
   __fc_errno ∈ [--..--]
   Frama_C_entropy_source ∈ [--..--]
   resolved_name ∈
-               {{ NULL ; &__malloc_main_l44[0] ; &__malloc_realpath_l224[0] ;
-                  &__malloc_realpath_l224_0[0] }}
+               {{ NULL ; &__malloc_main_l44[0] ; &__malloc_realpath_l228[0] ;
+                  &__malloc_realpath_l228_0[0] }}
   realpath_len ∈ [1..4096] or UNINITIALIZED
   __retres ∈
-          {{ NULL ; &__malloc_main_l44[0] ; &__malloc_realpath_l224[0] ;
-             &__malloc_realpath_l224_0[0] }}
+          {{ NULL ; &__malloc_main_l44[0] ; &__malloc_realpath_l228[0] ;
+             &__malloc_realpath_l228_0[0] }}
   __malloc_main_l44[0..4095] ∈ [--..--] or UNINITIALIZED
-  __malloc_realpath_l224[0] ∈ [--..--]
+  __malloc_realpath_l228[0] ∈ [--..--]
                         [1..4095] ∈ [--..--] or UNINITIALIZED
-  __malloc_realpath_l224_0[0] ∈ [--..--]
+  __malloc_realpath_l228_0[0] ∈ [--..--]
                           [1..4095] ∈ [--..--] or UNINITIALIZED
 [eva:final-states] Values at end of function canonicalize_file_name:
   __fc_heap_status ∈ [--..--]
   __fc_errno ∈ [--..--]
   Frama_C_entropy_source ∈ [--..--]
-  __malloc_realpath_l224_0[0] ∈ [--..--]
+  __malloc_realpath_l228_0[0] ∈ [--..--]
                           [1..4095] ∈ [--..--] or UNINITIALIZED
 [eva:final-states] Values at end of function main:
   __fc_heap_status ∈ [--..--]
@@ -280,17 +280,17 @@
   q ∈ {{ NULL ; &__calloc_main_l22[0] }}
   r ∈ {0}
   s ∈ {{ NULL ; &__calloc_w_main_l33[0] }}
-  p_al0 ∈ {{ NULL ; &__malloc_posix_memalign_l199[0] }}
-  p_al1 ∈ {{ NULL ; &__malloc_posix_memalign_l199_0[0] }}
+  p_al0 ∈ {{ NULL ; &__malloc_posix_memalign_l203[0] }}
+  p_al1 ∈ {{ NULL ; &__malloc_posix_memalign_l203_0[0] }}
   p_memal_res ∈ {0; 12}
   p_memal_res2 ∈ {0; 12}
   resolved_name ∈ {{ NULL ; &__malloc_main_l44[0] }}
-  realpath_res ∈ {{ NULL ; &__malloc_realpath_l224[0] }} or UNINITIALIZED
-  canon ∈ {{ NULL ; &__malloc_realpath_l224_0[0] }} or UNINITIALIZED
+  realpath_res ∈ {{ NULL ; &__malloc_realpath_l228[0] }} or UNINITIALIZED
+  canon ∈ {{ NULL ; &__malloc_realpath_l228_0[0] }} or UNINITIALIZED
   __retres ∈ {0; 1}
   __calloc_w_main_l33[0..1073741823] ∈ {0; 42}
   __malloc_main_l44[0..4095] ∈ [--..--] or UNINITIALIZED
-  __malloc_realpath_l224[0] ∈ [--..--]
+  __malloc_realpath_l228[0] ∈ [--..--]
                         [1..4095] ∈ [--..--] or UNINITIALIZED
-  __malloc_realpath_l224_0[0] ∈ [--..--]
+  __malloc_realpath_l228_0[0] ∈ [--..--]
                           [1..4095] ∈ [--..--] or UNINITIALIZED
diff --git a/tests/libc/oracle/stdlib_c.1.res.oracle b/tests/libc/oracle/stdlib_c.1.res.oracle
index 2dd89afee8614a150420fa948b006bd6257deeea..679dd08280bd3dc8797e70018f62169126c4b578 100644
--- a/tests/libc/oracle/stdlib_c.1.res.oracle
+++ b/tests/libc/oracle/stdlib_c.1.res.oracle
@@ -77,11 +77,11 @@
   (0..31/34359738367) to fit 0..191/34359738367
 [eva] computing for function posix_memalign <- main.
   Called from stdlib_c.c:38.
-[eva] FRAMAC_SHARE/libc/stdlib.c:196: 
+[eva] FRAMAC_SHARE/libc/stdlib.c:200: 
   assertion 'alignment_is_a_suitable_power_of_two' got status valid.
-[eva] FRAMAC_SHARE/libc/stdlib.c:199: Call to builtin Frama_C_malloc
-[eva] FRAMAC_SHARE/libc/stdlib.c:199: 
-  allocating variable __malloc_posix_memalign_l199
+[eva] FRAMAC_SHARE/libc/stdlib.c:203: Call to builtin Frama_C_malloc
+[eva] FRAMAC_SHARE/libc/stdlib.c:203: 
+  allocating variable __malloc_posix_memalign_l203
 [eva] Recording results for posix_memalign
 [eva] Done for function posix_memalign
 [eva] computing for function free <- main.
@@ -92,9 +92,9 @@
 [eva] Done for function free
 [eva] computing for function posix_memalign <- main.
   Called from stdlib_c.c:40.
-[eva] FRAMAC_SHARE/libc/stdlib.c:199: Call to builtin Frama_C_malloc
-[eva] FRAMAC_SHARE/libc/stdlib.c:199: 
-  allocating variable __malloc_posix_memalign_l199_0
+[eva] FRAMAC_SHARE/libc/stdlib.c:203: Call to builtin Frama_C_malloc
+[eva] FRAMAC_SHARE/libc/stdlib.c:203: 
+  allocating variable __malloc_posix_memalign_l203_0
 [eva] Recording results for posix_memalign
 [eva] Done for function posix_memalign
 [eva] computing for function free <- main.
@@ -107,20 +107,20 @@
 [eva] computing for function realpath <- main.
   Called from stdlib_c.c:46.
 [eva] computing for function Frama_C_interval <- realpath <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:213.
+  Called from FRAMAC_SHARE/libc/stdlib.c:217.
 [eva] using specification for function Frama_C_interval
-[eva] FRAMAC_SHARE/libc/stdlib.c:213: 
+[eva] FRAMAC_SHARE/libc/stdlib.c:217: 
   function Frama_C_interval: precondition 'order' got status valid.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- realpath <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:222.
-[eva] FRAMAC_SHARE/libc/stdlib.c:222: 
+  Called from FRAMAC_SHARE/libc/stdlib.c:226.
+[eva] FRAMAC_SHARE/libc/stdlib.c:226: 
   function Frama_C_interval: precondition 'order' got status valid.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_make_unknown <- realpath <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:230.
+  Called from FRAMAC_SHARE/libc/stdlib.c:234.
 [eva] using specification for function Frama_C_make_unknown
-[eva] FRAMAC_SHARE/libc/stdlib.c:230: 
+[eva] FRAMAC_SHARE/libc/stdlib.c:234: 
   function Frama_C_make_unknown: precondition 'valid_p' got status valid.
 [eva] Done for function Frama_C_make_unknown
 [eva] Recording results for realpath
@@ -153,78 +153,78 @@
 [eva] computing for function realpath <- main.
   Called from stdlib_c.c:54.
 [eva] computing for function Frama_C_interval <- realpath <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:213.
+  Called from FRAMAC_SHARE/libc/stdlib.c:217.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- realpath <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:222.
+  Called from FRAMAC_SHARE/libc/stdlib.c:226.
 [eva] Done for function Frama_C_interval
-[eva] FRAMAC_SHARE/libc/stdlib.c:224: Call to builtin Frama_C_malloc
-[eva] FRAMAC_SHARE/libc/stdlib.c:224: allocating variable __malloc_realpath_l224
+[eva] FRAMAC_SHARE/libc/stdlib.c:228: Call to builtin Frama_C_malloc
+[eva] FRAMAC_SHARE/libc/stdlib.c:228: allocating variable __malloc_realpath_l228
 [eva] computing for function Frama_C_make_unknown <- realpath <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:230.
+  Called from FRAMAC_SHARE/libc/stdlib.c:234.
 [eva] Done for function Frama_C_make_unknown
 [eva] Recording results for realpath
 [eva] Done for function realpath
 [eva] computing for function realpath <- main.
   Called from stdlib_c.c:54.
 [eva] computing for function Frama_C_interval <- realpath <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:213.
+  Called from FRAMAC_SHARE/libc/stdlib.c:217.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- realpath <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:222.
+  Called from FRAMAC_SHARE/libc/stdlib.c:226.
 [eva] Done for function Frama_C_interval
-[eva] FRAMAC_SHARE/libc/stdlib.c:224: Call to builtin Frama_C_malloc
+[eva] FRAMAC_SHARE/libc/stdlib.c:228: Call to builtin Frama_C_malloc
 [eva] computing for function Frama_C_make_unknown <- realpath <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:230.
+  Called from FRAMAC_SHARE/libc/stdlib.c:234.
 [eva] Done for function Frama_C_make_unknown
 [eva] Recording results for realpath
 [eva] Done for function realpath
 [eva] computing for function realpath <- main.
   Called from stdlib_c.c:54.
 [eva] computing for function Frama_C_interval <- realpath <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:213.
+  Called from FRAMAC_SHARE/libc/stdlib.c:217.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- realpath <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:222.
+  Called from FRAMAC_SHARE/libc/stdlib.c:226.
 [eva] Done for function Frama_C_interval
-[eva] FRAMAC_SHARE/libc/stdlib.c:224: Call to builtin Frama_C_malloc
+[eva] FRAMAC_SHARE/libc/stdlib.c:228: Call to builtin Frama_C_malloc
 [eva] computing for function Frama_C_make_unknown <- realpath <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:230.
+  Called from FRAMAC_SHARE/libc/stdlib.c:234.
 [eva] Done for function Frama_C_make_unknown
 [eva] Recording results for realpath
 [eva] Done for function realpath
 [eva] computing for function realpath <- main.
   Called from stdlib_c.c:54.
 [eva] computing for function Frama_C_interval <- realpath <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:213.
+  Called from FRAMAC_SHARE/libc/stdlib.c:217.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- realpath <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:222.
+  Called from FRAMAC_SHARE/libc/stdlib.c:226.
 [eva] Done for function Frama_C_interval
-[eva] FRAMAC_SHARE/libc/stdlib.c:224: Call to builtin Frama_C_malloc
+[eva] FRAMAC_SHARE/libc/stdlib.c:228: Call to builtin Frama_C_malloc
 [eva] computing for function Frama_C_make_unknown <- realpath <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:230.
+  Called from FRAMAC_SHARE/libc/stdlib.c:234.
 [eva] Done for function Frama_C_make_unknown
 [eva] Recording results for realpath
 [eva] Done for function realpath
 [eva] computing for function canonicalize_file_name <- main.
   Called from stdlib_c.c:56.
 [eva] computing for function realpath <- canonicalize_file_name <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:236.
+  Called from FRAMAC_SHARE/libc/stdlib.c:240.
 [eva] computing for function Frama_C_interval <- realpath <- 
                           canonicalize_file_name <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:213.
+  Called from FRAMAC_SHARE/libc/stdlib.c:217.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- realpath <- 
                           canonicalize_file_name <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:222.
+  Called from FRAMAC_SHARE/libc/stdlib.c:226.
 [eva] Done for function Frama_C_interval
-[eva] FRAMAC_SHARE/libc/stdlib.c:224: Call to builtin Frama_C_malloc
-[eva] FRAMAC_SHARE/libc/stdlib.c:224: 
-  allocating variable __malloc_realpath_l224_0
+[eva] FRAMAC_SHARE/libc/stdlib.c:228: Call to builtin Frama_C_malloc
+[eva] FRAMAC_SHARE/libc/stdlib.c:228: 
+  allocating variable __malloc_realpath_l228_0
 [eva] computing for function Frama_C_make_unknown <- realpath <- 
                           canonicalize_file_name <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:230.
+  Called from FRAMAC_SHARE/libc/stdlib.c:234.
 [eva] Done for function Frama_C_make_unknown
 [eva] Recording results for realpath
 [eva] Done for function realpath
@@ -233,19 +233,19 @@
 [eva] computing for function canonicalize_file_name <- main.
   Called from stdlib_c.c:56.
 [eva] computing for function realpath <- canonicalize_file_name <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:236.
+  Called from FRAMAC_SHARE/libc/stdlib.c:240.
 [eva] computing for function Frama_C_interval <- realpath <- 
                           canonicalize_file_name <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:213.
+  Called from FRAMAC_SHARE/libc/stdlib.c:217.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- realpath <- 
                           canonicalize_file_name <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:222.
+  Called from FRAMAC_SHARE/libc/stdlib.c:226.
 [eva] Done for function Frama_C_interval
-[eva] FRAMAC_SHARE/libc/stdlib.c:224: Call to builtin Frama_C_malloc
+[eva] FRAMAC_SHARE/libc/stdlib.c:228: Call to builtin Frama_C_malloc
 [eva] computing for function Frama_C_make_unknown <- realpath <- 
                           canonicalize_file_name <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:230.
+  Called from FRAMAC_SHARE/libc/stdlib.c:234.
 [eva] Done for function Frama_C_make_unknown
 [eva] Recording results for realpath
 [eva] Done for function realpath
@@ -264,30 +264,30 @@
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function posix_memalign:
   __fc_heap_status ∈ [--..--]
-  p_al0 ∈ {{ &__malloc_posix_memalign_l199[0] }}
-  p_al1 ∈ {{ &__malloc_posix_memalign_l199_0[0] }} or UNINITIALIZED
+  p_al0 ∈ {{ &__malloc_posix_memalign_l203[0] }}
+  p_al1 ∈ {{ &__malloc_posix_memalign_l203_0[0] }} or UNINITIALIZED
   __retres ∈ {0}
 [eva:final-states] Values at end of function realpath:
   __fc_heap_status ∈ [--..--]
   __fc_errno ∈ [--..--]
   Frama_C_entropy_source ∈ [--..--]
   resolved_name ∈
-               {{ NULL ; &__malloc_main_l44[0] ; &__malloc_realpath_l224[0] ;
-                  &__malloc_realpath_l224_0[0] }}
+               {{ NULL ; &__malloc_main_l44[0] ; &__malloc_realpath_l228[0] ;
+                  &__malloc_realpath_l228_0[0] }}
   realpath_len ∈ [1..4096] or UNINITIALIZED
   __retres ∈
-          {{ NULL ; &__malloc_main_l44[0] ; &__malloc_realpath_l224[0] ;
-             &__malloc_realpath_l224_0[0] }}
+          {{ NULL ; &__malloc_main_l44[0] ; &__malloc_realpath_l228[0] ;
+             &__malloc_realpath_l228_0[0] }}
   __malloc_main_l44[0..4095] ∈ [--..--] or UNINITIALIZED
-  __malloc_realpath_l224[0] ∈ [--..--]
+  __malloc_realpath_l228[0] ∈ [--..--]
                         [1..4095] ∈ [--..--] or UNINITIALIZED
-  __malloc_realpath_l224_0[0] ∈ [--..--]
+  __malloc_realpath_l228_0[0] ∈ [--..--]
                           [1..4095] ∈ [--..--] or UNINITIALIZED
 [eva:final-states] Values at end of function canonicalize_file_name:
   __fc_heap_status ∈ [--..--]
   __fc_errno ∈ [--..--]
   Frama_C_entropy_source ∈ [--..--]
-  __malloc_realpath_l224_0[0] ∈ [--..--]
+  __malloc_realpath_l228_0[0] ∈ [--..--]
                           [1..4095] ∈ [--..--] or UNINITIALIZED
 [eva:final-states] Values at end of function main:
   __fc_heap_status ∈ [--..--]
@@ -298,17 +298,17 @@
   q ∈ {{ NULL ; &__calloc_main_l22[0] }}
   r ∈ {0}
   s ∈ {{ NULL ; &__calloc_w_main_l33[0] }}
-  p_al0 ∈ {{ &__malloc_posix_memalign_l199[0] }}
-  p_al1 ∈ {{ &__malloc_posix_memalign_l199_0[0] }}
+  p_al0 ∈ {{ &__malloc_posix_memalign_l203[0] }}
+  p_al1 ∈ {{ &__malloc_posix_memalign_l203_0[0] }}
   p_memal_res ∈ {0}
   p_memal_res2 ∈ {0}
   resolved_name ∈ {{ &__malloc_main_l44[0] }}
-  realpath_res ∈ {{ NULL ; &__malloc_realpath_l224[0] }}
-  canon ∈ {{ NULL ; &__malloc_realpath_l224_0[0] }}
+  realpath_res ∈ {{ NULL ; &__malloc_realpath_l228[0] }}
+  canon ∈ {{ NULL ; &__malloc_realpath_l228_0[0] }}
   __retres ∈ {0}
   __calloc_w_main_l33[0..1073741823] ∈ {0; 42}
   __malloc_main_l44[0..4095] ∈ [--..--] or UNINITIALIZED
-  __malloc_realpath_l224[0] ∈ [--..--]
+  __malloc_realpath_l228[0] ∈ [--..--]
                         [1..4095] ∈ [--..--] or UNINITIALIZED
-  __malloc_realpath_l224_0[0] ∈ [--..--]
+  __malloc_realpath_l228_0[0] ∈ [--..--]
                           [1..4095] ∈ [--..--] or UNINITIALIZED
diff --git a/tests/libc/oracle/stdlib_c.2.res.oracle b/tests/libc/oracle/stdlib_c.2.res.oracle
index 92a26b0f48e0b8e75ef495fdd9375ea676193e2a..2f4cdcf25ecf6df25a1e25f1252893c3c8694878 100644
--- a/tests/libc/oracle/stdlib_c.2.res.oracle
+++ b/tests/libc/oracle/stdlib_c.2.res.oracle
@@ -13,7 +13,7 @@
 [eva] using specification for function memset
 [eva] FRAMAC_SHARE/libc/stdlib.c:73: 
   function memset: precondition 'valid_s' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:134: 
+[eva] FRAMAC_SHARE/libc/string.h:151: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memset
 [eva] Done for function memset
 [eva] Recording results for calloc
@@ -96,11 +96,11 @@
 [eva] Done for function calloc
 [eva] computing for function posix_memalign <- main.
   Called from stdlib_c.c:38.
-[eva] FRAMAC_SHARE/libc/stdlib.c:196: 
+[eva] FRAMAC_SHARE/libc/stdlib.c:200: 
   assertion 'alignment_is_a_suitable_power_of_two' got status valid.
-[eva] FRAMAC_SHARE/libc/stdlib.c:199: Call to builtin Frama_C_malloc
-[eva] FRAMAC_SHARE/libc/stdlib.c:199: 
-  allocating variable __malloc_posix_memalign_l199
+[eva] FRAMAC_SHARE/libc/stdlib.c:203: Call to builtin Frama_C_malloc
+[eva] FRAMAC_SHARE/libc/stdlib.c:203: 
+  allocating variable __malloc_posix_memalign_l203
 [eva] Recording results for posix_memalign
 [eva] Done for function posix_memalign
 [eva] computing for function free <- main.
@@ -111,9 +111,9 @@
 [eva] Done for function free
 [eva] computing for function posix_memalign <- main.
   Called from stdlib_c.c:40.
-[eva] FRAMAC_SHARE/libc/stdlib.c:199: Call to builtin Frama_C_malloc
-[eva] FRAMAC_SHARE/libc/stdlib.c:199: 
-  allocating variable __malloc_posix_memalign_l199_0
+[eva] FRAMAC_SHARE/libc/stdlib.c:203: Call to builtin Frama_C_malloc
+[eva] FRAMAC_SHARE/libc/stdlib.c:203: 
+  allocating variable __malloc_posix_memalign_l203_0
 [eva] Recording results for posix_memalign
 [eva] Done for function posix_memalign
 [eva] computing for function free <- main.
@@ -126,20 +126,20 @@
 [eva] computing for function realpath <- main.
   Called from stdlib_c.c:46.
 [eva] computing for function Frama_C_interval <- realpath <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:213.
+  Called from FRAMAC_SHARE/libc/stdlib.c:217.
 [eva] using specification for function Frama_C_interval
-[eva] FRAMAC_SHARE/libc/stdlib.c:213: 
+[eva] FRAMAC_SHARE/libc/stdlib.c:217: 
   function Frama_C_interval: precondition 'order' got status valid.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- realpath <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:222.
-[eva] FRAMAC_SHARE/libc/stdlib.c:222: 
+  Called from FRAMAC_SHARE/libc/stdlib.c:226.
+[eva] FRAMAC_SHARE/libc/stdlib.c:226: 
   function Frama_C_interval: precondition 'order' got status valid.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_make_unknown <- realpath <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:230.
+  Called from FRAMAC_SHARE/libc/stdlib.c:234.
 [eva] using specification for function Frama_C_make_unknown
-[eva] FRAMAC_SHARE/libc/stdlib.c:230: 
+[eva] FRAMAC_SHARE/libc/stdlib.c:234: 
   function Frama_C_make_unknown: precondition 'valid_p' got status valid.
 [eva] Done for function Frama_C_make_unknown
 [eva] Recording results for realpath
@@ -160,36 +160,36 @@
 [eva] computing for function realpath <- main.
   Called from stdlib_c.c:54.
 [eva] computing for function Frama_C_interval <- realpath <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:213.
+  Called from FRAMAC_SHARE/libc/stdlib.c:217.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- realpath <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:222.
+  Called from FRAMAC_SHARE/libc/stdlib.c:226.
 [eva] Done for function Frama_C_interval
-[eva] FRAMAC_SHARE/libc/stdlib.c:224: Call to builtin Frama_C_malloc
-[eva] FRAMAC_SHARE/libc/stdlib.c:224: allocating variable __malloc_realpath_l224
+[eva] FRAMAC_SHARE/libc/stdlib.c:228: Call to builtin Frama_C_malloc
+[eva] FRAMAC_SHARE/libc/stdlib.c:228: allocating variable __malloc_realpath_l228
 [eva] computing for function Frama_C_make_unknown <- realpath <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:230.
+  Called from FRAMAC_SHARE/libc/stdlib.c:234.
 [eva] Done for function Frama_C_make_unknown
 [eva] Recording results for realpath
 [eva] Done for function realpath
 [eva] computing for function canonicalize_file_name <- main.
   Called from stdlib_c.c:56.
 [eva] computing for function realpath <- canonicalize_file_name <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:236.
+  Called from FRAMAC_SHARE/libc/stdlib.c:240.
 [eva] computing for function Frama_C_interval <- realpath <- 
                           canonicalize_file_name <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:213.
+  Called from FRAMAC_SHARE/libc/stdlib.c:217.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- realpath <- 
                           canonicalize_file_name <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:222.
+  Called from FRAMAC_SHARE/libc/stdlib.c:226.
 [eva] Done for function Frama_C_interval
-[eva] FRAMAC_SHARE/libc/stdlib.c:224: Call to builtin Frama_C_malloc
-[eva] FRAMAC_SHARE/libc/stdlib.c:224: 
-  allocating variable __malloc_realpath_l224_0
+[eva] FRAMAC_SHARE/libc/stdlib.c:228: Call to builtin Frama_C_malloc
+[eva] FRAMAC_SHARE/libc/stdlib.c:228: 
+  allocating variable __malloc_realpath_l228_0
 [eva] computing for function Frama_C_make_unknown <- realpath <- 
                           canonicalize_file_name <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:230.
+  Called from FRAMAC_SHARE/libc/stdlib.c:234.
 [eva] Done for function Frama_C_make_unknown
 [eva] Recording results for realpath
 [eva] Done for function realpath
@@ -218,28 +218,28 @@
   __malloc_w_calloc_l72_1[0..4294967291] ∈ [--..--] or UNINITIALIZED
 [eva:final-states] Values at end of function posix_memalign:
   __fc_heap_status ∈ [--..--]
-  p_al0 ∈ {{ NULL ; &__malloc_posix_memalign_l199[0] }}
-  p_al1 ∈ {{ NULL ; &__malloc_posix_memalign_l199_0[0] }} or UNINITIALIZED
+  p_al0 ∈ {{ NULL ; &__malloc_posix_memalign_l203[0] }}
+  p_al1 ∈ {{ NULL ; &__malloc_posix_memalign_l203_0[0] }} or UNINITIALIZED
   __retres ∈ {0; 12}
 [eva:final-states] Values at end of function realpath:
   __fc_heap_status ∈ [--..--]
   __fc_errno ∈ [--..--]
   Frama_C_entropy_source ∈ [--..--]
   resolved_name ∈
-               {{ NULL ; &__malloc_main_l44[0] ; &__malloc_realpath_l224[0] ;
-                  &__malloc_realpath_l224_0[0] }}
+               {{ NULL ; &__malloc_main_l44[0] ; &__malloc_realpath_l228[0] ;
+                  &__malloc_realpath_l228_0[0] }}
   realpath_len ∈ [1..4096] or UNINITIALIZED
   __retres ∈
-          {{ NULL ; &__malloc_main_l44[0] ; &__malloc_realpath_l224[0] ;
-             &__malloc_realpath_l224_0[0] }}
+          {{ NULL ; &__malloc_main_l44[0] ; &__malloc_realpath_l228[0] ;
+             &__malloc_realpath_l228_0[0] }}
   __malloc_main_l44[0..4095] ∈ [--..--] or UNINITIALIZED
-  __malloc_realpath_l224[0..4095] ∈ [--..--] or UNINITIALIZED
-  __malloc_realpath_l224_0[0..4095] ∈ [--..--] or UNINITIALIZED
+  __malloc_realpath_l228[0..4095] ∈ [--..--] or UNINITIALIZED
+  __malloc_realpath_l228_0[0..4095] ∈ [--..--] or UNINITIALIZED
 [eva:final-states] Values at end of function canonicalize_file_name:
   __fc_heap_status ∈ [--..--]
   __fc_errno ∈ [--..--]
   Frama_C_entropy_source ∈ [--..--]
-  __malloc_realpath_l224_0[0..4095] ∈ [--..--] or UNINITIALIZED
+  __malloc_realpath_l228_0[0..4095] ∈ [--..--] or UNINITIALIZED
 [eva:final-states] Values at end of function main:
   __fc_heap_status ∈ [--..--]
   __fc_errno ∈ [--..--]
@@ -249,17 +249,17 @@
   q ∈ {{ NULL ; (int *)&__malloc_calloc_l72_0 }}
   r ∈ {0}
   s ∈ {{ NULL ; (int *)&__malloc_w_calloc_l72_1 }} or UNINITIALIZED
-  p_al0 ∈ {{ NULL ; &__malloc_posix_memalign_l199[0] }}
-  p_al1 ∈ {{ NULL ; &__malloc_posix_memalign_l199_0[0] }}
+  p_al0 ∈ {{ NULL ; &__malloc_posix_memalign_l203[0] }}
+  p_al1 ∈ {{ NULL ; &__malloc_posix_memalign_l203_0[0] }}
   p_memal_res ∈ {0; 12}
   p_memal_res2 ∈ {0; 12}
   resolved_name ∈ {{ NULL ; &__malloc_main_l44[0] }}
-  realpath_res ∈ {{ NULL ; &__malloc_realpath_l224[0] }} or UNINITIALIZED
-  canon ∈ {{ NULL ; &__malloc_realpath_l224_0[0] }} or UNINITIALIZED
+  realpath_res ∈ {{ NULL ; &__malloc_realpath_l228[0] }} or UNINITIALIZED
+  canon ∈ {{ NULL ; &__malloc_realpath_l228_0[0] }} or UNINITIALIZED
   __retres ∈ {0; 1}
   __malloc_calloc_l72[0..3] ∈ [--..--] or UNINITIALIZED
   __malloc_calloc_l72_0[0..4294967291] ∈ [--..--] or UNINITIALIZED
   __malloc_w_calloc_l72_1[0..4294967291] ∈ [--..--] or UNINITIALIZED
   __malloc_main_l44[0..4095] ∈ [--..--] or UNINITIALIZED
-  __malloc_realpath_l224[0..4095] ∈ [--..--] or UNINITIALIZED
-  __malloc_realpath_l224_0[0..4095] ∈ [--..--] or UNINITIALIZED
+  __malloc_realpath_l228[0..4095] ∈ [--..--] or UNINITIALIZED
+  __malloc_realpath_l228_0[0..4095] ∈ [--..--] or UNINITIALIZED
diff --git a/tests/libc/oracle/stdlib_c_env.res.oracle b/tests/libc/oracle/stdlib_c_env.res.oracle
index 1f2d4bb2994253ac4ad94e7074c908d114de2f4a..980661bdbfe72311f1f83f22fb1f8402cc15a479 100644
--- a/tests/libc/oracle/stdlib_c_env.res.oracle
+++ b/tests/libc/oracle/stdlib_c_env.res.oracle
@@ -6,95 +6,95 @@
   
 [eva] computing for function putenv <- main.
   Called from stdlib_c_env.c:8.
-[eva] FRAMAC_SHARE/libc/stdlib.c:114: Call to builtin strchr
-[eva] FRAMAC_SHARE/libc/stdlib.c:114: 
+[eva] FRAMAC_SHARE/libc/stdlib.c:118: Call to builtin strchr
+[eva] FRAMAC_SHARE/libc/stdlib.c:118: 
   function strchr: precondition 'valid_string_s' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:181: 
+[eva] FRAMAC_SHARE/libc/string.h:202: 
   cannot evaluate ACSL term, unsupported logic var p
-[eva] FRAMAC_SHARE/libc/stdlib.c:115: 
+[eva] FRAMAC_SHARE/libc/stdlib.c:119: 
   assertion 'string_contains_separator' got status valid.
-[eva] FRAMAC_SHARE/libc/stdlib.c:116: 
+[eva] FRAMAC_SHARE/libc/stdlib.c:120: 
   assertion 'name_is_not_empty' got status valid.
 [eva] computing for function __fc_initenv <- putenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:118.
+  Called from FRAMAC_SHARE/libc/stdlib.c:122.
 [eva] computing for function Frama_C_make_unknown <- __fc_initenv <- putenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:87.
+  Called from FRAMAC_SHARE/libc/stdlib.c:91.
 [eva] using specification for function Frama_C_make_unknown
-[eva] FRAMAC_SHARE/libc/stdlib.c:87: 
+[eva] FRAMAC_SHARE/libc/stdlib.c:91: 
   function Frama_C_make_unknown: precondition 'valid_p' got status valid.
 [eva] Done for function Frama_C_make_unknown
 [eva] computing for function Frama_C_interval <- __fc_initenv <- putenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:89.
+  Called from FRAMAC_SHARE/libc/stdlib.c:93.
 [eva] using specification for function Frama_C_interval
-[eva] FRAMAC_SHARE/libc/stdlib.c:89: 
+[eva] FRAMAC_SHARE/libc/stdlib.c:93: 
   function Frama_C_interval: precondition 'order' got status valid.
 [eva] Done for function Frama_C_interval
-[eva] FRAMAC_SHARE/libc/stdlib.c:88: starting to merge loop iterations
+[eva] FRAMAC_SHARE/libc/stdlib.c:92: starting to merge loop iterations
 [eva] computing for function Frama_C_interval <- __fc_initenv <- putenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:89.
+  Called from FRAMAC_SHARE/libc/stdlib.c:93.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- __fc_initenv <- putenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:89.
+  Called from FRAMAC_SHARE/libc/stdlib.c:93.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- __fc_initenv <- putenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:89.
+  Called from FRAMAC_SHARE/libc/stdlib.c:93.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- __fc_initenv <- putenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:89.
+  Called from FRAMAC_SHARE/libc/stdlib.c:93.
 [eva] Done for function Frama_C_interval
 [eva] Recording results for __fc_initenv
 [eva] Done for function __fc_initenv
 [eva] computing for function Frama_C_nondet <- putenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:125.
+  Called from FRAMAC_SHARE/libc/stdlib.c:129.
 [eva] using specification for function Frama_C_nondet
 [eva] Done for function Frama_C_nondet
 [eva] computing for function Frama_C_nondet <- putenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:126.
+  Called from FRAMAC_SHARE/libc/stdlib.c:130.
 [eva] Done for function Frama_C_nondet
 [eva] computing for function Frama_C_interval <- putenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:128.
-[eva] FRAMAC_SHARE/libc/stdlib.c:128: 
+  Called from FRAMAC_SHARE/libc/stdlib.c:132.
+[eva] FRAMAC_SHARE/libc/stdlib.c:132: 
   function Frama_C_interval: precondition 'order' got status valid.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- putenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:130.
-[eva] FRAMAC_SHARE/libc/stdlib.c:130: 
+  Called from FRAMAC_SHARE/libc/stdlib.c:134.
+[eva] FRAMAC_SHARE/libc/stdlib.c:134: 
   function Frama_C_interval: precondition 'order' got status valid.
 [eva] Done for function Frama_C_interval
 [eva] Recording results for putenv
 [eva] Done for function putenv
 [eva] computing for function putenv <- main.
   Called from stdlib_c_env.c:10.
-[eva] FRAMAC_SHARE/libc/stdlib.c:114: Call to builtin strchr
+[eva] FRAMAC_SHARE/libc/stdlib.c:118: Call to builtin strchr
 [eva] computing for function __fc_initenv <- putenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:118.
+  Called from FRAMAC_SHARE/libc/stdlib.c:122.
 [eva] Recording results for __fc_initenv
 [eva] Done for function __fc_initenv
 [eva] computing for function Frama_C_nondet <- putenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:125.
+  Called from FRAMAC_SHARE/libc/stdlib.c:129.
 [eva] Done for function Frama_C_nondet
 [eva] computing for function Frama_C_nondet <- putenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:126.
+  Called from FRAMAC_SHARE/libc/stdlib.c:130.
 [eva] Done for function Frama_C_nondet
 [eva] computing for function Frama_C_interval <- putenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:128.
+  Called from FRAMAC_SHARE/libc/stdlib.c:132.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- putenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:130.
+  Called from FRAMAC_SHARE/libc/stdlib.c:134.
 [eva] Done for function Frama_C_interval
 [eva] Recording results for putenv
 [eva] Done for function putenv
 [eva] computing for function getenv <- main.
   Called from stdlib_c_env.c:11.
-[eva] FRAMAC_SHARE/libc/stdlib.c:102: assertion got status valid.
-[eva] FRAMAC_SHARE/libc/stdlib.c:104: 
+[eva] FRAMAC_SHARE/libc/stdlib.c:106: assertion got status valid.
+[eva] FRAMAC_SHARE/libc/stdlib.c:108: 
   Reusing old results for call to __fc_initenv
 [eva] computing for function Frama_C_nondet <- getenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:105.
+  Called from FRAMAC_SHARE/libc/stdlib.c:109.
 [eva] Done for function Frama_C_nondet
 [eva] computing for function Frama_C_interval <- getenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:106.
-[eva] FRAMAC_SHARE/libc/stdlib.c:106: 
+  Called from FRAMAC_SHARE/libc/stdlib.c:110.
+[eva] FRAMAC_SHARE/libc/stdlib.c:110: 
   function Frama_C_interval: precondition 'order' got status valid.
 [eva] Done for function Frama_C_interval
 [eva] Recording results for getenv
@@ -109,118 +109,118 @@
   function strcpy: precondition 'room_string' got status valid.
 [eva] stdlib_c_env.c:15: 
   function strcpy: precondition 'separation' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:373: 
+[eva] FRAMAC_SHARE/libc/string.h:425: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function strcmp
 [eva] Done for function strcpy
 [eva] computing for function getenv <- main.
   Called from stdlib_c_env.c:16.
-[eva] FRAMAC_SHARE/libc/stdlib.c:104: 
+[eva] FRAMAC_SHARE/libc/stdlib.c:108: 
   Reusing old results for call to __fc_initenv
 [eva] computing for function Frama_C_nondet <- getenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:105.
+  Called from FRAMAC_SHARE/libc/stdlib.c:109.
 [eva] Done for function Frama_C_nondet
 [eva] computing for function Frama_C_interval <- getenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:106.
+  Called from FRAMAC_SHARE/libc/stdlib.c:110.
 [eva] Done for function Frama_C_interval
 [eva] Recording results for getenv
 [eva] Done for function getenv
 [eva] computing for function setenv <- main.
   Called from stdlib_c_env.c:17.
-[eva] FRAMAC_SHARE/libc/stdlib.c:137: Call to builtin strchr
-[eva] FRAMAC_SHARE/libc/stdlib.c:137: 
-  function strchr: precondition 'valid_string_s' got status valid.
-[eva] FRAMAC_SHARE/libc/stdlib.c:141: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/stdlib.c:141: Call to builtin strchr
 [eva] FRAMAC_SHARE/libc/stdlib.c:141: 
+  function strchr: precondition 'valid_string_s' got status valid.
+[eva] FRAMAC_SHARE/libc/stdlib.c:145: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/stdlib.c:145: 
   function strlen: precondition 'valid_string_s' got status valid.
-[eva] FRAMAC_SHARE/libc/stdlib.c:147: 
+[eva] FRAMAC_SHARE/libc/stdlib.c:151: 
   Reusing old results for call to __fc_initenv
 [eva] computing for function Frama_C_nondet <- setenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:153.
+  Called from FRAMAC_SHARE/libc/stdlib.c:157.
 [eva] Done for function Frama_C_nondet
 [eva] computing for function Frama_C_nondet <- setenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:157.
+  Called from FRAMAC_SHARE/libc/stdlib.c:161.
 [eva] Done for function Frama_C_nondet
 [eva] computing for function Frama_C_make_unknown <- setenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:158.
-[eva] FRAMAC_SHARE/libc/stdlib.c:158: 
+  Called from FRAMAC_SHARE/libc/stdlib.c:162.
+[eva] FRAMAC_SHARE/libc/stdlib.c:162: 
   function Frama_C_make_unknown: precondition 'valid_p' got status valid.
 [eva] Done for function Frama_C_make_unknown
 [eva] computing for function Frama_C_interval <- setenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:160.
-[eva] FRAMAC_SHARE/libc/stdlib.c:160: 
+  Called from FRAMAC_SHARE/libc/stdlib.c:164.
+[eva] FRAMAC_SHARE/libc/stdlib.c:164: 
   function Frama_C_interval: precondition 'order' got status valid.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- setenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:160.
-[eva] FRAMAC_SHARE/libc/stdlib.c:160: 
+  Called from FRAMAC_SHARE/libc/stdlib.c:164.
+[eva] FRAMAC_SHARE/libc/stdlib.c:164: 
   function Frama_C_interval: precondition 'order' got status valid.
 [eva] Done for function Frama_C_interval
 [eva] Recording results for setenv
 [eva] Done for function setenv
 [eva] computing for function setenv <- main.
   Called from stdlib_c_env.c:18.
-[eva] FRAMAC_SHARE/libc/stdlib.c:137: Call to builtin strchr
-[eva:alarm] FRAMAC_SHARE/libc/stdlib.c:137: Warning: 
+[eva] FRAMAC_SHARE/libc/stdlib.c:141: Call to builtin strchr
+[eva:alarm] FRAMAC_SHARE/libc/stdlib.c:141: Warning: 
   function strchr: precondition 'valid_string_s' got status unknown.
-[eva] FRAMAC_SHARE/libc/stdlib.c:141: Call to builtin strlen
-[eva] FRAMAC_SHARE/libc/stdlib.c:147: 
+[eva] FRAMAC_SHARE/libc/stdlib.c:145: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/stdlib.c:151: 
   Reusing old results for call to __fc_initenv
 [eva] computing for function Frama_C_nondet <- setenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:153.
+  Called from FRAMAC_SHARE/libc/stdlib.c:157.
 [eva] Done for function Frama_C_nondet
 [eva] computing for function Frama_C_nondet <- setenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:157.
+  Called from FRAMAC_SHARE/libc/stdlib.c:161.
 [eva] Done for function Frama_C_nondet
 [eva] computing for function Frama_C_make_unknown <- setenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:158.
+  Called from FRAMAC_SHARE/libc/stdlib.c:162.
 [eva] Done for function Frama_C_make_unknown
 [eva] computing for function Frama_C_interval <- setenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:160.
+  Called from FRAMAC_SHARE/libc/stdlib.c:164.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- setenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:160.
+  Called from FRAMAC_SHARE/libc/stdlib.c:164.
 [eva] Done for function Frama_C_interval
 [eva] Recording results for setenv
 [eva] Done for function setenv
 [eva] computing for function setenv <- main.
   Called from stdlib_c_env.c:19.
-[eva] FRAMAC_SHARE/libc/stdlib.c:137: Call to builtin strchr
-[eva] FRAMAC_SHARE/libc/stdlib.c:141: Call to builtin strlen
-[eva] FRAMAC_SHARE/libc/stdlib.c:147: 
+[eva] FRAMAC_SHARE/libc/stdlib.c:141: Call to builtin strchr
+[eva] FRAMAC_SHARE/libc/stdlib.c:145: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/stdlib.c:151: 
   Reusing old results for call to __fc_initenv
 [eva] computing for function Frama_C_nondet <- setenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:153.
+  Called from FRAMAC_SHARE/libc/stdlib.c:157.
 [eva] Done for function Frama_C_nondet
 [eva] computing for function Frama_C_nondet <- setenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:157.
+  Called from FRAMAC_SHARE/libc/stdlib.c:161.
 [eva] Done for function Frama_C_nondet
 [eva] computing for function Frama_C_make_unknown <- setenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:158.
+  Called from FRAMAC_SHARE/libc/stdlib.c:162.
 [eva] Done for function Frama_C_make_unknown
 [eva] computing for function Frama_C_interval <- setenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:160.
+  Called from FRAMAC_SHARE/libc/stdlib.c:164.
 [eva] Done for function Frama_C_interval
 [eva] computing for function Frama_C_interval <- setenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:160.
+  Called from FRAMAC_SHARE/libc/stdlib.c:164.
 [eva] Done for function Frama_C_interval
 [eva] Recording results for setenv
 [eva] Done for function setenv
 [eva] computing for function unsetenv <- main.
   Called from stdlib_c_env.c:20.
-[eva] FRAMAC_SHARE/libc/stdlib.c:167: Call to builtin strchr
-[eva] FRAMAC_SHARE/libc/stdlib.c:167: 
-  function strchr: precondition 'valid_string_s' got status valid.
-[eva] FRAMAC_SHARE/libc/stdlib.c:171: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/stdlib.c:171: Call to builtin strchr
 [eva] FRAMAC_SHARE/libc/stdlib.c:171: 
+  function strchr: precondition 'valid_string_s' got status valid.
+[eva] FRAMAC_SHARE/libc/stdlib.c:175: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/stdlib.c:175: 
   function strlen: precondition 'valid_string_s' got status valid.
-[eva] FRAMAC_SHARE/libc/stdlib.c:177: 
+[eva] FRAMAC_SHARE/libc/stdlib.c:181: 
   Reusing old results for call to __fc_initenv
 [eva] computing for function Frama_C_nondet <- unsetenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:179.
+  Called from FRAMAC_SHARE/libc/stdlib.c:183.
 [eva] Done for function Frama_C_nondet
 [eva] computing for function Frama_C_interval <- unsetenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:180.
-[eva] FRAMAC_SHARE/libc/stdlib.c:180: 
+  Called from FRAMAC_SHARE/libc/stdlib.c:184.
+[eva] FRAMAC_SHARE/libc/stdlib.c:184: 
   function Frama_C_interval: precondition 'order' got status valid.
 [eva] Done for function Frama_C_interval
 [eva] Recording results for unsetenv
@@ -228,38 +228,51 @@
 [eva] stdlib_c_env.c:21: assertion got status valid.
 [eva] computing for function unsetenv <- main.
   Called from stdlib_c_env.c:22.
-[eva] FRAMAC_SHARE/libc/stdlib.c:167: Call to builtin strchr
+[eva] FRAMAC_SHARE/libc/stdlib.c:171: Call to builtin strchr
 [eva] Recording results for unsetenv
 [eva] Done for function unsetenv
 [eva] stdlib_c_env.c:23: assertion got status valid.
 [eva] computing for function unsetenv <- main.
   Called from stdlib_c_env.c:24.
-[eva] FRAMAC_SHARE/libc/stdlib.c:167: Call to builtin strchr
-[eva] FRAMAC_SHARE/libc/stdlib.c:171: Call to builtin strlen
-[eva] FRAMAC_SHARE/libc/stdlib.c:177: 
+[eva] FRAMAC_SHARE/libc/stdlib.c:171: Call to builtin strchr
+[eva] FRAMAC_SHARE/libc/stdlib.c:175: Call to builtin strlen
+[eva] FRAMAC_SHARE/libc/stdlib.c:181: 
   Reusing old results for call to __fc_initenv
 [eva] computing for function Frama_C_nondet <- unsetenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:179.
+  Called from FRAMAC_SHARE/libc/stdlib.c:183.
 [eva] Done for function Frama_C_nondet
 [eva] computing for function Frama_C_interval <- unsetenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:180.
+  Called from FRAMAC_SHARE/libc/stdlib.c:184.
 [eva] Done for function Frama_C_interval
 [eva] Recording results for unsetenv
 [eva] Done for function unsetenv
 [eva] computing for function getenv <- main.
   Called from stdlib_c_env.c:25.
-[eva:alarm] FRAMAC_SHARE/libc/stdlib.c:102: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/stdlib.c:106: Warning: 
   assertion got status unknown.
-[eva] FRAMAC_SHARE/libc/stdlib.c:104: 
+[eva] FRAMAC_SHARE/libc/stdlib.c:108: 
   Reusing old results for call to __fc_initenv
 [eva] computing for function Frama_C_nondet <- getenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:105.
+  Called from FRAMAC_SHARE/libc/stdlib.c:109.
 [eva] Done for function Frama_C_nondet
 [eva] computing for function Frama_C_interval <- getenv <- main.
-  Called from FRAMAC_SHARE/libc/stdlib.c:106.
+  Called from FRAMAC_SHARE/libc/stdlib.c:110.
 [eva] Done for function Frama_C_interval
 [eva] Recording results for getenv
 [eva] Done for function getenv
+[eva] computing for function setenv <- main.
+  Called from stdlib_c_env.c:26.
+[eva] FRAMAC_SHARE/libc/stdlib.c:141: Call to builtin strchr
+[eva] Recording results for setenv
+[eva] Done for function setenv
+[eva] stdlib_c_env.c:27: check got status valid.
+[eva] computing for function setenv <- main.
+  Called from stdlib_c_env.c:28.
+[eva] FRAMAC_SHARE/libc/stdlib.c:141: Call to builtin strchr
+[eva] FRAMAC_SHARE/libc/stdlib.c:145: Call to builtin strlen
+[eva] Recording results for setenv
+[eva] Done for function setenv
+[eva] stdlib_c_env.c:29: check got status valid.
 [eva] Recording results for main
 [eva] Done for function main
 [eva] ====== VALUES COMPUTED ======
@@ -273,6 +286,7 @@
   Frama_C_entropy_source ∈ [--..--]
   __retres ∈ {{ NULL ; &s[0] ; &__fc_env_strings + [0..63] ; "BLA=1" }}
 [eva:final-states] Values at end of function putenv:
+  __fc_errno ∈ [--..--]
   __fc_env[0..4095] ∈
           {{ NULL ; &s[0] ; &__fc_env_strings + [0..63] ; "BLA=1" }}
   Frama_C_entropy_source ∈ [--..--]
@@ -282,6 +296,7 @@
   __fc_initenv_init ∈ {1}
   __retres ∈ [--..--]
 [eva:final-states] Values at end of function setenv:
+  __fc_errno ∈ [--..--]
   __fc_env[0..4095] ∈
           {{ NULL ; &s[0] ; &__fc_env_strings + [0..63] ; "BLA=1" }}
   Frama_C_entropy_source ∈ [--..--]
@@ -290,12 +305,14 @@
                   [63] ∈ {0}
   __retres ∈ {-1; 0}
 [eva:final-states] Values at end of function unsetenv:
+  __fc_errno ∈ [--..--]
   __fc_env[0..4095] ∈
           {{ NULL ; &s[0] ; &__fc_env_strings + [0..63] ; "BLA=1" }}
   Frama_C_entropy_source ∈ [--..--]
   namelen ∈ [0..63] or UNINITIALIZED
   __retres ∈ {-1; 0}
 [eva:final-states] Values at end of function main:
+  __fc_errno ∈ {22}
   __fc_env[0..4095] ∈
           {{ NULL ; &s[0] ; &__fc_env_strings + [0..63] ; "BLA=1" }}
   Frama_C_entropy_source ∈ [--..--]
@@ -313,6 +330,8 @@
   i7 ∈ {-1}
   i8 ∈ {-1; 0}
   r3 ∈ {{ NULL ; &s[0] ; &__fc_env_strings + [0..63] ; "BLA=1" }}
+  i9 ∈ {-1}
+  i10 ∈ {-1}
   __fc_env_strings[0..62] ∈ [--..--]
                   [63] ∈ {0}
   __fc_initenv_init ∈ {1}
diff --git a/tests/libc/oracle/stdlib_h.0.res.oracle b/tests/libc/oracle/stdlib_h.0.res.oracle
index f3c34ab3d7b20fc92706f5c64290e6cff09f0e05..4c93198f82653a64bf2d38e2f1fb872e5678b7d0 100644
--- a/tests/libc/oracle/stdlib_h.0.res.oracle
+++ b/tests/libc/oracle/stdlib_h.0.res.oracle
@@ -3,325 +3,432 @@
 [eva] Computing initial state
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
+  putenv_buf[0] ∈ {80}
+            [1] ∈ {65}
+            [2] ∈ {84}
+            [3] ∈ {72}
+            [4] ∈ {51}
+            [5] ∈ {61}
+            [6] ∈ {47}
+            [7] ∈ {58}
+            [8] ∈ {47}
+            [9] ∈ {102}
+            [10..11] ∈ {111}
+            [12] ∈ {58}
+            [13] ∈ {47}
+            [14] ∈ {98}
+            [15] ∈ {97}
+            [16] ∈ {114}
+            [17] ∈ {58}
+            [18..29] ∈ {0}
   nondet ∈ [--..--]
 [eva] computing for function strtol <- main.
-  Called from stdlib_h.c:21.
+  Called from stdlib_h.c:23.
 [eva] using specification for function strtol
-[eva] stdlib_h.c:21: 
+[eva] stdlib_h.c:23: 
   function strtol: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:21: 
+[eva] stdlib_h.c:23: 
   function strtol: precondition 'separation' got status valid.
-[eva] stdlib_h.c:21: 
+[eva] stdlib_h.c:23: 
   function strtol: precondition 'base_range' got status valid.
-[eva] stdlib_h.c:21: 
+[eva] stdlib_h.c:23: 
   function strtol, behavior store_position: precondition 'valid_endptr' got status valid.
 [eva] Done for function strtol
 [eva] computing for function strtol <- main.
-  Called from stdlib_h.c:22.
-[eva] stdlib_h.c:22: 
+  Called from stdlib_h.c:24.
+[eva] stdlib_h.c:24: 
   function strtol: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:22: 
+[eva] stdlib_h.c:24: 
   function strtol: precondition 'separation' got status valid.
-[eva] stdlib_h.c:22: 
+[eva] stdlib_h.c:24: 
   function strtol: precondition 'base_range' got status valid.
-[eva] stdlib_h.c:22: 
+[eva] stdlib_h.c:24: 
   function strtol, behavior store_position: precondition 'valid_endptr' got status valid.
 [eva] Done for function strtol
 [eva] computing for function strtol <- main.
-  Called from stdlib_h.c:23.
-[eva] stdlib_h.c:23: 
+  Called from stdlib_h.c:25.
+[eva] stdlib_h.c:25: 
   function strtol: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:23: 
+[eva] stdlib_h.c:25: 
   function strtol: precondition 'separation' got status valid.
-[eva] stdlib_h.c:23: 
+[eva] stdlib_h.c:25: 
   function strtol: precondition 'base_range' got status valid.
 [eva] Done for function strtol
 [eva] computing for function strtol <- main.
-  Called from stdlib_h.c:24.
-[eva] stdlib_h.c:24: 
+  Called from stdlib_h.c:26.
+[eva] stdlib_h.c:26: 
   function strtol: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:24: 
+[eva] stdlib_h.c:26: 
   function strtol: precondition 'separation' got status valid.
-[eva] stdlib_h.c:24: 
+[eva] stdlib_h.c:26: 
   function strtol: precondition 'base_range' got status valid.
 [eva] Done for function strtol
 [eva] computing for function strtoll <- main.
-  Called from stdlib_h.c:28.
+  Called from stdlib_h.c:30.
 [eva] using specification for function strtoll
-[eva] stdlib_h.c:28: 
+[eva] stdlib_h.c:30: 
   function strtoll: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:28: 
+[eva] stdlib_h.c:30: 
   function strtoll: precondition 'separation' got status valid.
-[eva] stdlib_h.c:28: 
+[eva] stdlib_h.c:30: 
   function strtoll: precondition 'base_range' got status valid.
-[eva] stdlib_h.c:28: 
+[eva] stdlib_h.c:30: 
   function strtoll, behavior store_position: precondition 'valid_endptr' got status valid.
 [eva] Done for function strtoll
 [eva] computing for function strtoll <- main.
-  Called from stdlib_h.c:29.
-[eva] stdlib_h.c:29: 
+  Called from stdlib_h.c:31.
+[eva] stdlib_h.c:31: 
   function strtoll: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:29: 
+[eva] stdlib_h.c:31: 
   function strtoll: precondition 'separation' got status valid.
-[eva] stdlib_h.c:29: 
+[eva] stdlib_h.c:31: 
   function strtoll: precondition 'base_range' got status valid.
-[eva] stdlib_h.c:29: 
+[eva] stdlib_h.c:31: 
   function strtoll, behavior store_position: precondition 'valid_endptr' got status valid.
 [eva] Done for function strtoll
 [eva] computing for function strtoll <- main.
-  Called from stdlib_h.c:30.
-[eva] stdlib_h.c:30: 
+  Called from stdlib_h.c:32.
+[eva] stdlib_h.c:32: 
   function strtoll: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:30: 
+[eva] stdlib_h.c:32: 
   function strtoll: precondition 'separation' got status valid.
-[eva] stdlib_h.c:30: 
+[eva] stdlib_h.c:32: 
   function strtoll: precondition 'base_range' got status valid.
 [eva] Done for function strtoll
 [eva] computing for function strtoul <- main.
-  Called from stdlib_h.c:34.
+  Called from stdlib_h.c:36.
 [eva] using specification for function strtoul
-[eva] stdlib_h.c:34: 
+[eva] stdlib_h.c:36: 
   function strtoul: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:34: 
+[eva] stdlib_h.c:36: 
   function strtoul: precondition 'separation' got status valid.
-[eva] stdlib_h.c:34: 
+[eva] stdlib_h.c:36: 
   function strtoul: precondition 'base_range' got status valid.
-[eva] stdlib_h.c:34: 
+[eva] stdlib_h.c:36: 
   function strtoul, behavior store_position: precondition 'valid_endptr' got status valid.
 [eva] Done for function strtoul
 [eva] computing for function strtoul <- main.
-  Called from stdlib_h.c:35.
-[eva] stdlib_h.c:35: 
+  Called from stdlib_h.c:37.
+[eva] stdlib_h.c:37: 
   function strtoul: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:35: 
+[eva] stdlib_h.c:37: 
   function strtoul: precondition 'separation' got status valid.
-[eva] stdlib_h.c:35: 
+[eva] stdlib_h.c:37: 
   function strtoul: precondition 'base_range' got status valid.
-[eva] stdlib_h.c:35: 
+[eva] stdlib_h.c:37: 
   function strtoul, behavior store_position: precondition 'valid_endptr' got status valid.
 [eva] Done for function strtoul
 [eva] computing for function strtoul <- main.
-  Called from stdlib_h.c:36.
-[eva] stdlib_h.c:36: 
+  Called from stdlib_h.c:38.
+[eva] stdlib_h.c:38: 
   function strtoul: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:36: 
+[eva] stdlib_h.c:38: 
   function strtoul: precondition 'separation' got status valid.
-[eva] stdlib_h.c:36: 
+[eva] stdlib_h.c:38: 
   function strtoul: precondition 'base_range' got status valid.
 [eva] Done for function strtoul
 [eva] computing for function strtoull <- main.
-  Called from stdlib_h.c:40.
+  Called from stdlib_h.c:42.
 [eva] using specification for function strtoull
-[eva] stdlib_h.c:40: 
+[eva] stdlib_h.c:42: 
   function strtoull: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:40: 
+[eva] stdlib_h.c:42: 
   function strtoull: precondition 'separation' got status valid.
-[eva] stdlib_h.c:40: 
+[eva] stdlib_h.c:42: 
   function strtoull: precondition 'base_range' got status valid.
-[eva] stdlib_h.c:40: 
+[eva] stdlib_h.c:42: 
   function strtoull, behavior store_position: precondition 'valid_endptr' got status valid.
 [eva] Done for function strtoull
 [eva] computing for function strtoull <- main.
-  Called from stdlib_h.c:41.
-[eva] stdlib_h.c:41: 
+  Called from stdlib_h.c:43.
+[eva] stdlib_h.c:43: 
   function strtoull: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:41: 
+[eva] stdlib_h.c:43: 
   function strtoull: precondition 'separation' got status valid.
-[eva] stdlib_h.c:41: 
+[eva] stdlib_h.c:43: 
   function strtoull: precondition 'base_range' got status valid.
-[eva] stdlib_h.c:41: 
+[eva] stdlib_h.c:43: 
   function strtoull, behavior store_position: precondition 'valid_endptr' got status valid.
 [eva] Done for function strtoull
 [eva] computing for function strtoull <- main.
-  Called from stdlib_h.c:42.
-[eva] stdlib_h.c:42: 
+  Called from stdlib_h.c:44.
+[eva] stdlib_h.c:44: 
   function strtoull: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:42: 
+[eva] stdlib_h.c:44: 
   function strtoull: precondition 'separation' got status valid.
-[eva] stdlib_h.c:42: 
+[eva] stdlib_h.c:44: 
   function strtoull: precondition 'base_range' got status valid.
 [eva] Done for function strtoull
 [eva] computing for function strtod <- main.
-  Called from stdlib_h.c:47.
+  Called from stdlib_h.c:49.
 [eva] using specification for function strtod
-[eva] stdlib_h.c:47: 
+[eva] stdlib_h.c:49: 
   function strtod: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:47: 
+[eva] stdlib_h.c:49: 
   function strtod: precondition 'separation' got status valid.
-[eva] stdlib_h.c:47: 
+[eva] stdlib_h.c:49: 
   function strtod, behavior store_position: precondition 'valid_endptr' got status valid.
 [eva] Done for function strtod
 [eva] computing for function strtod <- main.
-  Called from stdlib_h.c:48.
-[eva] stdlib_h.c:48: 
+  Called from stdlib_h.c:50.
+[eva] stdlib_h.c:50: 
   function strtod: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:48: 
+[eva] stdlib_h.c:50: 
   function strtod: precondition 'separation' got status valid.
-[eva] stdlib_h.c:48: 
+[eva] stdlib_h.c:50: 
   function strtod, behavior store_position: precondition 'valid_endptr' got status valid.
 [eva] Done for function strtod
 [eva] computing for function strtod <- main.
-  Called from stdlib_h.c:49.
-[eva] stdlib_h.c:49: 
+  Called from stdlib_h.c:51.
+[eva] stdlib_h.c:51: 
   function strtod: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:49: 
+[eva] stdlib_h.c:51: 
   function strtod: precondition 'separation' got status valid.
 [eva] Done for function strtod
 [eva] computing for function strtold <- main.
-  Called from stdlib_h.c:53.
+  Called from stdlib_h.c:55.
 [eva] using specification for function strtold
-[eva] stdlib_h.c:53: 
+[eva] stdlib_h.c:55: 
   function strtold: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:53: 
+[eva] stdlib_h.c:55: 
   function strtold: precondition 'separation' got status valid.
-[eva] stdlib_h.c:53: 
+[eva] stdlib_h.c:55: 
   function strtold, behavior store_position: precondition 'valid_endptr' got status valid.
 [eva] Done for function strtold
 [eva] computing for function strtold <- main.
-  Called from stdlib_h.c:54.
-[eva] stdlib_h.c:54: 
+  Called from stdlib_h.c:56.
+[eva] stdlib_h.c:56: 
   function strtold: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:54: 
+[eva] stdlib_h.c:56: 
   function strtold: precondition 'separation' got status valid.
-[eva] stdlib_h.c:54: 
+[eva] stdlib_h.c:56: 
   function strtold, behavior store_position: precondition 'valid_endptr' got status valid.
 [eva] Done for function strtold
 [eva] computing for function strtold <- main.
-  Called from stdlib_h.c:55.
-[eva] stdlib_h.c:55: 
+  Called from stdlib_h.c:57.
+[eva] stdlib_h.c:57: 
   function strtold: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:55: 
+[eva] stdlib_h.c:57: 
   function strtold: precondition 'separation' got status valid.
 [eva] Done for function strtold
 [eva] computing for function strtof <- main.
-  Called from stdlib_h.c:59.
+  Called from stdlib_h.c:61.
 [eva] using specification for function strtof
-[eva] stdlib_h.c:59: 
+[eva] stdlib_h.c:61: 
   function strtof: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:59: 
+[eva] stdlib_h.c:61: 
   function strtof: precondition 'separation' got status valid.
-[eva] stdlib_h.c:59: 
+[eva] stdlib_h.c:61: 
   function strtof, behavior store_position: precondition 'valid_endptr' got status valid.
 [eva] Done for function strtof
 [eva] computing for function strtof <- main.
-  Called from stdlib_h.c:60.
-[eva] stdlib_h.c:60: 
+  Called from stdlib_h.c:62.
+[eva] stdlib_h.c:62: 
   function strtof: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:60: 
+[eva] stdlib_h.c:62: 
   function strtof: precondition 'separation' got status valid.
-[eva] stdlib_h.c:60: 
+[eva] stdlib_h.c:62: 
   function strtof, behavior store_position: precondition 'valid_endptr' got status valid.
 [eva] Done for function strtof
 [eva] computing for function strtof <- main.
-  Called from stdlib_h.c:61.
-[eva] stdlib_h.c:61: 
+  Called from stdlib_h.c:63.
+[eva] stdlib_h.c:63: 
   function strtof: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:61: 
+[eva] stdlib_h.c:63: 
   function strtof: precondition 'separation' got status valid.
 [eva] Done for function strtof
 [eva] computing for function bsearch <- main.
-  Called from stdlib_h.c:65.
+  Called from stdlib_h.c:67.
 [eva] using specification for function bsearch
-[eva] stdlib_h.c:65: 
+[eva] stdlib_h.c:67: 
   function bsearch: precondition 'valid_function_compar' got status valid.
 [eva] Done for function bsearch
-[eva:alarm] stdlib_h.c:66: Warning: assertion got status unknown.
+[eva:alarm] stdlib_h.c:68: Warning: assertion got status unknown.
 [eva] computing for function bsearch <- main.
-  Called from stdlib_h.c:68.
-[eva] stdlib_h.c:68: 
+  Called from stdlib_h.c:70.
+[eva] stdlib_h.c:70: 
   function bsearch: precondition 'valid_function_compar' got status valid.
 [eva] Done for function bsearch
-[eva:alarm] stdlib_h.c:69: Warning: assertion got status unknown.
+[eva:alarm] stdlib_h.c:71: Warning: assertion got status unknown.
 [eva] computing for function mkstemp <- main.
-  Called from stdlib_h.c:83.
+  Called from stdlib_h.c:85.
 [eva] using specification for function mkstemp
-[eva] stdlib_h.c:83: 
+[eva] stdlib_h.c:85: 
   function mkstemp: precondition 'valid_template' got status valid.
-[eva] stdlib_h.c:83: 
+[eva] stdlib_h.c:85: 
   function mkstemp: precondition 'template_len' got status valid.
 [eva] Done for function mkstemp
 [eva] computing for function drand48 <- main.
-  Called from stdlib_h.c:87.
+  Called from stdlib_h.c:89.
 [eva] using specification for function drand48
-[eva:alarm] stdlib_h.c:87: Warning: 
+[eva:alarm] stdlib_h.c:89: Warning: 
   function drand48: precondition 'random48_initialized' got status invalid.
 [eva] Done for function drand48
 [eva] computing for function lrand48 <- main.
-  Called from stdlib_h.c:91.
+  Called from stdlib_h.c:93.
 [eva] using specification for function lrand48
-[eva:alarm] stdlib_h.c:91: Warning: 
+[eva:alarm] stdlib_h.c:93: Warning: 
   function lrand48: precondition 'random48_initialized' got status invalid.
 [eva] Done for function lrand48
 [eva] computing for function mrand48 <- main.
-  Called from stdlib_h.c:95.
+  Called from stdlib_h.c:97.
 [eva] using specification for function mrand48
-[eva:alarm] stdlib_h.c:95: Warning: 
+[eva:alarm] stdlib_h.c:97: Warning: 
   function mrand48: precondition 'random48_initialized' got status invalid.
 [eva] Done for function mrand48
 [eva] computing for function erand48 <- main.
-  Called from stdlib_h.c:100.
+  Called from stdlib_h.c:102.
 [eva] using specification for function erand48
-[eva:alarm] stdlib_h.c:100: Warning: 
+[eva] stdlib_h.c:102: 
+  function erand48: precondition 'valid_xsubi' got status valid.
+[eva:alarm] stdlib_h.c:102: Warning: 
   function erand48: precondition 'initialization,initialized_xsubi' got status invalid.
 [eva] Done for function erand48
 [eva] computing for function erand48 <- main.
-  Called from stdlib_h.c:105.
-[eva] stdlib_h.c:105: 
+  Called from stdlib_h.c:107.
+[eva] stdlib_h.c:107: 
+  function erand48: precondition 'valid_xsubi' got status valid.
+[eva] stdlib_h.c:107: 
   function erand48: precondition 'initialization,initialized_xsubi' got status valid.
 [eva] Done for function erand48
-[eva] stdlib_h.c:106: assertion got status valid.
+[eva] stdlib_h.c:108: assertion got status valid.
 [eva] computing for function jrand48 <- main.
-  Called from stdlib_h.c:107.
+  Called from stdlib_h.c:109.
 [eva] using specification for function jrand48
-[eva] stdlib_h.c:107: 
+[eva] stdlib_h.c:109: 
+  function jrand48: precondition 'valid_xsubi' got status valid.
+[eva] stdlib_h.c:109: 
   function jrand48: precondition 'initialization,initialized_xsubi' got status valid.
 [eva] Done for function jrand48
-[eva] stdlib_h.c:108: assertion got status valid.
+[eva] stdlib_h.c:110: assertion got status valid.
 [eva] computing for function nrand48 <- main.
-  Called from stdlib_h.c:109.
+  Called from stdlib_h.c:111.
 [eva] using specification for function nrand48
-[eva] stdlib_h.c:109: 
+[eva] stdlib_h.c:111: 
+  function nrand48: precondition 'valid_xsubi' got status valid.
+[eva] stdlib_h.c:111: 
   function nrand48: precondition 'initialization,initialized_xsubi' got status valid.
 [eva] Done for function nrand48
-[eva] stdlib_h.c:110: assertion got status valid.
+[eva] stdlib_h.c:112: assertion got status valid.
 [eva] computing for function srand48 <- main.
-  Called from stdlib_h.c:112.
+  Called from stdlib_h.c:114.
 [eva] using specification for function srand48
 [eva] Done for function srand48
 [eva] computing for function seed48 <- main.
-  Called from stdlib_h.c:114.
+  Called from stdlib_h.c:116.
 [eva] using specification for function seed48
-[eva] stdlib_h.c:114: 
+[eva] stdlib_h.c:116: 
+  function seed48: precondition 'valid_seed16v' got status valid.
+[eva] stdlib_h.c:116: 
   function seed48: precondition 'initialization,initialized_seed16v' got status valid.
 [eva] Done for function seed48
 [eva] computing for function lcong48 <- main.
-  Called from stdlib_h.c:116.
+  Called from stdlib_h.c:118.
 [eva] using specification for function lcong48
+[eva] stdlib_h.c:118: 
+  function lcong48: precondition 'valid_param' got status valid.
+[eva] stdlib_h.c:118: 
+  function lcong48: precondition 'initialization,initialized_param' got status valid.
 [eva] Done for function lcong48
 [eva] computing for function drand48 <- main.
-  Called from stdlib_h.c:118.
-[eva] stdlib_h.c:118: 
+  Called from stdlib_h.c:120.
+[eva] stdlib_h.c:120: 
   function drand48: precondition 'random48_initialized' got status valid.
 [eva] Done for function drand48
-[eva] stdlib_h.c:119: assertion got status valid.
+[eva] stdlib_h.c:121: assertion got status valid.
 [eva] computing for function mrand48 <- main.
-  Called from stdlib_h.c:120.
-[eva] stdlib_h.c:120: 
+  Called from stdlib_h.c:122.
+[eva] stdlib_h.c:122: 
   function mrand48: precondition 'random48_initialized' got status valid.
 [eva] Done for function mrand48
-[eva] stdlib_h.c:121: assertion got status valid.
+[eva] stdlib_h.c:123: assertion got status valid.
 [eva] computing for function lrand48 <- main.
-  Called from stdlib_h.c:122.
-[eva] stdlib_h.c:122: 
+  Called from stdlib_h.c:124.
+[eva] stdlib_h.c:124: 
   function lrand48: precondition 'random48_initialized' got status valid.
 [eva] Done for function lrand48
-[eva] stdlib_h.c:123: assertion got status valid.
+[eva] stdlib_h.c:125: assertion got status valid.
+[eva] computing for function getenv <- main.
+  Called from stdlib_h.c:127.
+[eva] using specification for function getenv
+[eva:libc:unsupported-spec] stdlib_h.c:127: Warning: 
+  The specification of function 'getenv' is currently not supported by Eva.
+  Consider adding 'FRAMAC_SHARE/libc/stdlib.c' to the analyzed source files.
+[eva] stdlib_h.c:127: 
+  function getenv: precondition 'valid_name' got status valid.
+[eva] Done for function getenv
+[eva:alarm] stdlib_h.c:129: Warning: check 'imprecise' got status unknown.
+[eva] computing for function setenv <- main.
+  Called from stdlib_h.c:131.
+[eva] using specification for function setenv
+[eva:libc:unsupported-spec] stdlib_h.c:131: Warning: 
+  The specification of function 'setenv' is currently not supported by Eva.
+  Consider adding 'FRAMAC_SHARE/libc/stdlib.c' to the analyzed source files.
+[eva] stdlib_h.c:131: Warning: ignoring unsupported allocates clause
+[eva] stdlib_h.c:131: 
+  function setenv: precondition 'valid_name' got status valid.
+[eva] stdlib_h.c:131: 
+  function setenv: precondition 'valid_value' got status valid.
+[eva:garbled-mix:assigns] stdlib_h.c:131: 
+  The specification of function setenv has generated a garbled mix of addresses
+  for assigns clause __fc_env[0 ..].
+[eva] Done for function setenv
+[eva] stdlib_h.c:132: check got status valid.
+[eva] computing for function putenv <- main.
+  Called from stdlib_h.c:133.
+[eva] using specification for function putenv
+[eva:libc:unsupported-spec] stdlib_h.c:133: Warning: 
+  The specification of function 'putenv' is currently not supported by Eva.
+  Consider adding 'FRAMAC_SHARE/libc/stdlib.c' to the analyzed source files.
+[eva] stdlib_h.c:133: 
+  function putenv: precondition 'valid_string' got status valid.
+[eva] Done for function putenv
+[eva] computing for function div <- main.
+  Called from stdlib_h.c:137.
+[eva] using specification for function div
+[eva:alarm] stdlib_h.c:137: Warning: 
+  function div: precondition 'denom_nonzero' got status invalid.
+[eva] stdlib_h.c:137: 
+  function div: no state left, precondition 'no_overflow' got status valid.
+[eva] Done for function div
+[eva] computing for function div <- main.
+  Called from stdlib_h.c:141.
+[eva] stdlib_h.c:141: 
+  function div: precondition 'denom_nonzero' got status valid.
+[eva:alarm] stdlib_h.c:141: Warning: 
+  function div: precondition 'no_overflow' got status invalid.
+[eva] Done for function div
+[eva] computing for function div <- main.
+  Called from stdlib_h.c:144.
+[eva] stdlib_h.c:144: 
+  function div: precondition 'denom_nonzero' got status valid.
+[eva] stdlib_h.c:144: function div: precondition 'no_overflow' got status valid.
+[eva] Done for function div
+[eva] computing for function ldiv <- main.
+  Called from stdlib_h.c:146.
+[eva] using specification for function ldiv
+[eva] stdlib_h.c:146: 
+  function ldiv: precondition 'denom_nonzero' got status valid.
+[eva] stdlib_h.c:146: 
+  function ldiv: precondition 'no_overflow' got status valid.
+[eva] Done for function ldiv
+[eva] computing for function lldiv <- main.
+  Called from stdlib_h.c:147.
+[eva] using specification for function lldiv
+[eva] stdlib_h.c:147: 
+  function lldiv: precondition 'denom_nonzero' got status valid.
+[eva] stdlib_h.c:147: 
+  function lldiv: precondition 'no_overflow' got status valid.
+[eva] Done for function lldiv
 [eva] Recording results for main
 [eva] Done for function main
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function main:
   __fc_random48_init ∈ {1}
   __fc_random48_counter[0..2] ∈ [--..--]
+  __fc_env[0..4095] ∈
+          {{ garbled mix of &{putenv_buf; S_0___fc_env; S_1___fc_env}
+           (origin: Library function {stdlib_h.c:131}) }}
   base ∈ {0; 2; 36}
   sl ∈ {{ "12 34 -56" }}
   s ∈ {{ " 3.14 0x1.2p2" }}
@@ -361,4 +468,12 @@
        [4] ∈ {4}
        [5] ∈ {2}
        [6] ∈ {0}
+  path ∈ {{ NULL ; &S_0___fc_env{[0], [1]} ; &S_1___fc_env{[0], [1]} }}
+  setenv_res ∈ {-1; 0}
+  putenv_res ∈ [--..--]
+  div_res ∈ [--..--]
+  ldiv_res ∈ [--..--]
+  lldiv_res ∈ [--..--]
   __retres ∈ {0}
+  S_0___fc_env[0..1] ∈ [--..--]
+  S_1___fc_env[0..1] ∈ [--..--]
diff --git a/tests/libc/oracle/stdlib_h.1.res.oracle b/tests/libc/oracle/stdlib_h.1.res.oracle
index ae6a5de51506dd6f6c779a0f8b45098644817988..9f36d6f4d130ae722c6a13da7173db39e027e22e 100644
--- a/tests/libc/oracle/stdlib_h.1.res.oracle
+++ b/tests/libc/oracle/stdlib_h.1.res.oracle
@@ -3,325 +3,432 @@
 [eva] Computing initial state
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
+  putenv_buf[0] ∈ {80}
+            [1] ∈ {65}
+            [2] ∈ {84}
+            [3] ∈ {72}
+            [4] ∈ {51}
+            [5] ∈ {61}
+            [6] ∈ {47}
+            [7] ∈ {58}
+            [8] ∈ {47}
+            [9] ∈ {102}
+            [10..11] ∈ {111}
+            [12] ∈ {58}
+            [13] ∈ {47}
+            [14] ∈ {98}
+            [15] ∈ {97}
+            [16] ∈ {114}
+            [17] ∈ {58}
+            [18..29] ∈ {0}
   nondet ∈ [--..--]
 [eva] computing for function strtol <- main.
-  Called from stdlib_h.c:21.
+  Called from stdlib_h.c:23.
 [eva] using specification for function strtol
-[eva] stdlib_h.c:21: 
+[eva] stdlib_h.c:23: 
   function strtol: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:21: 
+[eva] stdlib_h.c:23: 
   function strtol: precondition 'separation' got status valid.
-[eva] stdlib_h.c:21: 
+[eva] stdlib_h.c:23: 
   function strtol: precondition 'base_range' got status valid.
-[eva] stdlib_h.c:21: 
+[eva] stdlib_h.c:23: 
   function strtol, behavior store_position: precondition 'valid_endptr' got status valid.
 [eva] Done for function strtol
 [eva] computing for function strtol <- main.
-  Called from stdlib_h.c:22.
-[eva] stdlib_h.c:22: 
+  Called from stdlib_h.c:24.
+[eva] stdlib_h.c:24: 
   function strtol: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:22: 
+[eva] stdlib_h.c:24: 
   function strtol: precondition 'separation' got status valid.
-[eva] stdlib_h.c:22: 
+[eva] stdlib_h.c:24: 
   function strtol: precondition 'base_range' got status valid.
-[eva] stdlib_h.c:22: 
+[eva] stdlib_h.c:24: 
   function strtol, behavior store_position: precondition 'valid_endptr' got status valid.
 [eva] Done for function strtol
 [eva] computing for function strtol <- main.
-  Called from stdlib_h.c:23.
-[eva] stdlib_h.c:23: 
+  Called from stdlib_h.c:25.
+[eva] stdlib_h.c:25: 
   function strtol: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:23: 
+[eva] stdlib_h.c:25: 
   function strtol: precondition 'separation' got status valid.
-[eva] stdlib_h.c:23: 
+[eva] stdlib_h.c:25: 
   function strtol: precondition 'base_range' got status valid.
 [eva] Done for function strtol
 [eva] computing for function strtol <- main.
-  Called from stdlib_h.c:24.
-[eva] stdlib_h.c:24: 
+  Called from stdlib_h.c:26.
+[eva] stdlib_h.c:26: 
   function strtol: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:24: 
+[eva] stdlib_h.c:26: 
   function strtol: precondition 'separation' got status valid.
-[eva] stdlib_h.c:24: 
+[eva] stdlib_h.c:26: 
   function strtol: precondition 'base_range' got status valid.
 [eva] Done for function strtol
 [eva] computing for function strtoll <- main.
-  Called from stdlib_h.c:28.
+  Called from stdlib_h.c:30.
 [eva] using specification for function strtoll
-[eva] stdlib_h.c:28: 
+[eva] stdlib_h.c:30: 
   function strtoll: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:28: 
+[eva] stdlib_h.c:30: 
   function strtoll: precondition 'separation' got status valid.
-[eva] stdlib_h.c:28: 
+[eva] stdlib_h.c:30: 
   function strtoll: precondition 'base_range' got status valid.
-[eva] stdlib_h.c:28: 
+[eva] stdlib_h.c:30: 
   function strtoll, behavior store_position: precondition 'valid_endptr' got status valid.
 [eva] Done for function strtoll
 [eva] computing for function strtoll <- main.
-  Called from stdlib_h.c:29.
-[eva] stdlib_h.c:29: 
+  Called from stdlib_h.c:31.
+[eva] stdlib_h.c:31: 
   function strtoll: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:29: 
+[eva] stdlib_h.c:31: 
   function strtoll: precondition 'separation' got status valid.
-[eva] stdlib_h.c:29: 
+[eva] stdlib_h.c:31: 
   function strtoll: precondition 'base_range' got status valid.
-[eva] stdlib_h.c:29: 
+[eva] stdlib_h.c:31: 
   function strtoll, behavior store_position: precondition 'valid_endptr' got status valid.
 [eva] Done for function strtoll
 [eva] computing for function strtoll <- main.
-  Called from stdlib_h.c:30.
-[eva] stdlib_h.c:30: 
+  Called from stdlib_h.c:32.
+[eva] stdlib_h.c:32: 
   function strtoll: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:30: 
+[eva] stdlib_h.c:32: 
   function strtoll: precondition 'separation' got status valid.
-[eva] stdlib_h.c:30: 
+[eva] stdlib_h.c:32: 
   function strtoll: precondition 'base_range' got status valid.
 [eva] Done for function strtoll
 [eva] computing for function strtoul <- main.
-  Called from stdlib_h.c:34.
+  Called from stdlib_h.c:36.
 [eva] using specification for function strtoul
-[eva] stdlib_h.c:34: 
+[eva] stdlib_h.c:36: 
   function strtoul: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:34: 
+[eva] stdlib_h.c:36: 
   function strtoul: precondition 'separation' got status valid.
-[eva] stdlib_h.c:34: 
+[eva] stdlib_h.c:36: 
   function strtoul: precondition 'base_range' got status valid.
-[eva] stdlib_h.c:34: 
+[eva] stdlib_h.c:36: 
   function strtoul, behavior store_position: precondition 'valid_endptr' got status valid.
 [eva] Done for function strtoul
 [eva] computing for function strtoul <- main.
-  Called from stdlib_h.c:35.
-[eva] stdlib_h.c:35: 
+  Called from stdlib_h.c:37.
+[eva] stdlib_h.c:37: 
   function strtoul: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:35: 
+[eva] stdlib_h.c:37: 
   function strtoul: precondition 'separation' got status valid.
-[eva] stdlib_h.c:35: 
+[eva] stdlib_h.c:37: 
   function strtoul: precondition 'base_range' got status valid.
-[eva] stdlib_h.c:35: 
+[eva] stdlib_h.c:37: 
   function strtoul, behavior store_position: precondition 'valid_endptr' got status valid.
 [eva] Done for function strtoul
 [eva] computing for function strtoul <- main.
-  Called from stdlib_h.c:36.
-[eva] stdlib_h.c:36: 
+  Called from stdlib_h.c:38.
+[eva] stdlib_h.c:38: 
   function strtoul: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:36: 
+[eva] stdlib_h.c:38: 
   function strtoul: precondition 'separation' got status valid.
-[eva] stdlib_h.c:36: 
+[eva] stdlib_h.c:38: 
   function strtoul: precondition 'base_range' got status valid.
 [eva] Done for function strtoul
 [eva] computing for function strtoull <- main.
-  Called from stdlib_h.c:40.
+  Called from stdlib_h.c:42.
 [eva] using specification for function strtoull
-[eva] stdlib_h.c:40: 
+[eva] stdlib_h.c:42: 
   function strtoull: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:40: 
+[eva] stdlib_h.c:42: 
   function strtoull: precondition 'separation' got status valid.
-[eva] stdlib_h.c:40: 
+[eva] stdlib_h.c:42: 
   function strtoull: precondition 'base_range' got status valid.
-[eva] stdlib_h.c:40: 
+[eva] stdlib_h.c:42: 
   function strtoull, behavior store_position: precondition 'valid_endptr' got status valid.
 [eva] Done for function strtoull
 [eva] computing for function strtoull <- main.
-  Called from stdlib_h.c:41.
-[eva] stdlib_h.c:41: 
+  Called from stdlib_h.c:43.
+[eva] stdlib_h.c:43: 
   function strtoull: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:41: 
+[eva] stdlib_h.c:43: 
   function strtoull: precondition 'separation' got status valid.
-[eva] stdlib_h.c:41: 
+[eva] stdlib_h.c:43: 
   function strtoull: precondition 'base_range' got status valid.
-[eva] stdlib_h.c:41: 
+[eva] stdlib_h.c:43: 
   function strtoull, behavior store_position: precondition 'valid_endptr' got status valid.
 [eva] Done for function strtoull
 [eva] computing for function strtoull <- main.
-  Called from stdlib_h.c:42.
-[eva] stdlib_h.c:42: 
+  Called from stdlib_h.c:44.
+[eva] stdlib_h.c:44: 
   function strtoull: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:42: 
+[eva] stdlib_h.c:44: 
   function strtoull: precondition 'separation' got status valid.
-[eva] stdlib_h.c:42: 
+[eva] stdlib_h.c:44: 
   function strtoull: precondition 'base_range' got status valid.
 [eva] Done for function strtoull
 [eva] computing for function strtod <- main.
-  Called from stdlib_h.c:47.
+  Called from stdlib_h.c:49.
 [eva] using specification for function strtod
-[eva] stdlib_h.c:47: 
+[eva] stdlib_h.c:49: 
   function strtod: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:47: 
+[eva] stdlib_h.c:49: 
   function strtod: precondition 'separation' got status valid.
-[eva] stdlib_h.c:47: 
+[eva] stdlib_h.c:49: 
   function strtod, behavior store_position: precondition 'valid_endptr' got status valid.
 [eva] Done for function strtod
 [eva] computing for function strtod <- main.
-  Called from stdlib_h.c:48.
-[eva] stdlib_h.c:48: 
+  Called from stdlib_h.c:50.
+[eva] stdlib_h.c:50: 
   function strtod: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:48: 
+[eva] stdlib_h.c:50: 
   function strtod: precondition 'separation' got status valid.
-[eva] stdlib_h.c:48: 
+[eva] stdlib_h.c:50: 
   function strtod, behavior store_position: precondition 'valid_endptr' got status valid.
 [eva] Done for function strtod
 [eva] computing for function strtod <- main.
-  Called from stdlib_h.c:49.
-[eva] stdlib_h.c:49: 
+  Called from stdlib_h.c:51.
+[eva] stdlib_h.c:51: 
   function strtod: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:49: 
+[eva] stdlib_h.c:51: 
   function strtod: precondition 'separation' got status valid.
 [eva] Done for function strtod
 [eva] computing for function strtold <- main.
-  Called from stdlib_h.c:53.
+  Called from stdlib_h.c:55.
 [eva] using specification for function strtold
-[eva] stdlib_h.c:53: 
+[eva] stdlib_h.c:55: 
   function strtold: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:53: 
+[eva] stdlib_h.c:55: 
   function strtold: precondition 'separation' got status valid.
-[eva] stdlib_h.c:53: 
+[eva] stdlib_h.c:55: 
   function strtold, behavior store_position: precondition 'valid_endptr' got status valid.
 [eva] Done for function strtold
 [eva] computing for function strtold <- main.
-  Called from stdlib_h.c:54.
-[eva] stdlib_h.c:54: 
+  Called from stdlib_h.c:56.
+[eva] stdlib_h.c:56: 
   function strtold: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:54: 
+[eva] stdlib_h.c:56: 
   function strtold: precondition 'separation' got status valid.
-[eva] stdlib_h.c:54: 
+[eva] stdlib_h.c:56: 
   function strtold, behavior store_position: precondition 'valid_endptr' got status valid.
 [eva] Done for function strtold
 [eva] computing for function strtold <- main.
-  Called from stdlib_h.c:55.
-[eva] stdlib_h.c:55: 
+  Called from stdlib_h.c:57.
+[eva] stdlib_h.c:57: 
   function strtold: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:55: 
+[eva] stdlib_h.c:57: 
   function strtold: precondition 'separation' got status valid.
 [eva] Done for function strtold
 [eva] computing for function strtof <- main.
-  Called from stdlib_h.c:59.
+  Called from stdlib_h.c:61.
 [eva] using specification for function strtof
-[eva] stdlib_h.c:59: 
+[eva] stdlib_h.c:61: 
   function strtof: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:59: 
+[eva] stdlib_h.c:61: 
   function strtof: precondition 'separation' got status valid.
-[eva] stdlib_h.c:59: 
+[eva] stdlib_h.c:61: 
   function strtof, behavior store_position: precondition 'valid_endptr' got status valid.
 [eva] Done for function strtof
 [eva] computing for function strtof <- main.
-  Called from stdlib_h.c:60.
-[eva] stdlib_h.c:60: 
+  Called from stdlib_h.c:62.
+[eva] stdlib_h.c:62: 
   function strtof: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:60: 
+[eva] stdlib_h.c:62: 
   function strtof: precondition 'separation' got status valid.
-[eva] stdlib_h.c:60: 
+[eva] stdlib_h.c:62: 
   function strtof, behavior store_position: precondition 'valid_endptr' got status valid.
 [eva] Done for function strtof
 [eva] computing for function strtof <- main.
-  Called from stdlib_h.c:61.
-[eva] stdlib_h.c:61: 
+  Called from stdlib_h.c:63.
+[eva] stdlib_h.c:63: 
   function strtof: precondition 'valid_string_nptr' got status valid.
-[eva] stdlib_h.c:61: 
+[eva] stdlib_h.c:63: 
   function strtof: precondition 'separation' got status valid.
 [eva] Done for function strtof
 [eva] computing for function bsearch <- main.
-  Called from stdlib_h.c:65.
+  Called from stdlib_h.c:67.
 [eva] using specification for function bsearch
-[eva] stdlib_h.c:65: 
+[eva] stdlib_h.c:67: 
   function bsearch: precondition 'valid_function_compar' got status valid.
 [eva] Done for function bsearch
-[eva:alarm] stdlib_h.c:66: Warning: assertion got status unknown.
+[eva:alarm] stdlib_h.c:68: Warning: assertion got status unknown.
 [eva] computing for function bsearch <- main.
-  Called from stdlib_h.c:68.
-[eva] stdlib_h.c:68: 
+  Called from stdlib_h.c:70.
+[eva] stdlib_h.c:70: 
   function bsearch: precondition 'valid_function_compar' got status valid.
 [eva] Done for function bsearch
-[eva:alarm] stdlib_h.c:69: Warning: assertion got status unknown.
+[eva:alarm] stdlib_h.c:71: Warning: assertion got status unknown.
 [eva] computing for function mkstemp <- main.
-  Called from stdlib_h.c:83.
+  Called from stdlib_h.c:85.
 [eva] using specification for function mkstemp
-[eva] stdlib_h.c:83: 
+[eva] stdlib_h.c:85: 
   function mkstemp: precondition 'valid_template' got status valid.
-[eva] stdlib_h.c:83: 
+[eva] stdlib_h.c:85: 
   function mkstemp: precondition 'template_len' got status valid.
 [eva] Done for function mkstemp
 [eva] computing for function drand48 <- main.
-  Called from stdlib_h.c:87.
+  Called from stdlib_h.c:89.
 [eva] using specification for function drand48
-[eva:alarm] stdlib_h.c:87: Warning: 
+[eva:alarm] stdlib_h.c:89: Warning: 
   function drand48: precondition 'random48_initialized' got status invalid.
 [eva] Done for function drand48
 [eva] computing for function lrand48 <- main.
-  Called from stdlib_h.c:91.
+  Called from stdlib_h.c:93.
 [eva] using specification for function lrand48
-[eva:alarm] stdlib_h.c:91: Warning: 
+[eva:alarm] stdlib_h.c:93: Warning: 
   function lrand48: precondition 'random48_initialized' got status invalid.
 [eva] Done for function lrand48
 [eva] computing for function mrand48 <- main.
-  Called from stdlib_h.c:95.
+  Called from stdlib_h.c:97.
 [eva] using specification for function mrand48
-[eva:alarm] stdlib_h.c:95: Warning: 
+[eva:alarm] stdlib_h.c:97: Warning: 
   function mrand48: precondition 'random48_initialized' got status invalid.
 [eva] Done for function mrand48
 [eva] computing for function erand48 <- main.
-  Called from stdlib_h.c:100.
+  Called from stdlib_h.c:102.
 [eva] using specification for function erand48
-[eva:alarm] stdlib_h.c:100: Warning: 
+[eva] stdlib_h.c:102: 
+  function erand48: precondition 'valid_xsubi' got status valid.
+[eva:alarm] stdlib_h.c:102: Warning: 
   function erand48: precondition 'initialization,initialized_xsubi' got status invalid.
 [eva] Done for function erand48
 [eva] computing for function erand48 <- main.
-  Called from stdlib_h.c:105.
-[eva] stdlib_h.c:105: 
+  Called from stdlib_h.c:107.
+[eva] stdlib_h.c:107: 
+  function erand48: precondition 'valid_xsubi' got status valid.
+[eva] stdlib_h.c:107: 
   function erand48: precondition 'initialization,initialized_xsubi' got status valid.
 [eva] Done for function erand48
-[eva] stdlib_h.c:106: assertion got status valid.
+[eva] stdlib_h.c:108: assertion got status valid.
 [eva] computing for function jrand48 <- main.
-  Called from stdlib_h.c:107.
+  Called from stdlib_h.c:109.
 [eva] using specification for function jrand48
-[eva] stdlib_h.c:107: 
+[eva] stdlib_h.c:109: 
+  function jrand48: precondition 'valid_xsubi' got status valid.
+[eva] stdlib_h.c:109: 
   function jrand48: precondition 'initialization,initialized_xsubi' got status valid.
 [eva] Done for function jrand48
-[eva] stdlib_h.c:108: assertion got status valid.
+[eva] stdlib_h.c:110: assertion got status valid.
 [eva] computing for function nrand48 <- main.
-  Called from stdlib_h.c:109.
+  Called from stdlib_h.c:111.
 [eva] using specification for function nrand48
-[eva] stdlib_h.c:109: 
+[eva] stdlib_h.c:111: 
+  function nrand48: precondition 'valid_xsubi' got status valid.
+[eva] stdlib_h.c:111: 
   function nrand48: precondition 'initialization,initialized_xsubi' got status valid.
 [eva] Done for function nrand48
-[eva] stdlib_h.c:110: assertion got status valid.
+[eva] stdlib_h.c:112: assertion got status valid.
 [eva] computing for function srand48 <- main.
-  Called from stdlib_h.c:112.
+  Called from stdlib_h.c:114.
 [eva] using specification for function srand48
 [eva] Done for function srand48
 [eva] computing for function seed48 <- main.
-  Called from stdlib_h.c:114.
+  Called from stdlib_h.c:116.
 [eva] using specification for function seed48
-[eva] stdlib_h.c:114: 
+[eva] stdlib_h.c:116: 
+  function seed48: precondition 'valid_seed16v' got status valid.
+[eva] stdlib_h.c:116: 
   function seed48: precondition 'initialization,initialized_seed16v' got status valid.
 [eva] Done for function seed48
 [eva] computing for function lcong48 <- main.
-  Called from stdlib_h.c:116.
+  Called from stdlib_h.c:118.
 [eva] using specification for function lcong48
+[eva] stdlib_h.c:118: 
+  function lcong48: precondition 'valid_param' got status valid.
+[eva] stdlib_h.c:118: 
+  function lcong48: precondition 'initialization,initialized_param' got status valid.
 [eva] Done for function lcong48
 [eva] computing for function drand48 <- main.
-  Called from stdlib_h.c:118.
-[eva] stdlib_h.c:118: 
+  Called from stdlib_h.c:120.
+[eva] stdlib_h.c:120: 
   function drand48: precondition 'random48_initialized' got status valid.
 [eva] Done for function drand48
-[eva] stdlib_h.c:119: assertion got status valid.
+[eva] stdlib_h.c:121: assertion got status valid.
 [eva] computing for function mrand48 <- main.
-  Called from stdlib_h.c:120.
-[eva] stdlib_h.c:120: 
+  Called from stdlib_h.c:122.
+[eva] stdlib_h.c:122: 
   function mrand48: precondition 'random48_initialized' got status valid.
 [eva] Done for function mrand48
-[eva] stdlib_h.c:121: assertion got status valid.
+[eva] stdlib_h.c:123: assertion got status valid.
 [eva] computing for function lrand48 <- main.
-  Called from stdlib_h.c:122.
-[eva] stdlib_h.c:122: 
+  Called from stdlib_h.c:124.
+[eva] stdlib_h.c:124: 
   function lrand48: precondition 'random48_initialized' got status valid.
 [eva] Done for function lrand48
-[eva] stdlib_h.c:123: assertion got status valid.
+[eva] stdlib_h.c:125: assertion got status valid.
+[eva] computing for function getenv <- main.
+  Called from stdlib_h.c:127.
+[eva] using specification for function getenv
+[eva:libc:unsupported-spec] stdlib_h.c:127: Warning: 
+  The specification of function 'getenv' is currently not supported by Eva.
+  Consider adding 'FRAMAC_SHARE/libc/stdlib.c' to the analyzed source files.
+[eva] stdlib_h.c:127: 
+  function getenv: precondition 'valid_name' got status valid.
+[eva] Done for function getenv
+[eva:alarm] stdlib_h.c:129: Warning: check 'imprecise' got status unknown.
+[eva] computing for function setenv <- main.
+  Called from stdlib_h.c:131.
+[eva] using specification for function setenv
+[eva:libc:unsupported-spec] stdlib_h.c:131: Warning: 
+  The specification of function 'setenv' is currently not supported by Eva.
+  Consider adding 'FRAMAC_SHARE/libc/stdlib.c' to the analyzed source files.
+[eva] stdlib_h.c:131: Warning: ignoring unsupported allocates clause
+[eva] stdlib_h.c:131: 
+  function setenv: precondition 'valid_name' got status valid.
+[eva] stdlib_h.c:131: 
+  function setenv: precondition 'valid_value' got status valid.
+[eva:garbled-mix:assigns] stdlib_h.c:131: 
+  The specification of function setenv has generated a garbled mix of addresses
+  for assigns clause __fc_env[0 ..].
+[eva] Done for function setenv
+[eva] stdlib_h.c:132: check got status valid.
+[eva] computing for function putenv <- main.
+  Called from stdlib_h.c:133.
+[eva] using specification for function putenv
+[eva:libc:unsupported-spec] stdlib_h.c:133: Warning: 
+  The specification of function 'putenv' is currently not supported by Eva.
+  Consider adding 'FRAMAC_SHARE/libc/stdlib.c' to the analyzed source files.
+[eva] stdlib_h.c:133: 
+  function putenv: precondition 'valid_string' got status valid.
+[eva] Done for function putenv
+[eva] computing for function div <- main.
+  Called from stdlib_h.c:137.
+[eva] using specification for function div
+[eva:alarm] stdlib_h.c:137: Warning: 
+  function div: precondition 'denom_nonzero' got status invalid.
+[eva] stdlib_h.c:137: 
+  function div: no state left, precondition 'no_overflow' got status valid.
+[eva] Done for function div
+[eva] computing for function div <- main.
+  Called from stdlib_h.c:141.
+[eva] stdlib_h.c:141: 
+  function div: precondition 'denom_nonzero' got status valid.
+[eva:alarm] stdlib_h.c:141: Warning: 
+  function div: precondition 'no_overflow' got status invalid.
+[eva] Done for function div
+[eva] computing for function div <- main.
+  Called from stdlib_h.c:144.
+[eva] stdlib_h.c:144: 
+  function div: precondition 'denom_nonzero' got status valid.
+[eva] stdlib_h.c:144: function div: precondition 'no_overflow' got status valid.
+[eva] Done for function div
+[eva] computing for function ldiv <- main.
+  Called from stdlib_h.c:146.
+[eva] using specification for function ldiv
+[eva] stdlib_h.c:146: 
+  function ldiv: precondition 'denom_nonzero' got status valid.
+[eva] stdlib_h.c:146: 
+  function ldiv: precondition 'no_overflow' got status valid.
+[eva] Done for function ldiv
+[eva] computing for function lldiv <- main.
+  Called from stdlib_h.c:147.
+[eva] using specification for function lldiv
+[eva] stdlib_h.c:147: 
+  function lldiv: precondition 'denom_nonzero' got status valid.
+[eva] stdlib_h.c:147: 
+  function lldiv: precondition 'no_overflow' got status valid.
+[eva] Done for function lldiv
 [eva] Recording results for main
 [eva] Done for function main
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function main:
   __fc_random48_init ∈ {1}
   __fc_random48_counter[0..2] ∈ [--..--]
+  __fc_env[0..4095] ∈
+          {{ garbled mix of &{putenv_buf; S_0___fc_env; S_1___fc_env}
+           (origin: Library function {stdlib_h.c:131}) }}
   base ∈ {0; 2; 36}
   sl ∈ {{ "12 34 -56" }}
   s ∈ {{ " 3.14 0x1.2p2" }}
@@ -361,4 +468,12 @@
        [4] ∈ {4}
        [5] ∈ {2}
        [6] ∈ {0}
+  path ∈ {{ NULL ; &S_0___fc_env{[0], [1]} ; &S_1___fc_env{[0], [1]} }}
+  setenv_res ∈ {-1; 0}
+  putenv_res ∈ [--..--]
+  div_res ∈ [--..--]
+  ldiv_res ∈ [--..--]
+  lldiv_res ∈ [--..--]
   __retres ∈ {0}
+  S_0___fc_env[0..1] ∈ [--..--]
+  S_1___fc_env[0..1] ∈ [--..--]
diff --git a/tests/libc/oracle/string_c.res.oracle b/tests/libc/oracle/string_c.res.oracle
index 510703cce422f71fa9c2927caafe8b238d9f8468..f183d490be95ce954c7239aed8a2333b47b80eed 100644
--- a/tests/libc/oracle/string_c.res.oracle
+++ b/tests/libc/oracle/string_c.res.oracle
@@ -13,11 +13,11 @@
 [eva] string_c.c:10: function memcpy: precondition 'valid_src' got status valid.
 [eva] string_c.c:10: 
   function memcpy: precondition 'separation' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:101: 
+[eva] FRAMAC_SHARE/libc/string.h:118: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp
-[eva:alarm] FRAMAC_SHARE/libc/string.h:101: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:118: Warning: 
   function memcpy: postcondition 'copied_contents' got status unknown.
-[eva] FRAMAC_SHARE/libc/string.h:102: 
+[eva] FRAMAC_SHARE/libc/string.h:119: 
   function memcpy: postcondition 'result_ptr' got status valid.
 [eva] Recording results for memcpy
 [eva] Done for function memcpy
@@ -92,11 +92,11 @@
   function memoverlap, behavior not_separated_gt: postcondition 'result_p_after_q' got status valid.
 [eva] Recording results for memoverlap
 [eva] Done for function memoverlap
-[eva] FRAMAC_SHARE/libc/string.h:124: 
+[eva] FRAMAC_SHARE/libc/string.h:141: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp
-[eva:alarm] FRAMAC_SHARE/libc/string.h:124: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:141: Warning: 
   function memmove: postcondition 'copied_contents' got status unknown.
-[eva] FRAMAC_SHARE/libc/string.h:125: 
+[eva] FRAMAC_SHARE/libc/string.h:142: 
   function memmove: postcondition 'result_ptr' got status valid.
 [eva] Recording results for memmove
 [eva] Done for function memmove
@@ -153,7 +153,7 @@
   Called from string_c.c:64.
 [eva] string_c.c:64: 
   function strlen: precondition 'valid_string_s' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:143: 
+[eva] FRAMAC_SHARE/libc/string.h:160: 
   function strlen: postcondition 'acsl_c_equiv' got status valid.
 [eva] Recording results for strlen
 [eva] Done for function strlen
@@ -180,7 +180,7 @@
   Called from string_c.c:75.
 [eva] string_c.c:75: 
   function strnlen: precondition 'valid_string_s' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:149: 
+[eva] FRAMAC_SHARE/libc/string.h:166: 
   function strnlen: postcondition 'result_bounded' got status valid.
 [eva] Recording results for strnlen
 [eva] Done for function strnlen
@@ -227,11 +227,11 @@
 [eva] computing for function memset <- test_memset <- main.
   Called from string_c.c:92.
 [eva] string_c.c:92: function memset: precondition 'valid_s' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:134: 
+[eva] FRAMAC_SHARE/libc/string.h:151: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memset
-[eva:alarm] FRAMAC_SHARE/libc/string.h:134: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:151: Warning: 
   function memset: postcondition 'acsl_c_equiv' got status unknown.
-[eva] FRAMAC_SHARE/libc/string.h:135: 
+[eva] FRAMAC_SHARE/libc/string.h:152: 
   function memset: postcondition 'result_ptr' got status valid.
 [eva] Recording results for memset
 [eva] Done for function memset
@@ -254,9 +254,9 @@
   function strcmp: precondition 'valid_string_s1' got status valid.
 [eva] string_c.c:104: 
   function strcmp: precondition 'valid_string_s2' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:156: 
+[eva] FRAMAC_SHARE/libc/string.h:174: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function strcmp
-[eva:alarm] FRAMAC_SHARE/libc/string.h:156: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:174: Warning: 
   function strcmp: postcondition 'acsl_c_equiv' got status unknown.
 [eva] Recording results for strcmp
 [eva] Done for function strcmp
@@ -325,9 +325,9 @@
   function strncmp: precondition 'valid_string_s1' got status valid.
 [eva] string_c.c:167: 
   function strncmp: precondition 'valid_string_s2' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:163: 
+[eva] FRAMAC_SHARE/libc/string.h:181: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function strncmp
-[eva:alarm] FRAMAC_SHARE/libc/string.h:163: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:181: Warning: 
   function strncmp: postcondition 'acsl_c_equiv' got status unknown.
 [eva] Recording results for strncmp
 [eva] Done for function strncmp
@@ -475,19 +475,21 @@
   function strcat: precondition 'valid_string_dest' got status valid.
 [eva] string_c.c:124: 
   function strcat: precondition 'room_string' got status valid.
+[eva] string_c.c:124: 
+  function strcat: precondition 'separation' got status valid.
 [eva] computing for function strlen <- strcat <- test_strcat <- main.
-  Called from FRAMAC_SHARE/libc/string.c:198.
-[eva] FRAMAC_SHARE/libc/string.c:198: 
+  Called from FRAMAC_SHARE/libc/string.c:201.
+[eva] FRAMAC_SHARE/libc/string.c:201: 
   function strlen: precondition 'valid_string_s' got status valid.
 [eva] Recording results for strlen
 [eva] Done for function strlen
-[eva] FRAMAC_SHARE/libc/string.h:429: 
+[eva] FRAMAC_SHARE/libc/string.h:483: 
   function strcat: postcondition 'sum_of_lengths' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:432: 
+[eva] FRAMAC_SHARE/libc/string.h:486: 
   function strcat: postcondition 'initialization,dest' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:433: 
+[eva] FRAMAC_SHARE/libc/string.h:487: 
   function strcat: postcondition 'dest_null_terminated' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:434: 
+[eva] FRAMAC_SHARE/libc/string.h:488: 
   function strcat: postcondition 'result_ptr' got status valid.
 [eva] Recording results for strcat
 [eva] Done for function strcat
@@ -501,497 +503,23 @@
   function strcat: precondition 'valid_string_dest' got status valid.
 [eva] string_c.c:132: 
   function strcat: precondition 'room_string' got status valid.
-[eva] computing for function strlen <- strcat <- test_strcat <- main.
-  Called from FRAMAC_SHARE/libc/string.c:198.
-[eva] Recording results for strlen
-[eva] Done for function strlen
+[eva:alarm] string_c.c:132: Warning: 
+  function strcat: precondition 'separation' got status invalid.
+[eva] FRAMAC_SHARE/libc/string.h:483: 
+  function strcat: no state left, postcondition 'sum_of_lengths' got status valid.
+[eva] FRAMAC_SHARE/libc/string.h:486: 
+  function strcat: no state left, postcondition 'initialization,dest' got status valid.
+[eva] FRAMAC_SHARE/libc/string.h:487: 
+  function strcat: no state left, postcondition 'dest_null_terminated' got status valid.
+[eva] FRAMAC_SHARE/libc/string.h:488: 
+  function strcat: no state left, postcondition 'result_ptr' got status valid.
 [eva] Recording results for strcat
 [eva] Done for function strcat
-[eva] string_c.c:133: assertion got status valid.
-[eva] computing for function strcat <- test_strcat <- main.
-  Called from string_c.c:134.
-[eva] string_c.c:134: 
-  function strcat: precondition 'valid_string_src' got status valid.
-[eva] string_c.c:134: 
-  function strcat: precondition 'valid_string_dest' got status valid.
-[eva] string_c.c:134: 
-  function strcat: precondition 'room_string' got status valid.
-[eva] computing for function strlen <- strcat <- test_strcat <- main.
-  Called from FRAMAC_SHARE/libc/string.c:198.
-[eva] Recording results for strlen
-[eva] Done for function strlen
-[eva] Recording results for strcat
-[eva] Done for function strcat
-[eva] computing for function strcat <- test_strcat <- main.
-  Called from string_c.c:135.
-[eva] string_c.c:135: 
-  function strcat: precondition 'valid_string_src' got status valid.
-[eva] string_c.c:135: 
-  function strcat: precondition 'valid_string_dest' got status valid.
-[eva] string_c.c:135: 
-  function strcat: precondition 'room_string' got status valid.
-[eva] FRAMAC_SHARE/libc/string.c:198: Reusing old results for call to strlen
-[eva] Recording results for strcat
-[eva] Done for function strcat
-[eva] string_c.c:136: assertion got status valid.
 [eva] Recording results for test_strcat
 [eva] Done for function test_strcat
-[eva] computing for function test_strcpy <- main.
-  Called from string_c.c:304.
-[eva] computing for function strcpy <- test_strcpy <- main.
-  Called from string_c.c:142.
-[eva] string_c.c:142: 
-  function strcpy: precondition 'valid_string_src' got status valid.
-[eva] string_c.c:142: 
-  function strcpy: precondition 'room_string' got status valid.
-[eva] string_c.c:142: 
-  function strcpy: precondition 'separation' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:373: 
-  cannot evaluate ACSL term, unsupported ACSL construct: logic function strcmp
-[eva:alarm] FRAMAC_SHARE/libc/string.h:373: Warning: 
-  function strcpy: postcondition 'equal_contents' got status unknown.
-[eva] FRAMAC_SHARE/libc/string.h:374: 
-  function strcpy: postcondition 'result_ptr' got status valid.
-[eva] Recording results for strcpy
-[eva] Done for function strcpy
-[eva] string_c.c:143: assertion got status valid.
-[eva] string_c.c:144: assertion got status valid.
-[eva] computing for function strcpy <- test_strcpy <- main.
-  Called from string_c.c:145.
-[eva] string_c.c:145: 
-  function strcpy: precondition 'valid_string_src' got status valid.
-[eva] string_c.c:145: 
-  function strcpy: precondition 'room_string' got status valid.
-[eva] string_c.c:145: 
-  function strcpy: precondition 'separation' got status valid.
-[eva] Recording results for strcpy
-[eva] Done for function strcpy
-[eva] string_c.c:146: assertion got status valid.
-[eva] computing for function strcpy <- test_strcpy <- main.
-  Called from string_c.c:147.
-[eva] string_c.c:147: 
-  function strcpy: precondition 'valid_string_src' got status valid.
-[eva] string_c.c:147: 
-  function strcpy: precondition 'room_string' got status valid.
-[eva] string_c.c:147: 
-  function strcpy: precondition 'separation' got status valid.
-[eva] Recording results for strcpy
-[eva] Done for function strcpy
-[eva] string_c.c:148: assertion got status valid.
-[eva] Recording results for test_strcpy
-[eva] Done for function test_strcpy
-[eva] computing for function test_strncpy <- main.
-  Called from string_c.c:305.
-[eva] computing for function strncpy <- test_strncpy <- main.
-  Called from string_c.c:154.
-[eva] string_c.c:154: 
-  function strncpy: precondition 'valid_nstring_src' got status valid.
-[eva] string_c.c:154: 
-  function strncpy: precondition 'room_nstring' got status valid.
-[eva] string_c.c:154: 
-  function strncpy: precondition 'separation' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:385: 
-  function strncpy: postcondition 'result_ptr' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:386: 
-  function strncpy: postcondition 'initialization' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:389: 
-  cannot evaluate ACSL term, unsupported ACSL construct: logic function strcmp
-[eva:alarm] FRAMAC_SHARE/libc/string.h:389: Warning: 
-  function strncpy, behavior complete: postcondition 'equal_after_copy' got status unknown.
-[eva] Recording results for strncpy
-[eva] Done for function strncpy
-[eva] string_c.c:155: assertion got status valid.
-[eva] string_c.c:156: assertion got status valid.
-[eva] computing for function strncpy <- test_strncpy <- main.
-  Called from string_c.c:157.
-[eva] string_c.c:157: 
-  function strncpy: precondition 'valid_nstring_src' got status valid.
-[eva] string_c.c:157: 
-  function strncpy: precondition 'room_nstring' got status valid.
-[eva] string_c.c:157: 
-  function strncpy: precondition 'separation' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:392: 
-  cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp
-[eva:alarm] FRAMAC_SHARE/libc/string.h:392: Warning: 
-  function strncpy, behavior partial: postcondition 'equal_prefix' got status unknown.
-[eva] Recording results for strncpy
-[eva] Done for function strncpy
-[eva] string_c.c:158: assertion got status valid.
-[eva] computing for function strncpy <- test_strncpy <- main.
-  Called from string_c.c:159.
-[eva] string_c.c:159: 
-  function strncpy: precondition 'valid_nstring_src' got status valid.
-[eva] string_c.c:159: 
-  function strncpy: precondition 'room_nstring' got status valid.
-[eva] string_c.c:159: 
-  function strncpy: precondition 'separation' got status valid.
-[eva] Recording results for strncpy
-[eva] Done for function strncpy
-[eva] string_c.c:160: assertion got status valid.
-[eva] computing for function strncpy <- test_strncpy <- main.
-  Called from string_c.c:161.
-[eva] string_c.c:161: 
-  function strncpy: precondition 'valid_nstring_src' got status valid.
-[eva] string_c.c:161: 
-  function strncpy: precondition 'room_nstring' got status valid.
-[eva] string_c.c:161: 
-  function strncpy: precondition 'separation' got status valid.
-[eva] Recording results for strncpy
-[eva] Done for function strncpy
-[eva] string_c.c:162: assertion got status valid.
-[eva] Recording results for test_strncpy
-[eva] Done for function test_strncpy
-[eva] computing for function test_strchr <- main.
-  Called from string_c.c:306.
-[eva] computing for function strchr <- test_strchr <- main.
-  Called from string_c.c:201.
-[eva] string_c.c:201: 
-  function strchr: precondition 'valid_string_s' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:177: 
-  function strchr, behavior found: postcondition 'result_char' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:178: 
-  function strchr, behavior found: postcondition 'result_same_base' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:179: 
-  function strchr, behavior found: postcondition 'result_in_length' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:180: 
-  function strchr, behavior found: postcondition 'result_valid_string' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:181: 
-  cannot evaluate ACSL term, unsupported logic var p
-[eva:alarm] FRAMAC_SHARE/libc/string.h:181: Warning: 
-  function strchr, behavior found: postcondition 'result_first_occur' got status unknown.
-[eva] FRAMAC_SHARE/libc/string.h:187: 
-  function strchr, behavior default: postcondition 'result_null_or_same_base' got status valid.
-[eva] Recording results for strchr
-[eva] Done for function strchr
-[eva] string_c.c:202: assertion got status valid.
-[eva] computing for function strchr <- test_strchr <- main.
-  Called from string_c.c:203.
-[eva] string_c.c:203: 
-  function strchr: precondition 'valid_string_s' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:184: 
-  function strchr, behavior not_found: postcondition 'result_null' got status valid.
-[eva] Recording results for strchr
-[eva] Done for function strchr
-[eva] string_c.c:204: assertion got status valid.
-[eva] computing for function strchr <- test_strchr <- main.
-  Called from string_c.c:205.
-[eva] string_c.c:205: 
-  function strchr: precondition 'valid_string_s' got status valid.
-[eva] Recording results for strchr
-[eva] Done for function strchr
-[eva] string_c.c:206: assertion got status valid.
-[eva] computing for function strchr <- test_strchr <- main.
-  Called from string_c.c:207.
-[eva] string_c.c:207: 
-  function strchr: precondition 'valid_string_s' got status valid.
-[eva] Recording results for strchr
-[eva] Done for function strchr
-[eva] string_c.c:208: assertion got status valid.
-[eva] Recording results for test_strchr
-[eva] Done for function test_strchr
-[eva] computing for function test_strrchr <- main.
-  Called from string_c.c:307.
-[eva] computing for function strrchr <- test_strrchr <- main.
-  Called from string_c.c:214.
-[eva] string_c.c:214: 
-  function strrchr: precondition 'valid_string_s' got status valid.
-[eva] computing for function strlen <- strrchr <- test_strrchr <- main.
-  Called from FRAMAC_SHARE/libc/string.c:263.
-[eva] FRAMAC_SHARE/libc/string.c:263: 
-  function strlen: precondition 'valid_string_s' got status valid.
-[eva] Recording results for strlen
-[eva] Done for function strlen
-[eva] FRAMAC_SHARE/libc/string.h:201: 
-  function strrchr, behavior found: postcondition 'result_char' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:202: 
-  function strrchr, behavior found: postcondition 'result_same_base' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:203: 
-  function strrchr, behavior found: postcondition 'result_valid_string' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:209: 
-  function strrchr, behavior default: postcondition 'result_null_or_same_base' got status valid.
-[eva] Recording results for strrchr
-[eva] Done for function strrchr
-[eva] string_c.c:215: assertion got status valid.
-[eva] computing for function strrchr <- test_strrchr <- main.
-  Called from string_c.c:216.
-[eva] string_c.c:216: 
-  function strrchr: precondition 'valid_string_s' got status valid.
-[eva] FRAMAC_SHARE/libc/string.c:263: Reusing old results for call to strlen
-[eva] FRAMAC_SHARE/libc/string.h:206: 
-  function strrchr, behavior not_found: postcondition 'result_null' got status valid.
-[eva] Recording results for strrchr
-[eva] Done for function strrchr
-[eva] string_c.c:217: assertion got status valid.
-[eva] computing for function strrchr <- test_strrchr <- main.
-  Called from string_c.c:218.
-[eva] string_c.c:218: 
-  function strrchr: precondition 'valid_string_s' got status valid.
-[eva] FRAMAC_SHARE/libc/string.c:263: Reusing old results for call to strlen
-[eva] Recording results for strrchr
-[eva] Done for function strrchr
-[eva] string_c.c:219: assertion got status valid.
-[eva] computing for function strrchr <- test_strrchr <- main.
-  Called from string_c.c:220.
-[eva] string_c.c:220: 
-  function strrchr: precondition 'valid_string_s' got status valid.
-[eva] FRAMAC_SHARE/libc/string.c:263: Reusing old results for call to strlen
-[eva] Recording results for strrchr
-[eva] Done for function strrchr
-[eva] string_c.c:221: assertion got status valid.
-[eva] Recording results for test_strrchr
-[eva] Done for function test_strrchr
-[eva] computing for function test_memchr <- main.
-  Called from string_c.c:308.
-[eva] computing for function memchr <- test_memchr <- main.
-  Called from string_c.c:227.
-[eva] string_c.c:227: function memchr: precondition 'valid' got status valid.
-[eva] string_c.c:227: 
-  function memchr: precondition 'initialization' got status valid.
-[eva] string_c.c:227: 
-  function memchr: precondition 'danglingness' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:78: 
-  cannot evaluate ACSL term, unsupported ACSL construct: logic function memchr
-[eva] FRAMAC_SHARE/libc/string.h:85: 
-  cannot evaluate ACSL term, unsupported ACSL construct: logic function memchr
-[eva] FRAMAC_SHARE/libc/string.h:79: 
-  function memchr, behavior found: postcondition 'result_same_base' got status valid. (Behavior may be inactive, no reduction performed.)
-[eva] FRAMAC_SHARE/libc/string.h:80: 
-  function memchr, behavior found: postcondition 'result_char' got status valid. (Behavior may be inactive, no reduction performed.)
-[eva] FRAMAC_SHARE/libc/string.h:81: 
-  function memchr, behavior found: postcondition 'result_in_str' got status valid. (Behavior may be inactive, no reduction performed.)
-[eva:alarm] FRAMAC_SHARE/libc/string.h:86: Warning: 
-  function memchr, behavior not_found: postcondition 'result_null' got status invalid. (Behavior may be inactive, no reduction performed.)
-[eva] Recording results for memchr
-[eva] Done for function memchr
-[eva] string_c.c:228: assertion got status valid.
-[eva] computing for function memchr <- test_memchr <- main.
-  Called from string_c.c:229.
-[eva] string_c.c:229: function memchr: precondition 'valid' got status valid.
-[eva] string_c.c:229: 
-  function memchr: precondition 'initialization' got status valid.
-[eva] string_c.c:229: 
-  function memchr: precondition 'danglingness' got status valid.
-[eva:alarm] FRAMAC_SHARE/libc/string.h:79: Warning: 
-  function memchr, behavior found: postcondition 'result_same_base' got status invalid. (Behavior may be inactive, no reduction performed.)
-[eva:alarm] FRAMAC_SHARE/libc/string.h:80: Warning: 
-  function memchr, behavior found: postcondition 'result_char' got status unknown. (Behavior may be inactive, no reduction performed.)
-[eva] FRAMAC_SHARE/libc/string.h:86: 
-  function memchr, behavior not_found: postcondition 'result_null' got status valid. (Behavior may be inactive, no reduction performed.)
-[eva] Recording results for memchr
-[eva] Done for function memchr
-[eva] string_c.c:230: assertion got status valid.
-[eva] computing for function memchr <- test_memchr <- main.
-  Called from string_c.c:231.
-[eva] string_c.c:231: function memchr: precondition 'valid' got status valid.
-[eva] string_c.c:231: 
-  function memchr: precondition 'initialization' got status valid.
-[eva] string_c.c:231: 
-  function memchr: precondition 'danglingness' got status valid.
-[eva:alarm] FRAMAC_SHARE/libc/string.h:81: Warning: 
-  function memchr, behavior found: postcondition 'result_in_str' got status unknown. (Behavior may be inactive, no reduction performed.)
-[eva] Recording results for memchr
-[eva] Done for function memchr
-[eva] string_c.c:232: assertion got status valid.
-[eva] computing for function memchr <- test_memchr <- main.
-  Called from string_c.c:233.
-[eva] string_c.c:233: function memchr: precondition 'valid' got status valid.
-[eva] string_c.c:233: 
-  function memchr: precondition 'initialization' got status valid.
-[eva] string_c.c:233: 
-  function memchr: precondition 'danglingness' got status valid.
-[eva] Recording results for memchr
-[eva] Done for function memchr
-[eva] string_c.c:234: assertion got status valid.
-[eva] computing for function memchr <- test_memchr <- main.
-  Called from string_c.c:235.
-[eva] string_c.c:235: function memchr: precondition 'valid' got status valid.
-[eva] string_c.c:235: 
-  function memchr: precondition 'initialization' got status valid.
-[eva] string_c.c:235: 
-  function memchr: precondition 'danglingness' got status valid.
-[eva] Recording results for memchr
-[eva] Done for function memchr
-[eva] string_c.c:236: assertion got status valid.
-[eva] computing for function memchr <- test_memchr <- main.
-  Called from string_c.c:237.
-[eva] string_c.c:237: function memchr: precondition 'valid' got status valid.
-[eva] string_c.c:237: 
-  function memchr: precondition 'initialization' got status valid.
-[eva] string_c.c:237: 
-  function memchr: precondition 'danglingness' got status valid.
-[eva] Recording results for memchr
-[eva] Done for function memchr
-[eva] string_c.c:238: assertion got status valid.
-[eva] Recording results for test_memchr
-[eva] Done for function test_memchr
-[eva] computing for function test_memrchr <- main.
-  Called from string_c.c:309.
-[eva] computing for function memrchr <- test_memrchr <- main.
-  Called from string_c.c:244.
-[eva] Recording results for memrchr
-[eva] Done for function memrchr
-[eva] string_c.c:245: assertion got status valid.
-[eva] computing for function memrchr <- test_memrchr <- main.
-  Called from string_c.c:246.
-[eva] Recording results for memrchr
-[eva] Done for function memrchr
-[eva] string_c.c:247: assertion got status valid.
-[eva] computing for function memrchr <- test_memrchr <- main.
-  Called from string_c.c:248.
-[eva] Recording results for memrchr
-[eva] Done for function memrchr
-[eva] string_c.c:249: assertion got status valid.
-[eva] computing for function memrchr <- test_memrchr <- main.
-  Called from string_c.c:250.
-[eva] Recording results for memrchr
-[eva] Done for function memrchr
-[eva] string_c.c:251: assertion got status valid.
-[eva] computing for function memrchr <- test_memrchr <- main.
-  Called from string_c.c:252.
-[eva] Recording results for memrchr
-[eva] Done for function memrchr
-[eva] string_c.c:253: assertion got status valid.
-[eva] computing for function memrchr <- test_memrchr <- main.
-  Called from string_c.c:254.
-[eva] Recording results for memrchr
-[eva] Done for function memrchr
-[eva] string_c.c:255: assertion got status valid.
-[eva] Recording results for test_memrchr
-[eva] Done for function test_memrchr
-[eva] computing for function test_strstr <- main.
-  Called from string_c.c:310.
-[eva] computing for function strstr <- test_strstr <- main.
-  Called from string_c.c:261.
-[eva] string_c.c:261: 
-  function strstr: precondition 'valid_string_haystack' got status valid.
-[eva] string_c.c:261: 
-  function strstr: precondition 'valid_string_needle' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:243: 
-  cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp
-[eva:alarm] FRAMAC_SHARE/libc/string.h:241: Warning: 
-  function strstr: postcondition 'result_null_or_in_haystack' got status unknown.
-[eva] Recording results for strstr
-[eva] Done for function strstr
-[eva] string_c.c:262: assertion got status valid.
-[eva] computing for function strstr <- test_strstr <- main.
-  Called from string_c.c:263.
-[eva] string_c.c:263: 
-  function strstr: precondition 'valid_string_haystack' got status valid.
-[eva] string_c.c:263: 
-  function strstr: precondition 'valid_string_needle' got status valid.
-[eva] Recording results for strstr
-[eva] Done for function strstr
-[eva] string_c.c:264: assertion got status valid.
-[eva] computing for function strstr <- test_strstr <- main.
-  Called from string_c.c:265.
-[eva] string_c.c:265: 
-  function strstr: precondition 'valid_string_haystack' got status valid.
-[eva] string_c.c:265: 
-  function strstr: precondition 'valid_string_needle' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:241: 
-  function strstr: postcondition 'result_null_or_in_haystack' got status valid.
-[eva] Recording results for strstr
-[eva] Done for function strstr
-[eva] string_c.c:266: assertion got status valid.
-[eva] computing for function strstr <- test_strstr <- main.
-  Called from string_c.c:267.
-[eva] string_c.c:267: 
-  function strstr: precondition 'valid_string_haystack' got status valid.
-[eva] string_c.c:267: 
-  function strstr: precondition 'valid_string_needle' got status valid.
-[eva] Recording results for strstr
-[eva] Done for function strstr
-[eva] string_c.c:268: assertion got status valid.
-[eva] computing for function strstr <- test_strstr <- main.
-  Called from string_c.c:269.
-[eva] string_c.c:269: 
-  function strstr: precondition 'valid_string_haystack' got status valid.
-[eva] string_c.c:269: 
-  function strstr: precondition 'valid_string_needle' got status valid.
-[eva] Recording results for strstr
-[eva] Done for function strstr
-[eva] string_c.c:270: assertion got status valid.
-[eva] computing for function strstr <- test_strstr <- main.
-  Called from string_c.c:271.
-[eva] string_c.c:271: 
-  function strstr: precondition 'valid_string_haystack' got status valid.
-[eva] string_c.c:271: 
-  function strstr: precondition 'valid_string_needle' got status valid.
-[eva] Recording results for strstr
-[eva] Done for function strstr
-[eva] string_c.c:272: assertion got status valid.
-[eva] computing for function strstr <- test_strstr <- main.
-  Called from string_c.c:273.
-[eva] string_c.c:273: 
-  function strstr: precondition 'valid_string_haystack' got status valid.
-[eva] string_c.c:273: 
-  function strstr: precondition 'valid_string_needle' got status valid.
-[eva] Recording results for strstr
-[eva] Done for function strstr
-[eva] string_c.c:274: assertion got status valid.
-[eva] computing for function strstr <- test_strstr <- main.
-  Called from string_c.c:275.
-[eva] string_c.c:275: 
-  function strstr: precondition 'valid_string_haystack' got status valid.
-[eva] string_c.c:275: 
-  function strstr: precondition 'valid_string_needle' got status valid.
-[eva] Recording results for strstr
-[eva] Done for function strstr
-[eva] string_c.c:276: assertion got status valid.
-[eva] Recording results for test_strstr
-[eva] Done for function test_strstr
-[eva] computing for function test_mempcpy <- main.
-  Called from string_c.c:314.
-[eva] computing for function mempcpy <- test_mempcpy <- main.
-  Called from string_c.c:282.
-[eva] string_c.c:282: 
-  function mempcpy: precondition 'valid_dest' got status valid.
-[eva] string_c.c:282: 
-  function mempcpy: precondition 'valid_src' got status valid.
-[eva] string_c.c:282: 
-  function mempcpy: precondition 'separation' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:114: 
-  cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp
-[eva:alarm] FRAMAC_SHARE/libc/string.h:114: Warning: 
-  function mempcpy: postcondition 'copied_contents' got status unknown.
-[kernel] FRAMAC_SHARE/libc/string.c:57: Warning: using size of 'void'
-[eva:alarm] FRAMAC_SHARE/libc/string.h:115: Warning: 
-  function mempcpy: postcondition 'result_next_byte' got status unknown.
-[eva] Recording results for mempcpy
-[eva] Done for function mempcpy
-[eva] string_c.c:283: assertion got status valid.
-[eva] string_c.c:284: assertion got status valid.
-[eva] computing for function mempcpy <- test_mempcpy <- main.
-  Called from string_c.c:286.
-[eva] string_c.c:286: 
-  function mempcpy: precondition 'valid_dest' got status valid.
-[eva] string_c.c:286: 
-  function mempcpy: precondition 'valid_src' got status valid.
-[eva] string_c.c:286: 
-  function mempcpy: precondition 'separation' got status valid.
-[eva] Recording results for mempcpy
-[eva] Done for function mempcpy
-[eva] string_c.c:287: assertion got status valid.
-[eva] computing for function mempcpy <- test_mempcpy <- main.
-  Called from string_c.c:288.
-[eva] string_c.c:288: 
-  function mempcpy: precondition 'valid_dest' got status valid.
-[eva] string_c.c:288: 
-  function mempcpy: precondition 'valid_src' got status valid.
-[eva] string_c.c:288: 
-  function mempcpy: precondition 'separation' got status valid.
-[eva] Recording results for mempcpy
-[eva] Done for function mempcpy
-[eva] string_c.c:289: assertion got status valid.
-[eva] Recording results for test_mempcpy
-[eva] Done for function test_mempcpy
 [eva] Recording results for main
 [eva] Done for function main
 [eva] ====== VALUES COMPUTED ======
-[eva:final-states] Values at end of function memchr:
-  ch ∈ {1; 2; 5}
-  ss ∈ {{ (unsigned char const *)&s }}
-  __retres ∈ {{ NULL ; (void *)&s{[0], [1]} }}
 [eva:final-states] Values at end of function memcmp:
   p1 ∈ {{ "hallo" ; "hallo" ; "a\000b" ; "a\000b" }}
   p2 ∈ {{ (unsigned char const *)&hello ; "a\000c" ; "a\000c" }}
@@ -1019,78 +547,28 @@
      [4] ∈ {3; 4; 5}
      [5] ∈ {4; 5; 6}
   __retres ∈ {{ (void *)&buf{[0], [2], [3]} }}
-[eva:final-states] Values at end of function mempcpy:
-  i ∈ {0; 3; 6}
-  dest[0] ∈ {97; 104}
-      [1] ∈ {0; 101}
-      [2] ∈ {98; 108}
-      [3] ∈ {108}
-      [4] ∈ {111}
-      [5] ∈ {0}
-  __retres ∈ {{ (void *)&dest{[0], [3], [6]} }}
-[eva:final-states] Values at end of function memrchr:
-  ch ∈ {1; 2; 5}
-  ss ∈ {{ (unsigned char const *)&s }}
-  __retres ∈ {{ NULL ; (void *)&s{[0], [3], [4]} }}
 [eva:final-states] Values at end of function memset:
   p ∈ {{ (unsigned char *)&dest }}
   dest[0..2] ∈ {42}
       [3] ∈ {0}
-[eva:final-states] Values at end of function strchr:
-  ch ∈ {0; 72; 104; 108}
-  i ∈ {0; 2; 5}
-  __retres ∈ {{ NULL ; "hello" + {0; 2; 5} }}
 [eva:final-states] Values at end of function strcmp:
   i ∈ {0; 1; 4; 5}
   __retres ∈ {-111; -104; -32; 0; 111}
-[eva:final-states] Values at end of function strcpy:
-  i ∈ {0; 5; 6}
-  s[0] ∈ {0; 54; 104}
-   [1] ∈ {53; 101}
-   [2] ∈ {52; 108}
-   [3] ∈ {51; 108}
-   [4] ∈ {50; 111}
-   [5] ∈ {0; 49}
-   [6] ∈ {0} or UNINITIALIZED
 [eva:final-states] Values at end of function strlen:
-  i ∈ {0; 2; 4; 5; 7}
+  i ∈ {0; 2; 5}
 [eva:final-states] Values at end of function strcat:
-  i ∈ {0; 1; 3; 5}
-  n ∈ {0; 4; 7}
+  i ∈ {5}
+  n ∈ {0}
   s[0] ∈ {104}
    [1] ∈ {101}
    [2..3] ∈ {108}
-   [4] ∈ {104; 111}
-   [5] ∈ {0; 101}
-   [6] ∈ {108} or UNINITIALIZED
-   [7] ∈ {0; 120} or UNINITIALIZED
-   [8] ∈ {0} or UNINITIALIZED
-   [9] ∈ UNINITIALIZED
+   [4] ∈ {111}
+   [5] ∈ {0}
+   [6..9] ∈ UNINITIALIZED
 [eva:final-states] Values at end of function strncmp:
   __retres ∈ {-104; -4; 0; 111}
-[eva:final-states] Values at end of function strncpy:
-  i ∈ {0; 3; 5; 7}
-  s[0] ∈ {97; 98; 104}
-   [1] ∈ {98; 101; 121}
-   [2] ∈ {0; 101; 108}
-   [3] ∈ {0; 108}
-   [4] ∈ {0; 111}
-   [5..6] ∈ {0}
 [eva:final-states] Values at end of function strnlen:
   i ∈ {0; 2; 4; 5}
-[eva:final-states] Values at end of function strrchr:
-  ch ∈ {0; 72; 104; 108}
-  __retres ∈ {{ NULL ; "hello" + {0; 3; 5} }}
-[eva:final-states] Values at end of function strstr:
-  __retres ∈ {{ NULL ; "hello" + {0; 2; 3} }}
-[eva:final-states] Values at end of function test_memchr:
-  s[0] ∈ {1}
-   [1] ∈ {2}
-   [2] ∈ {3}
-   [3] ∈ {1}
-   [4] ∈ {2}
-   [5] ∈ {4}
-  p ∈ {{ &s[0] }}
 [eva:final-states] Values at end of function test_memcmp:
   hello[0] ∈ {104}
        [1] ∈ {101}
@@ -1128,49 +606,12 @@
   s ∈ {{ &buf[0] }}
   d ∈ {{ &buf[3] }}
   p ∈ {{ &buf[2] }}
-[eva:final-states] Values at end of function test_mempcpy:
-  dest[0] ∈ {97}
-      [1] ∈ {0}
-      [2] ∈ {98}
-      [3] ∈ {108}
-      [4] ∈ {111}
-      [5] ∈ {0}
-  src[0] ∈ {104}
-     [1] ∈ {101}
-     [2..3] ∈ {108}
-     [4] ∈ {111}
-     [5] ∈ {0}
-  p ∈ {{ &dest[0] }}
-  src2[0] ∈ {97}
-      [1] ∈ {0}
-      [2] ∈ {98}
-      [3..4] ∈ {0}
-[eva:final-states] Values at end of function test_memrchr:
-  s[0] ∈ {1}
-   [1] ∈ {2}
-   [2] ∈ {3}
-   [3] ∈ {1}
-   [4] ∈ {2}
-   [5] ∈ {4}
-  p ∈ {{ &s[0] }}
 [eva:final-states] Values at end of function test_memset:
   dest[0..2] ∈ {42}
       [3] ∈ {0}
   p ∈ {{ &dest[0] }}
 [eva:final-states] Values at end of function test_strcat:
-  s[0] ∈ {104}
-   [1] ∈ {101}
-   [2..3] ∈ {108}
-   [4] ∈ {104}
-   [5] ∈ {101}
-   [6] ∈ {108}
-   [7] ∈ {120}
-   [8] ∈ {0}
-   [9] ∈ UNINITIALIZED
-  p ∈ {{ &s[0] }}
-[eva:final-states] Values at end of function test_strchr:
-  s ∈ {{ "hello" }}
-  p ∈ {{ "hello" + {5} }}
+  NON TERMINATING FUNCTION
 [eva:final-states] Values at end of function test_strcmp:
   hello[0] ∈ {104}
        [1] ∈ {97}
@@ -1184,15 +625,6 @@
   res5 ∈ {-104}
   res6 ∈ {0}
   res7 ∈ {0}
-[eva:final-states] Values at end of function test_strcpy:
-  s[0] ∈ {0}
-   [1] ∈ {53}
-   [2] ∈ {52}
-   [3] ∈ {51}
-   [4] ∈ {50}
-   [5] ∈ {49}
-   [6] ∈ {0}
-  p ∈ {{ &s[0] }}
 [eva:final-states] Values at end of function test_strlen:
   s ∈ {{ "hello" }}
   n ∈ {0}
@@ -1210,19 +642,8 @@
   res6 ∈ {-104}
   res7 ∈ {0}
   res8 ∈ {0}
-[eva:final-states] Values at end of function test_strncpy:
-  s[0] ∈ {97}
-   [1] ∈ {98}
-   [2..6] ∈ {0}
-  p ∈ {{ &s[0] }}
 [eva:final-states] Values at end of function test_strnlen:
   s ∈ {{ "hello" }}
   n ∈ {0}
-[eva:final-states] Values at end of function test_strrchr:
-  s ∈ {{ "hello" }}
-  p ∈ {{ "hello" + {5} }}
-[eva:final-states] Values at end of function test_strstr:
-  s ∈ {{ "hello" }}
-  p ∈ {{ "hello" }}
 [eva:final-states] Values at end of function main:
-  __retres ∈ {0}
+  NON TERMINATING FUNCTION
diff --git a/tests/libc/oracle/string_c_generic.res.oracle b/tests/libc/oracle/string_c_generic.res.oracle
index 2e49652f1d0e598011724c22a53f50c52cd83773..3ab945c14d00469beae4fb594ce0bcf6fef02af7 100644
--- a/tests/libc/oracle/string_c_generic.res.oracle
+++ b/tests/libc/oracle/string_c_generic.res.oracle
@@ -12,11 +12,11 @@
   function strcpy: precondition 'room_string' got status valid.
 [eva] string_c_generic.c:56: 
   function strcpy: precondition 'separation' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:373: 
+[eva] FRAMAC_SHARE/libc/string.h:425: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function strcmp
-[eva:alarm] FRAMAC_SHARE/libc/string.h:373: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:425: Warning: 
   function strcpy: postcondition 'equal_contents' got status unknown.
-[eva] FRAMAC_SHARE/libc/string.h:374: 
+[eva] FRAMAC_SHARE/libc/string.h:426: 
   function strcpy: postcondition 'result_ptr' got status valid.
 [eva] Recording results for strcpy
 [eva] Done for function strcpy
@@ -26,9 +26,9 @@
   function strcmp: precondition 'valid_string_s1' got status valid.
 [eva] string_c_generic.c:57: 
   function strcmp: precondition 'valid_string_s2' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:156: 
+[eva] FRAMAC_SHARE/libc/string.h:174: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function strcmp
-[eva:alarm] FRAMAC_SHARE/libc/string.h:156: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:174: Warning: 
   function strcmp: postcondition 'acsl_c_equiv' got status unknown.
 [eva] Recording results for strcmp
 [eva] Done for function strcmp
@@ -144,11 +144,11 @@
   Called from string_c_generic.c:72.
 [eva] string_c_generic.c:72: 
   function memset: precondition 'valid_s' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:134: 
+[eva] FRAMAC_SHARE/libc/string.h:151: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memset
-[eva:alarm] FRAMAC_SHARE/libc/string.h:134: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:151: Warning: 
   function memset: postcondition 'acsl_c_equiv' got status unknown.
-[eva] FRAMAC_SHARE/libc/string.h:135: 
+[eva] FRAMAC_SHARE/libc/string.h:152: 
   function memset: postcondition 'result_ptr' got status valid.
 [eva] Recording results for memset
 [eva] Done for function memset
@@ -160,14 +160,14 @@
   function strncpy: precondition 'room_nstring' got status valid.
 [eva] string_c_generic.c:73: 
   function strncpy: precondition 'separation' got status valid.
-[eva] FRAMAC_SHARE/libc/string.c:246: starting to merge loop iterations
-[eva] FRAMAC_SHARE/libc/string.h:385: 
+[eva] FRAMAC_SHARE/libc/string.c:249: starting to merge loop iterations
+[eva] FRAMAC_SHARE/libc/string.h:437: 
   function strncpy: postcondition 'result_ptr' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:386: 
+[eva] FRAMAC_SHARE/libc/string.h:438: 
   function strncpy: postcondition 'initialization' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:389: 
+[eva] FRAMAC_SHARE/libc/string.h:441: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function strcmp
-[eva:alarm] FRAMAC_SHARE/libc/string.h:389: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:441: Warning: 
   function strncpy, behavior complete: postcondition 'equal_after_copy' got status unknown.
 [eva] Recording results for strncpy
 [eva] Done for function strncpy
@@ -199,9 +199,9 @@
   function strncpy: precondition 'room_nstring' got status valid.
 [eva] string_c_generic.c:78: 
   function strncpy: precondition 'separation' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:392: 
+[eva] FRAMAC_SHARE/libc/string.h:444: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp
-[eva:alarm] FRAMAC_SHARE/libc/string.h:392: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:444: Warning: 
   function strncpy, behavior partial: postcondition 'equal_prefix' got status unknown.
 [eva] Recording results for strncpy
 [eva] Done for function strncpy
@@ -212,9 +212,9 @@
 [eva] string_c_generic.c:82: 
   function strncmp: precondition 'valid_string_s2' got status valid.
 [eva] FRAMAC_SHARE/libc/string.c:154: starting to merge loop iterations
-[eva] FRAMAC_SHARE/libc/string.h:163: 
+[eva] FRAMAC_SHARE/libc/string.h:181: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function strncmp
-[eva:alarm] FRAMAC_SHARE/libc/string.h:163: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:181: Warning: 
   function strncmp: postcondition 'acsl_c_equiv' got status unknown.
 [eva] Recording results for strncmp
 [eva] Done for function strncmp
@@ -242,19 +242,21 @@
   function strncat: precondition 'valid_nstring_src' got status valid.
 [eva] string_c_generic.c:86: 
   function strncat: precondition 'valid_string_dest' got status valid.
+[eva] string_c_generic.c:86: 
+  function strncat: precondition 'separation' got status valid.
 [eva] string_c_generic.c:86: 
   function strncat, behavior partial: precondition 'room_string' got status valid.
 [eva] computing for function strlen <- strncat <- main.
-  Called from FRAMAC_SHARE/libc/string.c:209.
-[eva] FRAMAC_SHARE/libc/string.c:209: 
+  Called from FRAMAC_SHARE/libc/string.c:212.
+[eva] FRAMAC_SHARE/libc/string.c:212: 
   function strlen: precondition 'valid_string_s' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:143: 
+[eva] FRAMAC_SHARE/libc/string.h:160: 
   function strlen: postcondition 'acsl_c_equiv' got status valid.
 [eva] Recording results for strlen
 [eva] Done for function strlen
-[eva] FRAMAC_SHARE/libc/string.h:443: 
+[eva] FRAMAC_SHARE/libc/string.h:504: 
   function strncat: postcondition 'result_ptr' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:458: 
+[eva] FRAMAC_SHARE/libc/string.h:518: 
   function strncat, behavior partial: postcondition 'sum_of_bounded_lengths' got status valid.
 [eva] Recording results for strncat
 [eva] Done for function strncat
@@ -280,27 +282,25 @@
   Called from string_c_generic.c:91.
 [eva] string_c_generic.c:91: 
   function strchr: precondition 'valid_string_s' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:177: 
+[eva] FRAMAC_SHARE/libc/string.h:197: 
+  function strchr, behavior found: postcondition 'result_valid_string' got status valid.
+[eva] FRAMAC_SHARE/libc/string.h:198: 
   function strchr, behavior found: postcondition 'result_char' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:178: 
+[eva] FRAMAC_SHARE/libc/string.h:199: 
   function strchr, behavior found: postcondition 'result_same_base' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:179: 
+[eva] FRAMAC_SHARE/libc/string.h:200: 
   function strchr, behavior found: postcondition 'result_in_length' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:180: 
-  function strchr, behavior found: postcondition 'result_valid_string' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:181: 
+[eva] FRAMAC_SHARE/libc/string.h:202: 
   cannot evaluate ACSL term, unsupported logic var p
-[eva:alarm] FRAMAC_SHARE/libc/string.h:181: Warning: 
-  function strchr, behavior found: postcondition 'result_first_occur' got status unknown.
-[eva] FRAMAC_SHARE/libc/string.h:187: 
-  function strchr, behavior default: postcondition 'result_null_or_same_base' got status valid.
+[eva:alarm] FRAMAC_SHARE/libc/string.h:202: Warning: 
+  function strchr, behavior found: postcondition 'result_first_occurrence' got status unknown.
 [eva] Recording results for strchr
 [eva] Done for function strchr
 [eva] computing for function strchr <- main.
   Called from string_c_generic.c:92.
 [eva] string_c_generic.c:92: 
   function strchr: precondition 'valid_string_s' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:184: 
+[eva] FRAMAC_SHARE/libc/string.h:205: 
   function strchr, behavior not_found: postcondition 'result_null' got status valid.
 [eva] Recording results for strchr
 [eva] Done for function strchr
@@ -309,29 +309,21 @@
 [eva] string_c_generic.c:93: 
   function strrchr: precondition 'valid_string_s' got status valid.
 [eva] computing for function strlen <- strrchr <- main.
-  Called from FRAMAC_SHARE/libc/string.c:263.
-[eva] FRAMAC_SHARE/libc/string.c:263: 
+  Called from FRAMAC_SHARE/libc/string.c:266.
+[eva] FRAMAC_SHARE/libc/string.c:266: 
   function strlen: precondition 'valid_string_s' got status valid.
 [eva] Recording results for strlen
 [eva] Done for function strlen
-[eva] FRAMAC_SHARE/libc/string.h:201: 
-  function strrchr, behavior found: postcondition 'result_char' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:202: 
-  function strrchr, behavior found: postcondition 'result_same_base' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:203: 
-  function strrchr, behavior found: postcondition 'result_valid_string' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:209: 
-  function strrchr, behavior default: postcondition 'result_null_or_same_base' got status valid.
+[eva] FRAMAC_SHARE/libc/string.h:223: 
+  function strrchr: postcondition 'result_null_or_same_base' got status valid.
 [eva] Recording results for strrchr
 [eva] Done for function strrchr
 [eva] computing for function strrchr <- main.
   Called from string_c_generic.c:94.
 [eva] string_c_generic.c:94: 
   function strrchr: precondition 'valid_string_s' got status valid.
-[eva] FRAMAC_SHARE/libc/string.c:263: Reusing old results for call to strlen
-[eva] FRAMAC_SHARE/libc/string.c:263: starting to merge loop iterations
-[eva] FRAMAC_SHARE/libc/string.h:206: 
-  function strrchr, behavior not_found: postcondition 'result_null' got status valid.
+[eva] FRAMAC_SHARE/libc/string.c:266: Reusing old results for call to strlen
+[eva] FRAMAC_SHARE/libc/string.c:266: starting to merge loop iterations
 [eva] Recording results for strrchr
 [eva] Done for function strrchr
 [eva] Recording results for main
diff --git a/tests/libc/oracle/string_c_strchr.res.oracle b/tests/libc/oracle/string_c_strchr.res.oracle
index 38d187e61abac5a476850d22c8c9d47cfc878dbe..a453fa14af65fd8f81e255557ba7a21a50f104af 100644
--- a/tests/libc/oracle/string_c_strchr.res.oracle
+++ b/tests/libc/oracle/string_c_strchr.res.oracle
@@ -10,10 +10,8 @@
   Called from string_c_strchr.c:62.
 [eva] string_c_strchr.c:62: 
   function strchr: precondition 'valid_string_s' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:184: 
+[eva] FRAMAC_SHARE/libc/string.h:205: 
   function strchr, behavior not_found: postcondition 'result_null' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:187: 
-  function strchr, behavior default: postcondition 'result_null_or_same_base' got status valid.
 [eva] Recording results for strchr
 [eva] Done for function strchr
 [eva] computing for function strchr <- main.
@@ -44,7 +42,7 @@
   Called from string_c_strchr.c:67.
 [eva] string_c_strchr.c:67: 
   function strchr: precondition 'valid_string_s' got status valid.
-[eva] FRAMAC_SHARE/libc/string.c:255: 
+[eva] FRAMAC_SHARE/libc/string.c:258: 
   Trace partitioning superposing up to 100 states
 [eva] Recording results for strchr
 [eva] Done for function strchr
@@ -58,18 +56,18 @@
   Called from string_c_strchr.c:70.
 [eva] string_c_strchr.c:70: 
   function strchr: precondition 'valid_string_s' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:177: 
+[eva] FRAMAC_SHARE/libc/string.h:197: 
+  function strchr, behavior found: postcondition 'result_valid_string' got status valid.
+[eva] FRAMAC_SHARE/libc/string.h:198: 
   function strchr, behavior found: postcondition 'result_char' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:178: 
+[eva] FRAMAC_SHARE/libc/string.h:199: 
   function strchr, behavior found: postcondition 'result_same_base' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:179: 
+[eva] FRAMAC_SHARE/libc/string.h:200: 
   function strchr, behavior found: postcondition 'result_in_length' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:180: 
-  function strchr, behavior found: postcondition 'result_valid_string' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:181: 
+[eva] FRAMAC_SHARE/libc/string.h:202: 
   cannot evaluate ACSL term, unsupported logic var p
-[eva:alarm] FRAMAC_SHARE/libc/string.h:181: Warning: 
-  function strchr, behavior found: postcondition 'result_first_occur' got status unknown.
+[eva:alarm] FRAMAC_SHARE/libc/string.h:202: Warning: 
+  function strchr, behavior found: postcondition 'result_first_occurrence' got status unknown.
 [eva] Recording results for strchr
 [eva] Done for function strchr
 [eva] computing for function strchr <- main.
@@ -172,7 +170,7 @@
   Called from string_c_strchr.c:87.
 [eva] string_c_strchr.c:87: 
   function strchr: precondition 'valid_string_s' got status valid.
-[eva] FRAMAC_SHARE/libc/string.c:255: 
+[eva] FRAMAC_SHARE/libc/string.c:258: 
   Trace partitioning superposing up to 200 states
 [eva] Recording results for strchr
 [eva] Done for function strchr
diff --git a/tests/libc/oracle/string_c_strstr.res.oracle b/tests/libc/oracle/string_c_strstr.res.oracle
index d4134467a53b8833d169dd88011027ba67a77297..4d8bf67212fd75cf0737ede051d148edc4ab0951 100644
--- a/tests/libc/oracle/string_c_strstr.res.oracle
+++ b/tests/libc/oracle/string_c_strstr.res.oracle
@@ -10,7 +10,7 @@
   function strstr: precondition 'valid_string_haystack' got status valid.
 [eva] string_c_strstr.c:52: 
   function strstr: precondition 'valid_string_needle' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:241: 
+[eva] FRAMAC_SHARE/libc/string.h:263: 
   function strstr: postcondition 'result_null_or_in_haystack' got status valid.
 [eva] Recording results for strstr
 [eva] Done for function strstr
@@ -68,7 +68,7 @@
   function strstr: precondition 'valid_string_haystack' got status valid.
 [eva] string_c_strstr.c:59: 
   function strstr: precondition 'valid_string_needle' got status valid.
-[eva] FRAMAC_SHARE/libc/string.c:292: starting to merge loop iterations
+[eva] FRAMAC_SHARE/libc/string.c:295: starting to merge loop iterations
 [eva] Recording results for strstr
 [eva] Done for function strstr
 [eva] computing for function strstr <- main.
@@ -101,9 +101,9 @@
   function strstr: precondition 'valid_string_haystack' got status valid.
 [eva] string_c_strstr.c:64: 
   function strstr: precondition 'valid_string_needle' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:243: 
+[eva] FRAMAC_SHARE/libc/string.h:266: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp
-[eva:alarm] FRAMAC_SHARE/libc/string.h:241: Warning: 
+[eva:alarm] FRAMAC_SHARE/libc/string.h:263: Warning: 
   function strstr: postcondition 'result_null_or_in_haystack' got status unknown.
 [eva] Recording results for strstr
 [eva] Done for function strstr
diff --git a/tests/libc/oracle/string_h.res.oracle b/tests/libc/oracle/string_h.res.oracle
index 62c225c8140534ab341e6530a4dfee59ae1f1ef6..2b9a24d5ee7bf35eac5421780a8616bf2f61ea9f 100644
--- a/tests/libc/oracle/string_h.res.oracle
+++ b/tests/libc/oracle/string_h.res.oracle
@@ -5,7 +5,7 @@
 [eva:initial-state] Values of globals at initialization
   nondet ∈ [--..--]
 [eva] computing for function test_strcmp <- main.
-  Called from string_h.c:147.
+  Called from string_h.c:157.
 [eva] computing for function strcmp <- test_strcmp <- main.
   Called from string_h.c:5.
 [eva] using specification for function strcmp
@@ -16,11 +16,11 @@
 [eva] FRAMAC_SHARE/libc/string.h:174: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function strcmp
 [eva] Done for function strcmp
-[eva:alarm] string_h.c:6: Warning: assertion got status unknown.
+[eva:alarm] string_h.c:6: Warning: check got status unknown.
 [eva] Recording results for test_strcmp
 [eva] Done for function test_strcmp
 [eva] computing for function test_strcat <- main.
-  Called from string_h.c:148.
+  Called from string_h.c:158.
 [eva] computing for function strcat <- test_strcat <- main.
   Called from string_h.c:13.
 [eva] using specification for function strcat
@@ -30,6 +30,8 @@
   function strcat: precondition 'valid_string_dest' got status valid.
 [eva] string_h.c:13: 
   function strcat: precondition 'room_string' got status valid.
+[eva] string_h.c:13: 
+  function strcat: precondition 'separation' got status valid.
 [eva] Done for function strcat
 [eva] computing for function strcat <- test_strcat <- main.
   Called from string_h.c:16.
@@ -39,11 +41,13 @@
   function strcat: precondition 'valid_string_dest' got status valid.
 [eva] string_h.c:16: 
   function strcat: precondition 'room_string' got status valid.
+[eva] string_h.c:16: 
+  function strcat: precondition 'separation' got status valid.
 [eva] Done for function strcat
 [eva] Recording results for test_strcat
 [eva] Done for function test_strcat
 [eva] computing for function test_strstr <- main.
-  Called from string_h.c:149.
+  Called from string_h.c:159.
 [eva] computing for function strstr <- test_strstr <- main.
   Called from string_h.c:24.
 [eva] using specification for function strstr
@@ -51,14 +55,14 @@
   function strstr: precondition 'valid_string_haystack' got status valid.
 [eva] string_h.c:24: 
   function strstr: precondition 'valid_string_needle' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:263: 
+[eva] FRAMAC_SHARE/libc/string.h:266: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp
 [eva] Done for function strstr
-[eva:alarm] string_h.c:25: Warning: assertion got status unknown.
+[eva:alarm] string_h.c:25: Warning: check got status unknown.
 [eva] Recording results for test_strstr
 [eva] Done for function test_strstr
 [eva] computing for function test_strncat <- main.
-  Called from string_h.c:150.
+  Called from string_h.c:160.
 [eva] string_h.c:34: Trace partitioning superposing up to 100 states
 [eva] computing for function strncat <- test_strncat <- main.
   Called from string_h.c:36.
@@ -67,342 +71,543 @@
   function strncat: precondition 'valid_nstring_src' got status valid.
 [eva] string_h.c:36: 
   function strncat: precondition 'valid_string_dest' got status valid.
+[eva] string_h.c:36: 
+  function strncat: precondition 'separation' got status valid.
 [eva] string_h.c:36: 
   function strncat, behavior complete: precondition 'room_string' got status valid.
 [eva] Done for function strncat
+[eva] computing for function strncat <- test_strncat <- main.
+  Called from string_h.c:40.
+[eva] string_h.c:40: 
+  function strncat: precondition 'valid_nstring_src' got status valid.
+[eva] string_h.c:40: 
+  function strncat: precondition 'valid_string_dest' got status valid.
+[eva] string_h.c:40: 
+  function strncat: precondition 'separation' got status valid.
+[eva] string_h.c:40: 
+  function strncat, behavior partial: precondition 'room_string' got status valid.
+[eva] Done for function strncat
+[eva] computing for function strncat <- test_strncat <- main.
+  Called from string_h.c:44.
+[eva] string_h.c:44: 
+  function strncat: precondition 'valid_nstring_src' got status valid.
+[eva] string_h.c:44: 
+  function strncat: precondition 'valid_string_dest' got status valid.
+[eva] string_h.c:44: 
+  function strncat: precondition 'separation' got status valid.
+[eva:alarm] string_h.c:44: Warning: 
+  function strncat, behavior partial: precondition 'room_string' got status invalid.
+[eva] Done for function strncat
 [eva] Recording results for test_strncat
 [eva] Done for function test_strncat
 [eva] computing for function crashes_gcc <- main.
-  Called from string_h.c:151.
+  Called from string_h.c:161.
 [eva] computing for function strcpy <- crashes_gcc <- main.
-  Called from string_h.c:53.
+  Called from string_h.c:63.
 [eva] using specification for function strcpy
-[eva] string_h.c:53: 
+[eva] string_h.c:63: 
   function strcpy: precondition 'valid_string_src' got status valid.
-[eva] string_h.c:53: 
+[eva] string_h.c:63: 
   function strcpy: precondition 'room_string' got status valid.
-[eva:alarm] string_h.c:53: Warning: 
+[eva:alarm] string_h.c:63: Warning: 
   function strcpy: precondition 'separation' got status invalid.
 [eva] Done for function strcpy
 [eva] Recording results for crashes_gcc
 [eva] Done for function crashes_gcc
 [eva] computing for function test_strtok <- main.
-  Called from string_h.c:152.
+  Called from string_h.c:162.
 [eva] computing for function strtok <- test_strtok <- main.
-  Called from string_h.c:58.
+  Called from string_h.c:68.
 [eva] using specification for function strtok
-[eva] string_h.c:58: 
+[eva] string_h.c:68: 
   function strtok: precondition 'valid_string_delim' got status valid.
-[eva:alarm] string_h.c:58: Warning: 
+[eva] string_h.c:68: 
+  function strtok: precondition 'separation' got status valid.
+[eva:alarm] string_h.c:68: Warning: 
   function strtok, behavior resume_str: precondition 'not_first_call' got status invalid.
 [eva] Done for function strtok
 [eva] computing for function strtok <- test_strtok <- main.
-  Called from string_h.c:62.
-[eva] string_h.c:62: 
+  Called from string_h.c:72.
+[eva] string_h.c:72: 
   function strtok: precondition 'valid_string_delim' got status valid.
-[eva] string_h.c:62: 
+[eva] string_h.c:72: 
+  function strtok: precondition 'separation' got status valid.
+[eva] string_h.c:72: 
   function strtok, behavior new_str: precondition 'valid_string_s_or_delim_not_found' got status valid.
 [eva] Done for function strtok
-[eva:alarm] string_h.c:63: Warning: assertion got status unknown.
+[eva] string_h.c:73: check got status valid.
 [eva] computing for function strtok <- test_strtok <- main.
-  Called from string_h.c:64.
-[eva] string_h.c:64: 
+  Called from string_h.c:74.
+[eva] string_h.c:74: 
   function strtok: precondition 'valid_string_delim' got status valid.
-[eva] string_h.c:64: 
+[eva] string_h.c:74: 
+  function strtok: precondition 'separation' got status valid.
+[eva] string_h.c:74: 
   function strtok, behavior resume_str: precondition 'not_first_call' got status valid.
 [eva] Done for function strtok
-[eva:alarm] string_h.c:65: Warning: assertion got status unknown.
+[eva] string_h.c:75: check got status valid.
 [eva] computing for function strtok <- test_strtok <- main.
-  Called from string_h.c:67.
-[eva] string_h.c:67: 
+  Called from string_h.c:77.
+[eva] string_h.c:77: 
   function strtok: precondition 'valid_string_delim' got status valid.
-[eva] string_h.c:67: 
+[eva] string_h.c:77: 
+  function strtok: precondition 'separation' got status valid.
+[eva] string_h.c:77: 
   function strtok, behavior new_str: precondition 'valid_string_s_or_delim_not_found' got status valid.
 [eva] Done for function strtok
-[eva:alarm] string_h.c:68: Warning: assertion got status unknown.
+[eva] string_h.c:78: check got status valid.
 [eva] computing for function strtok <- test_strtok <- main.
-  Called from string_h.c:69.
-[eva] string_h.c:69: 
+  Called from string_h.c:79.
+[eva] string_h.c:79: 
   function strtok: precondition 'valid_string_delim' got status valid.
-[eva] string_h.c:69: 
+[eva] string_h.c:79: 
+  function strtok: precondition 'separation' got status valid.
+[eva] string_h.c:79: 
   function strtok, behavior resume_str: precondition 'not_first_call' got status valid.
 [eva] Done for function strtok
-[eva:alarm] string_h.c:70: Warning: assertion got status unknown.
+[eva:alarm] string_h.c:80: Warning: check got status unknown.
 [eva] computing for function strtok <- test_strtok <- main.
-  Called from string_h.c:72.
-[eva] string_h.c:72: 
+  Called from string_h.c:82.
+[eva] string_h.c:82: 
   function strtok: precondition 'valid_string_delim' got status valid.
-[eva] string_h.c:72: 
+[eva] string_h.c:82: 
+  function strtok: precondition 'separation' got status valid.
+[eva] string_h.c:82: 
   function strtok, behavior new_str: precondition 'valid_string_s_or_delim_not_found' got status valid.
-[eva:invalid-assigns] string_h.c:72: 
+[eva:invalid-assigns] string_h.c:82: 
   Completely invalid destination for assigns clause *(s + (0 ..)). Ignoring.
 [eva] Done for function strtok
-[eva:alarm] string_h.c:73: Warning: assertion got status unknown.
+[eva:alarm] string_h.c:83: Warning: check got status unknown.
 [eva] computing for function strtok <- test_strtok <- main.
-  Called from string_h.c:75.
-[eva] string_h.c:75: 
+  Called from string_h.c:85.
+[eva] string_h.c:85: 
   function strtok: precondition 'valid_string_delim' got status valid.
-[eva:alarm] string_h.c:75: Warning: 
+[eva] string_h.c:85: 
+  function strtok: precondition 'separation' got status valid.
+[eva:alarm] string_h.c:85: Warning: 
   function strtok, behavior new_str: precondition 'valid_string_s_or_delim_not_found' got status invalid.
 [eva] Done for function strtok
 [eva] Recording results for test_strtok
 [eva] Done for function test_strtok
 [eva] computing for function test_strtok_r <- main.
-  Called from string_h.c:153.
+  Called from string_h.c:163.
 [eva] computing for function strtok_r <- test_strtok_r <- main.
-  Called from string_h.c:82.
+  Called from string_h.c:92.
 [eva] using specification for function strtok_r
-[eva] string_h.c:82: 
+[eva] string_h.c:92: 
   function strtok_r: precondition 'valid_string_delim' got status valid.
-[eva:alarm] string_h.c:82: Warning: 
+[eva:alarm] string_h.c:92: Warning: 
+  function strtok_r: precondition 'separation' got status unknown.
+[eva:alarm] string_h.c:92: Warning: 
   function strtok_r: precondition 'valid_saveptr' got status invalid.
 [eva] Done for function strtok_r
 [eva] computing for function strtok_r <- test_strtok_r <- main.
-  Called from string_h.c:87.
-[eva] string_h.c:87: 
+  Called from string_h.c:97.
+[eva] string_h.c:97: 
   function strtok_r: precondition 'valid_string_delim' got status valid.
-[eva] string_h.c:87: 
+[eva:alarm] string_h.c:97: Warning: 
+  function strtok_r: precondition 'separation' got status unknown.
+[eva] string_h.c:97: 
   function strtok_r: precondition 'valid_saveptr' got status valid.
-[eva] string_h.c:87: 
+[eva] string_h.c:97: 
   function strtok_r, behavior new_str: precondition 'valid_string_s_or_delim_not_found' got status valid.
 [eva] Done for function strtok_r
 [eva] computing for function strtok_r <- test_strtok_r <- main.
-  Called from string_h.c:89.
-[eva] string_h.c:89: 
+  Called from string_h.c:99.
+[eva] string_h.c:99: 
   function strtok_r: precondition 'valid_string_delim' got status valid.
-[eva:alarm] string_h.c:89: Warning: 
+[eva:alarm] string_h.c:99: Warning: 
+  function strtok_r: precondition 'separation' got status unknown.
+[eva:alarm] string_h.c:99: Warning: 
   function strtok_r: precondition 'valid_saveptr' got status invalid.
 [eva] Done for function strtok_r
-[eva:alarm] string_h.c:92: Warning: assertion got status unknown.
+[eva] string_h.c:102: check got status valid.
 [eva] computing for function strtok_r <- test_strtok_r <- main.
-  Called from string_h.c:93.
-[eva] string_h.c:93: 
+  Called from string_h.c:103.
+[eva] string_h.c:103: 
   function strtok_r: precondition 'valid_string_delim' got status valid.
-[eva] string_h.c:93: 
+[eva] string_h.c:103: 
+  function strtok_r: precondition 'separation' got status valid.
+[eva] string_h.c:103: 
   function strtok_r: precondition 'valid_saveptr' got status valid.
-[eva] string_h.c:93: 
+[eva] string_h.c:103: 
   function strtok_r, behavior resume_str: precondition 'not_first_call' got status valid.
-[eva] string_h.c:93: 
+[eva] string_h.c:103: 
   function strtok_r, behavior resume_str: precondition 'initialization,saveptr' got status valid.
 [eva] Done for function strtok_r
-[eva] string_h.c:94: Frama_C_show_each_saveptr: {{ &buf + [0..--] }}
-[eva:alarm] string_h.c:95: Warning: assertion got status unknown.
+[eva] string_h.c:104: Frama_C_show_each_saveptr: {{ &buf + {0; 1} }}
+[eva] string_h.c:105: check got status valid.
 [eva] computing for function strtok_r <- test_strtok_r <- main.
-  Called from string_h.c:97.
-[eva] string_h.c:97: 
+  Called from string_h.c:107.
+[eva] string_h.c:107: 
   function strtok_r: precondition 'valid_string_delim' got status valid.
-[eva] string_h.c:97: 
+[eva] string_h.c:107: 
+  function strtok_r: precondition 'separation' got status valid.
+[eva] string_h.c:107: 
   function strtok_r: precondition 'valid_saveptr' got status valid.
-[eva] string_h.c:97: 
+[eva] string_h.c:107: 
   function strtok_r, behavior new_str: precondition 'valid_string_s_or_delim_not_found' got status valid.
 [eva] Done for function strtok_r
-[eva:alarm] string_h.c:98: Warning: assertion got status unknown.
+[eva] string_h.c:108: check got status valid.
 [eva] computing for function strtok_r <- test_strtok_r <- main.
-  Called from string_h.c:99.
-[eva] string_h.c:99: 
+  Called from string_h.c:109.
+[eva] string_h.c:109: 
   function strtok_r: precondition 'valid_string_delim' got status valid.
-[eva] string_h.c:99: 
+[eva] string_h.c:109: 
+  function strtok_r: precondition 'separation' got status valid.
+[eva] string_h.c:109: 
   function strtok_r: precondition 'valid_saveptr' got status valid.
-[eva] string_h.c:99: 
+[eva] string_h.c:109: 
   function strtok_r, behavior resume_str: precondition 'not_first_call' got status valid.
-[eva] string_h.c:99: 
+[eva] string_h.c:109: 
   function strtok_r, behavior resume_str: precondition 'initialization,saveptr' got status valid.
 [eva] Done for function strtok_r
-[eva:alarm] string_h.c:100: Warning: assertion got status unknown.
+[eva:alarm] string_h.c:110: Warning: check got status unknown.
 [eva] computing for function strtok_r <- test_strtok_r <- main.
-  Called from string_h.c:102.
-[eva] string_h.c:102: 
+  Called from string_h.c:112.
+[eva] string_h.c:112: 
   function strtok_r: precondition 'valid_string_delim' got status valid.
-[eva] string_h.c:102: 
+[eva] string_h.c:112: 
+  function strtok_r: precondition 'separation' got status valid.
+[eva] string_h.c:112: 
   function strtok_r: precondition 'valid_saveptr' got status valid.
-[eva] string_h.c:102: 
+[eva] string_h.c:112: 
   function strtok_r, behavior new_str: precondition 'valid_string_s_or_delim_not_found' got status valid.
-[eva:invalid-assigns] string_h.c:102: 
+[eva:invalid-assigns] string_h.c:112: 
   Completely invalid destination for assigns clause *(s + (0 ..)). Ignoring.
 [eva] Done for function strtok_r
-[eva:alarm] string_h.c:103: Warning: assertion got status unknown.
+[eva:alarm] string_h.c:113: Warning: check got status unknown.
 [eva] computing for function strtok_r <- test_strtok_r <- main.
-  Called from string_h.c:105.
-[eva] string_h.c:105: 
+  Called from string_h.c:115.
+[eva] string_h.c:115: 
   function strtok_r: precondition 'valid_string_delim' got status valid.
-[eva] string_h.c:105: 
+[eva] string_h.c:115: 
+  function strtok_r: precondition 'separation' got status valid.
+[eva] string_h.c:115: 
   function strtok_r: precondition 'valid_saveptr' got status valid.
-[eva:alarm] string_h.c:105: Warning: 
+[eva:alarm] string_h.c:115: Warning: 
   function strtok_r, behavior new_str: precondition 'valid_string_s_or_delim_not_found' got status invalid.
 [eva] Done for function strtok_r
 [eva] Recording results for test_strtok_r
 [eva] Done for function test_strtok_r
 [eva] computing for function strdup <- main.
-  Called from string_h.c:154.
+  Called from string_h.c:164.
 [eva] using specification for function strdup
-[eva:libc:unsupported-spec] string_h.c:154: Warning: 
+[eva:libc:unsupported-spec] string_h.c:164: Warning: 
   The specification of function 'strdup' is currently not supported by Eva.
   Consider adding 'FRAMAC_SHARE/libc/string.c' to the analyzed source files.
-[eva] string_h.c:154: Warning: ignoring unsupported allocates clause
-[eva] string_h.c:154: 
+[eva] string_h.c:164: Warning: ignoring unsupported allocates clause
+[eva] string_h.c:164: 
   function strdup: precondition 'valid_string_s' got status valid.
 [eva] Done for function strdup
 [eva] computing for function strndup <- main.
-  Called from string_h.c:155.
+  Called from string_h.c:165.
 [eva] using specification for function strndup
-[eva:libc:unsupported-spec] string_h.c:155: Warning: 
+[eva:libc:unsupported-spec] string_h.c:165: Warning: 
   The specification of function 'strndup' is currently not supported by Eva.
   Consider adding 'FRAMAC_SHARE/libc/string.c' to the analyzed source files.
-[eva] string_h.c:155: Warning: ignoring unsupported allocates clause
-[eva] string_h.c:155: 
+[eva] string_h.c:165: Warning: ignoring unsupported allocates clause
+[eva] string_h.c:165: 
   function strndup: precondition 'valid_string_s' got status valid.
 [eva] Done for function strndup
 [eva] computing for function strsignal <- main.
-  Called from string_h.c:156.
+  Called from string_h.c:166.
 [eva] using specification for function strsignal
 [eva] Done for function strsignal
-[eva] string_h.c:157: assertion got status valid.
+[eva] string_h.c:167: check got status valid.
 [eva] computing for function test_strncpy <- main.
-  Called from string_h.c:158.
+  Called from string_h.c:168.
 [eva] computing for function strncpy <- test_strncpy <- main.
-  Called from string_h.c:113.
+  Called from string_h.c:123.
 [eva] using specification for function strncpy
-[eva] string_h.c:113: 
+[eva] string_h.c:123: 
   function strncpy: precondition 'valid_nstring_src' got status valid.
-[eva] string_h.c:113: 
+[eva] string_h.c:123: 
   function strncpy: precondition 'room_nstring' got status valid.
-[eva] string_h.c:113: 
+[eva] string_h.c:123: 
   function strncpy: precondition 'separation' got status valid.
 [eva] Done for function strncpy
 [eva] computing for function strncpy <- test_strncpy <- main.
-  Called from string_h.c:118.
-[eva:alarm] string_h.c:118: Warning: 
+  Called from string_h.c:128.
+[eva:alarm] string_h.c:128: Warning: 
   function strncpy: precondition 'valid_nstring_src' got status invalid.
-[eva] string_h.c:118: 
+[eva] string_h.c:128: 
   function strncpy: no state left, precondition 'room_nstring' got status valid.
-[eva] string_h.c:118: 
+[eva] string_h.c:128: 
   function strncpy: no state left, precondition 'separation' got status valid.
 [eva] Done for function strncpy
 [eva] Recording results for test_strncpy
 [eva] Done for function test_strncpy
 [eva] computing for function test_strlcpy <- main.
-  Called from string_h.c:159.
+  Called from string_h.c:169.
 [eva] computing for function strlcpy <- test_strlcpy <- main.
-  Called from string_h.c:126.
+  Called from string_h.c:136.
 [eva] using specification for function strlcpy
-[eva] string_h.c:126: 
+[eva] string_h.c:136: 
   function strlcpy: precondition 'valid_string_src' got status valid.
-[eva] string_h.c:126: 
+[eva] string_h.c:136: 
   function strlcpy: precondition 'room_nstring' got status valid.
-[eva] string_h.c:126: 
+[eva] string_h.c:136: 
   function strlcpy: precondition 'separation' got status valid.
 [eva] Done for function strlcpy
 [eva] computing for function strlcpy <- test_strlcpy <- main.
-  Called from string_h.c:127.
-[eva] string_h.c:127: 
+  Called from string_h.c:137.
+[eva] string_h.c:137: 
   function strlcpy: precondition 'valid_string_src' got status valid.
-[eva] string_h.c:127: 
+[eva] string_h.c:137: 
   function strlcpy: precondition 'room_nstring' got status valid.
-[eva] string_h.c:127: 
+[eva] string_h.c:137: 
   function strlcpy: precondition 'separation' got status valid.
 [eva] Done for function strlcpy
 [eva] computing for function strlcat <- test_strlcpy <- main.
-  Called from string_h.c:128.
+  Called from string_h.c:138.
 [eva] using specification for function strlcat
-[eva:alarm] string_h.c:128: Warning: 
+[eva:alarm] string_h.c:138: Warning: 
   function strlcat: precondition 'valid_string_src' got status unknown.
-[eva:alarm] string_h.c:128: Warning: 
+[eva:alarm] string_h.c:138: Warning: 
   function strlcat: precondition 'valid_string_dest' got status unknown.
-[eva] string_h.c:128: 
+[eva] string_h.c:138: 
   function strlcat: precondition 'room_nstring' got status valid.
+[eva] string_h.c:138: 
+  function strlcat: precondition 'separation' got status valid.
 [eva] Done for function strlcat
 [eva] computing for function strlcpy <- test_strlcpy <- main.
-  Called from string_h.c:132.
-[eva:alarm] string_h.c:132: Warning: 
+  Called from string_h.c:142.
+[eva:alarm] string_h.c:142: Warning: 
   function strlcpy: precondition 'valid_string_src' got status invalid.
-[eva] string_h.c:132: 
+[eva] string_h.c:142: 
   function strlcpy: no state left, precondition 'room_nstring' got status valid.
-[eva] string_h.c:132: 
+[eva] string_h.c:142: 
   function strlcpy: no state left, precondition 'separation' got status valid.
 [eva] Done for function strlcpy
 [eva] Recording results for test_strlcpy
 [eva] Done for function test_strlcpy
 [eva] computing for function test_strrchr <- main.
-  Called from string_h.c:160.
+  Called from string_h.c:170.
 [eva] computing for function strrchr <- test_strrchr <- main.
-  Called from string_h.c:139.
+  Called from string_h.c:149.
 [eva] using specification for function strrchr
-[eva] string_h.c:139: 
+[eva] string_h.c:149: 
   function strrchr: precondition 'valid_string_s' got status valid.
 [eva] Done for function strrchr
-[eva:alarm] string_h.c:140: Warning: check got status unknown.
+[eva:alarm] string_h.c:150: Warning: check got status unknown.
 [eva] computing for function strrchr <- test_strrchr <- main.
-  Called from string_h.c:141.
-[eva] string_h.c:141: 
+  Called from string_h.c:151.
+[eva] string_h.c:151: 
   function strrchr: precondition 'valid_string_s' got status valid.
 [eva] Done for function strrchr
-[eva] string_h.c:142: check got status valid.
+[eva:alarm] string_h.c:152: Warning: check got status unknown.
 [eva] Recording results for test_strrchr
 [eva] Done for function test_strrchr
-[eva] string_h.c:163: Call to builtin strchr
-[eva] string_h.c:163: 
+[eva] string_h.c:173: Call to builtin strchr
+[eva] string_h.c:173: 
   function strchr: precondition 'valid_string_s' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:199: 
+[eva] FRAMAC_SHARE/libc/string.h:202: 
   cannot evaluate ACSL term, unsupported logic var p
+[eva:alarm] string_h.c:173: Warning: check got status unknown.
 [eva] computing for function strchrnul <- main.
-  Called from string_h.c:164.
+  Called from string_h.c:174.
 [eva] using specification for function strchrnul
-[eva] string_h.c:164: 
+[eva] string_h.c:174: 
   function strchrnul: precondition 'valid_string_s' got status valid.
 [eva] Done for function strchrnul
-[eva] string_h.c:166: Call to builtin strchr
-[eva] string_h.c:166: 
+[eva] string_h.c:176: Call to builtin strchr
+[eva] string_h.c:176: 
   function strchr: precondition 'valid_string_s' got status valid.
 [eva] computing for function strchrnul <- main.
-  Called from string_h.c:167.
-[eva] string_h.c:167: 
+  Called from string_h.c:177.
+[eva] string_h.c:177: 
   function strchrnul: precondition 'valid_string_s' got status valid.
 [eva] Done for function strchrnul
 [eva] computing for function mempcpy <- main.
-  Called from string_h.c:169.
+  Called from string_h.c:179.
 [eva] using specification for function mempcpy
-[eva] string_h.c:169: 
+[eva] string_h.c:179: 
   function mempcpy: precondition 'valid_dest' got status valid.
-[eva] string_h.c:169: 
+[eva] string_h.c:179: 
   function mempcpy: precondition 'valid_src' got status valid.
-[eva] string_h.c:169: 
+[eva] string_h.c:179: 
   function mempcpy: precondition 'separation' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:132: 
+[eva] FRAMAC_SHARE/libc/string.h:131: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp
-[kernel] string_h.c:169: Warning: using size of 'void'
+[kernel] string_h.c:179: Warning: using size of 'void'
 [eva] Done for function mempcpy
-[eva:alarm] string_h.c:170: Warning: assertion 'imprecise' got status unknown.
-[eva] string_h.c:172: Call to builtin strlen
-[eva] string_h.c:172: 
+[eva:alarm] string_h.c:180: Warning: check 'imprecise' got status unknown.
+[eva] string_h.c:182: Call to builtin strlen
+[eva] string_h.c:182: 
   function strlen: precondition 'valid_string_s' got status valid.
 [eva] computing for function memrchr <- main.
-  Called from string_h.c:172.
+  Called from string_h.c:182.
 [eva] using specification for function memrchr
-[eva] string_h.c:172: function memrchr: precondition 'valid' got status valid.
-[eva] string_h.c:172: 
+[eva] string_h.c:182: function memrchr: precondition 'valid' got status valid.
+[eva] string_h.c:182: 
   function memrchr: precondition 'initialization' got status valid.
-[eva] string_h.c:172: 
+[eva] string_h.c:182: 
   function memrchr: precondition 'danglingness' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:100: 
+[eva] FRAMAC_SHARE/libc/string.h:99: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memchr
-[eva] FRAMAC_SHARE/libc/string.h:104: 
+[eva] FRAMAC_SHARE/libc/string.h:103: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memchr
-[kernel] string_h.c:172: Warning: using size of 'void'
 [eva] Done for function memrchr
-[eva:alarm] string_h.c:173: Warning: check got status unknown.
-[eva] string_h.c:174: Call to builtin strlen
-[eva] string_h.c:174: 
+[eva:alarm] string_h.c:183: Warning: check 'imprecise' got status unknown.
+[eva] string_h.c:184: Call to builtin strlen
+[eva] string_h.c:184: 
   function strlen: precondition 'valid_string_s' got status valid.
 [eva] computing for function memrchr <- main.
-  Called from string_h.c:174.
-[eva] string_h.c:174: function memrchr: precondition 'valid' got status valid.
-[eva] string_h.c:174: 
+  Called from string_h.c:184.
+[eva] string_h.c:184: function memrchr: precondition 'valid' got status valid.
+[eva] string_h.c:184: 
   function memrchr: precondition 'initialization' got status valid.
-[eva] string_h.c:174: 
+[eva] string_h.c:184: 
   function memrchr: precondition 'danglingness' got status valid.
-[kernel] string_h.c:174: Warning: using size of 'void'
 [eva] Done for function memrchr
-[eva:alarm] string_h.c:175: Warning: check got status unknown.
+[eva:alarm] string_h.c:185: Warning: check 'imprecise' got status unknown.
+[eva] computing for function memmem <- main.
+  Called from string_h.c:190.
+[eva] using specification for function memmem
+[eva] string_h.c:190: 
+  function memmem: precondition 'valid_haystack' got status valid.
+[eva] string_h.c:190: 
+  function memmem: precondition 'valid_needle' got status valid.
+[eva] Done for function memmem
+[eva:alarm] string_h.c:191: Warning: check 'imprecise' got status unknown.
+[eva] computing for function memmem <- main.
+  Called from string_h.c:194.
+[eva] string_h.c:194: 
+  function memmem: precondition 'valid_haystack' got status valid.
+[eva] string_h.c:194: 
+  function memmem: precondition 'valid_needle' got status valid.
+[eva] Done for function memmem
+[eva:alarm] string_h.c:195: Warning: check 'imprecise' got status unknown.
+[eva] computing for function strsep <- main.
+  Called from string_h.c:199.
+[eva] using specification for function strsep
+[eva] string_h.c:199: 
+  function strsep: precondition 'valid_stringp' got status valid.
+[eva] string_h.c:199: 
+  function strsep, behavior valid_stringp: precondition 'valid_string_stringp' got status valid.
+[eva] Done for function strsep
+[eva] string_h.c:200: check got status valid.
+[eva] computing for function strsep <- main.
+  Called from string_h.c:201.
+[eva] string_h.c:201: 
+  function strsep: precondition 'valid_stringp' got status valid.
+[eva] string_h.c:201: 
+  function strsep, behavior valid_stringp: precondition 'valid_string_stringp' got status valid.
+[eva] Done for function strsep
+[eva] string_h.c:202: check got status valid.
+[eva] computing for function strsep <- main.
+  Called from string_h.c:204.
+[eva] string_h.c:204: 
+  function strsep: precondition 'valid_stringp' got status valid.
+[eva:invalid-assigns] string_h.c:204: 
+  Completely invalid destination for assigns clause *(*(stringp + (0 ..))).
+  Ignoring.
+[eva] Done for function strsep
+[eva] string_h.c:205: check got status valid.
+[eva] computing for function stpncpy <- main.
+  Called from string_h.c:209.
+[eva] using specification for function stpncpy
+[eva] string_h.c:209: 
+  function stpncpy: precondition 'valid_string_src' got status valid.
+[eva] string_h.c:209: 
+  function stpncpy: precondition 'valid_dest' got status valid.
+[eva] string_h.c:209: 
+  function stpncpy: precondition 'separation' got status valid.
+[eva] FRAMAC_SHARE/libc/string.h:627: 
+  cannot evaluate ACSL term, unsupported ACSL construct: logic function strncmp
+[eva] Done for function stpncpy
+[eva] string_h.c:210: check got status valid.
+[eva:alarm] string_h.c:211: Warning: check got status unknown.
+[eva] computing for function stpncpy <- main.
+  Called from string_h.c:213.
+[eva] string_h.c:213: 
+  function stpncpy: precondition 'valid_string_src' got status valid.
+[eva] string_h.c:213: 
+  function stpncpy: precondition 'valid_dest' got status valid.
+[eva] string_h.c:213: 
+  function stpncpy: precondition 'separation' got status valid.
+[eva] FRAMAC_SHARE/libc/string.h:621: 
+  cannot evaluate ACSL term, unsupported ACSL construct: logic function strcmp
+[eva] Done for function stpncpy
+[eva:alarm] string_h.c:214: Warning: check got status unknown.
+[eva:alarm] string_h.c:215: Warning: check got status unknown.
+[eva] string_h.c:216: check got status valid.
+[eva] computing for function strlcat <- main.
+  Called from string_h.c:220.
+[eva] string_h.c:220: 
+  function strlcat: precondition 'valid_string_src' got status valid.
+[eva] string_h.c:220: 
+  function strlcat: precondition 'valid_string_dest' got status valid.
+[eva] string_h.c:220: 
+  function strlcat: precondition 'room_nstring' got status valid.
+[eva] string_h.c:220: 
+  function strlcat: precondition 'separation' got status valid.
+[eva] Done for function strlcat
+[eva:alarm] string_h.c:221: Warning: check 'imprecise' got status unknown.
+[eva] computing for function strlcat <- main.
+  Called from string_h.c:222.
+[eva:alarm] string_h.c:222: Warning: 
+  function strlcat: precondition 'valid_string_src' got status unknown.
+[eva:alarm] string_h.c:222: Warning: 
+  function strlcat: precondition 'valid_string_dest' got status unknown.
+[eva] string_h.c:222: 
+  function strlcat: precondition 'room_nstring' got status valid.
+[eva] string_h.c:222: 
+  function strlcat: precondition 'separation' got status valid.
+[eva] Done for function strlcat
+[eva] computing for function strlcat <- main.
+  Called from string_h.c:227.
+[eva] string_h.c:227: 
+  function strlcat: precondition 'valid_string_src' got status valid.
+[eva] string_h.c:227: 
+  function strlcat: precondition 'valid_string_dest' got status valid.
+[eva] string_h.c:227: 
+  function strlcat: precondition 'room_nstring' got status valid.
+[eva:alarm] string_h.c:227: Warning: 
+  function strlcat: precondition 'separation' got status invalid.
+[eva] Done for function strlcat
+[eva] computing for function strlcat <- main.
+  Called from string_h.c:231.
+[eva] string_h.c:231: 
+  function strlcat: precondition 'valid_string_src' got status valid.
+[eva] string_h.c:231: 
+  function strlcat: precondition 'valid_string_dest' got status valid.
+[eva] string_h.c:231: 
+  function strlcat: precondition 'room_nstring' got status valid.
+[eva] string_h.c:231: 
+  function strlcat: precondition 'separation' got status valid.
+[eva] Done for function strlcat
+[eva] computing for function strlcat <- main.
+  Called from string_h.c:235.
+[eva] string_h.c:235: 
+  function strlcat: precondition 'valid_string_src' got status valid.
+[eva] string_h.c:235: 
+  function strlcat: precondition 'valid_string_dest' got status valid.
+[eva] string_h.c:235: 
+  function strlcat: precondition 'room_nstring' got status valid.
+[eva] string_h.c:235: 
+  function strlcat: precondition 'separation' got status valid.
+[eva] Done for function strlcat
+[eva] computing for function strxfrm <- main.
+  Called from string_h.c:240.
+[eva] using specification for function strxfrm
+[eva] string_h.c:240: 
+  function strxfrm: precondition 'valid_dest' got status valid.
+[eva] string_h.c:240: 
+  function strxfrm: precondition 'valid_string_src' got status valid.
+[eva] string_h.c:240: 
+  function strxfrm: precondition 'separation' got status valid.
+[eva] Done for function strxfrm
+[eva] computing for function strxfrm <- main.
+  Called from string_h.c:242.
+[eva] string_h.c:242: 
+  function strxfrm: precondition 'valid_dest' got status valid.
+[eva] string_h.c:242: 
+  function strxfrm: precondition 'valid_string_src' got status valid.
+[eva] string_h.c:242: 
+  function strxfrm: precondition 'separation' got status valid.
+[eva] Done for function strxfrm
 [eva] Recording results for main
 [eva] Done for function main
 [eva] ====== VALUES COMPUTED ======
@@ -416,7 +621,7 @@
          [1..5] ∈ [--..--] or UNINITIALIZED
          [6..9] ∈ UNINITIALIZED
 [eva:final-states] Values at end of function test_strcmp:
-  res ∈ {0}
+  res ∈ [--..--]
 [eva:final-states] Values at end of function test_strlcpy:
   buf[0..15] ∈ [--..--]
   buf2[0..5] ∈ [--..--]
@@ -433,6 +638,12 @@
       [1..99] ∈ [--..--] or UNINITIALIZED
   source[0..98] ∈ {90}
         [99] ∈ {0}
+  buf1[0] ∈ {97}
+      [1] ∈ {98}
+      [2] ∈ {0}
+      [3] ∈ {99}
+      [4] ∈ {100}
+      [5..7] ∈ [--..--]
 [eva:final-states] Values at end of function test_strncpy:
   src[0] ∈ {97}
      [1] ∈ {98}
@@ -443,31 +654,31 @@
       [2] ∈ UNINITIALIZED
 [eva:final-states] Values at end of function test_strrchr:
   s1 ∈ {{ "not a palyndrome" }}
-  p ∈ {0}
+  p ∈ {{ NULL ; "not a palyndrome" + [0..16] }}
 [eva:final-states] Values at end of function test_strstr:
   s ∈ {{ "aba" ; "bab" }}
   needle ∈ {{ "a" ; "b" }}
-  res ∈ {{ "aba" + {0; 1; 2; 3} ; "bab" + {0; 1; 2; 3} }}
+  res ∈ {{ NULL ; "aba" + {0; 1; 2; 3} ; "bab" + {0; 1; 2; 3} }}
 [eva:final-states] Values at end of function test_strtok:
-  __fc_strtok_ptr ∈ {{ "constant!" + [0..--] }}
+  __fc_strtok_ptr ∈ {{ "constant!" + [0..9] }}
   buf[0..1] ∈ [--..--]
   a ∈ {{ NULL ; &buf{[0], [1]} }}
   b ∈ {{ NULL ; &buf{[0], [1]} }}
   buf2[0..3] ∈ [--..--]
   p ∈ {{ NULL ; &buf2{[0], [1], [2], [3]} }}
-  q ∈ {{ NULL ; &buf2 + [0..--] }}
-  r ∈ {0}
+  q ∈ {{ NULL ; &buf2{[0], [1], [2], [3]} }}
+  r ∈ {{ NULL ; "constant!" + [0..9] }}
 [eva:final-states] Values at end of function test_strtok_r:
-  saveptr ∈ {{ "constant!" + [0..--] }}
+  saveptr ∈ {{ "constant!" + [0..9] }}
   buf[0..1] ∈ [--..--]
   a ∈ {{ NULL ; &buf{[0], [1]} }}
   b ∈ {{ NULL ; &buf{[0], [1]} }}
   buf2[0..3] ∈ [--..--]
   p ∈ {{ NULL ; &buf2{[0], [1], [2], [3]} }}
-  q ∈ {{ NULL ; &buf2 + [0..--] }}
-  r ∈ {0}
+  q ∈ {{ NULL ; &buf2{[0], [1], [2], [3]} }}
+  r ∈ {{ NULL ; "constant!" + [0..9] }}
 [eva:final-states] Values at end of function main:
-  __fc_strtok_ptr ∈ {{ "constant!" + [0..--] }}
+  __fc_strtok_ptr ∈ {{ "constant!" + [0..9] }}
   a ∈ [--..--]
   b ∈ [--..--]
   strsig ∈ {{ &__fc_strsignal[0] }}
@@ -479,6 +690,58 @@
   nul2 ∈ {{ "haystack" + [0..8] }}
   pdest[0..8] ∈ [--..--] or UNINITIALIZED
        [9] ∈ UNINITIALIZED
-  pend ∈ {{ &pdest[9] }}
-  rchr ∈ {{ NULL ; "haystack" + [--..--] }}
+  pend ∈ {{ &pdest + [--..--] }}
+  rchr ∈ {{ NULL ; "haystack" + [0..8] }}
+  mm_haystack[0] ∈ {73}
+             [1] ∈ {104}
+             [2] ∈ {97}
+             [3] ∈ {118}
+             [4] ∈ {101}
+             [5] ∈ {0}
+             [6] ∈ {122}
+             [7] ∈ {101}
+             [8] ∈ {114}
+             [9] ∈ {111}
+  mm_needle[0] ∈ {122}
+           [1] ∈ {101}
+           [2] ∈ {114}
+           [3] ∈ {111}
+  memm ∈ {{ NULL ; &mm_haystack + [0..9] }}
+  mm_needle2[0] ∈ {48}
+  strsep_buf[0] ∈ [--..--]
+            [1] ∈ {44}
+            [2] ∈ {98}
+            [3..4] ∈ {44}
+            [5..6] ∈ {99}
+            [7] ∈ {0}
+  strsep_p1 ∈ {{ &strsep_buf[0] }}
+  strsep_needle[0] ∈ {44}
+               [1] ∈ {46}
+               [2] ∈ {47}
+               [3] ∈ {0}
+  strsep_p2 ∈ {0}
+  strsep_null ∈ {0}
+  stpncpy_src ∈ {{ "12345678" }}
+  stpncpy_dest[0..4] ∈ [--..--]
+  stpncpy_res ∈ {{ &stpncpy_dest[2] }}
+  stpncpy_src2 ∈ {{ "12" }}
+  strlcat_src ∈ {{ "cat" }}
+  strlcat_buf[0] ∈ [--..--]
+             [1] ∈ {111}
+             [2] ∈ {103}
+             [3..9] ∈ [--..--]
+  strlcat_res ∈ [--..--]
+  strlcat_buf2[0] ∈ {100}
+              [1] ∈ {111}
+              [2] ∈ {103}
+              [3..4] ∈ [--..--]
+              [5] ∈ {116}
+              [6..9] ∈ {0}
+  strlcat_buf3[0] ∈ {100}
+              [1] ∈ {111}
+              [2] ∈ {103}
+              [3..9] ∈ [--..--]
+  strxfrm_src ∈ {{ "harr" }}
+  strxfrm_res ∈ [--..--]
+  strxfrm_dest[0..9] ∈ [--..--] or UNINITIALIZED
   __retres ∈ {0}
diff --git a/tests/libc/oracle/sys_select.res.oracle b/tests/libc/oracle/sys_select.res.oracle
index 15b98d5c57aeee45bf8162ce370897108e020a57..99b776af8457627f82eda3ca5fcd93eb5bdee8b7 100644
--- a/tests/libc/oracle/sys_select.res.oracle
+++ b/tests/libc/oracle/sys_select.res.oracle
@@ -14,7 +14,7 @@
 [eva] Done for function exit
 [eva] sys_select.c:16: Call to builtin memset
 [eva] sys_select.c:16: function memset: precondition 'valid_s' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:134: 
+[eva] FRAMAC_SHARE/libc/string.h:151: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memset
 [eva] computing for function htonl <- main.
   Called from sys_select.c:18.
@@ -56,7 +56,7 @@
   function memcpy: precondition 'valid_src' got status valid.
 [eva] sys_select.c:30: 
   function memcpy: precondition 'separation' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:101: 
+[eva] FRAMAC_SHARE/libc/string.h:118: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp
 [eva] computing for function select <- main.
   Called from sys_select.c:31.
diff --git a/tests/metrics/oracle/libc.json b/tests/metrics/oracle/libc.json
index 912a2a97651516f781c7c5ec2cd1328614c060f7..ffe85949926260ec3ba8fc1da99a529b21720cb8 100644
--- a/tests/metrics/oracle/libc.json
+++ b/tests/metrics/oracle/libc.json
@@ -63,6 +63,7 @@
     { "geteuid": { "calls": 0, "address_taken": false } },
     { "getgid": { "calls": 0, "address_taken": false } },
     { "gethostname": { "calls": 0, "address_taken": false } },
+    { "getline": { "calls": 0, "address_taken": false } },
     { "getopt_long": { "calls": 0, "address_taken": false } },
     { "getopt_long_only": { "calls": 0, "address_taken": false } },
     { "getpgid": { "calls": 0, "address_taken": false } },
@@ -129,6 +130,7 @@
     { "ungetc": { "calls": 0, "address_taken": false } },
     { "unlink": { "calls": 0, "address_taken": false } },
     { "usleep": { "calls": 0, "address_taken": false } },
+    { "vasprintf": { "calls": 0, "address_taken": false } },
     { "vfprintf": { "calls": 0, "address_taken": false } },
     { "vfscanf": { "calls": 0, "address_taken": false } },
     { "vprintf": { "calls": 0, "address_taken": false } },
diff --git a/tests/misc/oracle/widen_hints_float.res.oracle b/tests/misc/oracle/widen_hints_float.res.oracle
index 33c8638ff516aadecf80d98b897bb2e93a4285a5..f32842ede0057dd78941208b597363a31007bc88 100644
--- a/tests/misc/oracle/widen_hints_float.res.oracle
+++ b/tests/misc/oracle/widen_hints_float.res.oracle
@@ -13,25 +13,19 @@
   Called from widen_hints_float.c:17.
 [eva] using specification for function Frama_C_double_interval
 [eva] widen_hints_float.c:17: 
-  function Frama_C_double_interval: precondition 'finite' got status valid.
-[eva] widen_hints_float.c:17: 
-  function Frama_C_double_interval: precondition 'order' got status valid.
+  function Frama_C_double_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_double_interval
 [eva] widen_hints_float.c:20: starting to merge loop iterations
 [eva] computing for function Frama_C_double_interval <- parabola <- main.
   Called from widen_hints_float.c:24.
 [eva] widen_hints_float.c:24: 
-  function Frama_C_double_interval: precondition 'finite' got status valid.
-[eva] widen_hints_float.c:24: 
-  function Frama_C_double_interval: precondition 'order' got status valid.
+  function Frama_C_double_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_double_interval
 [eva] widen_hints_float.c:27: starting to merge loop iterations
 [eva] computing for function Frama_C_double_interval <- parabola <- main.
   Called from widen_hints_float.c:31.
 [eva] widen_hints_float.c:31: 
-  function Frama_C_double_interval: precondition 'finite' got status valid.
-[eva] widen_hints_float.c:31: 
-  function Frama_C_double_interval: precondition 'order' got status valid.
+  function Frama_C_double_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_double_interval
 [eva] widen_hints_float.c:33: starting to merge loop iterations
 [eva:alarm] widen_hints_float.c:34: Warning: 
@@ -46,9 +40,7 @@
 [eva] computing for function Frama_C_double_interval <- trigo <- main.
   Called from widen_hints_float.c:42.
 [eva] widen_hints_float.c:42: 
-  function Frama_C_double_interval: precondition 'finite' got status valid.
-[eva] widen_hints_float.c:42: 
-  function Frama_C_double_interval: precondition 'order' got status valid.
+  function Frama_C_double_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_double_interval
 [eva] widen_hints_float.c:42: Call to builtin sin
 [eva] widen_hints_float.c:42: 
@@ -81,9 +73,7 @@
 [eva] computing for function Frama_C_double_interval <- first_order_filter <- main.
   Called from widen_hints_float.c:49.
 [eva] widen_hints_float.c:49: 
-  function Frama_C_double_interval: precondition 'finite' got status valid.
-[eva] widen_hints_float.c:49: 
-  function Frama_C_double_interval: precondition 'order' got status valid.
+  function Frama_C_double_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_double_interval
 [eva] widen_hints_float.c:48: starting to merge loop iterations
 [eva] computing for function Frama_C_double_interval <- first_order_filter <- main.
@@ -104,9 +94,7 @@
 [eva] computing for function Frama_C_double_interval <- first_order_filter <- main.
   Called from widen_hints_float.c:54.
 [eva] widen_hints_float.c:54: 
-  function Frama_C_double_interval: precondition 'finite' got status valid.
-[eva] widen_hints_float.c:54: 
-  function Frama_C_double_interval: precondition 'order' got status valid.
+  function Frama_C_double_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_double_interval
 [eva] widen_hints_float.c:53: starting to merge loop iterations
 [eva] computing for function Frama_C_double_interval <- first_order_filter <- main.
diff --git a/tests/rte/oracle/value_rte.res.oracle b/tests/rte/oracle/value_rte.res.oracle
index 457155617c9ff6cdc993b062dc7668cd2218b4e6..ff65907c9966bee5710af7dda4c74629c56bccfd 100644
--- a/tests/rte/oracle/value_rte.res.oracle
+++ b/tests/rte/oracle/value_rte.res.oracle
@@ -900,6 +900,23 @@
 [  Valid  ] Default behavior
             by Frama-C kernel.
 
+--------------------------------------------------------------------------------
+--- Properties of Function 'getline'
+--------------------------------------------------------------------------------
+
+[ Extern  ] Assigns (file FRAMAC_SHARE/libc/stdio.h, line 584)
+            Unverifiable but considered Valid.
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 584)
+            Unverifiable but considered Valid.
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 584)
+            Unverifiable but considered Valid.
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 584)
+            Unverifiable but considered Valid.
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 584)
+            Unverifiable but considered Valid.
+[  Valid  ] Default behavior
+            by Frama-C kernel.
+
 --------------------------------------------------------------------------------
 --- Properties of Function 'fmemopen'
 --------------------------------------------------------------------------------
@@ -908,34 +925,53 @@
             Unverifiable but considered Valid.
 [ Extern  ] Post-condition 'errno_set'
             Unverifiable but considered Valid.
-[ Extern  ] Assigns (file FRAMAC_SHARE/libc/stdio.h, line 592)
+[ Extern  ] Assigns (file FRAMAC_SHARE/libc/stdio.h, line 593)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 592)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 593)
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 594)
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 595)
             Unverifiable but considered Valid.
 [  Valid  ] Default behavior
             by Frama-C kernel.
-[ Extern  ] Frees/Allocates nothing/(file FRAMAC_SHARE/libc/stdio.h, line 601) 
+[ Extern  ] Frees/Allocates nothing/(file FRAMAC_SHARE/libc/stdio.h, line 592) 
             Unverifiable but considered Valid.
 
 --------------------------------------------------------------------------------
 --- Properties of Function 'asprintf'
 --------------------------------------------------------------------------------
 
-[ Extern  ] Post-condition 'result_error_or_written_byes'
-            Unverifiable but considered Valid.
-[ Extern  ] Assigns (file FRAMAC_SHARE/libc/stdio.h, line 613)
+[ Extern  ] Post-condition 'result_error_or_written_bytes'
             Unverifiable but considered Valid.
-[ Extern  ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 613)
+[ Extern  ] Assigns (file FRAMAC_SHARE/libc/stdio.h, line 614)
             Unverifiable but considered Valid.
 [ Extern  ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 614)
             Unverifiable but considered Valid.
 [ Extern  ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 615)
             Unverifiable but considered Valid.
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 616)
+            Unverifiable but considered Valid.
+[  Valid  ] Default behavior
+            by Frama-C kernel.
+[ Extern  ] Frees/Allocates nothing/(file FRAMAC_SHARE/libc/stdio.h, line 613) 
+            Unverifiable but considered Valid.
+
+--------------------------------------------------------------------------------
+--- Properties of Function 'vasprintf'
+--------------------------------------------------------------------------------
+
+[ Extern  ] Post-condition 'result_error_or_written_bytes'
+            Unverifiable but considered Valid.
+[ Extern  ] Assigns (file FRAMAC_SHARE/libc/stdio.h, line 627)
+            Unverifiable but considered Valid.
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 627)
+            Unverifiable but considered Valid.
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 629)
+            Unverifiable but considered Valid.
+[ Extern  ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 630)
+            Unverifiable but considered Valid.
 [  Valid  ] Default behavior
             by Frama-C kernel.
-[ Extern  ] Frees/Allocates nothing/(file FRAMAC_SHARE/libc/stdio.h, line 618) 
+[ Extern  ] Frees/Allocates nothing/(file FRAMAC_SHARE/libc/stdio.h, line 626) 
             Unverifiable but considered Valid.
 
 --------------------------------------------------------------------------------
@@ -952,8 +988,8 @@
 --------------------------------------------------------------------------------
 --- Status Report Summary
 --------------------------------------------------------------------------------
-    77 Completely validated
-   228 Considered valid
+    79 Completely validated
+   239 Considered valid
      1 To be validated
-   306 Total
+   319 Total
 --------------------------------------------------------------------------------
diff --git a/tests/spec/oracle/clash_double_file_bts1598.res.oracle b/tests/spec/oracle/clash_double_file_bts1598.res.oracle
index 19ba21bf7c8a1977344f466ea3618ae2de4535a1..882966aa87df5308c70e324f5c7c962f57b9c7ac 100644
--- a/tests/spec/oracle/clash_double_file_bts1598.res.oracle
+++ b/tests/spec/oracle/clash_double_file_bts1598.res.oracle
@@ -10,6 +10,7 @@
 #include "setjmp.h"
 #include "signal.h"
 #include "stdarg.h"
+#include "stddef.h"
 #include "stdint.h"
 #include "stdio.h"
 #include "stdlib.h"
@@ -31,6 +32,7 @@
 #include "setjmp.h"
 #include "signal.h"
 #include "stdarg.h"
+#include "stddef.h"
 #include "stdint.h"
 #include "stdio.h"
 #include "stdlib.h"
diff --git a/tests/syntax/oracle/gnu-asm-aesni.res.oracle b/tests/syntax/oracle/gnu-asm-aesni.res.oracle
index 39af3eecb9821373ffafd60a810bac91b22964ea..b376a0b1bd9b560ac50964f905e5ad283eda775a 100644
--- a/tests/syntax/oracle/gnu-asm-aesni.res.oracle
+++ b/tests/syntax/oracle/gnu-asm-aesni.res.oracle
@@ -3,6 +3,8 @@
   Clobber list contains "memory" argument. Assuming no side effects beyond those mentioned in operands.
 /* Generated by Frama-C */
 #include "__fc_builtin.h"
+#include "stddef.h"
+#include "stdint.h"
 #include "string.h"
 #include "strings.h"
 typedef unsigned short byte;
diff --git a/tests/value/oracle/empty_struct2.res.oracle b/tests/value/oracle/empty_struct2.res.oracle
index cdce1d966fc0b6765aab5589c86e74749cad7965..a2215f48611a46a72f4fd4864db1ff92cc664cd7 100644
--- a/tests/value/oracle/empty_struct2.res.oracle
+++ b/tests/value/oracle/empty_struct2.res.oracle
@@ -15,7 +15,7 @@
   function memcpy: precondition 'valid_src' got status valid.
 [eva] empty_struct2.c:52: 
   function memcpy: precondition 'separation' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:101: 
+[eva] FRAMAC_SHARE/libc/string.h:118: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp
 [eva] empty_struct2.c:57: Call to builtin memcpy
 [eva] empty_struct2.c:57: 
diff --git a/tests/value/oracle/empty_union.res.oracle b/tests/value/oracle/empty_union.res.oracle
index 506cb4a62ddbce0ad78bcf556dfa6829daa1fc0f..81933e68034eb72c8d3cee4b04550b832dcbeb8b 100644
--- a/tests/value/oracle/empty_union.res.oracle
+++ b/tests/value/oracle/empty_union.res.oracle
@@ -22,7 +22,7 @@
   function memcpy: precondition 'valid_src' got status valid.
 [eva] empty_union.c:72: 
   function memcpy: precondition 'separation' got status valid.
-[eva] FRAMAC_SHARE/libc/string.h:101: 
+[eva] FRAMAC_SHARE/libc/string.h:118: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp
 [eva] empty_union.c:77: Call to builtin memcpy
 [eva] empty_union.c:77: 
diff --git a/tests/value/oracle/equality.res.oracle b/tests/value/oracle/equality.res.oracle
index a581650e2a9b4a68643a2aabc31c2ea26a79bd26..f8517e976f2f7d7959e54502ae43bd7644d4dd18 100644
--- a/tests/value/oracle/equality.res.oracle
+++ b/tests/value/oracle/equality.res.oracle
@@ -26,16 +26,12 @@
   Called from equality.c:52.
 [eva] using specification for function Frama_C_float_interval
 [eva] equality.c:52: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] equality.c:52: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva] computing for function Frama_C_float_interval <- symbolic <- main.
   Called from equality.c:53.
 [eva] equality.c:53: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] equality.c:53: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva] equality.c:57: Call to builtin sqrtf
 [eva] equality.c:57: function sqrtf: precondition 'finite_arg' got status valid.
diff --git a/tests/value/oracle/for_loops.2.res.oracle b/tests/value/oracle/for_loops.2.res.oracle
index 48442a3db265d996a49a6bd572b4c1d301d4ae5b..dee160a2e94509502fd7b9dd35fd3458a2153489 100644
--- a/tests/value/oracle/for_loops.2.res.oracle
+++ b/tests/value/oracle/for_loops.2.res.oracle
@@ -13,6 +13,7 @@
 [eva] for_loops.c:39: 
   Frama_C_dump_each:
   # cvalue:
+  __fc_heap_status ∈ [--..--]
   Frama_C_entropy_source ∈ [--..--]
   x ∈ {0}
   j ∈ UNINITIALIZED
@@ -24,6 +25,7 @@
 [eva] for_loops.c:41: 
   Frama_C_dump_each:
   # cvalue:
+  __fc_heap_status ∈ [--..--]
   Frama_C_entropy_source ∈ [--..--]
   x ∈ {0}
   j ∈ [0..1000]
diff --git a/tests/value/oracle/initialized.res.oracle b/tests/value/oracle/initialized.res.oracle
index 6834f774e5734624b7a988ea43353c3c49baf858..36b383499c8174f9e2171064ccf362c7f46e6982 100644
--- a/tests/value/oracle/initialized.res.oracle
+++ b/tests/value/oracle/initialized.res.oracle
@@ -78,6 +78,7 @@
 [eva] initialized.c:63: 
   Frama_C_dump_each:
   # cvalue:
+  __fc_heap_status ∈ [--..--]
   Frama_C_entropy_source ∈ [--..--]
   b1 ∈ [--..--]
   b2 ∈ [--..--]
@@ -109,6 +110,7 @@
 [eva] initialized.c:68: 
   Frama_C_dump_each:
   # cvalue:
+  __fc_heap_status ∈ [--..--]
   Frama_C_entropy_source ∈ [--..--]
   b1 ∈ [--..--]
   b2 ∈ [--..--]
diff --git a/tests/value/oracle/logic.res.oracle b/tests/value/oracle/logic.res.oracle
index c39c421b1ea9a8f94d4226c8fafd0e3846dece7b..b0a14baac33a998107dcc3a3a2f471f058be4484 100644
--- a/tests/value/oracle/logic.res.oracle
+++ b/tests/value/oracle/logic.res.oracle
@@ -440,9 +440,7 @@
   Called from logic.c:426.
 [eva] using specification for function Frama_C_double_interval
 [eva] logic.c:426: 
-  function Frama_C_double_interval: precondition 'finite' got status valid.
-[eva] logic.c:426: 
-  function Frama_C_double_interval: precondition 'order' got status valid.
+  function Frama_C_double_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_double_interval
 [eva] computing for function fabs <- float_abs <- main.
   Called from logic.c:427.
@@ -451,9 +449,7 @@
 [eva] computing for function Frama_C_double_interval <- float_abs <- main.
   Called from logic.c:429.
 [eva] logic.c:429: 
-  function Frama_C_double_interval: precondition 'finite' got status valid.
-[eva] logic.c:429: 
-  function Frama_C_double_interval: precondition 'order' got status valid.
+  function Frama_C_double_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_double_interval
 [eva] computing for function fabs <- float_abs <- main.
   Called from logic.c:430.
@@ -462,9 +458,7 @@
 [eva] computing for function Frama_C_double_interval <- float_abs <- main.
   Called from logic.c:432.
 [eva] logic.c:432: 
-  function Frama_C_double_interval: precondition 'finite' got status valid.
-[eva] logic.c:432: 
-  function Frama_C_double_interval: precondition 'order' got status valid.
+  function Frama_C_double_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_double_interval
 [eva] computing for function fabs <- float_abs <- main.
   Called from logic.c:433.
@@ -473,9 +467,7 @@
 [eva] computing for function Frama_C_double_interval <- float_abs <- main.
   Called from logic.c:435.
 [eva] logic.c:435: 
-  function Frama_C_double_interval: precondition 'finite' got status valid.
-[eva] logic.c:435: 
-  function Frama_C_double_interval: precondition 'order' got status valid.
+  function Frama_C_double_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_double_interval
 [eva] computing for function fabs <- float_abs <- main.
   Called from logic.c:436.
diff --git a/tests/value/oracle/octagons.res.oracle b/tests/value/oracle/octagons.res.oracle
index 47d0cd15db8b4b0ea7ec7dd90c0ea8f55b1005da..4c101ae36a022f921e24cf3e5e2f4c26256a2772 100644
--- a/tests/value/oracle/octagons.res.oracle
+++ b/tests/value/oracle/octagons.res.oracle
@@ -303,9 +303,7 @@
   Called from octagons.c:265.
 [eva] using specification for function Frama_C_float_interval
 [eva] octagons.c:265: 
-  function Frama_C_float_interval: precondition 'finite' got status valid.
-[eva] octagons.c:265: 
-  function Frama_C_float_interval: precondition 'order' got status valid.
+  function Frama_C_float_interval, behavior finite: precondition 'order' got status valid.
 [eva] Done for function Frama_C_float_interval
 [eva] octagons.c:267: starting to merge loop iterations
 [eva] Recording results for arrays
diff --git a/tests/value/oracle_apron/for_loops.2.res.oracle b/tests/value/oracle_apron/for_loops.2.res.oracle
index fb7fb2445acb062e4d01ef1a4849b39cbb1067fe..500d30a498a7e434bc5e7b30b493097910c5101d 100644
--- a/tests/value/oracle_apron/for_loops.2.res.oracle
+++ b/tests/value/oracle_apron/for_loops.2.res.oracle
@@ -1,4 +1,4 @@
-37,39c37
+39,41c39
 < [eva:alarm] for_loops.c:42: Warning: 
 <   signed overflow. assert w + T[j] ≤ 2147483647;
 < [eva] for_loops.c:43: Frama_C_show_each: [0..2147483647]
diff --git a/tests/value/oracle_apron/octagons.res.oracle b/tests/value/oracle_apron/octagons.res.oracle
index 1c3d249968164cc4519adfbf3661a2bbabe3a944..d71f51af91c0ff5b22c5a835a04b77b0ab73c822 100644
--- a/tests/value/oracle_apron/octagons.res.oracle
+++ b/tests/value/oracle_apron/octagons.res.oracle
@@ -1,4 +1,4 @@
-371,374c371,374
+369,372c369,372
 <   a ∈ [-1024..2147483647]
 <   b ∈ [-1023..2147483647]
 <   c ∈ [-1023..2147483647]
diff --git a/tests/value/oracle_equality/octagons.res.oracle b/tests/value/oracle_equality/octagons.res.oracle
index 3b1ca3ecba8569890b9c9fad8a1d7fe77e4b0226..54c83f9747f9abb7335660dbcd554f7d0bd14cb1 100644
--- a/tests/value/oracle_equality/octagons.res.oracle
+++ b/tests/value/oracle_equality/octagons.res.oracle
@@ -2,7 +2,7 @@
 < [eva] octagons.c:54: Frama_C_show_each_unreduced_char: [-128..127], [-128..127]
 ---
 > [eva] octagons.c:54: Frama_C_show_each_unreduced_char: [-118..114], [6..127]
-358c358
+356c356
 <   ct ∈ [--..--] or UNINITIALIZED
 ---
 >   ct ∈ [6..127] or UNINITIALIZED
diff --git a/tests/value/oracle_gauges/for_loops.2.res.oracle b/tests/value/oracle_gauges/for_loops.2.res.oracle
index fb7fb2445acb062e4d01ef1a4849b39cbb1067fe..500d30a498a7e434bc5e7b30b493097910c5101d 100644
--- a/tests/value/oracle_gauges/for_loops.2.res.oracle
+++ b/tests/value/oracle_gauges/for_loops.2.res.oracle
@@ -1,4 +1,4 @@
-37,39c37
+39,41c39
 < [eva:alarm] for_loops.c:42: Warning: 
 <   signed overflow. assert w + T[j] ≤ 2147483647;
 < [eva] for_loops.c:43: Frama_C_show_each: [0..2147483647]
diff --git a/tests/value/oracle_gauges/octagons.res.oracle b/tests/value/oracle_gauges/octagons.res.oracle
index f07f5b7d9bc184727b1db9fd272ec66d12fae701..0789abe608fddb8cdbcbbd076f370c319f45db2c 100644
--- a/tests/value/oracle_gauges/octagons.res.oracle
+++ b/tests/value/oracle_gauges/octagons.res.oracle
@@ -11,7 +11,7 @@
 < [eva] octagons.c:143: Frama_C_show_each_imprecise: [-2147483648..1]
 ---
 > [eva] octagons.c:143: Frama_C_show_each_imprecise: [-2468..1]
-371,374c363,366
+369,372c361,364
 <   a ∈ [-1024..2147483647]
 <   b ∈ [-1023..2147483647]
 <   c ∈ [-1023..2147483647]
@@ -21,7 +21,7 @@
 >   b ∈ [-181..1867]
 >   c ∈ [-602..1446]
 >   d ∈ [-190..1874]
-376c368
+374c366
 <   d2 ∈ [-2147483648..1]
 ---
 >   d2 ∈ [-2468..1]
diff --git a/tests/value/oracle_octagon/equality.res.oracle b/tests/value/oracle_octagon/equality.res.oracle
index 24564fbdf1425ff856a02a0ec9fe194fbaa53932..6937d5f393ff899cbc695ba61276e91b7a899374 100644
--- a/tests/value/oracle_octagon/equality.res.oracle
+++ b/tests/value/oracle_octagon/equality.res.oracle
@@ -1,8 +1,8 @@
-60c60
+56c56
 < [eva] equality.c:99: Frama_C_show_each_10_19: [10..42]
 ---
 > [eva] equality.c:99: Frama_C_show_each_10_19: [10..19]
-75,76c75,76
+71,72c71,72
 <   y ∈ [0..42] or UNINITIALIZED
 <   w ∈ [0..42] or UNINITIALIZED
 ---
diff --git a/tests/value/oracle_symblocs/equality.res.oracle b/tests/value/oracle_symblocs/equality.res.oracle
index 88c68949a08259045c8739cc863aeda42c44d155..392e4201ed4eee2a6e8c18ffa0e37716ac1f8190 100644
--- a/tests/value/oracle_symblocs/equality.res.oracle
+++ b/tests/value/oracle_symblocs/equality.res.oracle
@@ -1,14 +1,14 @@
-42,43c42,43
+38,39c38,39
 < [eva:alarm] equality.c:57: Warning: 
 <   function sqrtf: precondition 'arg_positive' got status unknown.
 ---
 > [eva] equality.c:57: 
 >   function sqrtf: precondition 'arg_positive' got status valid.
-60c60
+56c56
 < [eva] equality.c:99: Frama_C_show_each_10_19: [10..42]
 ---
 > [eva] equality.c:99: Frama_C_show_each_10_19: [10..19]
-87c87
+83c83
 <   res ∈ [-0. .. 3.16227769852] or UNINITIALIZED
 ---
 >   res ∈ [3.74339206651e-23 .. 3.16227769852] or UNINITIALIZED