float64 float64_scalbn( float64 a, int n STATUS_PARAM )

{

    flag aSign;

    int16 aExp;

    uint64_t aSig;



    a = float64_squash_input_denormal(a STATUS_VAR);

    aSig = extractFloat64Frac( a );

    aExp = extractFloat64Exp( a );

    aSign = extractFloat64Sign( a );



    if ( aExp == 0x7FF ) {

        return a;

    }

    if ( aExp != 0 )

        aSig |= LIT64( 0x0010000000000000 );

    else if ( aSig == 0 )

        return a;



    aExp += n - 1;

    aSig <<= 10;

    return normalizeRoundAndPackFloat64( aSign, aExp, aSig STATUS_VAR );

}

float64 float64_scalbn( float64 a, int n STATUS_PARAM )

{

    flag aSign;

    int16 aExp;

    uint64_t aSig;



    a = float64_squash_input_denormal(a STATUS_VAR);

    aSig = extractFloat64Frac( a );

    aExp = extractFloat64Exp( a );

    aSign = extractFloat64Sign( a );



    if ( aExp == 0x7FF ) {

        return a;

    }

    if ( aExp != 0 )

        aSig |= LIT64( 0x0010000000000000 );

    else if ( aSig == 0 )

        return a;



    aExp += n - 1;

    aSig <<= 10;

    return normalizeRoundAndPackFloat64( aSign, aExp, aSig STATUS_VAR );

}

    int16 aExp;     int16 aExp;     int16 aExp;     if ( aExp == 0x7FF ) {
float64 FUNC_0( float64 a, int n STATUS_PARAM )

{

    flag aSign;

    int16 aExp;

    uint64_t aSig;



    a = float64_squash_input_denormal(a STATUS_VAR);

    aSig = extractFloat64Frac( a );

    aExp = extractFloat64Exp( a );

    aSign = extractFloat64Sign( a );



    if ( aExp == 0x7FF ) {

        return a;

    }

    if ( aExp != 0 )

        aSig |= LIT64( 0x0010000000000000 );

    else if ( aSig == 0 )

        return a;



    aExp += n - 1;

    aSig <<= 10;

    return normalizeRoundAndPackFloat64( aSign, aExp, aSig STATUS_VAR );

}

float64 FUNC_0( float64 a, int n STATUS_PARAM )
{ flag aSign; int16 aExp; uint64_t aSig; a = float64_squash_input_denormal(a STATUS_VAR); aSig = extractFloat64Frac( a ); aExp = extractFloat64Exp( a ); aSign = extractFloat64Sign( a ); if ( aExp == 0x7FF ) { return a; } if ( aExp != 0 )
aSig |= LIT64( 0x0010000000000000 ); else if ( aSig == 0 )
return a; aExp += n - 1; aSig <<= 10; return normalizeRoundAndPackFloat64( aSign, aExp, aSig STATUS_VAR ); }