long double __ieee754_scalbl (long double x, long double fn) { if (__builtin_expect (__isnanl (x), 0)) return x * fn; if (__builtin_expect (!__finitel (fn), 0)) { if (__isnanl (fn) || fn > 0.0L) return x * fn; if (x == 0.0L) return x; return x / -fn; } if (__builtin_expect ((long double) (int) fn != fn, 0)) return invalid_fn (x, fn); return __scalbnl (x, (int) fn); }
long double __ieee754_scalbl (long double x, long double fn) { if (__glibc_unlikely (isnan (x))) return x * fn; if (__glibc_unlikely (!isfinite (fn))) { if (isnan (fn) || fn > 0.0L) return x * fn; if (x == 0.0L) return x; return x / -fn; } if (__glibc_unlikely (fabsl (fn) >= 0x1p31L || (long double) (int) fn != fn)) return invalid_fn (x, fn); return __scalbnl (x, (int) fn); }
long double __ieee754_scalbl (long double x, long double fn) { if (__glibc_unlikely (__isnanl (x))) return x * fn; if (__glibc_unlikely (!__finitel (fn))) { if (__isnanl (fn) || fn > 0.0L) return x * fn; if (x == 0.0L) return x; return x / -fn; } if (__glibc_unlikely ((long double) (int) fn != fn)) return invalid_fn (x, fn); return __scalbnl (x, (int) fn); }