55 register unsigned int signless_upper_left, signless_upper_right, save;
56 register unsigned int leftp1, leftp2, rightp1, rightp2,
extent;
57 register unsigned int resultp1 = 0, resultp2 = 0;
59 register int result_exponent, right_exponent, diff_exponent;
60 register int sign_save, jumpsize;
61 register boolean inexact =
FALSE, underflowtrap;
223 if(result_exponent == 0 )
228 if( (
int) save >= 0 )
279 diff_exponent = result_exponent - right_exponent;
297 if( (
int) save >= 0 )
305 extent,resultp1,resultp2);
336 if(result_exponent==0)
354 result_exponent==0)
goto underflow;
368 if((result_exponent -= 8) <= 0 && !underflowtrap)
376 if((result_exponent -= 4) <= 0 && !underflowtrap)
384 if(result_exponent <= 0)
goto underflow;
396 result_exponent -= 3;
403 result_exponent -= 2;
412 result_exponent -= 1;
416 if(result_exponent > 0)
447 Dbl_addition(leftp1,leftp2,rightp1,rightp2,resultp1,resultp2);