#include <math.h>
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
long double logbl(long double x) { return logb(x); }
#else
long double logbl(long double x) {
  if (!isfinite(x))
    return x * x;
  if (x == 0)
    return -1 / (x * x);
  return ilogbl(x);
}
#endif
