test/poly1305_internal_test.c:65: error: INTEGER_OVERFLOW_L2
  ([1, +oo] - [-15, 15]):unsigned64 by call to `Poly1305_Update`.
Showing all 7 steps of the trace


test/poly1305_internal_test.c:65:9: Call
63.       for (i=0;i<10000;i++) {
64.           Poly1305_Init(&poly1305, key);
65.           Poly1305_Update(&poly1305,buf,16);
              ^
66.           Poly1305_Final(&poly1305,buf);
67.       }

crypto/poly1305/poly1305.c:471:1: <LHS trace>
469.   #endif
470.   
471. > void Poly1305_Update(POLY1305 *ctx, const unsigned char *inp, size_t len)
472.   {
473.   #ifdef POLY1305_ASM

crypto/poly1305/poly1305.c:471:1: Parameter `len`
  469.   #endif
  470.   
  471. > void Poly1305_Update(POLY1305 *ctx, const unsigned char *inp, size_t len)
  472.   {
  473.   #ifdef POLY1305_ASM

crypto/poly1305/poly1305.c:471:1: <RHS trace>
469.   #endif
470.   
471. > void Poly1305_Update(POLY1305 *ctx, const unsigned char *inp, size_t len)
472.   {
473.   #ifdef POLY1305_ASM

crypto/poly1305/poly1305.c:471:1: Parameter `len`
  469.   #endif
  470.   
  471. > void Poly1305_Update(POLY1305 *ctx, const unsigned char *inp, size_t len)
  472.   {
  473.   #ifdef POLY1305_ASM

crypto/poly1305/poly1305.c:499:5: Assignment
  497.       }
  498.   
  499.       rem = len % POLY1305_BLOCK_SIZE;
             ^
  500.       len -= rem;
  501.   

crypto/poly1305/poly1305.c:500:5: Binary operation: ([1, +oo] - [-15, 15]):unsigned64 by call to `Poly1305_Update` 
  498.   
  499.       rem = len % POLY1305_BLOCK_SIZE;
  500.       len -= rem;
             ^
  501.   
  502.       if (len >= POLY1305_BLOCK_SIZE) {
