Example #1
0
test (__m128d s1, __m128d s2)
{
  return _mm_div_pd (s1, s2); 
}
Example #2
0
inline static __m128d
SSE2_inverse( const __m128d a )
{
  return _mm_div_pd( SSE2_CONJ( a ) , absfac( a ) ) ;
}
Example #3
0
 inline const vector2d operator/(const vector2d& lhs, const vector2d& rhs) {
     return _mm_div_pd(lhs, rhs);
 }
void exchlaplacecoeffData_6(unsigned int slot) {
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if ((!neighbor_isValid[1][0])) {
{
double xPos;
double yPos;
/* Statements in this Scop: S902, S905, S908, S907, S901, S910, S904, S903, S906, S909, S900 */
{
{
{
{
{
{
{
{
{
{
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i1 = 1;
for (; (i1<=64); i1 += 2) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+4558)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[((i1*68)+4626)] = 0.000000e+00;
}
for (; (i1<=65); i1 += 1) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+4558)] = 0.000000e+00;
}
}
{
int i1 = 1;
for (; (i1<(2&(~1))); i1 += 1) {
yPos = ((((i1-1)/6.400000e+01)*(posEnd[1]-posBegin[1]))+posBegin[1]);
}
__m128d vec1 = _mm_set1_pd(1.000000e+00);
__m128d vec2 = _mm_set1_pd(6.400000e+01);
__m128d vec5 = _mm_set1_pd(yPos);
for (; (i1<63); i1 += 4) {
/* yPos = ((((i1-1)/6.400000e+01)*(posEnd[1]-posBegin[1]))+posBegin[1]); */
__m128d vec0 = _mm_set_pd(i1+1,i1);
__m128d vec0_2 = _mm_set_pd(i1+1,i1);
__m128d vec3 = _mm_load1_pd((&posEnd[1]));
__m128d vec3_2 = _mm_load1_pd((&posEnd[1]));
__m128d vec4 = _mm_load1_pd((&posBegin[1]));
__m128d vec4_2 = _mm_load1_pd((&posBegin[1]));
vec5 = _mm_add_pd(_mm_mul_pd(_mm_div_pd(_mm_sub_pd(vec0, vec1), vec2), _mm_sub_pd(vec3, vec4)), vec4);
vec5 = _mm_add_pd(_mm_mul_pd(_mm_div_pd(_mm_sub_pd(vec0_2, vec1), vec2), _mm_sub_pd(vec3_2, vec4_2)), vec4_2);
}
for (; (i1<66); i1 += 1) {
yPos = ((((i1-1)/6.400000e+01)*(posEnd[1]-posBegin[1]))+posBegin[1]);
}
}
}
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i1 = 1;
for (; (i1<=64); i1 += 2) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+9114)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[((i1*68)+9182)] = 0.000000e+00;
}
for (; (i1<=65); i1 += 1) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+9114)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i1 = 1;
for (; (i1<=64); i1 += 2) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+2)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[((i1*68)+70)] = 0.000000e+00;
}
for (; (i1<=65); i1 += 1) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+2)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i1 = 1;
for (; (i1<=64); i1 += 2) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+31894)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[((i1*68)+31962)] = 0.000000e+00;
}
for (; (i1<=65); i1 += 1) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+31894)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i1 = 1;
for (; (i1<=64); i1 += 2) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+36450)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[((i1*68)+36518)] = 0.000000e+00;
}
for (; (i1<=65); i1 += 1) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+36450)] = 0.000000e+00;
}
}
}
{
int i1 = 1;
for (; (i1<(2&(~1))); i1 += 1) {
xPos = posBegin[0];
}
__m128d vec1 = _mm_set1_pd(xPos);
for (; (i1<63); i1 += 4) {
/* xPos = posBegin[0]; */
__m128d vec0 = _mm_load1_pd((&posBegin[0]));
__m128d vec0_2 = _mm_load1_pd((&posBegin[0]));
vec1 = vec0;
vec1 = vec0_2;
}
for (; (i1<66); i1 += 1) {
xPos = posBegin[0];
}
}
}
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i1 = 1;
for (; (i1<=64); i1 += 2) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+18226)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[((i1*68)+18294)] = 0.000000e+00;
}
for (; (i1<=65); i1 += 1) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+18226)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i1 = 1;
for (; (i1<=64); i1 += 2) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+13670)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[((i1*68)+13738)] = 0.000000e+00;
}
for (; (i1<=65); i1 += 1) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+13670)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i1 = 1;
for (; (i1<=64); i1 += 2) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+27338)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[((i1*68)+27406)] = 0.000000e+00;
}
for (; (i1<=65); i1 += 1) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+27338)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i1 = 1;
for (; (i1<=64); i1 += 2) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+22782)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[((i1*68)+22850)] = 0.000000e+00;
}
for (; (i1<=65); i1 += 1) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+22782)] = 0.000000e+00;
}
}
}
}
}
if ((!neighbor_isValid[1][1])) {
{
double xPos;
double yPos;
/* Statements in this Scop: S920, S914, S917, S911, S913, S916, S919, S921, S918, S912, S915 */
{
{
{
{
{
{
{
{
{
{
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i1 = 1;
for (; (i1<=64); i1 += 2) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+4622)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[((i1*68)+4690)] = 0.000000e+00;
}
for (; (i1<=65); i1 += 1) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+4622)] = 0.000000e+00;
}
}
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i1 = 1;
for (; (i1<=64); i1 += 2) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+31958)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[((i1*68)+32026)] = 0.000000e+00;
}
for (; (i1<=65); i1 += 1) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+31958)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i1 = 1;
for (; (i1<=64); i1 += 2) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+13734)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[((i1*68)+13802)] = 0.000000e+00;
}
for (; (i1<=65); i1 += 1) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+13734)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i1 = 1;
for (; (i1<=64); i1 += 2) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+66)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[((i1*68)+134)] = 0.000000e+00;
}
for (; (i1<=65); i1 += 1) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+66)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i1 = 1;
for (; (i1<=64); i1 += 2) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+22846)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[((i1*68)+22914)] = 0.000000e+00;
}
for (; (i1<=65); i1 += 1) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+22846)] = 0.000000e+00;
}
}
}
{
int i1 = 1;
for (; (i1<(2&(~1))); i1 += 1) {
yPos = ((((i1-1)/6.400000e+01)*(posEnd[1]-posBegin[1]))+posBegin[1]);
}
__m128d vec1 = _mm_set1_pd(1.000000e+00);
__m128d vec2 = _mm_set1_pd(6.400000e+01);
__m128d vec5 = _mm_set1_pd(yPos);
for (; (i1<63); i1 += 4) {
/* yPos = ((((i1-1)/6.400000e+01)*(posEnd[1]-posBegin[1]))+posBegin[1]); */
__m128d vec0 = _mm_set_pd(i1+1,i1);
__m128d vec0_2 = _mm_set_pd(i1+1,i1);
__m128d vec3 = _mm_load1_pd((&posEnd[1]));
__m128d vec3_2 = _mm_load1_pd((&posEnd[1]));
__m128d vec4 = _mm_load1_pd((&posBegin[1]));
__m128d vec4_2 = _mm_load1_pd((&posBegin[1]));
vec5 = _mm_add_pd(_mm_mul_pd(_mm_div_pd(_mm_sub_pd(vec0, vec1), vec2), _mm_sub_pd(vec3, vec4)), vec4);
vec5 = _mm_add_pd(_mm_mul_pd(_mm_div_pd(_mm_sub_pd(vec0_2, vec1), vec2), _mm_sub_pd(vec3_2, vec4_2)), vec4_2);
}
for (; (i1<66); i1 += 1) {
yPos = ((((i1-1)/6.400000e+01)*(posEnd[1]-posBegin[1]))+posBegin[1]);
}
}
}
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i1 = 1;
for (; (i1<=64); i1 += 2) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+18290)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[((i1*68)+18358)] = 0.000000e+00;
}
for (; (i1<=65); i1 += 1) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+18290)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i1 = 1;
for (; (i1<=64); i1 += 2) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+27402)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[((i1*68)+27470)] = 0.000000e+00;
}
for (; (i1<=65); i1 += 1) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+27402)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i1 = 1;
for (; (i1<=64); i1 += 2) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+36514)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[((i1*68)+36582)] = 0.000000e+00;
}
for (; (i1<=65); i1 += 1) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+36514)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i1 = 1;
for (; (i1<=64); i1 += 2) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+9178)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[((i1*68)+9246)] = 0.000000e+00;
}
for (; (i1<=65); i1 += 1) {
fieldData_LaplaceCoeff_6_p1[((i1*68)+9178)] = 0.000000e+00;
}
}
}
{
int i1 = 1;
for (; (i1<(2&(~1))); i1 += 1) {
xPos = posEnd[0];
}
__m128d vec1 = _mm_set1_pd(xPos);
for (; (i1<63); i1 += 4) {
/* xPos = posEnd[0]; */
__m128d vec0 = _mm_load1_pd((&posEnd[0]));
__m128d vec0_2 = _mm_load1_pd((&posEnd[0]));
vec1 = vec0;
vec1 = vec0_2;
}
for (; (i1<66); i1 += 1) {
xPos = posEnd[0];
}
}
}
}
}
if ((!neighbor_isValid[1][2])) {
{
double xPos;
double yPos;
/* Statements in this Scop: S929, S923, S926, S931, S925, S928, S922, S930, S924, S927, S932 */
{
{
{
{
{
{
{
{
{
{
{
int i2 = 2;
for (; (i2<=65); i2 += 2) {
xPos = ((((i2-2)/6.400000e+01)*(posEnd[0]-posBegin[0]))+posBegin[0]);
xPos = ((((i2-1)/6.400000e+01)*(posEnd[0]-posBegin[0]))+posBegin[0]);
}
for (; (i2<=66); i2 += 1) {
xPos = ((((i2-2)/6.400000e+01)*(posEnd[0]-posBegin[0]))+posBegin[0]);
}
}
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i2 = 2;
for (; (i2<=65); i2 += 2) {
fieldData_LaplaceCoeff_6_p1[(i2+18292)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[(i2+18293)] = 0.000000e+00;
}
for (; (i2<=66); i2 += 1) {
fieldData_LaplaceCoeff_6_p1[(i2+18292)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i2 = 2;
for (; (i2<=65); i2 += 2) {
fieldData_LaplaceCoeff_6_p1[(i2+36516)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[(i2+36517)] = 0.000000e+00;
}
for (; (i2<=66); i2 += 1) {
fieldData_LaplaceCoeff_6_p1[(i2+36516)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i2 = 2;
for (; (i2<=65); i2 += 2) {
fieldData_LaplaceCoeff_6_p1[(i2+31960)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[(i2+31961)] = 0.000000e+00;
}
for (; (i2<=66); i2 += 1) {
fieldData_LaplaceCoeff_6_p1[(i2+31960)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i2 = 2;
for (; (i2<=65); i2 += 2) {
fieldData_LaplaceCoeff_6_p1[(i2+68)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[(i2+69)] = 0.000000e+00;
}
for (; (i2<=66); i2 += 1) {
fieldData_LaplaceCoeff_6_p1[(i2+68)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i2 = 2;
for (; (i2<=65); i2 += 2) {
fieldData_LaplaceCoeff_6_p1[(i2+9180)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[(i2+9181)] = 0.000000e+00;
}
for (; (i2<=66); i2 += 1) {
fieldData_LaplaceCoeff_6_p1[(i2+9180)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i2 = 2;
for (; (i2<=65); i2 += 2) {
fieldData_LaplaceCoeff_6_p1[(i2+22848)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[(i2+22849)] = 0.000000e+00;
}
for (; (i2<=66); i2 += 1) {
fieldData_LaplaceCoeff_6_p1[(i2+22848)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i2 = 2;
for (; (i2<=65); i2 += 2) {
fieldData_LaplaceCoeff_6_p1[(i2+27404)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[(i2+27405)] = 0.000000e+00;
}
for (; (i2<=66); i2 += 1) {
fieldData_LaplaceCoeff_6_p1[(i2+27404)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i2 = 2;
for (; (i2<=65); i2 += 2) {
fieldData_LaplaceCoeff_6_p1[(i2+4624)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[(i2+4625)] = 0.000000e+00;
}
for (; (i2<=66); i2 += 1) {
fieldData_LaplaceCoeff_6_p1[(i2+4624)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i2 = 2;
for (; (i2<=65); i2 += 2) {
fieldData_LaplaceCoeff_6_p1[(i2+13736)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[(i2+13737)] = 0.000000e+00;
}
for (; (i2<=66); i2 += 1) {
fieldData_LaplaceCoeff_6_p1[(i2+13736)] = 0.000000e+00;
}
}
}
{
int i2 = 2;
for (; (i2<=65); i2 += 2) {
yPos = posBegin[1];
yPos = posBegin[1];
}
for (; (i2<=66); i2 += 1) {
yPos = posBegin[1];
}
}
}
}
}
if ((!neighbor_isValid[1][3])) {
{
double xPos;
double yPos;
/* Statements in this Scop: S941, S935, S938, S943, S940, S934, S937, S942, S936, S939, S933 */
{
{
{
{
{
{
{
{
{
{
{
int i2 = 2;
for (; (i2<=65); i2 += 2) {
xPos = ((((i2-2)/6.400000e+01)*(posEnd[0]-posBegin[0]))+posBegin[0]);
xPos = ((((i2-1)/6.400000e+01)*(posEnd[0]-posBegin[0]))+posBegin[0]);
}
for (; (i2<=66); i2 += 1) {
xPos = ((((i2-2)/6.400000e+01)*(posEnd[0]-posBegin[0]))+posBegin[0]);
}
}
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i2 = 2;
for (; (i2<=65); i2 += 2) {
fieldData_LaplaceCoeff_6_p1[(i2+36312)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[(i2+36313)] = 0.000000e+00;
}
for (; (i2<=66); i2 += 1) {
fieldData_LaplaceCoeff_6_p1[(i2+36312)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i2 = 2;
for (; (i2<=65); i2 += 2) {
fieldData_LaplaceCoeff_6_p1[(i2+22644)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[(i2+22645)] = 0.000000e+00;
}
for (; (i2<=66); i2 += 1) {
fieldData_LaplaceCoeff_6_p1[(i2+22644)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i2 = 2;
for (; (i2<=65); i2 += 2) {
fieldData_LaplaceCoeff_6_p1[(i2+13532)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[(i2+13533)] = 0.000000e+00;
}
for (; (i2<=66); i2 += 1) {
fieldData_LaplaceCoeff_6_p1[(i2+13532)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i2 = 2;
for (; (i2<=65); i2 += 2) {
fieldData_LaplaceCoeff_6_p1[(i2+40868)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[(i2+40869)] = 0.000000e+00;
}
for (; (i2<=66); i2 += 1) {
fieldData_LaplaceCoeff_6_p1[(i2+40868)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i2 = 2;
for (; (i2<=65); i2 += 2) {
fieldData_LaplaceCoeff_6_p1[(i2+18088)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[(i2+18089)] = 0.000000e+00;
}
for (; (i2<=66); i2 += 1) {
fieldData_LaplaceCoeff_6_p1[(i2+18088)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i2 = 2;
for (; (i2<=65); i2 += 2) {
fieldData_LaplaceCoeff_6_p1[(i2+4420)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[(i2+4421)] = 0.000000e+00;
}
for (; (i2<=66); i2 += 1) {
fieldData_LaplaceCoeff_6_p1[(i2+4420)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i2 = 2;
for (; (i2<=65); i2 += 2) {
fieldData_LaplaceCoeff_6_p1[(i2+31756)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[(i2+31757)] = 0.000000e+00;
}
for (; (i2<=66); i2 += 1) {
fieldData_LaplaceCoeff_6_p1[(i2+31756)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i2 = 2;
for (; (i2<=65); i2 += 2) {
fieldData_LaplaceCoeff_6_p1[(i2+27200)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[(i2+27201)] = 0.000000e+00;
}
for (; (i2<=66); i2 += 1) {
fieldData_LaplaceCoeff_6_p1[(i2+27200)] = 0.000000e+00;
}
}
}
{
int i2 = 2;
for (; (i2<=65); i2 += 2) {
yPos = posEnd[1];
yPos = posEnd[1];
}
for (; (i2<=66); i2 += 1) {
yPos = posEnd[1];
}
}
}
{
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][0]);
int i2 = 2;
for (; (i2<=65); i2 += 2) {
fieldData_LaplaceCoeff_6_p1[(i2+8976)] = 0.000000e+00;
fieldData_LaplaceCoeff_6_p1[(i2+8977)] = 0.000000e+00;
}
for (; (i2<=66); i2 += 1) {
fieldData_LaplaceCoeff_6_p1[(i2+8976)] = 0.000000e+00;
}
}
}
}
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if ((neighbor_isValid[1][1]&&neighbor_isRemote[1][1])) {
/* Statements in this Scop: S944 */
for (int i3 = 0; (i3<=8); i3 += 1) {
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][(i3*4556)]);
double* buffer_Send_1_p1 = (&buffer_Send[1][(i3*65)]);
int i4 = 1;
for (; (i4<=64); i4 += 2) {
buffer_Send_1_p1[(i4-1)] = fieldData_LaplaceCoeff_6_p1[((i4*68)+66)];
buffer_Send_1_p1[i4] = fieldData_LaplaceCoeff_6_p1[((i4*68)+134)];
}
for (; (i4<=65); i4 += 1) {
buffer_Send_1_p1[(i4-1)] = fieldData_LaplaceCoeff_6_p1[((i4*68)+66)];
}
}
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if ((neighbor_isValid[1][1]&&neighbor_isRemote[1][1])) {
MPI_Isend(buffer_Send[1], 585, MPI_DOUBLE, neighbor_remoteRank[1][1], ((unsigned int)commId << 16) + ((unsigned int)(neighbor_fragCommId[1][1]) & 0x0000ffff), mpiCommunicator, &mpiRequest_Send[1]);
reqOutstanding_Send[1] = true;
}
}
}
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if ((neighbor_isValid[1][0]&&neighbor_isRemote[1][0])) {
MPI_Irecv(buffer_Recv[0], 585, MPI_DOUBLE, neighbor_remoteRank[1][0], ((unsigned int)(neighbor_fragCommId[1][0]) << 16) + ((unsigned int)commId & 0x0000ffff), mpiCommunicator, &mpiRequest_Recv[0]);
reqOutstanding_Recv[0] = true;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if (reqOutstanding_Recv[0]) {
waitForMPIReq(&mpiRequest_Recv[0]);
reqOutstanding_Recv[0] = false;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if ((neighbor_isValid[1][0]&&neighbor_isRemote[1][0])) {
/* Statements in this Scop: S945 */
for (int i3 = 0; (i3<=8); i3 += 1) {
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][(i3*4556)]);
double* buffer_Recv_0_p1 = (&buffer_Recv[0][(i3*65)]);
int i4 = 3;
for (; (i4<=66); i4 += 2) {
fieldData_LaplaceCoeff_6_p1[((i4*68)-134)] = buffer_Recv_0_p1[(i4-3)];
fieldData_LaplaceCoeff_6_p1[((i4*68)-66)] = buffer_Recv_0_p1[(i4-2)];
}
for (; (i4<=67); i4 += 1) {
fieldData_LaplaceCoeff_6_p1[((i4*68)-134)] = buffer_Recv_0_p1[(i4-3)];
}
}
}
}
}
;
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if (reqOutstanding_Send[1]) {
waitForMPIReq(&mpiRequest_Send[1]);
reqOutstanding_Send[1] = false;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
;
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if ((neighbor_isValid[1][3]&&neighbor_isRemote[1][3])) {
MPI_Isend(&fieldData_LaplaceCoeff[6][4422], 1, mpiDatatype_9_65_4556, neighbor_remoteRank[1][3], ((unsigned int)commId << 16) + ((unsigned int)(neighbor_fragCommId[1][3]) & 0x0000ffff), mpiCommunicator, &mpiRequest_Send[3]);
reqOutstanding_Send[3] = true;
}
}
}
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if ((neighbor_isValid[1][2]&&neighbor_isRemote[1][2])) {
MPI_Irecv(&fieldData_LaplaceCoeff[6][70], 1, mpiDatatype_9_65_4556, neighbor_remoteRank[1][2], ((unsigned int)(neighbor_fragCommId[1][2]) << 16) + ((unsigned int)commId & 0x0000ffff), mpiCommunicator, &mpiRequest_Recv[2]);
reqOutstanding_Recv[2] = true;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if (reqOutstanding_Recv[2]) {
waitForMPIReq(&mpiRequest_Recv[2]);
reqOutstanding_Recv[2] = false;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
;
}
}
;
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if (reqOutstanding_Send[3]) {
waitForMPIReq(&mpiRequest_Send[3]);
reqOutstanding_Send[3] = false;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if ((neighbor_isValid[1][0]&&neighbor_isRemote[1][0])) {
/* Statements in this Scop: S946 */
for (int i3 = 0; (i3<=8); i3 += 1) {
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][(i3*4556)]);
double* buffer_Send_0_p1 = (&buffer_Send[0][(i3*67)]);
int i4 = 0;
for (; (i4<=65); i4 += 2) {
buffer_Send_0_p1[i4] = fieldData_LaplaceCoeff_6_p1[((i4*68)+3)];
buffer_Send_0_p1[(i4+1)] = fieldData_LaplaceCoeff_6_p1[((i4*68)+71)];
}
for (; (i4<=66); i4 += 1) {
buffer_Send_0_p1[i4] = fieldData_LaplaceCoeff_6_p1[((i4*68)+3)];
}
}
}
if ((neighbor_isValid[1][1]&&neighbor_isRemote[1][1])) {
/* Statements in this Scop: S947 */
for (int i3 = 0; (i3<=8); i3 += 1) {
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][(i3*4556)]);
double* buffer_Send_1_p1 = (&buffer_Send[1][(i3*67)]);
int i4 = 0;
for (; (i4<=65); i4 += 2) {
buffer_Send_1_p1[i4] = fieldData_LaplaceCoeff_6_p1[((i4*68)+65)];
buffer_Send_1_p1[(i4+1)] = fieldData_LaplaceCoeff_6_p1[((i4*68)+133)];
}
for (; (i4<=66); i4 += 1) {
buffer_Send_1_p1[i4] = fieldData_LaplaceCoeff_6_p1[((i4*68)+65)];
}
}
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if ((neighbor_isValid[1][0]&&neighbor_isRemote[1][0])) {
MPI_Isend(buffer_Send[0], 603, MPI_DOUBLE, neighbor_remoteRank[1][0], ((unsigned int)commId << 16) + ((unsigned int)(neighbor_fragCommId[1][0]) & 0x0000ffff), mpiCommunicator, &mpiRequest_Send[0]);
reqOutstanding_Send[0] = true;
}
if ((neighbor_isValid[1][1]&&neighbor_isRemote[1][1])) {
MPI_Isend(buffer_Send[1], 603, MPI_DOUBLE, neighbor_remoteRank[1][1], ((unsigned int)commId << 16) + ((unsigned int)(neighbor_fragCommId[1][1]) & 0x0000ffff), mpiCommunicator, &mpiRequest_Send[1]);
reqOutstanding_Send[1] = true;
}
}
}
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if ((neighbor_isValid[1][0]&&neighbor_isRemote[1][0])) {
MPI_Irecv(buffer_Recv[0], 603, MPI_DOUBLE, neighbor_remoteRank[1][0], ((unsigned int)(neighbor_fragCommId[1][0]) << 16) + ((unsigned int)commId & 0x0000ffff), mpiCommunicator, &mpiRequest_Recv[0]);
reqOutstanding_Recv[0] = true;
}
if ((neighbor_isValid[1][1]&&neighbor_isRemote[1][1])) {
MPI_Irecv(buffer_Recv[1], 603, MPI_DOUBLE, neighbor_remoteRank[1][1], ((unsigned int)(neighbor_fragCommId[1][1]) << 16) + ((unsigned int)commId & 0x0000ffff), mpiCommunicator, &mpiRequest_Recv[1]);
reqOutstanding_Recv[1] = true;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if (reqOutstanding_Recv[0]) {
waitForMPIReq(&mpiRequest_Recv[0]);
reqOutstanding_Recv[0] = false;
}
if (reqOutstanding_Recv[1]) {
waitForMPIReq(&mpiRequest_Recv[1]);
reqOutstanding_Recv[1] = false;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if ((neighbor_isValid[1][0]&&neighbor_isRemote[1][0])) {
/* Statements in this Scop: S948 */
for (int i3 = 0; (i3<=8); i3 += 1) {
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][(i3*4556)]);
double* buffer_Recv_0_p1 = (&buffer_Recv[0][(i3*67)]);
int i4 = 1;
for (; (i4<=66); i4 += 2) {
fieldData_LaplaceCoeff_6_p1[((i4*68)-67)] = buffer_Recv_0_p1[(i4-1)];
fieldData_LaplaceCoeff_6_p1[((i4*68)+1)] = buffer_Recv_0_p1[i4];
}
for (; (i4<=67); i4 += 1) {
fieldData_LaplaceCoeff_6_p1[((i4*68)-67)] = buffer_Recv_0_p1[(i4-1)];
}
}
}
if ((neighbor_isValid[1][1]&&neighbor_isRemote[1][1])) {
/* Statements in this Scop: S949 */
for (int i3 = 0; (i3<=8); i3 += 1) {
double* buffer_Recv_1_p1 = (&buffer_Recv[1][(i3*67)]);
double* fieldData_LaplaceCoeff_6_p1 = (&fieldData_LaplaceCoeff[6][(i3*4556)]);
int i4 = 67;
for (; (i4<=132); i4 += 2) {
fieldData_LaplaceCoeff_6_p1[((i4*68)-4489)] = buffer_Recv_1_p1[(i4-67)];
fieldData_LaplaceCoeff_6_p1[((i4*68)-4421)] = buffer_Recv_1_p1[(i4-66)];
}
for (; (i4<=133); i4 += 1) {
fieldData_LaplaceCoeff_6_p1[((i4*68)-4489)] = buffer_Recv_1_p1[(i4-67)];
}
}
}
}
}
;
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if (reqOutstanding_Send[0]) {
waitForMPIReq(&mpiRequest_Send[0]);
reqOutstanding_Send[0] = false;
}
if (reqOutstanding_Send[1]) {
waitForMPIReq(&mpiRequest_Send[1]);
reqOutstanding_Send[1] = false;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
;
;
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if ((neighbor_isValid[1][2]&&neighbor_isRemote[1][2])) {
MPI_Isend(&fieldData_LaplaceCoeff[6][137], 1, mpiDatatype_9_67_4556, neighbor_remoteRank[1][2], ((unsigned int)commId << 16) + ((unsigned int)(neighbor_fragCommId[1][2]) & 0x0000ffff), mpiCommunicator, &mpiRequest_Send[2]);
reqOutstanding_Send[2] = true;
}
if ((neighbor_isValid[1][3]&&neighbor_isRemote[1][3])) {
MPI_Isend(&fieldData_LaplaceCoeff[6][4353], 1, mpiDatatype_9_67_4556, neighbor_remoteRank[1][3], ((unsigned int)commId << 16) + ((unsigned int)(neighbor_fragCommId[1][3]) & 0x0000ffff), mpiCommunicator, &mpiRequest_Send[3]);
reqOutstanding_Send[3] = true;
}
}
}
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if ((neighbor_isValid[1][2]&&neighbor_isRemote[1][2])) {
MPI_Irecv(&fieldData_LaplaceCoeff[6][1], 1, mpiDatatype_9_67_4556, neighbor_remoteRank[1][2], ((unsigned int)(neighbor_fragCommId[1][2]) << 16) + ((unsigned int)commId & 0x0000ffff), mpiCommunicator, &mpiRequest_Recv[2]);
reqOutstanding_Recv[2] = true;
}
if ((neighbor_isValid[1][3]&&neighbor_isRemote[1][3])) {
MPI_Irecv(&fieldData_LaplaceCoeff[6][4489], 1, mpiDatatype_9_67_4556, neighbor_remoteRank[1][3], ((unsigned int)(neighbor_fragCommId[1][3]) << 16) + ((unsigned int)commId & 0x0000ffff), mpiCommunicator, &mpiRequest_Recv[3]);
reqOutstanding_Recv[3] = true;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if (reqOutstanding_Recv[2]) {
waitForMPIReq(&mpiRequest_Recv[2]);
reqOutstanding_Recv[2] = false;
}
if (reqOutstanding_Recv[3]) {
waitForMPIReq(&mpiRequest_Recv[3]);
reqOutstanding_Recv[3] = false;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
;
;
}
}
;
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if (reqOutstanding_Send[2]) {
waitForMPIReq(&mpiRequest_Send[2]);
reqOutstanding_Send[2] = false;
}
if (reqOutstanding_Send[3]) {
waitForMPIReq(&mpiRequest_Send[3]);
reqOutstanding_Send[3] = false;
}
}
}
}
Example #5
0
void SpringEmbedderFRExact::mainStep_sse3(ArrayGraph &C)
{
//#if (defined(OGDF_ARCH_X86) || defined(OGDF_ARCH_X64)) && !(defined(__GNUC__) && !defined(__SSE3__))
#ifdef OGDF_SSE3_EXTENSIONS

	const int n            = C.numberOfNodes();

#ifdef _OPENMP
	const int work = 256;
	const int nThreadsRep  = min(omp_get_max_threads(), 1 + n*n/work);
	const int nThreadsPrev = min(omp_get_max_threads(), 1 + n  /work);
#endif

	const double k       = m_idealEdgeLength;
	const double kSquare = k*k;
	const double c_rep   = 0.052 * kSquare; // 0.2 = factor for repulsive forces as suggested by Warshal

	const double minDist       = 10e-6;//100*DBL_EPSILON;
	const double minDistSquare = minDist*minDist;

	double *disp_x = (double*) System::alignedMemoryAlloc16(n*sizeof(double));
	double *disp_y = (double*) System::alignedMemoryAlloc16(n*sizeof(double));

	__m128d mm_kSquare       = _mm_set1_pd(kSquare);
	__m128d mm_minDist       = _mm_set1_pd(minDist);
	__m128d mm_minDistSquare = _mm_set1_pd(minDistSquare);
	__m128d mm_c_rep         = _mm_set1_pd(c_rep);

	#pragma omp parallel num_threads(nThreadsRep)
	{
		double tx = m_txNull;
		double ty = m_tyNull;
		int cF = 1;

		for(int i = 1; i <= m_iterations; i++)
		{
			// repulsive forces

			#pragma omp for
			for(int v = 0; v < n; ++v)
			{
				__m128d mm_disp_xv = _mm_setzero_pd();
				__m128d mm_disp_yv = _mm_setzero_pd();

				__m128d mm_xv = _mm_set1_pd(C.m_x[v]);
				__m128d mm_yv = _mm_set1_pd(C.m_y[v]);

				int u;
				for(u = 0; u+1 < v; u += 2)
				{
					__m128d mm_delta_x = _mm_sub_pd(mm_xv, _mm_load_pd(&C.m_x[u]));
					__m128d mm_delta_y = _mm_sub_pd(mm_yv, _mm_load_pd(&C.m_y[u]));

					__m128d mm_distSquare = _mm_max_pd(mm_minDistSquare,
						_mm_add_pd(_mm_mul_pd(mm_delta_x,mm_delta_x),_mm_mul_pd(mm_delta_y,mm_delta_y))
					);

					__m128d mm_t = _mm_div_pd(_mm_load_pd(&C.m_nodeWeight[u]), mm_distSquare);
					mm_disp_xv = _mm_add_pd(mm_disp_xv, _mm_mul_pd(mm_delta_x, mm_t));
					mm_disp_yv = _mm_add_pd(mm_disp_yv, _mm_mul_pd(mm_delta_y, mm_t));
					//mm_disp_xv = _mm_add_pd(mm_disp_xv, _mm_mul_pd(mm_delta_x, _mm_div_pd(mm_kSquare,mm_distSquare)));
					//mm_disp_yv = _mm_add_pd(mm_disp_yv, _mm_mul_pd(mm_delta_y, _mm_div_pd(mm_kSquare,mm_distSquare)));
				}
				int uStart = u+2;
				if(u == v) ++u;
				if(u < n) {
					__m128d mm_delta_x = _mm_sub_sd(mm_xv, _mm_load_sd(&C.m_x[u]));
					__m128d mm_delta_y = _mm_sub_sd(mm_yv, _mm_load_sd(&C.m_y[u]));

					__m128d mm_distSquare = _mm_max_sd(mm_minDistSquare,
						_mm_add_sd(_mm_mul_sd(mm_delta_x,mm_delta_x),_mm_mul_sd(mm_delta_y,mm_delta_y))
					);

					__m128d mm_t = _mm_div_sd(_mm_load_sd(&C.m_nodeWeight[u]), mm_distSquare);
					mm_disp_xv = _mm_add_sd(mm_disp_xv, _mm_mul_sd(mm_delta_x, mm_t));
					mm_disp_yv = _mm_add_sd(mm_disp_yv, _mm_mul_sd(mm_delta_y, mm_t));
					//mm_disp_xv = _mm_add_sd(mm_disp_xv, _mm_mul_sd(mm_delta_x, _mm_div_sd(mm_kSquare,mm_distSquare)));
					//mm_disp_yv = _mm_add_sd(mm_disp_yv, _mm_mul_sd(mm_delta_y, _mm_div_sd(mm_kSquare,mm_distSquare)));
				}

				for(u = uStart; u < n; u += 2)
				{
					__m128d mm_delta_x = _mm_sub_pd(mm_xv, _mm_load_pd(&C.m_x[u]));
					__m128d mm_delta_y = _mm_sub_pd(mm_yv, _mm_load_pd(&C.m_y[u]));

					__m128d mm_distSquare = _mm_max_pd(mm_minDistSquare,
						_mm_add_pd(_mm_mul_pd(mm_delta_x,mm_delta_x),_mm_mul_pd(mm_delta_y,mm_delta_y))
					);

					__m128d mm_t = _mm_div_pd(_mm_load_pd(&C.m_nodeWeight[u]), mm_distSquare);
					mm_disp_xv = _mm_add_pd(mm_disp_xv, _mm_mul_pd(mm_delta_x, mm_t));
					mm_disp_yv = _mm_add_pd(mm_disp_yv, _mm_mul_pd(mm_delta_y, mm_t));
					//mm_disp_xv = _mm_add_pd(mm_disp_xv, _mm_mul_pd(mm_delta_x, _mm_div_pd(mm_kSquare,mm_distSquare)));
					//mm_disp_yv = _mm_add_pd(mm_disp_yv, _mm_mul_pd(mm_delta_y, _mm_div_pd(mm_kSquare,mm_distSquare)));
				}
				if(u < n) {
					__m128d mm_delta_x = _mm_sub_sd(mm_xv, _mm_load_sd(&C.m_x[u]));
					__m128d mm_delta_y = _mm_sub_sd(mm_yv, _mm_load_sd(&C.m_y[u]));

					__m128d mm_distSquare = _mm_max_sd(mm_minDistSquare,
						_mm_add_sd(_mm_mul_sd(mm_delta_x,mm_delta_x),_mm_mul_sd(mm_delta_y,mm_delta_y))
					);

					__m128d mm_t = _mm_div_sd(_mm_load_sd(&C.m_nodeWeight[u]), mm_distSquare);
					mm_disp_xv = _mm_add_sd(mm_disp_xv, _mm_mul_sd(mm_delta_x, mm_t));
					mm_disp_yv = _mm_add_sd(mm_disp_yv, _mm_mul_sd(mm_delta_y, mm_t));
					//mm_disp_xv = _mm_add_sd(mm_disp_xv, _mm_mul_sd(mm_delta_x, _mm_div_sd(mm_kSquare,mm_distSquare)));
					//mm_disp_yv = _mm_add_sd(mm_disp_yv, _mm_mul_sd(mm_delta_y, _mm_div_sd(mm_kSquare,mm_distSquare)));
				}

				mm_disp_xv = _mm_hadd_pd(mm_disp_xv,mm_disp_xv);
				mm_disp_yv = _mm_hadd_pd(mm_disp_yv,mm_disp_yv);

				_mm_store_sd(&disp_x[v], _mm_mul_sd(mm_disp_xv, mm_c_rep));
				_mm_store_sd(&disp_y[v], _mm_mul_sd(mm_disp_yv, mm_c_rep));
			}

			// attractive forces

			#pragma omp single
			for(int e = 0; e < C.numberOfEdges(); ++e)
			{
				int v = C.m_src[e];
				int u = C.m_tgt[e];

				double delta_x = C.m_x[v] - C.m_x[u];
				double delta_y = C.m_y[v] - C.m_y[u];

				double dist = max(minDist, sqrt(delta_x*delta_x + delta_y*delta_y));

				disp_x[v] -= delta_x * dist / k;
				disp_y[v] -= delta_y * dist / k;

				disp_x[u] += delta_x * dist / k;
				disp_y[u] += delta_y * dist / k;
			}

			// limit the maximum displacement to the temperature (m_tx,m_ty)

			__m128d mm_tx = _mm_set1_pd(tx);
			__m128d mm_ty = _mm_set1_pd(ty);

			#pragma omp for nowait
			for(int v = 0; v < n-1; v += 2)
			{
				__m128d mm_disp_xv = _mm_load_pd(&disp_x[v]);
				__m128d mm_disp_yv = _mm_load_pd(&disp_y[v]);

				__m128d mm_dist = _mm_max_pd(mm_minDist, _mm_sqrt_pd(
					_mm_add_pd(_mm_mul_pd(mm_disp_xv,mm_disp_xv),_mm_mul_pd(mm_disp_yv,mm_disp_yv))
				));

				_mm_store_pd(&C.m_x[v], _mm_add_pd(_mm_load_pd(&C.m_x[v]),
					_mm_mul_pd(_mm_div_pd(mm_disp_xv, mm_dist), _mm_min_pd(mm_dist,mm_tx))
				));
				_mm_store_pd(&C.m_y[v], _mm_add_pd(_mm_load_pd(&C.m_y[v]),
					_mm_mul_pd(_mm_div_pd(mm_disp_yv, mm_dist), _mm_min_pd(mm_dist,mm_ty))
				));
			}
			#pragma omp single nowait
			{
				if(n % 2) {
					int v = n-1;
					double dist = max(minDist, sqrt(disp_x[v]*disp_x[v] + disp_y[v]*disp_y[v]));

					C.m_x[v] += disp_x[v] / dist * min(dist,tx);
					C.m_y[v] += disp_y[v] / dist * min(dist,ty);
				}
			}

			cool(tx,ty,cF);

			#pragma omp barrier
		}
	}

	System::alignedMemoryFree(disp_x);
	System::alignedMemoryFree(disp_y);

#else
	mainStep(C);
#endif
}
void exchlaplacecoeff_gmrfData_5(unsigned int slot) {
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((!neighbor_isValid[0][0])) {
{
double xPos;
double yPos;
/* Statements in this Scop: S1306, S1309, S1300, S1308, S1302, S1305, S1310, S1304, S1307, S1301, S1303 */
{
{
{
{
{
{
{
{
{
{
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i1 = 1;
for (; (i1<=32); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+6302)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+6338)] = 0.000000e+00;
}
for (; (i1<=33); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+6302)] = 0.000000e+00;
}
}
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i1 = 1;
for (; (i1<=32); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+3782)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+3818)] = 0.000000e+00;
}
for (; (i1<=33); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+3782)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i1 = 1;
for (; (i1<=32); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+7562)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+7598)] = 0.000000e+00;
}
for (; (i1<=33); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+7562)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i1 = 1;
for (; (i1<=32); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+2)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+38)] = 0.000000e+00;
}
for (; (i1<=33); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+2)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i1 = 1;
for (; (i1<=32); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+2522)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+2558)] = 0.000000e+00;
}
for (; (i1<=33); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+2522)] = 0.000000e+00;
}
}
}
{
int i1 = 1;
for (; (i1<(2&(~1))); i1 += 1) {
xPos = posBegin[0];
}
__m128d vec1 = _mm_set1_pd(xPos);
for (; (i1<31); i1 += 4) {
/* xPos = posBegin[0]; */
__m128d vec0 = _mm_load1_pd((&posBegin[0]));
__m128d vec0_2 = _mm_load1_pd((&posBegin[0]));
vec1 = vec0;
vec1 = vec0_2;
}
for (; (i1<34); i1 += 1) {
xPos = posBegin[0];
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i1 = 1;
for (; (i1<=32); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+8822)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+8858)] = 0.000000e+00;
}
for (; (i1<=33); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+8822)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i1 = 1;
for (; (i1<=32); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+1262)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+1298)] = 0.000000e+00;
}
for (; (i1<=33); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+1262)] = 0.000000e+00;
}
}
}
{
int i1 = 1;
for (; (i1<(2&(~1))); i1 += 1) {
yPos = ((((i1-1)/3.200000e+01)*(posEnd[1]-posBegin[1]))+posBegin[1]);
}
__m128d vec1 = _mm_set1_pd(1.000000e+00);
__m128d vec2 = _mm_set1_pd(3.200000e+01);
__m128d vec5 = _mm_set1_pd(yPos);
for (; (i1<31); i1 += 4) {
/* yPos = ((((i1-1)/3.200000e+01)*(posEnd[1]-posBegin[1]))+posBegin[1]); */
__m128d vec0 = _mm_set_pd(i1+1,i1);
__m128d vec0_2 = _mm_set_pd(i1+1,i1);
__m128d vec3 = _mm_load1_pd((&posEnd[1]));
__m128d vec3_2 = _mm_load1_pd((&posEnd[1]));
__m128d vec4 = _mm_load1_pd((&posBegin[1]));
__m128d vec4_2 = _mm_load1_pd((&posBegin[1]));
vec5 = _mm_add_pd(_mm_mul_pd(_mm_div_pd(_mm_sub_pd(vec0, vec1), vec2), _mm_sub_pd(vec3, vec4)), vec4);
vec5 = _mm_add_pd(_mm_mul_pd(_mm_div_pd(_mm_sub_pd(vec0_2, vec1), vec2), _mm_sub_pd(vec3_2, vec4_2)), vec4_2);
}
for (; (i1<34); i1 += 1) {
yPos = ((((i1-1)/3.200000e+01)*(posEnd[1]-posBegin[1]))+posBegin[1]);
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i1 = 1;
for (; (i1<=32); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+5042)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+5078)] = 0.000000e+00;
}
for (; (i1<=33); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+5042)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i1 = 1;
for (; (i1<=32); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+10082)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+10118)] = 0.000000e+00;
}
for (; (i1<=33); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+10082)] = 0.000000e+00;
}
}
}
}
}
if ((!neighbor_isValid[0][1])) {
{
double xPos;
double yPos;
/* Statements in this Scop: S1312, S1320, S1314, S1317, S1311, S1319, S1313, S1316, S1321, S1315, S1318 */
{
{
{
{
{
{
{
{
{
{
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i1 = 1;
for (; (i1<=32); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+1294)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+1330)] = 0.000000e+00;
}
for (; (i1<=33); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+1294)] = 0.000000e+00;
}
}
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i1 = 1;
for (; (i1<=32); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+5074)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+5110)] = 0.000000e+00;
}
for (; (i1<=33); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+5074)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i1 = 1;
for (; (i1<=32); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+8854)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+8890)] = 0.000000e+00;
}
for (; (i1<=33); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+8854)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i1 = 1;
for (; (i1<=32); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+2554)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+2590)] = 0.000000e+00;
}
for (; (i1<=33); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+2554)] = 0.000000e+00;
}
}
}
{
int i1 = 1;
for (; (i1<(2&(~1))); i1 += 1) {
yPos = ((((i1-1)/3.200000e+01)*(posEnd[1]-posBegin[1]))+posBegin[1]);
}
__m128d vec1 = _mm_set1_pd(1.000000e+00);
__m128d vec2 = _mm_set1_pd(3.200000e+01);
__m128d vec5 = _mm_set1_pd(yPos);
for (; (i1<31); i1 += 4) {
/* yPos = ((((i1-1)/3.200000e+01)*(posEnd[1]-posBegin[1]))+posBegin[1]); */
__m128d vec0 = _mm_set_pd(i1+1,i1);
__m128d vec0_2 = _mm_set_pd(i1+1,i1);
__m128d vec3 = _mm_load1_pd((&posEnd[1]));
__m128d vec3_2 = _mm_load1_pd((&posEnd[1]));
__m128d vec4 = _mm_load1_pd((&posBegin[1]));
__m128d vec4_2 = _mm_load1_pd((&posBegin[1]));
vec5 = _mm_add_pd(_mm_mul_pd(_mm_div_pd(_mm_sub_pd(vec0, vec1), vec2), _mm_sub_pd(vec3, vec4)), vec4);
vec5 = _mm_add_pd(_mm_mul_pd(_mm_div_pd(_mm_sub_pd(vec0_2, vec1), vec2), _mm_sub_pd(vec3_2, vec4_2)), vec4_2);
}
for (; (i1<34); i1 += 1) {
yPos = ((((i1-1)/3.200000e+01)*(posEnd[1]-posBegin[1]))+posBegin[1]);
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i1 = 1;
for (; (i1<=32); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+34)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+70)] = 0.000000e+00;
}
for (; (i1<=33); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+34)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i1 = 1;
for (; (i1<=32); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+3814)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+3850)] = 0.000000e+00;
}
for (; (i1<=33); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+3814)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i1 = 1;
for (; (i1<=32); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+7594)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+7630)] = 0.000000e+00;
}
for (; (i1<=33); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+7594)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i1 = 1;
for (; (i1<=32); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+6334)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+6370)] = 0.000000e+00;
}
for (; (i1<=33); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+6334)] = 0.000000e+00;
}
}
}
{
int i1 = 1;
for (; (i1<(2&(~1))); i1 += 1) {
xPos = posEnd[0];
}
__m128d vec1 = _mm_set1_pd(xPos);
for (; (i1<31); i1 += 4) {
/* xPos = posEnd[0]; */
__m128d vec0 = _mm_load1_pd((&posEnd[0]));
__m128d vec0_2 = _mm_load1_pd((&posEnd[0]));
vec1 = vec0;
vec1 = vec0_2;
}
for (; (i1<34); i1 += 1) {
xPos = posEnd[0];
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i1 = 1;
for (; (i1<=32); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+10114)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+10150)] = 0.000000e+00;
}
for (; (i1<=33); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i1*36)+10114)] = 0.000000e+00;
}
}
}
}
}
if ((!neighbor_isValid[0][2])) {
{
double xPos;
double yPos;
/* Statements in this Scop: S1327, S1332, S1326, S1329, S1323, S1322, S1331, S1325, S1328, S1330, S1324 */
{
{
{
{
{
{
{
{
{
{
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i2 = 2;
for (; (i2<=33); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+5076)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+5077)] = 0.000000e+00;
}
for (; (i2<=34); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+5076)] = 0.000000e+00;
}
}
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i2 = 2;
for (; (i2<=33); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+8856)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+8857)] = 0.000000e+00;
}
for (; (i2<=34); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+8856)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i2 = 2;
for (; (i2<=33); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+6336)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+6337)] = 0.000000e+00;
}
for (; (i2<=34); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+6336)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i2 = 2;
for (; (i2<=33); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+7596)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+7597)] = 0.000000e+00;
}
for (; (i2<=34); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+7596)] = 0.000000e+00;
}
}
}
{
int i2 = 2;
for (; (i2<=33); i2 += 2) {
xPos = ((((i2-2)/3.200000e+01)*(posEnd[0]-posBegin[0]))+posBegin[0]);
xPos = ((((i2-1)/3.200000e+01)*(posEnd[0]-posBegin[0]))+posBegin[0]);
}
for (; (i2<=34); i2 += 1) {
xPos = ((((i2-2)/3.200000e+01)*(posEnd[0]-posBegin[0]))+posBegin[0]);
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i2 = 2;
for (; (i2<=33); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+36)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+37)] = 0.000000e+00;
}
for (; (i2<=34); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+36)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i2 = 2;
for (; (i2<=33); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+2556)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+2557)] = 0.000000e+00;
}
for (; (i2<=34); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+2556)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i2 = 2;
for (; (i2<=33); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+10116)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+10117)] = 0.000000e+00;
}
for (; (i2<=34); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+10116)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i2 = 2;
for (; (i2<=33); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+3816)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+3817)] = 0.000000e+00;
}
for (; (i2<=34); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+3816)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i2 = 2;
for (; (i2<=33); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+1296)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+1297)] = 0.000000e+00;
}
for (; (i2<=34); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+1296)] = 0.000000e+00;
}
}
}
{
int i2 = 2;
for (; (i2<=33); i2 += 2) {
yPos = posBegin[1];
yPos = posBegin[1];
}
for (; (i2<=34); i2 += 1) {
yPos = posBegin[1];
}
}
}
}
}
if ((!neighbor_isValid[0][3])) {
{
double xPos;
double yPos;
/* Statements in this Scop: S1338, S1341, S1335, S1340, S1343, S1337, S1334, S1333, S1342, S1336, S1339 */
{
{
{
{
{
{
{
{
{
{
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i2 = 2;
for (; (i2<=33); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+7488)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+7489)] = 0.000000e+00;
}
for (; (i2<=34); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+7488)] = 0.000000e+00;
}
}
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i2 = 2;
for (; (i2<=33); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+2448)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+2449)] = 0.000000e+00;
}
for (; (i2<=34); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+2448)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i2 = 2;
for (; (i2<=33); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+11268)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+11269)] = 0.000000e+00;
}
for (; (i2<=34); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+11268)] = 0.000000e+00;
}
}
}
{
int i2 = 2;
for (; (i2<=33); i2 += 2) {
yPos = posEnd[1];
yPos = posEnd[1];
}
for (; (i2<=34); i2 += 1) {
yPos = posEnd[1];
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i2 = 2;
for (; (i2<=33); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+10008)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+10009)] = 0.000000e+00;
}
for (; (i2<=34); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+10008)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i2 = 2;
for (; (i2<=33); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+6228)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+6229)] = 0.000000e+00;
}
for (; (i2<=34); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+6228)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i2 = 2;
for (; (i2<=33); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+8748)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+8749)] = 0.000000e+00;
}
for (; (i2<=34); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+8748)] = 0.000000e+00;
}
}
}
{
int i2 = 2;
for (; (i2<=33); i2 += 2) {
xPos = ((((i2-2)/3.200000e+01)*(posEnd[0]-posBegin[0]))+posBegin[0]);
xPos = ((((i2-1)/3.200000e+01)*(posEnd[0]-posBegin[0]))+posBegin[0]);
}
for (; (i2<=34); i2 += 1) {
xPos = ((((i2-2)/3.200000e+01)*(posEnd[0]-posBegin[0]))+posBegin[0]);
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i2 = 2;
for (; (i2<=33); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+3708)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+3709)] = 0.000000e+00;
}
for (; (i2<=34); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+3708)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i2 = 2;
for (; (i2<=33); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+1188)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+1189)] = 0.000000e+00;
}
for (; (i2<=34); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+1188)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][0]);
int i2 = 2;
for (; (i2<=33); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+4968)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+4969)] = 0.000000e+00;
}
for (; (i2<=34); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[(i2+4968)] = 0.000000e+00;
}
}
}
}
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((neighbor_isValid[0][1]&&neighbor_isRemote[0][1])) {
/* Statements in this Scop: S1344 */
for (int i3 = 0; (i3<=8); i3 += 1) {
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][(i3*1260)]);
double* buffer_Send_1_p1 = (&buffer_Send[1][(i3*33)]);
int i4 = 1;
for (; (i4<=32); i4 += 2) {
buffer_Send_1_p1[(i4-1)] = fieldData_LaplaceCoeff_GMRF_5_p1[((i4*36)+34)];
buffer_Send_1_p1[i4] = fieldData_LaplaceCoeff_GMRF_5_p1[((i4*36)+70)];
}
for (; (i4<=33); i4 += 1) {
buffer_Send_1_p1[(i4-1)] = fieldData_LaplaceCoeff_GMRF_5_p1[((i4*36)+34)];
}
}
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((neighbor_isValid[0][1]&&neighbor_isRemote[0][1])) {
MPI_Isend(buffer_Send[1], 297, MPI_DOUBLE, neighbor_remoteRank[0][1], ((unsigned int)commId << 16) + ((unsigned int)(neighbor_fragCommId[0][1]) & 0x0000ffff), mpiCommunicator, &mpiRequest_Send[1]);
reqOutstanding_Send[1] = true;
}
}
}
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((neighbor_isValid[0][0]&&neighbor_isRemote[0][0])) {
MPI_Irecv(buffer_Recv[0], 297, MPI_DOUBLE, neighbor_remoteRank[0][0], ((unsigned int)(neighbor_fragCommId[0][0]) << 16) + ((unsigned int)commId & 0x0000ffff), mpiCommunicator, &mpiRequest_Recv[0]);
reqOutstanding_Recv[0] = true;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if (reqOutstanding_Recv[0]) {
waitForMPIReq(&mpiRequest_Recv[0]);
reqOutstanding_Recv[0] = false;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((neighbor_isValid[0][0]&&neighbor_isRemote[0][0])) {
/* Statements in this Scop: S1345 */
for (int i3 = 0; (i3<=8); i3 += 1) {
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][(i3*1260)]);
double* buffer_Recv_0_p1 = (&buffer_Recv[0][(i3*33)]);
int i4 = 3;
for (; (i4<=34); i4 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i4*36)-70)] = buffer_Recv_0_p1[(i4-3)];
fieldData_LaplaceCoeff_GMRF_5_p1[((i4*36)-34)] = buffer_Recv_0_p1[(i4-2)];
}
for (; (i4<=35); i4 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i4*36)-70)] = buffer_Recv_0_p1[(i4-3)];
}
}
}
}
}
;
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if (reqOutstanding_Send[1]) {
waitForMPIReq(&mpiRequest_Send[1]);
reqOutstanding_Send[1] = false;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
;
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((neighbor_isValid[0][3]&&neighbor_isRemote[0][3])) {
MPI_Isend(&fieldData_LaplaceCoeff_GMRF[5][1190], 1, mpiDatatype_9_33_1260, neighbor_remoteRank[0][3], ((unsigned int)commId << 16) + ((unsigned int)(neighbor_fragCommId[0][3]) & 0x0000ffff), mpiCommunicator, &mpiRequest_Send[3]);
reqOutstanding_Send[3] = true;
}
}
}
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((neighbor_isValid[0][2]&&neighbor_isRemote[0][2])) {
MPI_Irecv(&fieldData_LaplaceCoeff_GMRF[5][38], 1, mpiDatatype_9_33_1260, neighbor_remoteRank[0][2], ((unsigned int)(neighbor_fragCommId[0][2]) << 16) + ((unsigned int)commId & 0x0000ffff), mpiCommunicator, &mpiRequest_Recv[2]);
reqOutstanding_Recv[2] = true;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if (reqOutstanding_Recv[2]) {
waitForMPIReq(&mpiRequest_Recv[2]);
reqOutstanding_Recv[2] = false;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
;
}
}
;
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if (reqOutstanding_Send[3]) {
waitForMPIReq(&mpiRequest_Send[3]);
reqOutstanding_Send[3] = false;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((neighbor_isValid[0][0]&&neighbor_isRemote[0][0])) {
/* Statements in this Scop: S1346 */
for (int i3 = 0; (i3<=8); i3 += 1) {
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][(i3*1260)]);
double* buffer_Send_0_p1 = (&buffer_Send[0][(i3*35)]);
int i4 = 0;
for (; (i4<=33); i4 += 2) {
buffer_Send_0_p1[i4] = fieldData_LaplaceCoeff_GMRF_5_p1[((i4*36)+3)];
buffer_Send_0_p1[(i4+1)] = fieldData_LaplaceCoeff_GMRF_5_p1[((i4*36)+39)];
}
for (; (i4<=34); i4 += 1) {
buffer_Send_0_p1[i4] = fieldData_LaplaceCoeff_GMRF_5_p1[((i4*36)+3)];
}
}
}
if ((neighbor_isValid[0][1]&&neighbor_isRemote[0][1])) {
/* Statements in this Scop: S1347 */
for (int i3 = 0; (i3<=8); i3 += 1) {
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][(i3*1260)]);
double* buffer_Send_1_p1 = (&buffer_Send[1][(i3*35)]);
int i4 = 0;
for (; (i4<=33); i4 += 2) {
buffer_Send_1_p1[i4] = fieldData_LaplaceCoeff_GMRF_5_p1[((i4*36)+33)];
buffer_Send_1_p1[(i4+1)] = fieldData_LaplaceCoeff_GMRF_5_p1[((i4*36)+69)];
}
for (; (i4<=34); i4 += 1) {
buffer_Send_1_p1[i4] = fieldData_LaplaceCoeff_GMRF_5_p1[((i4*36)+33)];
}
}
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((neighbor_isValid[0][0]&&neighbor_isRemote[0][0])) {
MPI_Isend(buffer_Send[0], 315, MPI_DOUBLE, neighbor_remoteRank[0][0], ((unsigned int)commId << 16) + ((unsigned int)(neighbor_fragCommId[0][0]) & 0x0000ffff), mpiCommunicator, &mpiRequest_Send[0]);
reqOutstanding_Send[0] = true;
}
if ((neighbor_isValid[0][1]&&neighbor_isRemote[0][1])) {
MPI_Isend(buffer_Send[1], 315, MPI_DOUBLE, neighbor_remoteRank[0][1], ((unsigned int)commId << 16) + ((unsigned int)(neighbor_fragCommId[0][1]) & 0x0000ffff), mpiCommunicator, &mpiRequest_Send[1]);
reqOutstanding_Send[1] = true;
}
}
}
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((neighbor_isValid[0][0]&&neighbor_isRemote[0][0])) {
MPI_Irecv(buffer_Recv[0], 315, MPI_DOUBLE, neighbor_remoteRank[0][0], ((unsigned int)(neighbor_fragCommId[0][0]) << 16) + ((unsigned int)commId & 0x0000ffff), mpiCommunicator, &mpiRequest_Recv[0]);
reqOutstanding_Recv[0] = true;
}
if ((neighbor_isValid[0][1]&&neighbor_isRemote[0][1])) {
MPI_Irecv(buffer_Recv[1], 315, MPI_DOUBLE, neighbor_remoteRank[0][1], ((unsigned int)(neighbor_fragCommId[0][1]) << 16) + ((unsigned int)commId & 0x0000ffff), mpiCommunicator, &mpiRequest_Recv[1]);
reqOutstanding_Recv[1] = true;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if (reqOutstanding_Recv[0]) {
waitForMPIReq(&mpiRequest_Recv[0]);
reqOutstanding_Recv[0] = false;
}
if (reqOutstanding_Recv[1]) {
waitForMPIReq(&mpiRequest_Recv[1]);
reqOutstanding_Recv[1] = false;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((neighbor_isValid[0][0]&&neighbor_isRemote[0][0])) {
/* Statements in this Scop: S1348 */
for (int i3 = 0; (i3<=8); i3 += 1) {
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][(i3*1260)]);
double* buffer_Recv_0_p1 = (&buffer_Recv[0][(i3*35)]);
int i4 = 1;
for (; (i4<=34); i4 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i4*36)-35)] = buffer_Recv_0_p1[(i4-1)];
fieldData_LaplaceCoeff_GMRF_5_p1[((i4*36)+1)] = buffer_Recv_0_p1[i4];
}
for (; (i4<=35); i4 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i4*36)-35)] = buffer_Recv_0_p1[(i4-1)];
}
}
}
if ((neighbor_isValid[0][1]&&neighbor_isRemote[0][1])) {
/* Statements in this Scop: S1349 */
for (int i3 = 0; (i3<=8); i3 += 1) {
double* fieldData_LaplaceCoeff_GMRF_5_p1 = (&fieldData_LaplaceCoeff_GMRF[5][(i3*1260)]);
double* buffer_Recv_1_p1 = (&buffer_Recv[1][(i3*35)]);
int i4 = 35;
for (; (i4<=68); i4 += 2) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i4*36)-1225)] = buffer_Recv_1_p1[(i4-35)];
fieldData_LaplaceCoeff_GMRF_5_p1[((i4*36)-1189)] = buffer_Recv_1_p1[(i4-34)];
}
for (; (i4<=69); i4 += 1) {
fieldData_LaplaceCoeff_GMRF_5_p1[((i4*36)-1225)] = buffer_Recv_1_p1[(i4-35)];
}
}
}
}
}
;
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if (reqOutstanding_Send[0]) {
waitForMPIReq(&mpiRequest_Send[0]);
reqOutstanding_Send[0] = false;
}
if (reqOutstanding_Send[1]) {
waitForMPIReq(&mpiRequest_Send[1]);
reqOutstanding_Send[1] = false;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
;
;
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((neighbor_isValid[0][2]&&neighbor_isRemote[0][2])) {
MPI_Isend(&fieldData_LaplaceCoeff_GMRF[5][73], 1, mpiDatatype_9_35_1260, neighbor_remoteRank[0][2], ((unsigned int)commId << 16) + ((unsigned int)(neighbor_fragCommId[0][2]) & 0x0000ffff), mpiCommunicator, &mpiRequest_Send[2]);
reqOutstanding_Send[2] = true;
}
if ((neighbor_isValid[0][3]&&neighbor_isRemote[0][3])) {
MPI_Isend(&fieldData_LaplaceCoeff_GMRF[5][1153], 1, mpiDatatype_9_35_1260, neighbor_remoteRank[0][3], ((unsigned int)commId << 16) + ((unsigned int)(neighbor_fragCommId[0][3]) & 0x0000ffff), mpiCommunicator, &mpiRequest_Send[3]);
reqOutstanding_Send[3] = true;
}
}
}
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((neighbor_isValid[0][2]&&neighbor_isRemote[0][2])) {
MPI_Irecv(&fieldData_LaplaceCoeff_GMRF[5][1], 1, mpiDatatype_9_35_1260, neighbor_remoteRank[0][2], ((unsigned int)(neighbor_fragCommId[0][2]) << 16) + ((unsigned int)commId & 0x0000ffff), mpiCommunicator, &mpiRequest_Recv[2]);
reqOutstanding_Recv[2] = true;
}
if ((neighbor_isValid[0][3]&&neighbor_isRemote[0][3])) {
MPI_Irecv(&fieldData_LaplaceCoeff_GMRF[5][1225], 1, mpiDatatype_9_35_1260, neighbor_remoteRank[0][3], ((unsigned int)(neighbor_fragCommId[0][3]) << 16) + ((unsigned int)commId & 0x0000ffff), mpiCommunicator, &mpiRequest_Recv[3]);
reqOutstanding_Recv[3] = true;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if (reqOutstanding_Recv[2]) {
waitForMPIReq(&mpiRequest_Recv[2]);
reqOutstanding_Recv[2] = false;
}
if (reqOutstanding_Recv[3]) {
waitForMPIReq(&mpiRequest_Recv[3]);
reqOutstanding_Recv[3] = false;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
;
;
}
}
;
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if (reqOutstanding_Send[2]) {
waitForMPIReq(&mpiRequest_Send[2]);
reqOutstanding_Send[2] = false;
}
if (reqOutstanding_Send[3]) {
waitForMPIReq(&mpiRequest_Send[3]);
reqOutstanding_Send[3] = false;
}
}
}
}
Example #7
0
	static inline Simd div(const Simd& lhs, double rhs) {
		Simd res;
		__m128d tmp = _mm_set1_pd(rhs);
		res.reg = _mm_div_pd(lhs.reg, tmp);
		return res;
	}
void exchlaplacecoeff_gmrfData_0(unsigned int slot) {
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((!neighbor_isValid[0][0])) {
{
double xPos;
double yPos;
/* Statements in this Scop: S1053, S1056, S1059, S1050, S1058, S1052, S1055, S1060, S1054, S1057, S1051 */
{
{
{
{
{
{
{
{
{
{
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i1 = 1;
for (; (i1<=1); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+26)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+32)] = 0.000000e+00;
}
for (; (i1<=2); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+26)] = 0.000000e+00;
}
}
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i1 = 1;
for (; (i1<=1); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+146)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+152)] = 0.000000e+00;
}
for (; (i1<=2); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+146)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i1 = 1;
for (; (i1<=1); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+98)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+104)] = 0.000000e+00;
}
for (; (i1<=2); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+98)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i1 = 1;
for (; (i1<=1); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+74)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+80)] = 0.000000e+00;
}
for (; (i1<=2); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+74)] = 0.000000e+00;
}
}
}
{
int i1 = 1;
for (; (i1<(2&(~1))); i1 += 1) {
xPos = posBegin[0];
}
__m128d vec1 = _mm_set1_pd(xPos);
for (; (i1<0); i1 += 4) {
/* xPos = posBegin[0]; */
__m128d vec0 = _mm_load1_pd((&posBegin[0]));
__m128d vec0_2 = _mm_load1_pd((&posBegin[0]));
vec1 = vec0;
vec1 = vec0_2;
}
for (; (i1<3); i1 += 1) {
xPos = posBegin[0];
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i1 = 1;
for (; (i1<=1); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+122)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+128)] = 0.000000e+00;
}
for (; (i1<=2); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+122)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i1 = 1;
for (; (i1<=1); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+170)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+176)] = 0.000000e+00;
}
for (; (i1<=2); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+170)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i1 = 1;
for (; (i1<=1); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+194)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+200)] = 0.000000e+00;
}
for (; (i1<=2); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+194)] = 0.000000e+00;
}
}
}
{
int i1 = 1;
for (; (i1<(2&(~1))); i1 += 1) {
yPos = ((((i1-1)/1.000000e+00)*(posEnd[1]-posBegin[1]))+posBegin[1]);
}
__m128d vec1 = _mm_set1_pd(1.000000e+00);
__m128d vec2 = _mm_set1_pd(1.000000e+00);
__m128d vec5 = _mm_set1_pd(yPos);
for (; (i1<0); i1 += 4) {
/* yPos = ((((i1-1)/1.000000e+00)*(posEnd[1]-posBegin[1]))+posBegin[1]); */
__m128d vec0 = _mm_set_pd(i1+1,i1);
__m128d vec0_2 = _mm_set_pd(i1+1,i1);
__m128d vec3 = _mm_load1_pd((&posEnd[1]));
__m128d vec3_2 = _mm_load1_pd((&posEnd[1]));
__m128d vec4 = _mm_load1_pd((&posBegin[1]));
__m128d vec4_2 = _mm_load1_pd((&posBegin[1]));
vec5 = _mm_add_pd(_mm_mul_pd(_mm_div_pd(_mm_sub_pd(vec0, vec1), vec2), _mm_sub_pd(vec3, vec4)), vec4);
vec5 = _mm_add_pd(_mm_mul_pd(_mm_div_pd(_mm_sub_pd(vec0_2, vec1), vec2), _mm_sub_pd(vec3_2, vec4_2)), vec4_2);
}
for (; (i1<3); i1 += 1) {
yPos = ((((i1-1)/1.000000e+00)*(posEnd[1]-posBegin[1]))+posBegin[1]);
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i1 = 1;
for (; (i1<=1); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+2)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+8)] = 0.000000e+00;
}
for (; (i1<=2); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+2)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i1 = 1;
for (; (i1<=1); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+50)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+56)] = 0.000000e+00;
}
for (; (i1<=2); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+50)] = 0.000000e+00;
}
}
}
}
}
if ((!neighbor_isValid[0][1])) {
{
double xPos;
double yPos;
/* Statements in this Scop: S1071, S1065, S1068, S1062, S1070, S1064, S1067, S1061, S1069, S1063, S1066 */
{
{
{
{
{
{
{
{
{
{
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i1 = 1;
for (; (i1<=1); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+195)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+201)] = 0.000000e+00;
}
for (; (i1<=2); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+195)] = 0.000000e+00;
}
}
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i1 = 1;
for (; (i1<=1); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+51)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+57)] = 0.000000e+00;
}
for (; (i1<=2); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+51)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i1 = 1;
for (; (i1<=1); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+75)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+81)] = 0.000000e+00;
}
for (; (i1<=2); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+75)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i1 = 1;
for (; (i1<=1); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+3)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+9)] = 0.000000e+00;
}
for (; (i1<=2); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+3)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i1 = 1;
for (; (i1<=1); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+171)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+177)] = 0.000000e+00;
}
for (; (i1<=2); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+171)] = 0.000000e+00;
}
}
}
{
int i1 = 1;
for (; (i1<(2&(~1))); i1 += 1) {
yPos = ((((i1-1)/1.000000e+00)*(posEnd[1]-posBegin[1]))+posBegin[1]);
}
__m128d vec1 = _mm_set1_pd(1.000000e+00);
__m128d vec2 = _mm_set1_pd(1.000000e+00);
__m128d vec5 = _mm_set1_pd(yPos);
for (; (i1<0); i1 += 4) {
/* yPos = ((((i1-1)/1.000000e+00)*(posEnd[1]-posBegin[1]))+posBegin[1]); */
__m128d vec0 = _mm_set_pd(i1+1,i1);
__m128d vec0_2 = _mm_set_pd(i1+1,i1);
__m128d vec3 = _mm_load1_pd((&posEnd[1]));
__m128d vec3_2 = _mm_load1_pd((&posEnd[1]));
__m128d vec4 = _mm_load1_pd((&posBegin[1]));
__m128d vec4_2 = _mm_load1_pd((&posBegin[1]));
vec5 = _mm_add_pd(_mm_mul_pd(_mm_div_pd(_mm_sub_pd(vec0, vec1), vec2), _mm_sub_pd(vec3, vec4)), vec4);
vec5 = _mm_add_pd(_mm_mul_pd(_mm_div_pd(_mm_sub_pd(vec0_2, vec1), vec2), _mm_sub_pd(vec3_2, vec4_2)), vec4_2);
}
for (; (i1<3); i1 += 1) {
yPos = ((((i1-1)/1.000000e+00)*(posEnd[1]-posBegin[1]))+posBegin[1]);
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i1 = 1;
for (; (i1<=1); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+99)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+105)] = 0.000000e+00;
}
for (; (i1<=2); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+99)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i1 = 1;
for (; (i1<=1); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+123)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+129)] = 0.000000e+00;
}
for (; (i1<=2); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+123)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i1 = 1;
for (; (i1<=1); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+147)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+153)] = 0.000000e+00;
}
for (; (i1<=2); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+147)] = 0.000000e+00;
}
}
}
{
int i1 = 1;
for (; (i1<(2&(~1))); i1 += 1) {
xPos = posEnd[0];
}
__m128d vec1 = _mm_set1_pd(xPos);
for (; (i1<0); i1 += 4) {
/* xPos = posEnd[0]; */
__m128d vec0 = _mm_load1_pd((&posEnd[0]));
__m128d vec0_2 = _mm_load1_pd((&posEnd[0]));
vec1 = vec0;
vec1 = vec0_2;
}
for (; (i1<3); i1 += 1) {
xPos = posEnd[0];
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i1 = 1;
for (; (i1<=1); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+27)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+33)] = 0.000000e+00;
}
for (; (i1<=2); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+27)] = 0.000000e+00;
}
}
}
}
}
if ((!neighbor_isValid[0][2])) {
{
double xPos;
double yPos;
/* Statements in this Scop: S1080, S1074, S1077, S1082, S1076, S1079, S1073, S1072, S1081, S1075, S1078 */
{
{
{
{
{
{
{
{
{
{
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i2 = 2;
for (; (i2<=2); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+126)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+127)] = 0.000000e+00;
}
for (; (i2<=3); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+126)] = 0.000000e+00;
}
}
{
int i2 = 2;
for (; (i2<=2); i2 += 2) {
xPos = ((((i2-2)/1.000000e+00)*(posEnd[0]-posBegin[0]))+posBegin[0]);
xPos = ((((i2-1)/1.000000e+00)*(posEnd[0]-posBegin[0]))+posBegin[0]);
}
for (; (i2<=3); i2 += 1) {
xPos = ((((i2-2)/1.000000e+00)*(posEnd[0]-posBegin[0]))+posBegin[0]);
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i2 = 2;
for (; (i2<=2); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+198)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+199)] = 0.000000e+00;
}
for (; (i2<=3); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+198)] = 0.000000e+00;
}
}
}
{
int i2 = 2;
for (; (i2<=2); i2 += 2) {
yPos = posBegin[1];
yPos = posBegin[1];
}
for (; (i2<=3); i2 += 1) {
yPos = posBegin[1];
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i2 = 2;
for (; (i2<=2); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+30)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+31)] = 0.000000e+00;
}
for (; (i2<=3); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+30)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i2 = 2;
for (; (i2<=2); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+174)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+175)] = 0.000000e+00;
}
for (; (i2<=3); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+174)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i2 = 2;
for (; (i2<=2); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+78)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+79)] = 0.000000e+00;
}
for (; (i2<=3); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+78)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i2 = 2;
for (; (i2<=2); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+54)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+55)] = 0.000000e+00;
}
for (; (i2<=3); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+54)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i2 = 2;
for (; (i2<=2); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+150)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+151)] = 0.000000e+00;
}
for (; (i2<=3); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+150)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i2 = 2;
for (; (i2<=2); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+6)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+7)] = 0.000000e+00;
}
for (; (i2<=3); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+6)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i2 = 2;
for (; (i2<=2); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+102)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+103)] = 0.000000e+00;
}
for (; (i2<=3); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+102)] = 0.000000e+00;
}
}
}
}
}
if ((!neighbor_isValid[0][3])) {
{
double xPos;
double yPos;
/* Statements in this Scop: S1083, S1092, S1086, S1089, S1088, S1091, S1085, S1090, S1093, S1087, S1084 */
{
{
{
{
{
{
{
{
{
{
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i2 = 2;
for (; (i2<=2); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+12)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+13)] = 0.000000e+00;
}
for (; (i2<=3); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+12)] = 0.000000e+00;
}
}
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i2 = 2;
for (; (i2<=2); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+60)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+61)] = 0.000000e+00;
}
for (; (i2<=3); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+60)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i2 = 2;
for (; (i2<=2); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+204)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+205)] = 0.000000e+00;
}
for (; (i2<=3); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+204)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i2 = 2;
for (; (i2<=2); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+132)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+133)] = 0.000000e+00;
}
for (; (i2<=3); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+132)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i2 = 2;
for (; (i2<=2); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+84)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+85)] = 0.000000e+00;
}
for (; (i2<=3); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+84)] = 0.000000e+00;
}
}
}
{
int i2 = 2;
for (; (i2<=2); i2 += 2) {
yPos = posEnd[1];
yPos = posEnd[1];
}
for (; (i2<=3); i2 += 1) {
yPos = posEnd[1];
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i2 = 2;
for (; (i2<=2); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+36)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+37)] = 0.000000e+00;
}
for (; (i2<=3); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+36)] = 0.000000e+00;
}
}
}
{
int i2 = 2;
for (; (i2<=2); i2 += 2) {
xPos = ((((i2-2)/1.000000e+00)*(posEnd[0]-posBegin[0]))+posBegin[0]);
xPos = ((((i2-1)/1.000000e+00)*(posEnd[0]-posBegin[0]))+posBegin[0]);
}
for (; (i2<=3); i2 += 1) {
xPos = ((((i2-2)/1.000000e+00)*(posEnd[0]-posBegin[0]))+posBegin[0]);
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i2 = 2;
for (; (i2<=2); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+180)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+181)] = 0.000000e+00;
}
for (; (i2<=3); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+180)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i2 = 2;
for (; (i2<=2); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+156)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+157)] = 0.000000e+00;
}
for (; (i2<=3); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+156)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][0]);
int i2 = 2;
for (; (i2<=2); i2 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+108)] = 0.000000e+00;
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+109)] = 0.000000e+00;
}
for (; (i2<=3); i2 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[(i2+108)] = 0.000000e+00;
}
}
}
}
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((neighbor_isValid[0][1]&&neighbor_isRemote[0][1])) {
/* Statements in this Scop: S1094 */
for (int i0 = 0; (i0<=8); i0 += 1) {
double* buffer_Send_1_p1 = (&buffer_Send[1][(i0*2)]);
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][(i0*24)]);
int i1 = 1;
for (; (i1<=1); i1 += 2) {
buffer_Send_1_p1[(i1-1)] = fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+3)];
buffer_Send_1_p1[i1] = fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+9)];
}
for (; (i1<=2); i1 += 1) {
buffer_Send_1_p1[(i1-1)] = fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+3)];
}
}
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((neighbor_isValid[0][1]&&neighbor_isRemote[0][1])) {
MPI_Isend(buffer_Send[1], 18, MPI_DOUBLE, neighbor_remoteRank[0][1], ((unsigned int)commId << 16) + ((unsigned int)(neighbor_fragCommId[0][1]) & 0x0000ffff), mpiCommunicator, &mpiRequest_Send[1]);
reqOutstanding_Send[1] = true;
}
}
}
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((neighbor_isValid[0][0]&&neighbor_isRemote[0][0])) {
MPI_Irecv(buffer_Recv[0], 18, MPI_DOUBLE, neighbor_remoteRank[0][0], ((unsigned int)(neighbor_fragCommId[0][0]) << 16) + ((unsigned int)commId & 0x0000ffff), mpiCommunicator, &mpiRequest_Recv[0]);
reqOutstanding_Recv[0] = true;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if (reqOutstanding_Recv[0]) {
waitForMPIReq(&mpiRequest_Recv[0]);
reqOutstanding_Recv[0] = false;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((neighbor_isValid[0][0]&&neighbor_isRemote[0][0])) {
/* Statements in this Scop: S1095 */
for (int i0 = 0; (i0<=8); i0 += 1) {
double* buffer_Recv_0_p1 = (&buffer_Recv[0][(i0*2)]);
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][(i0*24)]);
int i1 = 3;
for (; (i1<=3); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)-10)] = buffer_Recv_0_p1[(i1-3)];
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)-4)] = buffer_Recv_0_p1[(i1-2)];
}
for (; (i1<=4); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)-10)] = buffer_Recv_0_p1[(i1-3)];
}
}
}
}
}
;
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if (reqOutstanding_Send[1]) {
waitForMPIReq(&mpiRequest_Send[1]);
reqOutstanding_Send[1] = false;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
;
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((neighbor_isValid[0][3]&&neighbor_isRemote[0][3])) {
MPI_Isend(&fieldData_LaplaceCoeff_GMRF[0][14], 1, mpiDatatype_9_2_24, neighbor_remoteRank[0][3], ((unsigned int)commId << 16) + ((unsigned int)(neighbor_fragCommId[0][3]) & 0x0000ffff), mpiCommunicator, &mpiRequest_Send[3]);
reqOutstanding_Send[3] = true;
}
}
}
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((neighbor_isValid[0][2]&&neighbor_isRemote[0][2])) {
MPI_Irecv(&fieldData_LaplaceCoeff_GMRF[0][8], 1, mpiDatatype_9_2_24, neighbor_remoteRank[0][2], ((unsigned int)(neighbor_fragCommId[0][2]) << 16) + ((unsigned int)commId & 0x0000ffff), mpiCommunicator, &mpiRequest_Recv[2]);
reqOutstanding_Recv[2] = true;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if (reqOutstanding_Recv[2]) {
waitForMPIReq(&mpiRequest_Recv[2]);
reqOutstanding_Recv[2] = false;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
;
}
}
;
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if (reqOutstanding_Send[3]) {
waitForMPIReq(&mpiRequest_Send[3]);
reqOutstanding_Send[3] = false;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((neighbor_isValid[0][0]&&neighbor_isRemote[0][0])) {
/* Statements in this Scop: S1096 */
for (int i0 = 0; (i0<=8); i0 += 1) {
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][(i0*24)]);
double* buffer_Send_0_p1 = (&buffer_Send[0][(i0*4)]);
int i1 = 0;
for (; (i1<=2); i1 += 2) {
buffer_Send_0_p1[i1] = fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+3)];
buffer_Send_0_p1[(i1+1)] = fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+9)];
}
for (; (i1<=3); i1 += 1) {
buffer_Send_0_p1[i1] = fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+3)];
}
}
}
if ((neighbor_isValid[0][1]&&neighbor_isRemote[0][1])) {
/* Statements in this Scop: S1097 */
for (int i0 = 0; (i0<=8); i0 += 1) {
double* buffer_Send_1_p1 = (&buffer_Send[1][(i0*4)]);
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][(i0*24)]);
int i1 = 0;
for (; (i1<=2); i1 += 2) {
buffer_Send_1_p1[i1] = fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+2)];
buffer_Send_1_p1[(i1+1)] = fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+8)];
}
for (; (i1<=3); i1 += 1) {
buffer_Send_1_p1[i1] = fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+2)];
}
}
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((neighbor_isValid[0][0]&&neighbor_isRemote[0][0])) {
MPI_Isend(buffer_Send[0], 36, MPI_DOUBLE, neighbor_remoteRank[0][0], ((unsigned int)commId << 16) + ((unsigned int)(neighbor_fragCommId[0][0]) & 0x0000ffff), mpiCommunicator, &mpiRequest_Send[0]);
reqOutstanding_Send[0] = true;
}
if ((neighbor_isValid[0][1]&&neighbor_isRemote[0][1])) {
MPI_Isend(buffer_Send[1], 36, MPI_DOUBLE, neighbor_remoteRank[0][1], ((unsigned int)commId << 16) + ((unsigned int)(neighbor_fragCommId[0][1]) & 0x0000ffff), mpiCommunicator, &mpiRequest_Send[1]);
reqOutstanding_Send[1] = true;
}
}
}
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((neighbor_isValid[0][0]&&neighbor_isRemote[0][0])) {
MPI_Irecv(buffer_Recv[0], 36, MPI_DOUBLE, neighbor_remoteRank[0][0], ((unsigned int)(neighbor_fragCommId[0][0]) << 16) + ((unsigned int)commId & 0x0000ffff), mpiCommunicator, &mpiRequest_Recv[0]);
reqOutstanding_Recv[0] = true;
}
if ((neighbor_isValid[0][1]&&neighbor_isRemote[0][1])) {
MPI_Irecv(buffer_Recv[1], 36, MPI_DOUBLE, neighbor_remoteRank[0][1], ((unsigned int)(neighbor_fragCommId[0][1]) << 16) + ((unsigned int)commId & 0x0000ffff), mpiCommunicator, &mpiRequest_Recv[1]);
reqOutstanding_Recv[1] = true;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if (reqOutstanding_Recv[0]) {
waitForMPIReq(&mpiRequest_Recv[0]);
reqOutstanding_Recv[0] = false;
}
if (reqOutstanding_Recv[1]) {
waitForMPIReq(&mpiRequest_Recv[1]);
reqOutstanding_Recv[1] = false;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((neighbor_isValid[0][0]&&neighbor_isRemote[0][0])) {
/* Statements in this Scop: S1098 */
for (int i0 = 0; (i0<=8); i0 += 1) {
double* buffer_Recv_0_p1 = (&buffer_Recv[0][(i0*4)]);
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][(i0*24)]);
int i1 = 1;
for (; (i1<=3); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)-5)] = buffer_Recv_0_p1[(i1-1)];
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)+1)] = buffer_Recv_0_p1[i1];
}
for (; (i1<=4); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)-5)] = buffer_Recv_0_p1[(i1-1)];
}
}
}
if ((neighbor_isValid[0][1]&&neighbor_isRemote[0][1])) {
/* Statements in this Scop: S1099 */
for (int i0 = 0; (i0<=8); i0 += 1) {
double* buffer_Recv_1_p1 = (&buffer_Recv[1][(i0*4)]);
double* fieldData_LaplaceCoeff_GMRF_0_p1 = (&fieldData_LaplaceCoeff_GMRF[0][(i0*24)]);
int i1 = 4;
for (; (i1<=6); i1 += 2) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)-20)] = buffer_Recv_1_p1[(i1-4)];
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)-14)] = buffer_Recv_1_p1[(i1-3)];
}
for (; (i1<=7); i1 += 1) {
fieldData_LaplaceCoeff_GMRF_0_p1[((i1*6)-20)] = buffer_Recv_1_p1[(i1-4)];
}
}
}
}
}
;
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if (reqOutstanding_Send[0]) {
waitForMPIReq(&mpiRequest_Send[0]);
reqOutstanding_Send[0] = false;
}
if (reqOutstanding_Send[1]) {
waitForMPIReq(&mpiRequest_Send[1]);
reqOutstanding_Send[1] = false;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
;
;
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((neighbor_isValid[0][2]&&neighbor_isRemote[0][2])) {
MPI_Isend(&fieldData_LaplaceCoeff_GMRF[0][13], 1, mpiDatatype_9_4_24, neighbor_remoteRank[0][2], ((unsigned int)commId << 16) + ((unsigned int)(neighbor_fragCommId[0][2]) & 0x0000ffff), mpiCommunicator, &mpiRequest_Send[2]);
reqOutstanding_Send[2] = true;
}
if ((neighbor_isValid[0][3]&&neighbor_isRemote[0][3])) {
MPI_Isend(&fieldData_LaplaceCoeff_GMRF[0][7], 1, mpiDatatype_9_4_24, neighbor_remoteRank[0][3], ((unsigned int)commId << 16) + ((unsigned int)(neighbor_fragCommId[0][3]) & 0x0000ffff), mpiCommunicator, &mpiRequest_Send[3]);
reqOutstanding_Send[3] = true;
}
}
}
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((neighbor_isValid[0][2]&&neighbor_isRemote[0][2])) {
MPI_Irecv(&fieldData_LaplaceCoeff_GMRF[0][1], 1, mpiDatatype_9_4_24, neighbor_remoteRank[0][2], ((unsigned int)(neighbor_fragCommId[0][2]) << 16) + ((unsigned int)commId & 0x0000ffff), mpiCommunicator, &mpiRequest_Recv[2]);
reqOutstanding_Recv[2] = true;
}
if ((neighbor_isValid[0][3]&&neighbor_isRemote[0][3])) {
MPI_Irecv(&fieldData_LaplaceCoeff_GMRF[0][19], 1, mpiDatatype_9_4_24, neighbor_remoteRank[0][3], ((unsigned int)(neighbor_fragCommId[0][3]) << 16) + ((unsigned int)commId & 0x0000ffff), mpiCommunicator, &mpiRequest_Recv[3]);
reqOutstanding_Recv[3] = true;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if (reqOutstanding_Recv[2]) {
waitForMPIReq(&mpiRequest_Recv[2]);
reqOutstanding_Recv[2] = false;
}
if (reqOutstanding_Recv[3]) {
waitForMPIReq(&mpiRequest_Recv[3]);
reqOutstanding_Recv[3] = false;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
;
;
}
}
;
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if (reqOutstanding_Send[2]) {
waitForMPIReq(&mpiRequest_Send[2]);
reqOutstanding_Send[2] = false;
}
if (reqOutstanding_Send[3]) {
waitForMPIReq(&mpiRequest_Send[3]);
reqOutstanding_Send[3] = false;
}
}
}
}
Example #9
0
BOOST_FORCEINLINE __m128d __vectorcall operator / ( __m128d const left, __m128d const right ) {
    return _mm_div_pd   ( left, right );
}
Example #10
0
	static inline Simd div(const Simd& lhs, const Simd& rhs) {
		Simd res;
		res.reg = _mm_div_pd(lhs.reg, rhs.reg);
		return res;
	}
inline __m128d operator/(const __m128d& v1, const __m128d& v2) {
	return _mm_div_pd(v1, v2);
}
inline __m128d& operator/=(__m128d& v1, const __m128d& v2) {
	return (v1 = _mm_div_pd(v1, v2));
}
void exchrhs_gmrfData_8(unsigned int slot) {
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((!neighbor_isValid[0][0])) {
{
double xPos;
double yPos;
/* Statements in this Scop: S589, S588, S590 */
{
{
{
int i1 = 0;
for (; (i1<(1&(~1))); i1 += 1) {
yPos = (((i1/2.560000e+02)*(posEnd[1]-posBegin[1]))+posBegin[1]);
}
__m128d vec1 = _mm_set1_pd(2.560000e+02);
__m128d vec4 = _mm_set1_pd(yPos);
for (; (i1<254); i1 += 4) {
/* yPos = (((i1/2.560000e+02)*(posEnd[1]-posBegin[1]))+posBegin[1]); */
__m128d vec0 = _mm_set_pd(i1+1,i1);
__m128d vec0_2 = _mm_set_pd(i1+1,i1);
__m128d vec2 = _mm_load1_pd((&posEnd[1]));
__m128d vec2_2 = _mm_load1_pd((&posEnd[1]));
__m128d vec3 = _mm_load1_pd((&posBegin[1]));
__m128d vec3_2 = _mm_load1_pd((&posBegin[1]));
vec4 = _mm_add_pd(_mm_mul_pd(_mm_div_pd(vec0, vec1), _mm_sub_pd(vec2, vec3)), vec3);
vec4 = _mm_add_pd(_mm_mul_pd(_mm_div_pd(vec0_2, vec1), _mm_sub_pd(vec2_2, vec3_2)), vec3_2);
}
for (; (i1<257); i1 += 1) {
yPos = (((i1/2.560000e+02)*(posEnd[1]-posBegin[1]))+posBegin[1]);
}
}
{
int i1 = 0;
for (; (i1<(1&(~1))); i1 += 1) {
xPos = posBegin[0];
}
__m128d vec1 = _mm_set1_pd(xPos);
for (; (i1<254); i1 += 4) {
/* xPos = posBegin[0]; */
__m128d vec0 = _mm_load1_pd((&posBegin[0]));
__m128d vec0_2 = _mm_load1_pd((&posBegin[0]));
vec1 = vec0;
vec1 = vec0_2;
}
for (; (i1<257); i1 += 1) {
xPos = posBegin[0];
}
}
}
{
double* fieldData_RHS_GMRF_8_p1 = (&fieldData_RHS_GMRF[8][0]);
int i1 = 0;
for (; (i1<=255); i1 += 2) {
fieldData_RHS_GMRF_8_p1[(i1*258)] = 0.000000e+00;
fieldData_RHS_GMRF_8_p1[((i1*258)+258)] = 0.000000e+00;
}
for (; (i1<=256); i1 += 1) {
fieldData_RHS_GMRF_8_p1[(i1*258)] = 0.000000e+00;
}
}
}
}
}
if ((!neighbor_isValid[0][1])) {
{
double xPos;
double yPos;
/* Statements in this Scop: S592, S591, S593 */
{
{
{
int i1 = 0;
for (; (i1<(1&(~1))); i1 += 1) {
yPos = (((i1/2.560000e+02)*(posEnd[1]-posBegin[1]))+posBegin[1]);
}
__m128d vec1 = _mm_set1_pd(2.560000e+02);
__m128d vec4 = _mm_set1_pd(yPos);
for (; (i1<254); i1 += 4) {
/* yPos = (((i1/2.560000e+02)*(posEnd[1]-posBegin[1]))+posBegin[1]); */
__m128d vec0 = _mm_set_pd(i1+1,i1);
__m128d vec0_2 = _mm_set_pd(i1+1,i1);
__m128d vec2 = _mm_load1_pd((&posEnd[1]));
__m128d vec2_2 = _mm_load1_pd((&posEnd[1]));
__m128d vec3 = _mm_load1_pd((&posBegin[1]));
__m128d vec3_2 = _mm_load1_pd((&posBegin[1]));
vec4 = _mm_add_pd(_mm_mul_pd(_mm_div_pd(vec0, vec1), _mm_sub_pd(vec2, vec3)), vec3);
vec4 = _mm_add_pd(_mm_mul_pd(_mm_div_pd(vec0_2, vec1), _mm_sub_pd(vec2_2, vec3_2)), vec3_2);
}
for (; (i1<257); i1 += 1) {
yPos = (((i1/2.560000e+02)*(posEnd[1]-posBegin[1]))+posBegin[1]);
}
}
{
double* fieldData_RHS_GMRF_8_p1 = (&fieldData_RHS_GMRF[8][0]);
int i1 = 0;
for (; (i1<=255); i1 += 2) {
fieldData_RHS_GMRF_8_p1[((i1*258)+256)] = 0.000000e+00;
fieldData_RHS_GMRF_8_p1[((i1*258)+514)] = 0.000000e+00;
}
for (; (i1<=256); i1 += 1) {
fieldData_RHS_GMRF_8_p1[((i1*258)+256)] = 0.000000e+00;
}
}
}
{
int i1 = 0;
for (; (i1<(1&(~1))); i1 += 1) {
xPos = posEnd[0];
}
__m128d vec1 = _mm_set1_pd(xPos);
for (; (i1<254); i1 += 4) {
/* xPos = posEnd[0]; */
__m128d vec0 = _mm_load1_pd((&posEnd[0]));
__m128d vec0_2 = _mm_load1_pd((&posEnd[0]));
vec1 = vec0;
vec1 = vec0_2;
}
for (; (i1<257); i1 += 1) {
xPos = posEnd[0];
}
}
}
}
}
if ((!neighbor_isValid[0][2])) {
{
double xPos;
double yPos;
/* Statements in this Scop: S595, S594, S596 */
{
{
{
double* fieldData_RHS_GMRF_8_p1 = (&fieldData_RHS_GMRF[8][0]);
int i2 = 0;
for (; (i2<=255); i2 += 2) {
fieldData_RHS_GMRF_8_p1[i2] = 0.000000e+00;
fieldData_RHS_GMRF_8_p1[(i2+1)] = 0.000000e+00;
}
for (; (i2<=256); i2 += 1) {
fieldData_RHS_GMRF_8_p1[i2] = 0.000000e+00;
}
}
{
int i2 = 0;
for (; (i2<=255); i2 += 2) {
xPos = (((i2/2.560000e+02)*(posEnd[0]-posBegin[0]))+posBegin[0]);
xPos = ((((i2+1)/2.560000e+02)*(posEnd[0]-posBegin[0]))+posBegin[0]);
}
for (; (i2<=256); i2 += 1) {
xPos = (((i2/2.560000e+02)*(posEnd[0]-posBegin[0]))+posBegin[0]);
}
}
}
{
int i2 = 0;
for (; (i2<=255); i2 += 2) {
yPos = posBegin[1];
yPos = posBegin[1];
}
for (; (i2<=256); i2 += 1) {
yPos = posBegin[1];
}
}
}
}
}
if ((!neighbor_isValid[0][3])) {
{
double xPos;
double yPos;
/* Statements in this Scop: S598, S597, S599 */
{
{
{
int i2 = 0;
for (; (i2<=255); i2 += 2) {
xPos = (((i2/2.560000e+02)*(posEnd[0]-posBegin[0]))+posBegin[0]);
xPos = ((((i2+1)/2.560000e+02)*(posEnd[0]-posBegin[0]))+posBegin[0]);
}
for (; (i2<=256); i2 += 1) {
xPos = (((i2/2.560000e+02)*(posEnd[0]-posBegin[0]))+posBegin[0]);
}
}
{
int i2 = 0;
for (; (i2<=255); i2 += 2) {
yPos = posEnd[1];
yPos = posEnd[1];
}
for (; (i2<=256); i2 += 1) {
yPos = posEnd[1];
}
}
}
{
double* fieldData_RHS_GMRF_8_p1 = (&fieldData_RHS_GMRF[8][0]);
int i2 = 0;
for (; (i2<=255); i2 += 2) {
fieldData_RHS_GMRF_8_p1[(i2+66048)] = 0.000000e+00;
fieldData_RHS_GMRF_8_p1[(i2+66049)] = 0.000000e+00;
}
for (; (i2<=256); i2 += 1) {
fieldData_RHS_GMRF_8_p1[(i2+66048)] = 0.000000e+00;
}
}
}
}
}
}
}
}
Example #14
0
static int
gauss_jordan( GLU_complex M_1[ NCNC ] , 
	      const GLU_complex M[ NCNC ] )
{
  __m128d a[ NCNC ] GLUalign ; // temporary space to overwrite matrix
  register __m128d best , attempt , m1 , fac ;
  size_t i , j , piv ;

  // equate the necessary parts into double complex precision
  for( i = 0 ; i < NCNC ; i++ ) {
    a[ i ] = _mm_setr_pd( creal( M[i] ) , cimag( M[i] ) ) ;
    M_1[ i ] = ( i%(NC+1) ) ? 0.0 :1.0 ;
  }

  // set these pointers, pB will be the inverse
  __m128d *pB = (__m128d*)M_1 , *pA = (__m128d*)a ;
  
  // loop over diagonal of the square matrix M
  for( i = 0 ; i < NC-1 ; i++ ) {

    // column pivot by selecting the largest in magnitude value
    piv = i ;
    best = absfac( *( pA + i*(NC+1) ) ) ;
    for( j = i+1 ; j < NC ; j++ ) {
       attempt = absfac( *( pB + i + j*NC ) ) ;
      if( _mm_ucomilt_sd( best , attempt ) ) { 
	piv = j ; 
	best = attempt ; 
      }
    }

    // if we must pivot then we do
    if( piv != i ) {
      swap_rows( pA , pB , piv , i ) ;
    }
  
    // perform gaussian elimination to obtain the upper triangular
    fac = _mm_div_pd( SSE2_CONJ( *( pA + i*(NC+1) ) ) , best ) ;
    for( j = NC-1 ; j > i ; j-- ) { // go up in other columns
      eliminate_column( pA , pB , fac , i , j ) ;
    }
  }

  // a is upper triangular, do the same for the upper half
  // no pivoting to be done here
  for( i = NC-1 ; i > 0 ; i-- ) {
    fac = SSE2_inverse( *( pA + i*(NC+1) ) ) ;
    for( j = 0 ; j < i ; j++ ) {
      eliminate_column( pA , pB , fac , i , j ) ;
    }
  }

  // multiply each row by its M_1 diagonal
  for( j = 0 ; j < NC ; j++ ) {
    m1 = SSE2_inverse( *pA ) ;
    for( i = 0 ; i < NC ; i++ ) {
      *pB = SSE2_MUL( *pB , m1 ) ;
      pB++ ;
    }
    pA += NC+1 ;
  }

  return GLU_SUCCESS ;
}
Example #15
0
	static inline Simd div(const Simd& lhs, const Simd& rhs) {
		Simd res;
		res.reg[0] = _mm_div_pd(lhs.reg[0], rhs.reg[0]);
		res.reg[1] = _mm_div_pd(lhs.reg[1], rhs.reg[1]);
		return res;
	}
Example #16
0
// only compute the necessary indices of su2_i = subgroup( U*staple^\dagger )
void
only_subgroup( GLU_complex *s0 ,
	       GLU_complex *s1 ,
	       double *scale ,
	       const GLU_complex U[ NCNC ] ,
	       const GLU_complex staple[ NCNC ] ,
	       const size_t su2_index )
{
  const __m128d *u = (const __m128d*)U ;
  const __m128d *s = (const __m128d*)staple ;

  register __m128d sm0 ; 
  register __m128d sm1 ;
#if NC == 3
  switch( su2_index%3 ) { // I don't like this
    // rotation 1
    //  |  s0   s1  0 |
    //  | -s1*  s0* 0 |
    //  |  0     0  1 |
  case 0 :
    sm0 = _mm_add_pd(
		     // temp0
		     _mm_add_pd( SSE2_MUL_CONJ( *( u + 0 ) , *( s + 0 ) ) ,
				 _mm_add_pd( SSE2_MUL_CONJ( *( u + 1 ) , *( s + 1 ) ) ,
					     SSE2_MUL_CONJ( *( u + 2 ) , *( s + 2 ) ) ) ) ,
		      // temp3^*
		     _mm_add_pd( SSE2_MULCONJ( *( u + 3 ) , *( s + 3 ) ) ,
				 _mm_add_pd( SSE2_MULCONJ( *( u + 4 ) , *( s + 4 ) ) ,
					     SSE2_MULCONJ( *( u + 5 ) , *( s + 5 ) ) ) ) ) ;
    sm1 = _mm_sub_pd( 
		     // temp1
		     _mm_add_pd( SSE2_MUL_CONJ( *( u + 0 ) , *( s + 3 ) ) ,
				 _mm_add_pd( SSE2_MUL_CONJ( *( u + 1 ) , *( s + 4 ) ) ,
					     SSE2_MUL_CONJ( *( u + 2 ) , *( s + 5 ) ) ) ) ,
		     // temp2^*
		     _mm_add_pd( SSE2_MULCONJ( *( u + 3 ) , *( s + 0 ) ) ,
				 _mm_add_pd( SSE2_MULCONJ( *( u + 4 ) , *( s + 1 ) ) ,
					     SSE2_MULCONJ( *( u + 5 ) , *( s + 2 ) ) ) ) ) ;
    break ;
  case 1 :
    // rotation 2
    //  |  1    0   0  |
    //  |  0   s0  s1  |
    //  |  0  -s1* s0* |
    sm0 = _mm_add_pd( 
		     // temp0
		     _mm_add_pd( SSE2_MUL_CONJ( *( u + 3 ) , *( s + 3 ) ) ,
				 _mm_add_pd( SSE2_MUL_CONJ( *( u + 4 ) , *( s + 4 ) ) ,
					     SSE2_MUL_CONJ( *( u + 5 ) , *( s + 5 ) ) ) ) ,
		     // temp3^*
		     _mm_add_pd( SSE2_MULCONJ( *( u + 6 ) , *( s + 6 ) ) ,
				 _mm_add_pd( SSE2_MULCONJ( *( u + 7 ) , *( s + 7 ) ) ,
					     SSE2_MULCONJ( *( u + 8 ) , *( s + 8 ) ) ) ) ) ;
    sm1 = _mm_sub_pd(
		     // temp1
		     _mm_add_pd( SSE2_MUL_CONJ( *( u + 3 ) , *( s + 6 ) ) ,
				 _mm_add_pd( SSE2_MUL_CONJ( *( u + 4 ) , *( s + 7 ) ) ,
					     SSE2_MUL_CONJ( *( u + 5 ) , *( s + 8 ) ) ) ) ,
		     // temp2^*
		     _mm_add_pd( SSE2_MULCONJ( *( u + 6 ) , *( s + 3 ) ) ,
				 _mm_add_pd( SSE2_MULCONJ( *( u + 7 ) , *( s + 4 ) ) ,
					     SSE2_MULCONJ( *( u + 8 ) , *( s + 5 ) ) ) ) ) ;
    break ;
  case 2 :
    // rotation 3
    //  | s0*  0  -s1 |
    //  |  0   1   0  |
    //  | s1   0  s0  |
    sm0 = _mm_add_pd( 
		     // temp3^*
		     _mm_add_pd( SSE2_MULCONJ( *( u + 0 ) , *( s + 0 ) ) ,
				 _mm_add_pd( SSE2_MULCONJ( *( u + 1 ) , *( s + 1 ) ) ,
					     SSE2_MULCONJ( *( u + 2 ) , *( s + 2 ) ) ) ) ,
		     // temp0
		     _mm_add_pd( SSE2_MUL_CONJ( *( u + 6 ) , *( s + 6 ) ) ,
				 _mm_add_pd( SSE2_MUL_CONJ( *( u + 7 ) , *( s + 7 ) ) ,
					     SSE2_MUL_CONJ( *( u + 8 ) , *( s + 8 ) ) ) ) ) ;
    sm1 = _mm_sub_pd(
		     // temp1
		     _mm_add_pd( SSE2_MUL_CONJ( *( u + 6 ) , *( s + 0 ) ) ,
				 _mm_add_pd( SSE2_MUL_CONJ( *( u + 7 ) , *( s + 1 ) ) ,
					     SSE2_MUL_CONJ( *( u + 8 ) , *( s + 2 ) ) ) ) ,
		     // temp2^*
		     _mm_add_pd( SSE2_MULCONJ( *( u + 0 ) , *( s + 6 ) ) ,
				 _mm_add_pd( SSE2_MULCONJ( *( u + 1 ) , *( s + 7 ) ) ,
					     SSE2_MULCONJ( *( u + 2 ) , *( s + 8 ) ) ) ) ) ;
    break ;
  }
#elif NC == 2
  sm0 = _mm_add_pd( 
		   // temp0
		   _mm_add_pd( SSE2_MUL_CONJ( *( u + 0 ) , *( s + 0 ) ) , 
			       SSE2_MUL_CONJ( *( u + 1 ) , *( s + 1 ) ) ) ,
		   // temp3^*
		   _mm_add_pd( SSE2_MULCONJ( *( u + 2 ) , *( s + 2 ) ) , 
			       SSE2_MULCONJ( *( u + 3 ) , *( s + 3 ) ) ) ) ;
  
  sm1 = _mm_sub_pd( 
		   // temp1
		   _mm_add_pd( SSE2_MUL_CONJ( *( u + 0 ) , *( s + 2 ) ) , 
			       SSE2_MUL_CONJ( *( u + 1 ) , *( s + 3 ) ) ) ,
		   // temp2^*
		   _mm_add_pd( SSE2_MULCONJ( *( u + 2 ) , *( s + 0 ) ) ,
			       SSE2_MULCONJ( *( u + 3 ) , *( s + 1 ) ) ) ) ;
#else
  // su(N) version
  const size_t row_a = Latt.su2_data[ su2_index ].idx_a / NC ;
  const size_t col_b = Latt.su2_data[ su2_index ].idx_b % NC ;

  // prefetch the staple & link indices
  const __m128d *S1 = ( s + NC * row_a ) , *S2 = ( s + NC * col_b ) ; 
  const __m128d *U1 = ( u + NC * row_a ) , *U2 = ( u + NC * col_b ) ; 

  // initialise to zero & perform multiplication
  sm0 = _mm_setzero_pd() ; sm1 = _mm_setzero_pd() ;

  size_t i ;
  for( i = 0 ; i < NC ; i++ ) {
    sm0 = _mm_add_pd( sm0 ,
		      _mm_add_pd( SSE2_MUL_CONJ( *U1 , *S1 ) ,
				  SSE2_MULCONJ( *U2 , *S2 ) ) ) ;
    sm1 = _mm_add_pd( sm1 ,
		      _mm_sub_pd( SSE2_MUL_CONJ( *U1 , *S2 ) ,
				  SSE2_MULCONJ( *U2 , *S1 ) ) ) ;
    // increment our pointers
    S1++ , S2++ , U1++ , U2++ ;
  }
#endif

  // puts the norm in both parts
  register __m128d z = SSE2_FMA( sm0 , sm0 , _mm_mul_pd( sm1 , sm1 ) ) ; 
  z = _mm_add_pd( z , _mm_shuffle_pd( z , z , 1 ) ) ;
  z = _mm_sqrt_pd( z ) ;
  z = _mm_div_pd( _mm_set1_pd( 1.0 ) , z ) ;
  sm0 = _mm_mul_pd( sm0 , z ) ;
  sm1 = _mm_mul_pd( sm1 , z ) ;

  // poke back into *s0 and *s1 and *scale
  _mm_store_pd( (void*)s0 , sm0 ) ; 
  _mm_store_pd( (void*)s1 , sm1 ) ; 
  _mm_store_sd( (void*)scale , z ) ;

  return ;
}
Example #17
0
void CalcGravity(int sp, PSpot* allSpot,int* length)
{
	__m128d force1 = _mm_set1_pd(0);
	__m128d force2 = _mm_set1_pd(0);
	
	PSpot* spotSp = &allSpot[sp];

	for(int i=0;i<sp;i++)
	{
		__m128d diff1 = _mm_sub_pd(allSpot[i].pos1, spotSp->pos1);
		__m128d diff2 = _mm_sub_sd(allSpot[i].pos2, spotSp->pos2);

		__m128d r = Length(diff1, diff2);

		if (r.m128d_f64[0]*2 < (spotSp->qmass + allSpot[i].qmass))
		{
			if (allSpot[i].mass > spotSp->mass)
			{
				allSpot[i].heading1 = 
					_mm_add_pd(
						allSpot[i].heading1,
						_mm_mul_pd(
							_mm_sub_pd(spotSp->heading1, allSpot[i].heading1),
							_mm_set1_pd(spotSp->mass / (spotSp->mass + allSpot[i].mass))
						)
					);

				allSpot[i].heading2 = 
					_mm_add_sd(
						allSpot[i].heading2,
						_mm_mul_sd(
							_mm_sub_sd(spotSp->heading2, allSpot[i].heading2),
							_mm_set1_pd(spotSp->mass / (spotSp->mass + allSpot[i].mass))
						)
					);

				allSpot[i].mass += spotSp->mass;
				allSpot[i].qmass = pow(allSpot[i].mass, 0.33333);
				spotSp->mass = 0;

				(*length)--;
				PSpot temp;
				temp = allSpot[sp];
				allSpot[sp] = allSpot[*length];
				allSpot[*length] = temp;
				return;
			}
			else
			{
				spotSp->heading1 = 
					_mm_add_pd(
						spotSp->heading1,
						_mm_mul_pd(
							_mm_sub_pd(allSpot[i].heading1, spotSp->heading1),
							_mm_set1_pd(allSpot[i].mass / (spotSp->mass + allSpot[i].mass))
						)
					);

				spotSp->heading2 = 
					_mm_add_sd(
						spotSp->heading2,
						_mm_mul_sd(
							_mm_sub_sd(allSpot[i].heading2, spotSp->heading2),
							_mm_set1_pd(allSpot[i].mass / (spotSp->mass + allSpot[i].mass))
						)
					);

				spotSp->mass += allSpot[i].mass;
				spotSp->qmass = pow(spotSp->mass, 0.33333);
				allSpot[i].mass = 0;

				(*length)--;
				PSpot temp;
				temp = allSpot[i];
				allSpot[i] = allSpot[*length];
				allSpot[*length] = temp;
				return;
			}
		}

		//float f = (G * spotSp->mass * allSpot[i].mass) / (r.m128d_f64[0] * r.m128d_f64[0] * r.m128d_f64[0]);

		__m128d r1 = r;
		r1.m128d_f64[1] = G;
		__m128d r2 = r;
		r2.m128d_f64[1] = spotSp->mass;
		__m128d r3 = r;
		r3.m128d_f64[1] = allSpot[i].mass;
		__m128d r4 = _mm_mul_pd(_mm_mul_pd(r1, r2), r3);
		__m128d r5 = _mm_shuffle_pd(r4, r4, 3);
		r4 = _mm_shuffle_pd(r4, r4, 0);
		__m128d r6 = _mm_div_pd(r5, r4);

		force1 = _mm_add_pd(force1,_mm_mul_pd(diff1, r6));
		force2 = _mm_add_sd(force2,_mm_mul_sd(diff2, r6));
	}

	for(int i=sp+1;i<*length;i++)
	{
		__m128d diff1 = _mm_sub_pd(allSpot[i].pos1, spotSp->pos1);
		__m128d diff2 = _mm_sub_sd(allSpot[i].pos2, spotSp->pos2);

		__m128d r = Length(diff1, diff2);

		if (r.m128d_f64[0]*2 < (spotSp->qmass + allSpot[i].qmass))
		{
			if (allSpot[i].mass > spotSp->mass)
			{
				allSpot[i].heading1 = 
					_mm_add_pd(
						allSpot[i].heading1,
						_mm_mul_pd(
							_mm_sub_pd(spotSp->heading1, allSpot[i].heading1),
							_mm_set1_pd(spotSp->mass / (spotSp->mass + allSpot[i].mass))
						)
					);

				allSpot[i].heading2 = 
					_mm_add_sd(
						allSpot[i].heading2,
						_mm_mul_sd(
							_mm_sub_sd(spotSp->heading2, allSpot[i].heading2),
							_mm_set1_pd(spotSp->mass / (spotSp->mass + allSpot[i].mass))
						)
					);

				allSpot[i].mass += spotSp->mass;
				allSpot[i].qmass = pow(allSpot[i].mass, 0.33333);
				spotSp->mass = 0;

				(*length)--;
				PSpot temp;
				temp = allSpot[sp];
				allSpot[sp] = allSpot[*length];
				allSpot[*length] = temp;
				return;
			}
			else
			{
				spotSp->heading1 = 
					_mm_add_pd(
						spotSp->heading1,
						_mm_mul_pd(
							_mm_sub_pd(allSpot[i].heading1, spotSp->heading1),
							_mm_set1_pd(allSpot[i].mass / (spotSp->mass + allSpot[i].mass))
						)
					);

				spotSp->heading2 = 
					_mm_add_sd(
						spotSp->heading2,
						_mm_mul_sd(
							_mm_sub_sd(allSpot[i].heading2, spotSp->heading2),
							_mm_set1_pd(allSpot[i].mass / (spotSp->mass + allSpot[i].mass))
						)
					);

				spotSp->mass += allSpot[i].mass;
				spotSp->qmass = pow(spotSp->mass, 0.33333);
				allSpot[i].mass = 0;

				(*length)--;
				PSpot temp;
				temp = allSpot[i];
				allSpot[i] = allSpot[*length];
				allSpot[*length] = temp;
				return;
			}
		}

		//float f = (G * spotSp->mass * allSpot[i].mass) / (r.m128d_f64[0] * r.m128d_f64[0] * r.m128d_f64[0]);

		__m128d r1 = r;
		r1.m128d_f64[1] = G;
		__m128d r2 = r;
		r2.m128d_f64[1] = spotSp->mass;
		__m128d r3 = r;
		r3.m128d_f64[1] = allSpot[i].mass;
		__m128d r4 = _mm_mul_pd(_mm_mul_pd(r1, r2), r3);
		__m128d r5 = _mm_shuffle_pd(r4, r4, 3);
		r4 = _mm_shuffle_pd(r4, r4, 0);
		__m128d r6 = _mm_div_pd(r5, r4);

		force1 = _mm_add_pd(force1,_mm_mul_pd(diff1, r6));
		force2 = _mm_add_sd(force2,_mm_mul_sd(diff2, r6));
	}

	force1 = _mm_div_pd(force1, _mm_set1_pd(spotSp->mass));
	force2 = _mm_div_sd(force2, _mm_set1_pd(spotSp->mass));

	__m128d forcef = Length(force1, force2);

	if (forcef.m128d_f64[0] > 0)
	{
		double gate = 0.001f;
		double step = gate / forcef.m128d_f64[0];

		if (spotSp->process + step < 1)
		{
			spotSp->process += step;
		}
		else
		{
			step = 1 - spotSp->process;
			spotSp->process = 1;
		}

		__m128d stepd = _mm_set1_pd(step);

		spotSp->heading1 = _mm_add_pd(spotSp->heading1,_mm_mul_pd(force1,stepd));
		spotSp->heading2 = _mm_add_sd(spotSp->heading2,_mm_mul_sd(force2,stepd));

		spotSp->pos1 = _mm_add_pd(spotSp->pos1, _mm_mul_pd(spotSp->heading1,stepd));
		spotSp->pos2 = _mm_add_sd(spotSp->pos2, _mm_mul_sd(spotSp->heading2,stepd));
	}
	else
	{
		spotSp->pos1 = _mm_add_pd(spotSp->pos1, spotSp->heading1);
		spotSp->pos2 = _mm_add_sd(spotSp->pos2, spotSp->heading2);
		spotSp->process = 1;
	}
}
void exchsolution_gmrfData_1(unsigned int slot) {
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((!neighbor_isValid[0][0])) {
{
double xPos;
double yPos;
/* Statements in this Scop: S493, S492, S494 */
{
{
{
double* fieldData_Solution_GMRF_1_p1 = (&fieldData_Solution_GMRF[1][0]);
int i1 = 1;
for (; (i1<=2); i1 += 2) {
fieldData_Solution_GMRF_1_p1[((i1*6)+2)] = 0.000000e+00;
fieldData_Solution_GMRF_1_p1[((i1*6)+8)] = 0.000000e+00;
}
for (; (i1<=3); i1 += 1) {
fieldData_Solution_GMRF_1_p1[((i1*6)+2)] = 0.000000e+00;
}
}
{
int i1 = 1;
for (; (i1<(2&(~1))); i1 += 1) {
xPos = posBegin[0];
}
__m128d vec1 = _mm_set1_pd(xPos);
for (; (i1<1); i1 += 4) {
/* xPos = posBegin[0]; */
__m128d vec0 = _mm_load1_pd((&posBegin[0]));
__m128d vec0_2 = _mm_load1_pd((&posBegin[0]));
vec1 = vec0;
vec1 = vec0_2;
}
for (; (i1<4); i1 += 1) {
xPos = posBegin[0];
}
}
}
{
int i1 = 1;
for (; (i1<(2&(~1))); i1 += 1) {
yPos = ((((i1-1)/2.000000e+00)*(posEnd[1]-posBegin[1]))+posBegin[1]);
}
__m128d vec1 = _mm_set1_pd(1.000000e+00);
__m128d vec2 = _mm_set1_pd(2.000000e+00);
__m128d vec5 = _mm_set1_pd(yPos);
for (; (i1<1); i1 += 4) {
/* yPos = ((((i1-1)/2.000000e+00)*(posEnd[1]-posBegin[1]))+posBegin[1]); */
__m128d vec0 = _mm_set_pd(i1+1,i1);
__m128d vec0_2 = _mm_set_pd(i1+1,i1);
__m128d vec3 = _mm_load1_pd((&posEnd[1]));
__m128d vec3_2 = _mm_load1_pd((&posEnd[1]));
__m128d vec4 = _mm_load1_pd((&posBegin[1]));
__m128d vec4_2 = _mm_load1_pd((&posBegin[1]));
vec5 = _mm_add_pd(_mm_mul_pd(_mm_div_pd(_mm_sub_pd(vec0, vec1), vec2), _mm_sub_pd(vec3, vec4)), vec4);
vec5 = _mm_add_pd(_mm_mul_pd(_mm_div_pd(_mm_sub_pd(vec0_2, vec1), vec2), _mm_sub_pd(vec3_2, vec4_2)), vec4_2);
}
for (; (i1<4); i1 += 1) {
yPos = ((((i1-1)/2.000000e+00)*(posEnd[1]-posBegin[1]))+posBegin[1]);
}
}
}
}
}
if ((!neighbor_isValid[0][1])) {
{
double xPos;
double yPos;
/* Statements in this Scop: S496, S495, S497 */
{
{
{
double* fieldData_Solution_GMRF_1_p1 = (&fieldData_Solution_GMRF[1][0]);
int i1 = 1;
for (; (i1<=2); i1 += 2) {
fieldData_Solution_GMRF_1_p1[((i1*6)+4)] = 0.000000e+00;
fieldData_Solution_GMRF_1_p1[((i1*6)+10)] = 0.000000e+00;
}
for (; (i1<=3); i1 += 1) {
fieldData_Solution_GMRF_1_p1[((i1*6)+4)] = 0.000000e+00;
}
}
{
int i1 = 1;
for (; (i1<(2&(~1))); i1 += 1) {
xPos = posEnd[0];
}
__m128d vec1 = _mm_set1_pd(xPos);
for (; (i1<1); i1 += 4) {
/* xPos = posEnd[0]; */
__m128d vec0 = _mm_load1_pd((&posEnd[0]));
__m128d vec0_2 = _mm_load1_pd((&posEnd[0]));
vec1 = vec0;
vec1 = vec0_2;
}
for (; (i1<4); i1 += 1) {
xPos = posEnd[0];
}
}
}
{
int i1 = 1;
for (; (i1<(2&(~1))); i1 += 1) {
yPos = ((((i1-1)/2.000000e+00)*(posEnd[1]-posBegin[1]))+posBegin[1]);
}
__m128d vec1 = _mm_set1_pd(1.000000e+00);
__m128d vec2 = _mm_set1_pd(2.000000e+00);
__m128d vec5 = _mm_set1_pd(yPos);
for (; (i1<1); i1 += 4) {
/* yPos = ((((i1-1)/2.000000e+00)*(posEnd[1]-posBegin[1]))+posBegin[1]); */
__m128d vec0 = _mm_set_pd(i1+1,i1);
__m128d vec0_2 = _mm_set_pd(i1+1,i1);
__m128d vec3 = _mm_load1_pd((&posEnd[1]));
__m128d vec3_2 = _mm_load1_pd((&posEnd[1]));
__m128d vec4 = _mm_load1_pd((&posBegin[1]));
__m128d vec4_2 = _mm_load1_pd((&posBegin[1]));
vec5 = _mm_add_pd(_mm_mul_pd(_mm_div_pd(_mm_sub_pd(vec0, vec1), vec2), _mm_sub_pd(vec3, vec4)), vec4);
vec5 = _mm_add_pd(_mm_mul_pd(_mm_div_pd(_mm_sub_pd(vec0_2, vec1), vec2), _mm_sub_pd(vec3_2, vec4_2)), vec4_2);
}
for (; (i1<4); i1 += 1) {
yPos = ((((i1-1)/2.000000e+00)*(posEnd[1]-posBegin[1]))+posBegin[1]);
}
}
}
}
}
if ((!neighbor_isValid[0][2])) {
{
double xPos;
double yPos;
/* Statements in this Scop: S500, S499, S498 */
{
{
{
int i2 = 2;
for (; (i2<=3); i2 += 2) {
xPos = ((((i2-2)/2.000000e+00)*(posEnd[0]-posBegin[0]))+posBegin[0]);
xPos = ((((i2-1)/2.000000e+00)*(posEnd[0]-posBegin[0]))+posBegin[0]);
}
for (; (i2<=4); i2 += 1) {
xPos = ((((i2-2)/2.000000e+00)*(posEnd[0]-posBegin[0]))+posBegin[0]);
}
}
{
double* fieldData_Solution_GMRF_1_p1 = (&fieldData_Solution_GMRF[1][0]);
int i2 = 2;
for (; (i2<=3); i2 += 2) {
fieldData_Solution_GMRF_1_p1[(i2+6)] = 0.000000e+00;
fieldData_Solution_GMRF_1_p1[(i2+7)] = 0.000000e+00;
}
for (; (i2<=4); i2 += 1) {
fieldData_Solution_GMRF_1_p1[(i2+6)] = 0.000000e+00;
}
}
}
{
int i2 = 2;
for (; (i2<=3); i2 += 2) {
yPos = posBegin[1];
yPos = posBegin[1];
}
for (; (i2<=4); i2 += 1) {
yPos = posBegin[1];
}
}
}
}
}
if ((!neighbor_isValid[0][3])) {
{
double xPos;
double yPos;
/* Statements in this Scop: S503, S502, S501 */
{
{
{
int i2 = 2;
for (; (i2<=3); i2 += 2) {
xPos = ((((i2-2)/2.000000e+00)*(posEnd[0]-posBegin[0]))+posBegin[0]);
xPos = ((((i2-1)/2.000000e+00)*(posEnd[0]-posBegin[0]))+posBegin[0]);
}
for (; (i2<=4); i2 += 1) {
xPos = ((((i2-2)/2.000000e+00)*(posEnd[0]-posBegin[0]))+posBegin[0]);
}
}
{
int i2 = 2;
for (; (i2<=3); i2 += 2) {
yPos = posEnd[1];
yPos = posEnd[1];
}
for (; (i2<=4); i2 += 1) {
yPos = posEnd[1];
}
}
}
{
double* fieldData_Solution_GMRF_1_p1 = (&fieldData_Solution_GMRF[1][0]);
int i2 = 2;
for (; (i2<=3); i2 += 2) {
fieldData_Solution_GMRF_1_p1[(i2+18)] = 0.000000e+00;
fieldData_Solution_GMRF_1_p1[(i2+19)] = 0.000000e+00;
}
for (; (i2<=4); i2 += 1) {
fieldData_Solution_GMRF_1_p1[(i2+18)] = 0.000000e+00;
}
}
}
}
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
;
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((neighbor_isValid[0][1]&&neighbor_isRemote[0][1])) {
MPI_Isend(&fieldData_Solution_GMRF[1][10], 1, mpiDatatype_3_1_6, neighbor_remoteRank[0][1], ((unsigned int)commId << 16) + ((unsigned int)(neighbor_fragCommId[0][1]) & 0x0000ffff), mpiCommunicator, &mpiRequest_Send[1]);
reqOutstanding_Send[1] = true;
}
}
}
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((neighbor_isValid[0][0]&&neighbor_isRemote[0][0])) {
MPI_Irecv(&fieldData_Solution_GMRF[1][8], 1, mpiDatatype_3_1_6, neighbor_remoteRank[0][0], ((unsigned int)(neighbor_fragCommId[0][0]) << 16) + ((unsigned int)commId & 0x0000ffff), mpiCommunicator, &mpiRequest_Recv[0]);
reqOutstanding_Recv[0] = true;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if (reqOutstanding_Recv[0]) {
waitForMPIReq(&mpiRequest_Recv[0]);
reqOutstanding_Recv[0] = false;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
;
}
}
;
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if (reqOutstanding_Send[1]) {
waitForMPIReq(&mpiRequest_Send[1]);
reqOutstanding_Send[1] = false;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
;
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((neighbor_isValid[0][3]&&neighbor_isRemote[0][3])) {
MPI_Isend(&fieldData_Solution_GMRF[1][20], 1, mpiDatatype_1_3_6, neighbor_remoteRank[0][3], ((unsigned int)commId << 16) + ((unsigned int)(neighbor_fragCommId[0][3]) & 0x0000ffff), mpiCommunicator, &mpiRequest_Send[3]);
reqOutstanding_Send[3] = true;
}
}
}
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((neighbor_isValid[0][2]&&neighbor_isRemote[0][2])) {
MPI_Irecv(&fieldData_Solution_GMRF[1][8], 1, mpiDatatype_1_3_6, neighbor_remoteRank[0][2], ((unsigned int)(neighbor_fragCommId[0][2]) << 16) + ((unsigned int)commId & 0x0000ffff), mpiCommunicator, &mpiRequest_Recv[2]);
reqOutstanding_Recv[2] = true;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if (reqOutstanding_Recv[2]) {
waitForMPIReq(&mpiRequest_Recv[2]);
reqOutstanding_Recv[2] = false;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
;
}
}
;
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if (reqOutstanding_Send[3]) {
waitForMPIReq(&mpiRequest_Send[3]);
reqOutstanding_Send[3] = false;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
;
;
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((neighbor_isValid[0][0]&&neighbor_isRemote[0][0])) {
MPI_Isend(&fieldData_Solution_GMRF[1][3], 1, mpiDatatype_5_1_6, neighbor_remoteRank[0][0], ((unsigned int)commId << 16) + ((unsigned int)(neighbor_fragCommId[0][0]) & 0x0000ffff), mpiCommunicator, &mpiRequest_Send[0]);
reqOutstanding_Send[0] = true;
}
if ((neighbor_isValid[0][1]&&neighbor_isRemote[0][1])) {
MPI_Isend(&fieldData_Solution_GMRF[1][3], 1, mpiDatatype_5_1_6, neighbor_remoteRank[0][1], ((unsigned int)commId << 16) + ((unsigned int)(neighbor_fragCommId[0][1]) & 0x0000ffff), mpiCommunicator, &mpiRequest_Send[1]);
reqOutstanding_Send[1] = true;
}
}
}
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((neighbor_isValid[0][0]&&neighbor_isRemote[0][0])) {
MPI_Irecv(&fieldData_Solution_GMRF[1][1], 1, mpiDatatype_5_1_6, neighbor_remoteRank[0][0], ((unsigned int)(neighbor_fragCommId[0][0]) << 16) + ((unsigned int)commId & 0x0000ffff), mpiCommunicator, &mpiRequest_Recv[0]);
reqOutstanding_Recv[0] = true;
}
if ((neighbor_isValid[0][1]&&neighbor_isRemote[0][1])) {
MPI_Irecv(&fieldData_Solution_GMRF[1][5], 1, mpiDatatype_5_1_6, neighbor_remoteRank[0][1], ((unsigned int)(neighbor_fragCommId[0][1]) << 16) + ((unsigned int)commId & 0x0000ffff), mpiCommunicator, &mpiRequest_Recv[1]);
reqOutstanding_Recv[1] = true;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if (reqOutstanding_Recv[0]) {
waitForMPIReq(&mpiRequest_Recv[0]);
reqOutstanding_Recv[0] = false;
}
if (reqOutstanding_Recv[1]) {
waitForMPIReq(&mpiRequest_Recv[1]);
reqOutstanding_Recv[1] = false;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
;
;
}
}
;
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if (reqOutstanding_Send[0]) {
waitForMPIReq(&mpiRequest_Send[0]);
reqOutstanding_Send[0] = false;
}
if (reqOutstanding_Send[1]) {
waitForMPIReq(&mpiRequest_Send[1]);
reqOutstanding_Send[1] = false;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
;
;
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((neighbor_isValid[0][2]&&neighbor_isRemote[0][2])) {
MPI_Isend(&fieldData_Solution_GMRF[1][13], 1, mpiDatatype_1_5_6, neighbor_remoteRank[0][2], ((unsigned int)commId << 16) + ((unsigned int)(neighbor_fragCommId[0][2]) & 0x0000ffff), mpiCommunicator, &mpiRequest_Send[2]);
reqOutstanding_Send[2] = true;
}
if ((neighbor_isValid[0][3]&&neighbor_isRemote[0][3])) {
MPI_Isend(&fieldData_Solution_GMRF[1][13], 1, mpiDatatype_1_5_6, neighbor_remoteRank[0][3], ((unsigned int)commId << 16) + ((unsigned int)(neighbor_fragCommId[0][3]) & 0x0000ffff), mpiCommunicator, &mpiRequest_Send[3]);
reqOutstanding_Send[3] = true;
}
}
}
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if ((neighbor_isValid[0][2]&&neighbor_isRemote[0][2])) {
MPI_Irecv(&fieldData_Solution_GMRF[1][1], 1, mpiDatatype_1_5_6, neighbor_remoteRank[0][2], ((unsigned int)(neighbor_fragCommId[0][2]) << 16) + ((unsigned int)commId & 0x0000ffff), mpiCommunicator, &mpiRequest_Recv[2]);
reqOutstanding_Recv[2] = true;
}
if ((neighbor_isValid[0][3]&&neighbor_isRemote[0][3])) {
MPI_Irecv(&fieldData_Solution_GMRF[1][25], 1, mpiDatatype_1_5_6, neighbor_remoteRank[0][3], ((unsigned int)(neighbor_fragCommId[0][3]) << 16) + ((unsigned int)commId & 0x0000ffff), mpiCommunicator, &mpiRequest_Recv[3]);
reqOutstanding_Recv[3] = true;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if (reqOutstanding_Recv[2]) {
waitForMPIReq(&mpiRequest_Recv[2]);
reqOutstanding_Recv[2] = false;
}
if (reqOutstanding_Recv[3]) {
waitForMPIReq(&mpiRequest_Recv[3]);
reqOutstanding_Recv[3] = false;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
;
;
}
}
;
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[0]) {
if (reqOutstanding_Send[2]) {
waitForMPIReq(&mpiRequest_Send[2]);
reqOutstanding_Send[2] = false;
}
if (reqOutstanding_Send[3]) {
waitForMPIReq(&mpiRequest_Send[3]);
reqOutstanding_Send[3] = false;
}
}
}
}
void exchlaplacecoeffData_7(unsigned int slot) {
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if ((!neighbor_isValid[1][0])) {
{
double xPos;
double yPos;
/* Statements in this Scop: S956, S958, S952, S955, S960, S954, S957, S951, S959, S950, S953 */
{
{
{
{
{
{
{
{
{
{
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i1 = 1;
for (; (i1<=128); i1 += 2) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+138338)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[((i1*132)+138470)] = 0.000000e+00;
}
for (; (i1<=129); i1 += 1) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+138338)] = 0.000000e+00;
}
}
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i1 = 1;
for (; (i1<=128); i1 += 2) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+34586)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[((i1*132)+34718)] = 0.000000e+00;
}
for (; (i1<=129); i1 += 1) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+34586)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i1 = 1;
for (; (i1<=128); i1 += 2) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+103754)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[((i1*132)+103886)] = 0.000000e+00;
}
for (; (i1<=129); i1 += 1) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+103754)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i1 = 1;
for (; (i1<=128); i1 += 2) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+2)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[((i1*132)+134)] = 0.000000e+00;
}
for (; (i1<=129); i1 += 1) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+2)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i1 = 1;
for (; (i1<=128); i1 += 2) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+69170)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[((i1*132)+69302)] = 0.000000e+00;
}
for (; (i1<=129); i1 += 1) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+69170)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i1 = 1;
for (; (i1<=128); i1 += 2) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+121046)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[((i1*132)+121178)] = 0.000000e+00;
}
for (; (i1<=129); i1 += 1) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+121046)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i1 = 1;
for (; (i1<=128); i1 += 2) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+51878)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[((i1*132)+52010)] = 0.000000e+00;
}
for (; (i1<=129); i1 += 1) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+51878)] = 0.000000e+00;
}
}
}
{
int i1 = 1;
for (; (i1<(2&(~1))); i1 += 1) {
xPos = posBegin[0];
}
__m128d vec1 = _mm_set1_pd(xPos);
for (; (i1<127); i1 += 4) {
/* xPos = posBegin[0]; */
__m128d vec0 = _mm_load1_pd((&posBegin[0]));
__m128d vec0_2 = _mm_load1_pd((&posBegin[0]));
vec1 = vec0;
vec1 = vec0_2;
}
for (; (i1<130); i1 += 1) {
xPos = posBegin[0];
}
}
}
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i1 = 1;
for (; (i1<=128); i1 += 2) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+86462)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[((i1*132)+86594)] = 0.000000e+00;
}
for (; (i1<=129); i1 += 1) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+86462)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i1 = 1;
for (; (i1<=128); i1 += 2) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+17294)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[((i1*132)+17426)] = 0.000000e+00;
}
for (; (i1<=129); i1 += 1) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+17294)] = 0.000000e+00;
}
}
}
{
int i1 = 1;
for (; (i1<(2&(~1))); i1 += 1) {
yPos = ((((i1-1)/1.280000e+02)*(posEnd[1]-posBegin[1]))+posBegin[1]);
}
__m128d vec1 = _mm_set1_pd(1.000000e+00);
__m128d vec2 = _mm_set1_pd(1.280000e+02);
__m128d vec5 = _mm_set1_pd(yPos);
for (; (i1<127); i1 += 4) {
/* yPos = ((((i1-1)/1.280000e+02)*(posEnd[1]-posBegin[1]))+posBegin[1]); */
__m128d vec0 = _mm_set_pd(i1+1,i1);
__m128d vec0_2 = _mm_set_pd(i1+1,i1);
__m128d vec3 = _mm_load1_pd((&posEnd[1]));
__m128d vec3_2 = _mm_load1_pd((&posEnd[1]));
__m128d vec4 = _mm_load1_pd((&posBegin[1]));
__m128d vec4_2 = _mm_load1_pd((&posBegin[1]));
vec5 = _mm_add_pd(_mm_mul_pd(_mm_div_pd(_mm_sub_pd(vec0, vec1), vec2), _mm_sub_pd(vec3, vec4)), vec4);
vec5 = _mm_add_pd(_mm_mul_pd(_mm_div_pd(_mm_sub_pd(vec0_2, vec1), vec2), _mm_sub_pd(vec3_2, vec4_2)), vec4_2);
}
for (; (i1<130); i1 += 1) {
yPos = ((((i1-1)/1.280000e+02)*(posEnd[1]-posBegin[1]))+posBegin[1]);
}
}
}
}
}
if ((!neighbor_isValid[1][1])) {
{
double xPos;
double yPos;
/* Statements in this Scop: S962, S961, S970, S964, S967, S966, S969, S963, S971, S965, S968 */
{
{
{
{
{
{
{
{
{
{
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i1 = 1;
for (; (i1<=128); i1 += 2) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+121174)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[((i1*132)+121306)] = 0.000000e+00;
}
for (; (i1<=129); i1 += 1) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+121174)] = 0.000000e+00;
}
}
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i1 = 1;
for (; (i1<=128); i1 += 2) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+138466)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[((i1*132)+138598)] = 0.000000e+00;
}
for (; (i1<=129); i1 += 1) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+138466)] = 0.000000e+00;
}
}
}
{
int i1 = 1;
for (; (i1<(2&(~1))); i1 += 1) {
yPos = ((((i1-1)/1.280000e+02)*(posEnd[1]-posBegin[1]))+posBegin[1]);
}
__m128d vec1 = _mm_set1_pd(1.000000e+00);
__m128d vec2 = _mm_set1_pd(1.280000e+02);
__m128d vec5 = _mm_set1_pd(yPos);
for (; (i1<127); i1 += 4) {
/* yPos = ((((i1-1)/1.280000e+02)*(posEnd[1]-posBegin[1]))+posBegin[1]); */
__m128d vec0 = _mm_set_pd(i1+1,i1);
__m128d vec0_2 = _mm_set_pd(i1+1,i1);
__m128d vec3 = _mm_load1_pd((&posEnd[1]));
__m128d vec3_2 = _mm_load1_pd((&posEnd[1]));
__m128d vec4 = _mm_load1_pd((&posBegin[1]));
__m128d vec4_2 = _mm_load1_pd((&posBegin[1]));
vec5 = _mm_add_pd(_mm_mul_pd(_mm_div_pd(_mm_sub_pd(vec0, vec1), vec2), _mm_sub_pd(vec3, vec4)), vec4);
vec5 = _mm_add_pd(_mm_mul_pd(_mm_div_pd(_mm_sub_pd(vec0_2, vec1), vec2), _mm_sub_pd(vec3_2, vec4_2)), vec4_2);
}
for (; (i1<130); i1 += 1) {
yPos = ((((i1-1)/1.280000e+02)*(posEnd[1]-posBegin[1]))+posBegin[1]);
}
}
}
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i1 = 1;
for (; (i1<=128); i1 += 2) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+103882)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[((i1*132)+104014)] = 0.000000e+00;
}
for (; (i1<=129); i1 += 1) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+103882)] = 0.000000e+00;
}
}
}
{
int i1 = 1;
for (; (i1<(2&(~1))); i1 += 1) {
xPos = posEnd[0];
}
__m128d vec1 = _mm_set1_pd(xPos);
for (; (i1<127); i1 += 4) {
/* xPos = posEnd[0]; */
__m128d vec0 = _mm_load1_pd((&posEnd[0]));
__m128d vec0_2 = _mm_load1_pd((&posEnd[0]));
vec1 = vec0;
vec1 = vec0_2;
}
for (; (i1<130); i1 += 1) {
xPos = posEnd[0];
}
}
}
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i1 = 1;
for (; (i1<=128); i1 += 2) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+130)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[((i1*132)+262)] = 0.000000e+00;
}
for (; (i1<=129); i1 += 1) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+130)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i1 = 1;
for (; (i1<=128); i1 += 2) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+69298)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[((i1*132)+69430)] = 0.000000e+00;
}
for (; (i1<=129); i1 += 1) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+69298)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i1 = 1;
for (; (i1<=128); i1 += 2) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+52006)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[((i1*132)+52138)] = 0.000000e+00;
}
for (; (i1<=129); i1 += 1) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+52006)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i1 = 1;
for (; (i1<=128); i1 += 2) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+86590)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[((i1*132)+86722)] = 0.000000e+00;
}
for (; (i1<=129); i1 += 1) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+86590)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i1 = 1;
for (; (i1<=128); i1 += 2) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+34714)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[((i1*132)+34846)] = 0.000000e+00;
}
for (; (i1<=129); i1 += 1) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+34714)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i1 = 1;
for (; (i1<=128); i1 += 2) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+17422)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[((i1*132)+17554)] = 0.000000e+00;
}
for (; (i1<=129); i1 += 1) {
fieldData_LaplaceCoeff_7_p1[((i1*132)+17422)] = 0.000000e+00;
}
}
}
}
}
if ((!neighbor_isValid[1][2])) {
{
double xPos;
double yPos;
/* Statements in this Scop: S982, S976, S979, S973, S972, S981, S975, S978, S977, S980, S974 */
{
{
{
{
{
{
{
{
{
{
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i2 = 2;
for (; (i2<=129); i2 += 2) {
fieldData_LaplaceCoeff_7_p1[(i2+138468)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[(i2+138469)] = 0.000000e+00;
}
for (; (i2<=130); i2 += 1) {
fieldData_LaplaceCoeff_7_p1[(i2+138468)] = 0.000000e+00;
}
}
{
int i2 = 2;
for (; (i2<=129); i2 += 2) {
xPos = ((((i2-2)/1.280000e+02)*(posEnd[0]-posBegin[0]))+posBegin[0]);
xPos = ((((i2-1)/1.280000e+02)*(posEnd[0]-posBegin[0]))+posBegin[0]);
}
for (; (i2<=130); i2 += 1) {
xPos = ((((i2-2)/1.280000e+02)*(posEnd[0]-posBegin[0]))+posBegin[0]);
}
}
}
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i2 = 2;
for (; (i2<=129); i2 += 2) {
fieldData_LaplaceCoeff_7_p1[(i2+34716)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[(i2+34717)] = 0.000000e+00;
}
for (; (i2<=130); i2 += 1) {
fieldData_LaplaceCoeff_7_p1[(i2+34716)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i2 = 2;
for (; (i2<=129); i2 += 2) {
fieldData_LaplaceCoeff_7_p1[(i2+17424)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[(i2+17425)] = 0.000000e+00;
}
for (; (i2<=130); i2 += 1) {
fieldData_LaplaceCoeff_7_p1[(i2+17424)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i2 = 2;
for (; (i2<=129); i2 += 2) {
fieldData_LaplaceCoeff_7_p1[(i2+132)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[(i2+133)] = 0.000000e+00;
}
for (; (i2<=130); i2 += 1) {
fieldData_LaplaceCoeff_7_p1[(i2+132)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i2 = 2;
for (; (i2<=129); i2 += 2) {
fieldData_LaplaceCoeff_7_p1[(i2+86592)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[(i2+86593)] = 0.000000e+00;
}
for (; (i2<=130); i2 += 1) {
fieldData_LaplaceCoeff_7_p1[(i2+86592)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i2 = 2;
for (; (i2<=129); i2 += 2) {
fieldData_LaplaceCoeff_7_p1[(i2+52008)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[(i2+52009)] = 0.000000e+00;
}
for (; (i2<=130); i2 += 1) {
fieldData_LaplaceCoeff_7_p1[(i2+52008)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i2 = 2;
for (; (i2<=129); i2 += 2) {
fieldData_LaplaceCoeff_7_p1[(i2+103884)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[(i2+103885)] = 0.000000e+00;
}
for (; (i2<=130); i2 += 1) {
fieldData_LaplaceCoeff_7_p1[(i2+103884)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i2 = 2;
for (; (i2<=129); i2 += 2) {
fieldData_LaplaceCoeff_7_p1[(i2+121176)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[(i2+121177)] = 0.000000e+00;
}
for (; (i2<=130); i2 += 1) {
fieldData_LaplaceCoeff_7_p1[(i2+121176)] = 0.000000e+00;
}
}
}
{
int i2 = 2;
for (; (i2<=129); i2 += 2) {
yPos = posBegin[1];
yPos = posBegin[1];
}
for (; (i2<=130); i2 += 1) {
yPos = posBegin[1];
}
}
}
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i2 = 2;
for (; (i2<=129); i2 += 2) {
fieldData_LaplaceCoeff_7_p1[(i2+69300)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[(i2+69301)] = 0.000000e+00;
}
for (; (i2<=130); i2 += 1) {
fieldData_LaplaceCoeff_7_p1[(i2+69300)] = 0.000000e+00;
}
}
}
}
}
if ((!neighbor_isValid[1][3])) {
{
double xPos;
double yPos;
/* Statements in this Scop: S988, S991, S985, S990, S984, S993, S987, S983, S992, S986, S989 */
{
{
{
{
{
{
{
{
{
{
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i2 = 2;
for (; (i2<=129); i2 += 2) {
fieldData_LaplaceCoeff_7_p1[(i2+138072)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[(i2+138073)] = 0.000000e+00;
}
for (; (i2<=130); i2 += 1) {
fieldData_LaplaceCoeff_7_p1[(i2+138072)] = 0.000000e+00;
}
}
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i2 = 2;
for (; (i2<=129); i2 += 2) {
fieldData_LaplaceCoeff_7_p1[(i2+34320)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[(i2+34321)] = 0.000000e+00;
}
for (; (i2<=130); i2 += 1) {
fieldData_LaplaceCoeff_7_p1[(i2+34320)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i2 = 2;
for (; (i2<=129); i2 += 2) {
fieldData_LaplaceCoeff_7_p1[(i2+155364)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[(i2+155365)] = 0.000000e+00;
}
for (; (i2<=130); i2 += 1) {
fieldData_LaplaceCoeff_7_p1[(i2+155364)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i2 = 2;
for (; (i2<=129); i2 += 2) {
fieldData_LaplaceCoeff_7_p1[(i2+51612)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[(i2+51613)] = 0.000000e+00;
}
for (; (i2<=130); i2 += 1) {
fieldData_LaplaceCoeff_7_p1[(i2+51612)] = 0.000000e+00;
}
}
}
{
int i2 = 2;
for (; (i2<=129); i2 += 2) {
yPos = posEnd[1];
yPos = posEnd[1];
}
for (; (i2<=130); i2 += 1) {
yPos = posEnd[1];
}
}
}
{
int i2 = 2;
for (; (i2<=129); i2 += 2) {
xPos = ((((i2-2)/1.280000e+02)*(posEnd[0]-posBegin[0]))+posBegin[0]);
xPos = ((((i2-1)/1.280000e+02)*(posEnd[0]-posBegin[0]))+posBegin[0]);
}
for (; (i2<=130); i2 += 1) {
xPos = ((((i2-2)/1.280000e+02)*(posEnd[0]-posBegin[0]))+posBegin[0]);
}
}
}
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i2 = 2;
for (; (i2<=129); i2 += 2) {
fieldData_LaplaceCoeff_7_p1[(i2+103488)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[(i2+103489)] = 0.000000e+00;
}
for (; (i2<=130); i2 += 1) {
fieldData_LaplaceCoeff_7_p1[(i2+103488)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i2 = 2;
for (; (i2<=129); i2 += 2) {
fieldData_LaplaceCoeff_7_p1[(i2+68904)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[(i2+68905)] = 0.000000e+00;
}
for (; (i2<=130); i2 += 1) {
fieldData_LaplaceCoeff_7_p1[(i2+68904)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i2 = 2;
for (; (i2<=129); i2 += 2) {
fieldData_LaplaceCoeff_7_p1[(i2+17028)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[(i2+17029)] = 0.000000e+00;
}
for (; (i2<=130); i2 += 1) {
fieldData_LaplaceCoeff_7_p1[(i2+17028)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i2 = 2;
for (; (i2<=129); i2 += 2) {
fieldData_LaplaceCoeff_7_p1[(i2+120780)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[(i2+120781)] = 0.000000e+00;
}
for (; (i2<=130); i2 += 1) {
fieldData_LaplaceCoeff_7_p1[(i2+120780)] = 0.000000e+00;
}
}
}
{
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][0]);
int i2 = 2;
for (; (i2<=129); i2 += 2) {
fieldData_LaplaceCoeff_7_p1[(i2+86196)] = 0.000000e+00;
fieldData_LaplaceCoeff_7_p1[(i2+86197)] = 0.000000e+00;
}
for (; (i2<=130); i2 += 1) {
fieldData_LaplaceCoeff_7_p1[(i2+86196)] = 0.000000e+00;
}
}
}
}
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if ((neighbor_isValid[1][1]&&neighbor_isRemote[1][1])) {
/* Statements in this Scop: S994 */
for (int i3 = 0; (i3<=8); i3 += 1) {
double* buffer_Send_1_p1 = (&buffer_Send[1][(i3*129)]);
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][(i3*17292)]);
int i4 = 1;
for (; (i4<=128); i4 += 2) {
buffer_Send_1_p1[(i4-1)] = fieldData_LaplaceCoeff_7_p1[((i4*132)+130)];
buffer_Send_1_p1[i4] = fieldData_LaplaceCoeff_7_p1[((i4*132)+262)];
}
for (; (i4<=129); i4 += 1) {
buffer_Send_1_p1[(i4-1)] = fieldData_LaplaceCoeff_7_p1[((i4*132)+130)];
}
}
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if ((neighbor_isValid[1][1]&&neighbor_isRemote[1][1])) {
MPI_Isend(buffer_Send[1], 1161, MPI_DOUBLE, neighbor_remoteRank[1][1], ((unsigned int)commId << 16) + ((unsigned int)(neighbor_fragCommId[1][1]) & 0x0000ffff), mpiCommunicator, &mpiRequest_Send[1]);
reqOutstanding_Send[1] = true;
}
}
}
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if ((neighbor_isValid[1][0]&&neighbor_isRemote[1][0])) {
MPI_Irecv(buffer_Recv[0], 1161, MPI_DOUBLE, neighbor_remoteRank[1][0], ((unsigned int)(neighbor_fragCommId[1][0]) << 16) + ((unsigned int)commId & 0x0000ffff), mpiCommunicator, &mpiRequest_Recv[0]);
reqOutstanding_Recv[0] = true;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if (reqOutstanding_Recv[0]) {
waitForMPIReq(&mpiRequest_Recv[0]);
reqOutstanding_Recv[0] = false;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if ((neighbor_isValid[1][0]&&neighbor_isRemote[1][0])) {
/* Statements in this Scop: S995 */
for (int i3 = 0; (i3<=8); i3 += 1) {
double* buffer_Recv_0_p1 = (&buffer_Recv[0][(i3*129)]);
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][(i3*17292)]);
int i4 = 3;
for (; (i4<=130); i4 += 2) {
fieldData_LaplaceCoeff_7_p1[((i4*132)-262)] = buffer_Recv_0_p1[(i4-3)];
fieldData_LaplaceCoeff_7_p1[((i4*132)-130)] = buffer_Recv_0_p1[(i4-2)];
}
for (; (i4<=131); i4 += 1) {
fieldData_LaplaceCoeff_7_p1[((i4*132)-262)] = buffer_Recv_0_p1[(i4-3)];
}
}
}
}
}
;
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if (reqOutstanding_Send[1]) {
waitForMPIReq(&mpiRequest_Send[1]);
reqOutstanding_Send[1] = false;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
;
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if ((neighbor_isValid[1][3]&&neighbor_isRemote[1][3])) {
MPI_Isend(&fieldData_LaplaceCoeff[7][17030], 1, mpiDatatype_9_129_17292, neighbor_remoteRank[1][3], ((unsigned int)commId << 16) + ((unsigned int)(neighbor_fragCommId[1][3]) & 0x0000ffff), mpiCommunicator, &mpiRequest_Send[3]);
reqOutstanding_Send[3] = true;
}
}
}
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if ((neighbor_isValid[1][2]&&neighbor_isRemote[1][2])) {
MPI_Irecv(&fieldData_LaplaceCoeff[7][134], 1, mpiDatatype_9_129_17292, neighbor_remoteRank[1][2], ((unsigned int)(neighbor_fragCommId[1][2]) << 16) + ((unsigned int)commId & 0x0000ffff), mpiCommunicator, &mpiRequest_Recv[2]);
reqOutstanding_Recv[2] = true;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if (reqOutstanding_Recv[2]) {
waitForMPIReq(&mpiRequest_Recv[2]);
reqOutstanding_Recv[2] = false;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
;
}
}
;
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if (reqOutstanding_Send[3]) {
waitForMPIReq(&mpiRequest_Send[3]);
reqOutstanding_Send[3] = false;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if ((neighbor_isValid[1][0]&&neighbor_isRemote[1][0])) {
/* Statements in this Scop: S996 */
for (int i3 = 0; (i3<=8); i3 += 1) {
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][(i3*17292)]);
double* buffer_Send_0_p1 = (&buffer_Send[0][(i3*131)]);
int i4 = 0;
for (; (i4<=129); i4 += 2) {
buffer_Send_0_p1[i4] = fieldData_LaplaceCoeff_7_p1[((i4*132)+3)];
buffer_Send_0_p1[(i4+1)] = fieldData_LaplaceCoeff_7_p1[((i4*132)+135)];
}
for (; (i4<=130); i4 += 1) {
buffer_Send_0_p1[i4] = fieldData_LaplaceCoeff_7_p1[((i4*132)+3)];
}
}
}
if ((neighbor_isValid[1][1]&&neighbor_isRemote[1][1])) {
/* Statements in this Scop: S997 */
for (int i3 = 0; (i3<=8); i3 += 1) {
double* buffer_Send_1_p1 = (&buffer_Send[1][(i3*131)]);
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][(i3*17292)]);
int i4 = 0;
for (; (i4<=129); i4 += 2) {
buffer_Send_1_p1[i4] = fieldData_LaplaceCoeff_7_p1[((i4*132)+129)];
buffer_Send_1_p1[(i4+1)] = fieldData_LaplaceCoeff_7_p1[((i4*132)+261)];
}
for (; (i4<=130); i4 += 1) {
buffer_Send_1_p1[i4] = fieldData_LaplaceCoeff_7_p1[((i4*132)+129)];
}
}
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if ((neighbor_isValid[1][0]&&neighbor_isRemote[1][0])) {
MPI_Isend(buffer_Send[0], 1179, MPI_DOUBLE, neighbor_remoteRank[1][0], ((unsigned int)commId << 16) + ((unsigned int)(neighbor_fragCommId[1][0]) & 0x0000ffff), mpiCommunicator, &mpiRequest_Send[0]);
reqOutstanding_Send[0] = true;
}
if ((neighbor_isValid[1][1]&&neighbor_isRemote[1][1])) {
MPI_Isend(buffer_Send[1], 1179, MPI_DOUBLE, neighbor_remoteRank[1][1], ((unsigned int)commId << 16) + ((unsigned int)(neighbor_fragCommId[1][1]) & 0x0000ffff), mpiCommunicator, &mpiRequest_Send[1]);
reqOutstanding_Send[1] = true;
}
}
}
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if ((neighbor_isValid[1][0]&&neighbor_isRemote[1][0])) {
MPI_Irecv(buffer_Recv[0], 1179, MPI_DOUBLE, neighbor_remoteRank[1][0], ((unsigned int)(neighbor_fragCommId[1][0]) << 16) + ((unsigned int)commId & 0x0000ffff), mpiCommunicator, &mpiRequest_Recv[0]);
reqOutstanding_Recv[0] = true;
}
if ((neighbor_isValid[1][1]&&neighbor_isRemote[1][1])) {
MPI_Irecv(buffer_Recv[1], 1179, MPI_DOUBLE, neighbor_remoteRank[1][1], ((unsigned int)(neighbor_fragCommId[1][1]) << 16) + ((unsigned int)commId & 0x0000ffff), mpiCommunicator, &mpiRequest_Recv[1]);
reqOutstanding_Recv[1] = true;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if (reqOutstanding_Recv[0]) {
waitForMPIReq(&mpiRequest_Recv[0]);
reqOutstanding_Recv[0] = false;
}
if (reqOutstanding_Recv[1]) {
waitForMPIReq(&mpiRequest_Recv[1]);
reqOutstanding_Recv[1] = false;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if ((neighbor_isValid[1][0]&&neighbor_isRemote[1][0])) {
/* Statements in this Scop: S998 */
for (int i3 = 0; (i3<=8); i3 += 1) {
double* buffer_Recv_0_p1 = (&buffer_Recv[0][(i3*131)]);
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][(i3*17292)]);
int i4 = 1;
for (; (i4<=130); i4 += 2) {
fieldData_LaplaceCoeff_7_p1[((i4*132)-131)] = buffer_Recv_0_p1[(i4-1)];
fieldData_LaplaceCoeff_7_p1[((i4*132)+1)] = buffer_Recv_0_p1[i4];
}
for (; (i4<=131); i4 += 1) {
fieldData_LaplaceCoeff_7_p1[((i4*132)-131)] = buffer_Recv_0_p1[(i4-1)];
}
}
}
if ((neighbor_isValid[1][1]&&neighbor_isRemote[1][1])) {
/* Statements in this Scop: S999 */
for (int i3 = 0; (i3<=8); i3 += 1) {
double* buffer_Recv_1_p1 = (&buffer_Recv[1][(i3*131)]);
double* fieldData_LaplaceCoeff_7_p1 = (&fieldData_LaplaceCoeff[7][(i3*17292)]);
int i4 = 131;
for (; (i4<=260); i4 += 2) {
fieldData_LaplaceCoeff_7_p1[((i4*132)-17161)] = buffer_Recv_1_p1[(i4-131)];
fieldData_LaplaceCoeff_7_p1[((i4*132)-17029)] = buffer_Recv_1_p1[(i4-130)];
}
for (; (i4<=261); i4 += 1) {
fieldData_LaplaceCoeff_7_p1[((i4*132)-17161)] = buffer_Recv_1_p1[(i4-131)];
}
}
}
}
}
;
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if (reqOutstanding_Send[0]) {
waitForMPIReq(&mpiRequest_Send[0]);
reqOutstanding_Send[0] = false;
}
if (reqOutstanding_Send[1]) {
waitForMPIReq(&mpiRequest_Send[1]);
reqOutstanding_Send[1] = false;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
;
;
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if ((neighbor_isValid[1][2]&&neighbor_isRemote[1][2])) {
MPI_Isend(&fieldData_LaplaceCoeff[7][265], 1, mpiDatatype_9_131_17292, neighbor_remoteRank[1][2], ((unsigned int)commId << 16) + ((unsigned int)(neighbor_fragCommId[1][2]) & 0x0000ffff), mpiCommunicator, &mpiRequest_Send[2]);
reqOutstanding_Send[2] = true;
}
if ((neighbor_isValid[1][3]&&neighbor_isRemote[1][3])) {
MPI_Isend(&fieldData_LaplaceCoeff[7][16897], 1, mpiDatatype_9_131_17292, neighbor_remoteRank[1][3], ((unsigned int)commId << 16) + ((unsigned int)(neighbor_fragCommId[1][3]) & 0x0000ffff), mpiCommunicator, &mpiRequest_Send[3]);
reqOutstanding_Send[3] = true;
}
}
}
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if ((neighbor_isValid[1][2]&&neighbor_isRemote[1][2])) {
MPI_Irecv(&fieldData_LaplaceCoeff[7][1], 1, mpiDatatype_9_131_17292, neighbor_remoteRank[1][2], ((unsigned int)(neighbor_fragCommId[1][2]) << 16) + ((unsigned int)commId & 0x0000ffff), mpiCommunicator, &mpiRequest_Recv[2]);
reqOutstanding_Recv[2] = true;
}
if ((neighbor_isValid[1][3]&&neighbor_isRemote[1][3])) {
MPI_Irecv(&fieldData_LaplaceCoeff[7][17161], 1, mpiDatatype_9_131_17292, neighbor_remoteRank[1][3], ((unsigned int)(neighbor_fragCommId[1][3]) << 16) + ((unsigned int)commId & 0x0000ffff), mpiCommunicator, &mpiRequest_Recv[3]);
reqOutstanding_Recv[3] = true;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if (reqOutstanding_Recv[2]) {
waitForMPIReq(&mpiRequest_Recv[2]);
reqOutstanding_Recv[2] = false;
}
if (reqOutstanding_Recv[3]) {
waitForMPIReq(&mpiRequest_Recv[3]);
reqOutstanding_Recv[3] = false;
}
}
}
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
;
;
}
}
;
;
for (int fragmentIdx = 0; fragmentIdx < 1; ++fragmentIdx) {
if (isValidForSubdomain[1]) {
if (reqOutstanding_Send[2]) {
waitForMPIReq(&mpiRequest_Send[2]);
reqOutstanding_Send[2] = false;
}
if (reqOutstanding_Send[3]) {
waitForMPIReq(&mpiRequest_Send[3]);
reqOutstanding_Send[3] = false;
}
}
}
}