double sqr(double x) { return x*x; } struct double_long { double d; long l; }; struct double_long __attribute__((noipa)) foo(long ncities, double *x, double *y, double ThisX, double ThisY, double CloseDist) { long j=ncities; double ThisDist; struct double_long r; do { j--; ThisDist = sqr(x[j]-ThisX); } while (ThisDist > CloseDist); r.d = ThisDist; r.l = j; return r; }