double exp (double __x)
{
+#ifdef __GNUC__
register double __value, __exponent;
__asm __volatile__
("fldl2e # e^x = 2^(x * log2(e))\n\t"
: "=t" (__value) : "0" (__value), "u" (__exponent));
return __value;
+#else
+ return linkme_exp(__x);
+#endif /*__GNUC__*/
}