1234772Sjlh/* { dg-do link } */ 2234772Sjlh/* { dg-require-effective-target ilp32 } */ 3234772Sjlh/* { dg-options "-O2 -march=pentiumpro" } */ 4234772Sjlh 5234772Sjlhextern __inline double 6234772Sjlh__expm1 (double __x) 7234772Sjlh{ 8234772Sjlh double __temp; 9234772Sjlh __temp -= 1.0; 10234772Sjlh return __temp; 11234772Sjlh} 12234772Sjlhextern __inline double 13234772Sjlh__sgn1 (double __x) 14234772Sjlh{ 15234772Sjlh return __x >= 0.0 ? 1.0 : -1.0; 16234772Sjlh} 17234772Sjlhdouble 18234772Sjlhtanh (double __x) 19234772Sjlh{ 20234772Sjlh register double __exm1 = __expm1 (__x); 21234772Sjlh return __exm1 / (__exm1 + 2.0) * __sgn1 (-__x); 22234772Sjlh} 23234772Sjlhmain () 24234772Sjlh{ 25234772Sjlh return tanh (3.45) != 0; 26234772Sjlh} 27234772Sjlh