diff --git a/dlls/msvcrt/math.c b/dlls/msvcrt/math.c index 92bf12b4d54..29912431bcd 100644 --- a/dlls/msvcrt/math.c +++ b/dlls/msvcrt/math.c @@ -1699,7 +1699,10 @@ float CDECL sinhf( float x ) } /* |x| > logf(FLT_MAX) or nan */ - t = __expo2f(absx, 2 * h); + if (ui > 0x7f800000) + *(DWORD*)&t = *(DWORD*)&x | 0x400000; + else + t = __expo2f(absx, 2 * h); return t; }