float128 float128_scalbn( float128 a, int n STATUS_PARAM )

{

    flag aSign;

    int32 aExp;

    uint64_t aSig0, aSig1;



    aSig1 = extractFloat128Frac1( a );

    aSig0 = extractFloat128Frac0( a );

    aExp = extractFloat128Exp( a );

    aSign = extractFloat128Sign( a );

    if ( aExp == 0x7FFF ) {

        return a;

    }

    if ( aExp != 0 )

        aSig0 |= LIT64( 0x0001000000000000 );

    else if ( aSig0 == 0 && aSig1 == 0 )

        return a;



    aExp += n - 1;

    return normalizeRoundAndPackFloat128( aSign, aExp, aSig0, aSig1

                                          STATUS_VAR );



}

float128 float128_scalbn( float128 a, int n STATUS_PARAM )

{

    flag aSign;

    int32 aExp;

    uint64_t aSig0, aSig1;



    aSig1 = extractFloat128Frac1( a );

    aSig0 = extractFloat128Frac0( a );

    aExp = extractFloat128Exp( a );

    aSign = extractFloat128Sign( a );

    if ( aExp == 0x7FFF ) {

        return a;

    }

    if ( aExp != 0 )

        aSig0 |= LIT64( 0x0001000000000000 );

    else if ( aSig0 == 0 && aSig1 == 0 )

        return a;



    aExp += n - 1;

    return normalizeRoundAndPackFloat128( aSign, aExp, aSig0, aSig1

                                          STATUS_VAR );



}

    int32 aExp;
float128 FUNC_0( float128 a, int n STATUS_PARAM )

{

    flag aSign;

    int32 aExp;

    uint64_t aSig0, aSig1;



    aSig1 = extractFloat128Frac1( a );

    aSig0 = extractFloat128Frac0( a );

    aExp = extractFloat128Exp( a );

    aSign = extractFloat128Sign( a );

    if ( aExp == 0x7FFF ) {

        return a;

    }

    if ( aExp != 0 )

        aSig0 |= LIT64( 0x0001000000000000 );

    else if ( aSig0 == 0 && aSig1 == 0 )

        return a;



    aExp += n - 1;

    return normalizeRoundAndPackFloat128( aSign, aExp, aSig0, aSig1

                                          STATUS_VAR );



}

float128 FUNC_0( float128 a, int n STATUS_PARAM )
{ flag aSign; int32 aExp; uint64_t aSig0, aSig1; aSig1 = extractFloat128Frac1( a ); aSig0 = extractFloat128Frac0( a ); aExp = extractFloat128Exp( a ); aSign = extractFloat128Sign( a ); if ( aExp == 0x7FFF ) { return a; } if ( aExp != 0 )
aSig0 |= LIT64( 0x0001000000000000 ); else if ( aSig0 == 0 && aSig1 == 0 )
return a; aExp += n - 1; return normalizeRoundAndPackFloat128( aSign, aExp, aSig0, aSig1
STATUS_VAR ); }