assign bigsum = r2[13:0] + i2[13:0];
wire shnasto = bigsum[14];
wire shnasto2 = // o shi
+ ((r[13] & i[13]) |
+ ((r[13] ^ i[13]) &
((r[12] & i[12]) |
((r[12] ^ i[12]) &
((r[11] & i[11]) |
((r[ 1] & i[ 1]) |
((r[ 1] ^ i[ 1]) &
(r[ 0] & i[ 0])
- ))))))))))))))))))))))));
- assign bigsum_ovf = shnasto | r2[13] | i2[13];
+ ))))))))))))))))))))))))));
+ assign bigsum_ovf = shnasto;
assign twocdiff = r2 - i2;
assign diff = twocdiff[15] ? -twocdiff : twocdiff;