aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/991202-1.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.c-torture/compile/991202-1.c')
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.c-torture/compile/991202-1.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/991202-1.c b/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/991202-1.c
new file mode 100644
index 000000000..cc4f478f5
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/991202-1.c
@@ -0,0 +1,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) );
+}