diff --git a/src/plugins/e-acsl/tests/arith/oracle/gen_sum.c b/src/plugins/e-acsl/tests/arith/oracle/gen_sum.c
index 362a4d3b1798252f52ecebda63c5101c8bfe6c56..c5f401dc6b87195d387f73cf20996261f7a061ca 100644
--- a/src/plugins/e-acsl/tests/arith/oracle/gen_sum.c
+++ b/src/plugins/e-acsl/tests/arith/oracle/gen_sum.c
@@ -6,31 +6,31 @@ extern  __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict;
 int main(void)
 {
   int __retres;
-  unsigned long x = 4294967295UL;
+  unsigned long x = (unsigned long)4294967295U;
   int y = 10;
   {
     int __gen_e_acsl_k;
     int __gen_e_acsl_one;
     int __gen_e_acsl_cond;
     int __gen_e_acsl_lambda;
-    int __gen_e_acsl_sum;
+    int __gen_e_acsl_accumulator;
     __gen_e_acsl_one = 1;
     __gen_e_acsl_cond = 0;
     __gen_e_acsl_lambda = 0;
-    __gen_e_acsl_sum = 0;
+    __gen_e_acsl_accumulator = 0;
     __gen_e_acsl_k = 2;
     while (1) {
       __gen_e_acsl_cond = __gen_e_acsl_k > 10;
       if (__gen_e_acsl_cond) break;
       else {
         __gen_e_acsl_lambda = 2 * __gen_e_acsl_k;
-        __gen_e_acsl_sum += __gen_e_acsl_lambda;
+        __gen_e_acsl_accumulator += __gen_e_acsl_lambda;
         __gen_e_acsl_k += __gen_e_acsl_one;
       }
     }
-    __e_acsl_assert(__gen_e_acsl_sum == 108,1,"Assertion","main",
+    __e_acsl_assert(__gen_e_acsl_accumulator == 108,1,"Assertion","main",
                     "\\sum(2, 10, \\lambda integer k; 2 * k) == 108",
-                    "tests/arith/sum.i",10);
+                    "tests/arith/sum.c",11);
   }
   /*@ assert \sum(2, 10, \lambda ℤ k; 2 * k) ≡ 108; */ ;
   {
@@ -38,13 +38,13 @@ int main(void)
     int __gen_e_acsl_one_2;
     int __gen_e_acsl_cond_2;
     __e_acsl_mpz_t __gen_e_acsl_lambda_2;
-    __e_acsl_mpz_t __gen_e_acsl_sum_2;
+    __e_acsl_mpz_t __gen_e_acsl_accumulator_2;
     __e_acsl_mpz_t __gen_e_acsl__2;
     int __gen_e_acsl_ne;
     __gen_e_acsl_one_2 = 1;
     __gen_e_acsl_cond_2 = 0;
     __gmpz_init_set_si(__gen_e_acsl_lambda_2,0L);
-    __gmpz_init_set_si(__gen_e_acsl_sum_2,0L);
+    __gmpz_init_set_si(__gen_e_acsl_accumulator_2,0L);
     __gen_e_acsl_k_2 = 2;
     while (1) {
       __gen_e_acsl_cond_2 = __gen_e_acsl_k_2 > 35;
@@ -57,46 +57,50 @@ int main(void)
                      (__e_acsl_mpz_struct const *)(__gen_e_acsl_));
           __gmpz_clear(__gen_e_acsl_);
         }
-        __gmpz_add(__gen_e_acsl_sum_2,
-                   (__e_acsl_mpz_struct const *)(__gen_e_acsl_sum_2),
+        __gmpz_add(__gen_e_acsl_accumulator_2,
+                   (__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator_2),
                    (__e_acsl_mpz_struct const *)(__gen_e_acsl_lambda_2));
+        /*@ assert
+            Eva: signed_overflow:
+              __gen_e_acsl_k_2 + __gen_e_acsl_one_2 ≤ 2147483647;
+        */
         __gen_e_acsl_k_2 += __gen_e_acsl_one_2;
       }
     }
     __gmpz_init_set_si(__gen_e_acsl__2,0L);
-    __gen_e_acsl_ne = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_sum_2),
+    __gen_e_acsl_ne = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator_2),
                                  (__e_acsl_mpz_struct const *)(__gen_e_acsl__2));
     __e_acsl_assert(__gen_e_acsl_ne != 0,1,"Assertion","main",
-                    "\\sum(2, 35, \\lambda integer k; 18446744073709551615) != 0",
-                    "tests/arith/sum.i",12);
+                    "\\sum(2, 35, \\lambda integer k; 18446744073709551615ULL) != 0",
+                    "tests/arith/sum.c",12);
     __gmpz_clear(__gen_e_acsl_lambda_2);
-    __gmpz_clear(__gen_e_acsl_sum_2);
+    __gmpz_clear(__gen_e_acsl_accumulator_2);
     __gmpz_clear(__gen_e_acsl__2);
   }
-  /*@ assert \sum(2, 35, \lambda ℤ k; 18446744073709551615) ≢ 0; */ ;
+  /*@ assert \sum(2, 35, \lambda ℤ k; 18446744073709551615ULL) ≢ 0; */ ;
   {
     int __gen_e_acsl_k_3;
     int __gen_e_acsl_one_3;
     int __gen_e_acsl_cond_3;
     int __gen_e_acsl_lambda_3;
-    int __gen_e_acsl_sum_3;
+    int __gen_e_acsl_accumulator_3;
     __gen_e_acsl_one_3 = 1;
     __gen_e_acsl_cond_3 = 0;
     __gen_e_acsl_lambda_3 = 0;
-    __gen_e_acsl_sum_3 = 0;
+    __gen_e_acsl_accumulator_3 = 0;
     __gen_e_acsl_k_3 = 10;
     while (1) {
       __gen_e_acsl_cond_3 = __gen_e_acsl_k_3 > 2;
       if (__gen_e_acsl_cond_3) break;
       else {
         __gen_e_acsl_lambda_3 = __gen_e_acsl_k_3;
-        __gen_e_acsl_sum_3 += __gen_e_acsl_lambda_3;
+        __gen_e_acsl_accumulator_3 += __gen_e_acsl_lambda_3;
         __gen_e_acsl_k_3 += __gen_e_acsl_one_3;
       }
     }
-    __e_acsl_assert(__gen_e_acsl_sum_3 == 0,1,"Assertion","main",
+    __e_acsl_assert(__gen_e_acsl_accumulator_3 == 0,1,"Assertion","main",
                     "\\sum(10, 2, \\lambda integer k; k) == 0",
-                    "tests/arith/sum.i",14);
+                    "tests/arith/sum.c",13);
   }
   /*@ assert \sum(10, 2, \lambda ℤ k; k) ≡ 0; */ ;
   {
@@ -107,7 +111,7 @@ int main(void)
     __e_acsl_mpz_t __gen_e_acsl_one_4;
     int __gen_e_acsl_cond_4;
     __e_acsl_mpz_t __gen_e_acsl_lambda_4;
-    __e_acsl_mpz_t __gen_e_acsl_sum_4;
+    __e_acsl_mpz_t __gen_e_acsl_accumulator_4;
     __e_acsl_mpz_t __gen_e_acsl__4;
     int __gen_e_acsl_eq;
     __gmpz_init_set_ui(__gen_e_acsl_x,x);
@@ -119,7 +123,7 @@ int main(void)
     __gmpz_init_set_si(__gen_e_acsl_one_4,1L);
     __gen_e_acsl_cond_4 = 0;
     __gmpz_init_set_si(__gen_e_acsl_lambda_4,0L);
-    __gmpz_init_set_si(__gen_e_acsl_sum_4,0L);
+    __gmpz_init_set_si(__gen_e_acsl_accumulator_4,0L);
     __gmpz_init_set(__gen_e_acsl_k_4,
                     (__e_acsl_mpz_struct const *)(__gen_e_acsl_mul));
     while (1) {
@@ -129,8 +133,8 @@ int main(void)
       else {
         __gmpz_set(__gen_e_acsl_lambda_4,
                    (__e_acsl_mpz_struct const *)(__gen_e_acsl_k_4));
-        __gmpz_add(__gen_e_acsl_sum_4,
-                   (__e_acsl_mpz_struct const *)(__gen_e_acsl_sum_4),
+        __gmpz_add(__gen_e_acsl_accumulator_4,
+                   (__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator_4),
                    (__e_acsl_mpz_struct const *)(__gen_e_acsl_lambda_4));
         __gmpz_add(__gen_e_acsl_k_4,
                    (__e_acsl_mpz_struct const *)(__gen_e_acsl_k_4),
@@ -138,18 +142,18 @@ int main(void)
       }
     }
     __gmpz_init_set_si(__gen_e_acsl__4,0L);
-    __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_sum_4),
+    __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator_4),
                                  (__e_acsl_mpz_struct const *)(__gen_e_acsl__4));
     __e_acsl_assert(__gen_e_acsl_eq == 0,1,"Assertion","main",
                     "\\sum(x * x, 2, \\lambda integer k; k) == 0",
-                    "tests/arith/sum.i",16);
+                    "tests/arith/sum.c",14);
     __gmpz_clear(__gen_e_acsl_x);
     __gmpz_clear(__gen_e_acsl_mul);
     __gmpz_clear(__gen_e_acsl__3);
     __gmpz_clear(__gen_e_acsl_k_4);
     __gmpz_clear(__gen_e_acsl_one_4);
     __gmpz_clear(__gen_e_acsl_lambda_4);
-    __gmpz_clear(__gen_e_acsl_sum_4);
+    __gmpz_clear(__gen_e_acsl_accumulator_4);
     __gmpz_clear(__gen_e_acsl__4);
   }
   /*@ assert \sum(x * x, 2, \lambda ℤ k; k) ≡ 0; */ ;
@@ -160,13 +164,13 @@ int main(void)
     __e_acsl_mpz_t __gen_e_acsl_one_5;
     int __gen_e_acsl_cond_5;
     int __gen_e_acsl_lambda_5;
-    int __gen_e_acsl_sum_5;
-    __gmpz_init_set_ui(__gen_e_acsl__5,18446744073709551610UL);
+    int __gen_e_acsl_accumulator_5;
+    __gmpz_init_set_ui(__gen_e_acsl__5,18446744073709551615UL - 5UL);
     __gmpz_init_set_ui(__gen_e_acsl__6,18446744073709551615UL);
     __gmpz_init_set_si(__gen_e_acsl_one_5,1L);
     __gen_e_acsl_cond_5 = 0;
     __gen_e_acsl_lambda_5 = 0;
-    __gen_e_acsl_sum_5 = 0;
+    __gen_e_acsl_accumulator_5 = 0;
     __gmpz_init_set(__gen_e_acsl_k_5,
                     (__e_acsl_mpz_struct const *)(__gen_e_acsl__5));
     while (1) {
@@ -177,17 +181,18 @@ int main(void)
         __gen_e_acsl_lambda_5 = 1;
         /*@ assert
             Eva: signed_overflow:
-              __gen_e_acsl_sum_5 + __gen_e_acsl_lambda_5 ≤ 2147483647;
+              __gen_e_acsl_accumulator_5 + __gen_e_acsl_lambda_5 ≤
+              2147483647;
         */
-        __gen_e_acsl_sum_5 += __gen_e_acsl_lambda_5;
+        __gen_e_acsl_accumulator_5 += __gen_e_acsl_lambda_5;
         __gmpz_add(__gen_e_acsl_k_5,
                    (__e_acsl_mpz_struct const *)(__gen_e_acsl_k_5),
                    (__e_acsl_mpz_struct const *)(__gen_e_acsl_one_5));
       }
     }
-    __e_acsl_assert(__gen_e_acsl_sum_5 == 6,1,"Assertion","main",
-                    "\\sum(18446744073709551610, 18446744073709551615, \\lambda integer k; 1) == 6",
-                    "tests/arith/sum.i",18);
+    __e_acsl_assert(__gen_e_acsl_accumulator_5 == 6,1,"Assertion","main",
+                    "\\sum(18446744073709551615ULL - 5, 18446744073709551615ULL,\n    \\lambda integer k; 1)\n== 6",
+                    "tests/arith/sum.c",15);
     __gmpz_clear(__gen_e_acsl__5);
     __gmpz_clear(__gen_e_acsl__6);
     __gmpz_clear(__gen_e_acsl_k_5);
@@ -195,8 +200,9 @@ int main(void)
   }
   /*@
   assert
-  \sum(18446744073709551610, 18446744073709551615, \lambda ℤ k; 1) ≡ 6;
-   */
+  \sum(18446744073709551615ULL - 5, 18446744073709551615ULL,
+      \lambda ℤ k; 1)
+  ≡ 6; */
   ;
   __retres = 0;
   return __retres;
diff --git a/src/plugins/e-acsl/tests/arith/oracle/sum.res.oracle b/src/plugins/e-acsl/tests/arith/oracle/sum.res.oracle
index df0b0c5c271fba45ac9f080c494664c60e65f105..fabbced782eec857e56330db0aa640f77a2ca944 100644
--- a/src/plugins/e-acsl/tests/arith/oracle/sum.res.oracle
+++ b/src/plugins/e-acsl/tests/arith/oracle/sum.res.oracle
@@ -1,16 +1,18 @@
 [e-acsl] beginning translation.
 [e-acsl] translation done in project "e-acsl".
-[eva:alarm] tests/arith/sum.i:10: Warning: assertion got status unknown.
-[eva:alarm] tests/arith/sum.i:12: Warning: 
+[eva:alarm] tests/arith/sum.c:11: Warning: assertion got status unknown.
+[eva:alarm] tests/arith/sum.c:12: Warning: 
+  signed overflow. assert __gen_e_acsl_k_2 + __gen_e_acsl_one_2 ≤ 2147483647;
+[eva:alarm] tests/arith/sum.c:12: Warning: 
   function __e_acsl_assert, behavior blocking: precondition got status unknown.
-[eva:alarm] tests/arith/sum.i:12: Warning: assertion got status unknown.
-[eva:alarm] tests/arith/sum.i:14: Warning: assertion got status unknown.
-[eva:alarm] tests/arith/sum.i:16: Warning: 
+[eva:alarm] tests/arith/sum.c:12: Warning: assertion got status unknown.
+[eva:alarm] tests/arith/sum.c:13: Warning: assertion got status unknown.
+[eva:alarm] tests/arith/sum.c:14: Warning: 
   function __e_acsl_assert, behavior blocking: precondition got status unknown.
-[eva:alarm] tests/arith/sum.i:16: Warning: assertion got status unknown.
-[eva:alarm] tests/arith/sum.i:18: Warning: 
+[eva:alarm] tests/arith/sum.c:14: Warning: assertion got status unknown.
+[eva:alarm] tests/arith/sum.c:15: Warning: 
   signed overflow.
-  assert __gen_e_acsl_sum_5 + __gen_e_acsl_lambda_5 ≤ 2147483647;
-[eva:alarm] tests/arith/sum.i:18: Warning: 
+  assert __gen_e_acsl_accumulator_5 + __gen_e_acsl_lambda_5 ≤ 2147483647;
+[eva:alarm] tests/arith/sum.c:15: Warning: 
   function __e_acsl_assert, behavior blocking: precondition got status unknown.
-[eva:alarm] tests/arith/sum.i:18: Warning: assertion got status unknown.
+[eva:alarm] tests/arith/sum.c:15: Warning: assertion got status unknown.
diff --git a/src/plugins/e-acsl/tests/arith/sum.c b/src/plugins/e-acsl/tests/arith/sum.c
new file mode 100644
index 0000000000000000000000000000000000000000..3d8e9a551fe10f8c3ff3e637a47f6ae4a8bd90a5
--- /dev/null
+++ b/src/plugins/e-acsl/tests/arith/sum.c
@@ -0,0 +1,18 @@
+/* run.config
+   COMMENT: sum operations
+*/
+
+#include <limits.h>
+
+int main(void) {
+  unsigned long x = UINT_MAX;
+  int y = 10;
+
+  /*@ assert \sum(2, 10, \lambda integer k; 2 * k) == 108; */;
+  /*@ assert \sum(2, 35, \lambda integer k; ULLONG_MAX) != 0; */;
+  /*@ assert \sum(10, 2, \lambda integer k; k) == 0; */;
+  /*@ assert \sum(x * x, 2, \lambda integer k; k) == 0; */;
+  /*@ assert \sum(ULLONG_MAX - 5, ULLONG_MAX, \lambda integer k; 1) == 6; */;
+
+  return 0;
+}
diff --git a/src/plugins/e-acsl/tests/arith/sum.i b/src/plugins/e-acsl/tests/arith/sum.i
deleted file mode 100644
index 3737ad347a01d3413e4193a1d408d75902f98522..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/arith/sum.i
+++ /dev/null
@@ -1,22 +0,0 @@
-/* run.config
-   COMMENT: sum operations
-   STDOPT: +"-eva-precision=3"
-*/
-
-int main(void) {
-  unsigned long x = 4294967295UL;
-  int y = 10;
-
-  /*@ assert \sum(2,10,\lambda integer k; 2*k) == 108; */;
-
-  /*@ assert \sum(2,35,\lambda integer k; 18446744073709551615) != 0; */;
-
-  /*@ assert \sum(10,2,\lambda integer k; k) == 0; */;
-
-  /*@ assert \sum(x*x,2,\lambda integer k; k) == 0; */;
-
-  /*@ assert \sum(18446744073709551610,18446744073709551615,\lambda integer k; 1) == 6; */
-  ;
-
-  return 0;
-}