double complex: c ## __fun, \
long double complex: c ## __fun ## l, \
default: __fun)
+#define __tg_real_complex_fabs(x) _Generic(x, \
+ float: fabsf, \
+ long double: fabsl, \
+ float complex: cabsf, \
+ double complex: cabs, \
+ long double complex: cabsl, \
+ default: fabs)
#define acos(x) __tg_real_complex(acos, (x))(x)
#define acosh(x) __tg_real_complex(acosh, (x))(x)
#define exp(x) __tg_real_complex(exp, (x))(x)
#define exp2(x) __tg_real(exp2, (x))(x)
#define expm1(x) __tg_real(expm1, (x))(x)
-#define fabs(x) __tg_real_complex(fabs, (x))(x)
+#define fabs(x) __tg_real_complex_fabs(x)(x)
#define fdim(x) __tg_real(fdim, (x))(x)
#define floor(x) __tg_real(floor, (x))(x)
#define fma(x,y,z) __tg_real_3(fma, (x), (y), (z))((x), (y), (z))