# Optimized compiling with CPML problem

Hi,
I am evaluating the CPML under the Debian/slink on EB164.
I ususaly does not include <cpml.h> for stable results but <math.h>.
I found that when I use "atan" with optimize option
the link will cause a problem.
The linker claims that there is no __atan2 entry.
I checked the /usr/include/math.h and found
-----------------------------------------------------------------------
/* Get machine-dependent inline versions (if there are any). */
#if (!defined __NO_MATH_INLINES && defined __OPTIMIZE__) \
|| defined __LIBC_M81_MATH_INLINES
#include <__math.h>
#endif
-----------------------------------------------------------------------
And in the __math.h there is a definition:
-----------------------------------------------------------------------
extern __inline double
atan (double __x)
{
extern double __atan2 (double, double);
return __atan2 (__x, 1.0);
}
-----------------------------------------------------------------------
Does anyone know why this definition is here only for __OPTIMIZE__?
I think it does not help much even with libm or libffm. And I want
to remove the definition. For my machine I will remove it immediately.
Thank you,
Naohiko Shimizu

**Reply to:**