58{
   63    bool signRem;
   67    uint32_t rem2[5], *altRemPtr, *newRemPtr, wordMeanRem;
 
   68 
   69    
   70
   74    
   75
   79    
   80
   81    if ( (expA == 0x7FFF) || (expB == 0x7FFF) ) {
   83        if ( expA == 0x7FFF ) goto invalid;
   84        goto copyA;
   85    }
   86    
   87
   88    if ( expA < expB - 1 ) goto copyA;
   89    
   90
   92    if ( expB == -128 ) goto invalid;
   95    if ( expA == -128 ) goto copyA;
   97    
   98
   99    expDiff = expA - expB;
  100    if ( expDiff < 1 ) {
  101        if ( expDiff < -1 ) goto copyA;
  102        if ( expDiff ) {
  103            --expB;
  105            q = 0;
  106        } else {
  109        }
  110    } else {
  111        recip32 =
  114                    >>30
  115            );
  116        expDiff -= 30;
  117        for (;;) {
  119            if ( expDiff < 0 ) break;
  120            q = (q64 + 0x80000000)>>32;
  124            }
  125            expDiff -= 29;
  126        }
  127        
  128
  129
  130        q = (
uint32_t) (q64>>32)>>(~expDiff & 31);
 
  135            goto selectRem;
  136        }
  137    }
  138    
  139
  141    do {
  142        ++q;
  143        newRemPtr = altRemPtr;
  145        altRemPtr = remPtr;
  146        remPtr = newRemPtr;
  147    } 
while ( ! (remPtr[
indexWordHi( 4 )] & 0x80000000) );
 
  148 selectRem:
  151    if (
  152        (wordMeanRem & 0x80000000)
  153            || (! wordMeanRem && (q & 1) && ! x[
indexWord( 4, 0 )]
 
  155    ) {
  156        remPtr = altRemPtr;
  157    }
  159        signRem = ! signRem;
  161    }
  165    return;
  166    
  167
  168 invalid:
  170    return;
  171    
  172
  173 copyA:
  178 
  179}
void softfloat_invalidF128M(uint32_t *)
 
void softfloat_normRoundPackMToF128M(bool, int32_t, uint32_t *, uint32_t *)
 
int softfloat_shiftNormSigF128M(const uint32_t *, uint_fast8_t, uint32_t *)
 
bool softfloat_tryPropagateNaNF128M(const uint32_t *, const uint32_t *, uint32_t *)
 
#define signF128UI96(a96)
 
#define indexMultiwordLo(total, n)
 
#define indexWord(total, n)
 
#define indexWordHi(total)
 
#define softfloat_add128M(aPtr, bPtr, zPtr)
 
int_fast8_t softfloat_compare128M(const uint32_t *aPtr, const uint32_t *bPtr)
 
#define softfloat_remStep128MBy32(remPtr, dist, bPtr, q, zPtr)
 
#define softfloat_sub128M(aPtr, bPtr, zPtr)
 
uint32_t softfloat_approxRecip32_1(uint32_t a)
 
#define softfloat_negX128M(zPtr)
 
unsigned __int64 uint64_t