То, что math.h не поддерживает что-то, не означает, что вы не можете сделать это сами.
Существующий тип - это хорошо, потому что это означает, что существует кроссплатформенный способ запрашивать что-то с большей или равной точностью для long. Этого нельзя было бы сделать, если бы его не было на каком-либо языке (лучше всего было бы взломать что-нибудь вместе со структурой или массивом длинных / двойных чисел).
Функции только для удобства; иногда можно использовать встроенную функцию процессора sin, но иногда нет, и вместо этого функция sin просто содержит алгоритм для получения ответа или его поиска с использованием стандартных операций.
Вы можете скопировать функции sinl для вашей целевой платформы с C99 на C89, если хотите. Здесь большой список реализаций: http://sourceware.org/git/?p=glibc.git;a=tree;f=sysdeps/ieee754;hb=HEAD
Или просто придерживайтесь C99.