/* { dg-do compile } */ /* { dg-options "-fpic" { target fpic } } */ typedef int int32_t; static const int init_jk[] = {2,3,4,6}; int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, const int32_t *ipio2) { int32_t jz,jx,jv,jp,jk,carry,n,iq[20],i,j,k,m,q0,ih; double z,fw,f[20],fq[20],q[20]; jk = init_jk[prec]; jp = jk; jx = nx-1; for (i=0;i<=jk;i++) { for(j=0,fw=0.0;j<=jx;j++) fw += x[j]*f[jx+i-j]; q[i] = fw; } for(i=0,j=jz,z=q[jz];j>0;i++,j--) { z = q[j-1]+fw; } n = (int32_t) z; return n&7; }