crypto/bn/bn_mul.c:807: error: INTEGER_OVERFLOW_L2
  ([0, max(4294967295, `*r`)] - [0, max(4294967295, `*r`)]):unsigned64 by call to `bn_mul_recursive`.
Showing all 13 steps of the trace


crypto/bn/bn_mul.c:745:1: Parameter `*r`
743.    * t needs to be n2*3
744.    */
745. > void bn_mul_high(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b, BN_ULONG *l, int n2,
746.   	     BN_ULONG *t)
747.   	{

crypto/bn/bn_mul.c:807:3: Call
805.   # endif
806.   		{
807.   		bn_mul_recursive(&(t[0]),&(r[0]),&(r[n]),n,&(t[n2]));
         ^
808.   		bn_mul_recursive(r,&(a[n]),&(b[n]),n,&(t[n2]));
809.   		}

crypto/bn/bn_mul.c:396:1: Parameter `*a`
  394.    * a[1]*b[1]
  395.    */
  396. > void bn_mul_recursive(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b, int n2,
  397.   	     BN_ULONG *t)
  398.   	{

crypto/bn/bn_mul.c:427:5: Call
  425.   		}
  426.   	/* r=(a[0]-a[1])*(b[1]-b[0]) */
  427.   	c1=bn_cmp_words(a,&(a[n]),n);
             ^
  428.   	c2=bn_cmp_words(&(b[n]),b,n);
  429.   	zero=neg=0;

crypto/bn/bn_lib.c:795:1: Parameter `*b`
    793.   	}
    794.   
    795. > int bn_cmp_words(const BN_ULONG *a, const BN_ULONG *b, int n)
    796.   	{
    797.   	int i;

crypto/bn/bn_mul.c:433:3: Call
  431.   		{
  432.   	case -4:
  433.   		bn_sub_words(t,      &(a[n]),a,      n); /* - */
           ^
  434.   		bn_sub_words(&(t[n]),b,      &(b[n]),n); /* - */
  435.   		break;

crypto/bn/bn_asm.c:385:1: <LHS trace>
383.   #endif /* !BN_LLONG */
384.   
385. > BN_ULONG bn_sub_words(BN_ULONG *r, const BN_ULONG *a, const BN_ULONG *b, int n)
386.           {
387.   	BN_ULONG t1,t2;

crypto/bn/bn_asm.c:385:1: Parameter `*a`
    383.   #endif /* !BN_LLONG */
    384.   
    385. > BN_ULONG bn_sub_words(BN_ULONG *r, const BN_ULONG *a, const BN_ULONG *b, int n)
    386.           {
    387.   	BN_ULONG t1,t2;

crypto/bn/bn_asm.c:395:3: Assignment
    393.   	for (;;)
    394.   		{
    395.   		t1=a[0]; t2=b[0];
             ^
    396.   		r[0]=(t1-t2-c)&BN_MASK2;
    397.   		if (t1 != t2) c=(t1 < t2);

crypto/bn/bn_asm.c:385:1: <RHS trace>
383.   #endif /* !BN_LLONG */
384.   
385. > BN_ULONG bn_sub_words(BN_ULONG *r, const BN_ULONG *a, const BN_ULONG *b, int n)
386.           {
387.   	BN_ULONG t1,t2;

crypto/bn/bn_asm.c:385:1: Parameter `*b`
    383.   #endif /* !BN_LLONG */
    384.   
    385. > BN_ULONG bn_sub_words(BN_ULONG *r, const BN_ULONG *a, const BN_ULONG *b, int n)
    386.           {
    387.   	BN_ULONG t1,t2;

crypto/bn/bn_asm.c:395:12: Assignment
    393.   	for (;;)
    394.   		{
    395.   		t1=a[0]; t2=b[0];
                      ^
    396.   		r[0]=(t1-t2-c)&BN_MASK2;
    397.   		if (t1 != t2) c=(t1 < t2);

crypto/bn/bn_asm.c:396:3: Binary operation: ([0, max(4294967295, *r)] - [0, max(4294967295, *r)]):unsigned64 by call to `bn_mul_recursive` 
    394.   		{
    395.   		t1=a[0]; t2=b[0];
    396.   		r[0]=(t1-t2-c)&BN_MASK2;
             ^
    397.   		if (t1 != t2) c=(t1 < t2);
    398.   		if (--n <= 0) break;
