float_exception_flags |= float_flag_inexact; 
float_raise( float_flag_inexact ); 
int32 float64_to_int32_round_to_zero( float64 a ){    flag aSign;    int16 aExp, shiftCount;    bits64 aSig, savedASig;    int32 z;    aSig = extractFloat64Frac( a );    aExp = extractFloat64Exp( a );    aSign = extractFloat64Sign( a );    shiftCount = 0x433 - aExp;    if ( shiftCount < 21 ) {        if ( ( aExp == 0x7FF ) && aSig ) aSign = 0;        goto invalid;    }    else if ( 52 < shiftCount ) {        if ( aExp || aSig ) float_exception_flags |= float_flag_inexact;        return 0;    }    aSig |= LIT64( 0x0010000000000000 );    savedASig = aSig;    aSig >>= shiftCount;    z = aSig;    if ( aSign ) z = - z;    if ( ( z < 0 ) ^ aSign ) { invalid:        float_exception_flags |= float_flag_invalid;        return aSign ? 0x80000000 : 0x7FFFFFFF;    }    if ( ( aSig<<shiftCount ) != savedASig ) {        float_exception_flags |= float_flag_inexact;    }    return z;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/f148af2593ef76ac705d1cc6abe48f455c9912cc/softfloat.c/clean/arch/arm/nwfpe/softfloat.c