#define _GNU_SOURCE
#include <math.h>
#include <stdint.h>
#include "libc.h"

float exp10f(float x) {
  static const float p10[] = {1e-7f, 1e-6f, 1e-5f, 1e-4f, 1e-3f,
                              1e-2f, 1e-1f, 1,     1e1,   1e2,
                              1e3,   1e4,   1e5,   1e6,   1e7};
  float n, y = modff(x, &n);
  union {
    float f;
    uint32_t i;
  } u = {n};
  /* fabsf(n) < 8 without raising invalid on nan */
  if ((u.i >> 23 & 0xff) < 0x7f + 3) {
    if (!y)
      return p10[(int)n + 7];
    y = exp2f(3.32192809488736234787031942948939f * y);
    return y * p10[(int)n + 7];
  }
  return exp2(3.32192809488736234787031942948939 * x);
}

weak_alias(exp10f, pow10f);
