##math
gentype acos (gentype)
gentype acosh (gentype)
gentype acospi (gentype x)
gentype asin (gentype)
gentype asinh (gentype)
gentype asinpi (gentype x)
gentype atan (gentype y_over_x)
gentype atan2 (gentype y, gentype x)
gentype atanh (gentype)
gentype atanpi (gentype x)
gentype atan2pi (gentype y, gentype x)
gentype cbrt (gentype)
gentype ceil (gentype)
gentype copysign (gentype x, gentype y)
gentype cos (gentype)
gentype cosh (gentype)
gentype cospi (gentype x)
gentype erfc (gentype)
gentype erf (gentype)
gentype exp (gentype x)
gentype exp2 (gentype)
gentype exp10 (gentype)
gentype expm1 (gentype x)
gentype fabs (gentype)
gentype fdim (gentype x, gentype y)
gentype floor (gentype)
# XXX we use madd for fma
gentype fma (gentype a, gentype b, gentype c)
gentype fmax (gentype x, gentype y)
gentypef fmax (gentypef x, float y)
gentypeh fmax (gentypeh x, half y)
gentyped fmax (gentyped x, double y)
gentype fmin (gentype x, gentype y)
gentypef fmin (gentypef x, float y)
gentypeh fmin (gentypeh x, half y)
gentyped fmin (gentyped x, double y)
gentype fmod (gentype x, gentype y)
gentype fract (gentype x, __generic gentype *iptr)
floatn frexp (floatn x, __generic intn *exp)
float frexp (float x, __generic int *exp)
halfn frexp (halfn x, __generic intn *exp)
half frexp (half x, __generic int *exp)
doublen frexp (doublen x, __generic intn *exp)
double frexp (double x, __generic int *exp)
gentype hypot (gentype x, gentype y)
intn ilogb (floatn x)
int ilogb (float x)
shortn ilogb (halfn x)
short ilogb (half x)
intn ilogb (doublen x)
int ilogb (double x)
floatn ldexp (floatn x, intn k)
floatn ldexp (floatn x, int k)
float ldexp (float x, int k)
halfn ldexp (halfn x, intn k)
halfn ldexp (halfn x, int k)
half ldexp (half x, int k)
doublen ldexp (doublen x, intn k)
doublen ldexp (doublen x, int k)
double ldexp (double x, int k)
gentype lgamma (gentype x)
floatn lgamma_r (floatn x, __generic intn *signp)
float lgamma_r (float x, __generic int *signp)
halfn lgamma_r (halfn x, __generic intn *signp)
half lgamma_r (half x, __generic int *signp)
#doublen lgamma_r (doublen x, __generic intn *signp)
#double lgamma_r (double x, __generic int *signp)
gentype log (gentype)
gentype log2 (gentype)
gentype log10 (gentype)
gentype log1p (gentype x)
gentype logb (gentype x)
gentype mad (gentype a, gentype b, gentype c)
gentype maxmag (gentype x, gentype y)
gentype minmag (gentype x, gentype y)
gentype modf (gentype x, __generic gentype *iptr)
floatn nan (uintn nancode)
float nan (uint nancode)
halfn nan (ushortn nancode)
half nan (ushort nancode)
doublen nan (ulongn nancode)
double nan (ulong nancode)
gentype nextafter (gentype x, gentype y)
gentype pow (gentype x, gentype y)
floatn pown (floatn x, intn y)
float pown (float x, int y)
halfn pown (halfn x, intn y)
half pown (half x, int y)
doublen pown (doublen x, intn y)
double pown (double x, int y)
gentype powr (gentype x, gentype y)
gentype remainder (gentype x, gentype y)
floatn remquo (floatn x, floatn y, __generic intn *quo)
float remquo (float x, float y, __generic int *quo)
halfn remquo (halfn x, halfn y, __generic intn *quo)
half remquo (half x, half y, __generic int *quo)
doublen remquo (doublen x, doublen y, __generic intn *quo)
double remquo (double x, double y, __generic int *quo)
gentype rint (gentype)
floatn rootn (floatn x, intn y)
halfn rootn (halfn x, intn y)
doublen rootn (doublen x, intn y)
doublen rootn (double x, int y)
gentype round (gentype x)
gentype rsqrt (gentype)
gentype sin (gentype)
gentype sincos (gentype x, __generic gentype *cosval)
gentype sinh (gentype)
gentype sinpi (gentype x)
gentype sqrt (gentype)
gentype tan (gentype)
gentype tanh (gentype)
gentype tanpi (gentype x)
gentype tgamma (gentype)
gentype trunc (gentype)


# XXX we already defined all native and non-native
# functions to the same one.
gentype native_cos (gentype x)
gentype native_divide (gentype x, gentype y)
gentype native_exp (gentype x)
gentype native_exp2 (gentype x)
gentype native_exp10 (gentype x)
gentype native_log (gentype x)
gentype native_log2 (gentype x)
gentype native_log10 (gentype x)
gentype native_powr (gentype x, gentype y)
gentype native_recip (gentype x)
gentype native_rsqrt (gentype x)
gentype native_sin (gentype x)
gentype native_sqrt (gentype x)
gentype native_tan (gentype x)


##half_native_math
gentype half_cos (gentype x)
gentype half_divide (gentype x, gentype y)
gentype half_exp (gentype x)
gentype half_exp2 (gentype x)
gentype half_exp10 (gentype x)
gentype half_log (gentype x)
gentype half_log2 (gentype x)
gentype half_log10 (gentype x)
gentype half_powr (gentype x, gentype y)
gentype half_recip (gentype x)
gentype half_rsqrt (gentype x)
gentype half_sin (gentype x)
gentype half_sqrt (gentype x)
gentype half_tan (gentype x)
