where can i find the declaration of function sincos(x)and how to use it?

Besides, as to __sinf(x), will its accuracy become lower when x is large in magnitude?

sincos() is a common extension to C math libraries. For basic information, simply type “man sincos” on any Linux system, otherwise use this as the search string with an Internet search engine of your choice. The prototypes for sincos are:

void sincos(double x, double *sin, double *cos);

void sincosf(float x, float *sin, float *cos);

For CUDA, the equivalent of the above prototypes can be found in math_functions.h, which exports all math library functions supported by CUDA.

As for __sinf(x), the accuracy generally decreases with increasing magnitude of the argument. In the documentation, the accuracy is stated for the interval [-pi,+pi], but the function itself is not restricted to that argument range. Note that the underlying hardware instruction is designed for absolute rather than relative error. As a consequence the resolution of results close to zero is fairly coarse.