#pragma goose parallel for loopcounter(i, j) \ precision("double") for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { for (k = 0; k < 3; k++) { dx[k] = x[j][k] - x[i][k]; } r2 = dx[0] * dx[0] + dx[1] * dx[1] + dx[2] * dx[2] + eps2; rinv = rsqrt(r2); mrinv = m[j] * rinv; mr3inv = mrinv * rinv * rinv; for (k = 0; k < 3; k++) { a[i][k] += mr3inv * dx[k]; } pot[i] -= mrinv; } } Goose は SIMD 型計算機向けの、コ