summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/compile/991202-1.c
blob: cc4f478f52088ebd4f4f4a929439c1548bd4f8d5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
extern float A[], B[];
extern float MAXNUMF;
float chbevlf(float, float *, int);
float expf(float), i1f(float), logf(float), sqrtf(float);

float k1f(float xx)
{
  float x, y;

  x = xx;
  if( x <= 2.0 )
    {
      y = x * x - 2.0;
      y =  logf( 0.5f * x ) * i1f(x)  +  chbevlf( y, A, 7 ) / x;
      return( y );
    }
  return(  expf(-x) * chbevlf( (float)(8.0/x - 2.0), B, 10 ) / sqrtf(x) );
}