diff --git a/src/plugins/dive/tests/dive/oracle/exceptional.res.oracle b/src/plugins/dive/tests/dive/oracle/exceptional.res.oracle
index 47e5fcec857fbf529aa684071565deb0082297fb..ae50bf359dc8ec7fdd730f6d2635af6d25ce7453 100644
--- a/src/plugins/dive/tests/dive/oracle/exceptional.res.oracle
+++ b/src/plugins/dive/tests/dive/oracle/exceptional.res.oracle
@@ -13,6 +13,10 @@
   signed overflow. assert a + x ≤ 2147483647;
 [eva:alarm] exceptional.i:23: Warning: 
   signed overflow. assert (int)(a + x) + (int)c ≤ 2147483647;
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    exceptional.i:5: arithmetic operation on addresses
+      (read 3 times, propagated 3 times) garbled mix of &{i}
 [eva:summary] ====== ANALYSIS SUMMARY ======
   ----------------------------------------------------------------------------
   2 functions analyzed (out of 2): 100% coverage.
diff --git a/src/plugins/e-acsl/tests/bts/oracle/issue-eacsl-145.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/issue-eacsl-145.res.oracle
index 44a3cdfd58d00b48dd99a2a3a393754880497e23..201d2b2a599aa089c5debb92d71b0fd2e6d33d98 100644
--- a/src/plugins/e-acsl/tests/bts/oracle/issue-eacsl-145.res.oracle
+++ b/src/plugins/e-acsl/tests/bts/oracle/issue-eacsl-145.res.oracle
@@ -18,6 +18,9 @@
 [eva] using specification for function __e_acsl_full_init
 [eva] using specification for function __e_acsl_valid
 [eva] using specification for function __e_acsl_assert_register_ptr
+[eva:garbled-mix:assigns] issue-eacsl-145.c:9: 
+  The specification of function __e_acsl_assert_register_ptr
+  has generated a garbled mix of addresses for assigns clause data->values.
 [eva] using specification for function __e_acsl_assert_register_ulong
 [eva:alarm] issue-eacsl-145.c:9: Warning: 
   function __e_acsl_assert_register_ulong: precondition data->values == \null ||
diff --git a/src/plugins/eva/self.ml b/src/plugins/eva/self.ml
index 88f3fdf2c69e4beb452975bb5a5f9f465402c9b9..d1c33a8a5ee375b35ac4c016138ba4181b58cfd3 100644
--- a/src/plugins/eva/self.ml
+++ b/src/plugins/eva/self.ml
@@ -96,9 +96,9 @@ let wkey_locals_escaping = register_warn_category "locals-escaping"
 let wkey_garbled_mix_write = register_warn_category "garbled-mix:write"
 let () = set_warn_status wkey_garbled_mix_write Log.Wfeedback
 let wkey_garbled_mix_assigns = register_warn_category "garbled-mix:assigns"
-let () = set_warn_status wkey_garbled_mix_assigns Log.Winactive
+let () = set_warn_status wkey_garbled_mix_assigns Log.Wfeedback
 let wkey_garbled_mix_summary = register_warn_category "garbled-mix:summary"
-let () = set_warn_status wkey_garbled_mix_summary Log.Winactive
+let () = set_warn_status wkey_garbled_mix_summary Log.Wfeedback
 let wkey_builtins_missing_spec = register_warn_category "builtins:missing-spec"
 let wkey_builtins_override = register_warn_category "builtins:override"
 let wkey_libc_unsupported_spec = register_warn_category "libc:unsupported-spec"
diff --git a/src/plugins/variadic/tests/defined/oracle/sum_with_unspecified_sequence.res.oracle b/src/plugins/variadic/tests/defined/oracle/sum_with_unspecified_sequence.res.oracle
index d8fbec93f6a55d50d7bd4c804afc9b29b796c593..0597fca78db0c2d14ac7825ecfcc7ffbaa0c75f8 100644
--- a/src/plugins/variadic/tests/defined/oracle/sum_with_unspecified_sequence.res.oracle
+++ b/src/plugins/variadic/tests/defined/oracle/sum_with_unspecified_sequence.res.oracle
@@ -23,6 +23,10 @@
 [eva:alarm] sum_with_unspecified_sequence.c:14: Warning: 
   signed overflow. assert ret + tmp ≤ 2147483647;
                    (tmp from vararg)
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    Initial state (read 12 times, propagated 6 times)
+      garbled mix of &{S_0_S___va_params; S_1_S___va_params}
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function sum:
   ret ∈
diff --git a/src/plugins/variadic/tests/known/oracle/exec.res.oracle b/src/plugins/variadic/tests/known/oracle/exec.res.oracle
index 74ea04f2c8f1a5bfd993c56fc4632ae881ab3cb7..335dfe32f04bc71a0f8347d6161575ecc33dbca2 100644
--- a/src/plugins/variadic/tests/known/oracle/exec.res.oracle
+++ b/src/plugins/variadic/tests/known/oracle/exec.res.oracle
@@ -20,8 +20,20 @@
   Fallback translation of call execlp to a call to the specialized version execlp_fallback_1.
 [eva] Analyzing a complete application starting at main
 [eva] using specification for function execve
+[eva:garbled-mix:assigns] exec.c:9: 
+  The specification of function execve has generated a garbled mix of addresses
+  for assigns clause \result.
 [eva] using specification for function execv
+[eva:garbled-mix:assigns] exec.c:11: 
+  The specification of function execv has generated a garbled mix of addresses
+  for assigns clause \result.
 [eva] using specification for function execvp
+[eva:garbled-mix:assigns] exec.c:12: 
+  The specification of function execvp has generated a garbled mix of addresses
+  for assigns clause \result.
+[eva:garbled-mix:assigns] exec.c:13: 
+  The specification of function execve has generated a garbled mix of addresses
+  for assigns clause \result.
 [kernel:annot:missing-spec] exec.c:15: Warning: 
   Neither code nor specification for function execlp_fallback_1,
    generating default assigns. See -generated-spec-* options for more info
diff --git a/src/plugins/variadic/tests/known/oracle/printf.res.oracle b/src/plugins/variadic/tests/known/oracle/printf.res.oracle
index efb382209ebc308a4db702b55202f52ddb07650f..7b945647be0216ee15d342ea55494da9642fb01b 100644
--- a/src/plugins/variadic/tests/known/oracle/printf.res.oracle
+++ b/src/plugins/variadic/tests/known/oracle/printf.res.oracle
@@ -114,6 +114,10 @@
 [eva] using specification for function printf_va_23
 [eva] using specification for function printf_va_24
 [eva] using specification for function printf_va_25
+[eva:garbled-mix:assigns] printf.c:68: 
+  The specification of function printf_va_25
+  has generated a garbled mix of addresses
+  for assigns clause __fc_stdout->__fc_FILE_data.
 [eva] using specification for function printf_va_26
 [kernel:annot:missing-spec] printf.c:71: Warning: 
   Neither code nor specification for function printf_fallback_1,
diff --git a/src/plugins/variadic/tests/known/oracle/printf_garbled_mix.res.oracle b/src/plugins/variadic/tests/known/oracle/printf_garbled_mix.res.oracle
index 55f26985dfe052afb8beee70b695b23c87f304a6..2db3d36303765a91e701f6147e9efaacfb3e789d 100644
--- a/src/plugins/variadic/tests/known/oracle/printf_garbled_mix.res.oracle
+++ b/src/plugins/variadic/tests/known/oracle/printf_garbled_mix.res.oracle
@@ -26,6 +26,10 @@
 [eva] using specification for function printf_va_1
 [eva] printf_garbled_mix.c:8: 
   Frama_C_show_each_nb_printed: [-2147483648..2147483647]
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    printf_garbled_mix.c:6: arithmetic operation on addresses
+      (read 2 times, propagated 3 times) garbled mix of &{a}
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function main:
   a[0] ∈ {1}
diff --git a/tests/builtins/oracle/alloc.0.res.oracle b/tests/builtins/oracle/alloc.0.res.oracle
index 7ce75e72f2118a378e84e5ca5e3a13f8e7e6ec51..684b949a466e6344892b87d74be20242abcbd010 100644
--- a/tests/builtins/oracle/alloc.0.res.oracle
+++ b/tests/builtins/oracle/alloc.0.res.oracle
@@ -64,6 +64,10 @@
   all target addresses were invalid. This path is assumed to be dead.
 [eva] Recording results for main
 [eva] Done for function main
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    alloc.c:26: arithmetic operation on addresses
+      (read 3 times, propagated 1 times) garbled mix of &{__malloc_main_l25}
 [eva] alloc.c:18: assertion 'Eva,mem_access' got final status invalid.
 [eva] alloc.c:19: assertion 'Eva,mem_access' got final status invalid.
 [eva] alloc.c:20: assertion 'Eva,mem_access' got final status invalid.
diff --git a/tests/builtins/oracle/alloc.1.res.oracle b/tests/builtins/oracle/alloc.1.res.oracle
index 7633c770d7101f16479f5b2848e9463500ce44eb..77bfca7bbb74e166fbde9bb07f945257115aeb0c 100644
--- a/tests/builtins/oracle/alloc.1.res.oracle
+++ b/tests/builtins/oracle/alloc.1.res.oracle
@@ -30,6 +30,11 @@
 [eva:alarm] alloc.c:56: Warning: signed overflow. assert *q + 1 ≤ 2147483647;
 [eva] Recording results for main_abs
 [eva] Done for function main_abs
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    alloc.c:51: arithmetic operation on addresses
+      (read 2 times, propagated 1 times)
+      garbled mix of &{__malloc_main_abs_l50}
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function main_abs:
   NULL[rbits 2048 to 4103] ∈
diff --git a/tests/builtins/oracle/imprecise-malloc-free.res.oracle b/tests/builtins/oracle/imprecise-malloc-free.res.oracle
index 7134efd0323fd61d6cebbd58fa02929b0c856620..4cd01a4b78eb93961e52f4939f1736ed257095bb 100644
--- a/tests/builtins/oracle/imprecise-malloc-free.res.oracle
+++ b/tests/builtins/oracle/imprecise-malloc-free.res.oracle
@@ -64,6 +64,10 @@
   weak free on bases: {__malloc_main_l15, __malloc_main_l16}
 [eva] Recording results for main
 [eva] Done for function main
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    imprecise-malloc-free.c:13: arithmetic operation on addresses
+      (read 1 times, propagated 2 times) garbled mix of &{size2}
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function main:
   __fc_heap_status ∈ [--..--]
diff --git a/tests/builtins/oracle/imprecise.res.oracle b/tests/builtins/oracle/imprecise.res.oracle
index ec7cb60e6e250de7e3d20234f69876cd67fd2b20..1ad813d673e5c5dc6276df115ec2a8b78663aed0 100644
--- a/tests/builtins/oracle/imprecise.res.oracle
+++ b/tests/builtins/oracle/imprecise.res.oracle
@@ -264,6 +264,10 @@
 [from] Computing for function main
 [from] Done for function main
 [eva] Done for function main
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    imprecise.c:19: arithmetic operation on addresses
+      (read 3 times, propagated 1 times) garbled mix of &{j; k}
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function cast_address:
   p ∈ {{ &x }}
@@ -807,6 +811,10 @@
 [from] Computing for function main
 [from] Done for function main
 [eva] Done for function main
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    imprecise.c:19: arithmetic operation on addresses
+      (read 3 times, propagated 1 times) garbled mix of &{j; k}
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function cast_address:
   p ∈ {{ &x }}
diff --git a/tests/builtins/oracle/linked_list.1.res.oracle b/tests/builtins/oracle/linked_list.1.res.oracle
index 16a5a8ec3b5bbdf8045da8874b28335e0b4bc819..c97ebeb2a70161b6c360d6cb8bf94962bf92fb3f 100644
--- a/tests/builtins/oracle/linked_list.1.res.oracle
+++ b/tests/builtins/oracle/linked_list.1.res.oracle
@@ -806,6 +806,10 @@
   Called from linked_list.c:51.
 [eva] using specification for function printf_va_1
 [eva] linked_list.c:51: function printf_va_1: precondition got status valid.
+[eva:garbled-mix:assigns] linked_list.c:51: 
+  The specification of function printf_va_1
+  has generated a garbled mix of addresses
+  for assigns clause __fc_stdout->__fc_FILE_data.
 [eva] Done for function printf_va_1
 [kernel] linked_list.c:51: 
   more than 100(128) elements to enumerate. Approximating.
diff --git a/tests/builtins/oracle/strchr.res.oracle b/tests/builtins/oracle/strchr.res.oracle
index ffbebfd90e0f629e11045f9b18f3ead6506ec7fd..e1298461c038a1977a5d897d8e9a7a897efa1975 100644
--- a/tests/builtins/oracle/strchr.res.oracle
+++ b/tests/builtins/oracle/strchr.res.oracle
@@ -672,6 +672,10 @@
 [eva] Done for function strchr_garbled_mix_in_char
 [eva] Recording results for main
 [eva] Done for function main
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    strchr.c:541: arithmetic operation on addresses
+      (read 1 times, propagated 3 times) garbled mix of &{x}
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function init_array_nondet:
   from ∈ {-1}
diff --git a/tests/builtins/oracle_equality/linked_list.1.res.oracle b/tests/builtins/oracle_equality/linked_list.1.res.oracle
index dc1c07fbca0f6ce44824d4bdff2b3cf9110babd1..08a077ea283d0d72948ad4ac7cc139699f42818e 100644
--- a/tests/builtins/oracle_equality/linked_list.1.res.oracle
+++ b/tests/builtins/oracle_equality/linked_list.1.res.oracle
@@ -16,9 +16,9 @@
 720a731,732
 > [kernel] linked_list.c:44: 
 >   more than 100(128) elements to enumerate. Approximating.
-810,811d821
+814,815d825
 < [kernel] linked_list.c:51: 
 <   more than 100(128) elements to enumerate. Approximating.
-819,820d828
+823,824d832
 < [kernel] linked_list.c:44: 
 <   more than 100(128) elements to enumerate. Approximating.
diff --git a/tests/builtins/oracle_gauges/linked_list.1.res.oracle b/tests/builtins/oracle_gauges/linked_list.1.res.oracle
index ec6dff88c11d22b8f7b5764d51fe82406d5cd9e0..b4dd8f6901bfedbeff231430246bb6c77f704f48 100644
--- a/tests/builtins/oracle_gauges/linked_list.1.res.oracle
+++ b/tests/builtins/oracle_gauges/linked_list.1.res.oracle
@@ -1,4 +1,4 @@
-817a818,823
+821a822,827
 > [eva] computing for function printf_va_1 <- main.
 >   Called from linked_list.c:51.
 > [eva] Done for function printf_va_1
diff --git a/tests/builtins/oracle_octagon/linked_list.1.res.oracle b/tests/builtins/oracle_octagon/linked_list.1.res.oracle
index 4083e687dd36eae966d07c6feea16e88f79ce698..166d64faad77cf59fe2003c8dda6ac23d5adf97d 100644
--- a/tests/builtins/oracle_octagon/linked_list.1.res.oracle
+++ b/tests/builtins/oracle_octagon/linked_list.1.res.oracle
@@ -10,9 +10,9 @@
 720a727,728
 > [kernel] linked_list.c:44: 
 >   more than 100(128) elements to enumerate. Approximating.
-810,811d817
+814,815d821
 < [kernel] linked_list.c:51: 
 <   more than 100(128) elements to enumerate. Approximating.
-819,820d824
+823,824d828
 < [kernel] linked_list.c:44: 
 <   more than 100(128) elements to enumerate. Approximating.
diff --git a/tests/builtins/oracle_symblocs/linked_list.1.res.oracle b/tests/builtins/oracle_symblocs/linked_list.1.res.oracle
index 4083e687dd36eae966d07c6feea16e88f79ce698..166d64faad77cf59fe2003c8dda6ac23d5adf97d 100644
--- a/tests/builtins/oracle_symblocs/linked_list.1.res.oracle
+++ b/tests/builtins/oracle_symblocs/linked_list.1.res.oracle
@@ -10,9 +10,9 @@
 720a727,728
 > [kernel] linked_list.c:44: 
 >   more than 100(128) elements to enumerate. Approximating.
-810,811d817
+814,815d821
 < [kernel] linked_list.c:51: 
 <   more than 100(128) elements to enumerate. Approximating.
-819,820d824
+823,824d828
 < [kernel] linked_list.c:44: 
 <   more than 100(128) elements to enumerate. Approximating.
diff --git a/tests/float/oracle/nonlin.0.res.oracle b/tests/float/oracle/nonlin.0.res.oracle
index 04ffb0d077bb56f347f3db8d9e4dfaf8f22ff2d4..043c52aa669533e1deb16aecb97093e67d3ede6e 100644
--- a/tests/float/oracle/nonlin.0.res.oracle
+++ b/tests/float/oracle/nonlin.0.res.oracle
@@ -284,6 +284,10 @@
 [eva] Done for function subdivide_strategy
 [eva] Recording results for main
 [eva] Done for function main
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    nonlin.c:98: arithmetic operation on addresses
+      (read 1 times, propagated 2 times) garbled mix of &{x_0}
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function access_bits:
   rbits1 ∈ {0; 1; 2}
diff --git a/tests/float/oracle/nonlin.1.res.oracle b/tests/float/oracle/nonlin.1.res.oracle
index 54cd152e82f21b5e75ea73f7a715a804f8a72f45..b69461ed024bb293807c22fcf863c634a5df7ae1 100644
--- a/tests/float/oracle/nonlin.1.res.oracle
+++ b/tests/float/oracle/nonlin.1.res.oracle
@@ -311,6 +311,10 @@
 [eva] Done for function subdivide_strategy
 [eva] Recording results for main
 [eva] Done for function main
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    nonlin.c:98: arithmetic operation on addresses
+      (read 1 times, propagated 2 times) garbled mix of &{x_0}
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function access_bits:
   rbits1 ∈ {0; 1; 2}
diff --git a/tests/float/oracle/nonlin.2.res.oracle b/tests/float/oracle/nonlin.2.res.oracle
index 9ae60320eb162865fb9e2dfe8d15991d5b1056e9..05b14b3983b595fd05c1a39dcc9fb51cac2aebcb 100644
--- a/tests/float/oracle/nonlin.2.res.oracle
+++ b/tests/float/oracle/nonlin.2.res.oracle
@@ -285,6 +285,10 @@
 [eva] Done for function subdivide_strategy
 [eva] Recording results for main
 [eva] Done for function main
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    nonlin.c:98: arithmetic operation on addresses
+      (read 1 times, propagated 2 times) garbled mix of &{x_0}
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function access_bits:
   rbits1 ∈ {0; 1; 2}
diff --git a/tests/float/oracle/nonlin.3.res.oracle b/tests/float/oracle/nonlin.3.res.oracle
index 17b03c98f92314bff3fe61bb303196e9eefb2872..24ccbef205c1cd4e1a182e9eb30eebea036393c0 100644
--- a/tests/float/oracle/nonlin.3.res.oracle
+++ b/tests/float/oracle/nonlin.3.res.oracle
@@ -284,6 +284,10 @@
 [eva] Done for function subdivide_strategy
 [eva] Recording results for main
 [eva] Done for function main
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    nonlin.c:98: arithmetic operation on addresses
+      (read 1 times, propagated 2 times) garbled mix of &{x_0}
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function access_bits:
   rbits1 ∈ {0; 1; 2}
diff --git a/tests/float/oracle/nonlin.4.res.oracle b/tests/float/oracle/nonlin.4.res.oracle
index 33877fa4e0891cf6f0918b35f8dc656feda4c369..a0f41891c242df0ead1a4ee73efaea7f01404844 100644
--- a/tests/float/oracle/nonlin.4.res.oracle
+++ b/tests/float/oracle/nonlin.4.res.oracle
@@ -311,6 +311,10 @@
 [eva] Done for function subdivide_strategy
 [eva] Recording results for main
 [eva] Done for function main
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    nonlin.c:98: arithmetic operation on addresses
+      (read 1 times, propagated 2 times) garbled mix of &{x_0}
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function access_bits:
   rbits1 ∈ {0; 1; 2}
diff --git a/tests/float/oracle/nonlin.5.res.oracle b/tests/float/oracle/nonlin.5.res.oracle
index 66c509fd9b8fef46e8dd64ddeadb67f0bf563877..25cd26ba1ee0c29e381e99198b125dd655c37124 100644
--- a/tests/float/oracle/nonlin.5.res.oracle
+++ b/tests/float/oracle/nonlin.5.res.oracle
@@ -285,6 +285,10 @@
 [eva] Done for function subdivide_strategy
 [eva] Recording results for main
 [eva] Done for function main
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    nonlin.c:98: arithmetic operation on addresses
+      (read 1 times, propagated 2 times) garbled mix of &{x_0}
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function access_bits:
   rbits1 ∈ {0; 1; 2}
diff --git a/tests/libc/oracle/pwd_h.res.oracle b/tests/libc/oracle/pwd_h.res.oracle
index 6cdda1a2be90568192afabc4b31d25b32fbdfb21..5dedb215f1a912fec633ab2a5558fcae72075554 100644
--- a/tests/libc/oracle/pwd_h.res.oracle
+++ b/tests/libc/oracle/pwd_h.res.oracle
@@ -7,6 +7,9 @@
 [eva] computing for function getpwuid <- main.
   Called from pwd_h.c:10.
 [eva] using specification for function getpwuid
+[eva:garbled-mix:assigns] pwd_h.c:10: 
+  The specification of function getpwuid
+  has generated a garbled mix of addresses for assigns clause __fc_pwd.
 [eva] Done for function getpwuid
 [eva:alarm] pwd_h.c:13: Warning: assertion got status unknown.
 [eva:alarm] pwd_h.c:14: Warning: assertion got status unknown.
@@ -16,6 +19,9 @@
   Called from pwd_h.c:18.
 [eva] using specification for function getpwnam
 [eva] pwd_h.c:18: function getpwnam: precondition 'valid_name' got status valid.
+[eva:garbled-mix:assigns] pwd_h.c:18: 
+  The specification of function getpwnam
+  has generated a garbled mix of addresses for assigns clause __fc_pwd.
 [eva] Done for function getpwnam
 [eva:alarm] pwd_h.c:21: Warning: assertion got status unknown.
 [eva:alarm] pwd_h.c:22: Warning: assertion got status unknown.
diff --git a/tests/libc/oracle/signal_h.res.oracle b/tests/libc/oracle/signal_h.res.oracle
index 1b2258ac3dd8070c2a6b0238ec9b15a848fab49c..fe4f9414bf77cb385fed69ef556d573f56ec2282 100644
--- a/tests/libc/oracle/signal_h.res.oracle
+++ b/tests/libc/oracle/signal_h.res.oracle
@@ -112,6 +112,9 @@
   function sigaction: precondition 'valid_read_act_or_null' got status valid.
 [eva] signal_h.c:45: 
   function sigaction: precondition 'separation,separated_acts' got status valid.
+[eva:garbled-mix:assigns] signal_h.c:45: 
+  The specification of function sigaction
+  has generated a garbled mix of addresses for assigns clause *oldact.
 [eva] Done for function sigaction
 [eva] computing for function sigaction <- main.
   Called from signal_h.c:45.
@@ -128,6 +131,9 @@
   function sigaction: precondition 'separation,separated_acts' got status valid.
 [eva] FRAMAC_SHARE/libc/signal.h:229: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic coercion struct sigaction -> set<struct sigaction>
+[eva:garbled-mix:assigns] signal_h.c:48: 
+  The specification of function sigaction
+  has generated a garbled mix of addresses for assigns clause *oldact.
 [eva] Done for function sigaction
 [eva] computing for function sigaction <- main.
   Called from signal_h.c:51.
diff --git a/tests/libc/oracle/spawn_h.res.oracle b/tests/libc/oracle/spawn_h.res.oracle
index 4b4c978087e9754cede4451980d1dae737d7f9d0..08866e9f1aa7e5bba94b7b62fabfa540d82d32a4 100644
--- a/tests/libc/oracle/spawn_h.res.oracle
+++ b/tests/libc/oracle/spawn_h.res.oracle
@@ -7,6 +7,9 @@
 [eva] computing for function getopt <- main.
   Called from spawn_h.c:36.
 [eva] using specification for function getopt
+[eva:garbled-mix:assigns] spawn_h.c:36: 
+  The specification of function getopt has generated a garbled mix of addresses
+  for assigns clause \result.
 [eva] Done for function getopt
 [kernel:annot:missing-spec] spawn_h.c:43: Warning: 
   Neither code nor specification for function posix_spawn_file_actions_init,
@@ -249,6 +252,11 @@
 [eva] Done for function exit
 [eva] Recording results for main
 [eva] Done for function main
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    spawn_h.c:36: assigns clause on addresses
+      (read 20 times, propagated 13 times)
+      garbled mix of &{S_argv; S_0_S_argv; S_1_S_argv}
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function main:
   NON TERMINATING FUNCTION
diff --git a/tests/libc/oracle/unistd_h.0.res.oracle b/tests/libc/oracle/unistd_h.0.res.oracle
index 24a810167ef1b8fa7ffc5041926c514863c09381..46a982f0c8014eaa284a7352d3f8664f99dcadbe 100644
--- a/tests/libc/oracle/unistd_h.0.res.oracle
+++ b/tests/libc/oracle/unistd_h.0.res.oracle
@@ -58,6 +58,9 @@
   function execv: precondition 'valid_string_path' got status valid.
 [eva] unistd_h.c:17: 
   function execv: precondition 'valid_string_argv0' got status valid.
+[eva:garbled-mix:assigns] unistd_h.c:17: 
+  The specification of function execv has generated a garbled mix of addresses
+  for assigns clause \result.
 [eva] Done for function execv
 [eva] computing for function execv <- main.
   Called from unistd_h.c:17.
diff --git a/tests/slicing/oracle/loops.10.res.oracle b/tests/slicing/oracle/loops.10.res.oracle
index 8b074bf06abdd613754931d1720a4884ceb3f673..7ba1874acead31fd20c084a227d3c52fa55f6fac 100644
--- a/tests/slicing/oracle/loops.10.res.oracle
+++ b/tests/slicing/oracle/loops.10.res.oracle
@@ -12,6 +12,9 @@
 [eva] computing for function may_write_Y_from_Z <- main.
   Called from loops.i:199.
 [eva] using specification for function may_write_Y_from_Z
+[eva:garbled-mix:assigns] loops.i:199: 
+  The specification of function may_write_Y_from_Z
+  has generated a garbled mix of addresses for assigns clause *p.
 [eva] Done for function may_write_Y_from_Z
 [eva] computing for function loop <- main.
   Called from loops.i:202.
diff --git a/tests/slicing/oracle/loops.19.res.oracle b/tests/slicing/oracle/loops.19.res.oracle
index 34457cfad25d07e2868e3518708480733f7473fa..0998264ade13e755871e320c9cd50baadbcf6c06 100644
--- a/tests/slicing/oracle/loops.19.res.oracle
+++ b/tests/slicing/oracle/loops.19.res.oracle
@@ -12,6 +12,9 @@
 [eva] computing for function may_write_Y_from_Z <- main.
   Called from loops.i:199.
 [eva] using specification for function may_write_Y_from_Z
+[eva:garbled-mix:assigns] loops.i:199: 
+  The specification of function may_write_Y_from_Z
+  has generated a garbled mix of addresses for assigns clause *p.
 [eva] Done for function may_write_Y_from_Z
 [eva] computing for function loop <- main.
   Called from loops.i:202.
diff --git a/tests/slicing/oracle/loops.20.res.oracle b/tests/slicing/oracle/loops.20.res.oracle
index 27d8cdb835562da76ec04f76f72017aa7aaba1b0..6e18bd872d2d86d795df7d8d77af2cc984dd6a76 100644
--- a/tests/slicing/oracle/loops.20.res.oracle
+++ b/tests/slicing/oracle/loops.20.res.oracle
@@ -12,6 +12,9 @@
 [eva] computing for function may_write_Y_from_Z <- main.
   Called from loops.i:199.
 [eva] using specification for function may_write_Y_from_Z
+[eva:garbled-mix:assigns] loops.i:199: 
+  The specification of function may_write_Y_from_Z
+  has generated a garbled mix of addresses for assigns clause *p.
 [eva] Done for function may_write_Y_from_Z
 [eva] computing for function loop <- main.
   Called from loops.i:202.
diff --git a/tests/slicing/oracle/loops.21.res.oracle b/tests/slicing/oracle/loops.21.res.oracle
index 9adf543884b06243c38d066d660dce7d01610e18..8636ad07b17046ce79ca5ca1ab0eb519c01bf81c 100644
--- a/tests/slicing/oracle/loops.21.res.oracle
+++ b/tests/slicing/oracle/loops.21.res.oracle
@@ -12,6 +12,9 @@
 [eva] computing for function may_write_Y_from_Z <- main.
   Called from loops.i:199.
 [eva] using specification for function may_write_Y_from_Z
+[eva:garbled-mix:assigns] loops.i:199: 
+  The specification of function may_write_Y_from_Z
+  has generated a garbled mix of addresses for assigns clause *p.
 [eva] Done for function may_write_Y_from_Z
 [eva] computing for function loop <- main.
   Called from loops.i:202.
diff --git a/tests/slicing/oracle/loops.22.res.oracle b/tests/slicing/oracle/loops.22.res.oracle
index 7d41e9a40cdb66446abcee9448378d0a0ddbef06..3313fbc32d943908d3b6701ed97fdd379ff18096 100644
--- a/tests/slicing/oracle/loops.22.res.oracle
+++ b/tests/slicing/oracle/loops.22.res.oracle
@@ -12,6 +12,9 @@
 [eva] computing for function may_write_Y_from_Z <- main.
   Called from loops.i:199.
 [eva] using specification for function may_write_Y_from_Z
+[eva:garbled-mix:assigns] loops.i:199: 
+  The specification of function may_write_Y_from_Z
+  has generated a garbled mix of addresses for assigns clause *p.
 [eva] Done for function may_write_Y_from_Z
 [eva] computing for function loop <- main.
   Called from loops.i:202.
diff --git a/tests/slicing/oracle/loops.23.res.oracle b/tests/slicing/oracle/loops.23.res.oracle
index 24eb43a90cba0b80c99d1795f5b1566d2443857b..ae8f97a78fc3c8b783c571ad7895d4ad8ea25d81 100644
--- a/tests/slicing/oracle/loops.23.res.oracle
+++ b/tests/slicing/oracle/loops.23.res.oracle
@@ -12,6 +12,9 @@
 [eva] computing for function may_write_Y_from_Z <- main.
   Called from loops.i:199.
 [eva] using specification for function may_write_Y_from_Z
+[eva:garbled-mix:assigns] loops.i:199: 
+  The specification of function may_write_Y_from_Z
+  has generated a garbled mix of addresses for assigns clause *p.
 [eva] Done for function may_write_Y_from_Z
 [eva] computing for function loop <- main.
   Called from loops.i:202.
diff --git a/tests/slicing/oracle/loops.8.res.oracle b/tests/slicing/oracle/loops.8.res.oracle
index 3c7880c3af1ec26d5a6c78fa64382ce48b28eaf5..f1d9bbd86696821f18cab14e3276c13346963cb5 100644
--- a/tests/slicing/oracle/loops.8.res.oracle
+++ b/tests/slicing/oracle/loops.8.res.oracle
@@ -12,6 +12,9 @@
 [eva] computing for function may_write_Y_from_Z <- main.
   Called from loops.i:199.
 [eva] using specification for function may_write_Y_from_Z
+[eva:garbled-mix:assigns] loops.i:199: 
+  The specification of function may_write_Y_from_Z
+  has generated a garbled mix of addresses for assigns clause *p.
 [eva] Done for function may_write_Y_from_Z
 [eva] computing for function loop <- main.
   Called from loops.i:202.
diff --git a/tests/slicing/oracle/loops.9.res.oracle b/tests/slicing/oracle/loops.9.res.oracle
index abc0b21b556922c6b9b00615dfba3fe01f412bbb..a2caa35921cfccd62af77a1b13f943464086f2cd 100644
--- a/tests/slicing/oracle/loops.9.res.oracle
+++ b/tests/slicing/oracle/loops.9.res.oracle
@@ -12,6 +12,9 @@
 [eva] computing for function may_write_Y_from_Z <- main.
   Called from loops.i:199.
 [eva] using specification for function may_write_Y_from_Z
+[eva:garbled-mix:assigns] loops.i:199: 
+  The specification of function may_write_Y_from_Z
+  has generated a garbled mix of addresses for assigns clause *p.
 [eva] Done for function may_write_Y_from_Z
 [eva] computing for function loop <- main.
   Called from loops.i:202.
diff --git a/tests/value/oracle/arith_pointer.res.oracle b/tests/value/oracle/arith_pointer.res.oracle
index d8c8908c4b6586ae2f6baa6b01cca727b28032c3..2261d0849e3e6080bb275a5c6d6ea2a23ef5ef62 100644
--- a/tests/value/oracle/arith_pointer.res.oracle
+++ b/tests/value/oracle/arith_pointer.res.oracle
@@ -42,6 +42,10 @@
 [eva] Done for function main2
 [eva] Recording results for main
 [eva] Done for function main
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    arith_pointer.c:54: arithmetic operation on addresses
+      (read 2 times, propagated 2 times) garbled mix of &{x}
 [eva] arith_pointer.c:30: 
   assertion 'Eva,differing_blocks' got final status invalid.
 [eva] ====== VALUES COMPUTED ======
@@ -151,6 +155,16 @@
 [eva] Done for function main2
 [eva] Recording results for main
 [eva] Done for function main
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    arith_pointer.c:54: arithmetic operation on addresses
+      (read 2 times, propagated 2 times) garbled mix of &{x}
+    arith_pointer.c:30: arithmetic operation on addresses
+      (read 1 times, propagated 1 times) garbled mix of &{x; y}
+    arith_pointer.c:49: arithmetic operation on addresses
+      (read 1 times, propagated 1 times) garbled mix of &{x; y}
+    arith_pointer.c:51: arithmetic operation on addresses
+      (read 1 times, propagated 1 times) garbled mix of &{x; y}
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function main1:
   t[0..1] ∈ {-3}
diff --git a/tests/value/oracle/assign-leaf-indirect.res.oracle b/tests/value/oracle/assign-leaf-indirect.res.oracle
index d1632315bcb6bce72993ab83ee145e4ba4229247..4d4a939a92b3718e5132e1408fe9eef94151bfa8 100644
--- a/tests/value/oracle/assign-leaf-indirect.res.oracle
+++ b/tests/value/oracle/assign-leaf-indirect.res.oracle
@@ -9,6 +9,9 @@
 [eva] computing for function f <- main.
   Called from assign-leaf-indirect.i:8.
 [eva] using specification for function f
+[eva:garbled-mix:assigns] assign-leaf-indirect.i:8: 
+  The specification of function f has generated a garbled mix of addresses
+  for assigns clause y.
 [eva] Done for function f
 [eva] computing for function g <- main.
   Called from assign-leaf-indirect.i:9.
diff --git a/tests/value/oracle/assigns_from.res.oracle b/tests/value/oracle/assigns_from.res.oracle
index 002087f31ba8abd39638d82d19e0589a787a698a..55b41ae8a07167bd77b0ccba4956bae60544cb17 100644
--- a/tests/value/oracle/assigns_from.res.oracle
+++ b/tests/value/oracle/assigns_from.res.oracle
@@ -298,6 +298,9 @@
 [eva] computing for function f18 <- main18 <- main.
   Called from assigns_from.i:215.
 [eva] using specification for function f18
+[eva:garbled-mix:assigns] assigns_from.i:215: 
+  The specification of function f18 has generated a garbled mix of addresses
+  for assigns clause *x.
 [eva] Done for function f18
 [eva] Recording results for main18
 [from] Computing for function main18
diff --git a/tests/value/oracle/behaviors1.res.oracle b/tests/value/oracle/behaviors1.res.oracle
index c434339fdecb7a85c1faef91c8aaa1b4215613e3..6266ee5cf357f02688368950dbcf890d81a35c02 100644
--- a/tests/value/oracle/behaviors1.res.oracle
+++ b/tests/value/oracle/behaviors1.res.oracle
@@ -305,9 +305,15 @@
 [eva] computing for function f <- test_assigns <- main.
   Called from behaviors1.i:473.
 [eva] using specification for function f
+[eva:garbled-mix:assigns] behaviors1.i:473: 
+  The specification of function f has generated a garbled mix of addresses
+  for assigns clause \result.
 [eva] Done for function f
 [eva] computing for function f <- test_assigns <- main.
   Called from behaviors1.i:474.
+[eva:garbled-mix:assigns] behaviors1.i:474: 
+  The specification of function f has generated a garbled mix of addresses
+  for assigns clause \result.
 [eva] Done for function f
 [eva] computing for function f <- test_assigns <- main.
   Called from behaviors1.i:475.
@@ -440,6 +446,12 @@
 [eva] Done for function test_narrow
 [eva] Recording results for main
 [eva] Done for function main
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    behaviors1.i:473: assigns clause on addresses
+      (read 1 times, propagated 3 times) garbled mix of &{a}
+    behaviors1.i:474: assigns clause on addresses
+      (read 1 times, propagated 3 times) garbled mix of &{b}
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function test_123_comp_2345_comp_disj:
   a ∈ [--..--]
diff --git a/tests/value/oracle/bitfield.res.oracle b/tests/value/oracle/bitfield.res.oracle
index 3b980d881cf63089d57219cca678788e03fa5090..3751001cbba46ff03930675e67332c3686863ee2 100644
--- a/tests/value/oracle/bitfield.res.oracle
+++ b/tests/value/oracle/bitfield.res.oracle
@@ -105,6 +105,9 @@
 [eva] computing for function leaf <- imprecise_bts_1671 <- main.
   Called from bitfield.i:70.
 [eva] using specification for function leaf
+[eva:garbled-mix:assigns] bitfield.i:70: 
+  The specification of function leaf has generated a garbled mix of addresses
+  for assigns clause *p1.
 [eva] Done for function leaf
 [eva] bitfield.i:71: 
   Frama_C_show_each:
@@ -204,6 +207,10 @@
 [eva] Done for function char_short
 [eva] Recording results for main
 [eva] Done for function main
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    bitfield.i:70: misaligned read of addresses
+      (read 5 times, propagated 7 times) garbled mix of &{b; ee}
 [eva] bitfield.i:102: assertion 'Eva,initialization' got final status invalid.
 [scope:rm_asserts] removing 1 assertion(s)
 [eva] ====== VALUES COMPUTED ======
diff --git a/tests/value/oracle/bitwise_pointer.0.res.oracle b/tests/value/oracle/bitwise_pointer.0.res.oracle
index aa3a3f4a6a294519cff95e18f53878fc7c85bdc7..6b52884383aab14b10f97928c0c5f0ad1b923ba5 100644
--- a/tests/value/oracle/bitwise_pointer.0.res.oracle
+++ b/tests/value/oracle/bitwise_pointer.0.res.oracle
@@ -43,6 +43,12 @@
   out of bounds write. assert \valid(p1);
 [eva] Recording results for main
 [eva] Done for function main
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    bitwise_pointer.i:18: arithmetic operation on addresses
+      (read 2 times, propagated 1 times) garbled mix of &{t}
+    bitwise_pointer.i:22: arithmetic operation on addresses
+      (read 2 times, propagated 1 times) garbled mix of &{t1}
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function main:
   t[0] ∈ {0; 5}
diff --git a/tests/value/oracle/bitwise_pointer.1.res.oracle b/tests/value/oracle/bitwise_pointer.1.res.oracle
index aa3a3f4a6a294519cff95e18f53878fc7c85bdc7..6b52884383aab14b10f97928c0c5f0ad1b923ba5 100644
--- a/tests/value/oracle/bitwise_pointer.1.res.oracle
+++ b/tests/value/oracle/bitwise_pointer.1.res.oracle
@@ -43,6 +43,12 @@
   out of bounds write. assert \valid(p1);
 [eva] Recording results for main
 [eva] Done for function main
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    bitwise_pointer.i:18: arithmetic operation on addresses
+      (read 2 times, propagated 1 times) garbled mix of &{t}
+    bitwise_pointer.i:22: arithmetic operation on addresses
+      (read 2 times, propagated 1 times) garbled mix of &{t1}
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function main:
   t[0] ∈ {0; 5}
diff --git a/tests/value/oracle/context_free.res.oracle b/tests/value/oracle/context_free.res.oracle
index ffee5073affe361f3df6aa1b3baa894953b95853..ba68025f931ff6945455604a0f240ca29897ba3a 100644
--- a/tests/value/oracle/context_free.res.oracle
+++ b/tests/value/oracle/context_free.res.oracle
@@ -90,6 +90,10 @@
   pointer to function with incompatible type. assert \valid_function(g);
 [eva] Recording results for f
 [eva] Done for function f
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    Initial state (read 9 times, propagated 5 times)
+      garbled mix of &{WELL_uu; S_p_svoid; S_qvoid; S_0_S_vvv; S_vv}
 [eva] context_free.i:62: 
   assertion 'Eva,function_pointer' got final status invalid.
 [eva] ====== VALUES COMPUTED ======
diff --git a/tests/value/oracle/degeneration2.res.oracle b/tests/value/oracle/degeneration2.res.oracle
index de456405cd98bad14e79ef22e9aa5c1c924883e3..e792578b81a6454041457f7b7d52776de01325ce 100644
--- a/tests/value/oracle/degeneration2.res.oracle
+++ b/tests/value/oracle/degeneration2.res.oracle
@@ -23,6 +23,10 @@
   accessing uninitialized left-value. assert \initialized(&offset_uninit);
 [eva] Recording results for main
 [eva] Done for function main
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    degeneration2.i:14: arithmetic operation on addresses
+      (read 6 times, propagated 1 times) garbled mix of &{B; C; D; E}
 [eva] degeneration2.i:25: 
   assertion 'Eva,initialization' got final status invalid.
 [eva] ====== VALUES COMPUTED ======
diff --git a/tests/value/oracle/empty_struct.6.res.oracle b/tests/value/oracle/empty_struct.6.res.oracle
index 88263f19b58274baed0cb0b4ce28206a3abe4b8a..cf2ce4f7e5017fc89087bc192e005d7dec7f2189 100644
--- a/tests/value/oracle/empty_struct.6.res.oracle
+++ b/tests/value/oracle/empty_struct.6.res.oracle
@@ -8,6 +8,9 @@
 [eva] computing for function f <- main4.
   Called from empty_struct.c:99.
 [eva] using specification for function f
+[eva:garbled-mix:assigns] empty_struct.c:99: 
+  The specification of function f has generated a garbled mix of addresses
+  for assigns clause \result.
 [eva] Done for function f
 [kernel:annot:missing-spec] empty_struct.c:100: Warning: 
   Neither code nor specification for function g,
@@ -18,6 +21,10 @@
 [eva] Done for function g
 [eva] Recording results for main4
 [eva] Done for function main4
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    empty_struct.c:99: assigns clause on addresses
+      (read 2 times, propagated 3 times) garbled mix of &{gs}
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function main4:
   r ∈
diff --git a/tests/value/oracle/from_call.0.res.oracle b/tests/value/oracle/from_call.0.res.oracle
index 88c6c5d8c6d416983f927de6f9655687531bbebf..f3377d39ae638c90c299fa32083c399803a221ef 100644
--- a/tests/value/oracle/from_call.0.res.oracle
+++ b/tests/value/oracle/from_call.0.res.oracle
@@ -178,6 +178,9 @@
 [eva] computing for function unavailable_f <- main.
   Called from from_call.i:96.
 [eva] using specification for function unavailable_f
+[eva:garbled-mix:assigns] from_call.i:96: 
+  The specification of function unavailable_f
+  has generated a garbled mix of addresses for assigns clause AR.
 [eva] Done for function unavailable_f
 [eva] Recording results for main
 [from] Computing for function main
diff --git a/tests/value/oracle/from_call.1.res.oracle b/tests/value/oracle/from_call.1.res.oracle
index 560d21d929a84ba7eec01b95ef43454445de32a5..18901931cee6b75386e480ca4f21c8681cb5955b 100644
--- a/tests/value/oracle/from_call.1.res.oracle
+++ b/tests/value/oracle/from_call.1.res.oracle
@@ -142,6 +142,9 @@
 [eva] computing for function unavailable_f <- main.
   Called from from_call.i:96.
 [eva] using specification for function unavailable_f
+[eva:garbled-mix:assigns] from_call.i:96: 
+  The specification of function unavailable_f
+  has generated a garbled mix of addresses for assigns clause AR.
 [eva] Done for function unavailable_f
 [eva] Recording results for main
 [eva] Done for function main
diff --git a/tests/value/oracle/gauges.res.oracle b/tests/value/oracle/gauges.res.oracle
index ce2c46bcca8652340104e25017c95045abc3dad6..4b7f0372dd0bb9eb70ae5e95a7ad3d083f33c162 100644
--- a/tests/value/oracle/gauges.res.oracle
+++ b/tests/value/oracle/gauges.res.oracle
@@ -710,6 +710,10 @@
 [eva] Done for function main17
 [eva] Recording results for main
 [eva] Done for function main
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    gauges.c:188: arithmetic operation on addresses
+      (read 14 times, propagated 12 times) garbled mix of &{x; y}
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function main0:
   i ∈ {1; 162}
diff --git a/tests/value/oracle/imprecise_invalid_write.res.oracle b/tests/value/oracle/imprecise_invalid_write.res.oracle
index 3b45112de2a37cad0bd4d80efe85f58d07634ff4..49172ffd8d93700972e082185b7f3d691c1be222 100644
--- a/tests/value/oracle/imprecise_invalid_write.res.oracle
+++ b/tests/value/oracle/imprecise_invalid_write.res.oracle
@@ -45,6 +45,12 @@
 [eva] Done for function main3
 [eva] Recording results for main
 [eva] Done for function main
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    imprecise_invalid_write.i:9: arithmetic operation on addresses
+      (read 2 times, propagated 1 times) garbled mix of &{main1}
+    imprecise_invalid_write.i:16: arithmetic operation on addresses
+      (read 2 times, propagated 1 times) garbled mix of &{"abc"}
 [eva] imprecise_invalid_write.i:5: 
   assertion 'Eva,mem_access' got final status invalid.
 [eva] imprecise_invalid_write.i:10: 
diff --git a/tests/value/oracle/initialized.res.oracle b/tests/value/oracle/initialized.res.oracle
index 1e822fd04fadadcd9e7fc2f60b1057b75e3cb553..150e3f1824268b9374592e59ea74da1ccc0c4429 100644
--- a/tests/value/oracle/initialized.res.oracle
+++ b/tests/value/oracle/initialized.res.oracle
@@ -231,6 +231,10 @@
 [eva] Done for function reduce_by_negation
 [eva] Recording results for main
 [eva] Done for function main
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    initialized.c:50: arithmetic operation on addresses
+      (read 1 times, propagated 2 times) garbled mix of &{b4}
 [eva] initialized.c:93: assertion 'Eva,initialization' got final status invalid.
 [eva] initialized.c:104: 
   assertion 'Eva,initialization' got final status invalid.
diff --git a/tests/value/oracle/inout_proto.res.oracle b/tests/value/oracle/inout_proto.res.oracle
index 77fcb77f70191983ad3627233361879ec9e288a7..d96ee3689cbfcaf14df1fbc700e908385e2a6247 100644
--- a/tests/value/oracle/inout_proto.res.oracle
+++ b/tests/value/oracle/inout_proto.res.oracle
@@ -13,6 +13,9 @@
 [eva] computing for function SendBuffer <- main <- main_main.
   Called from inout_proto.i:19.
 [eva] using specification for function SendBuffer
+[eva:garbled-mix:assigns] inout_proto.i:19: 
+  The specification of function SendBuffer
+  has generated a garbled mix of addresses for assigns clause *RETURN_CODE.
 [eva] Done for function SendBuffer
 [eva] Recording results for main
 [eva] Done for function main
diff --git a/tests/value/oracle/leaf.res.oracle b/tests/value/oracle/leaf.res.oracle
index d966184b444f1e6e55c2678426d0e103d88c926c..865b2bc8486622735e111a273c8a8300c3b277a9 100644
--- a/tests/value/oracle/leaf.res.oracle
+++ b/tests/value/oracle/leaf.res.oracle
@@ -39,6 +39,9 @@
 [eva] computing for function f_int_star_int <- main.
   Called from leaf.i:50.
 [eva] using specification for function f_int_star_int
+[eva:garbled-mix:assigns] leaf.i:50: 
+  The specification of function f_int_star_int
+  has generated a garbled mix of addresses for assigns clause \result.
 [eva] Done for function f_int_star_int
 [eva] leaf.i:51: Frama_C_show_each_F: [-2147483648..2147483647]
 [eva:alarm] leaf.i:52: Warning: out of bounds write. assert \valid(p);
@@ -46,6 +49,9 @@
 [eva] computing for function f_int_star_int_star_int <- main.
   Called from leaf.i:55.
 [eva] using specification for function f_int_star_int_star_int
+[eva:garbled-mix:assigns] leaf.i:55: 
+  The specification of function f_int_star_int_star_int
+  has generated a garbled mix of addresses for assigns clause \result.
 [eva] Done for function f_int_star_int_star_int
 [eva] leaf.i:56: Frama_C_show_each_G: {{ &g }}
 [eva] leaf.i:57: Frama_C_show_each_F: {5}
@@ -85,6 +91,9 @@
 [eva] computing for function f_st_star_cint_st_star_cint <- main.
   Called from leaf.i:68.
 [eva] using specification for function f_st_star_cint_st_star_cint
+[eva:garbled-mix:assigns] leaf.i:68: 
+  The specification of function f_st_star_cint_st_star_cint
+  has generated a garbled mix of addresses for assigns clause \result.
 [eva] Done for function f_st_star_cint_st_star_cint
 [kernel:annot:missing-spec] leaf.i:69: Warning: 
   Neither code nor specification for function f_st_star_int_st_star_int,
@@ -92,6 +101,9 @@
 [eva] computing for function f_st_star_int_st_star_int <- main.
   Called from leaf.i:69.
 [eva] using specification for function f_st_star_int_st_star_int
+[eva:garbled-mix:assigns] leaf.i:69: 
+  The specification of function f_st_star_int_st_star_int
+  has generated a garbled mix of addresses for assigns clause \result.
 [eva] Done for function f_st_star_int_st_star_int
 [kernel:annot:missing-spec] leaf.i:70: Warning: 
   Neither code nor specification for function f_st_tab3_int_st_tab3_int,
@@ -106,6 +118,9 @@
 [eva] computing for function f_star_st_star_cint_int <- main.
   Called from leaf.i:72.
 [eva] using specification for function f_star_st_star_cint_int
+[eva:garbled-mix:assigns] leaf.i:72: 
+  The specification of function f_star_st_star_cint_int
+  has generated a garbled mix of addresses for assigns clause \result.
 [eva] Done for function f_star_st_star_cint_int
 [kernel:annot:missing-spec] leaf.i:73: Warning: 
   Neither code nor specification for function f_star_st_star_int_int,
@@ -113,6 +128,9 @@
 [eva] computing for function f_star_st_star_int_int <- main.
   Called from leaf.i:73.
 [eva] using specification for function f_star_st_star_int_int
+[eva:garbled-mix:assigns] leaf.i:73: 
+  The specification of function f_star_st_star_int_int
+  has generated a garbled mix of addresses for assigns clause \result.
 [eva] Done for function f_star_st_star_int_int
 [kernel:annot:missing-spec] leaf.i:74: Warning: 
   Neither code nor specification for function f_star_st_tab3_int_int,
@@ -123,6 +141,12 @@
 [eva] Done for function f_star_st_tab3_int_int
 [eva] Recording results for main
 [eva] Done for function main
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    leaf.i:55: assigns clause on addresses (read 10 times, propagated 2 times)
+      garbled mix of &{pg}
+    leaf.i:50: assigns clause on addresses (read 4 times, propagated 2 times)
+      garbled mix of &{g}
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function main:
   T[0] ∈ [--..--]
diff --git a/tests/value/oracle/leaf2.res.oracle b/tests/value/oracle/leaf2.res.oracle
index 5de89a4124f3730f3cb7fca1093681bd40c29c3a..c03b05b96d49fc64e90e969fc0d3b0d84c0cd8fd 100644
--- a/tests/value/oracle/leaf2.res.oracle
+++ b/tests/value/oracle/leaf2.res.oracle
@@ -14,11 +14,18 @@
 [eva] computing for function f <- main.
   Called from leaf2.i:6.
 [eva] using specification for function f
+[eva:garbled-mix:assigns] leaf2.i:6: 
+  The specification of function f has generated a garbled mix of addresses
+  for assigns clause \result.
 [eva] Done for function f
 [eva:alarm] leaf2.i:7: Warning: signed overflow. assert -2147483648 ≤ G + 1;
 [eva:alarm] leaf2.i:7: Warning: signed overflow. assert G + 1 ≤ 2147483647;
 [eva] Recording results for main
 [eva] Done for function main
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    leaf2.i:6: assigns clause on addresses (read 4 times, propagated 4 times)
+      garbled mix of &{I}
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function main:
   G ∈ {{ garbled mix of &{I} (origin: Library function {leaf2.i:6}) }}
diff --git a/tests/value/oracle/library.res.oracle b/tests/value/oracle/library.res.oracle
index 01756f25fda5661297a36cda69ec139a857140c8..992d56c788e072721596736c0b2e43b90e331267 100644
--- a/tests/value/oracle/library.res.oracle
+++ b/tests/value/oracle/library.res.oracle
@@ -86,6 +86,9 @@
 [eva] computing for function f_star_int <- main.
   Called from library.i:31.
 [eva] using specification for function f_star_int
+[eva:garbled-mix:assigns] library.i:31: 
+  The specification of function f_star_int
+  has generated a garbled mix of addresses for assigns clause \result.
 [eva] Done for function f_star_int
 [eva:alarm] library.i:32: Warning: out of bounds write. assert \valid(G1);
 [eva:alarm] library.i:33: Warning: out of bounds read. assert \valid_read(G);
@@ -109,6 +112,9 @@
 [eva] computing for function i <- main.
   Called from library.i:41.
 [eva] using specification for function i
+[eva:garbled-mix:assigns] library.i:41: 
+  The specification of function i has generated a garbled mix of addresses
+  for assigns clause \result.
 [eva] Done for function i
 [eva:alarm] library.i:42: Warning: out of bounds read. assert \valid_read(pf);
 [eva:alarm] library.i:42: Warning: 
@@ -122,10 +128,21 @@
 [eva] computing for function k <- main.
   Called from library.i:45.
 [eva] using specification for function k
+[eva:garbled-mix:assigns] library.i:45: 
+  The specification of function k has generated a garbled mix of addresses
+  for assigns clause \result.
 [eva] Done for function k
 [eva:alarm] library.i:46: Warning: out of bounds write. assert \valid(pd);
 [eva] Recording results for main
 [eva] Done for function main
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    library.i:31: assigns clause on addresses
+      (read 2 times, propagated 2 times) garbled mix of &{S_gpi}
+    library.i:41: assigns clause on addresses
+      (read 2 times, propagated 2 times) garbled mix of &{S_gpf}
+    library.i:45: assigns clause on addresses
+      (read 2 times, propagated 2 times) garbled mix of &{S_gpd}
 [eva] library.i:38: assertion 'Eva,function_pointer' got final status invalid.
 [eva] library.i:39: assertion 'Eva,function_pointer' got final status invalid.
 [eva] library.i:40: assertion 'Eva,function_pointer' got final status invalid.
diff --git a/tests/value/oracle/logic.res.oracle b/tests/value/oracle/logic.res.oracle
index cc514176b48a155bf2b67d375b61cbad018df839..77e8322bc7e61c9497bbd89beac20ade5492cac4 100644
--- a/tests/value/oracle/logic.res.oracle
+++ b/tests/value/oracle/logic.res.oracle
@@ -415,6 +415,9 @@
 [eva] logic.c:408: Frama_C_show_each_set: {0; 1; 2; 3; 4; 5}
 [eva] computing for function abs <- int_abs <- main.
   Called from logic.c:411.
+[eva:garbled-mix:assigns] logic.c:411: 
+  The specification of function abs has generated a garbled mix of addresses
+  for assigns clause \result.
 [eva] Done for function abs
 [eva] logic.c:412: 
   Frama_C_show_each_gm:
@@ -560,6 +563,10 @@
 [eva] Done for function plet
 [eva] Recording results for main
 [eva] Done for function main
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    logic.c:411: assigns clause on addresses (read 1 times, propagated 2 times)
+      garbled mix of &{x_0}
 [eva] logic.c:530: 
   Cannot evaluate range bound __fc_len - 1
   (unsupported logic var __fc_len). Approximating
diff --git a/tests/value/oracle/multidim-relations.res.oracle b/tests/value/oracle/multidim-relations.res.oracle
index e7f1d9da7ace7a3640b02aab980928a144b93e12..aa7000e536dc44b7605a8c08d43d786b47352cd0 100644
--- a/tests/value/oracle/multidim-relations.res.oracle
+++ b/tests/value/oracle/multidim-relations.res.oracle
@@ -48,6 +48,12 @@
 [eva] Done for function use_array
 [eva] Recording results for main
 [eva] Done for function main
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    multidim-relations.c:18: imprecise merge of addresses
+      (read 7 times, propagated 0 times) garbled mix of &{g; h}
+    multidim-relations.c:19: imprecise merge of addresses
+      (read 4 times, propagated 0 times) garbled mix of &{g; h}
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function init_array:
   t[0]{.kind; .[bits 8 to 31]#} ∈ {0; 1} repeated %8 
diff --git a/tests/value/oracle/origin.0.res.oracle b/tests/value/oracle/origin.0.res.oracle
index 463ecd82baa00bef9d69d4a929427c293e46f394..a0c837faa9e45d2e9593b57280248b8b6eab5d90 100644
--- a/tests/value/oracle/origin.0.res.oracle
+++ b/tests/value/oracle/origin.0.res.oracle
@@ -128,6 +128,9 @@
 [eva] computing for function gp <- main.
   Called from origin.i:100.
 [eva] using specification for function gp
+[eva:garbled-mix:assigns] origin.i:100: 
+  The specification of function gp has generated a garbled mix of addresses
+  for assigns clause \result.
 [eva] Done for function gp
 [eva:alarm] origin.i:101: Warning: out of bounds read. assert \valid_read(pl);
 [eva] computing for function origin_misalign_1 <- main.
@@ -194,6 +197,20 @@
   locals {local1} escaping the scope of local_escape_1 through esc4
 [eva] Recording results for main
 [eva] Done for function main
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    origin.i:19: arithmetic operation on addresses
+      (read 3 times, propagated 2 times) garbled mix of &{ta2; tta2}
+    origin.i:54: misaligned read of addresses
+      (read 3 times, propagated 1 times) garbled mix of &{a; b}
+    origin.i:14: arithmetic operation on addresses
+      (read 2 times, propagated 1 times) garbled mix of &{ta1}
+    origin.i:25: arithmetic operation on addresses
+      (read 2 times, propagated 1 times) garbled mix of &{ta3}
+    origin.i:100: assigns clause on addresses
+      (read 2 times, propagated 2 times) garbled mix of &{S_gpp}
+    origin.i:48: misaligned read of addresses
+      (read 2 times, propagated 1 times) garbled mix of &{a; b}
 [eva] origin.i:75: assertion 'Eva,initialization' got final status invalid.
 [scope:rm_asserts] removing 2 assertion(s)
 [eva] ====== VALUES COMPUTED ======
diff --git a/tests/value/oracle/origin.1.res.oracle b/tests/value/oracle/origin.1.res.oracle
index 23f2017157dd55ca36d768e50a104ca4b1bff071..4ca39e2f9666e88e958c97026512fbabd8a99cb5 100644
--- a/tests/value/oracle/origin.1.res.oracle
+++ b/tests/value/oracle/origin.1.res.oracle
@@ -74,6 +74,10 @@
   because of arithmetic operation on addresses.
 [eva] Recording results for origin
 [eva] Done for function origin
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    origin.i:126: misaligned read of addresses
+      (read 1 times, propagated 2 times) garbled mix of &{x; y}
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function origin:
   r.c ∈ [--..--]
diff --git a/tests/value/oracle/period.res.oracle b/tests/value/oracle/period.res.oracle
index bae921f2c83017e3d0a579fd5e57968d107db2cc..e949e737f124893354288c4ed3865a65d6396b74 100644
--- a/tests/value/oracle/period.res.oracle
+++ b/tests/value/oracle/period.res.oracle
@@ -94,6 +94,12 @@
   pointer downcast. assert (unsigned int)(&vg) ≤ 2147483647;
 [eva] Recording results for main
 [eva] Done for function main
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    period.c:51: arithmetic operation on addresses
+      (read 2 times, propagated 1 times) garbled mix of &{g}
+    period.c:53: arithmetic operation on addresses
+      (read 2 times, propagated 1 times) garbled mix of &{g}
 [scope:rm_asserts] removing 1 assertion(s)
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function main:
diff --git a/tests/value/oracle/recursion.0.res.oracle b/tests/value/oracle/recursion.0.res.oracle
index fd044aab639e3557a18f31a7ca6e5c4194ca3689..cb1dcc89815e6b7e167b7eb1a22971dcd955bda1 100644
--- a/tests/value/oracle/recursion.0.res.oracle
+++ b/tests/value/oracle/recursion.0.res.oracle
@@ -226,6 +226,9 @@
   Analysis of function escaping_stack is thus incomplete and its soundness
   relies on the written specification.
 [eva] using specification for function escaping_stack
+[eva:garbled-mix:assigns] recursion.c:311: 
+  The specification of function escaping_stack
+  has generated a garbled mix of addresses for assigns clause p.
 [eva:alarm] recursion.c:313: Warning: out of bounds write. assert \valid(p);
 [eva] recursion.c:314: Frama_C_show_each_1_2: {5}
 [eva:locals-escaping] recursion.c:312: Warning: 
@@ -236,6 +239,10 @@
   Analysis of function decr is thus incomplete and its soundness
   relies on the written specification.
 [eva] using specification for function decr
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    recursion.c:311: assigns clause on addresses
+      (read 2 times, propagated 1 times) garbled mix of &{x; a; \copy<x>[1]}
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function alarm:
   res ∈ [10..2147483647]
diff --git a/tests/value/oracle/reduce_by_valid.res.oracle b/tests/value/oracle/reduce_by_valid.res.oracle
index f74f2e91178601fd3731ee7c6db79b7e5c836b99..826021d49273bf80cfb3f3e201cd0fa2cc3507dc 100644
--- a/tests/value/oracle/reduce_by_valid.res.oracle
+++ b/tests/value/oracle/reduce_by_valid.res.oracle
@@ -145,6 +145,9 @@
 [eva] computing for function garbled_mix <- main12 <- main.
   Called from reduce_by_valid.i:272.
 [eva] using specification for function garbled_mix
+[eva:garbled-mix:assigns] reduce_by_valid.i:272: 
+  The specification of function garbled_mix
+  has generated a garbled mix of addresses for assigns clause \result.
 [eva] Done for function garbled_mix
 [eva] reduce_by_valid.i:273: 
   Frama_C_show_each_gm:
@@ -167,12 +170,19 @@
   out of bounds write. assert \valid(r);
 [eva] computing for function garbled_mix <- main12 <- main.
   Called from reduce_by_valid.i:290.
+[eva:garbled-mix:assigns] reduce_by_valid.i:290: 
+  The specification of function garbled_mix
+  has generated a garbled mix of addresses for assigns clause \result.
 [eva] Done for function garbled_mix
 [eva:alarm] reduce_by_valid.i:291: Warning: assertion got status unknown.
 [eva] Recording results for main12
 [eva] Done for function main12
 [eva] Recording results for main
 [eva] Done for function main
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    reduce_by_valid.i:272: assigns clause on addresses
+      (read 3 times, propagated 2 times) garbled mix of &{x; a}
 [scope:rm_asserts] removing 12 assertion(s)
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function main1:
diff --git a/tests/value/oracle/shift.0.res.oracle b/tests/value/oracle/shift.0.res.oracle
index 0303ded6de4929bc22a0eae3ef2230863830238f..38218467e1391e87dd16adb079beca1594aa854e 100644
--- a/tests/value/oracle/shift.0.res.oracle
+++ b/tests/value/oracle/shift.0.res.oracle
@@ -61,6 +61,10 @@
   unsigned overflow. assert 2U << 31 ≤ 4294967295;
 [eva] Recording results for main
 [eva] Done for function main
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    shift.i:52: arithmetic operation on addresses
+      (read 1 times, propagated 2 times) garbled mix of &{t}
 [eva] shift.i:35: assertion 'Eva,shift' got final status invalid.
 [eva] shift.i:36: assertion 'Eva,shift' got final status invalid.
 [eva] shift.i:40: assertion 'Eva,shift' got final status invalid.
diff --git a/tests/value/oracle/shift.1.res.oracle b/tests/value/oracle/shift.1.res.oracle
index 2caaba30888d19cb802a92693305b2cb39762f6a..cf118f59bd758f7162dbcf25ddf0b285625eaa62 100644
--- a/tests/value/oracle/shift.1.res.oracle
+++ b/tests/value/oracle/shift.1.res.oracle
@@ -51,6 +51,10 @@
   assert (long)r + (long)((long)((char *)t) << 8) ≤ 2147483647;
 [eva] Recording results for main
 [eva] Done for function main
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    shift.i:52: arithmetic operation on addresses
+      (read 1 times, propagated 2 times) garbled mix of &{t}
 [eva] shift.i:35: assertion 'Eva,shift' got final status invalid.
 [eva] shift.i:36: assertion 'Eva,shift' got final status invalid.
 [eva] shift.i:40: assertion 'Eva,shift' got final status invalid.
diff --git a/tests/value/oracle/sizeof.res.oracle b/tests/value/oracle/sizeof.res.oracle
index 9efb1b55c2d57c801e5e056dee0d78d42f817408..aa6a36837e24f63aa3c3f9e895594f1743c78872 100644
--- a/tests/value/oracle/sizeof.res.oracle
+++ b/tests/value/oracle/sizeof.res.oracle
@@ -46,6 +46,10 @@
 [eva] Done for function f
 [eva] Recording results for main
 [eva] Done for function main
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    sizeof.i:32: arithmetic operation on addresses
+      (read 2 times, propagated 1 times) garbled mix of &{s1}
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function f:
   
diff --git a/tests/value/oracle/va_list2.0.res.oracle b/tests/value/oracle/va_list2.0.res.oracle
index 49e0e8774567b880a14053405a6e14e7c690d7b5..2b3a7d3e4a6bb9f37aa3a50764303572b75e81ae 100644
--- a/tests/value/oracle/va_list2.0.res.oracle
+++ b/tests/value/oracle/va_list2.0.res.oracle
@@ -36,6 +36,10 @@
   {{ garbled mix of &{S_0_S___va_params; S_1_S___va_params} (origin: Well) }}
 [eva] Recording results for main
 [eva] Done for function main
+[eva:garbled-mix:summary] 
+  Origins of garbled mix generated during analysis:
+    Initial state (read 24 times, propagated 10 times)
+      garbled mix of &{S_0_S___va_params; S_1_S___va_params}
 [scope:rm_asserts] removing 1 assertion(s)
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function main:
diff --git a/tests/value/oracle_apron/backward_add_ptr.res.oracle b/tests/value/oracle_apron/backward_add_ptr.res.oracle
index ef19a912e467e231b3a3b3f3b80a52bb43737247..04bf26aed2a3d76fb3e5f7a704d63846dbaab183 100644
--- a/tests/value/oracle_apron/backward_add_ptr.res.oracle
+++ b/tests/value/oracle_apron/backward_add_ptr.res.oracle
@@ -27,6 +27,6 @@
 > [eva] Recording results for gm
 > [eva] Done for function gm
 154c166
-<       (propagated 20 times, read 86 times) garbled mix of bases {a; b; a; b; c}
+<       (read 81 times, propagated 20 times) garbled mix of &{a; b; a; b; c}
 ---
->       (propagated 28 times, read 90 times) garbled mix of bases {a; b; a; b; c}
+>       (read 81 times, propagated 28 times) garbled mix of &{a; b; a; b; c}
diff --git a/tests/value/oracle_apron/gauges.res.oracle b/tests/value/oracle_apron/gauges.res.oracle
index 3829c4158e264ac75da7160ef40f37f47f4f8a8a..e39bbda029892bd78f7dccf1f133ee3e51428468 100644
--- a/tests/value/oracle_apron/gauges.res.oracle
+++ b/tests/value/oracle_apron/gauges.res.oracle
@@ -50,15 +50,15 @@
 <   Frama_C_show_each: {-593; -592; -591; -590; -589; -588}, [0..2147483647]
 ---
 >   Frama_C_show_each: {-593; -592; -591; -590; -589; -588}, [0..598]
-774c761
+778c765
 <   n ∈ [-2147483648..99]
 ---
 >   n ∈ [-2147483547..99]
-777c764
+781c768
 <   i ∈ [0..2147483647]
 ---
 >   i ∈ [10..2147483647]
-813c800
+817c804
 <   i ∈ [0..2147483647]
 ---
 >   i ∈ [0..21]
diff --git a/tests/value/oracle_bitwise/addition.res.oracle b/tests/value/oracle_bitwise/addition.res.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/tests/value/oracle_bitwise/bitwise_pointer.0.res.oracle b/tests/value/oracle_bitwise/bitwise_pointer.0.res.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/tests/value/oracle_bitwise/bitwise_pointer.1.res.oracle b/tests/value/oracle_bitwise/bitwise_pointer.1.res.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/tests/value/oracle_bitwise/logic_ptr_cast.res.oracle b/tests/value/oracle_bitwise/logic_ptr_cast.res.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/tests/value/oracle_equality/addition.res.oracle b/tests/value/oracle_equality/addition.res.oracle
index 1f9878419ed0c405b36107f63d9e73f56b23b438..4527d4b279a58e63549f59ca9aef3f2765335771 100644
--- a/tests/value/oracle_equality/addition.res.oracle
+++ b/tests/value/oracle_equality/addition.res.oracle
@@ -5,32 +5,32 @@
 <   signed overflow. assert (int)*((char *)(&q1)) + 2 ≤ 2147483647;
 < [eva:garbled-mix:write] addition.i:61: Warning: 
 <   Assigning imprecise value to p14 because of misaligned read of addresses.
-144,147c138,139
-<       (propagated 1 times, read 1 times) garbled mix of bases {p1}
-<     addition.i:61: misaligned read of addresses
-<       (propagated 1 times, read 1 times) garbled mix of bases {p1}
+141c135,139
 < [scope:rm_asserts] removing 9 assertion(s)
 ---
->       (propagated 2 times, read 2 times) garbled mix of bases {p1}
+> [eva:garbled-mix:summary] Warning: 
+>   Origins of garbled mix generated during analysis:
+>     addition.i:59: misaligned read of addresses
+>       (read 1 times, propagated 2 times) garbled mix of &{p1}
 > [scope:rm_asserts] removing 7 assertion(s)
-169c161
+163c161
 <   p14 ∈ {{ garbled mix of &{p1} (origin: Misaligned {addition.i:61}) }}
 ---
 >   p14 ∈ {{ garbled mix of &{p1} (origin: Misaligned {addition.i:59}) }}
-363,366d354
+357,360d354
 < [eva:alarm] addition.i:61: Warning: 
 <   signed overflow. assert -2147483648 ≤ (int)*((char *)(&q1)) + 2;
 < [eva:alarm] addition.i:61: Warning: 
 <   signed overflow. assert (int)*((char *)(&q1)) + 2 ≤ 2147483647;
-375,378c363,364
-<       (propagated 1 times, read 1 times) garbled mix of bases {p1}
-<     addition.i:61: misaligned read of addresses
-<       (propagated 1 times, read 1 times) garbled mix of bases {p1}
+366c360,364
 < [scope:rm_asserts] removing 9 assertion(s)
 ---
->       (propagated 2 times, read 2 times) garbled mix of bases {p1}
+> [eva:garbled-mix:summary] Warning: 
+>   Origins of garbled mix generated during analysis:
+>     addition.i:59: misaligned read of addresses
+>       (read 1 times, propagated 2 times) garbled mix of &{p1}
 > [scope:rm_asserts] removing 7 assertion(s)
-401c387
+389c387
 <   p14 ∈ {{ garbled mix of &{p1} (origin: Misaligned {addition.i:61}) }}
 ---
 >   p14 ∈ {{ garbled mix of &{p1} (origin: Misaligned {addition.i:59}) }}
diff --git a/tests/value/oracle_equality/arith_pointer.res.oracle b/tests/value/oracle_equality/arith_pointer.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..e8d12d536a5435ae4567640619599a9d10b2e3ab
--- /dev/null
+++ b/tests/value/oracle_equality/arith_pointer.res.oracle
@@ -0,0 +1,8 @@
+48c48
+<       (read 2 times, propagated 2 times) garbled mix of &{x}
+---
+>       (read 3 times, propagated 2 times) garbled mix of &{x}
+161c161
+<       (read 2 times, propagated 2 times) garbled mix of &{x}
+---
+>       (read 3 times, propagated 2 times) garbled mix of &{x}
diff --git a/tests/value/oracle_equality/backward_add_ptr.res.oracle b/tests/value/oracle_equality/backward_add_ptr.res.oracle
index 38834abac9b8f039c5f0b3972dcb5d0f4e393e21..1b7ff53fec0b3b7db573cd6fc15fa8834ae8b229 100644
--- a/tests/value/oracle_equality/backward_add_ptr.res.oracle
+++ b/tests/value/oracle_equality/backward_add_ptr.res.oracle
@@ -24,6 +24,6 @@
 > [eva] Recording results for gm
 > [eva] Done for function gm
 154c163
-<       (propagated 20 times, read 86 times) garbled mix of bases {a; b; a; b; c}
+<       (read 81 times, propagated 20 times) garbled mix of &{a; b; a; b; c}
 ---
->       (propagated 26 times, read 94 times) garbled mix of bases {a; b; a; b; c}
+>       (read 86 times, propagated 26 times) garbled mix of &{a; b; a; b; c}
diff --git a/tests/value/oracle_equality/bitfield.res.oracle b/tests/value/oracle_equality/bitfield.res.oracle
index 46eace6fb725925449aeaf5c01f6ed18b2bd7a09..cfff35a117cceb9cdbac66aca878b2a19735854b 100644
--- a/tests/value/oracle_equality/bitfield.res.oracle
+++ b/tests/value/oracle_equality/bitfield.res.oracle
@@ -1,4 +1,8 @@
-134a135,137
+137a138,140
 > [eva] bitfield.i:71: 
 >   Frama_C_show_each:
 >   {{ garbled mix of &{b} (origin: Misaligned {bitfield.i:70}) }}
+213c216
+<       (read 5 times, propagated 7 times) garbled mix of &{b; ee}
+---
+>       (read 6 times, propagated 7 times) garbled mix of &{b; ee}
diff --git a/tests/value/oracle_equality/bitwise_pointer.0.res.oracle b/tests/value/oracle_equality/bitwise_pointer.0.res.oracle
index 0b286b812681ed3e8f9d9d2f5b2797ec78fa9df4..688b8e07ea0d94b9b3a3e8c2d26e5ff3a5a8f9e6 100644
--- a/tests/value/oracle_equality/bitwise_pointer.0.res.oracle
+++ b/tests/value/oracle_equality/bitwise_pointer.0.res.oracle
@@ -1,8 +1,8 @@
-60c60
+66c66
 <   x ∈ [0..9]
 ---
 >   x ∈ {5}
-73c73
+79c79
 <   x1 ∈ [0..9]
 ---
 >   x1 ∈ {5}
diff --git a/tests/value/oracle_equality/bitwise_pointer.1.res.oracle b/tests/value/oracle_equality/bitwise_pointer.1.res.oracle
index 0b286b812681ed3e8f9d9d2f5b2797ec78fa9df4..688b8e07ea0d94b9b3a3e8c2d26e5ff3a5a8f9e6 100644
--- a/tests/value/oracle_equality/bitwise_pointer.1.res.oracle
+++ b/tests/value/oracle_equality/bitwise_pointer.1.res.oracle
@@ -1,8 +1,8 @@
-60c60
+66c66
 <   x ∈ [0..9]
 ---
 >   x ∈ {5}
-73c73
+79c79
 <   x1 ∈ [0..9]
 ---
 >   x1 ∈ {5}
diff --git a/tests/value/oracle_equality/context_free.res.oracle b/tests/value/oracle_equality/context_free.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..edf1bab4ce0f782dcf8cacb94936e89dd482ddbb
--- /dev/null
+++ b/tests/value/oracle_equality/context_free.res.oracle
@@ -0,0 +1,4 @@
+95c95
+<     Initial state (read 9 times, propagated 5 times)
+---
+>     Initial state (read 11 times, propagated 5 times)
diff --git a/tests/value/oracle_equality/empty_struct.6.res.oracle b/tests/value/oracle_equality/empty_struct.6.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..a5fdd6006f01b6a3c868dca147b94ac07083a5ae
--- /dev/null
+++ b/tests/value/oracle_equality/empty_struct.6.res.oracle
@@ -0,0 +1,4 @@
+27c27
+<       (read 2 times, propagated 3 times) garbled mix of &{gs}
+---
+>       (read 3 times, propagated 3 times) garbled mix of &{gs}
diff --git a/tests/value/oracle_equality/gauges.res.oracle b/tests/value/oracle_equality/gauges.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..1375772daf32d94c39da70a45a329a0af7e75df1
--- /dev/null
+++ b/tests/value/oracle_equality/gauges.res.oracle
@@ -0,0 +1,4 @@
+716c716
+<       (read 14 times, propagated 12 times) garbled mix of &{x; y}
+---
+>       (read 20 times, propagated 12 times) garbled mix of &{x; y}
diff --git a/tests/value/oracle_equality/library.res.oracle b/tests/value/oracle_equality/library.res.oracle
index 7ce2a4b0636c541b94a46f6ac3100e7660b079b8..60b76d8270d110e07713fc18e2042192a380e59e 100644
--- a/tests/value/oracle_equality/library.res.oracle
+++ b/tests/value/oracle_equality/library.res.oracle
@@ -1,4 +1,4 @@
-118,121d117
+124,127d123
 < [eva:alarm] library.i:44: Warning: 
 <   non-finite float value. assert \is_finite(*pf);
 < [eva:alarm] library.i:44: Warning: 
diff --git a/tests/value/oracle_equality/origin.0.res.oracle b/tests/value/oracle_equality/origin.0.res.oracle
index abe35687d18afa5ad7b79629a2d8594868b20ce1..a12449e315cdcbf000a4adcafec176f044d53066 100644
--- a/tests/value/oracle_equality/origin.0.res.oracle
+++ b/tests/value/oracle_equality/origin.0.res.oracle
@@ -1,9 +1,9 @@
-229,230c229
+246,247c246
 <   pm2[bits 0 to 15]# ∈ {{ (? *)&a }}%32, bits 16 to 31 
 <      [bits 16 to 31]# ∈ {{ (? *)&b }}%32, bits 0 to 15 
 ---
 >   pm2 ∈ {{ &a + {-4} ; &b + {-4} }}
-264,265c263
+281,282c280
 <   pm2[bits 0 to 15]# ∈ {{ (? *)&a }}%32, bits 16 to 31 
 <      [bits 16 to 31]# ∈ {{ (? *)&b }}%32, bits 0 to 15 
 ---
diff --git a/tests/value/oracle_equality/period.res.oracle b/tests/value/oracle_equality/period.res.oracle
index 72c7991e2b3468da18583defce107fc497b4bb5a..657c13125d1d186b4e4b752cd479fb28e639a08b 100644
--- a/tests/value/oracle_equality/period.res.oracle
+++ b/tests/value/oracle_equality/period.res.oracle
@@ -4,5 +4,7 @@
 < [eva:garbled-mix:write] period.c:53: 
 <   Assigning imprecise value to p because of arithmetic operation on addresses.
 < [eva:alarm] period.c:54: Warning: out of bounds read. assert \valid_read(p);
-97d91
+101,103d95
+<     period.c:53: arithmetic operation on addresses
+<       (read 2 times, propagated 1 times) garbled mix of &{g}
 < [scope:rm_asserts] removing 1 assertion(s)
diff --git a/tests/value/oracle_equality/va_list2.0.res.oracle b/tests/value/oracle_equality/va_list2.0.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..2907faaa45d2cec4207024217ed66cf9699b41f8
--- /dev/null
+++ b/tests/value/oracle_equality/va_list2.0.res.oracle
@@ -0,0 +1,4 @@
+41c41
+<     Initial state (read 24 times, propagated 10 times)
+---
+>     Initial state (read 28 times, propagated 10 times)
diff --git a/tests/value/oracle_gauges/bitfield.res.oracle b/tests/value/oracle_gauges/bitfield.res.oracle
index c47829e652e4b743152bbfca46d27650bab2fc3e..e84586701d0d94c7fe0b6eeef82d99fb3522fe2c 100644
--- a/tests/value/oracle_gauges/bitfield.res.oracle
+++ b/tests/value/oracle_gauges/bitfield.res.oracle
@@ -1,4 +1,4 @@
-134a135,149
+137a138,152
 > [eva] bitfield.i:71: 
 >   Frama_C_show_each:
 >   {{ garbled mix of &{b} (origin: Misaligned {bitfield.i:70}) }}
@@ -14,3 +14,7 @@
 > [eva] bitfield.i:73: 
 >   Frama_C_show_each:
 >   {{ garbled mix of &{b} (origin: Misaligned {bitfield.i:70}) }}
+213c228
+<       (read 5 times, propagated 7 times) garbled mix of &{b; ee}
+---
+>       (read 9 times, propagated 11 times) garbled mix of &{b; ee}
diff --git a/tests/value/oracle_gauges/gauges.res.oracle b/tests/value/oracle_gauges/gauges.res.oracle
index 1c645040cca978977f74a4d24ffac408484a6416..9d4462e029b227ddad11d18dc38dee160fab8cff 100644
--- a/tests/value/oracle_gauges/gauges.res.oracle
+++ b/tests/value/oracle_gauges/gauges.res.oracle
@@ -261,48 +261,52 @@
 708a827,828
 > [eva] gauges.c:343: Call to builtin malloc
 > [eva] gauges.c:343: Call to builtin malloc
-761,762c881,882
+716c836
+<       (read 14 times, propagated 12 times) garbled mix of &{x; y}
+---
+>       (read 12 times, propagated 11 times) garbled mix of &{x; y}
+765,766c885,886
 <   A ∈ {{ &A + [0..--],0%4 }}
 <   B ∈ {{ &B + [0..--],0%4 }}
 ---
 >   A ∈ {{ &A + [0..36],0%4 }}
 >   B ∈ {{ &B + [0..36],0%4 }}
-774c894
+778c898
 <   n ∈ [-2147483648..99]
 ---
 >   n ∈ [-2147483547..99]
-780c900
+784c904
 <   i ∈ {45; 46; 47; 48; 49; 50; 51}
 ---
 >   i ∈ {45; 46; 47; 48}
-786c906
+790c910
 <   i ∈ {-59; -58; -57; -56; -55; -54; -53}
 ---
 >   i ∈ {-58; -57; -56; -55; -54; -53}
-806c926
+810c930
 <   p ∈ {{ &u + [0..--],0%4 }}
 ---
 >   p ∈ {{ &u + [0..400],0%4 }}
-808c928
+812c932
 <   k ∈ [0..2147483647]
 ---
 >   k ∈ [0..390]
-813c933
+817c937
 <   i ∈ [0..2147483647]
 ---
 >   i ∈ [0..21]
-824,825c944,946
+828,829c948,950
 <    [1..9] ∈ {4; 5; 6; 7; 8; 9} or UNINITIALIZED
 <   p ∈ {{ &y + [4..40],0%4 }}
 ---
 >    [1..6] ∈ {4; 5; 6; 7; 8; 9} or UNINITIALIZED
 >    [7..9] ∈ UNINITIALIZED
 >   p ∈ {{ &y[7] }}
-836c957
+840c961
 <   p ∈ {{ &T + [--..396],0%4 }}
 ---
 >   p ∈ {{ &T + [-4..396],0%4 }}
-841,845c962
+845,849c966
 <   n ∈ {0}
 <   arr[0] ∈ {0}
 <      [1] ∈ {-1}
@@ -310,19 +314,19 @@
 <   p ∈ {{ &arr + [12..--],0%4 }}
 ---
 >   NON TERMINATING FUNCTION
-948a1066
+952a1070
 > [from] Non-terminating function main8_aux (no dependencies)
-971,972c1089,1090
+975,976c1093,1094
 <   p FROM p; A; B; n; p; A[0..9]; B[0..9] (and SELF)
 <   \result FROM p; A; B; n; p; A[0..9]; B[0..9]
 ---
 >   p FROM p; A; B; n; p; A[0..8]; B[0..8] (and SELF)
 >   \result FROM p; A; B; n; p; A[0..8]; B[0..8]
-1016c1134
+1020c1138
 <   NO EFFECTS
 ---
 >   NON TERMINATING - NO EFFECTS
-1050c1168
+1054c1172
 <     p; A[0..9]; B[0..9]
 ---
 >     p; A[0..8]; B[0..8]
diff --git a/tests/value/oracle_gauges/va_list2.0.res.oracle b/tests/value/oracle_gauges/va_list2.0.res.oracle
index 80fc106a63e0bc09c6ccf89c3f85ddb2cca12acd..70defd3cb22fe585b3ac25d1cbc4a5509d95456b 100644
--- a/tests/value/oracle_gauges/va_list2.0.res.oracle
+++ b/tests/value/oracle_gauges/va_list2.0.res.oracle
@@ -11,3 +11,7 @@
 > [eva] va_list2.c:21: 
 >   Frama_C_show_each_f:
 >   {{ garbled mix of &{S_0_S___va_params; S_1_S___va_params} (origin: Well) }}
+41c53
+<     Initial state (read 24 times, propagated 10 times)
+---
+>     Initial state (read 36 times, propagated 16 times)
diff --git a/tests/value/oracle_octagon/bitfield.res.oracle b/tests/value/oracle_octagon/bitfield.res.oracle
index 46eace6fb725925449aeaf5c01f6ed18b2bd7a09..cfff35a117cceb9cdbac66aca878b2a19735854b 100644
--- a/tests/value/oracle_octagon/bitfield.res.oracle
+++ b/tests/value/oracle_octagon/bitfield.res.oracle
@@ -1,4 +1,8 @@
-134a135,137
+137a138,140
 > [eva] bitfield.i:71: 
 >   Frama_C_show_each:
 >   {{ garbled mix of &{b} (origin: Misaligned {bitfield.i:70}) }}
+213c216
+<       (read 5 times, propagated 7 times) garbled mix of &{b; ee}
+---
+>       (read 6 times, propagated 7 times) garbled mix of &{b; ee}
diff --git a/tests/value/oracle_octagon/gauges.res.oracle b/tests/value/oracle_octagon/gauges.res.oracle
index 5b5cc28292675e05f4c652053a6c451c8d8744d1..1b2c6b235548585fb2d4218526d8c76fbed82258 100644
--- a/tests/value/oracle_octagon/gauges.res.oracle
+++ b/tests/value/oracle_octagon/gauges.res.oracle
@@ -7,11 +7,11 @@
 < [eva] gauges.c:218: Frama_C_show_each:
 < [eva:alarm] gauges.c:220: Warning: 
 <   signed overflow. assert -2147483648 ≤ n - 1;
-763c756
+767c760
 <   numNonZero ∈ [-2147483648..8]
 ---
 >   numNonZero ∈ {-1}
-774c767
+778c771
 <   n ∈ [-2147483648..99]
 ---
 >   n ∈ {-1}
diff --git a/tests/value/oracle_symblocs/bitwise_pointer.0.res.oracle b/tests/value/oracle_symblocs/bitwise_pointer.0.res.oracle
index 0b286b812681ed3e8f9d9d2f5b2797ec78fa9df4..688b8e07ea0d94b9b3a3e8c2d26e5ff3a5a8f9e6 100644
--- a/tests/value/oracle_symblocs/bitwise_pointer.0.res.oracle
+++ b/tests/value/oracle_symblocs/bitwise_pointer.0.res.oracle
@@ -1,8 +1,8 @@
-60c60
+66c66
 <   x ∈ [0..9]
 ---
 >   x ∈ {5}
-73c73
+79c79
 <   x1 ∈ [0..9]
 ---
 >   x1 ∈ {5}
diff --git a/tests/value/oracle_symblocs/bitwise_pointer.1.res.oracle b/tests/value/oracle_symblocs/bitwise_pointer.1.res.oracle
index 0b286b812681ed3e8f9d9d2f5b2797ec78fa9df4..688b8e07ea0d94b9b3a3e8c2d26e5ff3a5a8f9e6 100644
--- a/tests/value/oracle_symblocs/bitwise_pointer.1.res.oracle
+++ b/tests/value/oracle_symblocs/bitwise_pointer.1.res.oracle
@@ -1,8 +1,8 @@
-60c60
+66c66
 <   x ∈ [0..9]
 ---
 >   x ∈ {5}
-73c73
+79c79
 <   x1 ∈ [0..9]
 ---
 >   x1 ∈ {5}
diff --git a/tests/value/oracle_symblocs/library.res.oracle b/tests/value/oracle_symblocs/library.res.oracle
index 7ce2a4b0636c541b94a46f6ac3100e7660b079b8..60b76d8270d110e07713fc18e2042192a380e59e 100644
--- a/tests/value/oracle_symblocs/library.res.oracle
+++ b/tests/value/oracle_symblocs/library.res.oracle
@@ -1,4 +1,4 @@
-118,121d117
+124,127d123
 < [eva:alarm] library.i:44: Warning: 
 <   non-finite float value. assert \is_finite(*pf);
 < [eva:alarm] library.i:44: Warning: