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