41#include "specialize.h" 
   44#ifdef SOFTFLOAT_FAST_INT64 
   63    uint32_t rem96[3], sig32A, recipSqrt32, sig32Z, q;
 
   65    uint32_t rem32, term[4], rem[4], extSigZ[3];
 
   79    if ( expA == 0x7FFF ) {
 
   80        if ( rem64 & 
UINT64_C( 0x7FFFFFFFFFFFFFFF ) ) {
 
   84        if ( signUI64 ) 
goto invalid;
 
   85        rem64 = 
UINT64_C( 0x8000000000000000 );
 
   90    if ( ! expA ) expA = 1;
 
   91    if ( ! (rem64 & 
UINT64_C( 0x8000000000000000 )) ) {
 
   98    if ( signUI64 ) 
goto invalid;
 
  101    expZ = ((expA - 0x3FFF)>>1) + 0x3FFF;
 
  106    sig32Z = ((
uint64_t) sig32A * recipSqrt32)>>32;
 
  107    if ( expA ) sig32Z >>= 1;
 
  122        x64 = ((
uint64_t) sig32Z<<32) + sig64Z;
 
  128        if ( ! (rem32 & 0x80000000) ) 
break;
 
  136    if ( rem64>>34 ) q += recipSqrt32;
 
  139    x64 = (sig64Z<<1) + (x64>>32);
 
  144    if ( (q & 0xFFFFFF) <= 2 ) {
 
  147        x64 = sig64Z + (q>>27);
 
  155        if ( q & 0x80000000 ) {
 
 
void softfloat_propagateNaNExtF80M(const struct extFloat80M *aSPtr, const struct extFloat80M *bSPtr, struct extFloat80M *zSPtr)
 
extFloat80_t extF80_sqrt(extFloat80_t a)
 
void extF80M_sqrt(const extFloat80_t *aPtr, extFloat80_t *zPtr)
 
#define packToExtF80UI64(sign, exp)
 
#define expExtF80UI64(a64)
 
void softfloat_invalidExtF80M(struct extFloat80M *)
 
void softfloat_roundPackMToExtF80M(bool, int32_t, uint32_t *, uint_fast8_t, struct extFloat80M *)
 
int softfloat_normExtF80SigM(uint64_t *)
 
#define indexMultiwordHi(total, n)
 
#define indexWordLo(total)
 
#define indexWord(total, n)
 
#define indexWordHi(total)
 
#define softfloat_sub1X96M(zPtr)
 
#define softfloat_remStep128MBy32(remPtr, dist, bPtr, q, zPtr)
 
#define softfloat_remStep96MBy32(remPtr, dist, bPtr, q, zPtr)
 
void softfloat_shortShiftLeft64To96M(uint64_t a, uint_fast8_t dist, uint32_t *zPtr)
 
uint32_t softfloat_approxRecipSqrt32_1(unsigned int oddExpA, uint32_t a)
 
THREAD_LOCAL uint_fast8_t extF80_roundingPrecision
 
unsigned __int64 uint64_t