_TG_ATTRS
__tg_fabs(long double __x) {return fabsl(__x);}
-static float _Complex
+static float
_TG_ATTRS
__tg_fabs(float _Complex __x) {return cabsf(__x);}
-static double _Complex
+static double
_TG_ATTRS
__tg_fabs(double _Complex __x) {return cabs(__x);}
-static long double _Complex
+static long double
_TG_ATTRS
__tg_fabs(long double _Complex __x) {return cabsl(__x);}
#undef log2
#define log2(__x) __tg_log2(__tg_promote1((__x))(__x))
+// logb
+
+static float
+ _TG_ATTRS
+ __tg_logb(float __x) {return logbf(__x);}
+
+static double
+ _TG_ATTRS
+ __tg_logb(double __x) {return logb(__x);}
+
+static long double
+ _TG_ATTRS
+ __tg_logb(long double __x) {return logbl(__x);}
+
+#undef logb
+#define logb(__x) __tg_logb(__tg_promote1((__x))(__x))
+
// lrint
static long