/  4
 
START
Sign Check 
If ( A > 0 )If ( B > 0 )If ( A < 0 )If ( B < 0 )CH = 0CL = 1CH = 1CL = 0PUSH CXThe first bit of A and B is set to 0as if they were positive number Original values are restoredat the end
 
15
th
bit check 
To reduce the number of iterations we round the number up by adding 1 to the MSB of thenumber (if this doesn't causeoverflow)
Estimation of Results
Using the invariance propertywe compute an estimated result
A* = TMP_low*B_low ++ (TMP_low*B_high + TMP_high*B_low)*2^16 ++ TMP_high*B_high*2^32
Then we calculate A* by multiplying theobtained value with the second operand
 
A > A*S = A - A*A = A* - BS < BA* = A* + BEND YN YNA = A*END YNR = S

Share & Embed

More from this user

Add a Comment

Characters: ...