#include "libm.h"

#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
long double rintl(long double x) {
  return rint(x);
}
#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384

static const long double toint = 1 / LDBL_EPSILON;

long double rintl(long double x) {
  union ldshape u = {x};
  int e = u.i.se & 0x7fff;
  int s = u.i.se >> 15;
  long double y;

  if (e >= 0x3fff + LDBL_MANT_DIG - 1)
    return x;
  if (s)
    y = x - toint + toint;
  else
    y = x + toint - toint;
  if (y == 0)
    return 0 * x;
  return y;
}
#endif
