#include "libm.h"

double modf(double x, double* iptr) {
  union {
    double f;
    uint64_t i;
  } u = {x};
  uint64_t mask;
  int e = (int)(u.i >> 52 & 0x7ff) - 0x3ff;

  /* no fractional part */
  if (e >= 52) {
    *iptr = x;
    if (e == 0x400 && u.i << 12 != 0) /* nan */
      return x;
    u.i &= 1ULL << 63;
    return u.f;
  }

  /* no integral part*/
  if (e < 0) {
    u.i &= 1ULL << 63;
    *iptr = u.f;
    return x;
  }

  mask = -1ULL >> 12 >> e;
  if ((u.i & mask) == 0) {
    *iptr = x;
    u.i &= 1ULL << 63;
    return u.f;
  }
  u.i &= ~mask;
  *iptr = u.f;
  return x - u.f;
}
