float32 float64_to_float32( float64 a ) 
float32 float64_to_float32( struct roundingData *roundData, float64 a ) 
float32 float64_to_float32( float64 a ){    flag aSign;    int16 aExp;    bits64 aSig;    bits32 zSig;    aSig = extractFloat64Frac( a );    aExp = extractFloat64Exp( a );    aSign = extractFloat64Sign( a );    if ( aExp == 0x7FF ) {        if ( aSig ) return commonNaNToFloat32( float64ToCommonNaN( a ) );        return packFloat32( aSign, 0xFF, 0 );    }    shift64RightJamming( aSig, 22, &aSig );    zSig = aSig;    if ( aExp || zSig ) {        zSig |= 0x40000000;        aExp -= 0x381;    }    return roundAndPackFloat32( aSign, aExp, zSig );}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/f148af2593ef76ac705d1cc6abe48f455c9912cc/softfloat.c/clean/arch/arm/nwfpe/softfloat.c