1570af302Sopenharmony_ci#include <math.h>
2570af302Sopenharmony_ci#include <stdint.h>
3570af302Sopenharmony_ci
4570af302Sopenharmony_cidouble fabs(double x)
5570af302Sopenharmony_ci{
6570af302Sopenharmony_ci	union {double f; uint64_t i;} u = {x};
7570af302Sopenharmony_ci	u.i &= -1ULL/2;
8570af302Sopenharmony_ci	return u.f;
9570af302Sopenharmony_ci}
10