crypto/bn/bn_sqr.c:253: error: INTEGER_OVERFLOW_L2
  ([0, max(4294967295, `*t`)] - [0, max(4294967295, `*t`)]):unsigned64 by call to `bn_sub_words`.
Showing all 11 steps of the trace


crypto/bn/bn_sqr.c:193:1: Parameter `*t`
191.    * a[1]*b[1]
192.    */
193. > void bn_sqr_recursive(BN_ULONG *r, BN_ULONG *a, int n2, BN_ULONG *t)
194.   	{
195.   	int n=n2/2;

crypto/bn/bn_sqr.c:250:11: Call
248.   	 */
249.   
250.   	c1=(int)(bn_add_words(t,r,&(r[n2]),n2));
                 ^
251.   
252.   	/* t[32] is negative */

crypto/bn/bn_asm.c:339:1: Parameter `*r`
  337.   	}
  338.   #else
  339. > BN_ULONG bn_add_words(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b, int n)
  340.           {
  341.   	BN_ULONG c,l,t;

crypto/bn/bn_sqr.c:253:12: Call
251.   
252.   	/* t[32] is negative */
253.   	c1-=(int)(bn_sub_words(&(t[n2]),t,&(t[n2]),n2));
                  ^
254.   
255.   	/* t[32] holds (a[0]-a[1])*(a[1]-a[0])+(a[0]*a[0])+(a[1]*a[1])

crypto/bn/bn_asm.c:389:1: <LHS trace>
387.   #endif
388.   
389. > BN_ULONG bn_sub_words(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b, int n)
390.           {
391.   	BN_ULONG t1,t2;

crypto/bn/bn_asm.c:389:1: Parameter `*a`
  387.   #endif
  388.   
  389. > BN_ULONG bn_sub_words(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b, int n)
  390.           {
  391.   	BN_ULONG t1,t2;

crypto/bn/bn_asm.c:399:3: Assignment
  397.   	for (;;)
  398.   		{
  399.   		t1=a[0]; t2=b[0];
           ^
  400.   		r[0]=(t1-t2-c)&BN_MASK2;
  401.   		if (t1 != t2) c=(t1 < t2);

crypto/bn/bn_asm.c:389:1: <RHS trace>
387.   #endif
388.   
389. > BN_ULONG bn_sub_words(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b, int n)
390.           {
391.   	BN_ULONG t1,t2;

crypto/bn/bn_asm.c:389:1: Parameter `*b`
  387.   #endif
  388.   
  389. > BN_ULONG bn_sub_words(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b, int n)
  390.           {
  391.   	BN_ULONG t1,t2;

crypto/bn/bn_asm.c:399:12: Assignment
  397.   	for (;;)
  398.   		{
  399.   		t1=a[0]; t2=b[0];
                    ^
  400.   		r[0]=(t1-t2-c)&BN_MASK2;
  401.   		if (t1 != t2) c=(t1 < t2);

crypto/bn/bn_asm.c:400:3: Binary operation: ([0, max(4294967295, *t)] - [0, max(4294967295, *t)]):unsigned64 by call to `bn_sub_words` 
  398.   		{
  399.   		t1=a[0]; t2=b[0];
  400.   		r[0]=(t1-t2-c)&BN_MASK2;
           ^
  401.   		if (t1 != t2) c=(t1 < t2);
  402.   		if (--n <= 0) break;
