1/* Generated from ../../../git/cloog/test/vivien2.cloog by CLooG 0.14.0-76-gef19709 gmp bits in 0.58s. */ 2extern void hash(int); 3 4/* Useful macros. */ 5#define floord(n,d) (((n)<0) ? -((-(n)+(d)-1)/(d)) : (n)/(d)) 6#define ceild(n,d) (((n)<0) ? -((-(n))/(d)) : ((n)+(d)-1)/(d)) 7#define max(x,y) ((x) > (y) ? (x) : (y)) 8#define min(x,y) ((x) < (y) ? (x) : (y)) 9 10#define S1(i) { hash(1); hash(i); } 11#define S2(i,j) { hash(2); hash(i); hash(j); } 12#define S3(i) { hash(3); hash(i); } 13#define S4(i,j) { hash(4); hash(i); hash(j); } 14#define S5(i,j,k) { hash(5); hash(i); hash(j); hash(k); } 15#define S6(i,j) { hash(6); hash(i); hash(j); } 16 17void test(int n) 18{ 19 /* Scattering iterators. */ 20 int p1, p2, p3; 21 /* Original iterators. */ 22 int i, j, k; 23 for (p1=-54*n+4;p1<=4;p1++) { 24 if (p1%2 == 0) { 25 i = (p1-2)/2 ; 26 S1((p1-2)/2) ; 27 } 28 } 29 S3(1) ; 30 S4(1,2) ; 31 S1(2) ; 32 S6(1,2) ; 33 for (p1=7;p1<=9;p1++) { 34 for (p2=ceild(-p1+2,4);p2<=-1;p2++) { 35 if (p1%2 == 0) { 36 j = (p1+2*p2)/2 ; 37 S4(-p2,(p1+2*p2)/2) ; 38 } 39 } 40 if ((p1+3)%4 == 0) { 41 i = (p1-1)/4 ; 42 S3((p1-1)/4) ; 43 } 44 if (p1%2 == 0) { 45 i = (p1-2)/2 ; 46 S1((p1-2)/2) ; 47 } 48 if (p1%2 == 0) { 49 j = (p1-2)/2 ; 50 S6(1,(p1-2)/2) ; 51 } 52 if ((p1+1)%2 == 0) { 53 i = (p1-3)/2 ; 54 S2((p1-3)/2,1) ; 55 } 56 } 57 S4(2,3) ; 58 S4(1,4) ; 59 S5(2,3,1) ; 60 S6(2,3) ; 61 S1(4) ; 62 S6(1,4) ; 63 for (p1=11;p1<=12;p1++) { 64 p2 = floord(-p1+5,4) ; 65 if (p1%2 == 0) { 66 j = (p1+2*p2)/2 ; 67 S4(-p2,(p1+2*p2)/2) ; 68 } 69 for (p2=ceild(-p1+6,4);p2<=-1;p2++) { 70 if (p1%2 == 0) { 71 j = (p1+2*p2)/2 ; 72 S4(-p2,(p1+2*p2)/2) ; 73 } 74 for (p3=1;p3<=-p2;p3++) { 75 i = -p2+1 ; 76 if (p1%2 == 0) { 77 j = (p1+2*p2-2)/2 ; 78 S5(-p2+1,(p1+2*p2-2)/2,p3) ; 79 } 80 } 81 } 82 if (p1%2 == 0) { 83 j = (p1-4)/2 ; 84 S6(2,(p1-4)/2) ; 85 } 86 if (p1%2 == 0) { 87 i = (p1-2)/2 ; 88 S1((p1-2)/2) ; 89 } 90 if (p1%2 == 0) { 91 j = (p1-2)/2 ; 92 S6(1,(p1-2)/2) ; 93 } 94 if ((p1+1)%2 == 0) { 95 i = (p1-3)/2 ; 96 S2((p1-3)/2,1) ; 97 } 98 for (p2=2;p2<=floord(p1-3,4);p2++) { 99 if ((p1+1)%2 == 0) { 100 i = (p1-2*p2-1)/2 ; 101 S2((p1-2*p2-1)/2,p2) ; 102 } 103 } 104 } 105 S3(3) ; 106 S2(5,1) ; 107 S2(4,2) ; 108 for (p1=14;p1<=2*n+2;p1++) { 109 p2 = floord(-p1+5,4) ; 110 if (p1%2 == 0) { 111 j = (p1+2*p2)/2 ; 112 S4(-p2,(p1+2*p2)/2) ; 113 } 114 p2 = floord(-p1+9,4) ; 115 if (p1%2 == 0) { 116 j = (p1+2*p2)/2 ; 117 S4(-p2,(p1+2*p2)/2) ; 118 } 119 for (p3=1;p3<=-p2;p3++) { 120 i = -p2+1 ; 121 if (p1%2 == 0) { 122 j = (p1+2*p2-2)/2 ; 123 S5(-p2+1,(p1+2*p2-2)/2,p3) ; 124 } 125 } 126 for (p2=ceild(-p1+10,4);p2<=-1;p2++) { 127 if (p1%2 == 0) { 128 j = (p1+2*p2)/2 ; 129 S4(-p2,(p1+2*p2)/2) ; 130 } 131 i = -p2+2 ; 132 if (p1%2 == 0) { 133 j = (p1+2*p2-4)/2 ; 134 S6(-p2+2,(p1+2*p2-4)/2) ; 135 } 136 for (p3=1;p3<=-p2;p3++) { 137 i = -p2+1 ; 138 if (p1%2 == 0) { 139 j = (p1+2*p2-2)/2 ; 140 S5(-p2+1,(p1+2*p2-2)/2,p3) ; 141 } 142 } 143 } 144 if (p1%2 == 0) { 145 j = (p1-4)/2 ; 146 S6(2,(p1-4)/2) ; 147 } 148 if ((p1+3)%4 == 0) { 149 i = (p1-1)/4 ; 150 S3((p1-1)/4) ; 151 } 152 if (p1%2 == 0) { 153 i = (p1-2)/2 ; 154 S1((p1-2)/2) ; 155 } 156 if (p1%2 == 0) { 157 j = (p1-2)/2 ; 158 S6(1,(p1-2)/2) ; 159 } 160 if ((p1+1)%2 == 0) { 161 i = (p1-3)/2 ; 162 S2((p1-3)/2,1) ; 163 } 164 for (p2=2;p2<=floord(p1-3,4);p2++) { 165 if ((p1+1)%2 == 0) { 166 i = (p1-2*p2-1)/2 ; 167 S2((p1-2*p2-1)/2,p2) ; 168 } 169 } 170 } 171 p1 = 2*n+3 ; 172 if ((n+1)%2 == 0) { 173 i = (n+1)/2 ; 174 S3((n+1)/2) ; 175 } 176 S2(n,1) ; 177 for (p2=2;p2<=floord(n,2);p2++) { 178 i = -p2+n+1 ; 179 S2(-p2+n+1,p2) ; 180 } 181 p1 = 2*n+4 ; 182 for (p2=ceild(-n-1,2);p2<=floord(-2*n+1,4);p2++) { 183 j = p2+n+2 ; 184 S4(-p2,p2+n+2) ; 185 } 186 for (p2=ceild(-n+1,2);p2<=floord(-2*n+5,4);p2++) { 187 j = p2+n+2 ; 188 S4(-p2,p2+n+2) ; 189 for (p3=1;p3<=-p2;p3++) { 190 i = -p2+1 ; 191 j = p2+n+1 ; 192 S5(-p2+1,p2+n+1,p3) ; 193 } 194 } 195 for (p2=ceild(-n+3,2);p2<=-2;p2++) { 196 j = p2+n+2 ; 197 S4(-p2,p2+n+2) ; 198 i = -p2+2 ; 199 j = p2+n ; 200 S6(-p2+2,p2+n) ; 201 for (p3=1;p3<=-p2;p3++) { 202 i = -p2+1 ; 203 j = p2+n+1 ; 204 S5(-p2+1,p2+n+1,p3) ; 205 } 206 } 207 j = n-1 ; 208 S6(3,n-1) ; 209 S5(2,n,1) ; 210 S6(2,n) ; 211 i = n+1 ; 212 S1(n+1) ; 213 for (p1=2*n+5;p1<=min(4*n-10,2*n+58);p1++) { 214 p2 = floord(-p1+5,4) ; 215 if (p1%2 == 0) { 216 j = (p1+2*p2)/2 ; 217 S4(-p2,(p1+2*p2)/2) ; 218 } 219 p2 = floord(-p1+9,4) ; 220 if (p1%2 == 0) { 221 j = (p1+2*p2)/2 ; 222 S4(-p2,(p1+2*p2)/2) ; 223 } 224 for (p3=1;p3<=-p2;p3++) { 225 i = -p2+1 ; 226 if (p1%2 == 0) { 227 j = (p1+2*p2-2)/2 ; 228 S5(-p2+1,(p1+2*p2-2)/2,p3) ; 229 } 230 } 231 for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n,2);p2++) { 232 if (p1%2 == 0) { 233 j = (p1+2*p2)/2 ; 234 S4(-p2,(p1+2*p2)/2) ; 235 } 236 i = -p2+2 ; 237 if (p1%2 == 0) { 238 j = (p1+2*p2-4)/2 ; 239 S6(-p2+2,(p1+2*p2-4)/2) ; 240 } 241 for (p3=1;p3<=-p2;p3++) { 242 i = -p2+1 ; 243 if (p1%2 == 0) { 244 j = (p1+2*p2-2)/2 ; 245 S5(-p2+1,(p1+2*p2-2)/2,p3) ; 246 } 247 } 248 } 249 p2 = floord(-p1+2*n+2,2) ; 250 i = -p2+2 ; 251 if (p1%2 == 0) { 252 j = (p1+2*p2-4)/2 ; 253 S6(-p2+2,(p1+2*p2-4)/2) ; 254 } 255 for (p3=1;p3<=-p2;p3++) { 256 i = -p2+1 ; 257 if (p1%2 == 0) { 258 j = (p1+2*p2-2)/2 ; 259 S5(-p2+1,(p1+2*p2-2)/2,p3) ; 260 } 261 } 262 for (p2=ceild(-p1+2*n+3,2);p2<=min(floord(-p1+2*n+4,2),-1);p2++) { 263 i = -p2+2 ; 264 if (p1%2 == 0) { 265 j = (p1+2*p2-4)/2 ; 266 S6(-p2+2,(p1+2*p2-4)/2) ; 267 } 268 } 269 if ((p1+3)%4 == 0) { 270 i = (p1-1)/4 ; 271 S3((p1-1)/4) ; 272 } 273 if (p1%2 == 0) { 274 i = (p1-2)/2 ; 275 S1((p1-2)/2) ; 276 } 277 for (p2=ceild(p1-2*n-1,2);p2<=floord(p1-3,4);p2++) { 278 if ((p1+1)%2 == 0) { 279 i = (p1-2*p2-1)/2 ; 280 S2((p1-2*p2-1)/2,p2) ; 281 } 282 } 283 } 284 for (p1=4*n-9;p1<=min(4*n-8,2*n+58);p1++) { 285 p2 = floord(-p1+5,4) ; 286 if (p1%2 == 0) { 287 j = (p1+2*p2)/2 ; 288 S4(-p2,(p1+2*p2)/2) ; 289 } 290 for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) { 291 if (p1%2 == 0) { 292 j = (p1+2*p2)/2 ; 293 S4(-p2,(p1+2*p2)/2) ; 294 } 295 for (p3=1;p3<=-p2;p3++) { 296 i = -p2+1 ; 297 if (p1%2 == 0) { 298 j = (p1+2*p2-2)/2 ; 299 S5(-p2+1,(p1+2*p2-2)/2,p3) ; 300 } 301 } 302 } 303 p2 = floord(-p1+2*n+2,2) ; 304 i = -p2+2 ; 305 if (p1%2 == 0) { 306 j = (p1+2*p2-4)/2 ; 307 S6(-p2+2,(p1+2*p2-4)/2) ; 308 } 309 for (p3=1;p3<=-p2;p3++) { 310 i = -p2+1 ; 311 if (p1%2 == 0) { 312 j = (p1+2*p2-2)/2 ; 313 S5(-p2+1,(p1+2*p2-2)/2,p3) ; 314 } 315 } 316 p2 = floord(-p1+2*n+4,2) ; 317 i = -p2+2 ; 318 if (p1%2 == 0) { 319 j = (p1+2*p2-4)/2 ; 320 S6(-p2+2,(p1+2*p2-4)/2) ; 321 } 322 if ((p1+3)%4 == 0) { 323 i = (p1-1)/4 ; 324 S3((p1-1)/4) ; 325 } 326 if (p1%2 == 0) { 327 i = (p1-2)/2 ; 328 S1((p1-2)/2) ; 329 } 330 for (p2=ceild(p1-2*n-1,2);p2<=floord(p1-3,4);p2++) { 331 if ((p1+1)%2 == 0) { 332 i = (p1-2*p2-1)/2 ; 333 S2((p1-2*p2-1)/2,p2) ; 334 } 335 } 336 } 337 for (p1=4*n-7;p1<=min(4*n-6,2*n+58);p1++) { 338 p2 = floord(-p1+5,4) ; 339 if (p1%2 == 0) { 340 j = (p1+2*p2)/2 ; 341 S4(-p2,(p1+2*p2)/2) ; 342 } 343 for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) { 344 if (p1%2 == 0) { 345 j = (p1+2*p2)/2 ; 346 S4(-p2,(p1+2*p2)/2) ; 347 } 348 for (p3=1;p3<=-p2;p3++) { 349 i = -p2+1 ; 350 if (p1%2 == 0) { 351 j = (p1+2*p2-2)/2 ; 352 S5(-p2+1,(p1+2*p2-2)/2,p3) ; 353 } 354 } 355 } 356 for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+9,4);p2++) { 357 for (p3=1;p3<=-p2;p3++) { 358 i = -p2+1 ; 359 if (p1%2 == 0) { 360 j = (p1+2*p2-2)/2 ; 361 S5(-p2+1,(p1+2*p2-2)/2,p3) ; 362 } 363 } 364 } 365 for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n+2,2);p2++) { 366 i = -p2+2 ; 367 if (p1%2 == 0) { 368 j = (p1+2*p2-4)/2 ; 369 S6(-p2+2,(p1+2*p2-4)/2) ; 370 } 371 for (p3=1;p3<=-p2;p3++) { 372 i = -p2+1 ; 373 if (p1%2 == 0) { 374 j = (p1+2*p2-2)/2 ; 375 S5(-p2+1,(p1+2*p2-2)/2,p3) ; 376 } 377 } 378 } 379 p2 = floord(-p1+2*n+4,2) ; 380 i = -p2+2 ; 381 if (p1%2 == 0) { 382 j = (p1+2*p2-4)/2 ; 383 S6(-p2+2,(p1+2*p2-4)/2) ; 384 } 385 if ((p1+3)%4 == 0) { 386 i = (p1-1)/4 ; 387 S3((p1-1)/4) ; 388 } 389 if (p1%2 == 0) { 390 i = (p1-2)/2 ; 391 S1((p1-2)/2) ; 392 } 393 for (p2=ceild(p1-2*n-1,2);p2<=floord(p1-3,4);p2++) { 394 if ((p1+1)%2 == 0) { 395 i = (p1-2*p2-1)/2 ; 396 S2((p1-2*p2-1)/2,p2) ; 397 } 398 } 399 } 400 for (p1=4*n-5;p1<=2*n+58;p1++) { 401 for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) { 402 if (p1%2 == 0) { 403 j = (p1+2*p2)/2 ; 404 S4(-p2,(p1+2*p2)/2) ; 405 } 406 } 407 for (p2=max(ceild(-p1+2*n+1,2),ceild(-p1+6,4));p2<=floord(-p1+2*n+2,2);p2++) { 408 for (p3=1;p3<=-p2;p3++) { 409 i = -p2+1 ; 410 if (p1%2 == 0) { 411 j = (p1+2*p2-2)/2 ; 412 S5(-p2+1,(p1+2*p2-2)/2,p3) ; 413 } 414 } 415 } 416 for (p2=max(ceild(-p1+2*n+3,2),ceild(-p1+10,4));p2<=floord(-p1+2*n+4,2);p2++) { 417 i = -p2+2 ; 418 if (p1%2 == 0) { 419 j = (p1+2*p2-4)/2 ; 420 S6(-p2+2,(p1+2*p2-4)/2) ; 421 } 422 } 423 if ((p1+3)%4 == 0) { 424 i = (p1-1)/4 ; 425 S3((p1-1)/4) ; 426 } 427 if (p1%2 == 0) { 428 i = (p1-2)/2 ; 429 S1((p1-2)/2) ; 430 } 431 for (p2=ceild(p1-2*n-1,2);p2<=floord(p1-3,4);p2++) { 432 if ((p1+1)%2 == 0) { 433 i = (p1-2*p2-1)/2 ; 434 S2((p1-2*p2-1)/2,p2) ; 435 } 436 } 437 } 438 for (p1=2*n+59;p1<=4*n-10;p1++) { 439 p2 = floord(-p1+5,4) ; 440 if (p1%2 == 0) { 441 j = (p1+2*p2)/2 ; 442 S4(-p2,(p1+2*p2)/2) ; 443 } 444 p2 = floord(-p1+9,4) ; 445 if (p1%2 == 0) { 446 j = (p1+2*p2)/2 ; 447 S4(-p2,(p1+2*p2)/2) ; 448 } 449 for (p3=1;p3<=-p2;p3++) { 450 i = -p2+1 ; 451 if (p1%2 == 0) { 452 j = (p1+2*p2-2)/2 ; 453 S5(-p2+1,(p1+2*p2-2)/2,p3) ; 454 } 455 } 456 for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n,2);p2++) { 457 if (p1%2 == 0) { 458 j = (p1+2*p2)/2 ; 459 S4(-p2,(p1+2*p2)/2) ; 460 } 461 i = -p2+2 ; 462 if (p1%2 == 0) { 463 j = (p1+2*p2-4)/2 ; 464 S6(-p2+2,(p1+2*p2-4)/2) ; 465 } 466 for (p3=1;p3<=-p2;p3++) { 467 i = -p2+1 ; 468 if (p1%2 == 0) { 469 j = (p1+2*p2-2)/2 ; 470 S5(-p2+1,(p1+2*p2-2)/2,p3) ; 471 } 472 } 473 } 474 p2 = floord(-p1+2*n+2,2) ; 475 i = -p2+2 ; 476 if (p1%2 == 0) { 477 j = (p1+2*p2-4)/2 ; 478 S6(-p2+2,(p1+2*p2-4)/2) ; 479 } 480 for (p3=1;p3<=-p2;p3++) { 481 i = -p2+1 ; 482 if (p1%2 == 0) { 483 j = (p1+2*p2-2)/2 ; 484 S5(-p2+1,(p1+2*p2-2)/2,p3) ; 485 } 486 } 487 p2 = floord(-p1+2*n+4,2) ; 488 i = -p2+2 ; 489 if (p1%2 == 0) { 490 j = (p1+2*p2-4)/2 ; 491 S6(-p2+2,(p1+2*p2-4)/2) ; 492 } 493 if ((p1+3)%4 == 0) { 494 i = (p1-1)/4 ; 495 S3((p1-1)/4) ; 496 } 497 for (p2=ceild(p1-2*n-1,2);p2<=floord(p1-3,4);p2++) { 498 if ((p1+1)%2 == 0) { 499 i = (p1-2*p2-1)/2 ; 500 S2((p1-2*p2-1)/2,p2) ; 501 } 502 } 503 } 504 for (p1=max(4*n-9,2*n+59);p1<=4*n-8;p1++) { 505 p2 = floord(-p1+5,4) ; 506 if (p1%2 == 0) { 507 j = (p1+2*p2)/2 ; 508 S4(-p2,(p1+2*p2)/2) ; 509 } 510 for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) { 511 if (p1%2 == 0) { 512 j = (p1+2*p2)/2 ; 513 S4(-p2,(p1+2*p2)/2) ; 514 } 515 for (p3=1;p3<=-p2;p3++) { 516 i = -p2+1 ; 517 if (p1%2 == 0) { 518 j = (p1+2*p2-2)/2 ; 519 S5(-p2+1,(p1+2*p2-2)/2,p3) ; 520 } 521 } 522 } 523 p2 = floord(-p1+2*n+2,2) ; 524 i = -p2+2 ; 525 if (p1%2 == 0) { 526 j = (p1+2*p2-4)/2 ; 527 S6(-p2+2,(p1+2*p2-4)/2) ; 528 } 529 for (p3=1;p3<=-p2;p3++) { 530 i = -p2+1 ; 531 if (p1%2 == 0) { 532 j = (p1+2*p2-2)/2 ; 533 S5(-p2+1,(p1+2*p2-2)/2,p3) ; 534 } 535 } 536 p2 = floord(-p1+2*n+4,2) ; 537 i = -p2+2 ; 538 if (p1%2 == 0) { 539 j = (p1+2*p2-4)/2 ; 540 S6(-p2+2,(p1+2*p2-4)/2) ; 541 } 542 if ((p1+3)%4 == 0) { 543 i = (p1-1)/4 ; 544 S3((p1-1)/4) ; 545 } 546 for (p2=ceild(p1-2*n-1,2);p2<=floord(p1-3,4);p2++) { 547 if ((p1+1)%2 == 0) { 548 i = (p1-2*p2-1)/2 ; 549 S2((p1-2*p2-1)/2,p2) ; 550 } 551 } 552 } 553 for (p1=max(4*n-7,2*n+59);p1<=4*n-6;p1++) { 554 p2 = floord(-p1+5,4) ; 555 if (p1%2 == 0) { 556 j = (p1+2*p2)/2 ; 557 S4(-p2,(p1+2*p2)/2) ; 558 } 559 for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) { 560 if (p1%2 == 0) { 561 j = (p1+2*p2)/2 ; 562 S4(-p2,(p1+2*p2)/2) ; 563 } 564 for (p3=1;p3<=-p2;p3++) { 565 i = -p2+1 ; 566 if (p1%2 == 0) { 567 j = (p1+2*p2-2)/2 ; 568 S5(-p2+1,(p1+2*p2-2)/2,p3) ; 569 } 570 } 571 } 572 for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+9,4);p2++) { 573 for (p3=1;p3<=-p2;p3++) { 574 i = -p2+1 ; 575 if (p1%2 == 0) { 576 j = (p1+2*p2-2)/2 ; 577 S5(-p2+1,(p1+2*p2-2)/2,p3) ; 578 } 579 } 580 } 581 for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n+2,2);p2++) { 582 i = -p2+2 ; 583 if (p1%2 == 0) { 584 j = (p1+2*p2-4)/2 ; 585 S6(-p2+2,(p1+2*p2-4)/2) ; 586 } 587 for (p3=1;p3<=-p2;p3++) { 588 i = -p2+1 ; 589 if (p1%2 == 0) { 590 j = (p1+2*p2-2)/2 ; 591 S5(-p2+1,(p1+2*p2-2)/2,p3) ; 592 } 593 } 594 } 595 p2 = floord(-p1+2*n+4,2) ; 596 i = -p2+2 ; 597 if (p1%2 == 0) { 598 j = (p1+2*p2-4)/2 ; 599 S6(-p2+2,(p1+2*p2-4)/2) ; 600 } 601 if ((p1+3)%4 == 0) { 602 i = (p1-1)/4 ; 603 S3((p1-1)/4) ; 604 } 605 for (p2=ceild(p1-2*n-1,2);p2<=floord(p1-3,4);p2++) { 606 if ((p1+1)%2 == 0) { 607 i = (p1-2*p2-1)/2 ; 608 S2((p1-2*p2-1)/2,p2) ; 609 } 610 } 611 } 612 for (p1=max(4*n-5,2*n+59);p1<=4*n-2;p1++) { 613 for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) { 614 if (p1%2 == 0) { 615 j = (p1+2*p2)/2 ; 616 S4(-p2,(p1+2*p2)/2) ; 617 } 618 } 619 for (p2=max(ceild(-p1+2*n+1,2),ceild(-p1+6,4));p2<=floord(-p1+2*n+2,2);p2++) { 620 for (p3=1;p3<=-p2;p3++) { 621 i = -p2+1 ; 622 if (p1%2 == 0) { 623 j = (p1+2*p2-2)/2 ; 624 S5(-p2+1,(p1+2*p2-2)/2,p3) ; 625 } 626 } 627 } 628 for (p2=max(ceild(-p1+10,4),ceild(-p1+2*n+3,2));p2<=floord(-p1+2*n+4,2);p2++) { 629 i = -p2+2 ; 630 if (p1%2 == 0) { 631 j = (p1+2*p2-4)/2 ; 632 S6(-p2+2,(p1+2*p2-4)/2) ; 633 } 634 } 635 if ((p1+3)%4 == 0) { 636 i = (p1-1)/4 ; 637 S3((p1-1)/4) ; 638 } 639 for (p2=ceild(p1-2*n-1,2);p2<=floord(p1-3,4);p2++) { 640 if ((p1+1)%2 == 0) { 641 i = (p1-2*p2-1)/2 ; 642 S2((p1-2*p2-1)/2,p2) ; 643 } 644 } 645 } 646 p1 = 4*n-1 ; 647 p2 = n-1 ; 648 j = n-1 ; 649 S2(n,n-1) ; 650 for (p1=4*n;p1<=4*n+1;p1++) { 651 if ((p1+3)%4 == 0) { 652 i = (p1-1)/4 ; 653 S3((p1-1)/4) ; 654 } 655 } 656} 657