Funkcje specjalne są dostępne w dwóch konwencjach: w formie naturalnej (zwracają liczbę) i error-handling form (zwracają kod błędu).
// Pełny zestaw nagłówków funkcji specjalnych.
#include <gsl/gsl_sf.h>
// Struktura gsl_sf_result jest zadeklarowana w nagłówku.
#include <gsl/gsl_sf_result.h>
typedef struct {
	double val;
	double err;
} gsl_sf_result;
Wielomiany Legendre'a.
#include <gsl/gsl_sf_legendre.h> double gsl_sf_legendre_P1 (double x); double gsl_sf_legendre_P2 (double x); double gsl_sf_legendre_P3 (double x); double gsl_sf_legendre_Pl (int l, double x); // l >= 0, |x| <= 1
#include <gsl/gsl_sf_laquerre.h> // L^a_n(x) = ((a+1)_n / n!) 1F1(-n,a+1,x) // L^0_n(x) = L_n(x) double gsl_sf_laguerre_1 (double a, double x); double gsl_sf_laguerre_2 (double a, double x); double gsl_sf_laguerre_3 (double a, double x); double gsl_sf_laguerre_n (const int n, const double a, const double x);