#include "libm.h"

#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
long double frexpl(long double x, int* e) {
  return frexp(x, e);
}
#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
long double frexpl(long double x, int* e) {
  union ldshape u = {x};
  int ee = u.i.se & 0x7fff;

  if (!ee) {
    if (x) {
      x = frexpl(x * 0x1p120, e);
      *e -= 120;
    } else
      *e = 0;
    return x;
  } else if (ee == 0x7fff) {
    return x;
  }

  *e = ee - 0x3ffe;
  u.i.se &= 0x8000;
  u.i.se |= 0x3ffe;
  return u.f;
}
#endif
