#include "libm.h"

float ceilf(float x) {
  union {
    float f;
    uint32_t i;
  } u = {x};
  int e = (int)(u.i >> 23 & 0xff) - 0x7f;
  uint32_t m;

  if (e >= 23)
    return x;
  if (e >= 0) {
    m = 0x007fffff >> e;
    if ((u.i & m) == 0)
      return x;
    FORCE_EVAL(x + 0x1p120f);
    if (u.i >> 31 == 0)
      u.i += m;
    u.i &= ~m;
  } else {
    FORCE_EVAL(x + 0x1p120f);
    if (u.i >> 31)
      u.f = -0.0;
    else if (u.i << 1)
      u.f = 1.0;
  }
  return u.f;
}
