Index: mpi-1.8.6/mpi.c =================================================================== --- mpi-1.8.6.orig/mpi.c 2011-12-10 19:43:20.000000000 -0800 +++ mpi-1.8.6/mpi.c 2011-12-12 14:31:12.000000000 -0800 @@ -3255,7 +3255,7 @@ unless absolutely necessary. */ max = USED(a); - w = dp[max - 1] * d; + w = dp[max - 1] * (mp_word) d; if(CARRYOUT(w) != 0) { if((res = s_mp_pad(a, max + 1)) != MP_OKAY) return res; @@ -3263,7 +3263,7 @@ } for(ix = 0; ix < max; ix++) { - w = (dp[ix] * d) + k; + w = (dp[ix] * (mp_word) d) + k; dp[ix] = ACCUM(w); k = CARRYOUT(w); } @@ -3480,7 +3480,7 @@ pa = DIGITS(a); for(jx = 0; jx < ua; ++jx, ++pa) { pt = pbt + ix + jx; - w = *pb * *pa + k + *pt; + w = *pb * (mp_word) *pa + k + *pt; *pt = ACCUM(w); k = CARRYOUT(w); }