1  /* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */
       2  
       3  typedef struct _geom_elem {
       4    double        coeffs[6];
       5  } pGeomDefRec, *pGeomDefPtr;
       6  typedef struct _mpgeombanddef {
       7  	int	yOut;		 
       8  	int	in_width;	 
       9  } mpGeometryBandRec, *mpGeometryBandPtr;
      10  typedef void *pointer;
      11  typedef unsigned char  CARD8;
      12  typedef CARD8 BytePixel;
      13  void  BiGL_B  (OUTP,srcimg,width,sline,pedpvt,pvtband)	pointer OUTP;
      14  pointer *srcimg;
      15  register int width;
      16  int sline;
      17  pGeomDefPtr pedpvt; mpGeometryBandPtr pvtband;
      18  {
      19    register float s, t, st;
      20    register int 	isrcline,isrcpix;
      21    register int 	srcwidth = pvtband->in_width - 1;
      22    register   BytePixel  val;
      23    register   BytePixel  *ptrIn, *ptrJn;
      24    register double a  = pedpvt->coeffs[0];
      25    register double c  = pedpvt->coeffs[2];
      26    register double srcpix  = a * ((double)(0.0000))  +	pedpvt->coeffs[1] * (pvtband->yOut + ((double)(0.0000)) ) +	pedpvt->coeffs[4];
      27    register double srcline = c * ((double)(0.0000))  +	pedpvt->coeffs[3] * (pvtband->yOut + ((double)(0.0000)) ) +	pedpvt->coeffs[5];
      28    if ( (isrcpix >= 0) && (isrcpix < srcwidth) )
      29      val =	ptrIn[isrcpix]   * ((float)1. - s - t + st) + ptrIn[isrcpix+1] * (s - st) +	ptrJn[isrcpix]   * (t - st) +	ptrJn[isrcpix+1] * (st) +   (float)0.5 ;
      30  }