OpenMp с пользовательским сокращением для добавления GMP

я имею

mpf_t omp_mpf_add(mpf_t out, mpf_t in) { mpf_add(out, out, in); return out; } 

И я хочу сделать эту функцию как сокращение openmp

 # pragma omp declare reduction (mpf_add:mpf_t:omp_mpf_add(omp_out,omp_in)) \ initializer(omp_priv=omp_orig) 

Но я получаю error: reduction type cannot be an array type ошибкой error: reduction type cannot be an array type .

что я должен изменить, чтобы функция работала, и я могу использовать ее с

 #pragma omp parallel for reduction(mpf_add:x)