|
CP2K 2.4 (Revision 12889)
|
00001 !-----------------------------------------------------------------------------! 00002 ! CP2K: A general program to perform molecular dynamics simulations ! 00003 ! Copyright (C) 2000 - 2013 CP2K developers group ! 00004 !-----------------------------------------------------------------------------! 00005 00006 ! ***************************************************************************** 00019 00020 MODULE hfx_contraction_methods 00021 00022 !** This defines the default behaviour 00023 #ifndef __MAX_CONTR 00024 #define __MAX_CONTR 2 00025 #endif 00026 00027 USE kinds, ONLY: dp 00028 #include "cp_common_uses.h" 00029 00030 IMPLICIT NONE 00031 00032 00033 PRIVATE 00034 PUBLIC contract 00035 00036 00037 CONTAINS 00038 00039 SUBROUTINE contract(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod, & 00040 n_a, n_b, n_c, n_d,nl_a, nl_b, nl_c, nl_d, work,& 00041 sphi_a, sphi_b, sphi_c, sphi_d,& 00042 primitives, & 00043 buffer1, buffer2) 00044 00045 INTEGER, INTENT(IN) :: ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod, 00046 n_a, n_b, n_c, n_d, nl_a, nl_b, nl_c, nl_d 00047 REAL(dp), DIMENSION(ncoa*ncob* ncoc* ncod), INTENT(IN) :: work 00048 REAL(dp), DIMENSION(ncoa,nsoa*nl_a), INTENT(IN) :: sphi_a 00049 REAL(dp), DIMENSION(ncob,nsob*nl_b), INTENT(IN) :: sphi_b 00050 REAL(dp), DIMENSION(ncoc,nsoc*nl_c), INTENT(IN) :: sphi_c 00051 REAL(dp), DIMENSION(ncod,nsod*nl_d), INTENT(IN) :: sphi_d 00052 00053 REAL(dp), DIMENSION(nsoa*nl_a, nsob*nl_b,nsoc*nl_c,nsod*nl_d) :: primitives 00054 REAL(dp), DIMENSION(ncoa*ncob*ncoc*ncod) :: buffer1, buffer2 00055 00056 #if defined(__LIBINT) 00057 SELECT CASE(n_a) 00058 CASE(0) 00059 SELECT CASE(n_b) 00060 CASE(0) 00061 SELECT CASE(n_c) 00062 CASE(0) 00063 SELECT CASE(n_d) 00064 CASE(0) 00065 #if __MAX_CONTR > 0 || __MAX_CONTR == 0 00066 CALL contract_ssss(work,& 00067 nl_a, nl_b, nl_c, nl_d, & 00068 sphi_a, sphi_b, sphi_c, sphi_d, & 00069 primitives,& 00070 buffer1,buffer2 ) 00071 #else 00072 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00073 work, nl_a, nl_b, nl_c, nl_d, & 00074 sphi_a, & 00075 sphi_b, & 00076 sphi_c, & 00077 sphi_d, & 00078 primitives, & 00079 buffer1, buffer2) 00080 #endif 00081 CASE(1) 00082 #if __MAX_CONTR > 1 || __MAX_CONTR == 1 00083 CALL contract_sssp(work,& 00084 nl_a, nl_b, nl_c, nl_d, & 00085 sphi_a, sphi_b, sphi_c, sphi_d, & 00086 primitives,& 00087 buffer1,buffer2 ) 00088 #else 00089 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00090 work, nl_a, nl_b, nl_c, nl_d, & 00091 sphi_a, & 00092 sphi_b, & 00093 sphi_c, & 00094 sphi_d, & 00095 primitives, & 00096 buffer1, buffer2) 00097 #endif 00098 CASE(2) 00099 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 00100 CALL contract_sssd(work,& 00101 nl_a, nl_b, nl_c, nl_d, & 00102 sphi_a, sphi_b, sphi_c, sphi_d, & 00103 primitives,& 00104 buffer1,buffer2 ) 00105 #else 00106 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00107 work, nl_a, nl_b, nl_c, nl_d, & 00108 sphi_a, & 00109 sphi_b, & 00110 sphi_c, & 00111 sphi_d, & 00112 primitives, & 00113 buffer1, buffer2) 00114 #endif 00115 CASE(3) 00116 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 00117 CALL contract_sssf(work,& 00118 nl_a, nl_b, nl_c, nl_d, & 00119 sphi_a, sphi_b, sphi_c, sphi_d, & 00120 primitives,& 00121 buffer1,buffer2 ) 00122 #else 00123 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00124 work, nl_a, nl_b, nl_c, nl_d, & 00125 sphi_a, & 00126 sphi_b, & 00127 sphi_c, & 00128 sphi_d, & 00129 primitives, & 00130 buffer1, buffer2) 00131 #endif 00132 CASE(4) 00133 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 00134 CALL contract_sssg(work,& 00135 nl_a, nl_b, nl_c, nl_d, & 00136 sphi_a, sphi_b, sphi_c, sphi_d, & 00137 primitives,& 00138 buffer1,buffer2 ) 00139 #else 00140 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00141 work, nl_a, nl_b, nl_c, nl_d, & 00142 sphi_a, & 00143 sphi_b, & 00144 sphi_c, & 00145 sphi_d, & 00146 primitives, & 00147 buffer1, buffer2) 00148 #endif 00149 CASE DEFAULT 00150 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00151 work, nl_a, nl_b, nl_c, nl_d, & 00152 sphi_a, & 00153 sphi_b, & 00154 sphi_c, & 00155 sphi_d, & 00156 primitives, & 00157 buffer1, buffer2) 00158 END SELECT 00159 CASE(1) 00160 SELECT CASE(n_d) 00161 CASE(0) 00162 #if __MAX_CONTR > 1 || __MAX_CONTR == 1 00163 CALL contract_ssps(work,& 00164 nl_a, nl_b, nl_c, nl_d, & 00165 sphi_a, sphi_b, sphi_c, sphi_d, & 00166 primitives,& 00167 buffer1,buffer2 ) 00168 #else 00169 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00170 work, nl_a, nl_b, nl_c, nl_d, & 00171 sphi_a, & 00172 sphi_b, & 00173 sphi_c, & 00174 sphi_d, & 00175 primitives, & 00176 buffer1, buffer2) 00177 #endif 00178 CASE(1) 00179 #if __MAX_CONTR > 1 || __MAX_CONTR == 1 00180 CALL contract_sspp(work,& 00181 nl_a, nl_b, nl_c, nl_d, & 00182 sphi_a, sphi_b, sphi_c, sphi_d, & 00183 primitives,& 00184 buffer1,buffer2 ) 00185 #else 00186 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00187 work, nl_a, nl_b, nl_c, nl_d, & 00188 sphi_a, & 00189 sphi_b, & 00190 sphi_c, & 00191 sphi_d, & 00192 primitives, & 00193 buffer1, buffer2) 00194 #endif 00195 CASE(2) 00196 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 00197 CALL contract_sspd(work,& 00198 nl_a, nl_b, nl_c, nl_d, & 00199 sphi_a, sphi_b, sphi_c, sphi_d, & 00200 primitives,& 00201 buffer1,buffer2 ) 00202 #else 00203 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00204 work, nl_a, nl_b, nl_c, nl_d, & 00205 sphi_a, & 00206 sphi_b, & 00207 sphi_c, & 00208 sphi_d, & 00209 primitives, & 00210 buffer1, buffer2) 00211 #endif 00212 CASE(3) 00213 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 00214 CALL contract_sspf(work,& 00215 nl_a, nl_b, nl_c, nl_d, & 00216 sphi_a, sphi_b, sphi_c, sphi_d, & 00217 primitives,& 00218 buffer1,buffer2 ) 00219 #else 00220 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00221 work, nl_a, nl_b, nl_c, nl_d, & 00222 sphi_a, & 00223 sphi_b, & 00224 sphi_c, & 00225 sphi_d, & 00226 primitives, & 00227 buffer1, buffer2) 00228 #endif 00229 CASE(4) 00230 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 00231 CALL contract_sspg(work,& 00232 nl_a, nl_b, nl_c, nl_d, & 00233 sphi_a, sphi_b, sphi_c, sphi_d, & 00234 primitives,& 00235 buffer1,buffer2 ) 00236 #else 00237 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00238 work, nl_a, nl_b, nl_c, nl_d, & 00239 sphi_a, & 00240 sphi_b, & 00241 sphi_c, & 00242 sphi_d, & 00243 primitives, & 00244 buffer1, buffer2) 00245 #endif 00246 CASE DEFAULT 00247 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00248 work, nl_a, nl_b, nl_c, nl_d, & 00249 sphi_a, & 00250 sphi_b, & 00251 sphi_c, & 00252 sphi_d, & 00253 primitives, & 00254 buffer1, buffer2) 00255 END SELECT 00256 CASE(2) 00257 SELECT CASE(n_d) 00258 CASE(0) 00259 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 00260 CALL contract_ssds(work,& 00261 nl_a, nl_b, nl_c, nl_d, & 00262 sphi_a, sphi_b, sphi_c, sphi_d, & 00263 primitives,& 00264 buffer1,buffer2 ) 00265 #else 00266 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00267 work, nl_a, nl_b, nl_c, nl_d, & 00268 sphi_a, & 00269 sphi_b, & 00270 sphi_c, & 00271 sphi_d, & 00272 primitives, & 00273 buffer1, buffer2) 00274 #endif 00275 CASE(1) 00276 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 00277 CALL contract_ssdp(work,& 00278 nl_a, nl_b, nl_c, nl_d, & 00279 sphi_a, sphi_b, sphi_c, sphi_d, & 00280 primitives,& 00281 buffer1,buffer2 ) 00282 #else 00283 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00284 work, nl_a, nl_b, nl_c, nl_d, & 00285 sphi_a, & 00286 sphi_b, & 00287 sphi_c, & 00288 sphi_d, & 00289 primitives, & 00290 buffer1, buffer2) 00291 #endif 00292 CASE(2) 00293 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 00294 CALL contract_ssdd(work,& 00295 nl_a, nl_b, nl_c, nl_d, & 00296 sphi_a, sphi_b, sphi_c, sphi_d, & 00297 primitives,& 00298 buffer1,buffer2 ) 00299 #else 00300 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00301 work, nl_a, nl_b, nl_c, nl_d, & 00302 sphi_a, & 00303 sphi_b, & 00304 sphi_c, & 00305 sphi_d, & 00306 primitives, & 00307 buffer1, buffer2) 00308 #endif 00309 CASE(3) 00310 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 00311 CALL contract_ssdf(work,& 00312 nl_a, nl_b, nl_c, nl_d, & 00313 sphi_a, sphi_b, sphi_c, sphi_d, & 00314 primitives,& 00315 buffer1,buffer2 ) 00316 #else 00317 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00318 work, nl_a, nl_b, nl_c, nl_d, & 00319 sphi_a, & 00320 sphi_b, & 00321 sphi_c, & 00322 sphi_d, & 00323 primitives, & 00324 buffer1, buffer2) 00325 #endif 00326 CASE(4) 00327 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 00328 CALL contract_ssdg(work,& 00329 nl_a, nl_b, nl_c, nl_d, & 00330 sphi_a, sphi_b, sphi_c, sphi_d, & 00331 primitives,& 00332 buffer1,buffer2 ) 00333 #else 00334 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00335 work, nl_a, nl_b, nl_c, nl_d, & 00336 sphi_a, & 00337 sphi_b, & 00338 sphi_c, & 00339 sphi_d, & 00340 primitives, & 00341 buffer1, buffer2) 00342 #endif 00343 CASE DEFAULT 00344 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00345 work, nl_a, nl_b, nl_c, nl_d, & 00346 sphi_a, & 00347 sphi_b, & 00348 sphi_c, & 00349 sphi_d, & 00350 primitives, & 00351 buffer1, buffer2) 00352 END SELECT 00353 CASE(3) 00354 SELECT CASE(n_d) 00355 CASE(0) 00356 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 00357 CALL contract_ssfs(work,& 00358 nl_a, nl_b, nl_c, nl_d, & 00359 sphi_a, sphi_b, sphi_c, sphi_d, & 00360 primitives,& 00361 buffer1,buffer2 ) 00362 #else 00363 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00364 work, nl_a, nl_b, nl_c, nl_d, & 00365 sphi_a, & 00366 sphi_b, & 00367 sphi_c, & 00368 sphi_d, & 00369 primitives, & 00370 buffer1, buffer2) 00371 #endif 00372 CASE(1) 00373 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 00374 CALL contract_ssfp(work,& 00375 nl_a, nl_b, nl_c, nl_d, & 00376 sphi_a, sphi_b, sphi_c, sphi_d, & 00377 primitives,& 00378 buffer1,buffer2 ) 00379 #else 00380 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00381 work, nl_a, nl_b, nl_c, nl_d, & 00382 sphi_a, & 00383 sphi_b, & 00384 sphi_c, & 00385 sphi_d, & 00386 primitives, & 00387 buffer1, buffer2) 00388 #endif 00389 CASE(2) 00390 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 00391 CALL contract_ssfd(work,& 00392 nl_a, nl_b, nl_c, nl_d, & 00393 sphi_a, sphi_b, sphi_c, sphi_d, & 00394 primitives,& 00395 buffer1,buffer2 ) 00396 #else 00397 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00398 work, nl_a, nl_b, nl_c, nl_d, & 00399 sphi_a, & 00400 sphi_b, & 00401 sphi_c, & 00402 sphi_d, & 00403 primitives, & 00404 buffer1, buffer2) 00405 #endif 00406 CASE(3) 00407 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 00408 CALL contract_ssff(work,& 00409 nl_a, nl_b, nl_c, nl_d, & 00410 sphi_a, sphi_b, sphi_c, sphi_d, & 00411 primitives,& 00412 buffer1,buffer2 ) 00413 #else 00414 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00415 work, nl_a, nl_b, nl_c, nl_d, & 00416 sphi_a, & 00417 sphi_b, & 00418 sphi_c, & 00419 sphi_d, & 00420 primitives, & 00421 buffer1, buffer2) 00422 #endif 00423 CASE(4) 00424 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 00425 CALL contract_ssfg(work,& 00426 nl_a, nl_b, nl_c, nl_d, & 00427 sphi_a, sphi_b, sphi_c, sphi_d, & 00428 primitives,& 00429 buffer1,buffer2 ) 00430 #else 00431 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00432 work, nl_a, nl_b, nl_c, nl_d, & 00433 sphi_a, & 00434 sphi_b, & 00435 sphi_c, & 00436 sphi_d, & 00437 primitives, & 00438 buffer1, buffer2) 00439 #endif 00440 CASE DEFAULT 00441 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00442 work, nl_a, nl_b, nl_c, nl_d, & 00443 sphi_a, & 00444 sphi_b, & 00445 sphi_c, & 00446 sphi_d, & 00447 primitives, & 00448 buffer1, buffer2) 00449 END SELECT 00450 CASE(4) 00451 SELECT CASE(n_d) 00452 CASE(0) 00453 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 00454 CALL contract_ssgs(work,& 00455 nl_a, nl_b, nl_c, nl_d, & 00456 sphi_a, sphi_b, sphi_c, sphi_d, & 00457 primitives,& 00458 buffer1,buffer2 ) 00459 #else 00460 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00461 work, nl_a, nl_b, nl_c, nl_d, & 00462 sphi_a, & 00463 sphi_b, & 00464 sphi_c, & 00465 sphi_d, & 00466 primitives, & 00467 buffer1, buffer2) 00468 #endif 00469 CASE(1) 00470 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 00471 CALL contract_ssgp(work,& 00472 nl_a, nl_b, nl_c, nl_d, & 00473 sphi_a, sphi_b, sphi_c, sphi_d, & 00474 primitives,& 00475 buffer1,buffer2 ) 00476 #else 00477 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00478 work, nl_a, nl_b, nl_c, nl_d, & 00479 sphi_a, & 00480 sphi_b, & 00481 sphi_c, & 00482 sphi_d, & 00483 primitives, & 00484 buffer1, buffer2) 00485 #endif 00486 CASE(2) 00487 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 00488 CALL contract_ssgd(work,& 00489 nl_a, nl_b, nl_c, nl_d, & 00490 sphi_a, sphi_b, sphi_c, sphi_d, & 00491 primitives,& 00492 buffer1,buffer2 ) 00493 #else 00494 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00495 work, nl_a, nl_b, nl_c, nl_d, & 00496 sphi_a, & 00497 sphi_b, & 00498 sphi_c, & 00499 sphi_d, & 00500 primitives, & 00501 buffer1, buffer2) 00502 #endif 00503 CASE(3) 00504 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 00505 CALL contract_ssgf(work,& 00506 nl_a, nl_b, nl_c, nl_d, & 00507 sphi_a, sphi_b, sphi_c, sphi_d, & 00508 primitives,& 00509 buffer1,buffer2 ) 00510 #else 00511 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00512 work, nl_a, nl_b, nl_c, nl_d, & 00513 sphi_a, & 00514 sphi_b, & 00515 sphi_c, & 00516 sphi_d, & 00517 primitives, & 00518 buffer1, buffer2) 00519 #endif 00520 CASE(4) 00521 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 00522 CALL contract_ssgg(work,& 00523 nl_a, nl_b, nl_c, nl_d, & 00524 sphi_a, sphi_b, sphi_c, sphi_d, & 00525 primitives,& 00526 buffer1,buffer2 ) 00527 #else 00528 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00529 work, nl_a, nl_b, nl_c, nl_d, & 00530 sphi_a, & 00531 sphi_b, & 00532 sphi_c, & 00533 sphi_d, & 00534 primitives, & 00535 buffer1, buffer2) 00536 #endif 00537 CASE DEFAULT 00538 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00539 work, nl_a, nl_b, nl_c, nl_d, & 00540 sphi_a, & 00541 sphi_b, & 00542 sphi_c, & 00543 sphi_d, & 00544 primitives, & 00545 buffer1, buffer2) 00546 END SELECT 00547 CASE DEFAULT 00548 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00549 work, nl_a, nl_b, nl_c, nl_d, & 00550 sphi_a, & 00551 sphi_b, & 00552 sphi_c, & 00553 sphi_d, & 00554 primitives, & 00555 buffer1, buffer2) 00556 END SELECT 00557 CASE(1) 00558 SELECT CASE(n_c) 00559 CASE(0) 00560 SELECT CASE(n_d) 00561 CASE(0) 00562 #if __MAX_CONTR > 1 || __MAX_CONTR == 1 00563 CALL contract_spss(work,& 00564 nl_a, nl_b, nl_c, nl_d, & 00565 sphi_a, sphi_b, sphi_c, sphi_d, & 00566 primitives,& 00567 buffer1,buffer2 ) 00568 #else 00569 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00570 work, nl_a, nl_b, nl_c, nl_d, & 00571 sphi_a, & 00572 sphi_b, & 00573 sphi_c, & 00574 sphi_d, & 00575 primitives, & 00576 buffer1, buffer2) 00577 #endif 00578 CASE(1) 00579 #if __MAX_CONTR > 1 || __MAX_CONTR == 1 00580 CALL contract_spsp(work,& 00581 nl_a, nl_b, nl_c, nl_d, & 00582 sphi_a, sphi_b, sphi_c, sphi_d, & 00583 primitives,& 00584 buffer1,buffer2 ) 00585 #else 00586 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00587 work, nl_a, nl_b, nl_c, nl_d, & 00588 sphi_a, & 00589 sphi_b, & 00590 sphi_c, & 00591 sphi_d, & 00592 primitives, & 00593 buffer1, buffer2) 00594 #endif 00595 CASE(2) 00596 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 00597 CALL contract_spsd(work,& 00598 nl_a, nl_b, nl_c, nl_d, & 00599 sphi_a, sphi_b, sphi_c, sphi_d, & 00600 primitives,& 00601 buffer1,buffer2 ) 00602 #else 00603 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00604 work, nl_a, nl_b, nl_c, nl_d, & 00605 sphi_a, & 00606 sphi_b, & 00607 sphi_c, & 00608 sphi_d, & 00609 primitives, & 00610 buffer1, buffer2) 00611 #endif 00612 CASE(3) 00613 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 00614 CALL contract_spsf(work,& 00615 nl_a, nl_b, nl_c, nl_d, & 00616 sphi_a, sphi_b, sphi_c, sphi_d, & 00617 primitives,& 00618 buffer1,buffer2 ) 00619 #else 00620 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00621 work, nl_a, nl_b, nl_c, nl_d, & 00622 sphi_a, & 00623 sphi_b, & 00624 sphi_c, & 00625 sphi_d, & 00626 primitives, & 00627 buffer1, buffer2) 00628 #endif 00629 CASE(4) 00630 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 00631 CALL contract_spsg(work,& 00632 nl_a, nl_b, nl_c, nl_d, & 00633 sphi_a, sphi_b, sphi_c, sphi_d, & 00634 primitives,& 00635 buffer1,buffer2 ) 00636 #else 00637 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00638 work, nl_a, nl_b, nl_c, nl_d, & 00639 sphi_a, & 00640 sphi_b, & 00641 sphi_c, & 00642 sphi_d, & 00643 primitives, & 00644 buffer1, buffer2) 00645 #endif 00646 CASE DEFAULT 00647 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00648 work, nl_a, nl_b, nl_c, nl_d, & 00649 sphi_a, & 00650 sphi_b, & 00651 sphi_c, & 00652 sphi_d, & 00653 primitives, & 00654 buffer1, buffer2) 00655 END SELECT 00656 CASE(1) 00657 SELECT CASE(n_d) 00658 CASE(0) 00659 #if __MAX_CONTR > 1 || __MAX_CONTR == 1 00660 CALL contract_spps(work,& 00661 nl_a, nl_b, nl_c, nl_d, & 00662 sphi_a, sphi_b, sphi_c, sphi_d, & 00663 primitives,& 00664 buffer1,buffer2 ) 00665 #else 00666 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00667 work, nl_a, nl_b, nl_c, nl_d, & 00668 sphi_a, & 00669 sphi_b, & 00670 sphi_c, & 00671 sphi_d, & 00672 primitives, & 00673 buffer1, buffer2) 00674 #endif 00675 CASE(1) 00676 #if __MAX_CONTR > 1 || __MAX_CONTR == 1 00677 CALL contract_sppp(work,& 00678 nl_a, nl_b, nl_c, nl_d, & 00679 sphi_a, sphi_b, sphi_c, sphi_d, & 00680 primitives,& 00681 buffer1,buffer2 ) 00682 #else 00683 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00684 work, nl_a, nl_b, nl_c, nl_d, & 00685 sphi_a, & 00686 sphi_b, & 00687 sphi_c, & 00688 sphi_d, & 00689 primitives, & 00690 buffer1, buffer2) 00691 #endif 00692 CASE(2) 00693 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 00694 CALL contract_sppd(work,& 00695 nl_a, nl_b, nl_c, nl_d, & 00696 sphi_a, sphi_b, sphi_c, sphi_d, & 00697 primitives,& 00698 buffer1,buffer2 ) 00699 #else 00700 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00701 work, nl_a, nl_b, nl_c, nl_d, & 00702 sphi_a, & 00703 sphi_b, & 00704 sphi_c, & 00705 sphi_d, & 00706 primitives, & 00707 buffer1, buffer2) 00708 #endif 00709 CASE(3) 00710 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 00711 CALL contract_sppf(work,& 00712 nl_a, nl_b, nl_c, nl_d, & 00713 sphi_a, sphi_b, sphi_c, sphi_d, & 00714 primitives,& 00715 buffer1,buffer2 ) 00716 #else 00717 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00718 work, nl_a, nl_b, nl_c, nl_d, & 00719 sphi_a, & 00720 sphi_b, & 00721 sphi_c, & 00722 sphi_d, & 00723 primitives, & 00724 buffer1, buffer2) 00725 #endif 00726 CASE(4) 00727 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 00728 CALL contract_sppg(work,& 00729 nl_a, nl_b, nl_c, nl_d, & 00730 sphi_a, sphi_b, sphi_c, sphi_d, & 00731 primitives,& 00732 buffer1,buffer2 ) 00733 #else 00734 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00735 work, nl_a, nl_b, nl_c, nl_d, & 00736 sphi_a, & 00737 sphi_b, & 00738 sphi_c, & 00739 sphi_d, & 00740 primitives, & 00741 buffer1, buffer2) 00742 #endif 00743 CASE DEFAULT 00744 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00745 work, nl_a, nl_b, nl_c, nl_d, & 00746 sphi_a, & 00747 sphi_b, & 00748 sphi_c, & 00749 sphi_d, & 00750 primitives, & 00751 buffer1, buffer2) 00752 END SELECT 00753 CASE(2) 00754 SELECT CASE(n_d) 00755 CASE(0) 00756 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 00757 CALL contract_spds(work,& 00758 nl_a, nl_b, nl_c, nl_d, & 00759 sphi_a, sphi_b, sphi_c, sphi_d, & 00760 primitives,& 00761 buffer1,buffer2 ) 00762 #else 00763 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00764 work, nl_a, nl_b, nl_c, nl_d, & 00765 sphi_a, & 00766 sphi_b, & 00767 sphi_c, & 00768 sphi_d, & 00769 primitives, & 00770 buffer1, buffer2) 00771 #endif 00772 CASE(1) 00773 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 00774 CALL contract_spdp(work,& 00775 nl_a, nl_b, nl_c, nl_d, & 00776 sphi_a, sphi_b, sphi_c, sphi_d, & 00777 primitives,& 00778 buffer1,buffer2 ) 00779 #else 00780 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00781 work, nl_a, nl_b, nl_c, nl_d, & 00782 sphi_a, & 00783 sphi_b, & 00784 sphi_c, & 00785 sphi_d, & 00786 primitives, & 00787 buffer1, buffer2) 00788 #endif 00789 CASE(2) 00790 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 00791 CALL contract_spdd(work,& 00792 nl_a, nl_b, nl_c, nl_d, & 00793 sphi_a, sphi_b, sphi_c, sphi_d, & 00794 primitives,& 00795 buffer1,buffer2 ) 00796 #else 00797 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00798 work, nl_a, nl_b, nl_c, nl_d, & 00799 sphi_a, & 00800 sphi_b, & 00801 sphi_c, & 00802 sphi_d, & 00803 primitives, & 00804 buffer1, buffer2) 00805 #endif 00806 CASE(3) 00807 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 00808 CALL contract_spdf(work,& 00809 nl_a, nl_b, nl_c, nl_d, & 00810 sphi_a, sphi_b, sphi_c, sphi_d, & 00811 primitives,& 00812 buffer1,buffer2 ) 00813 #else 00814 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00815 work, nl_a, nl_b, nl_c, nl_d, & 00816 sphi_a, & 00817 sphi_b, & 00818 sphi_c, & 00819 sphi_d, & 00820 primitives, & 00821 buffer1, buffer2) 00822 #endif 00823 CASE(4) 00824 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 00825 CALL contract_spdg(work,& 00826 nl_a, nl_b, nl_c, nl_d, & 00827 sphi_a, sphi_b, sphi_c, sphi_d, & 00828 primitives,& 00829 buffer1,buffer2 ) 00830 #else 00831 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00832 work, nl_a, nl_b, nl_c, nl_d, & 00833 sphi_a, & 00834 sphi_b, & 00835 sphi_c, & 00836 sphi_d, & 00837 primitives, & 00838 buffer1, buffer2) 00839 #endif 00840 CASE DEFAULT 00841 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00842 work, nl_a, nl_b, nl_c, nl_d, & 00843 sphi_a, & 00844 sphi_b, & 00845 sphi_c, & 00846 sphi_d, & 00847 primitives, & 00848 buffer1, buffer2) 00849 END SELECT 00850 CASE(3) 00851 SELECT CASE(n_d) 00852 CASE(0) 00853 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 00854 CALL contract_spfs(work,& 00855 nl_a, nl_b, nl_c, nl_d, & 00856 sphi_a, sphi_b, sphi_c, sphi_d, & 00857 primitives,& 00858 buffer1,buffer2 ) 00859 #else 00860 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00861 work, nl_a, nl_b, nl_c, nl_d, & 00862 sphi_a, & 00863 sphi_b, & 00864 sphi_c, & 00865 sphi_d, & 00866 primitives, & 00867 buffer1, buffer2) 00868 #endif 00869 CASE(1) 00870 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 00871 CALL contract_spfp(work,& 00872 nl_a, nl_b, nl_c, nl_d, & 00873 sphi_a, sphi_b, sphi_c, sphi_d, & 00874 primitives,& 00875 buffer1,buffer2 ) 00876 #else 00877 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00878 work, nl_a, nl_b, nl_c, nl_d, & 00879 sphi_a, & 00880 sphi_b, & 00881 sphi_c, & 00882 sphi_d, & 00883 primitives, & 00884 buffer1, buffer2) 00885 #endif 00886 CASE(2) 00887 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 00888 CALL contract_spfd(work,& 00889 nl_a, nl_b, nl_c, nl_d, & 00890 sphi_a, sphi_b, sphi_c, sphi_d, & 00891 primitives,& 00892 buffer1,buffer2 ) 00893 #else 00894 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00895 work, nl_a, nl_b, nl_c, nl_d, & 00896 sphi_a, & 00897 sphi_b, & 00898 sphi_c, & 00899 sphi_d, & 00900 primitives, & 00901 buffer1, buffer2) 00902 #endif 00903 CASE(3) 00904 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 00905 CALL contract_spff(work,& 00906 nl_a, nl_b, nl_c, nl_d, & 00907 sphi_a, sphi_b, sphi_c, sphi_d, & 00908 primitives,& 00909 buffer1,buffer2 ) 00910 #else 00911 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00912 work, nl_a, nl_b, nl_c, nl_d, & 00913 sphi_a, & 00914 sphi_b, & 00915 sphi_c, & 00916 sphi_d, & 00917 primitives, & 00918 buffer1, buffer2) 00919 #endif 00920 CASE(4) 00921 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 00922 CALL contract_spfg(work,& 00923 nl_a, nl_b, nl_c, nl_d, & 00924 sphi_a, sphi_b, sphi_c, sphi_d, & 00925 primitives,& 00926 buffer1,buffer2 ) 00927 #else 00928 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00929 work, nl_a, nl_b, nl_c, nl_d, & 00930 sphi_a, & 00931 sphi_b, & 00932 sphi_c, & 00933 sphi_d, & 00934 primitives, & 00935 buffer1, buffer2) 00936 #endif 00937 CASE DEFAULT 00938 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00939 work, nl_a, nl_b, nl_c, nl_d, & 00940 sphi_a, & 00941 sphi_b, & 00942 sphi_c, & 00943 sphi_d, & 00944 primitives, & 00945 buffer1, buffer2) 00946 END SELECT 00947 CASE(4) 00948 SELECT CASE(n_d) 00949 CASE(0) 00950 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 00951 CALL contract_spgs(work,& 00952 nl_a, nl_b, nl_c, nl_d, & 00953 sphi_a, sphi_b, sphi_c, sphi_d, & 00954 primitives,& 00955 buffer1,buffer2 ) 00956 #else 00957 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00958 work, nl_a, nl_b, nl_c, nl_d, & 00959 sphi_a, & 00960 sphi_b, & 00961 sphi_c, & 00962 sphi_d, & 00963 primitives, & 00964 buffer1, buffer2) 00965 #endif 00966 CASE(1) 00967 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 00968 CALL contract_spgp(work,& 00969 nl_a, nl_b, nl_c, nl_d, & 00970 sphi_a, sphi_b, sphi_c, sphi_d, & 00971 primitives,& 00972 buffer1,buffer2 ) 00973 #else 00974 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00975 work, nl_a, nl_b, nl_c, nl_d, & 00976 sphi_a, & 00977 sphi_b, & 00978 sphi_c, & 00979 sphi_d, & 00980 primitives, & 00981 buffer1, buffer2) 00982 #endif 00983 CASE(2) 00984 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 00985 CALL contract_spgd(work,& 00986 nl_a, nl_b, nl_c, nl_d, & 00987 sphi_a, sphi_b, sphi_c, sphi_d, & 00988 primitives,& 00989 buffer1,buffer2 ) 00990 #else 00991 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 00992 work, nl_a, nl_b, nl_c, nl_d, & 00993 sphi_a, & 00994 sphi_b, & 00995 sphi_c, & 00996 sphi_d, & 00997 primitives, & 00998 buffer1, buffer2) 00999 #endif 01000 CASE(3) 01001 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 01002 CALL contract_spgf(work,& 01003 nl_a, nl_b, nl_c, nl_d, & 01004 sphi_a, sphi_b, sphi_c, sphi_d, & 01005 primitives,& 01006 buffer1,buffer2 ) 01007 #else 01008 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01009 work, nl_a, nl_b, nl_c, nl_d, & 01010 sphi_a, & 01011 sphi_b, & 01012 sphi_c, & 01013 sphi_d, & 01014 primitives, & 01015 buffer1, buffer2) 01016 #endif 01017 CASE(4) 01018 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 01019 CALL contract_spgg(work,& 01020 nl_a, nl_b, nl_c, nl_d, & 01021 sphi_a, sphi_b, sphi_c, sphi_d, & 01022 primitives,& 01023 buffer1,buffer2 ) 01024 #else 01025 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01026 work, nl_a, nl_b, nl_c, nl_d, & 01027 sphi_a, & 01028 sphi_b, & 01029 sphi_c, & 01030 sphi_d, & 01031 primitives, & 01032 buffer1, buffer2) 01033 #endif 01034 CASE DEFAULT 01035 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01036 work, nl_a, nl_b, nl_c, nl_d, & 01037 sphi_a, & 01038 sphi_b, & 01039 sphi_c, & 01040 sphi_d, & 01041 primitives, & 01042 buffer1, buffer2) 01043 END SELECT 01044 CASE DEFAULT 01045 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01046 work, nl_a, nl_b, nl_c, nl_d, & 01047 sphi_a, & 01048 sphi_b, & 01049 sphi_c, & 01050 sphi_d, & 01051 primitives, & 01052 buffer1, buffer2) 01053 END SELECT 01054 CASE(2) 01055 SELECT CASE(n_c) 01056 CASE(0) 01057 SELECT CASE(n_d) 01058 CASE(0) 01059 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 01060 CALL contract_sdss(work,& 01061 nl_a, nl_b, nl_c, nl_d, & 01062 sphi_a, sphi_b, sphi_c, sphi_d, & 01063 primitives,& 01064 buffer1,buffer2 ) 01065 #else 01066 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01067 work, nl_a, nl_b, nl_c, nl_d, & 01068 sphi_a, & 01069 sphi_b, & 01070 sphi_c, & 01071 sphi_d, & 01072 primitives, & 01073 buffer1, buffer2) 01074 #endif 01075 CASE(1) 01076 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 01077 CALL contract_sdsp(work,& 01078 nl_a, nl_b, nl_c, nl_d, & 01079 sphi_a, sphi_b, sphi_c, sphi_d, & 01080 primitives,& 01081 buffer1,buffer2 ) 01082 #else 01083 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01084 work, nl_a, nl_b, nl_c, nl_d, & 01085 sphi_a, & 01086 sphi_b, & 01087 sphi_c, & 01088 sphi_d, & 01089 primitives, & 01090 buffer1, buffer2) 01091 #endif 01092 CASE(2) 01093 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 01094 CALL contract_sdsd(work,& 01095 nl_a, nl_b, nl_c, nl_d, & 01096 sphi_a, sphi_b, sphi_c, sphi_d, & 01097 primitives,& 01098 buffer1,buffer2 ) 01099 #else 01100 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01101 work, nl_a, nl_b, nl_c, nl_d, & 01102 sphi_a, & 01103 sphi_b, & 01104 sphi_c, & 01105 sphi_d, & 01106 primitives, & 01107 buffer1, buffer2) 01108 #endif 01109 CASE(3) 01110 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 01111 CALL contract_sdsf(work,& 01112 nl_a, nl_b, nl_c, nl_d, & 01113 sphi_a, sphi_b, sphi_c, sphi_d, & 01114 primitives,& 01115 buffer1,buffer2 ) 01116 #else 01117 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01118 work, nl_a, nl_b, nl_c, nl_d, & 01119 sphi_a, & 01120 sphi_b, & 01121 sphi_c, & 01122 sphi_d, & 01123 primitives, & 01124 buffer1, buffer2) 01125 #endif 01126 CASE(4) 01127 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 01128 CALL contract_sdsg(work,& 01129 nl_a, nl_b, nl_c, nl_d, & 01130 sphi_a, sphi_b, sphi_c, sphi_d, & 01131 primitives,& 01132 buffer1,buffer2 ) 01133 #else 01134 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01135 work, nl_a, nl_b, nl_c, nl_d, & 01136 sphi_a, & 01137 sphi_b, & 01138 sphi_c, & 01139 sphi_d, & 01140 primitives, & 01141 buffer1, buffer2) 01142 #endif 01143 CASE DEFAULT 01144 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01145 work, nl_a, nl_b, nl_c, nl_d, & 01146 sphi_a, & 01147 sphi_b, & 01148 sphi_c, & 01149 sphi_d, & 01150 primitives, & 01151 buffer1, buffer2) 01152 END SELECT 01153 CASE(1) 01154 SELECT CASE(n_d) 01155 CASE(0) 01156 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 01157 CALL contract_sdps(work,& 01158 nl_a, nl_b, nl_c, nl_d, & 01159 sphi_a, sphi_b, sphi_c, sphi_d, & 01160 primitives,& 01161 buffer1,buffer2 ) 01162 #else 01163 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01164 work, nl_a, nl_b, nl_c, nl_d, & 01165 sphi_a, & 01166 sphi_b, & 01167 sphi_c, & 01168 sphi_d, & 01169 primitives, & 01170 buffer1, buffer2) 01171 #endif 01172 CASE(1) 01173 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 01174 CALL contract_sdpp(work,& 01175 nl_a, nl_b, nl_c, nl_d, & 01176 sphi_a, sphi_b, sphi_c, sphi_d, & 01177 primitives,& 01178 buffer1,buffer2 ) 01179 #else 01180 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01181 work, nl_a, nl_b, nl_c, nl_d, & 01182 sphi_a, & 01183 sphi_b, & 01184 sphi_c, & 01185 sphi_d, & 01186 primitives, & 01187 buffer1, buffer2) 01188 #endif 01189 CASE(2) 01190 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 01191 CALL contract_sdpd(work,& 01192 nl_a, nl_b, nl_c, nl_d, & 01193 sphi_a, sphi_b, sphi_c, sphi_d, & 01194 primitives,& 01195 buffer1,buffer2 ) 01196 #else 01197 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01198 work, nl_a, nl_b, nl_c, nl_d, & 01199 sphi_a, & 01200 sphi_b, & 01201 sphi_c, & 01202 sphi_d, & 01203 primitives, & 01204 buffer1, buffer2) 01205 #endif 01206 CASE(3) 01207 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 01208 CALL contract_sdpf(work,& 01209 nl_a, nl_b, nl_c, nl_d, & 01210 sphi_a, sphi_b, sphi_c, sphi_d, & 01211 primitives,& 01212 buffer1,buffer2 ) 01213 #else 01214 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01215 work, nl_a, nl_b, nl_c, nl_d, & 01216 sphi_a, & 01217 sphi_b, & 01218 sphi_c, & 01219 sphi_d, & 01220 primitives, & 01221 buffer1, buffer2) 01222 #endif 01223 CASE(4) 01224 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 01225 CALL contract_sdpg(work,& 01226 nl_a, nl_b, nl_c, nl_d, & 01227 sphi_a, sphi_b, sphi_c, sphi_d, & 01228 primitives,& 01229 buffer1,buffer2 ) 01230 #else 01231 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01232 work, nl_a, nl_b, nl_c, nl_d, & 01233 sphi_a, & 01234 sphi_b, & 01235 sphi_c, & 01236 sphi_d, & 01237 primitives, & 01238 buffer1, buffer2) 01239 #endif 01240 CASE DEFAULT 01241 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01242 work, nl_a, nl_b, nl_c, nl_d, & 01243 sphi_a, & 01244 sphi_b, & 01245 sphi_c, & 01246 sphi_d, & 01247 primitives, & 01248 buffer1, buffer2) 01249 END SELECT 01250 CASE(2) 01251 SELECT CASE(n_d) 01252 CASE(0) 01253 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 01254 CALL contract_sdds(work,& 01255 nl_a, nl_b, nl_c, nl_d, & 01256 sphi_a, sphi_b, sphi_c, sphi_d, & 01257 primitives,& 01258 buffer1,buffer2 ) 01259 #else 01260 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01261 work, nl_a, nl_b, nl_c, nl_d, & 01262 sphi_a, & 01263 sphi_b, & 01264 sphi_c, & 01265 sphi_d, & 01266 primitives, & 01267 buffer1, buffer2) 01268 #endif 01269 CASE(1) 01270 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 01271 CALL contract_sddp(work,& 01272 nl_a, nl_b, nl_c, nl_d, & 01273 sphi_a, sphi_b, sphi_c, sphi_d, & 01274 primitives,& 01275 buffer1,buffer2 ) 01276 #else 01277 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01278 work, nl_a, nl_b, nl_c, nl_d, & 01279 sphi_a, & 01280 sphi_b, & 01281 sphi_c, & 01282 sphi_d, & 01283 primitives, & 01284 buffer1, buffer2) 01285 #endif 01286 CASE(2) 01287 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 01288 CALL contract_sddd(work,& 01289 nl_a, nl_b, nl_c, nl_d, & 01290 sphi_a, sphi_b, sphi_c, sphi_d, & 01291 primitives,& 01292 buffer1,buffer2 ) 01293 #else 01294 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01295 work, nl_a, nl_b, nl_c, nl_d, & 01296 sphi_a, & 01297 sphi_b, & 01298 sphi_c, & 01299 sphi_d, & 01300 primitives, & 01301 buffer1, buffer2) 01302 #endif 01303 CASE(3) 01304 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 01305 CALL contract_sddf(work,& 01306 nl_a, nl_b, nl_c, nl_d, & 01307 sphi_a, sphi_b, sphi_c, sphi_d, & 01308 primitives,& 01309 buffer1,buffer2 ) 01310 #else 01311 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01312 work, nl_a, nl_b, nl_c, nl_d, & 01313 sphi_a, & 01314 sphi_b, & 01315 sphi_c, & 01316 sphi_d, & 01317 primitives, & 01318 buffer1, buffer2) 01319 #endif 01320 CASE(4) 01321 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 01322 CALL contract_sddg(work,& 01323 nl_a, nl_b, nl_c, nl_d, & 01324 sphi_a, sphi_b, sphi_c, sphi_d, & 01325 primitives,& 01326 buffer1,buffer2 ) 01327 #else 01328 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01329 work, nl_a, nl_b, nl_c, nl_d, & 01330 sphi_a, & 01331 sphi_b, & 01332 sphi_c, & 01333 sphi_d, & 01334 primitives, & 01335 buffer1, buffer2) 01336 #endif 01337 CASE DEFAULT 01338 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01339 work, nl_a, nl_b, nl_c, nl_d, & 01340 sphi_a, & 01341 sphi_b, & 01342 sphi_c, & 01343 sphi_d, & 01344 primitives, & 01345 buffer1, buffer2) 01346 END SELECT 01347 CASE(3) 01348 SELECT CASE(n_d) 01349 CASE(0) 01350 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 01351 CALL contract_sdfs(work,& 01352 nl_a, nl_b, nl_c, nl_d, & 01353 sphi_a, sphi_b, sphi_c, sphi_d, & 01354 primitives,& 01355 buffer1,buffer2 ) 01356 #else 01357 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01358 work, nl_a, nl_b, nl_c, nl_d, & 01359 sphi_a, & 01360 sphi_b, & 01361 sphi_c, & 01362 sphi_d, & 01363 primitives, & 01364 buffer1, buffer2) 01365 #endif 01366 CASE(1) 01367 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 01368 CALL contract_sdfp(work,& 01369 nl_a, nl_b, nl_c, nl_d, & 01370 sphi_a, sphi_b, sphi_c, sphi_d, & 01371 primitives,& 01372 buffer1,buffer2 ) 01373 #else 01374 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01375 work, nl_a, nl_b, nl_c, nl_d, & 01376 sphi_a, & 01377 sphi_b, & 01378 sphi_c, & 01379 sphi_d, & 01380 primitives, & 01381 buffer1, buffer2) 01382 #endif 01383 CASE(2) 01384 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 01385 CALL contract_sdfd(work,& 01386 nl_a, nl_b, nl_c, nl_d, & 01387 sphi_a, sphi_b, sphi_c, sphi_d, & 01388 primitives,& 01389 buffer1,buffer2 ) 01390 #else 01391 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01392 work, nl_a, nl_b, nl_c, nl_d, & 01393 sphi_a, & 01394 sphi_b, & 01395 sphi_c, & 01396 sphi_d, & 01397 primitives, & 01398 buffer1, buffer2) 01399 #endif 01400 CASE(3) 01401 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 01402 CALL contract_sdff(work,& 01403 nl_a, nl_b, nl_c, nl_d, & 01404 sphi_a, sphi_b, sphi_c, sphi_d, & 01405 primitives,& 01406 buffer1,buffer2 ) 01407 #else 01408 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01409 work, nl_a, nl_b, nl_c, nl_d, & 01410 sphi_a, & 01411 sphi_b, & 01412 sphi_c, & 01413 sphi_d, & 01414 primitives, & 01415 buffer1, buffer2) 01416 #endif 01417 CASE(4) 01418 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 01419 CALL contract_sdfg(work,& 01420 nl_a, nl_b, nl_c, nl_d, & 01421 sphi_a, sphi_b, sphi_c, sphi_d, & 01422 primitives,& 01423 buffer1,buffer2 ) 01424 #else 01425 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01426 work, nl_a, nl_b, nl_c, nl_d, & 01427 sphi_a, & 01428 sphi_b, & 01429 sphi_c, & 01430 sphi_d, & 01431 primitives, & 01432 buffer1, buffer2) 01433 #endif 01434 CASE DEFAULT 01435 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01436 work, nl_a, nl_b, nl_c, nl_d, & 01437 sphi_a, & 01438 sphi_b, & 01439 sphi_c, & 01440 sphi_d, & 01441 primitives, & 01442 buffer1, buffer2) 01443 END SELECT 01444 CASE(4) 01445 SELECT CASE(n_d) 01446 CASE(0) 01447 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 01448 CALL contract_sdgs(work,& 01449 nl_a, nl_b, nl_c, nl_d, & 01450 sphi_a, sphi_b, sphi_c, sphi_d, & 01451 primitives,& 01452 buffer1,buffer2 ) 01453 #else 01454 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01455 work, nl_a, nl_b, nl_c, nl_d, & 01456 sphi_a, & 01457 sphi_b, & 01458 sphi_c, & 01459 sphi_d, & 01460 primitives, & 01461 buffer1, buffer2) 01462 #endif 01463 CASE(1) 01464 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 01465 CALL contract_sdgp(work,& 01466 nl_a, nl_b, nl_c, nl_d, & 01467 sphi_a, sphi_b, sphi_c, sphi_d, & 01468 primitives,& 01469 buffer1,buffer2 ) 01470 #else 01471 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01472 work, nl_a, nl_b, nl_c, nl_d, & 01473 sphi_a, & 01474 sphi_b, & 01475 sphi_c, & 01476 sphi_d, & 01477 primitives, & 01478 buffer1, buffer2) 01479 #endif 01480 CASE(2) 01481 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 01482 CALL contract_sdgd(work,& 01483 nl_a, nl_b, nl_c, nl_d, & 01484 sphi_a, sphi_b, sphi_c, sphi_d, & 01485 primitives,& 01486 buffer1,buffer2 ) 01487 #else 01488 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01489 work, nl_a, nl_b, nl_c, nl_d, & 01490 sphi_a, & 01491 sphi_b, & 01492 sphi_c, & 01493 sphi_d, & 01494 primitives, & 01495 buffer1, buffer2) 01496 #endif 01497 CASE(3) 01498 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 01499 CALL contract_sdgf(work,& 01500 nl_a, nl_b, nl_c, nl_d, & 01501 sphi_a, sphi_b, sphi_c, sphi_d, & 01502 primitives,& 01503 buffer1,buffer2 ) 01504 #else 01505 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01506 work, nl_a, nl_b, nl_c, nl_d, & 01507 sphi_a, & 01508 sphi_b, & 01509 sphi_c, & 01510 sphi_d, & 01511 primitives, & 01512 buffer1, buffer2) 01513 #endif 01514 CASE(4) 01515 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 01516 CALL contract_sdgg(work,& 01517 nl_a, nl_b, nl_c, nl_d, & 01518 sphi_a, sphi_b, sphi_c, sphi_d, & 01519 primitives,& 01520 buffer1,buffer2 ) 01521 #else 01522 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01523 work, nl_a, nl_b, nl_c, nl_d, & 01524 sphi_a, & 01525 sphi_b, & 01526 sphi_c, & 01527 sphi_d, & 01528 primitives, & 01529 buffer1, buffer2) 01530 #endif 01531 CASE DEFAULT 01532 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01533 work, nl_a, nl_b, nl_c, nl_d, & 01534 sphi_a, & 01535 sphi_b, & 01536 sphi_c, & 01537 sphi_d, & 01538 primitives, & 01539 buffer1, buffer2) 01540 END SELECT 01541 CASE DEFAULT 01542 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01543 work, nl_a, nl_b, nl_c, nl_d, & 01544 sphi_a, & 01545 sphi_b, & 01546 sphi_c, & 01547 sphi_d, & 01548 primitives, & 01549 buffer1, buffer2) 01550 END SELECT 01551 CASE(3) 01552 SELECT CASE(n_c) 01553 CASE(0) 01554 SELECT CASE(n_d) 01555 CASE(0) 01556 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 01557 CALL contract_sfss(work,& 01558 nl_a, nl_b, nl_c, nl_d, & 01559 sphi_a, sphi_b, sphi_c, sphi_d, & 01560 primitives,& 01561 buffer1,buffer2 ) 01562 #else 01563 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01564 work, nl_a, nl_b, nl_c, nl_d, & 01565 sphi_a, & 01566 sphi_b, & 01567 sphi_c, & 01568 sphi_d, & 01569 primitives, & 01570 buffer1, buffer2) 01571 #endif 01572 CASE(1) 01573 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 01574 CALL contract_sfsp(work,& 01575 nl_a, nl_b, nl_c, nl_d, & 01576 sphi_a, sphi_b, sphi_c, sphi_d, & 01577 primitives,& 01578 buffer1,buffer2 ) 01579 #else 01580 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01581 work, nl_a, nl_b, nl_c, nl_d, & 01582 sphi_a, & 01583 sphi_b, & 01584 sphi_c, & 01585 sphi_d, & 01586 primitives, & 01587 buffer1, buffer2) 01588 #endif 01589 CASE(2) 01590 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 01591 CALL contract_sfsd(work,& 01592 nl_a, nl_b, nl_c, nl_d, & 01593 sphi_a, sphi_b, sphi_c, sphi_d, & 01594 primitives,& 01595 buffer1,buffer2 ) 01596 #else 01597 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01598 work, nl_a, nl_b, nl_c, nl_d, & 01599 sphi_a, & 01600 sphi_b, & 01601 sphi_c, & 01602 sphi_d, & 01603 primitives, & 01604 buffer1, buffer2) 01605 #endif 01606 CASE(3) 01607 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 01608 CALL contract_sfsf(work,& 01609 nl_a, nl_b, nl_c, nl_d, & 01610 sphi_a, sphi_b, sphi_c, sphi_d, & 01611 primitives,& 01612 buffer1,buffer2 ) 01613 #else 01614 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01615 work, nl_a, nl_b, nl_c, nl_d, & 01616 sphi_a, & 01617 sphi_b, & 01618 sphi_c, & 01619 sphi_d, & 01620 primitives, & 01621 buffer1, buffer2) 01622 #endif 01623 CASE(4) 01624 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 01625 CALL contract_sfsg(work,& 01626 nl_a, nl_b, nl_c, nl_d, & 01627 sphi_a, sphi_b, sphi_c, sphi_d, & 01628 primitives,& 01629 buffer1,buffer2 ) 01630 #else 01631 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01632 work, nl_a, nl_b, nl_c, nl_d, & 01633 sphi_a, & 01634 sphi_b, & 01635 sphi_c, & 01636 sphi_d, & 01637 primitives, & 01638 buffer1, buffer2) 01639 #endif 01640 CASE DEFAULT 01641 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01642 work, nl_a, nl_b, nl_c, nl_d, & 01643 sphi_a, & 01644 sphi_b, & 01645 sphi_c, & 01646 sphi_d, & 01647 primitives, & 01648 buffer1, buffer2) 01649 END SELECT 01650 CASE(1) 01651 SELECT CASE(n_d) 01652 CASE(0) 01653 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 01654 CALL contract_sfps(work,& 01655 nl_a, nl_b, nl_c, nl_d, & 01656 sphi_a, sphi_b, sphi_c, sphi_d, & 01657 primitives,& 01658 buffer1,buffer2 ) 01659 #else 01660 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01661 work, nl_a, nl_b, nl_c, nl_d, & 01662 sphi_a, & 01663 sphi_b, & 01664 sphi_c, & 01665 sphi_d, & 01666 primitives, & 01667 buffer1, buffer2) 01668 #endif 01669 CASE(1) 01670 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 01671 CALL contract_sfpp(work,& 01672 nl_a, nl_b, nl_c, nl_d, & 01673 sphi_a, sphi_b, sphi_c, sphi_d, & 01674 primitives,& 01675 buffer1,buffer2 ) 01676 #else 01677 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01678 work, nl_a, nl_b, nl_c, nl_d, & 01679 sphi_a, & 01680 sphi_b, & 01681 sphi_c, & 01682 sphi_d, & 01683 primitives, & 01684 buffer1, buffer2) 01685 #endif 01686 CASE(2) 01687 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 01688 CALL contract_sfpd(work,& 01689 nl_a, nl_b, nl_c, nl_d, & 01690 sphi_a, sphi_b, sphi_c, sphi_d, & 01691 primitives,& 01692 buffer1,buffer2 ) 01693 #else 01694 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01695 work, nl_a, nl_b, nl_c, nl_d, & 01696 sphi_a, & 01697 sphi_b, & 01698 sphi_c, & 01699 sphi_d, & 01700 primitives, & 01701 buffer1, buffer2) 01702 #endif 01703 CASE(3) 01704 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 01705 CALL contract_sfpf(work,& 01706 nl_a, nl_b, nl_c, nl_d, & 01707 sphi_a, sphi_b, sphi_c, sphi_d, & 01708 primitives,& 01709 buffer1,buffer2 ) 01710 #else 01711 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01712 work, nl_a, nl_b, nl_c, nl_d, & 01713 sphi_a, & 01714 sphi_b, & 01715 sphi_c, & 01716 sphi_d, & 01717 primitives, & 01718 buffer1, buffer2) 01719 #endif 01720 CASE(4) 01721 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 01722 CALL contract_sfpg(work,& 01723 nl_a, nl_b, nl_c, nl_d, & 01724 sphi_a, sphi_b, sphi_c, sphi_d, & 01725 primitives,& 01726 buffer1,buffer2 ) 01727 #else 01728 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01729 work, nl_a, nl_b, nl_c, nl_d, & 01730 sphi_a, & 01731 sphi_b, & 01732 sphi_c, & 01733 sphi_d, & 01734 primitives, & 01735 buffer1, buffer2) 01736 #endif 01737 CASE DEFAULT 01738 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01739 work, nl_a, nl_b, nl_c, nl_d, & 01740 sphi_a, & 01741 sphi_b, & 01742 sphi_c, & 01743 sphi_d, & 01744 primitives, & 01745 buffer1, buffer2) 01746 END SELECT 01747 CASE(2) 01748 SELECT CASE(n_d) 01749 CASE(0) 01750 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 01751 CALL contract_sfds(work,& 01752 nl_a, nl_b, nl_c, nl_d, & 01753 sphi_a, sphi_b, sphi_c, sphi_d, & 01754 primitives,& 01755 buffer1,buffer2 ) 01756 #else 01757 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01758 work, nl_a, nl_b, nl_c, nl_d, & 01759 sphi_a, & 01760 sphi_b, & 01761 sphi_c, & 01762 sphi_d, & 01763 primitives, & 01764 buffer1, buffer2) 01765 #endif 01766 CASE(1) 01767 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 01768 CALL contract_sfdp(work,& 01769 nl_a, nl_b, nl_c, nl_d, & 01770 sphi_a, sphi_b, sphi_c, sphi_d, & 01771 primitives,& 01772 buffer1,buffer2 ) 01773 #else 01774 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01775 work, nl_a, nl_b, nl_c, nl_d, & 01776 sphi_a, & 01777 sphi_b, & 01778 sphi_c, & 01779 sphi_d, & 01780 primitives, & 01781 buffer1, buffer2) 01782 #endif 01783 CASE(2) 01784 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 01785 CALL contract_sfdd(work,& 01786 nl_a, nl_b, nl_c, nl_d, & 01787 sphi_a, sphi_b, sphi_c, sphi_d, & 01788 primitives,& 01789 buffer1,buffer2 ) 01790 #else 01791 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01792 work, nl_a, nl_b, nl_c, nl_d, & 01793 sphi_a, & 01794 sphi_b, & 01795 sphi_c, & 01796 sphi_d, & 01797 primitives, & 01798 buffer1, buffer2) 01799 #endif 01800 CASE(3) 01801 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 01802 CALL contract_sfdf(work,& 01803 nl_a, nl_b, nl_c, nl_d, & 01804 sphi_a, sphi_b, sphi_c, sphi_d, & 01805 primitives,& 01806 buffer1,buffer2 ) 01807 #else 01808 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01809 work, nl_a, nl_b, nl_c, nl_d, & 01810 sphi_a, & 01811 sphi_b, & 01812 sphi_c, & 01813 sphi_d, & 01814 primitives, & 01815 buffer1, buffer2) 01816 #endif 01817 CASE(4) 01818 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 01819 CALL contract_sfdg(work,& 01820 nl_a, nl_b, nl_c, nl_d, & 01821 sphi_a, sphi_b, sphi_c, sphi_d, & 01822 primitives,& 01823 buffer1,buffer2 ) 01824 #else 01825 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01826 work, nl_a, nl_b, nl_c, nl_d, & 01827 sphi_a, & 01828 sphi_b, & 01829 sphi_c, & 01830 sphi_d, & 01831 primitives, & 01832 buffer1, buffer2) 01833 #endif 01834 CASE DEFAULT 01835 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01836 work, nl_a, nl_b, nl_c, nl_d, & 01837 sphi_a, & 01838 sphi_b, & 01839 sphi_c, & 01840 sphi_d, & 01841 primitives, & 01842 buffer1, buffer2) 01843 END SELECT 01844 CASE(3) 01845 SELECT CASE(n_d) 01846 CASE(0) 01847 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 01848 CALL contract_sffs(work,& 01849 nl_a, nl_b, nl_c, nl_d, & 01850 sphi_a, sphi_b, sphi_c, sphi_d, & 01851 primitives,& 01852 buffer1,buffer2 ) 01853 #else 01854 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01855 work, nl_a, nl_b, nl_c, nl_d, & 01856 sphi_a, & 01857 sphi_b, & 01858 sphi_c, & 01859 sphi_d, & 01860 primitives, & 01861 buffer1, buffer2) 01862 #endif 01863 CASE(1) 01864 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 01865 CALL contract_sffp(work,& 01866 nl_a, nl_b, nl_c, nl_d, & 01867 sphi_a, sphi_b, sphi_c, sphi_d, & 01868 primitives,& 01869 buffer1,buffer2 ) 01870 #else 01871 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01872 work, nl_a, nl_b, nl_c, nl_d, & 01873 sphi_a, & 01874 sphi_b, & 01875 sphi_c, & 01876 sphi_d, & 01877 primitives, & 01878 buffer1, buffer2) 01879 #endif 01880 CASE(2) 01881 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 01882 CALL contract_sffd(work,& 01883 nl_a, nl_b, nl_c, nl_d, & 01884 sphi_a, sphi_b, sphi_c, sphi_d, & 01885 primitives,& 01886 buffer1,buffer2 ) 01887 #else 01888 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01889 work, nl_a, nl_b, nl_c, nl_d, & 01890 sphi_a, & 01891 sphi_b, & 01892 sphi_c, & 01893 sphi_d, & 01894 primitives, & 01895 buffer1, buffer2) 01896 #endif 01897 CASE(3) 01898 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 01899 CALL contract_sfff(work,& 01900 nl_a, nl_b, nl_c, nl_d, & 01901 sphi_a, sphi_b, sphi_c, sphi_d, & 01902 primitives,& 01903 buffer1,buffer2 ) 01904 #else 01905 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01906 work, nl_a, nl_b, nl_c, nl_d, & 01907 sphi_a, & 01908 sphi_b, & 01909 sphi_c, & 01910 sphi_d, & 01911 primitives, & 01912 buffer1, buffer2) 01913 #endif 01914 CASE(4) 01915 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 01916 CALL contract_sffg(work,& 01917 nl_a, nl_b, nl_c, nl_d, & 01918 sphi_a, sphi_b, sphi_c, sphi_d, & 01919 primitives,& 01920 buffer1,buffer2 ) 01921 #else 01922 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01923 work, nl_a, nl_b, nl_c, nl_d, & 01924 sphi_a, & 01925 sphi_b, & 01926 sphi_c, & 01927 sphi_d, & 01928 primitives, & 01929 buffer1, buffer2) 01930 #endif 01931 CASE DEFAULT 01932 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01933 work, nl_a, nl_b, nl_c, nl_d, & 01934 sphi_a, & 01935 sphi_b, & 01936 sphi_c, & 01937 sphi_d, & 01938 primitives, & 01939 buffer1, buffer2) 01940 END SELECT 01941 CASE(4) 01942 SELECT CASE(n_d) 01943 CASE(0) 01944 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 01945 CALL contract_sfgs(work,& 01946 nl_a, nl_b, nl_c, nl_d, & 01947 sphi_a, sphi_b, sphi_c, sphi_d, & 01948 primitives,& 01949 buffer1,buffer2 ) 01950 #else 01951 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01952 work, nl_a, nl_b, nl_c, nl_d, & 01953 sphi_a, & 01954 sphi_b, & 01955 sphi_c, & 01956 sphi_d, & 01957 primitives, & 01958 buffer1, buffer2) 01959 #endif 01960 CASE(1) 01961 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 01962 CALL contract_sfgp(work,& 01963 nl_a, nl_b, nl_c, nl_d, & 01964 sphi_a, sphi_b, sphi_c, sphi_d, & 01965 primitives,& 01966 buffer1,buffer2 ) 01967 #else 01968 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01969 work, nl_a, nl_b, nl_c, nl_d, & 01970 sphi_a, & 01971 sphi_b, & 01972 sphi_c, & 01973 sphi_d, & 01974 primitives, & 01975 buffer1, buffer2) 01976 #endif 01977 CASE(2) 01978 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 01979 CALL contract_sfgd(work,& 01980 nl_a, nl_b, nl_c, nl_d, & 01981 sphi_a, sphi_b, sphi_c, sphi_d, & 01982 primitives,& 01983 buffer1,buffer2 ) 01984 #else 01985 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 01986 work, nl_a, nl_b, nl_c, nl_d, & 01987 sphi_a, & 01988 sphi_b, & 01989 sphi_c, & 01990 sphi_d, & 01991 primitives, & 01992 buffer1, buffer2) 01993 #endif 01994 CASE(3) 01995 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 01996 CALL contract_sfgf(work,& 01997 nl_a, nl_b, nl_c, nl_d, & 01998 sphi_a, sphi_b, sphi_c, sphi_d, & 01999 primitives,& 02000 buffer1,buffer2 ) 02001 #else 02002 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02003 work, nl_a, nl_b, nl_c, nl_d, & 02004 sphi_a, & 02005 sphi_b, & 02006 sphi_c, & 02007 sphi_d, & 02008 primitives, & 02009 buffer1, buffer2) 02010 #endif 02011 CASE(4) 02012 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 02013 CALL contract_sfgg(work,& 02014 nl_a, nl_b, nl_c, nl_d, & 02015 sphi_a, sphi_b, sphi_c, sphi_d, & 02016 primitives,& 02017 buffer1,buffer2 ) 02018 #else 02019 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02020 work, nl_a, nl_b, nl_c, nl_d, & 02021 sphi_a, & 02022 sphi_b, & 02023 sphi_c, & 02024 sphi_d, & 02025 primitives, & 02026 buffer1, buffer2) 02027 #endif 02028 CASE DEFAULT 02029 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02030 work, nl_a, nl_b, nl_c, nl_d, & 02031 sphi_a, & 02032 sphi_b, & 02033 sphi_c, & 02034 sphi_d, & 02035 primitives, & 02036 buffer1, buffer2) 02037 END SELECT 02038 CASE DEFAULT 02039 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02040 work, nl_a, nl_b, nl_c, nl_d, & 02041 sphi_a, & 02042 sphi_b, & 02043 sphi_c, & 02044 sphi_d, & 02045 primitives, & 02046 buffer1, buffer2) 02047 END SELECT 02048 CASE(4) 02049 SELECT CASE(n_c) 02050 CASE(0) 02051 SELECT CASE(n_d) 02052 CASE(0) 02053 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 02054 CALL contract_sgss(work,& 02055 nl_a, nl_b, nl_c, nl_d, & 02056 sphi_a, sphi_b, sphi_c, sphi_d, & 02057 primitives,& 02058 buffer1,buffer2 ) 02059 #else 02060 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02061 work, nl_a, nl_b, nl_c, nl_d, & 02062 sphi_a, & 02063 sphi_b, & 02064 sphi_c, & 02065 sphi_d, & 02066 primitives, & 02067 buffer1, buffer2) 02068 #endif 02069 CASE(1) 02070 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 02071 CALL contract_sgsp(work,& 02072 nl_a, nl_b, nl_c, nl_d, & 02073 sphi_a, sphi_b, sphi_c, sphi_d, & 02074 primitives,& 02075 buffer1,buffer2 ) 02076 #else 02077 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02078 work, nl_a, nl_b, nl_c, nl_d, & 02079 sphi_a, & 02080 sphi_b, & 02081 sphi_c, & 02082 sphi_d, & 02083 primitives, & 02084 buffer1, buffer2) 02085 #endif 02086 CASE(2) 02087 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 02088 CALL contract_sgsd(work,& 02089 nl_a, nl_b, nl_c, nl_d, & 02090 sphi_a, sphi_b, sphi_c, sphi_d, & 02091 primitives,& 02092 buffer1,buffer2 ) 02093 #else 02094 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02095 work, nl_a, nl_b, nl_c, nl_d, & 02096 sphi_a, & 02097 sphi_b, & 02098 sphi_c, & 02099 sphi_d, & 02100 primitives, & 02101 buffer1, buffer2) 02102 #endif 02103 CASE(3) 02104 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 02105 CALL contract_sgsf(work,& 02106 nl_a, nl_b, nl_c, nl_d, & 02107 sphi_a, sphi_b, sphi_c, sphi_d, & 02108 primitives,& 02109 buffer1,buffer2 ) 02110 #else 02111 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02112 work, nl_a, nl_b, nl_c, nl_d, & 02113 sphi_a, & 02114 sphi_b, & 02115 sphi_c, & 02116 sphi_d, & 02117 primitives, & 02118 buffer1, buffer2) 02119 #endif 02120 CASE(4) 02121 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 02122 CALL contract_sgsg(work,& 02123 nl_a, nl_b, nl_c, nl_d, & 02124 sphi_a, sphi_b, sphi_c, sphi_d, & 02125 primitives,& 02126 buffer1,buffer2 ) 02127 #else 02128 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02129 work, nl_a, nl_b, nl_c, nl_d, & 02130 sphi_a, & 02131 sphi_b, & 02132 sphi_c, & 02133 sphi_d, & 02134 primitives, & 02135 buffer1, buffer2) 02136 #endif 02137 CASE DEFAULT 02138 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02139 work, nl_a, nl_b, nl_c, nl_d, & 02140 sphi_a, & 02141 sphi_b, & 02142 sphi_c, & 02143 sphi_d, & 02144 primitives, & 02145 buffer1, buffer2) 02146 END SELECT 02147 CASE(1) 02148 SELECT CASE(n_d) 02149 CASE(0) 02150 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 02151 CALL contract_sgps(work,& 02152 nl_a, nl_b, nl_c, nl_d, & 02153 sphi_a, sphi_b, sphi_c, sphi_d, & 02154 primitives,& 02155 buffer1,buffer2 ) 02156 #else 02157 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02158 work, nl_a, nl_b, nl_c, nl_d, & 02159 sphi_a, & 02160 sphi_b, & 02161 sphi_c, & 02162 sphi_d, & 02163 primitives, & 02164 buffer1, buffer2) 02165 #endif 02166 CASE(1) 02167 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 02168 CALL contract_sgpp(work,& 02169 nl_a, nl_b, nl_c, nl_d, & 02170 sphi_a, sphi_b, sphi_c, sphi_d, & 02171 primitives,& 02172 buffer1,buffer2 ) 02173 #else 02174 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02175 work, nl_a, nl_b, nl_c, nl_d, & 02176 sphi_a, & 02177 sphi_b, & 02178 sphi_c, & 02179 sphi_d, & 02180 primitives, & 02181 buffer1, buffer2) 02182 #endif 02183 CASE(2) 02184 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 02185 CALL contract_sgpd(work,& 02186 nl_a, nl_b, nl_c, nl_d, & 02187 sphi_a, sphi_b, sphi_c, sphi_d, & 02188 primitives,& 02189 buffer1,buffer2 ) 02190 #else 02191 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02192 work, nl_a, nl_b, nl_c, nl_d, & 02193 sphi_a, & 02194 sphi_b, & 02195 sphi_c, & 02196 sphi_d, & 02197 primitives, & 02198 buffer1, buffer2) 02199 #endif 02200 CASE(3) 02201 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 02202 CALL contract_sgpf(work,& 02203 nl_a, nl_b, nl_c, nl_d, & 02204 sphi_a, sphi_b, sphi_c, sphi_d, & 02205 primitives,& 02206 buffer1,buffer2 ) 02207 #else 02208 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02209 work, nl_a, nl_b, nl_c, nl_d, & 02210 sphi_a, & 02211 sphi_b, & 02212 sphi_c, & 02213 sphi_d, & 02214 primitives, & 02215 buffer1, buffer2) 02216 #endif 02217 CASE(4) 02218 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 02219 CALL contract_sgpg(work,& 02220 nl_a, nl_b, nl_c, nl_d, & 02221 sphi_a, sphi_b, sphi_c, sphi_d, & 02222 primitives,& 02223 buffer1,buffer2 ) 02224 #else 02225 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02226 work, nl_a, nl_b, nl_c, nl_d, & 02227 sphi_a, & 02228 sphi_b, & 02229 sphi_c, & 02230 sphi_d, & 02231 primitives, & 02232 buffer1, buffer2) 02233 #endif 02234 CASE DEFAULT 02235 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02236 work, nl_a, nl_b, nl_c, nl_d, & 02237 sphi_a, & 02238 sphi_b, & 02239 sphi_c, & 02240 sphi_d, & 02241 primitives, & 02242 buffer1, buffer2) 02243 END SELECT 02244 CASE(2) 02245 SELECT CASE(n_d) 02246 CASE(0) 02247 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 02248 CALL contract_sgds(work,& 02249 nl_a, nl_b, nl_c, nl_d, & 02250 sphi_a, sphi_b, sphi_c, sphi_d, & 02251 primitives,& 02252 buffer1,buffer2 ) 02253 #else 02254 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02255 work, nl_a, nl_b, nl_c, nl_d, & 02256 sphi_a, & 02257 sphi_b, & 02258 sphi_c, & 02259 sphi_d, & 02260 primitives, & 02261 buffer1, buffer2) 02262 #endif 02263 CASE(1) 02264 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 02265 CALL contract_sgdp(work,& 02266 nl_a, nl_b, nl_c, nl_d, & 02267 sphi_a, sphi_b, sphi_c, sphi_d, & 02268 primitives,& 02269 buffer1,buffer2 ) 02270 #else 02271 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02272 work, nl_a, nl_b, nl_c, nl_d, & 02273 sphi_a, & 02274 sphi_b, & 02275 sphi_c, & 02276 sphi_d, & 02277 primitives, & 02278 buffer1, buffer2) 02279 #endif 02280 CASE(2) 02281 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 02282 CALL contract_sgdd(work,& 02283 nl_a, nl_b, nl_c, nl_d, & 02284 sphi_a, sphi_b, sphi_c, sphi_d, & 02285 primitives,& 02286 buffer1,buffer2 ) 02287 #else 02288 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02289 work, nl_a, nl_b, nl_c, nl_d, & 02290 sphi_a, & 02291 sphi_b, & 02292 sphi_c, & 02293 sphi_d, & 02294 primitives, & 02295 buffer1, buffer2) 02296 #endif 02297 CASE(3) 02298 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 02299 CALL contract_sgdf(work,& 02300 nl_a, nl_b, nl_c, nl_d, & 02301 sphi_a, sphi_b, sphi_c, sphi_d, & 02302 primitives,& 02303 buffer1,buffer2 ) 02304 #else 02305 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02306 work, nl_a, nl_b, nl_c, nl_d, & 02307 sphi_a, & 02308 sphi_b, & 02309 sphi_c, & 02310 sphi_d, & 02311 primitives, & 02312 buffer1, buffer2) 02313 #endif 02314 CASE(4) 02315 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 02316 CALL contract_sgdg(work,& 02317 nl_a, nl_b, nl_c, nl_d, & 02318 sphi_a, sphi_b, sphi_c, sphi_d, & 02319 primitives,& 02320 buffer1,buffer2 ) 02321 #else 02322 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02323 work, nl_a, nl_b, nl_c, nl_d, & 02324 sphi_a, & 02325 sphi_b, & 02326 sphi_c, & 02327 sphi_d, & 02328 primitives, & 02329 buffer1, buffer2) 02330 #endif 02331 CASE DEFAULT 02332 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02333 work, nl_a, nl_b, nl_c, nl_d, & 02334 sphi_a, & 02335 sphi_b, & 02336 sphi_c, & 02337 sphi_d, & 02338 primitives, & 02339 buffer1, buffer2) 02340 END SELECT 02341 CASE(3) 02342 SELECT CASE(n_d) 02343 CASE(0) 02344 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 02345 CALL contract_sgfs(work,& 02346 nl_a, nl_b, nl_c, nl_d, & 02347 sphi_a, sphi_b, sphi_c, sphi_d, & 02348 primitives,& 02349 buffer1,buffer2 ) 02350 #else 02351 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02352 work, nl_a, nl_b, nl_c, nl_d, & 02353 sphi_a, & 02354 sphi_b, & 02355 sphi_c, & 02356 sphi_d, & 02357 primitives, & 02358 buffer1, buffer2) 02359 #endif 02360 CASE(1) 02361 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 02362 CALL contract_sgfp(work,& 02363 nl_a, nl_b, nl_c, nl_d, & 02364 sphi_a, sphi_b, sphi_c, sphi_d, & 02365 primitives,& 02366 buffer1,buffer2 ) 02367 #else 02368 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02369 work, nl_a, nl_b, nl_c, nl_d, & 02370 sphi_a, & 02371 sphi_b, & 02372 sphi_c, & 02373 sphi_d, & 02374 primitives, & 02375 buffer1, buffer2) 02376 #endif 02377 CASE(2) 02378 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 02379 CALL contract_sgfd(work,& 02380 nl_a, nl_b, nl_c, nl_d, & 02381 sphi_a, sphi_b, sphi_c, sphi_d, & 02382 primitives,& 02383 buffer1,buffer2 ) 02384 #else 02385 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02386 work, nl_a, nl_b, nl_c, nl_d, & 02387 sphi_a, & 02388 sphi_b, & 02389 sphi_c, & 02390 sphi_d, & 02391 primitives, & 02392 buffer1, buffer2) 02393 #endif 02394 CASE(3) 02395 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 02396 CALL contract_sgff(work,& 02397 nl_a, nl_b, nl_c, nl_d, & 02398 sphi_a, sphi_b, sphi_c, sphi_d, & 02399 primitives,& 02400 buffer1,buffer2 ) 02401 #else 02402 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02403 work, nl_a, nl_b, nl_c, nl_d, & 02404 sphi_a, & 02405 sphi_b, & 02406 sphi_c, & 02407 sphi_d, & 02408 primitives, & 02409 buffer1, buffer2) 02410 #endif 02411 CASE(4) 02412 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 02413 CALL contract_sgfg(work,& 02414 nl_a, nl_b, nl_c, nl_d, & 02415 sphi_a, sphi_b, sphi_c, sphi_d, & 02416 primitives,& 02417 buffer1,buffer2 ) 02418 #else 02419 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02420 work, nl_a, nl_b, nl_c, nl_d, & 02421 sphi_a, & 02422 sphi_b, & 02423 sphi_c, & 02424 sphi_d, & 02425 primitives, & 02426 buffer1, buffer2) 02427 #endif 02428 CASE DEFAULT 02429 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02430 work, nl_a, nl_b, nl_c, nl_d, & 02431 sphi_a, & 02432 sphi_b, & 02433 sphi_c, & 02434 sphi_d, & 02435 primitives, & 02436 buffer1, buffer2) 02437 END SELECT 02438 CASE(4) 02439 SELECT CASE(n_d) 02440 CASE(0) 02441 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 02442 CALL contract_sggs(work,& 02443 nl_a, nl_b, nl_c, nl_d, & 02444 sphi_a, sphi_b, sphi_c, sphi_d, & 02445 primitives,& 02446 buffer1,buffer2 ) 02447 #else 02448 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02449 work, nl_a, nl_b, nl_c, nl_d, & 02450 sphi_a, & 02451 sphi_b, & 02452 sphi_c, & 02453 sphi_d, & 02454 primitives, & 02455 buffer1, buffer2) 02456 #endif 02457 CASE(1) 02458 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 02459 CALL contract_sggp(work,& 02460 nl_a, nl_b, nl_c, nl_d, & 02461 sphi_a, sphi_b, sphi_c, sphi_d, & 02462 primitives,& 02463 buffer1,buffer2 ) 02464 #else 02465 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02466 work, nl_a, nl_b, nl_c, nl_d, & 02467 sphi_a, & 02468 sphi_b, & 02469 sphi_c, & 02470 sphi_d, & 02471 primitives, & 02472 buffer1, buffer2) 02473 #endif 02474 CASE(2) 02475 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 02476 CALL contract_sggd(work,& 02477 nl_a, nl_b, nl_c, nl_d, & 02478 sphi_a, sphi_b, sphi_c, sphi_d, & 02479 primitives,& 02480 buffer1,buffer2 ) 02481 #else 02482 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02483 work, nl_a, nl_b, nl_c, nl_d, & 02484 sphi_a, & 02485 sphi_b, & 02486 sphi_c, & 02487 sphi_d, & 02488 primitives, & 02489 buffer1, buffer2) 02490 #endif 02491 CASE(3) 02492 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 02493 CALL contract_sggf(work,& 02494 nl_a, nl_b, nl_c, nl_d, & 02495 sphi_a, sphi_b, sphi_c, sphi_d, & 02496 primitives,& 02497 buffer1,buffer2 ) 02498 #else 02499 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02500 work, nl_a, nl_b, nl_c, nl_d, & 02501 sphi_a, & 02502 sphi_b, & 02503 sphi_c, & 02504 sphi_d, & 02505 primitives, & 02506 buffer1, buffer2) 02507 #endif 02508 CASE(4) 02509 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 02510 CALL contract_sggg(work,& 02511 nl_a, nl_b, nl_c, nl_d, & 02512 sphi_a, sphi_b, sphi_c, sphi_d, & 02513 primitives,& 02514 buffer1,buffer2 ) 02515 #else 02516 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02517 work, nl_a, nl_b, nl_c, nl_d, & 02518 sphi_a, & 02519 sphi_b, & 02520 sphi_c, & 02521 sphi_d, & 02522 primitives, & 02523 buffer1, buffer2) 02524 #endif 02525 CASE DEFAULT 02526 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02527 work, nl_a, nl_b, nl_c, nl_d, & 02528 sphi_a, & 02529 sphi_b, & 02530 sphi_c, & 02531 sphi_d, & 02532 primitives, & 02533 buffer1, buffer2) 02534 END SELECT 02535 CASE DEFAULT 02536 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02537 work, nl_a, nl_b, nl_c, nl_d, & 02538 sphi_a, & 02539 sphi_b, & 02540 sphi_c, & 02541 sphi_d, & 02542 primitives, & 02543 buffer1, buffer2) 02544 END SELECT 02545 CASE DEFAULT 02546 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02547 work, nl_a, nl_b, nl_c, nl_d, & 02548 sphi_a, & 02549 sphi_b, & 02550 sphi_c, & 02551 sphi_d, & 02552 primitives, & 02553 buffer1, buffer2) 02554 END SELECT 02555 CASE(1) 02556 SELECT CASE(n_b) 02557 CASE(0) 02558 SELECT CASE(n_c) 02559 CASE(0) 02560 SELECT CASE(n_d) 02561 CASE(0) 02562 #if __MAX_CONTR > 1 || __MAX_CONTR == 1 02563 CALL contract_psss(work,& 02564 nl_a, nl_b, nl_c, nl_d, & 02565 sphi_a, sphi_b, sphi_c, sphi_d, & 02566 primitives,& 02567 buffer1,buffer2 ) 02568 #else 02569 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02570 work, nl_a, nl_b, nl_c, nl_d, & 02571 sphi_a, & 02572 sphi_b, & 02573 sphi_c, & 02574 sphi_d, & 02575 primitives, & 02576 buffer1, buffer2) 02577 #endif 02578 CASE(1) 02579 #if __MAX_CONTR > 1 || __MAX_CONTR == 1 02580 CALL contract_pssp(work,& 02581 nl_a, nl_b, nl_c, nl_d, & 02582 sphi_a, sphi_b, sphi_c, sphi_d, & 02583 primitives,& 02584 buffer1,buffer2 ) 02585 #else 02586 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02587 work, nl_a, nl_b, nl_c, nl_d, & 02588 sphi_a, & 02589 sphi_b, & 02590 sphi_c, & 02591 sphi_d, & 02592 primitives, & 02593 buffer1, buffer2) 02594 #endif 02595 CASE(2) 02596 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 02597 CALL contract_pssd(work,& 02598 nl_a, nl_b, nl_c, nl_d, & 02599 sphi_a, sphi_b, sphi_c, sphi_d, & 02600 primitives,& 02601 buffer1,buffer2 ) 02602 #else 02603 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02604 work, nl_a, nl_b, nl_c, nl_d, & 02605 sphi_a, & 02606 sphi_b, & 02607 sphi_c, & 02608 sphi_d, & 02609 primitives, & 02610 buffer1, buffer2) 02611 #endif 02612 CASE(3) 02613 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 02614 CALL contract_pssf(work,& 02615 nl_a, nl_b, nl_c, nl_d, & 02616 sphi_a, sphi_b, sphi_c, sphi_d, & 02617 primitives,& 02618 buffer1,buffer2 ) 02619 #else 02620 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02621 work, nl_a, nl_b, nl_c, nl_d, & 02622 sphi_a, & 02623 sphi_b, & 02624 sphi_c, & 02625 sphi_d, & 02626 primitives, & 02627 buffer1, buffer2) 02628 #endif 02629 CASE(4) 02630 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 02631 CALL contract_pssg(work,& 02632 nl_a, nl_b, nl_c, nl_d, & 02633 sphi_a, sphi_b, sphi_c, sphi_d, & 02634 primitives,& 02635 buffer1,buffer2 ) 02636 #else 02637 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02638 work, nl_a, nl_b, nl_c, nl_d, & 02639 sphi_a, & 02640 sphi_b, & 02641 sphi_c, & 02642 sphi_d, & 02643 primitives, & 02644 buffer1, buffer2) 02645 #endif 02646 CASE DEFAULT 02647 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02648 work, nl_a, nl_b, nl_c, nl_d, & 02649 sphi_a, & 02650 sphi_b, & 02651 sphi_c, & 02652 sphi_d, & 02653 primitives, & 02654 buffer1, buffer2) 02655 END SELECT 02656 CASE(1) 02657 SELECT CASE(n_d) 02658 CASE(0) 02659 #if __MAX_CONTR > 1 || __MAX_CONTR == 1 02660 CALL contract_psps(work,& 02661 nl_a, nl_b, nl_c, nl_d, & 02662 sphi_a, sphi_b, sphi_c, sphi_d, & 02663 primitives,& 02664 buffer1,buffer2 ) 02665 #else 02666 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02667 work, nl_a, nl_b, nl_c, nl_d, & 02668 sphi_a, & 02669 sphi_b, & 02670 sphi_c, & 02671 sphi_d, & 02672 primitives, & 02673 buffer1, buffer2) 02674 #endif 02675 CASE(1) 02676 #if __MAX_CONTR > 1 || __MAX_CONTR == 1 02677 CALL contract_pspp(work,& 02678 nl_a, nl_b, nl_c, nl_d, & 02679 sphi_a, sphi_b, sphi_c, sphi_d, & 02680 primitives,& 02681 buffer1,buffer2 ) 02682 #else 02683 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02684 work, nl_a, nl_b, nl_c, nl_d, & 02685 sphi_a, & 02686 sphi_b, & 02687 sphi_c, & 02688 sphi_d, & 02689 primitives, & 02690 buffer1, buffer2) 02691 #endif 02692 CASE(2) 02693 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 02694 CALL contract_pspd(work,& 02695 nl_a, nl_b, nl_c, nl_d, & 02696 sphi_a, sphi_b, sphi_c, sphi_d, & 02697 primitives,& 02698 buffer1,buffer2 ) 02699 #else 02700 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02701 work, nl_a, nl_b, nl_c, nl_d, & 02702 sphi_a, & 02703 sphi_b, & 02704 sphi_c, & 02705 sphi_d, & 02706 primitives, & 02707 buffer1, buffer2) 02708 #endif 02709 CASE(3) 02710 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 02711 CALL contract_pspf(work,& 02712 nl_a, nl_b, nl_c, nl_d, & 02713 sphi_a, sphi_b, sphi_c, sphi_d, & 02714 primitives,& 02715 buffer1,buffer2 ) 02716 #else 02717 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02718 work, nl_a, nl_b, nl_c, nl_d, & 02719 sphi_a, & 02720 sphi_b, & 02721 sphi_c, & 02722 sphi_d, & 02723 primitives, & 02724 buffer1, buffer2) 02725 #endif 02726 CASE(4) 02727 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 02728 CALL contract_pspg(work,& 02729 nl_a, nl_b, nl_c, nl_d, & 02730 sphi_a, sphi_b, sphi_c, sphi_d, & 02731 primitives,& 02732 buffer1,buffer2 ) 02733 #else 02734 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02735 work, nl_a, nl_b, nl_c, nl_d, & 02736 sphi_a, & 02737 sphi_b, & 02738 sphi_c, & 02739 sphi_d, & 02740 primitives, & 02741 buffer1, buffer2) 02742 #endif 02743 CASE DEFAULT 02744 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02745 work, nl_a, nl_b, nl_c, nl_d, & 02746 sphi_a, & 02747 sphi_b, & 02748 sphi_c, & 02749 sphi_d, & 02750 primitives, & 02751 buffer1, buffer2) 02752 END SELECT 02753 CASE(2) 02754 SELECT CASE(n_d) 02755 CASE(0) 02756 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 02757 CALL contract_psds(work,& 02758 nl_a, nl_b, nl_c, nl_d, & 02759 sphi_a, sphi_b, sphi_c, sphi_d, & 02760 primitives,& 02761 buffer1,buffer2 ) 02762 #else 02763 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02764 work, nl_a, nl_b, nl_c, nl_d, & 02765 sphi_a, & 02766 sphi_b, & 02767 sphi_c, & 02768 sphi_d, & 02769 primitives, & 02770 buffer1, buffer2) 02771 #endif 02772 CASE(1) 02773 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 02774 CALL contract_psdp(work,& 02775 nl_a, nl_b, nl_c, nl_d, & 02776 sphi_a, sphi_b, sphi_c, sphi_d, & 02777 primitives,& 02778 buffer1,buffer2 ) 02779 #else 02780 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02781 work, nl_a, nl_b, nl_c, nl_d, & 02782 sphi_a, & 02783 sphi_b, & 02784 sphi_c, & 02785 sphi_d, & 02786 primitives, & 02787 buffer1, buffer2) 02788 #endif 02789 CASE(2) 02790 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 02791 CALL contract_psdd(work,& 02792 nl_a, nl_b, nl_c, nl_d, & 02793 sphi_a, sphi_b, sphi_c, sphi_d, & 02794 primitives,& 02795 buffer1,buffer2 ) 02796 #else 02797 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02798 work, nl_a, nl_b, nl_c, nl_d, & 02799 sphi_a, & 02800 sphi_b, & 02801 sphi_c, & 02802 sphi_d, & 02803 primitives, & 02804 buffer1, buffer2) 02805 #endif 02806 CASE(3) 02807 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 02808 CALL contract_psdf(work,& 02809 nl_a, nl_b, nl_c, nl_d, & 02810 sphi_a, sphi_b, sphi_c, sphi_d, & 02811 primitives,& 02812 buffer1,buffer2 ) 02813 #else 02814 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02815 work, nl_a, nl_b, nl_c, nl_d, & 02816 sphi_a, & 02817 sphi_b, & 02818 sphi_c, & 02819 sphi_d, & 02820 primitives, & 02821 buffer1, buffer2) 02822 #endif 02823 CASE(4) 02824 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 02825 CALL contract_psdg(work,& 02826 nl_a, nl_b, nl_c, nl_d, & 02827 sphi_a, sphi_b, sphi_c, sphi_d, & 02828 primitives,& 02829 buffer1,buffer2 ) 02830 #else 02831 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02832 work, nl_a, nl_b, nl_c, nl_d, & 02833 sphi_a, & 02834 sphi_b, & 02835 sphi_c, & 02836 sphi_d, & 02837 primitives, & 02838 buffer1, buffer2) 02839 #endif 02840 CASE DEFAULT 02841 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02842 work, nl_a, nl_b, nl_c, nl_d, & 02843 sphi_a, & 02844 sphi_b, & 02845 sphi_c, & 02846 sphi_d, & 02847 primitives, & 02848 buffer1, buffer2) 02849 END SELECT 02850 CASE(3) 02851 SELECT CASE(n_d) 02852 CASE(0) 02853 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 02854 CALL contract_psfs(work,& 02855 nl_a, nl_b, nl_c, nl_d, & 02856 sphi_a, sphi_b, sphi_c, sphi_d, & 02857 primitives,& 02858 buffer1,buffer2 ) 02859 #else 02860 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02861 work, nl_a, nl_b, nl_c, nl_d, & 02862 sphi_a, & 02863 sphi_b, & 02864 sphi_c, & 02865 sphi_d, & 02866 primitives, & 02867 buffer1, buffer2) 02868 #endif 02869 CASE(1) 02870 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 02871 CALL contract_psfp(work,& 02872 nl_a, nl_b, nl_c, nl_d, & 02873 sphi_a, sphi_b, sphi_c, sphi_d, & 02874 primitives,& 02875 buffer1,buffer2 ) 02876 #else 02877 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02878 work, nl_a, nl_b, nl_c, nl_d, & 02879 sphi_a, & 02880 sphi_b, & 02881 sphi_c, & 02882 sphi_d, & 02883 primitives, & 02884 buffer1, buffer2) 02885 #endif 02886 CASE(2) 02887 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 02888 CALL contract_psfd(work,& 02889 nl_a, nl_b, nl_c, nl_d, & 02890 sphi_a, sphi_b, sphi_c, sphi_d, & 02891 primitives,& 02892 buffer1,buffer2 ) 02893 #else 02894 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02895 work, nl_a, nl_b, nl_c, nl_d, & 02896 sphi_a, & 02897 sphi_b, & 02898 sphi_c, & 02899 sphi_d, & 02900 primitives, & 02901 buffer1, buffer2) 02902 #endif 02903 CASE(3) 02904 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 02905 CALL contract_psff(work,& 02906 nl_a, nl_b, nl_c, nl_d, & 02907 sphi_a, sphi_b, sphi_c, sphi_d, & 02908 primitives,& 02909 buffer1,buffer2 ) 02910 #else 02911 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02912 work, nl_a, nl_b, nl_c, nl_d, & 02913 sphi_a, & 02914 sphi_b, & 02915 sphi_c, & 02916 sphi_d, & 02917 primitives, & 02918 buffer1, buffer2) 02919 #endif 02920 CASE(4) 02921 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 02922 CALL contract_psfg(work,& 02923 nl_a, nl_b, nl_c, nl_d, & 02924 sphi_a, sphi_b, sphi_c, sphi_d, & 02925 primitives,& 02926 buffer1,buffer2 ) 02927 #else 02928 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02929 work, nl_a, nl_b, nl_c, nl_d, & 02930 sphi_a, & 02931 sphi_b, & 02932 sphi_c, & 02933 sphi_d, & 02934 primitives, & 02935 buffer1, buffer2) 02936 #endif 02937 CASE DEFAULT 02938 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02939 work, nl_a, nl_b, nl_c, nl_d, & 02940 sphi_a, & 02941 sphi_b, & 02942 sphi_c, & 02943 sphi_d, & 02944 primitives, & 02945 buffer1, buffer2) 02946 END SELECT 02947 CASE(4) 02948 SELECT CASE(n_d) 02949 CASE(0) 02950 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 02951 CALL contract_psgs(work,& 02952 nl_a, nl_b, nl_c, nl_d, & 02953 sphi_a, sphi_b, sphi_c, sphi_d, & 02954 primitives,& 02955 buffer1,buffer2 ) 02956 #else 02957 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02958 work, nl_a, nl_b, nl_c, nl_d, & 02959 sphi_a, & 02960 sphi_b, & 02961 sphi_c, & 02962 sphi_d, & 02963 primitives, & 02964 buffer1, buffer2) 02965 #endif 02966 CASE(1) 02967 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 02968 CALL contract_psgp(work,& 02969 nl_a, nl_b, nl_c, nl_d, & 02970 sphi_a, sphi_b, sphi_c, sphi_d, & 02971 primitives,& 02972 buffer1,buffer2 ) 02973 #else 02974 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02975 work, nl_a, nl_b, nl_c, nl_d, & 02976 sphi_a, & 02977 sphi_b, & 02978 sphi_c, & 02979 sphi_d, & 02980 primitives, & 02981 buffer1, buffer2) 02982 #endif 02983 CASE(2) 02984 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 02985 CALL contract_psgd(work,& 02986 nl_a, nl_b, nl_c, nl_d, & 02987 sphi_a, sphi_b, sphi_c, sphi_d, & 02988 primitives,& 02989 buffer1,buffer2 ) 02990 #else 02991 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 02992 work, nl_a, nl_b, nl_c, nl_d, & 02993 sphi_a, & 02994 sphi_b, & 02995 sphi_c, & 02996 sphi_d, & 02997 primitives, & 02998 buffer1, buffer2) 02999 #endif 03000 CASE(3) 03001 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 03002 CALL contract_psgf(work,& 03003 nl_a, nl_b, nl_c, nl_d, & 03004 sphi_a, sphi_b, sphi_c, sphi_d, & 03005 primitives,& 03006 buffer1,buffer2 ) 03007 #else 03008 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03009 work, nl_a, nl_b, nl_c, nl_d, & 03010 sphi_a, & 03011 sphi_b, & 03012 sphi_c, & 03013 sphi_d, & 03014 primitives, & 03015 buffer1, buffer2) 03016 #endif 03017 CASE(4) 03018 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 03019 CALL contract_psgg(work,& 03020 nl_a, nl_b, nl_c, nl_d, & 03021 sphi_a, sphi_b, sphi_c, sphi_d, & 03022 primitives,& 03023 buffer1,buffer2 ) 03024 #else 03025 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03026 work, nl_a, nl_b, nl_c, nl_d, & 03027 sphi_a, & 03028 sphi_b, & 03029 sphi_c, & 03030 sphi_d, & 03031 primitives, & 03032 buffer1, buffer2) 03033 #endif 03034 CASE DEFAULT 03035 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03036 work, nl_a, nl_b, nl_c, nl_d, & 03037 sphi_a, & 03038 sphi_b, & 03039 sphi_c, & 03040 sphi_d, & 03041 primitives, & 03042 buffer1, buffer2) 03043 END SELECT 03044 CASE DEFAULT 03045 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03046 work, nl_a, nl_b, nl_c, nl_d, & 03047 sphi_a, & 03048 sphi_b, & 03049 sphi_c, & 03050 sphi_d, & 03051 primitives, & 03052 buffer1, buffer2) 03053 END SELECT 03054 CASE(1) 03055 SELECT CASE(n_c) 03056 CASE(0) 03057 SELECT CASE(n_d) 03058 CASE(0) 03059 #if __MAX_CONTR > 1 || __MAX_CONTR == 1 03060 CALL contract_ppss(work,& 03061 nl_a, nl_b, nl_c, nl_d, & 03062 sphi_a, sphi_b, sphi_c, sphi_d, & 03063 primitives,& 03064 buffer1,buffer2 ) 03065 #else 03066 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03067 work, nl_a, nl_b, nl_c, nl_d, & 03068 sphi_a, & 03069 sphi_b, & 03070 sphi_c, & 03071 sphi_d, & 03072 primitives, & 03073 buffer1, buffer2) 03074 #endif 03075 CASE(1) 03076 #if __MAX_CONTR > 1 || __MAX_CONTR == 1 03077 CALL contract_ppsp(work,& 03078 nl_a, nl_b, nl_c, nl_d, & 03079 sphi_a, sphi_b, sphi_c, sphi_d, & 03080 primitives,& 03081 buffer1,buffer2 ) 03082 #else 03083 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03084 work, nl_a, nl_b, nl_c, nl_d, & 03085 sphi_a, & 03086 sphi_b, & 03087 sphi_c, & 03088 sphi_d, & 03089 primitives, & 03090 buffer1, buffer2) 03091 #endif 03092 CASE(2) 03093 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 03094 CALL contract_ppsd(work,& 03095 nl_a, nl_b, nl_c, nl_d, & 03096 sphi_a, sphi_b, sphi_c, sphi_d, & 03097 primitives,& 03098 buffer1,buffer2 ) 03099 #else 03100 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03101 work, nl_a, nl_b, nl_c, nl_d, & 03102 sphi_a, & 03103 sphi_b, & 03104 sphi_c, & 03105 sphi_d, & 03106 primitives, & 03107 buffer1, buffer2) 03108 #endif 03109 CASE(3) 03110 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 03111 CALL contract_ppsf(work,& 03112 nl_a, nl_b, nl_c, nl_d, & 03113 sphi_a, sphi_b, sphi_c, sphi_d, & 03114 primitives,& 03115 buffer1,buffer2 ) 03116 #else 03117 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03118 work, nl_a, nl_b, nl_c, nl_d, & 03119 sphi_a, & 03120 sphi_b, & 03121 sphi_c, & 03122 sphi_d, & 03123 primitives, & 03124 buffer1, buffer2) 03125 #endif 03126 CASE(4) 03127 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 03128 CALL contract_ppsg(work,& 03129 nl_a, nl_b, nl_c, nl_d, & 03130 sphi_a, sphi_b, sphi_c, sphi_d, & 03131 primitives,& 03132 buffer1,buffer2 ) 03133 #else 03134 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03135 work, nl_a, nl_b, nl_c, nl_d, & 03136 sphi_a, & 03137 sphi_b, & 03138 sphi_c, & 03139 sphi_d, & 03140 primitives, & 03141 buffer1, buffer2) 03142 #endif 03143 CASE DEFAULT 03144 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03145 work, nl_a, nl_b, nl_c, nl_d, & 03146 sphi_a, & 03147 sphi_b, & 03148 sphi_c, & 03149 sphi_d, & 03150 primitives, & 03151 buffer1, buffer2) 03152 END SELECT 03153 CASE(1) 03154 SELECT CASE(n_d) 03155 CASE(0) 03156 #if __MAX_CONTR > 1 || __MAX_CONTR == 1 03157 CALL contract_ppps(work,& 03158 nl_a, nl_b, nl_c, nl_d, & 03159 sphi_a, sphi_b, sphi_c, sphi_d, & 03160 primitives,& 03161 buffer1,buffer2 ) 03162 #else 03163 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03164 work, nl_a, nl_b, nl_c, nl_d, & 03165 sphi_a, & 03166 sphi_b, & 03167 sphi_c, & 03168 sphi_d, & 03169 primitives, & 03170 buffer1, buffer2) 03171 #endif 03172 CASE(1) 03173 #if __MAX_CONTR > 1 || __MAX_CONTR == 1 03174 CALL contract_pppp(work,& 03175 nl_a, nl_b, nl_c, nl_d, & 03176 sphi_a, sphi_b, sphi_c, sphi_d, & 03177 primitives,& 03178 buffer1,buffer2 ) 03179 #else 03180 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03181 work, nl_a, nl_b, nl_c, nl_d, & 03182 sphi_a, & 03183 sphi_b, & 03184 sphi_c, & 03185 sphi_d, & 03186 primitives, & 03187 buffer1, buffer2) 03188 #endif 03189 CASE(2) 03190 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 03191 CALL contract_pppd(work,& 03192 nl_a, nl_b, nl_c, nl_d, & 03193 sphi_a, sphi_b, sphi_c, sphi_d, & 03194 primitives,& 03195 buffer1,buffer2 ) 03196 #else 03197 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03198 work, nl_a, nl_b, nl_c, nl_d, & 03199 sphi_a, & 03200 sphi_b, & 03201 sphi_c, & 03202 sphi_d, & 03203 primitives, & 03204 buffer1, buffer2) 03205 #endif 03206 CASE(3) 03207 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 03208 CALL contract_pppf(work,& 03209 nl_a, nl_b, nl_c, nl_d, & 03210 sphi_a, sphi_b, sphi_c, sphi_d, & 03211 primitives,& 03212 buffer1,buffer2 ) 03213 #else 03214 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03215 work, nl_a, nl_b, nl_c, nl_d, & 03216 sphi_a, & 03217 sphi_b, & 03218 sphi_c, & 03219 sphi_d, & 03220 primitives, & 03221 buffer1, buffer2) 03222 #endif 03223 CASE(4) 03224 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 03225 CALL contract_pppg(work,& 03226 nl_a, nl_b, nl_c, nl_d, & 03227 sphi_a, sphi_b, sphi_c, sphi_d, & 03228 primitives,& 03229 buffer1,buffer2 ) 03230 #else 03231 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03232 work, nl_a, nl_b, nl_c, nl_d, & 03233 sphi_a, & 03234 sphi_b, & 03235 sphi_c, & 03236 sphi_d, & 03237 primitives, & 03238 buffer1, buffer2) 03239 #endif 03240 CASE DEFAULT 03241 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03242 work, nl_a, nl_b, nl_c, nl_d, & 03243 sphi_a, & 03244 sphi_b, & 03245 sphi_c, & 03246 sphi_d, & 03247 primitives, & 03248 buffer1, buffer2) 03249 END SELECT 03250 CASE(2) 03251 SELECT CASE(n_d) 03252 CASE(0) 03253 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 03254 CALL contract_ppds(work,& 03255 nl_a, nl_b, nl_c, nl_d, & 03256 sphi_a, sphi_b, sphi_c, sphi_d, & 03257 primitives,& 03258 buffer1,buffer2 ) 03259 #else 03260 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03261 work, nl_a, nl_b, nl_c, nl_d, & 03262 sphi_a, & 03263 sphi_b, & 03264 sphi_c, & 03265 sphi_d, & 03266 primitives, & 03267 buffer1, buffer2) 03268 #endif 03269 CASE(1) 03270 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 03271 CALL contract_ppdp(work,& 03272 nl_a, nl_b, nl_c, nl_d, & 03273 sphi_a, sphi_b, sphi_c, sphi_d, & 03274 primitives,& 03275 buffer1,buffer2 ) 03276 #else 03277 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03278 work, nl_a, nl_b, nl_c, nl_d, & 03279 sphi_a, & 03280 sphi_b, & 03281 sphi_c, & 03282 sphi_d, & 03283 primitives, & 03284 buffer1, buffer2) 03285 #endif 03286 CASE(2) 03287 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 03288 CALL contract_ppdd(work,& 03289 nl_a, nl_b, nl_c, nl_d, & 03290 sphi_a, sphi_b, sphi_c, sphi_d, & 03291 primitives,& 03292 buffer1,buffer2 ) 03293 #else 03294 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03295 work, nl_a, nl_b, nl_c, nl_d, & 03296 sphi_a, & 03297 sphi_b, & 03298 sphi_c, & 03299 sphi_d, & 03300 primitives, & 03301 buffer1, buffer2) 03302 #endif 03303 CASE(3) 03304 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 03305 CALL contract_ppdf(work,& 03306 nl_a, nl_b, nl_c, nl_d, & 03307 sphi_a, sphi_b, sphi_c, sphi_d, & 03308 primitives,& 03309 buffer1,buffer2 ) 03310 #else 03311 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03312 work, nl_a, nl_b, nl_c, nl_d, & 03313 sphi_a, & 03314 sphi_b, & 03315 sphi_c, & 03316 sphi_d, & 03317 primitives, & 03318 buffer1, buffer2) 03319 #endif 03320 CASE(4) 03321 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 03322 CALL contract_ppdg(work,& 03323 nl_a, nl_b, nl_c, nl_d, & 03324 sphi_a, sphi_b, sphi_c, sphi_d, & 03325 primitives,& 03326 buffer1,buffer2 ) 03327 #else 03328 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03329 work, nl_a, nl_b, nl_c, nl_d, & 03330 sphi_a, & 03331 sphi_b, & 03332 sphi_c, & 03333 sphi_d, & 03334 primitives, & 03335 buffer1, buffer2) 03336 #endif 03337 CASE DEFAULT 03338 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03339 work, nl_a, nl_b, nl_c, nl_d, & 03340 sphi_a, & 03341 sphi_b, & 03342 sphi_c, & 03343 sphi_d, & 03344 primitives, & 03345 buffer1, buffer2) 03346 END SELECT 03347 CASE(3) 03348 SELECT CASE(n_d) 03349 CASE(0) 03350 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 03351 CALL contract_ppfs(work,& 03352 nl_a, nl_b, nl_c, nl_d, & 03353 sphi_a, sphi_b, sphi_c, sphi_d, & 03354 primitives,& 03355 buffer1,buffer2 ) 03356 #else 03357 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03358 work, nl_a, nl_b, nl_c, nl_d, & 03359 sphi_a, & 03360 sphi_b, & 03361 sphi_c, & 03362 sphi_d, & 03363 primitives, & 03364 buffer1, buffer2) 03365 #endif 03366 CASE(1) 03367 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 03368 CALL contract_ppfp(work,& 03369 nl_a, nl_b, nl_c, nl_d, & 03370 sphi_a, sphi_b, sphi_c, sphi_d, & 03371 primitives,& 03372 buffer1,buffer2 ) 03373 #else 03374 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03375 work, nl_a, nl_b, nl_c, nl_d, & 03376 sphi_a, & 03377 sphi_b, & 03378 sphi_c, & 03379 sphi_d, & 03380 primitives, & 03381 buffer1, buffer2) 03382 #endif 03383 CASE(2) 03384 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 03385 CALL contract_ppfd(work,& 03386 nl_a, nl_b, nl_c, nl_d, & 03387 sphi_a, sphi_b, sphi_c, sphi_d, & 03388 primitives,& 03389 buffer1,buffer2 ) 03390 #else 03391 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03392 work, nl_a, nl_b, nl_c, nl_d, & 03393 sphi_a, & 03394 sphi_b, & 03395 sphi_c, & 03396 sphi_d, & 03397 primitives, & 03398 buffer1, buffer2) 03399 #endif 03400 CASE(3) 03401 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 03402 CALL contract_ppff(work,& 03403 nl_a, nl_b, nl_c, nl_d, & 03404 sphi_a, sphi_b, sphi_c, sphi_d, & 03405 primitives,& 03406 buffer1,buffer2 ) 03407 #else 03408 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03409 work, nl_a, nl_b, nl_c, nl_d, & 03410 sphi_a, & 03411 sphi_b, & 03412 sphi_c, & 03413 sphi_d, & 03414 primitives, & 03415 buffer1, buffer2) 03416 #endif 03417 CASE(4) 03418 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 03419 CALL contract_ppfg(work,& 03420 nl_a, nl_b, nl_c, nl_d, & 03421 sphi_a, sphi_b, sphi_c, sphi_d, & 03422 primitives,& 03423 buffer1,buffer2 ) 03424 #else 03425 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03426 work, nl_a, nl_b, nl_c, nl_d, & 03427 sphi_a, & 03428 sphi_b, & 03429 sphi_c, & 03430 sphi_d, & 03431 primitives, & 03432 buffer1, buffer2) 03433 #endif 03434 CASE DEFAULT 03435 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03436 work, nl_a, nl_b, nl_c, nl_d, & 03437 sphi_a, & 03438 sphi_b, & 03439 sphi_c, & 03440 sphi_d, & 03441 primitives, & 03442 buffer1, buffer2) 03443 END SELECT 03444 CASE(4) 03445 SELECT CASE(n_d) 03446 CASE(0) 03447 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 03448 CALL contract_ppgs(work,& 03449 nl_a, nl_b, nl_c, nl_d, & 03450 sphi_a, sphi_b, sphi_c, sphi_d, & 03451 primitives,& 03452 buffer1,buffer2 ) 03453 #else 03454 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03455 work, nl_a, nl_b, nl_c, nl_d, & 03456 sphi_a, & 03457 sphi_b, & 03458 sphi_c, & 03459 sphi_d, & 03460 primitives, & 03461 buffer1, buffer2) 03462 #endif 03463 CASE(1) 03464 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 03465 CALL contract_ppgp(work,& 03466 nl_a, nl_b, nl_c, nl_d, & 03467 sphi_a, sphi_b, sphi_c, sphi_d, & 03468 primitives,& 03469 buffer1,buffer2 ) 03470 #else 03471 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03472 work, nl_a, nl_b, nl_c, nl_d, & 03473 sphi_a, & 03474 sphi_b, & 03475 sphi_c, & 03476 sphi_d, & 03477 primitives, & 03478 buffer1, buffer2) 03479 #endif 03480 CASE(2) 03481 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 03482 CALL contract_ppgd(work,& 03483 nl_a, nl_b, nl_c, nl_d, & 03484 sphi_a, sphi_b, sphi_c, sphi_d, & 03485 primitives,& 03486 buffer1,buffer2 ) 03487 #else 03488 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03489 work, nl_a, nl_b, nl_c, nl_d, & 03490 sphi_a, & 03491 sphi_b, & 03492 sphi_c, & 03493 sphi_d, & 03494 primitives, & 03495 buffer1, buffer2) 03496 #endif 03497 CASE(3) 03498 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 03499 CALL contract_ppgf(work,& 03500 nl_a, nl_b, nl_c, nl_d, & 03501 sphi_a, sphi_b, sphi_c, sphi_d, & 03502 primitives,& 03503 buffer1,buffer2 ) 03504 #else 03505 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03506 work, nl_a, nl_b, nl_c, nl_d, & 03507 sphi_a, & 03508 sphi_b, & 03509 sphi_c, & 03510 sphi_d, & 03511 primitives, & 03512 buffer1, buffer2) 03513 #endif 03514 CASE(4) 03515 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 03516 CALL contract_ppgg(work,& 03517 nl_a, nl_b, nl_c, nl_d, & 03518 sphi_a, sphi_b, sphi_c, sphi_d, & 03519 primitives,& 03520 buffer1,buffer2 ) 03521 #else 03522 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03523 work, nl_a, nl_b, nl_c, nl_d, & 03524 sphi_a, & 03525 sphi_b, & 03526 sphi_c, & 03527 sphi_d, & 03528 primitives, & 03529 buffer1, buffer2) 03530 #endif 03531 CASE DEFAULT 03532 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03533 work, nl_a, nl_b, nl_c, nl_d, & 03534 sphi_a, & 03535 sphi_b, & 03536 sphi_c, & 03537 sphi_d, & 03538 primitives, & 03539 buffer1, buffer2) 03540 END SELECT 03541 CASE DEFAULT 03542 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03543 work, nl_a, nl_b, nl_c, nl_d, & 03544 sphi_a, & 03545 sphi_b, & 03546 sphi_c, & 03547 sphi_d, & 03548 primitives, & 03549 buffer1, buffer2) 03550 END SELECT 03551 CASE(2) 03552 SELECT CASE(n_c) 03553 CASE(0) 03554 SELECT CASE(n_d) 03555 CASE(0) 03556 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 03557 CALL contract_pdss(work,& 03558 nl_a, nl_b, nl_c, nl_d, & 03559 sphi_a, sphi_b, sphi_c, sphi_d, & 03560 primitives,& 03561 buffer1,buffer2 ) 03562 #else 03563 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03564 work, nl_a, nl_b, nl_c, nl_d, & 03565 sphi_a, & 03566 sphi_b, & 03567 sphi_c, & 03568 sphi_d, & 03569 primitives, & 03570 buffer1, buffer2) 03571 #endif 03572 CASE(1) 03573 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 03574 CALL contract_pdsp(work,& 03575 nl_a, nl_b, nl_c, nl_d, & 03576 sphi_a, sphi_b, sphi_c, sphi_d, & 03577 primitives,& 03578 buffer1,buffer2 ) 03579 #else 03580 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03581 work, nl_a, nl_b, nl_c, nl_d, & 03582 sphi_a, & 03583 sphi_b, & 03584 sphi_c, & 03585 sphi_d, & 03586 primitives, & 03587 buffer1, buffer2) 03588 #endif 03589 CASE(2) 03590 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 03591 CALL contract_pdsd(work,& 03592 nl_a, nl_b, nl_c, nl_d, & 03593 sphi_a, sphi_b, sphi_c, sphi_d, & 03594 primitives,& 03595 buffer1,buffer2 ) 03596 #else 03597 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03598 work, nl_a, nl_b, nl_c, nl_d, & 03599 sphi_a, & 03600 sphi_b, & 03601 sphi_c, & 03602 sphi_d, & 03603 primitives, & 03604 buffer1, buffer2) 03605 #endif 03606 CASE(3) 03607 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 03608 CALL contract_pdsf(work,& 03609 nl_a, nl_b, nl_c, nl_d, & 03610 sphi_a, sphi_b, sphi_c, sphi_d, & 03611 primitives,& 03612 buffer1,buffer2 ) 03613 #else 03614 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03615 work, nl_a, nl_b, nl_c, nl_d, & 03616 sphi_a, & 03617 sphi_b, & 03618 sphi_c, & 03619 sphi_d, & 03620 primitives, & 03621 buffer1, buffer2) 03622 #endif 03623 CASE(4) 03624 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 03625 CALL contract_pdsg(work,& 03626 nl_a, nl_b, nl_c, nl_d, & 03627 sphi_a, sphi_b, sphi_c, sphi_d, & 03628 primitives,& 03629 buffer1,buffer2 ) 03630 #else 03631 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03632 work, nl_a, nl_b, nl_c, nl_d, & 03633 sphi_a, & 03634 sphi_b, & 03635 sphi_c, & 03636 sphi_d, & 03637 primitives, & 03638 buffer1, buffer2) 03639 #endif 03640 CASE DEFAULT 03641 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03642 work, nl_a, nl_b, nl_c, nl_d, & 03643 sphi_a, & 03644 sphi_b, & 03645 sphi_c, & 03646 sphi_d, & 03647 primitives, & 03648 buffer1, buffer2) 03649 END SELECT 03650 CASE(1) 03651 SELECT CASE(n_d) 03652 CASE(0) 03653 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 03654 CALL contract_pdps(work,& 03655 nl_a, nl_b, nl_c, nl_d, & 03656 sphi_a, sphi_b, sphi_c, sphi_d, & 03657 primitives,& 03658 buffer1,buffer2 ) 03659 #else 03660 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03661 work, nl_a, nl_b, nl_c, nl_d, & 03662 sphi_a, & 03663 sphi_b, & 03664 sphi_c, & 03665 sphi_d, & 03666 primitives, & 03667 buffer1, buffer2) 03668 #endif 03669 CASE(1) 03670 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 03671 CALL contract_pdpp(work,& 03672 nl_a, nl_b, nl_c, nl_d, & 03673 sphi_a, sphi_b, sphi_c, sphi_d, & 03674 primitives,& 03675 buffer1,buffer2 ) 03676 #else 03677 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03678 work, nl_a, nl_b, nl_c, nl_d, & 03679 sphi_a, & 03680 sphi_b, & 03681 sphi_c, & 03682 sphi_d, & 03683 primitives, & 03684 buffer1, buffer2) 03685 #endif 03686 CASE(2) 03687 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 03688 CALL contract_pdpd(work,& 03689 nl_a, nl_b, nl_c, nl_d, & 03690 sphi_a, sphi_b, sphi_c, sphi_d, & 03691 primitives,& 03692 buffer1,buffer2 ) 03693 #else 03694 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03695 work, nl_a, nl_b, nl_c, nl_d, & 03696 sphi_a, & 03697 sphi_b, & 03698 sphi_c, & 03699 sphi_d, & 03700 primitives, & 03701 buffer1, buffer2) 03702 #endif 03703 CASE(3) 03704 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 03705 CALL contract_pdpf(work,& 03706 nl_a, nl_b, nl_c, nl_d, & 03707 sphi_a, sphi_b, sphi_c, sphi_d, & 03708 primitives,& 03709 buffer1,buffer2 ) 03710 #else 03711 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03712 work, nl_a, nl_b, nl_c, nl_d, & 03713 sphi_a, & 03714 sphi_b, & 03715 sphi_c, & 03716 sphi_d, & 03717 primitives, & 03718 buffer1, buffer2) 03719 #endif 03720 CASE(4) 03721 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 03722 CALL contract_pdpg(work,& 03723 nl_a, nl_b, nl_c, nl_d, & 03724 sphi_a, sphi_b, sphi_c, sphi_d, & 03725 primitives,& 03726 buffer1,buffer2 ) 03727 #else 03728 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03729 work, nl_a, nl_b, nl_c, nl_d, & 03730 sphi_a, & 03731 sphi_b, & 03732 sphi_c, & 03733 sphi_d, & 03734 primitives, & 03735 buffer1, buffer2) 03736 #endif 03737 CASE DEFAULT 03738 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03739 work, nl_a, nl_b, nl_c, nl_d, & 03740 sphi_a, & 03741 sphi_b, & 03742 sphi_c, & 03743 sphi_d, & 03744 primitives, & 03745 buffer1, buffer2) 03746 END SELECT 03747 CASE(2) 03748 SELECT CASE(n_d) 03749 CASE(0) 03750 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 03751 CALL contract_pdds(work,& 03752 nl_a, nl_b, nl_c, nl_d, & 03753 sphi_a, sphi_b, sphi_c, sphi_d, & 03754 primitives,& 03755 buffer1,buffer2 ) 03756 #else 03757 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03758 work, nl_a, nl_b, nl_c, nl_d, & 03759 sphi_a, & 03760 sphi_b, & 03761 sphi_c, & 03762 sphi_d, & 03763 primitives, & 03764 buffer1, buffer2) 03765 #endif 03766 CASE(1) 03767 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 03768 CALL contract_pddp(work,& 03769 nl_a, nl_b, nl_c, nl_d, & 03770 sphi_a, sphi_b, sphi_c, sphi_d, & 03771 primitives,& 03772 buffer1,buffer2 ) 03773 #else 03774 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03775 work, nl_a, nl_b, nl_c, nl_d, & 03776 sphi_a, & 03777 sphi_b, & 03778 sphi_c, & 03779 sphi_d, & 03780 primitives, & 03781 buffer1, buffer2) 03782 #endif 03783 CASE(2) 03784 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 03785 CALL contract_pddd(work,& 03786 nl_a, nl_b, nl_c, nl_d, & 03787 sphi_a, sphi_b, sphi_c, sphi_d, & 03788 primitives,& 03789 buffer1,buffer2 ) 03790 #else 03791 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03792 work, nl_a, nl_b, nl_c, nl_d, & 03793 sphi_a, & 03794 sphi_b, & 03795 sphi_c, & 03796 sphi_d, & 03797 primitives, & 03798 buffer1, buffer2) 03799 #endif 03800 CASE(3) 03801 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 03802 CALL contract_pddf(work,& 03803 nl_a, nl_b, nl_c, nl_d, & 03804 sphi_a, sphi_b, sphi_c, sphi_d, & 03805 primitives,& 03806 buffer1,buffer2 ) 03807 #else 03808 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03809 work, nl_a, nl_b, nl_c, nl_d, & 03810 sphi_a, & 03811 sphi_b, & 03812 sphi_c, & 03813 sphi_d, & 03814 primitives, & 03815 buffer1, buffer2) 03816 #endif 03817 CASE(4) 03818 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 03819 CALL contract_pddg(work,& 03820 nl_a, nl_b, nl_c, nl_d, & 03821 sphi_a, sphi_b, sphi_c, sphi_d, & 03822 primitives,& 03823 buffer1,buffer2 ) 03824 #else 03825 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03826 work, nl_a, nl_b, nl_c, nl_d, & 03827 sphi_a, & 03828 sphi_b, & 03829 sphi_c, & 03830 sphi_d, & 03831 primitives, & 03832 buffer1, buffer2) 03833 #endif 03834 CASE DEFAULT 03835 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03836 work, nl_a, nl_b, nl_c, nl_d, & 03837 sphi_a, & 03838 sphi_b, & 03839 sphi_c, & 03840 sphi_d, & 03841 primitives, & 03842 buffer1, buffer2) 03843 END SELECT 03844 CASE(3) 03845 SELECT CASE(n_d) 03846 CASE(0) 03847 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 03848 CALL contract_pdfs(work,& 03849 nl_a, nl_b, nl_c, nl_d, & 03850 sphi_a, sphi_b, sphi_c, sphi_d, & 03851 primitives,& 03852 buffer1,buffer2 ) 03853 #else 03854 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03855 work, nl_a, nl_b, nl_c, nl_d, & 03856 sphi_a, & 03857 sphi_b, & 03858 sphi_c, & 03859 sphi_d, & 03860 primitives, & 03861 buffer1, buffer2) 03862 #endif 03863 CASE(1) 03864 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 03865 CALL contract_pdfp(work,& 03866 nl_a, nl_b, nl_c, nl_d, & 03867 sphi_a, sphi_b, sphi_c, sphi_d, & 03868 primitives,& 03869 buffer1,buffer2 ) 03870 #else 03871 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03872 work, nl_a, nl_b, nl_c, nl_d, & 03873 sphi_a, & 03874 sphi_b, & 03875 sphi_c, & 03876 sphi_d, & 03877 primitives, & 03878 buffer1, buffer2) 03879 #endif 03880 CASE(2) 03881 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 03882 CALL contract_pdfd(work,& 03883 nl_a, nl_b, nl_c, nl_d, & 03884 sphi_a, sphi_b, sphi_c, sphi_d, & 03885 primitives,& 03886 buffer1,buffer2 ) 03887 #else 03888 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03889 work, nl_a, nl_b, nl_c, nl_d, & 03890 sphi_a, & 03891 sphi_b, & 03892 sphi_c, & 03893 sphi_d, & 03894 primitives, & 03895 buffer1, buffer2) 03896 #endif 03897 CASE(3) 03898 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 03899 CALL contract_pdff(work,& 03900 nl_a, nl_b, nl_c, nl_d, & 03901 sphi_a, sphi_b, sphi_c, sphi_d, & 03902 primitives,& 03903 buffer1,buffer2 ) 03904 #else 03905 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03906 work, nl_a, nl_b, nl_c, nl_d, & 03907 sphi_a, & 03908 sphi_b, & 03909 sphi_c, & 03910 sphi_d, & 03911 primitives, & 03912 buffer1, buffer2) 03913 #endif 03914 CASE(4) 03915 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 03916 CALL contract_pdfg(work,& 03917 nl_a, nl_b, nl_c, nl_d, & 03918 sphi_a, sphi_b, sphi_c, sphi_d, & 03919 primitives,& 03920 buffer1,buffer2 ) 03921 #else 03922 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03923 work, nl_a, nl_b, nl_c, nl_d, & 03924 sphi_a, & 03925 sphi_b, & 03926 sphi_c, & 03927 sphi_d, & 03928 primitives, & 03929 buffer1, buffer2) 03930 #endif 03931 CASE DEFAULT 03932 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03933 work, nl_a, nl_b, nl_c, nl_d, & 03934 sphi_a, & 03935 sphi_b, & 03936 sphi_c, & 03937 sphi_d, & 03938 primitives, & 03939 buffer1, buffer2) 03940 END SELECT 03941 CASE(4) 03942 SELECT CASE(n_d) 03943 CASE(0) 03944 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 03945 CALL contract_pdgs(work,& 03946 nl_a, nl_b, nl_c, nl_d, & 03947 sphi_a, sphi_b, sphi_c, sphi_d, & 03948 primitives,& 03949 buffer1,buffer2 ) 03950 #else 03951 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03952 work, nl_a, nl_b, nl_c, nl_d, & 03953 sphi_a, & 03954 sphi_b, & 03955 sphi_c, & 03956 sphi_d, & 03957 primitives, & 03958 buffer1, buffer2) 03959 #endif 03960 CASE(1) 03961 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 03962 CALL contract_pdgp(work,& 03963 nl_a, nl_b, nl_c, nl_d, & 03964 sphi_a, sphi_b, sphi_c, sphi_d, & 03965 primitives,& 03966 buffer1,buffer2 ) 03967 #else 03968 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03969 work, nl_a, nl_b, nl_c, nl_d, & 03970 sphi_a, & 03971 sphi_b, & 03972 sphi_c, & 03973 sphi_d, & 03974 primitives, & 03975 buffer1, buffer2) 03976 #endif 03977 CASE(2) 03978 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 03979 CALL contract_pdgd(work,& 03980 nl_a, nl_b, nl_c, nl_d, & 03981 sphi_a, sphi_b, sphi_c, sphi_d, & 03982 primitives,& 03983 buffer1,buffer2 ) 03984 #else 03985 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 03986 work, nl_a, nl_b, nl_c, nl_d, & 03987 sphi_a, & 03988 sphi_b, & 03989 sphi_c, & 03990 sphi_d, & 03991 primitives, & 03992 buffer1, buffer2) 03993 #endif 03994 CASE(3) 03995 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 03996 CALL contract_pdgf(work,& 03997 nl_a, nl_b, nl_c, nl_d, & 03998 sphi_a, sphi_b, sphi_c, sphi_d, & 03999 primitives,& 04000 buffer1,buffer2 ) 04001 #else 04002 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04003 work, nl_a, nl_b, nl_c, nl_d, & 04004 sphi_a, & 04005 sphi_b, & 04006 sphi_c, & 04007 sphi_d, & 04008 primitives, & 04009 buffer1, buffer2) 04010 #endif 04011 CASE(4) 04012 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 04013 CALL contract_pdgg(work,& 04014 nl_a, nl_b, nl_c, nl_d, & 04015 sphi_a, sphi_b, sphi_c, sphi_d, & 04016 primitives,& 04017 buffer1,buffer2 ) 04018 #else 04019 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04020 work, nl_a, nl_b, nl_c, nl_d, & 04021 sphi_a, & 04022 sphi_b, & 04023 sphi_c, & 04024 sphi_d, & 04025 primitives, & 04026 buffer1, buffer2) 04027 #endif 04028 CASE DEFAULT 04029 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04030 work, nl_a, nl_b, nl_c, nl_d, & 04031 sphi_a, & 04032 sphi_b, & 04033 sphi_c, & 04034 sphi_d, & 04035 primitives, & 04036 buffer1, buffer2) 04037 END SELECT 04038 CASE DEFAULT 04039 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04040 work, nl_a, nl_b, nl_c, nl_d, & 04041 sphi_a, & 04042 sphi_b, & 04043 sphi_c, & 04044 sphi_d, & 04045 primitives, & 04046 buffer1, buffer2) 04047 END SELECT 04048 CASE(3) 04049 SELECT CASE(n_c) 04050 CASE(0) 04051 SELECT CASE(n_d) 04052 CASE(0) 04053 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 04054 CALL contract_pfss(work,& 04055 nl_a, nl_b, nl_c, nl_d, & 04056 sphi_a, sphi_b, sphi_c, sphi_d, & 04057 primitives,& 04058 buffer1,buffer2 ) 04059 #else 04060 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04061 work, nl_a, nl_b, nl_c, nl_d, & 04062 sphi_a, & 04063 sphi_b, & 04064 sphi_c, & 04065 sphi_d, & 04066 primitives, & 04067 buffer1, buffer2) 04068 #endif 04069 CASE(1) 04070 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 04071 CALL contract_pfsp(work,& 04072 nl_a, nl_b, nl_c, nl_d, & 04073 sphi_a, sphi_b, sphi_c, sphi_d, & 04074 primitives,& 04075 buffer1,buffer2 ) 04076 #else 04077 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04078 work, nl_a, nl_b, nl_c, nl_d, & 04079 sphi_a, & 04080 sphi_b, & 04081 sphi_c, & 04082 sphi_d, & 04083 primitives, & 04084 buffer1, buffer2) 04085 #endif 04086 CASE(2) 04087 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 04088 CALL contract_pfsd(work,& 04089 nl_a, nl_b, nl_c, nl_d, & 04090 sphi_a, sphi_b, sphi_c, sphi_d, & 04091 primitives,& 04092 buffer1,buffer2 ) 04093 #else 04094 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04095 work, nl_a, nl_b, nl_c, nl_d, & 04096 sphi_a, & 04097 sphi_b, & 04098 sphi_c, & 04099 sphi_d, & 04100 primitives, & 04101 buffer1, buffer2) 04102 #endif 04103 CASE(3) 04104 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 04105 CALL contract_pfsf(work,& 04106 nl_a, nl_b, nl_c, nl_d, & 04107 sphi_a, sphi_b, sphi_c, sphi_d, & 04108 primitives,& 04109 buffer1,buffer2 ) 04110 #else 04111 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04112 work, nl_a, nl_b, nl_c, nl_d, & 04113 sphi_a, & 04114 sphi_b, & 04115 sphi_c, & 04116 sphi_d, & 04117 primitives, & 04118 buffer1, buffer2) 04119 #endif 04120 CASE(4) 04121 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 04122 CALL contract_pfsg(work,& 04123 nl_a, nl_b, nl_c, nl_d, & 04124 sphi_a, sphi_b, sphi_c, sphi_d, & 04125 primitives,& 04126 buffer1,buffer2 ) 04127 #else 04128 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04129 work, nl_a, nl_b, nl_c, nl_d, & 04130 sphi_a, & 04131 sphi_b, & 04132 sphi_c, & 04133 sphi_d, & 04134 primitives, & 04135 buffer1, buffer2) 04136 #endif 04137 CASE DEFAULT 04138 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04139 work, nl_a, nl_b, nl_c, nl_d, & 04140 sphi_a, & 04141 sphi_b, & 04142 sphi_c, & 04143 sphi_d, & 04144 primitives, & 04145 buffer1, buffer2) 04146 END SELECT 04147 CASE(1) 04148 SELECT CASE(n_d) 04149 CASE(0) 04150 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 04151 CALL contract_pfps(work,& 04152 nl_a, nl_b, nl_c, nl_d, & 04153 sphi_a, sphi_b, sphi_c, sphi_d, & 04154 primitives,& 04155 buffer1,buffer2 ) 04156 #else 04157 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04158 work, nl_a, nl_b, nl_c, nl_d, & 04159 sphi_a, & 04160 sphi_b, & 04161 sphi_c, & 04162 sphi_d, & 04163 primitives, & 04164 buffer1, buffer2) 04165 #endif 04166 CASE(1) 04167 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 04168 CALL contract_pfpp(work,& 04169 nl_a, nl_b, nl_c, nl_d, & 04170 sphi_a, sphi_b, sphi_c, sphi_d, & 04171 primitives,& 04172 buffer1,buffer2 ) 04173 #else 04174 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04175 work, nl_a, nl_b, nl_c, nl_d, & 04176 sphi_a, & 04177 sphi_b, & 04178 sphi_c, & 04179 sphi_d, & 04180 primitives, & 04181 buffer1, buffer2) 04182 #endif 04183 CASE(2) 04184 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 04185 CALL contract_pfpd(work,& 04186 nl_a, nl_b, nl_c, nl_d, & 04187 sphi_a, sphi_b, sphi_c, sphi_d, & 04188 primitives,& 04189 buffer1,buffer2 ) 04190 #else 04191 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04192 work, nl_a, nl_b, nl_c, nl_d, & 04193 sphi_a, & 04194 sphi_b, & 04195 sphi_c, & 04196 sphi_d, & 04197 primitives, & 04198 buffer1, buffer2) 04199 #endif 04200 CASE(3) 04201 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 04202 CALL contract_pfpf(work,& 04203 nl_a, nl_b, nl_c, nl_d, & 04204 sphi_a, sphi_b, sphi_c, sphi_d, & 04205 primitives,& 04206 buffer1,buffer2 ) 04207 #else 04208 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04209 work, nl_a, nl_b, nl_c, nl_d, & 04210 sphi_a, & 04211 sphi_b, & 04212 sphi_c, & 04213 sphi_d, & 04214 primitives, & 04215 buffer1, buffer2) 04216 #endif 04217 CASE(4) 04218 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 04219 CALL contract_pfpg(work,& 04220 nl_a, nl_b, nl_c, nl_d, & 04221 sphi_a, sphi_b, sphi_c, sphi_d, & 04222 primitives,& 04223 buffer1,buffer2 ) 04224 #else 04225 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04226 work, nl_a, nl_b, nl_c, nl_d, & 04227 sphi_a, & 04228 sphi_b, & 04229 sphi_c, & 04230 sphi_d, & 04231 primitives, & 04232 buffer1, buffer2) 04233 #endif 04234 CASE DEFAULT 04235 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04236 work, nl_a, nl_b, nl_c, nl_d, & 04237 sphi_a, & 04238 sphi_b, & 04239 sphi_c, & 04240 sphi_d, & 04241 primitives, & 04242 buffer1, buffer2) 04243 END SELECT 04244 CASE(2) 04245 SELECT CASE(n_d) 04246 CASE(0) 04247 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 04248 CALL contract_pfds(work,& 04249 nl_a, nl_b, nl_c, nl_d, & 04250 sphi_a, sphi_b, sphi_c, sphi_d, & 04251 primitives,& 04252 buffer1,buffer2 ) 04253 #else 04254 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04255 work, nl_a, nl_b, nl_c, nl_d, & 04256 sphi_a, & 04257 sphi_b, & 04258 sphi_c, & 04259 sphi_d, & 04260 primitives, & 04261 buffer1, buffer2) 04262 #endif 04263 CASE(1) 04264 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 04265 CALL contract_pfdp(work,& 04266 nl_a, nl_b, nl_c, nl_d, & 04267 sphi_a, sphi_b, sphi_c, sphi_d, & 04268 primitives,& 04269 buffer1,buffer2 ) 04270 #else 04271 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04272 work, nl_a, nl_b, nl_c, nl_d, & 04273 sphi_a, & 04274 sphi_b, & 04275 sphi_c, & 04276 sphi_d, & 04277 primitives, & 04278 buffer1, buffer2) 04279 #endif 04280 CASE(2) 04281 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 04282 CALL contract_pfdd(work,& 04283 nl_a, nl_b, nl_c, nl_d, & 04284 sphi_a, sphi_b, sphi_c, sphi_d, & 04285 primitives,& 04286 buffer1,buffer2 ) 04287 #else 04288 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04289 work, nl_a, nl_b, nl_c, nl_d, & 04290 sphi_a, & 04291 sphi_b, & 04292 sphi_c, & 04293 sphi_d, & 04294 primitives, & 04295 buffer1, buffer2) 04296 #endif 04297 CASE(3) 04298 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 04299 CALL contract_pfdf(work,& 04300 nl_a, nl_b, nl_c, nl_d, & 04301 sphi_a, sphi_b, sphi_c, sphi_d, & 04302 primitives,& 04303 buffer1,buffer2 ) 04304 #else 04305 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04306 work, nl_a, nl_b, nl_c, nl_d, & 04307 sphi_a, & 04308 sphi_b, & 04309 sphi_c, & 04310 sphi_d, & 04311 primitives, & 04312 buffer1, buffer2) 04313 #endif 04314 CASE(4) 04315 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 04316 CALL contract_pfdg(work,& 04317 nl_a, nl_b, nl_c, nl_d, & 04318 sphi_a, sphi_b, sphi_c, sphi_d, & 04319 primitives,& 04320 buffer1,buffer2 ) 04321 #else 04322 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04323 work, nl_a, nl_b, nl_c, nl_d, & 04324 sphi_a, & 04325 sphi_b, & 04326 sphi_c, & 04327 sphi_d, & 04328 primitives, & 04329 buffer1, buffer2) 04330 #endif 04331 CASE DEFAULT 04332 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04333 work, nl_a, nl_b, nl_c, nl_d, & 04334 sphi_a, & 04335 sphi_b, & 04336 sphi_c, & 04337 sphi_d, & 04338 primitives, & 04339 buffer1, buffer2) 04340 END SELECT 04341 CASE(3) 04342 SELECT CASE(n_d) 04343 CASE(0) 04344 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 04345 CALL contract_pffs(work,& 04346 nl_a, nl_b, nl_c, nl_d, & 04347 sphi_a, sphi_b, sphi_c, sphi_d, & 04348 primitives,& 04349 buffer1,buffer2 ) 04350 #else 04351 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04352 work, nl_a, nl_b, nl_c, nl_d, & 04353 sphi_a, & 04354 sphi_b, & 04355 sphi_c, & 04356 sphi_d, & 04357 primitives, & 04358 buffer1, buffer2) 04359 #endif 04360 CASE(1) 04361 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 04362 CALL contract_pffp(work,& 04363 nl_a, nl_b, nl_c, nl_d, & 04364 sphi_a, sphi_b, sphi_c, sphi_d, & 04365 primitives,& 04366 buffer1,buffer2 ) 04367 #else 04368 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04369 work, nl_a, nl_b, nl_c, nl_d, & 04370 sphi_a, & 04371 sphi_b, & 04372 sphi_c, & 04373 sphi_d, & 04374 primitives, & 04375 buffer1, buffer2) 04376 #endif 04377 CASE(2) 04378 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 04379 CALL contract_pffd(work,& 04380 nl_a, nl_b, nl_c, nl_d, & 04381 sphi_a, sphi_b, sphi_c, sphi_d, & 04382 primitives,& 04383 buffer1,buffer2 ) 04384 #else 04385 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04386 work, nl_a, nl_b, nl_c, nl_d, & 04387 sphi_a, & 04388 sphi_b, & 04389 sphi_c, & 04390 sphi_d, & 04391 primitives, & 04392 buffer1, buffer2) 04393 #endif 04394 CASE(3) 04395 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 04396 CALL contract_pfff(work,& 04397 nl_a, nl_b, nl_c, nl_d, & 04398 sphi_a, sphi_b, sphi_c, sphi_d, & 04399 primitives,& 04400 buffer1,buffer2 ) 04401 #else 04402 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04403 work, nl_a, nl_b, nl_c, nl_d, & 04404 sphi_a, & 04405 sphi_b, & 04406 sphi_c, & 04407 sphi_d, & 04408 primitives, & 04409 buffer1, buffer2) 04410 #endif 04411 CASE(4) 04412 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 04413 CALL contract_pffg(work,& 04414 nl_a, nl_b, nl_c, nl_d, & 04415 sphi_a, sphi_b, sphi_c, sphi_d, & 04416 primitives,& 04417 buffer1,buffer2 ) 04418 #else 04419 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04420 work, nl_a, nl_b, nl_c, nl_d, & 04421 sphi_a, & 04422 sphi_b, & 04423 sphi_c, & 04424 sphi_d, & 04425 primitives, & 04426 buffer1, buffer2) 04427 #endif 04428 CASE DEFAULT 04429 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04430 work, nl_a, nl_b, nl_c, nl_d, & 04431 sphi_a, & 04432 sphi_b, & 04433 sphi_c, & 04434 sphi_d, & 04435 primitives, & 04436 buffer1, buffer2) 04437 END SELECT 04438 CASE(4) 04439 SELECT CASE(n_d) 04440 CASE(0) 04441 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 04442 CALL contract_pfgs(work,& 04443 nl_a, nl_b, nl_c, nl_d, & 04444 sphi_a, sphi_b, sphi_c, sphi_d, & 04445 primitives,& 04446 buffer1,buffer2 ) 04447 #else 04448 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04449 work, nl_a, nl_b, nl_c, nl_d, & 04450 sphi_a, & 04451 sphi_b, & 04452 sphi_c, & 04453 sphi_d, & 04454 primitives, & 04455 buffer1, buffer2) 04456 #endif 04457 CASE(1) 04458 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 04459 CALL contract_pfgp(work,& 04460 nl_a, nl_b, nl_c, nl_d, & 04461 sphi_a, sphi_b, sphi_c, sphi_d, & 04462 primitives,& 04463 buffer1,buffer2 ) 04464 #else 04465 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04466 work, nl_a, nl_b, nl_c, nl_d, & 04467 sphi_a, & 04468 sphi_b, & 04469 sphi_c, & 04470 sphi_d, & 04471 primitives, & 04472 buffer1, buffer2) 04473 #endif 04474 CASE(2) 04475 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 04476 CALL contract_pfgd(work,& 04477 nl_a, nl_b, nl_c, nl_d, & 04478 sphi_a, sphi_b, sphi_c, sphi_d, & 04479 primitives,& 04480 buffer1,buffer2 ) 04481 #else 04482 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04483 work, nl_a, nl_b, nl_c, nl_d, & 04484 sphi_a, & 04485 sphi_b, & 04486 sphi_c, & 04487 sphi_d, & 04488 primitives, & 04489 buffer1, buffer2) 04490 #endif 04491 CASE(3) 04492 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 04493 CALL contract_pfgf(work,& 04494 nl_a, nl_b, nl_c, nl_d, & 04495 sphi_a, sphi_b, sphi_c, sphi_d, & 04496 primitives,& 04497 buffer1,buffer2 ) 04498 #else 04499 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04500 work, nl_a, nl_b, nl_c, nl_d, & 04501 sphi_a, & 04502 sphi_b, & 04503 sphi_c, & 04504 sphi_d, & 04505 primitives, & 04506 buffer1, buffer2) 04507 #endif 04508 CASE(4) 04509 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 04510 CALL contract_pfgg(work,& 04511 nl_a, nl_b, nl_c, nl_d, & 04512 sphi_a, sphi_b, sphi_c, sphi_d, & 04513 primitives,& 04514 buffer1,buffer2 ) 04515 #else 04516 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04517 work, nl_a, nl_b, nl_c, nl_d, & 04518 sphi_a, & 04519 sphi_b, & 04520 sphi_c, & 04521 sphi_d, & 04522 primitives, & 04523 buffer1, buffer2) 04524 #endif 04525 CASE DEFAULT 04526 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04527 work, nl_a, nl_b, nl_c, nl_d, & 04528 sphi_a, & 04529 sphi_b, & 04530 sphi_c, & 04531 sphi_d, & 04532 primitives, & 04533 buffer1, buffer2) 04534 END SELECT 04535 CASE DEFAULT 04536 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04537 work, nl_a, nl_b, nl_c, nl_d, & 04538 sphi_a, & 04539 sphi_b, & 04540 sphi_c, & 04541 sphi_d, & 04542 primitives, & 04543 buffer1, buffer2) 04544 END SELECT 04545 CASE(4) 04546 SELECT CASE(n_c) 04547 CASE(0) 04548 SELECT CASE(n_d) 04549 CASE(0) 04550 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 04551 CALL contract_pgss(work,& 04552 nl_a, nl_b, nl_c, nl_d, & 04553 sphi_a, sphi_b, sphi_c, sphi_d, & 04554 primitives,& 04555 buffer1,buffer2 ) 04556 #else 04557 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04558 work, nl_a, nl_b, nl_c, nl_d, & 04559 sphi_a, & 04560 sphi_b, & 04561 sphi_c, & 04562 sphi_d, & 04563 primitives, & 04564 buffer1, buffer2) 04565 #endif 04566 CASE(1) 04567 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 04568 CALL contract_pgsp(work,& 04569 nl_a, nl_b, nl_c, nl_d, & 04570 sphi_a, sphi_b, sphi_c, sphi_d, & 04571 primitives,& 04572 buffer1,buffer2 ) 04573 #else 04574 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04575 work, nl_a, nl_b, nl_c, nl_d, & 04576 sphi_a, & 04577 sphi_b, & 04578 sphi_c, & 04579 sphi_d, & 04580 primitives, & 04581 buffer1, buffer2) 04582 #endif 04583 CASE(2) 04584 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 04585 CALL contract_pgsd(work,& 04586 nl_a, nl_b, nl_c, nl_d, & 04587 sphi_a, sphi_b, sphi_c, sphi_d, & 04588 primitives,& 04589 buffer1,buffer2 ) 04590 #else 04591 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04592 work, nl_a, nl_b, nl_c, nl_d, & 04593 sphi_a, & 04594 sphi_b, & 04595 sphi_c, & 04596 sphi_d, & 04597 primitives, & 04598 buffer1, buffer2) 04599 #endif 04600 CASE(3) 04601 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 04602 CALL contract_pgsf(work,& 04603 nl_a, nl_b, nl_c, nl_d, & 04604 sphi_a, sphi_b, sphi_c, sphi_d, & 04605 primitives,& 04606 buffer1,buffer2 ) 04607 #else 04608 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04609 work, nl_a, nl_b, nl_c, nl_d, & 04610 sphi_a, & 04611 sphi_b, & 04612 sphi_c, & 04613 sphi_d, & 04614 primitives, & 04615 buffer1, buffer2) 04616 #endif 04617 CASE(4) 04618 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 04619 CALL contract_pgsg(work,& 04620 nl_a, nl_b, nl_c, nl_d, & 04621 sphi_a, sphi_b, sphi_c, sphi_d, & 04622 primitives,& 04623 buffer1,buffer2 ) 04624 #else 04625 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04626 work, nl_a, nl_b, nl_c, nl_d, & 04627 sphi_a, & 04628 sphi_b, & 04629 sphi_c, & 04630 sphi_d, & 04631 primitives, & 04632 buffer1, buffer2) 04633 #endif 04634 CASE DEFAULT 04635 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04636 work, nl_a, nl_b, nl_c, nl_d, & 04637 sphi_a, & 04638 sphi_b, & 04639 sphi_c, & 04640 sphi_d, & 04641 primitives, & 04642 buffer1, buffer2) 04643 END SELECT 04644 CASE(1) 04645 SELECT CASE(n_d) 04646 CASE(0) 04647 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 04648 CALL contract_pgps(work,& 04649 nl_a, nl_b, nl_c, nl_d, & 04650 sphi_a, sphi_b, sphi_c, sphi_d, & 04651 primitives,& 04652 buffer1,buffer2 ) 04653 #else 04654 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04655 work, nl_a, nl_b, nl_c, nl_d, & 04656 sphi_a, & 04657 sphi_b, & 04658 sphi_c, & 04659 sphi_d, & 04660 primitives, & 04661 buffer1, buffer2) 04662 #endif 04663 CASE(1) 04664 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 04665 CALL contract_pgpp(work,& 04666 nl_a, nl_b, nl_c, nl_d, & 04667 sphi_a, sphi_b, sphi_c, sphi_d, & 04668 primitives,& 04669 buffer1,buffer2 ) 04670 #else 04671 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04672 work, nl_a, nl_b, nl_c, nl_d, & 04673 sphi_a, & 04674 sphi_b, & 04675 sphi_c, & 04676 sphi_d, & 04677 primitives, & 04678 buffer1, buffer2) 04679 #endif 04680 CASE(2) 04681 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 04682 CALL contract_pgpd(work,& 04683 nl_a, nl_b, nl_c, nl_d, & 04684 sphi_a, sphi_b, sphi_c, sphi_d, & 04685 primitives,& 04686 buffer1,buffer2 ) 04687 #else 04688 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04689 work, nl_a, nl_b, nl_c, nl_d, & 04690 sphi_a, & 04691 sphi_b, & 04692 sphi_c, & 04693 sphi_d, & 04694 primitives, & 04695 buffer1, buffer2) 04696 #endif 04697 CASE(3) 04698 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 04699 CALL contract_pgpf(work,& 04700 nl_a, nl_b, nl_c, nl_d, & 04701 sphi_a, sphi_b, sphi_c, sphi_d, & 04702 primitives,& 04703 buffer1,buffer2 ) 04704 #else 04705 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04706 work, nl_a, nl_b, nl_c, nl_d, & 04707 sphi_a, & 04708 sphi_b, & 04709 sphi_c, & 04710 sphi_d, & 04711 primitives, & 04712 buffer1, buffer2) 04713 #endif 04714 CASE(4) 04715 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 04716 CALL contract_pgpg(work,& 04717 nl_a, nl_b, nl_c, nl_d, & 04718 sphi_a, sphi_b, sphi_c, sphi_d, & 04719 primitives,& 04720 buffer1,buffer2 ) 04721 #else 04722 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04723 work, nl_a, nl_b, nl_c, nl_d, & 04724 sphi_a, & 04725 sphi_b, & 04726 sphi_c, & 04727 sphi_d, & 04728 primitives, & 04729 buffer1, buffer2) 04730 #endif 04731 CASE DEFAULT 04732 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04733 work, nl_a, nl_b, nl_c, nl_d, & 04734 sphi_a, & 04735 sphi_b, & 04736 sphi_c, & 04737 sphi_d, & 04738 primitives, & 04739 buffer1, buffer2) 04740 END SELECT 04741 CASE(2) 04742 SELECT CASE(n_d) 04743 CASE(0) 04744 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 04745 CALL contract_pgds(work,& 04746 nl_a, nl_b, nl_c, nl_d, & 04747 sphi_a, sphi_b, sphi_c, sphi_d, & 04748 primitives,& 04749 buffer1,buffer2 ) 04750 #else 04751 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04752 work, nl_a, nl_b, nl_c, nl_d, & 04753 sphi_a, & 04754 sphi_b, & 04755 sphi_c, & 04756 sphi_d, & 04757 primitives, & 04758 buffer1, buffer2) 04759 #endif 04760 CASE(1) 04761 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 04762 CALL contract_pgdp(work,& 04763 nl_a, nl_b, nl_c, nl_d, & 04764 sphi_a, sphi_b, sphi_c, sphi_d, & 04765 primitives,& 04766 buffer1,buffer2 ) 04767 #else 04768 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04769 work, nl_a, nl_b, nl_c, nl_d, & 04770 sphi_a, & 04771 sphi_b, & 04772 sphi_c, & 04773 sphi_d, & 04774 primitives, & 04775 buffer1, buffer2) 04776 #endif 04777 CASE(2) 04778 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 04779 CALL contract_pgdd(work,& 04780 nl_a, nl_b, nl_c, nl_d, & 04781 sphi_a, sphi_b, sphi_c, sphi_d, & 04782 primitives,& 04783 buffer1,buffer2 ) 04784 #else 04785 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04786 work, nl_a, nl_b, nl_c, nl_d, & 04787 sphi_a, & 04788 sphi_b, & 04789 sphi_c, & 04790 sphi_d, & 04791 primitives, & 04792 buffer1, buffer2) 04793 #endif 04794 CASE(3) 04795 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 04796 CALL contract_pgdf(work,& 04797 nl_a, nl_b, nl_c, nl_d, & 04798 sphi_a, sphi_b, sphi_c, sphi_d, & 04799 primitives,& 04800 buffer1,buffer2 ) 04801 #else 04802 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04803 work, nl_a, nl_b, nl_c, nl_d, & 04804 sphi_a, & 04805 sphi_b, & 04806 sphi_c, & 04807 sphi_d, & 04808 primitives, & 04809 buffer1, buffer2) 04810 #endif 04811 CASE(4) 04812 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 04813 CALL contract_pgdg(work,& 04814 nl_a, nl_b, nl_c, nl_d, & 04815 sphi_a, sphi_b, sphi_c, sphi_d, & 04816 primitives,& 04817 buffer1,buffer2 ) 04818 #else 04819 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04820 work, nl_a, nl_b, nl_c, nl_d, & 04821 sphi_a, & 04822 sphi_b, & 04823 sphi_c, & 04824 sphi_d, & 04825 primitives, & 04826 buffer1, buffer2) 04827 #endif 04828 CASE DEFAULT 04829 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04830 work, nl_a, nl_b, nl_c, nl_d, & 04831 sphi_a, & 04832 sphi_b, & 04833 sphi_c, & 04834 sphi_d, & 04835 primitives, & 04836 buffer1, buffer2) 04837 END SELECT 04838 CASE(3) 04839 SELECT CASE(n_d) 04840 CASE(0) 04841 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 04842 CALL contract_pgfs(work,& 04843 nl_a, nl_b, nl_c, nl_d, & 04844 sphi_a, sphi_b, sphi_c, sphi_d, & 04845 primitives,& 04846 buffer1,buffer2 ) 04847 #else 04848 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04849 work, nl_a, nl_b, nl_c, nl_d, & 04850 sphi_a, & 04851 sphi_b, & 04852 sphi_c, & 04853 sphi_d, & 04854 primitives, & 04855 buffer1, buffer2) 04856 #endif 04857 CASE(1) 04858 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 04859 CALL contract_pgfp(work,& 04860 nl_a, nl_b, nl_c, nl_d, & 04861 sphi_a, sphi_b, sphi_c, sphi_d, & 04862 primitives,& 04863 buffer1,buffer2 ) 04864 #else 04865 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04866 work, nl_a, nl_b, nl_c, nl_d, & 04867 sphi_a, & 04868 sphi_b, & 04869 sphi_c, & 04870 sphi_d, & 04871 primitives, & 04872 buffer1, buffer2) 04873 #endif 04874 CASE(2) 04875 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 04876 CALL contract_pgfd(work,& 04877 nl_a, nl_b, nl_c, nl_d, & 04878 sphi_a, sphi_b, sphi_c, sphi_d, & 04879 primitives,& 04880 buffer1,buffer2 ) 04881 #else 04882 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04883 work, nl_a, nl_b, nl_c, nl_d, & 04884 sphi_a, & 04885 sphi_b, & 04886 sphi_c, & 04887 sphi_d, & 04888 primitives, & 04889 buffer1, buffer2) 04890 #endif 04891 CASE(3) 04892 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 04893 CALL contract_pgff(work,& 04894 nl_a, nl_b, nl_c, nl_d, & 04895 sphi_a, sphi_b, sphi_c, sphi_d, & 04896 primitives,& 04897 buffer1,buffer2 ) 04898 #else 04899 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04900 work, nl_a, nl_b, nl_c, nl_d, & 04901 sphi_a, & 04902 sphi_b, & 04903 sphi_c, & 04904 sphi_d, & 04905 primitives, & 04906 buffer1, buffer2) 04907 #endif 04908 CASE(4) 04909 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 04910 CALL contract_pgfg(work,& 04911 nl_a, nl_b, nl_c, nl_d, & 04912 sphi_a, sphi_b, sphi_c, sphi_d, & 04913 primitives,& 04914 buffer1,buffer2 ) 04915 #else 04916 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04917 work, nl_a, nl_b, nl_c, nl_d, & 04918 sphi_a, & 04919 sphi_b, & 04920 sphi_c, & 04921 sphi_d, & 04922 primitives, & 04923 buffer1, buffer2) 04924 #endif 04925 CASE DEFAULT 04926 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04927 work, nl_a, nl_b, nl_c, nl_d, & 04928 sphi_a, & 04929 sphi_b, & 04930 sphi_c, & 04931 sphi_d, & 04932 primitives, & 04933 buffer1, buffer2) 04934 END SELECT 04935 CASE(4) 04936 SELECT CASE(n_d) 04937 CASE(0) 04938 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 04939 CALL contract_pggs(work,& 04940 nl_a, nl_b, nl_c, nl_d, & 04941 sphi_a, sphi_b, sphi_c, sphi_d, & 04942 primitives,& 04943 buffer1,buffer2 ) 04944 #else 04945 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04946 work, nl_a, nl_b, nl_c, nl_d, & 04947 sphi_a, & 04948 sphi_b, & 04949 sphi_c, & 04950 sphi_d, & 04951 primitives, & 04952 buffer1, buffer2) 04953 #endif 04954 CASE(1) 04955 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 04956 CALL contract_pggp(work,& 04957 nl_a, nl_b, nl_c, nl_d, & 04958 sphi_a, sphi_b, sphi_c, sphi_d, & 04959 primitives,& 04960 buffer1,buffer2 ) 04961 #else 04962 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04963 work, nl_a, nl_b, nl_c, nl_d, & 04964 sphi_a, & 04965 sphi_b, & 04966 sphi_c, & 04967 sphi_d, & 04968 primitives, & 04969 buffer1, buffer2) 04970 #endif 04971 CASE(2) 04972 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 04973 CALL contract_pggd(work,& 04974 nl_a, nl_b, nl_c, nl_d, & 04975 sphi_a, sphi_b, sphi_c, sphi_d, & 04976 primitives,& 04977 buffer1,buffer2 ) 04978 #else 04979 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04980 work, nl_a, nl_b, nl_c, nl_d, & 04981 sphi_a, & 04982 sphi_b, & 04983 sphi_c, & 04984 sphi_d, & 04985 primitives, & 04986 buffer1, buffer2) 04987 #endif 04988 CASE(3) 04989 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 04990 CALL contract_pggf(work,& 04991 nl_a, nl_b, nl_c, nl_d, & 04992 sphi_a, sphi_b, sphi_c, sphi_d, & 04993 primitives,& 04994 buffer1,buffer2 ) 04995 #else 04996 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 04997 work, nl_a, nl_b, nl_c, nl_d, & 04998 sphi_a, & 04999 sphi_b, & 05000 sphi_c, & 05001 sphi_d, & 05002 primitives, & 05003 buffer1, buffer2) 05004 #endif 05005 CASE(4) 05006 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 05007 CALL contract_pggg(work,& 05008 nl_a, nl_b, nl_c, nl_d, & 05009 sphi_a, sphi_b, sphi_c, sphi_d, & 05010 primitives,& 05011 buffer1,buffer2 ) 05012 #else 05013 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05014 work, nl_a, nl_b, nl_c, nl_d, & 05015 sphi_a, & 05016 sphi_b, & 05017 sphi_c, & 05018 sphi_d, & 05019 primitives, & 05020 buffer1, buffer2) 05021 #endif 05022 CASE DEFAULT 05023 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05024 work, nl_a, nl_b, nl_c, nl_d, & 05025 sphi_a, & 05026 sphi_b, & 05027 sphi_c, & 05028 sphi_d, & 05029 primitives, & 05030 buffer1, buffer2) 05031 END SELECT 05032 CASE DEFAULT 05033 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05034 work, nl_a, nl_b, nl_c, nl_d, & 05035 sphi_a, & 05036 sphi_b, & 05037 sphi_c, & 05038 sphi_d, & 05039 primitives, & 05040 buffer1, buffer2) 05041 END SELECT 05042 CASE DEFAULT 05043 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05044 work, nl_a, nl_b, nl_c, nl_d, & 05045 sphi_a, & 05046 sphi_b, & 05047 sphi_c, & 05048 sphi_d, & 05049 primitives, & 05050 buffer1, buffer2) 05051 END SELECT 05052 CASE(2) 05053 SELECT CASE(n_b) 05054 CASE(0) 05055 SELECT CASE(n_c) 05056 CASE(0) 05057 SELECT CASE(n_d) 05058 CASE(0) 05059 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 05060 CALL contract_dsss(work,& 05061 nl_a, nl_b, nl_c, nl_d, & 05062 sphi_a, sphi_b, sphi_c, sphi_d, & 05063 primitives,& 05064 buffer1,buffer2 ) 05065 #else 05066 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05067 work, nl_a, nl_b, nl_c, nl_d, & 05068 sphi_a, & 05069 sphi_b, & 05070 sphi_c, & 05071 sphi_d, & 05072 primitives, & 05073 buffer1, buffer2) 05074 #endif 05075 CASE(1) 05076 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 05077 CALL contract_dssp(work,& 05078 nl_a, nl_b, nl_c, nl_d, & 05079 sphi_a, sphi_b, sphi_c, sphi_d, & 05080 primitives,& 05081 buffer1,buffer2 ) 05082 #else 05083 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05084 work, nl_a, nl_b, nl_c, nl_d, & 05085 sphi_a, & 05086 sphi_b, & 05087 sphi_c, & 05088 sphi_d, & 05089 primitives, & 05090 buffer1, buffer2) 05091 #endif 05092 CASE(2) 05093 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 05094 CALL contract_dssd(work,& 05095 nl_a, nl_b, nl_c, nl_d, & 05096 sphi_a, sphi_b, sphi_c, sphi_d, & 05097 primitives,& 05098 buffer1,buffer2 ) 05099 #else 05100 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05101 work, nl_a, nl_b, nl_c, nl_d, & 05102 sphi_a, & 05103 sphi_b, & 05104 sphi_c, & 05105 sphi_d, & 05106 primitives, & 05107 buffer1, buffer2) 05108 #endif 05109 CASE(3) 05110 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 05111 CALL contract_dssf(work,& 05112 nl_a, nl_b, nl_c, nl_d, & 05113 sphi_a, sphi_b, sphi_c, sphi_d, & 05114 primitives,& 05115 buffer1,buffer2 ) 05116 #else 05117 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05118 work, nl_a, nl_b, nl_c, nl_d, & 05119 sphi_a, & 05120 sphi_b, & 05121 sphi_c, & 05122 sphi_d, & 05123 primitives, & 05124 buffer1, buffer2) 05125 #endif 05126 CASE(4) 05127 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 05128 CALL contract_dssg(work,& 05129 nl_a, nl_b, nl_c, nl_d, & 05130 sphi_a, sphi_b, sphi_c, sphi_d, & 05131 primitives,& 05132 buffer1,buffer2 ) 05133 #else 05134 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05135 work, nl_a, nl_b, nl_c, nl_d, & 05136 sphi_a, & 05137 sphi_b, & 05138 sphi_c, & 05139 sphi_d, & 05140 primitives, & 05141 buffer1, buffer2) 05142 #endif 05143 CASE DEFAULT 05144 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05145 work, nl_a, nl_b, nl_c, nl_d, & 05146 sphi_a, & 05147 sphi_b, & 05148 sphi_c, & 05149 sphi_d, & 05150 primitives, & 05151 buffer1, buffer2) 05152 END SELECT 05153 CASE(1) 05154 SELECT CASE(n_d) 05155 CASE(0) 05156 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 05157 CALL contract_dsps(work,& 05158 nl_a, nl_b, nl_c, nl_d, & 05159 sphi_a, sphi_b, sphi_c, sphi_d, & 05160 primitives,& 05161 buffer1,buffer2 ) 05162 #else 05163 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05164 work, nl_a, nl_b, nl_c, nl_d, & 05165 sphi_a, & 05166 sphi_b, & 05167 sphi_c, & 05168 sphi_d, & 05169 primitives, & 05170 buffer1, buffer2) 05171 #endif 05172 CASE(1) 05173 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 05174 CALL contract_dspp(work,& 05175 nl_a, nl_b, nl_c, nl_d, & 05176 sphi_a, sphi_b, sphi_c, sphi_d, & 05177 primitives,& 05178 buffer1,buffer2 ) 05179 #else 05180 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05181 work, nl_a, nl_b, nl_c, nl_d, & 05182 sphi_a, & 05183 sphi_b, & 05184 sphi_c, & 05185 sphi_d, & 05186 primitives, & 05187 buffer1, buffer2) 05188 #endif 05189 CASE(2) 05190 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 05191 CALL contract_dspd(work,& 05192 nl_a, nl_b, nl_c, nl_d, & 05193 sphi_a, sphi_b, sphi_c, sphi_d, & 05194 primitives,& 05195 buffer1,buffer2 ) 05196 #else 05197 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05198 work, nl_a, nl_b, nl_c, nl_d, & 05199 sphi_a, & 05200 sphi_b, & 05201 sphi_c, & 05202 sphi_d, & 05203 primitives, & 05204 buffer1, buffer2) 05205 #endif 05206 CASE(3) 05207 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 05208 CALL contract_dspf(work,& 05209 nl_a, nl_b, nl_c, nl_d, & 05210 sphi_a, sphi_b, sphi_c, sphi_d, & 05211 primitives,& 05212 buffer1,buffer2 ) 05213 #else 05214 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05215 work, nl_a, nl_b, nl_c, nl_d, & 05216 sphi_a, & 05217 sphi_b, & 05218 sphi_c, & 05219 sphi_d, & 05220 primitives, & 05221 buffer1, buffer2) 05222 #endif 05223 CASE(4) 05224 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 05225 CALL contract_dspg(work,& 05226 nl_a, nl_b, nl_c, nl_d, & 05227 sphi_a, sphi_b, sphi_c, sphi_d, & 05228 primitives,& 05229 buffer1,buffer2 ) 05230 #else 05231 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05232 work, nl_a, nl_b, nl_c, nl_d, & 05233 sphi_a, & 05234 sphi_b, & 05235 sphi_c, & 05236 sphi_d, & 05237 primitives, & 05238 buffer1, buffer2) 05239 #endif 05240 CASE DEFAULT 05241 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05242 work, nl_a, nl_b, nl_c, nl_d, & 05243 sphi_a, & 05244 sphi_b, & 05245 sphi_c, & 05246 sphi_d, & 05247 primitives, & 05248 buffer1, buffer2) 05249 END SELECT 05250 CASE(2) 05251 SELECT CASE(n_d) 05252 CASE(0) 05253 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 05254 CALL contract_dsds(work,& 05255 nl_a, nl_b, nl_c, nl_d, & 05256 sphi_a, sphi_b, sphi_c, sphi_d, & 05257 primitives,& 05258 buffer1,buffer2 ) 05259 #else 05260 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05261 work, nl_a, nl_b, nl_c, nl_d, & 05262 sphi_a, & 05263 sphi_b, & 05264 sphi_c, & 05265 sphi_d, & 05266 primitives, & 05267 buffer1, buffer2) 05268 #endif 05269 CASE(1) 05270 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 05271 CALL contract_dsdp(work,& 05272 nl_a, nl_b, nl_c, nl_d, & 05273 sphi_a, sphi_b, sphi_c, sphi_d, & 05274 primitives,& 05275 buffer1,buffer2 ) 05276 #else 05277 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05278 work, nl_a, nl_b, nl_c, nl_d, & 05279 sphi_a, & 05280 sphi_b, & 05281 sphi_c, & 05282 sphi_d, & 05283 primitives, & 05284 buffer1, buffer2) 05285 #endif 05286 CASE(2) 05287 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 05288 CALL contract_dsdd(work,& 05289 nl_a, nl_b, nl_c, nl_d, & 05290 sphi_a, sphi_b, sphi_c, sphi_d, & 05291 primitives,& 05292 buffer1,buffer2 ) 05293 #else 05294 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05295 work, nl_a, nl_b, nl_c, nl_d, & 05296 sphi_a, & 05297 sphi_b, & 05298 sphi_c, & 05299 sphi_d, & 05300 primitives, & 05301 buffer1, buffer2) 05302 #endif 05303 CASE(3) 05304 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 05305 CALL contract_dsdf(work,& 05306 nl_a, nl_b, nl_c, nl_d, & 05307 sphi_a, sphi_b, sphi_c, sphi_d, & 05308 primitives,& 05309 buffer1,buffer2 ) 05310 #else 05311 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05312 work, nl_a, nl_b, nl_c, nl_d, & 05313 sphi_a, & 05314 sphi_b, & 05315 sphi_c, & 05316 sphi_d, & 05317 primitives, & 05318 buffer1, buffer2) 05319 #endif 05320 CASE(4) 05321 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 05322 CALL contract_dsdg(work,& 05323 nl_a, nl_b, nl_c, nl_d, & 05324 sphi_a, sphi_b, sphi_c, sphi_d, & 05325 primitives,& 05326 buffer1,buffer2 ) 05327 #else 05328 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05329 work, nl_a, nl_b, nl_c, nl_d, & 05330 sphi_a, & 05331 sphi_b, & 05332 sphi_c, & 05333 sphi_d, & 05334 primitives, & 05335 buffer1, buffer2) 05336 #endif 05337 CASE DEFAULT 05338 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05339 work, nl_a, nl_b, nl_c, nl_d, & 05340 sphi_a, & 05341 sphi_b, & 05342 sphi_c, & 05343 sphi_d, & 05344 primitives, & 05345 buffer1, buffer2) 05346 END SELECT 05347 CASE(3) 05348 SELECT CASE(n_d) 05349 CASE(0) 05350 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 05351 CALL contract_dsfs(work,& 05352 nl_a, nl_b, nl_c, nl_d, & 05353 sphi_a, sphi_b, sphi_c, sphi_d, & 05354 primitives,& 05355 buffer1,buffer2 ) 05356 #else 05357 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05358 work, nl_a, nl_b, nl_c, nl_d, & 05359 sphi_a, & 05360 sphi_b, & 05361 sphi_c, & 05362 sphi_d, & 05363 primitives, & 05364 buffer1, buffer2) 05365 #endif 05366 CASE(1) 05367 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 05368 CALL contract_dsfp(work,& 05369 nl_a, nl_b, nl_c, nl_d, & 05370 sphi_a, sphi_b, sphi_c, sphi_d, & 05371 primitives,& 05372 buffer1,buffer2 ) 05373 #else 05374 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05375 work, nl_a, nl_b, nl_c, nl_d, & 05376 sphi_a, & 05377 sphi_b, & 05378 sphi_c, & 05379 sphi_d, & 05380 primitives, & 05381 buffer1, buffer2) 05382 #endif 05383 CASE(2) 05384 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 05385 CALL contract_dsfd(work,& 05386 nl_a, nl_b, nl_c, nl_d, & 05387 sphi_a, sphi_b, sphi_c, sphi_d, & 05388 primitives,& 05389 buffer1,buffer2 ) 05390 #else 05391 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05392 work, nl_a, nl_b, nl_c, nl_d, & 05393 sphi_a, & 05394 sphi_b, & 05395 sphi_c, & 05396 sphi_d, & 05397 primitives, & 05398 buffer1, buffer2) 05399 #endif 05400 CASE(3) 05401 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 05402 CALL contract_dsff(work,& 05403 nl_a, nl_b, nl_c, nl_d, & 05404 sphi_a, sphi_b, sphi_c, sphi_d, & 05405 primitives,& 05406 buffer1,buffer2 ) 05407 #else 05408 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05409 work, nl_a, nl_b, nl_c, nl_d, & 05410 sphi_a, & 05411 sphi_b, & 05412 sphi_c, & 05413 sphi_d, & 05414 primitives, & 05415 buffer1, buffer2) 05416 #endif 05417 CASE(4) 05418 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 05419 CALL contract_dsfg(work,& 05420 nl_a, nl_b, nl_c, nl_d, & 05421 sphi_a, sphi_b, sphi_c, sphi_d, & 05422 primitives,& 05423 buffer1,buffer2 ) 05424 #else 05425 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05426 work, nl_a, nl_b, nl_c, nl_d, & 05427 sphi_a, & 05428 sphi_b, & 05429 sphi_c, & 05430 sphi_d, & 05431 primitives, & 05432 buffer1, buffer2) 05433 #endif 05434 CASE DEFAULT 05435 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05436 work, nl_a, nl_b, nl_c, nl_d, & 05437 sphi_a, & 05438 sphi_b, & 05439 sphi_c, & 05440 sphi_d, & 05441 primitives, & 05442 buffer1, buffer2) 05443 END SELECT 05444 CASE(4) 05445 SELECT CASE(n_d) 05446 CASE(0) 05447 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 05448 CALL contract_dsgs(work,& 05449 nl_a, nl_b, nl_c, nl_d, & 05450 sphi_a, sphi_b, sphi_c, sphi_d, & 05451 primitives,& 05452 buffer1,buffer2 ) 05453 #else 05454 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05455 work, nl_a, nl_b, nl_c, nl_d, & 05456 sphi_a, & 05457 sphi_b, & 05458 sphi_c, & 05459 sphi_d, & 05460 primitives, & 05461 buffer1, buffer2) 05462 #endif 05463 CASE(1) 05464 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 05465 CALL contract_dsgp(work,& 05466 nl_a, nl_b, nl_c, nl_d, & 05467 sphi_a, sphi_b, sphi_c, sphi_d, & 05468 primitives,& 05469 buffer1,buffer2 ) 05470 #else 05471 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05472 work, nl_a, nl_b, nl_c, nl_d, & 05473 sphi_a, & 05474 sphi_b, & 05475 sphi_c, & 05476 sphi_d, & 05477 primitives, & 05478 buffer1, buffer2) 05479 #endif 05480 CASE(2) 05481 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 05482 CALL contract_dsgd(work,& 05483 nl_a, nl_b, nl_c, nl_d, & 05484 sphi_a, sphi_b, sphi_c, sphi_d, & 05485 primitives,& 05486 buffer1,buffer2 ) 05487 #else 05488 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05489 work, nl_a, nl_b, nl_c, nl_d, & 05490 sphi_a, & 05491 sphi_b, & 05492 sphi_c, & 05493 sphi_d, & 05494 primitives, & 05495 buffer1, buffer2) 05496 #endif 05497 CASE(3) 05498 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 05499 CALL contract_dsgf(work,& 05500 nl_a, nl_b, nl_c, nl_d, & 05501 sphi_a, sphi_b, sphi_c, sphi_d, & 05502 primitives,& 05503 buffer1,buffer2 ) 05504 #else 05505 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05506 work, nl_a, nl_b, nl_c, nl_d, & 05507 sphi_a, & 05508 sphi_b, & 05509 sphi_c, & 05510 sphi_d, & 05511 primitives, & 05512 buffer1, buffer2) 05513 #endif 05514 CASE(4) 05515 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 05516 CALL contract_dsgg(work,& 05517 nl_a, nl_b, nl_c, nl_d, & 05518 sphi_a, sphi_b, sphi_c, sphi_d, & 05519 primitives,& 05520 buffer1,buffer2 ) 05521 #else 05522 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05523 work, nl_a, nl_b, nl_c, nl_d, & 05524 sphi_a, & 05525 sphi_b, & 05526 sphi_c, & 05527 sphi_d, & 05528 primitives, & 05529 buffer1, buffer2) 05530 #endif 05531 CASE DEFAULT 05532 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05533 work, nl_a, nl_b, nl_c, nl_d, & 05534 sphi_a, & 05535 sphi_b, & 05536 sphi_c, & 05537 sphi_d, & 05538 primitives, & 05539 buffer1, buffer2) 05540 END SELECT 05541 CASE DEFAULT 05542 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05543 work, nl_a, nl_b, nl_c, nl_d, & 05544 sphi_a, & 05545 sphi_b, & 05546 sphi_c, & 05547 sphi_d, & 05548 primitives, & 05549 buffer1, buffer2) 05550 END SELECT 05551 CASE(1) 05552 SELECT CASE(n_c) 05553 CASE(0) 05554 SELECT CASE(n_d) 05555 CASE(0) 05556 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 05557 CALL contract_dpss(work,& 05558 nl_a, nl_b, nl_c, nl_d, & 05559 sphi_a, sphi_b, sphi_c, sphi_d, & 05560 primitives,& 05561 buffer1,buffer2 ) 05562 #else 05563 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05564 work, nl_a, nl_b, nl_c, nl_d, & 05565 sphi_a, & 05566 sphi_b, & 05567 sphi_c, & 05568 sphi_d, & 05569 primitives, & 05570 buffer1, buffer2) 05571 #endif 05572 CASE(1) 05573 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 05574 CALL contract_dpsp(work,& 05575 nl_a, nl_b, nl_c, nl_d, & 05576 sphi_a, sphi_b, sphi_c, sphi_d, & 05577 primitives,& 05578 buffer1,buffer2 ) 05579 #else 05580 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05581 work, nl_a, nl_b, nl_c, nl_d, & 05582 sphi_a, & 05583 sphi_b, & 05584 sphi_c, & 05585 sphi_d, & 05586 primitives, & 05587 buffer1, buffer2) 05588 #endif 05589 CASE(2) 05590 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 05591 CALL contract_dpsd(work,& 05592 nl_a, nl_b, nl_c, nl_d, & 05593 sphi_a, sphi_b, sphi_c, sphi_d, & 05594 primitives,& 05595 buffer1,buffer2 ) 05596 #else 05597 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05598 work, nl_a, nl_b, nl_c, nl_d, & 05599 sphi_a, & 05600 sphi_b, & 05601 sphi_c, & 05602 sphi_d, & 05603 primitives, & 05604 buffer1, buffer2) 05605 #endif 05606 CASE(3) 05607 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 05608 CALL contract_dpsf(work,& 05609 nl_a, nl_b, nl_c, nl_d, & 05610 sphi_a, sphi_b, sphi_c, sphi_d, & 05611 primitives,& 05612 buffer1,buffer2 ) 05613 #else 05614 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05615 work, nl_a, nl_b, nl_c, nl_d, & 05616 sphi_a, & 05617 sphi_b, & 05618 sphi_c, & 05619 sphi_d, & 05620 primitives, & 05621 buffer1, buffer2) 05622 #endif 05623 CASE(4) 05624 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 05625 CALL contract_dpsg(work,& 05626 nl_a, nl_b, nl_c, nl_d, & 05627 sphi_a, sphi_b, sphi_c, sphi_d, & 05628 primitives,& 05629 buffer1,buffer2 ) 05630 #else 05631 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05632 work, nl_a, nl_b, nl_c, nl_d, & 05633 sphi_a, & 05634 sphi_b, & 05635 sphi_c, & 05636 sphi_d, & 05637 primitives, & 05638 buffer1, buffer2) 05639 #endif 05640 CASE DEFAULT 05641 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05642 work, nl_a, nl_b, nl_c, nl_d, & 05643 sphi_a, & 05644 sphi_b, & 05645 sphi_c, & 05646 sphi_d, & 05647 primitives, & 05648 buffer1, buffer2) 05649 END SELECT 05650 CASE(1) 05651 SELECT CASE(n_d) 05652 CASE(0) 05653 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 05654 CALL contract_dpps(work,& 05655 nl_a, nl_b, nl_c, nl_d, & 05656 sphi_a, sphi_b, sphi_c, sphi_d, & 05657 primitives,& 05658 buffer1,buffer2 ) 05659 #else 05660 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05661 work, nl_a, nl_b, nl_c, nl_d, & 05662 sphi_a, & 05663 sphi_b, & 05664 sphi_c, & 05665 sphi_d, & 05666 primitives, & 05667 buffer1, buffer2) 05668 #endif 05669 CASE(1) 05670 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 05671 CALL contract_dppp(work,& 05672 nl_a, nl_b, nl_c, nl_d, & 05673 sphi_a, sphi_b, sphi_c, sphi_d, & 05674 primitives,& 05675 buffer1,buffer2 ) 05676 #else 05677 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05678 work, nl_a, nl_b, nl_c, nl_d, & 05679 sphi_a, & 05680 sphi_b, & 05681 sphi_c, & 05682 sphi_d, & 05683 primitives, & 05684 buffer1, buffer2) 05685 #endif 05686 CASE(2) 05687 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 05688 CALL contract_dppd(work,& 05689 nl_a, nl_b, nl_c, nl_d, & 05690 sphi_a, sphi_b, sphi_c, sphi_d, & 05691 primitives,& 05692 buffer1,buffer2 ) 05693 #else 05694 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05695 work, nl_a, nl_b, nl_c, nl_d, & 05696 sphi_a, & 05697 sphi_b, & 05698 sphi_c, & 05699 sphi_d, & 05700 primitives, & 05701 buffer1, buffer2) 05702 #endif 05703 CASE(3) 05704 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 05705 CALL contract_dppf(work,& 05706 nl_a, nl_b, nl_c, nl_d, & 05707 sphi_a, sphi_b, sphi_c, sphi_d, & 05708 primitives,& 05709 buffer1,buffer2 ) 05710 #else 05711 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05712 work, nl_a, nl_b, nl_c, nl_d, & 05713 sphi_a, & 05714 sphi_b, & 05715 sphi_c, & 05716 sphi_d, & 05717 primitives, & 05718 buffer1, buffer2) 05719 #endif 05720 CASE(4) 05721 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 05722 CALL contract_dppg(work,& 05723 nl_a, nl_b, nl_c, nl_d, & 05724 sphi_a, sphi_b, sphi_c, sphi_d, & 05725 primitives,& 05726 buffer1,buffer2 ) 05727 #else 05728 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05729 work, nl_a, nl_b, nl_c, nl_d, & 05730 sphi_a, & 05731 sphi_b, & 05732 sphi_c, & 05733 sphi_d, & 05734 primitives, & 05735 buffer1, buffer2) 05736 #endif 05737 CASE DEFAULT 05738 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05739 work, nl_a, nl_b, nl_c, nl_d, & 05740 sphi_a, & 05741 sphi_b, & 05742 sphi_c, & 05743 sphi_d, & 05744 primitives, & 05745 buffer1, buffer2) 05746 END SELECT 05747 CASE(2) 05748 SELECT CASE(n_d) 05749 CASE(0) 05750 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 05751 CALL contract_dpds(work,& 05752 nl_a, nl_b, nl_c, nl_d, & 05753 sphi_a, sphi_b, sphi_c, sphi_d, & 05754 primitives,& 05755 buffer1,buffer2 ) 05756 #else 05757 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05758 work, nl_a, nl_b, nl_c, nl_d, & 05759 sphi_a, & 05760 sphi_b, & 05761 sphi_c, & 05762 sphi_d, & 05763 primitives, & 05764 buffer1, buffer2) 05765 #endif 05766 CASE(1) 05767 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 05768 CALL contract_dpdp(work,& 05769 nl_a, nl_b, nl_c, nl_d, & 05770 sphi_a, sphi_b, sphi_c, sphi_d, & 05771 primitives,& 05772 buffer1,buffer2 ) 05773 #else 05774 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05775 work, nl_a, nl_b, nl_c, nl_d, & 05776 sphi_a, & 05777 sphi_b, & 05778 sphi_c, & 05779 sphi_d, & 05780 primitives, & 05781 buffer1, buffer2) 05782 #endif 05783 CASE(2) 05784 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 05785 CALL contract_dpdd(work,& 05786 nl_a, nl_b, nl_c, nl_d, & 05787 sphi_a, sphi_b, sphi_c, sphi_d, & 05788 primitives,& 05789 buffer1,buffer2 ) 05790 #else 05791 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05792 work, nl_a, nl_b, nl_c, nl_d, & 05793 sphi_a, & 05794 sphi_b, & 05795 sphi_c, & 05796 sphi_d, & 05797 primitives, & 05798 buffer1, buffer2) 05799 #endif 05800 CASE(3) 05801 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 05802 CALL contract_dpdf(work,& 05803 nl_a, nl_b, nl_c, nl_d, & 05804 sphi_a, sphi_b, sphi_c, sphi_d, & 05805 primitives,& 05806 buffer1,buffer2 ) 05807 #else 05808 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05809 work, nl_a, nl_b, nl_c, nl_d, & 05810 sphi_a, & 05811 sphi_b, & 05812 sphi_c, & 05813 sphi_d, & 05814 primitives, & 05815 buffer1, buffer2) 05816 #endif 05817 CASE(4) 05818 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 05819 CALL contract_dpdg(work,& 05820 nl_a, nl_b, nl_c, nl_d, & 05821 sphi_a, sphi_b, sphi_c, sphi_d, & 05822 primitives,& 05823 buffer1,buffer2 ) 05824 #else 05825 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05826 work, nl_a, nl_b, nl_c, nl_d, & 05827 sphi_a, & 05828 sphi_b, & 05829 sphi_c, & 05830 sphi_d, & 05831 primitives, & 05832 buffer1, buffer2) 05833 #endif 05834 CASE DEFAULT 05835 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05836 work, nl_a, nl_b, nl_c, nl_d, & 05837 sphi_a, & 05838 sphi_b, & 05839 sphi_c, & 05840 sphi_d, & 05841 primitives, & 05842 buffer1, buffer2) 05843 END SELECT 05844 CASE(3) 05845 SELECT CASE(n_d) 05846 CASE(0) 05847 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 05848 CALL contract_dpfs(work,& 05849 nl_a, nl_b, nl_c, nl_d, & 05850 sphi_a, sphi_b, sphi_c, sphi_d, & 05851 primitives,& 05852 buffer1,buffer2 ) 05853 #else 05854 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05855 work, nl_a, nl_b, nl_c, nl_d, & 05856 sphi_a, & 05857 sphi_b, & 05858 sphi_c, & 05859 sphi_d, & 05860 primitives, & 05861 buffer1, buffer2) 05862 #endif 05863 CASE(1) 05864 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 05865 CALL contract_dpfp(work,& 05866 nl_a, nl_b, nl_c, nl_d, & 05867 sphi_a, sphi_b, sphi_c, sphi_d, & 05868 primitives,& 05869 buffer1,buffer2 ) 05870 #else 05871 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05872 work, nl_a, nl_b, nl_c, nl_d, & 05873 sphi_a, & 05874 sphi_b, & 05875 sphi_c, & 05876 sphi_d, & 05877 primitives, & 05878 buffer1, buffer2) 05879 #endif 05880 CASE(2) 05881 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 05882 CALL contract_dpfd(work,& 05883 nl_a, nl_b, nl_c, nl_d, & 05884 sphi_a, sphi_b, sphi_c, sphi_d, & 05885 primitives,& 05886 buffer1,buffer2 ) 05887 #else 05888 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05889 work, nl_a, nl_b, nl_c, nl_d, & 05890 sphi_a, & 05891 sphi_b, & 05892 sphi_c, & 05893 sphi_d, & 05894 primitives, & 05895 buffer1, buffer2) 05896 #endif 05897 CASE(3) 05898 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 05899 CALL contract_dpff(work,& 05900 nl_a, nl_b, nl_c, nl_d, & 05901 sphi_a, sphi_b, sphi_c, sphi_d, & 05902 primitives,& 05903 buffer1,buffer2 ) 05904 #else 05905 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05906 work, nl_a, nl_b, nl_c, nl_d, & 05907 sphi_a, & 05908 sphi_b, & 05909 sphi_c, & 05910 sphi_d, & 05911 primitives, & 05912 buffer1, buffer2) 05913 #endif 05914 CASE(4) 05915 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 05916 CALL contract_dpfg(work,& 05917 nl_a, nl_b, nl_c, nl_d, & 05918 sphi_a, sphi_b, sphi_c, sphi_d, & 05919 primitives,& 05920 buffer1,buffer2 ) 05921 #else 05922 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05923 work, nl_a, nl_b, nl_c, nl_d, & 05924 sphi_a, & 05925 sphi_b, & 05926 sphi_c, & 05927 sphi_d, & 05928 primitives, & 05929 buffer1, buffer2) 05930 #endif 05931 CASE DEFAULT 05932 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05933 work, nl_a, nl_b, nl_c, nl_d, & 05934 sphi_a, & 05935 sphi_b, & 05936 sphi_c, & 05937 sphi_d, & 05938 primitives, & 05939 buffer1, buffer2) 05940 END SELECT 05941 CASE(4) 05942 SELECT CASE(n_d) 05943 CASE(0) 05944 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 05945 CALL contract_dpgs(work,& 05946 nl_a, nl_b, nl_c, nl_d, & 05947 sphi_a, sphi_b, sphi_c, sphi_d, & 05948 primitives,& 05949 buffer1,buffer2 ) 05950 #else 05951 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05952 work, nl_a, nl_b, nl_c, nl_d, & 05953 sphi_a, & 05954 sphi_b, & 05955 sphi_c, & 05956 sphi_d, & 05957 primitives, & 05958 buffer1, buffer2) 05959 #endif 05960 CASE(1) 05961 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 05962 CALL contract_dpgp(work,& 05963 nl_a, nl_b, nl_c, nl_d, & 05964 sphi_a, sphi_b, sphi_c, sphi_d, & 05965 primitives,& 05966 buffer1,buffer2 ) 05967 #else 05968 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05969 work, nl_a, nl_b, nl_c, nl_d, & 05970 sphi_a, & 05971 sphi_b, & 05972 sphi_c, & 05973 sphi_d, & 05974 primitives, & 05975 buffer1, buffer2) 05976 #endif 05977 CASE(2) 05978 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 05979 CALL contract_dpgd(work,& 05980 nl_a, nl_b, nl_c, nl_d, & 05981 sphi_a, sphi_b, sphi_c, sphi_d, & 05982 primitives,& 05983 buffer1,buffer2 ) 05984 #else 05985 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 05986 work, nl_a, nl_b, nl_c, nl_d, & 05987 sphi_a, & 05988 sphi_b, & 05989 sphi_c, & 05990 sphi_d, & 05991 primitives, & 05992 buffer1, buffer2) 05993 #endif 05994 CASE(3) 05995 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 05996 CALL contract_dpgf(work,& 05997 nl_a, nl_b, nl_c, nl_d, & 05998 sphi_a, sphi_b, sphi_c, sphi_d, & 05999 primitives,& 06000 buffer1,buffer2 ) 06001 #else 06002 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06003 work, nl_a, nl_b, nl_c, nl_d, & 06004 sphi_a, & 06005 sphi_b, & 06006 sphi_c, & 06007 sphi_d, & 06008 primitives, & 06009 buffer1, buffer2) 06010 #endif 06011 CASE(4) 06012 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 06013 CALL contract_dpgg(work,& 06014 nl_a, nl_b, nl_c, nl_d, & 06015 sphi_a, sphi_b, sphi_c, sphi_d, & 06016 primitives,& 06017 buffer1,buffer2 ) 06018 #else 06019 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06020 work, nl_a, nl_b, nl_c, nl_d, & 06021 sphi_a, & 06022 sphi_b, & 06023 sphi_c, & 06024 sphi_d, & 06025 primitives, & 06026 buffer1, buffer2) 06027 #endif 06028 CASE DEFAULT 06029 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06030 work, nl_a, nl_b, nl_c, nl_d, & 06031 sphi_a, & 06032 sphi_b, & 06033 sphi_c, & 06034 sphi_d, & 06035 primitives, & 06036 buffer1, buffer2) 06037 END SELECT 06038 CASE DEFAULT 06039 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06040 work, nl_a, nl_b, nl_c, nl_d, & 06041 sphi_a, & 06042 sphi_b, & 06043 sphi_c, & 06044 sphi_d, & 06045 primitives, & 06046 buffer1, buffer2) 06047 END SELECT 06048 CASE(2) 06049 SELECT CASE(n_c) 06050 CASE(0) 06051 SELECT CASE(n_d) 06052 CASE(0) 06053 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 06054 CALL contract_ddss(work,& 06055 nl_a, nl_b, nl_c, nl_d, & 06056 sphi_a, sphi_b, sphi_c, sphi_d, & 06057 primitives,& 06058 buffer1,buffer2 ) 06059 #else 06060 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06061 work, nl_a, nl_b, nl_c, nl_d, & 06062 sphi_a, & 06063 sphi_b, & 06064 sphi_c, & 06065 sphi_d, & 06066 primitives, & 06067 buffer1, buffer2) 06068 #endif 06069 CASE(1) 06070 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 06071 CALL contract_ddsp(work,& 06072 nl_a, nl_b, nl_c, nl_d, & 06073 sphi_a, sphi_b, sphi_c, sphi_d, & 06074 primitives,& 06075 buffer1,buffer2 ) 06076 #else 06077 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06078 work, nl_a, nl_b, nl_c, nl_d, & 06079 sphi_a, & 06080 sphi_b, & 06081 sphi_c, & 06082 sphi_d, & 06083 primitives, & 06084 buffer1, buffer2) 06085 #endif 06086 CASE(2) 06087 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 06088 CALL contract_ddsd(work,& 06089 nl_a, nl_b, nl_c, nl_d, & 06090 sphi_a, sphi_b, sphi_c, sphi_d, & 06091 primitives,& 06092 buffer1,buffer2 ) 06093 #else 06094 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06095 work, nl_a, nl_b, nl_c, nl_d, & 06096 sphi_a, & 06097 sphi_b, & 06098 sphi_c, & 06099 sphi_d, & 06100 primitives, & 06101 buffer1, buffer2) 06102 #endif 06103 CASE(3) 06104 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 06105 CALL contract_ddsf(work,& 06106 nl_a, nl_b, nl_c, nl_d, & 06107 sphi_a, sphi_b, sphi_c, sphi_d, & 06108 primitives,& 06109 buffer1,buffer2 ) 06110 #else 06111 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06112 work, nl_a, nl_b, nl_c, nl_d, & 06113 sphi_a, & 06114 sphi_b, & 06115 sphi_c, & 06116 sphi_d, & 06117 primitives, & 06118 buffer1, buffer2) 06119 #endif 06120 CASE(4) 06121 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 06122 CALL contract_ddsg(work,& 06123 nl_a, nl_b, nl_c, nl_d, & 06124 sphi_a, sphi_b, sphi_c, sphi_d, & 06125 primitives,& 06126 buffer1,buffer2 ) 06127 #else 06128 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06129 work, nl_a, nl_b, nl_c, nl_d, & 06130 sphi_a, & 06131 sphi_b, & 06132 sphi_c, & 06133 sphi_d, & 06134 primitives, & 06135 buffer1, buffer2) 06136 #endif 06137 CASE DEFAULT 06138 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06139 work, nl_a, nl_b, nl_c, nl_d, & 06140 sphi_a, & 06141 sphi_b, & 06142 sphi_c, & 06143 sphi_d, & 06144 primitives, & 06145 buffer1, buffer2) 06146 END SELECT 06147 CASE(1) 06148 SELECT CASE(n_d) 06149 CASE(0) 06150 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 06151 CALL contract_ddps(work,& 06152 nl_a, nl_b, nl_c, nl_d, & 06153 sphi_a, sphi_b, sphi_c, sphi_d, & 06154 primitives,& 06155 buffer1,buffer2 ) 06156 #else 06157 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06158 work, nl_a, nl_b, nl_c, nl_d, & 06159 sphi_a, & 06160 sphi_b, & 06161 sphi_c, & 06162 sphi_d, & 06163 primitives, & 06164 buffer1, buffer2) 06165 #endif 06166 CASE(1) 06167 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 06168 CALL contract_ddpp(work,& 06169 nl_a, nl_b, nl_c, nl_d, & 06170 sphi_a, sphi_b, sphi_c, sphi_d, & 06171 primitives,& 06172 buffer1,buffer2 ) 06173 #else 06174 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06175 work, nl_a, nl_b, nl_c, nl_d, & 06176 sphi_a, & 06177 sphi_b, & 06178 sphi_c, & 06179 sphi_d, & 06180 primitives, & 06181 buffer1, buffer2) 06182 #endif 06183 CASE(2) 06184 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 06185 CALL contract_ddpd(work,& 06186 nl_a, nl_b, nl_c, nl_d, & 06187 sphi_a, sphi_b, sphi_c, sphi_d, & 06188 primitives,& 06189 buffer1,buffer2 ) 06190 #else 06191 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06192 work, nl_a, nl_b, nl_c, nl_d, & 06193 sphi_a, & 06194 sphi_b, & 06195 sphi_c, & 06196 sphi_d, & 06197 primitives, & 06198 buffer1, buffer2) 06199 #endif 06200 CASE(3) 06201 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 06202 CALL contract_ddpf(work,& 06203 nl_a, nl_b, nl_c, nl_d, & 06204 sphi_a, sphi_b, sphi_c, sphi_d, & 06205 primitives,& 06206 buffer1,buffer2 ) 06207 #else 06208 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06209 work, nl_a, nl_b, nl_c, nl_d, & 06210 sphi_a, & 06211 sphi_b, & 06212 sphi_c, & 06213 sphi_d, & 06214 primitives, & 06215 buffer1, buffer2) 06216 #endif 06217 CASE(4) 06218 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 06219 CALL contract_ddpg(work,& 06220 nl_a, nl_b, nl_c, nl_d, & 06221 sphi_a, sphi_b, sphi_c, sphi_d, & 06222 primitives,& 06223 buffer1,buffer2 ) 06224 #else 06225 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06226 work, nl_a, nl_b, nl_c, nl_d, & 06227 sphi_a, & 06228 sphi_b, & 06229 sphi_c, & 06230 sphi_d, & 06231 primitives, & 06232 buffer1, buffer2) 06233 #endif 06234 CASE DEFAULT 06235 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06236 work, nl_a, nl_b, nl_c, nl_d, & 06237 sphi_a, & 06238 sphi_b, & 06239 sphi_c, & 06240 sphi_d, & 06241 primitives, & 06242 buffer1, buffer2) 06243 END SELECT 06244 CASE(2) 06245 SELECT CASE(n_d) 06246 CASE(0) 06247 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 06248 CALL contract_ddds(work,& 06249 nl_a, nl_b, nl_c, nl_d, & 06250 sphi_a, sphi_b, sphi_c, sphi_d, & 06251 primitives,& 06252 buffer1,buffer2 ) 06253 #else 06254 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06255 work, nl_a, nl_b, nl_c, nl_d, & 06256 sphi_a, & 06257 sphi_b, & 06258 sphi_c, & 06259 sphi_d, & 06260 primitives, & 06261 buffer1, buffer2) 06262 #endif 06263 CASE(1) 06264 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 06265 CALL contract_dddp(work,& 06266 nl_a, nl_b, nl_c, nl_d, & 06267 sphi_a, sphi_b, sphi_c, sphi_d, & 06268 primitives,& 06269 buffer1,buffer2 ) 06270 #else 06271 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06272 work, nl_a, nl_b, nl_c, nl_d, & 06273 sphi_a, & 06274 sphi_b, & 06275 sphi_c, & 06276 sphi_d, & 06277 primitives, & 06278 buffer1, buffer2) 06279 #endif 06280 CASE(2) 06281 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 06282 CALL contract_dddd(work,& 06283 nl_a, nl_b, nl_c, nl_d, & 06284 sphi_a, sphi_b, sphi_c, sphi_d, & 06285 primitives,& 06286 buffer1,buffer2 ) 06287 #else 06288 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06289 work, nl_a, nl_b, nl_c, nl_d, & 06290 sphi_a, & 06291 sphi_b, & 06292 sphi_c, & 06293 sphi_d, & 06294 primitives, & 06295 buffer1, buffer2) 06296 #endif 06297 CASE(3) 06298 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 06299 CALL contract_dddf(work,& 06300 nl_a, nl_b, nl_c, nl_d, & 06301 sphi_a, sphi_b, sphi_c, sphi_d, & 06302 primitives,& 06303 buffer1,buffer2 ) 06304 #else 06305 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06306 work, nl_a, nl_b, nl_c, nl_d, & 06307 sphi_a, & 06308 sphi_b, & 06309 sphi_c, & 06310 sphi_d, & 06311 primitives, & 06312 buffer1, buffer2) 06313 #endif 06314 CASE(4) 06315 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 06316 CALL contract_dddg(work,& 06317 nl_a, nl_b, nl_c, nl_d, & 06318 sphi_a, sphi_b, sphi_c, sphi_d, & 06319 primitives,& 06320 buffer1,buffer2 ) 06321 #else 06322 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06323 work, nl_a, nl_b, nl_c, nl_d, & 06324 sphi_a, & 06325 sphi_b, & 06326 sphi_c, & 06327 sphi_d, & 06328 primitives, & 06329 buffer1, buffer2) 06330 #endif 06331 CASE DEFAULT 06332 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06333 work, nl_a, nl_b, nl_c, nl_d, & 06334 sphi_a, & 06335 sphi_b, & 06336 sphi_c, & 06337 sphi_d, & 06338 primitives, & 06339 buffer1, buffer2) 06340 END SELECT 06341 CASE(3) 06342 SELECT CASE(n_d) 06343 CASE(0) 06344 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 06345 CALL contract_ddfs(work,& 06346 nl_a, nl_b, nl_c, nl_d, & 06347 sphi_a, sphi_b, sphi_c, sphi_d, & 06348 primitives,& 06349 buffer1,buffer2 ) 06350 #else 06351 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06352 work, nl_a, nl_b, nl_c, nl_d, & 06353 sphi_a, & 06354 sphi_b, & 06355 sphi_c, & 06356 sphi_d, & 06357 primitives, & 06358 buffer1, buffer2) 06359 #endif 06360 CASE(1) 06361 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 06362 CALL contract_ddfp(work,& 06363 nl_a, nl_b, nl_c, nl_d, & 06364 sphi_a, sphi_b, sphi_c, sphi_d, & 06365 primitives,& 06366 buffer1,buffer2 ) 06367 #else 06368 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06369 work, nl_a, nl_b, nl_c, nl_d, & 06370 sphi_a, & 06371 sphi_b, & 06372 sphi_c, & 06373 sphi_d, & 06374 primitives, & 06375 buffer1, buffer2) 06376 #endif 06377 CASE(2) 06378 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 06379 CALL contract_ddfd(work,& 06380 nl_a, nl_b, nl_c, nl_d, & 06381 sphi_a, sphi_b, sphi_c, sphi_d, & 06382 primitives,& 06383 buffer1,buffer2 ) 06384 #else 06385 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06386 work, nl_a, nl_b, nl_c, nl_d, & 06387 sphi_a, & 06388 sphi_b, & 06389 sphi_c, & 06390 sphi_d, & 06391 primitives, & 06392 buffer1, buffer2) 06393 #endif 06394 CASE(3) 06395 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 06396 CALL contract_ddff(work,& 06397 nl_a, nl_b, nl_c, nl_d, & 06398 sphi_a, sphi_b, sphi_c, sphi_d, & 06399 primitives,& 06400 buffer1,buffer2 ) 06401 #else 06402 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06403 work, nl_a, nl_b, nl_c, nl_d, & 06404 sphi_a, & 06405 sphi_b, & 06406 sphi_c, & 06407 sphi_d, & 06408 primitives, & 06409 buffer1, buffer2) 06410 #endif 06411 CASE(4) 06412 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 06413 CALL contract_ddfg(work,& 06414 nl_a, nl_b, nl_c, nl_d, & 06415 sphi_a, sphi_b, sphi_c, sphi_d, & 06416 primitives,& 06417 buffer1,buffer2 ) 06418 #else 06419 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06420 work, nl_a, nl_b, nl_c, nl_d, & 06421 sphi_a, & 06422 sphi_b, & 06423 sphi_c, & 06424 sphi_d, & 06425 primitives, & 06426 buffer1, buffer2) 06427 #endif 06428 CASE DEFAULT 06429 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06430 work, nl_a, nl_b, nl_c, nl_d, & 06431 sphi_a, & 06432 sphi_b, & 06433 sphi_c, & 06434 sphi_d, & 06435 primitives, & 06436 buffer1, buffer2) 06437 END SELECT 06438 CASE(4) 06439 SELECT CASE(n_d) 06440 CASE(0) 06441 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 06442 CALL contract_ddgs(work,& 06443 nl_a, nl_b, nl_c, nl_d, & 06444 sphi_a, sphi_b, sphi_c, sphi_d, & 06445 primitives,& 06446 buffer1,buffer2 ) 06447 #else 06448 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06449 work, nl_a, nl_b, nl_c, nl_d, & 06450 sphi_a, & 06451 sphi_b, & 06452 sphi_c, & 06453 sphi_d, & 06454 primitives, & 06455 buffer1, buffer2) 06456 #endif 06457 CASE(1) 06458 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 06459 CALL contract_ddgp(work,& 06460 nl_a, nl_b, nl_c, nl_d, & 06461 sphi_a, sphi_b, sphi_c, sphi_d, & 06462 primitives,& 06463 buffer1,buffer2 ) 06464 #else 06465 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06466 work, nl_a, nl_b, nl_c, nl_d, & 06467 sphi_a, & 06468 sphi_b, & 06469 sphi_c, & 06470 sphi_d, & 06471 primitives, & 06472 buffer1, buffer2) 06473 #endif 06474 CASE(2) 06475 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 06476 CALL contract_ddgd(work,& 06477 nl_a, nl_b, nl_c, nl_d, & 06478 sphi_a, sphi_b, sphi_c, sphi_d, & 06479 primitives,& 06480 buffer1,buffer2 ) 06481 #else 06482 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06483 work, nl_a, nl_b, nl_c, nl_d, & 06484 sphi_a, & 06485 sphi_b, & 06486 sphi_c, & 06487 sphi_d, & 06488 primitives, & 06489 buffer1, buffer2) 06490 #endif 06491 CASE(3) 06492 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 06493 CALL contract_ddgf(work,& 06494 nl_a, nl_b, nl_c, nl_d, & 06495 sphi_a, sphi_b, sphi_c, sphi_d, & 06496 primitives,& 06497 buffer1,buffer2 ) 06498 #else 06499 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06500 work, nl_a, nl_b, nl_c, nl_d, & 06501 sphi_a, & 06502 sphi_b, & 06503 sphi_c, & 06504 sphi_d, & 06505 primitives, & 06506 buffer1, buffer2) 06507 #endif 06508 CASE(4) 06509 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 06510 CALL contract_ddgg(work,& 06511 nl_a, nl_b, nl_c, nl_d, & 06512 sphi_a, sphi_b, sphi_c, sphi_d, & 06513 primitives,& 06514 buffer1,buffer2 ) 06515 #else 06516 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06517 work, nl_a, nl_b, nl_c, nl_d, & 06518 sphi_a, & 06519 sphi_b, & 06520 sphi_c, & 06521 sphi_d, & 06522 primitives, & 06523 buffer1, buffer2) 06524 #endif 06525 CASE DEFAULT 06526 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06527 work, nl_a, nl_b, nl_c, nl_d, & 06528 sphi_a, & 06529 sphi_b, & 06530 sphi_c, & 06531 sphi_d, & 06532 primitives, & 06533 buffer1, buffer2) 06534 END SELECT 06535 CASE DEFAULT 06536 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06537 work, nl_a, nl_b, nl_c, nl_d, & 06538 sphi_a, & 06539 sphi_b, & 06540 sphi_c, & 06541 sphi_d, & 06542 primitives, & 06543 buffer1, buffer2) 06544 END SELECT 06545 CASE(3) 06546 SELECT CASE(n_c) 06547 CASE(0) 06548 SELECT CASE(n_d) 06549 CASE(0) 06550 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 06551 CALL contract_dfss(work,& 06552 nl_a, nl_b, nl_c, nl_d, & 06553 sphi_a, sphi_b, sphi_c, sphi_d, & 06554 primitives,& 06555 buffer1,buffer2 ) 06556 #else 06557 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06558 work, nl_a, nl_b, nl_c, nl_d, & 06559 sphi_a, & 06560 sphi_b, & 06561 sphi_c, & 06562 sphi_d, & 06563 primitives, & 06564 buffer1, buffer2) 06565 #endif 06566 CASE(1) 06567 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 06568 CALL contract_dfsp(work,& 06569 nl_a, nl_b, nl_c, nl_d, & 06570 sphi_a, sphi_b, sphi_c, sphi_d, & 06571 primitives,& 06572 buffer1,buffer2 ) 06573 #else 06574 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06575 work, nl_a, nl_b, nl_c, nl_d, & 06576 sphi_a, & 06577 sphi_b, & 06578 sphi_c, & 06579 sphi_d, & 06580 primitives, & 06581 buffer1, buffer2) 06582 #endif 06583 CASE(2) 06584 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 06585 CALL contract_dfsd(work,& 06586 nl_a, nl_b, nl_c, nl_d, & 06587 sphi_a, sphi_b, sphi_c, sphi_d, & 06588 primitives,& 06589 buffer1,buffer2 ) 06590 #else 06591 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06592 work, nl_a, nl_b, nl_c, nl_d, & 06593 sphi_a, & 06594 sphi_b, & 06595 sphi_c, & 06596 sphi_d, & 06597 primitives, & 06598 buffer1, buffer2) 06599 #endif 06600 CASE(3) 06601 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 06602 CALL contract_dfsf(work,& 06603 nl_a, nl_b, nl_c, nl_d, & 06604 sphi_a, sphi_b, sphi_c, sphi_d, & 06605 primitives,& 06606 buffer1,buffer2 ) 06607 #else 06608 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06609 work, nl_a, nl_b, nl_c, nl_d, & 06610 sphi_a, & 06611 sphi_b, & 06612 sphi_c, & 06613 sphi_d, & 06614 primitives, & 06615 buffer1, buffer2) 06616 #endif 06617 CASE(4) 06618 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 06619 CALL contract_dfsg(work,& 06620 nl_a, nl_b, nl_c, nl_d, & 06621 sphi_a, sphi_b, sphi_c, sphi_d, & 06622 primitives,& 06623 buffer1,buffer2 ) 06624 #else 06625 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06626 work, nl_a, nl_b, nl_c, nl_d, & 06627 sphi_a, & 06628 sphi_b, & 06629 sphi_c, & 06630 sphi_d, & 06631 primitives, & 06632 buffer1, buffer2) 06633 #endif 06634 CASE DEFAULT 06635 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06636 work, nl_a, nl_b, nl_c, nl_d, & 06637 sphi_a, & 06638 sphi_b, & 06639 sphi_c, & 06640 sphi_d, & 06641 primitives, & 06642 buffer1, buffer2) 06643 END SELECT 06644 CASE(1) 06645 SELECT CASE(n_d) 06646 CASE(0) 06647 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 06648 CALL contract_dfps(work,& 06649 nl_a, nl_b, nl_c, nl_d, & 06650 sphi_a, sphi_b, sphi_c, sphi_d, & 06651 primitives,& 06652 buffer1,buffer2 ) 06653 #else 06654 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06655 work, nl_a, nl_b, nl_c, nl_d, & 06656 sphi_a, & 06657 sphi_b, & 06658 sphi_c, & 06659 sphi_d, & 06660 primitives, & 06661 buffer1, buffer2) 06662 #endif 06663 CASE(1) 06664 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 06665 CALL contract_dfpp(work,& 06666 nl_a, nl_b, nl_c, nl_d, & 06667 sphi_a, sphi_b, sphi_c, sphi_d, & 06668 primitives,& 06669 buffer1,buffer2 ) 06670 #else 06671 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06672 work, nl_a, nl_b, nl_c, nl_d, & 06673 sphi_a, & 06674 sphi_b, & 06675 sphi_c, & 06676 sphi_d, & 06677 primitives, & 06678 buffer1, buffer2) 06679 #endif 06680 CASE(2) 06681 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 06682 CALL contract_dfpd(work,& 06683 nl_a, nl_b, nl_c, nl_d, & 06684 sphi_a, sphi_b, sphi_c, sphi_d, & 06685 primitives,& 06686 buffer1,buffer2 ) 06687 #else 06688 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06689 work, nl_a, nl_b, nl_c, nl_d, & 06690 sphi_a, & 06691 sphi_b, & 06692 sphi_c, & 06693 sphi_d, & 06694 primitives, & 06695 buffer1, buffer2) 06696 #endif 06697 CASE(3) 06698 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 06699 CALL contract_dfpf(work,& 06700 nl_a, nl_b, nl_c, nl_d, & 06701 sphi_a, sphi_b, sphi_c, sphi_d, & 06702 primitives,& 06703 buffer1,buffer2 ) 06704 #else 06705 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06706 work, nl_a, nl_b, nl_c, nl_d, & 06707 sphi_a, & 06708 sphi_b, & 06709 sphi_c, & 06710 sphi_d, & 06711 primitives, & 06712 buffer1, buffer2) 06713 #endif 06714 CASE(4) 06715 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 06716 CALL contract_dfpg(work,& 06717 nl_a, nl_b, nl_c, nl_d, & 06718 sphi_a, sphi_b, sphi_c, sphi_d, & 06719 primitives,& 06720 buffer1,buffer2 ) 06721 #else 06722 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06723 work, nl_a, nl_b, nl_c, nl_d, & 06724 sphi_a, & 06725 sphi_b, & 06726 sphi_c, & 06727 sphi_d, & 06728 primitives, & 06729 buffer1, buffer2) 06730 #endif 06731 CASE DEFAULT 06732 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06733 work, nl_a, nl_b, nl_c, nl_d, & 06734 sphi_a, & 06735 sphi_b, & 06736 sphi_c, & 06737 sphi_d, & 06738 primitives, & 06739 buffer1, buffer2) 06740 END SELECT 06741 CASE(2) 06742 SELECT CASE(n_d) 06743 CASE(0) 06744 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 06745 CALL contract_dfds(work,& 06746 nl_a, nl_b, nl_c, nl_d, & 06747 sphi_a, sphi_b, sphi_c, sphi_d, & 06748 primitives,& 06749 buffer1,buffer2 ) 06750 #else 06751 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06752 work, nl_a, nl_b, nl_c, nl_d, & 06753 sphi_a, & 06754 sphi_b, & 06755 sphi_c, & 06756 sphi_d, & 06757 primitives, & 06758 buffer1, buffer2) 06759 #endif 06760 CASE(1) 06761 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 06762 CALL contract_dfdp(work,& 06763 nl_a, nl_b, nl_c, nl_d, & 06764 sphi_a, sphi_b, sphi_c, sphi_d, & 06765 primitives,& 06766 buffer1,buffer2 ) 06767 #else 06768 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06769 work, nl_a, nl_b, nl_c, nl_d, & 06770 sphi_a, & 06771 sphi_b, & 06772 sphi_c, & 06773 sphi_d, & 06774 primitives, & 06775 buffer1, buffer2) 06776 #endif 06777 CASE(2) 06778 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 06779 CALL contract_dfdd(work,& 06780 nl_a, nl_b, nl_c, nl_d, & 06781 sphi_a, sphi_b, sphi_c, sphi_d, & 06782 primitives,& 06783 buffer1,buffer2 ) 06784 #else 06785 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06786 work, nl_a, nl_b, nl_c, nl_d, & 06787 sphi_a, & 06788 sphi_b, & 06789 sphi_c, & 06790 sphi_d, & 06791 primitives, & 06792 buffer1, buffer2) 06793 #endif 06794 CASE(3) 06795 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 06796 CALL contract_dfdf(work,& 06797 nl_a, nl_b, nl_c, nl_d, & 06798 sphi_a, sphi_b, sphi_c, sphi_d, & 06799 primitives,& 06800 buffer1,buffer2 ) 06801 #else 06802 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06803 work, nl_a, nl_b, nl_c, nl_d, & 06804 sphi_a, & 06805 sphi_b, & 06806 sphi_c, & 06807 sphi_d, & 06808 primitives, & 06809 buffer1, buffer2) 06810 #endif 06811 CASE(4) 06812 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 06813 CALL contract_dfdg(work,& 06814 nl_a, nl_b, nl_c, nl_d, & 06815 sphi_a, sphi_b, sphi_c, sphi_d, & 06816 primitives,& 06817 buffer1,buffer2 ) 06818 #else 06819 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06820 work, nl_a, nl_b, nl_c, nl_d, & 06821 sphi_a, & 06822 sphi_b, & 06823 sphi_c, & 06824 sphi_d, & 06825 primitives, & 06826 buffer1, buffer2) 06827 #endif 06828 CASE DEFAULT 06829 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06830 work, nl_a, nl_b, nl_c, nl_d, & 06831 sphi_a, & 06832 sphi_b, & 06833 sphi_c, & 06834 sphi_d, & 06835 primitives, & 06836 buffer1, buffer2) 06837 END SELECT 06838 CASE(3) 06839 SELECT CASE(n_d) 06840 CASE(0) 06841 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 06842 CALL contract_dffs(work,& 06843 nl_a, nl_b, nl_c, nl_d, & 06844 sphi_a, sphi_b, sphi_c, sphi_d, & 06845 primitives,& 06846 buffer1,buffer2 ) 06847 #else 06848 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06849 work, nl_a, nl_b, nl_c, nl_d, & 06850 sphi_a, & 06851 sphi_b, & 06852 sphi_c, & 06853 sphi_d, & 06854 primitives, & 06855 buffer1, buffer2) 06856 #endif 06857 CASE(1) 06858 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 06859 CALL contract_dffp(work,& 06860 nl_a, nl_b, nl_c, nl_d, & 06861 sphi_a, sphi_b, sphi_c, sphi_d, & 06862 primitives,& 06863 buffer1,buffer2 ) 06864 #else 06865 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06866 work, nl_a, nl_b, nl_c, nl_d, & 06867 sphi_a, & 06868 sphi_b, & 06869 sphi_c, & 06870 sphi_d, & 06871 primitives, & 06872 buffer1, buffer2) 06873 #endif 06874 CASE(2) 06875 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 06876 CALL contract_dffd(work,& 06877 nl_a, nl_b, nl_c, nl_d, & 06878 sphi_a, sphi_b, sphi_c, sphi_d, & 06879 primitives,& 06880 buffer1,buffer2 ) 06881 #else 06882 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06883 work, nl_a, nl_b, nl_c, nl_d, & 06884 sphi_a, & 06885 sphi_b, & 06886 sphi_c, & 06887 sphi_d, & 06888 primitives, & 06889 buffer1, buffer2) 06890 #endif 06891 CASE(3) 06892 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 06893 CALL contract_dfff(work,& 06894 nl_a, nl_b, nl_c, nl_d, & 06895 sphi_a, sphi_b, sphi_c, sphi_d, & 06896 primitives,& 06897 buffer1,buffer2 ) 06898 #else 06899 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06900 work, nl_a, nl_b, nl_c, nl_d, & 06901 sphi_a, & 06902 sphi_b, & 06903 sphi_c, & 06904 sphi_d, & 06905 primitives, & 06906 buffer1, buffer2) 06907 #endif 06908 CASE(4) 06909 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 06910 CALL contract_dffg(work,& 06911 nl_a, nl_b, nl_c, nl_d, & 06912 sphi_a, sphi_b, sphi_c, sphi_d, & 06913 primitives,& 06914 buffer1,buffer2 ) 06915 #else 06916 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06917 work, nl_a, nl_b, nl_c, nl_d, & 06918 sphi_a, & 06919 sphi_b, & 06920 sphi_c, & 06921 sphi_d, & 06922 primitives, & 06923 buffer1, buffer2) 06924 #endif 06925 CASE DEFAULT 06926 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06927 work, nl_a, nl_b, nl_c, nl_d, & 06928 sphi_a, & 06929 sphi_b, & 06930 sphi_c, & 06931 sphi_d, & 06932 primitives, & 06933 buffer1, buffer2) 06934 END SELECT 06935 CASE(4) 06936 SELECT CASE(n_d) 06937 CASE(0) 06938 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 06939 CALL contract_dfgs(work,& 06940 nl_a, nl_b, nl_c, nl_d, & 06941 sphi_a, sphi_b, sphi_c, sphi_d, & 06942 primitives,& 06943 buffer1,buffer2 ) 06944 #else 06945 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06946 work, nl_a, nl_b, nl_c, nl_d, & 06947 sphi_a, & 06948 sphi_b, & 06949 sphi_c, & 06950 sphi_d, & 06951 primitives, & 06952 buffer1, buffer2) 06953 #endif 06954 CASE(1) 06955 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 06956 CALL contract_dfgp(work,& 06957 nl_a, nl_b, nl_c, nl_d, & 06958 sphi_a, sphi_b, sphi_c, sphi_d, & 06959 primitives,& 06960 buffer1,buffer2 ) 06961 #else 06962 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06963 work, nl_a, nl_b, nl_c, nl_d, & 06964 sphi_a, & 06965 sphi_b, & 06966 sphi_c, & 06967 sphi_d, & 06968 primitives, & 06969 buffer1, buffer2) 06970 #endif 06971 CASE(2) 06972 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 06973 CALL contract_dfgd(work,& 06974 nl_a, nl_b, nl_c, nl_d, & 06975 sphi_a, sphi_b, sphi_c, sphi_d, & 06976 primitives,& 06977 buffer1,buffer2 ) 06978 #else 06979 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06980 work, nl_a, nl_b, nl_c, nl_d, & 06981 sphi_a, & 06982 sphi_b, & 06983 sphi_c, & 06984 sphi_d, & 06985 primitives, & 06986 buffer1, buffer2) 06987 #endif 06988 CASE(3) 06989 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 06990 CALL contract_dfgf(work,& 06991 nl_a, nl_b, nl_c, nl_d, & 06992 sphi_a, sphi_b, sphi_c, sphi_d, & 06993 primitives,& 06994 buffer1,buffer2 ) 06995 #else 06996 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 06997 work, nl_a, nl_b, nl_c, nl_d, & 06998 sphi_a, & 06999 sphi_b, & 07000 sphi_c, & 07001 sphi_d, & 07002 primitives, & 07003 buffer1, buffer2) 07004 #endif 07005 CASE(4) 07006 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 07007 CALL contract_dfgg(work,& 07008 nl_a, nl_b, nl_c, nl_d, & 07009 sphi_a, sphi_b, sphi_c, sphi_d, & 07010 primitives,& 07011 buffer1,buffer2 ) 07012 #else 07013 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07014 work, nl_a, nl_b, nl_c, nl_d, & 07015 sphi_a, & 07016 sphi_b, & 07017 sphi_c, & 07018 sphi_d, & 07019 primitives, & 07020 buffer1, buffer2) 07021 #endif 07022 CASE DEFAULT 07023 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07024 work, nl_a, nl_b, nl_c, nl_d, & 07025 sphi_a, & 07026 sphi_b, & 07027 sphi_c, & 07028 sphi_d, & 07029 primitives, & 07030 buffer1, buffer2) 07031 END SELECT 07032 CASE DEFAULT 07033 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07034 work, nl_a, nl_b, nl_c, nl_d, & 07035 sphi_a, & 07036 sphi_b, & 07037 sphi_c, & 07038 sphi_d, & 07039 primitives, & 07040 buffer1, buffer2) 07041 END SELECT 07042 CASE(4) 07043 SELECT CASE(n_c) 07044 CASE(0) 07045 SELECT CASE(n_d) 07046 CASE(0) 07047 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 07048 CALL contract_dgss(work,& 07049 nl_a, nl_b, nl_c, nl_d, & 07050 sphi_a, sphi_b, sphi_c, sphi_d, & 07051 primitives,& 07052 buffer1,buffer2 ) 07053 #else 07054 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07055 work, nl_a, nl_b, nl_c, nl_d, & 07056 sphi_a, & 07057 sphi_b, & 07058 sphi_c, & 07059 sphi_d, & 07060 primitives, & 07061 buffer1, buffer2) 07062 #endif 07063 CASE(1) 07064 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 07065 CALL contract_dgsp(work,& 07066 nl_a, nl_b, nl_c, nl_d, & 07067 sphi_a, sphi_b, sphi_c, sphi_d, & 07068 primitives,& 07069 buffer1,buffer2 ) 07070 #else 07071 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07072 work, nl_a, nl_b, nl_c, nl_d, & 07073 sphi_a, & 07074 sphi_b, & 07075 sphi_c, & 07076 sphi_d, & 07077 primitives, & 07078 buffer1, buffer2) 07079 #endif 07080 CASE(2) 07081 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 07082 CALL contract_dgsd(work,& 07083 nl_a, nl_b, nl_c, nl_d, & 07084 sphi_a, sphi_b, sphi_c, sphi_d, & 07085 primitives,& 07086 buffer1,buffer2 ) 07087 #else 07088 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07089 work, nl_a, nl_b, nl_c, nl_d, & 07090 sphi_a, & 07091 sphi_b, & 07092 sphi_c, & 07093 sphi_d, & 07094 primitives, & 07095 buffer1, buffer2) 07096 #endif 07097 CASE(3) 07098 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 07099 CALL contract_dgsf(work,& 07100 nl_a, nl_b, nl_c, nl_d, & 07101 sphi_a, sphi_b, sphi_c, sphi_d, & 07102 primitives,& 07103 buffer1,buffer2 ) 07104 #else 07105 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07106 work, nl_a, nl_b, nl_c, nl_d, & 07107 sphi_a, & 07108 sphi_b, & 07109 sphi_c, & 07110 sphi_d, & 07111 primitives, & 07112 buffer1, buffer2) 07113 #endif 07114 CASE(4) 07115 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 07116 CALL contract_dgsg(work,& 07117 nl_a, nl_b, nl_c, nl_d, & 07118 sphi_a, sphi_b, sphi_c, sphi_d, & 07119 primitives,& 07120 buffer1,buffer2 ) 07121 #else 07122 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07123 work, nl_a, nl_b, nl_c, nl_d, & 07124 sphi_a, & 07125 sphi_b, & 07126 sphi_c, & 07127 sphi_d, & 07128 primitives, & 07129 buffer1, buffer2) 07130 #endif 07131 CASE DEFAULT 07132 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07133 work, nl_a, nl_b, nl_c, nl_d, & 07134 sphi_a, & 07135 sphi_b, & 07136 sphi_c, & 07137 sphi_d, & 07138 primitives, & 07139 buffer1, buffer2) 07140 END SELECT 07141 CASE(1) 07142 SELECT CASE(n_d) 07143 CASE(0) 07144 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 07145 CALL contract_dgps(work,& 07146 nl_a, nl_b, nl_c, nl_d, & 07147 sphi_a, sphi_b, sphi_c, sphi_d, & 07148 primitives,& 07149 buffer1,buffer2 ) 07150 #else 07151 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07152 work, nl_a, nl_b, nl_c, nl_d, & 07153 sphi_a, & 07154 sphi_b, & 07155 sphi_c, & 07156 sphi_d, & 07157 primitives, & 07158 buffer1, buffer2) 07159 #endif 07160 CASE(1) 07161 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 07162 CALL contract_dgpp(work,& 07163 nl_a, nl_b, nl_c, nl_d, & 07164 sphi_a, sphi_b, sphi_c, sphi_d, & 07165 primitives,& 07166 buffer1,buffer2 ) 07167 #else 07168 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07169 work, nl_a, nl_b, nl_c, nl_d, & 07170 sphi_a, & 07171 sphi_b, & 07172 sphi_c, & 07173 sphi_d, & 07174 primitives, & 07175 buffer1, buffer2) 07176 #endif 07177 CASE(2) 07178 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 07179 CALL contract_dgpd(work,& 07180 nl_a, nl_b, nl_c, nl_d, & 07181 sphi_a, sphi_b, sphi_c, sphi_d, & 07182 primitives,& 07183 buffer1,buffer2 ) 07184 #else 07185 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07186 work, nl_a, nl_b, nl_c, nl_d, & 07187 sphi_a, & 07188 sphi_b, & 07189 sphi_c, & 07190 sphi_d, & 07191 primitives, & 07192 buffer1, buffer2) 07193 #endif 07194 CASE(3) 07195 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 07196 CALL contract_dgpf(work,& 07197 nl_a, nl_b, nl_c, nl_d, & 07198 sphi_a, sphi_b, sphi_c, sphi_d, & 07199 primitives,& 07200 buffer1,buffer2 ) 07201 #else 07202 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07203 work, nl_a, nl_b, nl_c, nl_d, & 07204 sphi_a, & 07205 sphi_b, & 07206 sphi_c, & 07207 sphi_d, & 07208 primitives, & 07209 buffer1, buffer2) 07210 #endif 07211 CASE(4) 07212 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 07213 CALL contract_dgpg(work,& 07214 nl_a, nl_b, nl_c, nl_d, & 07215 sphi_a, sphi_b, sphi_c, sphi_d, & 07216 primitives,& 07217 buffer1,buffer2 ) 07218 #else 07219 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07220 work, nl_a, nl_b, nl_c, nl_d, & 07221 sphi_a, & 07222 sphi_b, & 07223 sphi_c, & 07224 sphi_d, & 07225 primitives, & 07226 buffer1, buffer2) 07227 #endif 07228 CASE DEFAULT 07229 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07230 work, nl_a, nl_b, nl_c, nl_d, & 07231 sphi_a, & 07232 sphi_b, & 07233 sphi_c, & 07234 sphi_d, & 07235 primitives, & 07236 buffer1, buffer2) 07237 END SELECT 07238 CASE(2) 07239 SELECT CASE(n_d) 07240 CASE(0) 07241 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 07242 CALL contract_dgds(work,& 07243 nl_a, nl_b, nl_c, nl_d, & 07244 sphi_a, sphi_b, sphi_c, sphi_d, & 07245 primitives,& 07246 buffer1,buffer2 ) 07247 #else 07248 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07249 work, nl_a, nl_b, nl_c, nl_d, & 07250 sphi_a, & 07251 sphi_b, & 07252 sphi_c, & 07253 sphi_d, & 07254 primitives, & 07255 buffer1, buffer2) 07256 #endif 07257 CASE(1) 07258 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 07259 CALL contract_dgdp(work,& 07260 nl_a, nl_b, nl_c, nl_d, & 07261 sphi_a, sphi_b, sphi_c, sphi_d, & 07262 primitives,& 07263 buffer1,buffer2 ) 07264 #else 07265 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07266 work, nl_a, nl_b, nl_c, nl_d, & 07267 sphi_a, & 07268 sphi_b, & 07269 sphi_c, & 07270 sphi_d, & 07271 primitives, & 07272 buffer1, buffer2) 07273 #endif 07274 CASE(2) 07275 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 07276 CALL contract_dgdd(work,& 07277 nl_a, nl_b, nl_c, nl_d, & 07278 sphi_a, sphi_b, sphi_c, sphi_d, & 07279 primitives,& 07280 buffer1,buffer2 ) 07281 #else 07282 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07283 work, nl_a, nl_b, nl_c, nl_d, & 07284 sphi_a, & 07285 sphi_b, & 07286 sphi_c, & 07287 sphi_d, & 07288 primitives, & 07289 buffer1, buffer2) 07290 #endif 07291 CASE(3) 07292 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 07293 CALL contract_dgdf(work,& 07294 nl_a, nl_b, nl_c, nl_d, & 07295 sphi_a, sphi_b, sphi_c, sphi_d, & 07296 primitives,& 07297 buffer1,buffer2 ) 07298 #else 07299 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07300 work, nl_a, nl_b, nl_c, nl_d, & 07301 sphi_a, & 07302 sphi_b, & 07303 sphi_c, & 07304 sphi_d, & 07305 primitives, & 07306 buffer1, buffer2) 07307 #endif 07308 CASE(4) 07309 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 07310 CALL contract_dgdg(work,& 07311 nl_a, nl_b, nl_c, nl_d, & 07312 sphi_a, sphi_b, sphi_c, sphi_d, & 07313 primitives,& 07314 buffer1,buffer2 ) 07315 #else 07316 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07317 work, nl_a, nl_b, nl_c, nl_d, & 07318 sphi_a, & 07319 sphi_b, & 07320 sphi_c, & 07321 sphi_d, & 07322 primitives, & 07323 buffer1, buffer2) 07324 #endif 07325 CASE DEFAULT 07326 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07327 work, nl_a, nl_b, nl_c, nl_d, & 07328 sphi_a, & 07329 sphi_b, & 07330 sphi_c, & 07331 sphi_d, & 07332 primitives, & 07333 buffer1, buffer2) 07334 END SELECT 07335 CASE(3) 07336 SELECT CASE(n_d) 07337 CASE(0) 07338 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 07339 CALL contract_dgfs(work,& 07340 nl_a, nl_b, nl_c, nl_d, & 07341 sphi_a, sphi_b, sphi_c, sphi_d, & 07342 primitives,& 07343 buffer1,buffer2 ) 07344 #else 07345 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07346 work, nl_a, nl_b, nl_c, nl_d, & 07347 sphi_a, & 07348 sphi_b, & 07349 sphi_c, & 07350 sphi_d, & 07351 primitives, & 07352 buffer1, buffer2) 07353 #endif 07354 CASE(1) 07355 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 07356 CALL contract_dgfp(work,& 07357 nl_a, nl_b, nl_c, nl_d, & 07358 sphi_a, sphi_b, sphi_c, sphi_d, & 07359 primitives,& 07360 buffer1,buffer2 ) 07361 #else 07362 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07363 work, nl_a, nl_b, nl_c, nl_d, & 07364 sphi_a, & 07365 sphi_b, & 07366 sphi_c, & 07367 sphi_d, & 07368 primitives, & 07369 buffer1, buffer2) 07370 #endif 07371 CASE(2) 07372 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 07373 CALL contract_dgfd(work,& 07374 nl_a, nl_b, nl_c, nl_d, & 07375 sphi_a, sphi_b, sphi_c, sphi_d, & 07376 primitives,& 07377 buffer1,buffer2 ) 07378 #else 07379 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07380 work, nl_a, nl_b, nl_c, nl_d, & 07381 sphi_a, & 07382 sphi_b, & 07383 sphi_c, & 07384 sphi_d, & 07385 primitives, & 07386 buffer1, buffer2) 07387 #endif 07388 CASE(3) 07389 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 07390 CALL contract_dgff(work,& 07391 nl_a, nl_b, nl_c, nl_d, & 07392 sphi_a, sphi_b, sphi_c, sphi_d, & 07393 primitives,& 07394 buffer1,buffer2 ) 07395 #else 07396 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07397 work, nl_a, nl_b, nl_c, nl_d, & 07398 sphi_a, & 07399 sphi_b, & 07400 sphi_c, & 07401 sphi_d, & 07402 primitives, & 07403 buffer1, buffer2) 07404 #endif 07405 CASE(4) 07406 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 07407 CALL contract_dgfg(work,& 07408 nl_a, nl_b, nl_c, nl_d, & 07409 sphi_a, sphi_b, sphi_c, sphi_d, & 07410 primitives,& 07411 buffer1,buffer2 ) 07412 #else 07413 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07414 work, nl_a, nl_b, nl_c, nl_d, & 07415 sphi_a, & 07416 sphi_b, & 07417 sphi_c, & 07418 sphi_d, & 07419 primitives, & 07420 buffer1, buffer2) 07421 #endif 07422 CASE DEFAULT 07423 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07424 work, nl_a, nl_b, nl_c, nl_d, & 07425 sphi_a, & 07426 sphi_b, & 07427 sphi_c, & 07428 sphi_d, & 07429 primitives, & 07430 buffer1, buffer2) 07431 END SELECT 07432 CASE(4) 07433 SELECT CASE(n_d) 07434 CASE(0) 07435 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 07436 CALL contract_dggs(work,& 07437 nl_a, nl_b, nl_c, nl_d, & 07438 sphi_a, sphi_b, sphi_c, sphi_d, & 07439 primitives,& 07440 buffer1,buffer2 ) 07441 #else 07442 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07443 work, nl_a, nl_b, nl_c, nl_d, & 07444 sphi_a, & 07445 sphi_b, & 07446 sphi_c, & 07447 sphi_d, & 07448 primitives, & 07449 buffer1, buffer2) 07450 #endif 07451 CASE(1) 07452 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 07453 CALL contract_dggp(work,& 07454 nl_a, nl_b, nl_c, nl_d, & 07455 sphi_a, sphi_b, sphi_c, sphi_d, & 07456 primitives,& 07457 buffer1,buffer2 ) 07458 #else 07459 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07460 work, nl_a, nl_b, nl_c, nl_d, & 07461 sphi_a, & 07462 sphi_b, & 07463 sphi_c, & 07464 sphi_d, & 07465 primitives, & 07466 buffer1, buffer2) 07467 #endif 07468 CASE(2) 07469 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 07470 CALL contract_dggd(work,& 07471 nl_a, nl_b, nl_c, nl_d, & 07472 sphi_a, sphi_b, sphi_c, sphi_d, & 07473 primitives,& 07474 buffer1,buffer2 ) 07475 #else 07476 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07477 work, nl_a, nl_b, nl_c, nl_d, & 07478 sphi_a, & 07479 sphi_b, & 07480 sphi_c, & 07481 sphi_d, & 07482 primitives, & 07483 buffer1, buffer2) 07484 #endif 07485 CASE(3) 07486 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 07487 CALL contract_dggf(work,& 07488 nl_a, nl_b, nl_c, nl_d, & 07489 sphi_a, sphi_b, sphi_c, sphi_d, & 07490 primitives,& 07491 buffer1,buffer2 ) 07492 #else 07493 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07494 work, nl_a, nl_b, nl_c, nl_d, & 07495 sphi_a, & 07496 sphi_b, & 07497 sphi_c, & 07498 sphi_d, & 07499 primitives, & 07500 buffer1, buffer2) 07501 #endif 07502 CASE(4) 07503 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 07504 CALL contract_dggg(work,& 07505 nl_a, nl_b, nl_c, nl_d, & 07506 sphi_a, sphi_b, sphi_c, sphi_d, & 07507 primitives,& 07508 buffer1,buffer2 ) 07509 #else 07510 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07511 work, nl_a, nl_b, nl_c, nl_d, & 07512 sphi_a, & 07513 sphi_b, & 07514 sphi_c, & 07515 sphi_d, & 07516 primitives, & 07517 buffer1, buffer2) 07518 #endif 07519 CASE DEFAULT 07520 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07521 work, nl_a, nl_b, nl_c, nl_d, & 07522 sphi_a, & 07523 sphi_b, & 07524 sphi_c, & 07525 sphi_d, & 07526 primitives, & 07527 buffer1, buffer2) 07528 END SELECT 07529 CASE DEFAULT 07530 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07531 work, nl_a, nl_b, nl_c, nl_d, & 07532 sphi_a, & 07533 sphi_b, & 07534 sphi_c, & 07535 sphi_d, & 07536 primitives, & 07537 buffer1, buffer2) 07538 END SELECT 07539 CASE DEFAULT 07540 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07541 work, nl_a, nl_b, nl_c, nl_d, & 07542 sphi_a, & 07543 sphi_b, & 07544 sphi_c, & 07545 sphi_d, & 07546 primitives, & 07547 buffer1, buffer2) 07548 END SELECT 07549 CASE(3) 07550 SELECT CASE(n_b) 07551 CASE(0) 07552 SELECT CASE(n_c) 07553 CASE(0) 07554 SELECT CASE(n_d) 07555 CASE(0) 07556 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 07557 CALL contract_fsss(work,& 07558 nl_a, nl_b, nl_c, nl_d, & 07559 sphi_a, sphi_b, sphi_c, sphi_d, & 07560 primitives,& 07561 buffer1,buffer2 ) 07562 #else 07563 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07564 work, nl_a, nl_b, nl_c, nl_d, & 07565 sphi_a, & 07566 sphi_b, & 07567 sphi_c, & 07568 sphi_d, & 07569 primitives, & 07570 buffer1, buffer2) 07571 #endif 07572 CASE(1) 07573 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 07574 CALL contract_fssp(work,& 07575 nl_a, nl_b, nl_c, nl_d, & 07576 sphi_a, sphi_b, sphi_c, sphi_d, & 07577 primitives,& 07578 buffer1,buffer2 ) 07579 #else 07580 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07581 work, nl_a, nl_b, nl_c, nl_d, & 07582 sphi_a, & 07583 sphi_b, & 07584 sphi_c, & 07585 sphi_d, & 07586 primitives, & 07587 buffer1, buffer2) 07588 #endif 07589 CASE(2) 07590 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 07591 CALL contract_fssd(work,& 07592 nl_a, nl_b, nl_c, nl_d, & 07593 sphi_a, sphi_b, sphi_c, sphi_d, & 07594 primitives,& 07595 buffer1,buffer2 ) 07596 #else 07597 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07598 work, nl_a, nl_b, nl_c, nl_d, & 07599 sphi_a, & 07600 sphi_b, & 07601 sphi_c, & 07602 sphi_d, & 07603 primitives, & 07604 buffer1, buffer2) 07605 #endif 07606 CASE(3) 07607 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 07608 CALL contract_fssf(work,& 07609 nl_a, nl_b, nl_c, nl_d, & 07610 sphi_a, sphi_b, sphi_c, sphi_d, & 07611 primitives,& 07612 buffer1,buffer2 ) 07613 #else 07614 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07615 work, nl_a, nl_b, nl_c, nl_d, & 07616 sphi_a, & 07617 sphi_b, & 07618 sphi_c, & 07619 sphi_d, & 07620 primitives, & 07621 buffer1, buffer2) 07622 #endif 07623 CASE(4) 07624 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 07625 CALL contract_fssg(work,& 07626 nl_a, nl_b, nl_c, nl_d, & 07627 sphi_a, sphi_b, sphi_c, sphi_d, & 07628 primitives,& 07629 buffer1,buffer2 ) 07630 #else 07631 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07632 work, nl_a, nl_b, nl_c, nl_d, & 07633 sphi_a, & 07634 sphi_b, & 07635 sphi_c, & 07636 sphi_d, & 07637 primitives, & 07638 buffer1, buffer2) 07639 #endif 07640 CASE DEFAULT 07641 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07642 work, nl_a, nl_b, nl_c, nl_d, & 07643 sphi_a, & 07644 sphi_b, & 07645 sphi_c, & 07646 sphi_d, & 07647 primitives, & 07648 buffer1, buffer2) 07649 END SELECT 07650 CASE(1) 07651 SELECT CASE(n_d) 07652 CASE(0) 07653 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 07654 CALL contract_fsps(work,& 07655 nl_a, nl_b, nl_c, nl_d, & 07656 sphi_a, sphi_b, sphi_c, sphi_d, & 07657 primitives,& 07658 buffer1,buffer2 ) 07659 #else 07660 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07661 work, nl_a, nl_b, nl_c, nl_d, & 07662 sphi_a, & 07663 sphi_b, & 07664 sphi_c, & 07665 sphi_d, & 07666 primitives, & 07667 buffer1, buffer2) 07668 #endif 07669 CASE(1) 07670 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 07671 CALL contract_fspp(work,& 07672 nl_a, nl_b, nl_c, nl_d, & 07673 sphi_a, sphi_b, sphi_c, sphi_d, & 07674 primitives,& 07675 buffer1,buffer2 ) 07676 #else 07677 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07678 work, nl_a, nl_b, nl_c, nl_d, & 07679 sphi_a, & 07680 sphi_b, & 07681 sphi_c, & 07682 sphi_d, & 07683 primitives, & 07684 buffer1, buffer2) 07685 #endif 07686 CASE(2) 07687 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 07688 CALL contract_fspd(work,& 07689 nl_a, nl_b, nl_c, nl_d, & 07690 sphi_a, sphi_b, sphi_c, sphi_d, & 07691 primitives,& 07692 buffer1,buffer2 ) 07693 #else 07694 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07695 work, nl_a, nl_b, nl_c, nl_d, & 07696 sphi_a, & 07697 sphi_b, & 07698 sphi_c, & 07699 sphi_d, & 07700 primitives, & 07701 buffer1, buffer2) 07702 #endif 07703 CASE(3) 07704 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 07705 CALL contract_fspf(work,& 07706 nl_a, nl_b, nl_c, nl_d, & 07707 sphi_a, sphi_b, sphi_c, sphi_d, & 07708 primitives,& 07709 buffer1,buffer2 ) 07710 #else 07711 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07712 work, nl_a, nl_b, nl_c, nl_d, & 07713 sphi_a, & 07714 sphi_b, & 07715 sphi_c, & 07716 sphi_d, & 07717 primitives, & 07718 buffer1, buffer2) 07719 #endif 07720 CASE(4) 07721 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 07722 CALL contract_fspg(work,& 07723 nl_a, nl_b, nl_c, nl_d, & 07724 sphi_a, sphi_b, sphi_c, sphi_d, & 07725 primitives,& 07726 buffer1,buffer2 ) 07727 #else 07728 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07729 work, nl_a, nl_b, nl_c, nl_d, & 07730 sphi_a, & 07731 sphi_b, & 07732 sphi_c, & 07733 sphi_d, & 07734 primitives, & 07735 buffer1, buffer2) 07736 #endif 07737 CASE DEFAULT 07738 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07739 work, nl_a, nl_b, nl_c, nl_d, & 07740 sphi_a, & 07741 sphi_b, & 07742 sphi_c, & 07743 sphi_d, & 07744 primitives, & 07745 buffer1, buffer2) 07746 END SELECT 07747 CASE(2) 07748 SELECT CASE(n_d) 07749 CASE(0) 07750 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 07751 CALL contract_fsds(work,& 07752 nl_a, nl_b, nl_c, nl_d, & 07753 sphi_a, sphi_b, sphi_c, sphi_d, & 07754 primitives,& 07755 buffer1,buffer2 ) 07756 #else 07757 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07758 work, nl_a, nl_b, nl_c, nl_d, & 07759 sphi_a, & 07760 sphi_b, & 07761 sphi_c, & 07762 sphi_d, & 07763 primitives, & 07764 buffer1, buffer2) 07765 #endif 07766 CASE(1) 07767 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 07768 CALL contract_fsdp(work,& 07769 nl_a, nl_b, nl_c, nl_d, & 07770 sphi_a, sphi_b, sphi_c, sphi_d, & 07771 primitives,& 07772 buffer1,buffer2 ) 07773 #else 07774 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07775 work, nl_a, nl_b, nl_c, nl_d, & 07776 sphi_a, & 07777 sphi_b, & 07778 sphi_c, & 07779 sphi_d, & 07780 primitives, & 07781 buffer1, buffer2) 07782 #endif 07783 CASE(2) 07784 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 07785 CALL contract_fsdd(work,& 07786 nl_a, nl_b, nl_c, nl_d, & 07787 sphi_a, sphi_b, sphi_c, sphi_d, & 07788 primitives,& 07789 buffer1,buffer2 ) 07790 #else 07791 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07792 work, nl_a, nl_b, nl_c, nl_d, & 07793 sphi_a, & 07794 sphi_b, & 07795 sphi_c, & 07796 sphi_d, & 07797 primitives, & 07798 buffer1, buffer2) 07799 #endif 07800 CASE(3) 07801 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 07802 CALL contract_fsdf(work,& 07803 nl_a, nl_b, nl_c, nl_d, & 07804 sphi_a, sphi_b, sphi_c, sphi_d, & 07805 primitives,& 07806 buffer1,buffer2 ) 07807 #else 07808 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07809 work, nl_a, nl_b, nl_c, nl_d, & 07810 sphi_a, & 07811 sphi_b, & 07812 sphi_c, & 07813 sphi_d, & 07814 primitives, & 07815 buffer1, buffer2) 07816 #endif 07817 CASE(4) 07818 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 07819 CALL contract_fsdg(work,& 07820 nl_a, nl_b, nl_c, nl_d, & 07821 sphi_a, sphi_b, sphi_c, sphi_d, & 07822 primitives,& 07823 buffer1,buffer2 ) 07824 #else 07825 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07826 work, nl_a, nl_b, nl_c, nl_d, & 07827 sphi_a, & 07828 sphi_b, & 07829 sphi_c, & 07830 sphi_d, & 07831 primitives, & 07832 buffer1, buffer2) 07833 #endif 07834 CASE DEFAULT 07835 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07836 work, nl_a, nl_b, nl_c, nl_d, & 07837 sphi_a, & 07838 sphi_b, & 07839 sphi_c, & 07840 sphi_d, & 07841 primitives, & 07842 buffer1, buffer2) 07843 END SELECT 07844 CASE(3) 07845 SELECT CASE(n_d) 07846 CASE(0) 07847 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 07848 CALL contract_fsfs(work,& 07849 nl_a, nl_b, nl_c, nl_d, & 07850 sphi_a, sphi_b, sphi_c, sphi_d, & 07851 primitives,& 07852 buffer1,buffer2 ) 07853 #else 07854 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07855 work, nl_a, nl_b, nl_c, nl_d, & 07856 sphi_a, & 07857 sphi_b, & 07858 sphi_c, & 07859 sphi_d, & 07860 primitives, & 07861 buffer1, buffer2) 07862 #endif 07863 CASE(1) 07864 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 07865 CALL contract_fsfp(work,& 07866 nl_a, nl_b, nl_c, nl_d, & 07867 sphi_a, sphi_b, sphi_c, sphi_d, & 07868 primitives,& 07869 buffer1,buffer2 ) 07870 #else 07871 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07872 work, nl_a, nl_b, nl_c, nl_d, & 07873 sphi_a, & 07874 sphi_b, & 07875 sphi_c, & 07876 sphi_d, & 07877 primitives, & 07878 buffer1, buffer2) 07879 #endif 07880 CASE(2) 07881 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 07882 CALL contract_fsfd(work,& 07883 nl_a, nl_b, nl_c, nl_d, & 07884 sphi_a, sphi_b, sphi_c, sphi_d, & 07885 primitives,& 07886 buffer1,buffer2 ) 07887 #else 07888 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07889 work, nl_a, nl_b, nl_c, nl_d, & 07890 sphi_a, & 07891 sphi_b, & 07892 sphi_c, & 07893 sphi_d, & 07894 primitives, & 07895 buffer1, buffer2) 07896 #endif 07897 CASE(3) 07898 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 07899 CALL contract_fsff(work,& 07900 nl_a, nl_b, nl_c, nl_d, & 07901 sphi_a, sphi_b, sphi_c, sphi_d, & 07902 primitives,& 07903 buffer1,buffer2 ) 07904 #else 07905 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07906 work, nl_a, nl_b, nl_c, nl_d, & 07907 sphi_a, & 07908 sphi_b, & 07909 sphi_c, & 07910 sphi_d, & 07911 primitives, & 07912 buffer1, buffer2) 07913 #endif 07914 CASE(4) 07915 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 07916 CALL contract_fsfg(work,& 07917 nl_a, nl_b, nl_c, nl_d, & 07918 sphi_a, sphi_b, sphi_c, sphi_d, & 07919 primitives,& 07920 buffer1,buffer2 ) 07921 #else 07922 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07923 work, nl_a, nl_b, nl_c, nl_d, & 07924 sphi_a, & 07925 sphi_b, & 07926 sphi_c, & 07927 sphi_d, & 07928 primitives, & 07929 buffer1, buffer2) 07930 #endif 07931 CASE DEFAULT 07932 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07933 work, nl_a, nl_b, nl_c, nl_d, & 07934 sphi_a, & 07935 sphi_b, & 07936 sphi_c, & 07937 sphi_d, & 07938 primitives, & 07939 buffer1, buffer2) 07940 END SELECT 07941 CASE(4) 07942 SELECT CASE(n_d) 07943 CASE(0) 07944 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 07945 CALL contract_fsgs(work,& 07946 nl_a, nl_b, nl_c, nl_d, & 07947 sphi_a, sphi_b, sphi_c, sphi_d, & 07948 primitives,& 07949 buffer1,buffer2 ) 07950 #else 07951 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07952 work, nl_a, nl_b, nl_c, nl_d, & 07953 sphi_a, & 07954 sphi_b, & 07955 sphi_c, & 07956 sphi_d, & 07957 primitives, & 07958 buffer1, buffer2) 07959 #endif 07960 CASE(1) 07961 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 07962 CALL contract_fsgp(work,& 07963 nl_a, nl_b, nl_c, nl_d, & 07964 sphi_a, sphi_b, sphi_c, sphi_d, & 07965 primitives,& 07966 buffer1,buffer2 ) 07967 #else 07968 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07969 work, nl_a, nl_b, nl_c, nl_d, & 07970 sphi_a, & 07971 sphi_b, & 07972 sphi_c, & 07973 sphi_d, & 07974 primitives, & 07975 buffer1, buffer2) 07976 #endif 07977 CASE(2) 07978 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 07979 CALL contract_fsgd(work,& 07980 nl_a, nl_b, nl_c, nl_d, & 07981 sphi_a, sphi_b, sphi_c, sphi_d, & 07982 primitives,& 07983 buffer1,buffer2 ) 07984 #else 07985 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 07986 work, nl_a, nl_b, nl_c, nl_d, & 07987 sphi_a, & 07988 sphi_b, & 07989 sphi_c, & 07990 sphi_d, & 07991 primitives, & 07992 buffer1, buffer2) 07993 #endif 07994 CASE(3) 07995 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 07996 CALL contract_fsgf(work,& 07997 nl_a, nl_b, nl_c, nl_d, & 07998 sphi_a, sphi_b, sphi_c, sphi_d, & 07999 primitives,& 08000 buffer1,buffer2 ) 08001 #else 08002 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08003 work, nl_a, nl_b, nl_c, nl_d, & 08004 sphi_a, & 08005 sphi_b, & 08006 sphi_c, & 08007 sphi_d, & 08008 primitives, & 08009 buffer1, buffer2) 08010 #endif 08011 CASE(4) 08012 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 08013 CALL contract_fsgg(work,& 08014 nl_a, nl_b, nl_c, nl_d, & 08015 sphi_a, sphi_b, sphi_c, sphi_d, & 08016 primitives,& 08017 buffer1,buffer2 ) 08018 #else 08019 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08020 work, nl_a, nl_b, nl_c, nl_d, & 08021 sphi_a, & 08022 sphi_b, & 08023 sphi_c, & 08024 sphi_d, & 08025 primitives, & 08026 buffer1, buffer2) 08027 #endif 08028 CASE DEFAULT 08029 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08030 work, nl_a, nl_b, nl_c, nl_d, & 08031 sphi_a, & 08032 sphi_b, & 08033 sphi_c, & 08034 sphi_d, & 08035 primitives, & 08036 buffer1, buffer2) 08037 END SELECT 08038 CASE DEFAULT 08039 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08040 work, nl_a, nl_b, nl_c, nl_d, & 08041 sphi_a, & 08042 sphi_b, & 08043 sphi_c, & 08044 sphi_d, & 08045 primitives, & 08046 buffer1, buffer2) 08047 END SELECT 08048 CASE(1) 08049 SELECT CASE(n_c) 08050 CASE(0) 08051 SELECT CASE(n_d) 08052 CASE(0) 08053 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 08054 CALL contract_fpss(work,& 08055 nl_a, nl_b, nl_c, nl_d, & 08056 sphi_a, sphi_b, sphi_c, sphi_d, & 08057 primitives,& 08058 buffer1,buffer2 ) 08059 #else 08060 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08061 work, nl_a, nl_b, nl_c, nl_d, & 08062 sphi_a, & 08063 sphi_b, & 08064 sphi_c, & 08065 sphi_d, & 08066 primitives, & 08067 buffer1, buffer2) 08068 #endif 08069 CASE(1) 08070 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 08071 CALL contract_fpsp(work,& 08072 nl_a, nl_b, nl_c, nl_d, & 08073 sphi_a, sphi_b, sphi_c, sphi_d, & 08074 primitives,& 08075 buffer1,buffer2 ) 08076 #else 08077 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08078 work, nl_a, nl_b, nl_c, nl_d, & 08079 sphi_a, & 08080 sphi_b, & 08081 sphi_c, & 08082 sphi_d, & 08083 primitives, & 08084 buffer1, buffer2) 08085 #endif 08086 CASE(2) 08087 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 08088 CALL contract_fpsd(work,& 08089 nl_a, nl_b, nl_c, nl_d, & 08090 sphi_a, sphi_b, sphi_c, sphi_d, & 08091 primitives,& 08092 buffer1,buffer2 ) 08093 #else 08094 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08095 work, nl_a, nl_b, nl_c, nl_d, & 08096 sphi_a, & 08097 sphi_b, & 08098 sphi_c, & 08099 sphi_d, & 08100 primitives, & 08101 buffer1, buffer2) 08102 #endif 08103 CASE(3) 08104 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 08105 CALL contract_fpsf(work,& 08106 nl_a, nl_b, nl_c, nl_d, & 08107 sphi_a, sphi_b, sphi_c, sphi_d, & 08108 primitives,& 08109 buffer1,buffer2 ) 08110 #else 08111 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08112 work, nl_a, nl_b, nl_c, nl_d, & 08113 sphi_a, & 08114 sphi_b, & 08115 sphi_c, & 08116 sphi_d, & 08117 primitives, & 08118 buffer1, buffer2) 08119 #endif 08120 CASE(4) 08121 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 08122 CALL contract_fpsg(work,& 08123 nl_a, nl_b, nl_c, nl_d, & 08124 sphi_a, sphi_b, sphi_c, sphi_d, & 08125 primitives,& 08126 buffer1,buffer2 ) 08127 #else 08128 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08129 work, nl_a, nl_b, nl_c, nl_d, & 08130 sphi_a, & 08131 sphi_b, & 08132 sphi_c, & 08133 sphi_d, & 08134 primitives, & 08135 buffer1, buffer2) 08136 #endif 08137 CASE DEFAULT 08138 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08139 work, nl_a, nl_b, nl_c, nl_d, & 08140 sphi_a, & 08141 sphi_b, & 08142 sphi_c, & 08143 sphi_d, & 08144 primitives, & 08145 buffer1, buffer2) 08146 END SELECT 08147 CASE(1) 08148 SELECT CASE(n_d) 08149 CASE(0) 08150 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 08151 CALL contract_fpps(work,& 08152 nl_a, nl_b, nl_c, nl_d, & 08153 sphi_a, sphi_b, sphi_c, sphi_d, & 08154 primitives,& 08155 buffer1,buffer2 ) 08156 #else 08157 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08158 work, nl_a, nl_b, nl_c, nl_d, & 08159 sphi_a, & 08160 sphi_b, & 08161 sphi_c, & 08162 sphi_d, & 08163 primitives, & 08164 buffer1, buffer2) 08165 #endif 08166 CASE(1) 08167 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 08168 CALL contract_fppp(work,& 08169 nl_a, nl_b, nl_c, nl_d, & 08170 sphi_a, sphi_b, sphi_c, sphi_d, & 08171 primitives,& 08172 buffer1,buffer2 ) 08173 #else 08174 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08175 work, nl_a, nl_b, nl_c, nl_d, & 08176 sphi_a, & 08177 sphi_b, & 08178 sphi_c, & 08179 sphi_d, & 08180 primitives, & 08181 buffer1, buffer2) 08182 #endif 08183 CASE(2) 08184 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 08185 CALL contract_fppd(work,& 08186 nl_a, nl_b, nl_c, nl_d, & 08187 sphi_a, sphi_b, sphi_c, sphi_d, & 08188 primitives,& 08189 buffer1,buffer2 ) 08190 #else 08191 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08192 work, nl_a, nl_b, nl_c, nl_d, & 08193 sphi_a, & 08194 sphi_b, & 08195 sphi_c, & 08196 sphi_d, & 08197 primitives, & 08198 buffer1, buffer2) 08199 #endif 08200 CASE(3) 08201 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 08202 CALL contract_fppf(work,& 08203 nl_a, nl_b, nl_c, nl_d, & 08204 sphi_a, sphi_b, sphi_c, sphi_d, & 08205 primitives,& 08206 buffer1,buffer2 ) 08207 #else 08208 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08209 work, nl_a, nl_b, nl_c, nl_d, & 08210 sphi_a, & 08211 sphi_b, & 08212 sphi_c, & 08213 sphi_d, & 08214 primitives, & 08215 buffer1, buffer2) 08216 #endif 08217 CASE(4) 08218 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 08219 CALL contract_fppg(work,& 08220 nl_a, nl_b, nl_c, nl_d, & 08221 sphi_a, sphi_b, sphi_c, sphi_d, & 08222 primitives,& 08223 buffer1,buffer2 ) 08224 #else 08225 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08226 work, nl_a, nl_b, nl_c, nl_d, & 08227 sphi_a, & 08228 sphi_b, & 08229 sphi_c, & 08230 sphi_d, & 08231 primitives, & 08232 buffer1, buffer2) 08233 #endif 08234 CASE DEFAULT 08235 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08236 work, nl_a, nl_b, nl_c, nl_d, & 08237 sphi_a, & 08238 sphi_b, & 08239 sphi_c, & 08240 sphi_d, & 08241 primitives, & 08242 buffer1, buffer2) 08243 END SELECT 08244 CASE(2) 08245 SELECT CASE(n_d) 08246 CASE(0) 08247 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 08248 CALL contract_fpds(work,& 08249 nl_a, nl_b, nl_c, nl_d, & 08250 sphi_a, sphi_b, sphi_c, sphi_d, & 08251 primitives,& 08252 buffer1,buffer2 ) 08253 #else 08254 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08255 work, nl_a, nl_b, nl_c, nl_d, & 08256 sphi_a, & 08257 sphi_b, & 08258 sphi_c, & 08259 sphi_d, & 08260 primitives, & 08261 buffer1, buffer2) 08262 #endif 08263 CASE(1) 08264 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 08265 CALL contract_fpdp(work,& 08266 nl_a, nl_b, nl_c, nl_d, & 08267 sphi_a, sphi_b, sphi_c, sphi_d, & 08268 primitives,& 08269 buffer1,buffer2 ) 08270 #else 08271 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08272 work, nl_a, nl_b, nl_c, nl_d, & 08273 sphi_a, & 08274 sphi_b, & 08275 sphi_c, & 08276 sphi_d, & 08277 primitives, & 08278 buffer1, buffer2) 08279 #endif 08280 CASE(2) 08281 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 08282 CALL contract_fpdd(work,& 08283 nl_a, nl_b, nl_c, nl_d, & 08284 sphi_a, sphi_b, sphi_c, sphi_d, & 08285 primitives,& 08286 buffer1,buffer2 ) 08287 #else 08288 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08289 work, nl_a, nl_b, nl_c, nl_d, & 08290 sphi_a, & 08291 sphi_b, & 08292 sphi_c, & 08293 sphi_d, & 08294 primitives, & 08295 buffer1, buffer2) 08296 #endif 08297 CASE(3) 08298 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 08299 CALL contract_fpdf(work,& 08300 nl_a, nl_b, nl_c, nl_d, & 08301 sphi_a, sphi_b, sphi_c, sphi_d, & 08302 primitives,& 08303 buffer1,buffer2 ) 08304 #else 08305 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08306 work, nl_a, nl_b, nl_c, nl_d, & 08307 sphi_a, & 08308 sphi_b, & 08309 sphi_c, & 08310 sphi_d, & 08311 primitives, & 08312 buffer1, buffer2) 08313 #endif 08314 CASE(4) 08315 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 08316 CALL contract_fpdg(work,& 08317 nl_a, nl_b, nl_c, nl_d, & 08318 sphi_a, sphi_b, sphi_c, sphi_d, & 08319 primitives,& 08320 buffer1,buffer2 ) 08321 #else 08322 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08323 work, nl_a, nl_b, nl_c, nl_d, & 08324 sphi_a, & 08325 sphi_b, & 08326 sphi_c, & 08327 sphi_d, & 08328 primitives, & 08329 buffer1, buffer2) 08330 #endif 08331 CASE DEFAULT 08332 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08333 work, nl_a, nl_b, nl_c, nl_d, & 08334 sphi_a, & 08335 sphi_b, & 08336 sphi_c, & 08337 sphi_d, & 08338 primitives, & 08339 buffer1, buffer2) 08340 END SELECT 08341 CASE(3) 08342 SELECT CASE(n_d) 08343 CASE(0) 08344 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 08345 CALL contract_fpfs(work,& 08346 nl_a, nl_b, nl_c, nl_d, & 08347 sphi_a, sphi_b, sphi_c, sphi_d, & 08348 primitives,& 08349 buffer1,buffer2 ) 08350 #else 08351 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08352 work, nl_a, nl_b, nl_c, nl_d, & 08353 sphi_a, & 08354 sphi_b, & 08355 sphi_c, & 08356 sphi_d, & 08357 primitives, & 08358 buffer1, buffer2) 08359 #endif 08360 CASE(1) 08361 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 08362 CALL contract_fpfp(work,& 08363 nl_a, nl_b, nl_c, nl_d, & 08364 sphi_a, sphi_b, sphi_c, sphi_d, & 08365 primitives,& 08366 buffer1,buffer2 ) 08367 #else 08368 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08369 work, nl_a, nl_b, nl_c, nl_d, & 08370 sphi_a, & 08371 sphi_b, & 08372 sphi_c, & 08373 sphi_d, & 08374 primitives, & 08375 buffer1, buffer2) 08376 #endif 08377 CASE(2) 08378 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 08379 CALL contract_fpfd(work,& 08380 nl_a, nl_b, nl_c, nl_d, & 08381 sphi_a, sphi_b, sphi_c, sphi_d, & 08382 primitives,& 08383 buffer1,buffer2 ) 08384 #else 08385 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08386 work, nl_a, nl_b, nl_c, nl_d, & 08387 sphi_a, & 08388 sphi_b, & 08389 sphi_c, & 08390 sphi_d, & 08391 primitives, & 08392 buffer1, buffer2) 08393 #endif 08394 CASE(3) 08395 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 08396 CALL contract_fpff(work,& 08397 nl_a, nl_b, nl_c, nl_d, & 08398 sphi_a, sphi_b, sphi_c, sphi_d, & 08399 primitives,& 08400 buffer1,buffer2 ) 08401 #else 08402 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08403 work, nl_a, nl_b, nl_c, nl_d, & 08404 sphi_a, & 08405 sphi_b, & 08406 sphi_c, & 08407 sphi_d, & 08408 primitives, & 08409 buffer1, buffer2) 08410 #endif 08411 CASE(4) 08412 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 08413 CALL contract_fpfg(work,& 08414 nl_a, nl_b, nl_c, nl_d, & 08415 sphi_a, sphi_b, sphi_c, sphi_d, & 08416 primitives,& 08417 buffer1,buffer2 ) 08418 #else 08419 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08420 work, nl_a, nl_b, nl_c, nl_d, & 08421 sphi_a, & 08422 sphi_b, & 08423 sphi_c, & 08424 sphi_d, & 08425 primitives, & 08426 buffer1, buffer2) 08427 #endif 08428 CASE DEFAULT 08429 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08430 work, nl_a, nl_b, nl_c, nl_d, & 08431 sphi_a, & 08432 sphi_b, & 08433 sphi_c, & 08434 sphi_d, & 08435 primitives, & 08436 buffer1, buffer2) 08437 END SELECT 08438 CASE(4) 08439 SELECT CASE(n_d) 08440 CASE(0) 08441 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 08442 CALL contract_fpgs(work,& 08443 nl_a, nl_b, nl_c, nl_d, & 08444 sphi_a, sphi_b, sphi_c, sphi_d, & 08445 primitives,& 08446 buffer1,buffer2 ) 08447 #else 08448 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08449 work, nl_a, nl_b, nl_c, nl_d, & 08450 sphi_a, & 08451 sphi_b, & 08452 sphi_c, & 08453 sphi_d, & 08454 primitives, & 08455 buffer1, buffer2) 08456 #endif 08457 CASE(1) 08458 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 08459 CALL contract_fpgp(work,& 08460 nl_a, nl_b, nl_c, nl_d, & 08461 sphi_a, sphi_b, sphi_c, sphi_d, & 08462 primitives,& 08463 buffer1,buffer2 ) 08464 #else 08465 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08466 work, nl_a, nl_b, nl_c, nl_d, & 08467 sphi_a, & 08468 sphi_b, & 08469 sphi_c, & 08470 sphi_d, & 08471 primitives, & 08472 buffer1, buffer2) 08473 #endif 08474 CASE(2) 08475 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 08476 CALL contract_fpgd(work,& 08477 nl_a, nl_b, nl_c, nl_d, & 08478 sphi_a, sphi_b, sphi_c, sphi_d, & 08479 primitives,& 08480 buffer1,buffer2 ) 08481 #else 08482 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08483 work, nl_a, nl_b, nl_c, nl_d, & 08484 sphi_a, & 08485 sphi_b, & 08486 sphi_c, & 08487 sphi_d, & 08488 primitives, & 08489 buffer1, buffer2) 08490 #endif 08491 CASE(3) 08492 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 08493 CALL contract_fpgf(work,& 08494 nl_a, nl_b, nl_c, nl_d, & 08495 sphi_a, sphi_b, sphi_c, sphi_d, & 08496 primitives,& 08497 buffer1,buffer2 ) 08498 #else 08499 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08500 work, nl_a, nl_b, nl_c, nl_d, & 08501 sphi_a, & 08502 sphi_b, & 08503 sphi_c, & 08504 sphi_d, & 08505 primitives, & 08506 buffer1, buffer2) 08507 #endif 08508 CASE(4) 08509 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 08510 CALL contract_fpgg(work,& 08511 nl_a, nl_b, nl_c, nl_d, & 08512 sphi_a, sphi_b, sphi_c, sphi_d, & 08513 primitives,& 08514 buffer1,buffer2 ) 08515 #else 08516 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08517 work, nl_a, nl_b, nl_c, nl_d, & 08518 sphi_a, & 08519 sphi_b, & 08520 sphi_c, & 08521 sphi_d, & 08522 primitives, & 08523 buffer1, buffer2) 08524 #endif 08525 CASE DEFAULT 08526 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08527 work, nl_a, nl_b, nl_c, nl_d, & 08528 sphi_a, & 08529 sphi_b, & 08530 sphi_c, & 08531 sphi_d, & 08532 primitives, & 08533 buffer1, buffer2) 08534 END SELECT 08535 CASE DEFAULT 08536 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08537 work, nl_a, nl_b, nl_c, nl_d, & 08538 sphi_a, & 08539 sphi_b, & 08540 sphi_c, & 08541 sphi_d, & 08542 primitives, & 08543 buffer1, buffer2) 08544 END SELECT 08545 CASE(2) 08546 SELECT CASE(n_c) 08547 CASE(0) 08548 SELECT CASE(n_d) 08549 CASE(0) 08550 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 08551 CALL contract_fdss(work,& 08552 nl_a, nl_b, nl_c, nl_d, & 08553 sphi_a, sphi_b, sphi_c, sphi_d, & 08554 primitives,& 08555 buffer1,buffer2 ) 08556 #else 08557 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08558 work, nl_a, nl_b, nl_c, nl_d, & 08559 sphi_a, & 08560 sphi_b, & 08561 sphi_c, & 08562 sphi_d, & 08563 primitives, & 08564 buffer1, buffer2) 08565 #endif 08566 CASE(1) 08567 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 08568 CALL contract_fdsp(work,& 08569 nl_a, nl_b, nl_c, nl_d, & 08570 sphi_a, sphi_b, sphi_c, sphi_d, & 08571 primitives,& 08572 buffer1,buffer2 ) 08573 #else 08574 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08575 work, nl_a, nl_b, nl_c, nl_d, & 08576 sphi_a, & 08577 sphi_b, & 08578 sphi_c, & 08579 sphi_d, & 08580 primitives, & 08581 buffer1, buffer2) 08582 #endif 08583 CASE(2) 08584 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 08585 CALL contract_fdsd(work,& 08586 nl_a, nl_b, nl_c, nl_d, & 08587 sphi_a, sphi_b, sphi_c, sphi_d, & 08588 primitives,& 08589 buffer1,buffer2 ) 08590 #else 08591 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08592 work, nl_a, nl_b, nl_c, nl_d, & 08593 sphi_a, & 08594 sphi_b, & 08595 sphi_c, & 08596 sphi_d, & 08597 primitives, & 08598 buffer1, buffer2) 08599 #endif 08600 CASE(3) 08601 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 08602 CALL contract_fdsf(work,& 08603 nl_a, nl_b, nl_c, nl_d, & 08604 sphi_a, sphi_b, sphi_c, sphi_d, & 08605 primitives,& 08606 buffer1,buffer2 ) 08607 #else 08608 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08609 work, nl_a, nl_b, nl_c, nl_d, & 08610 sphi_a, & 08611 sphi_b, & 08612 sphi_c, & 08613 sphi_d, & 08614 primitives, & 08615 buffer1, buffer2) 08616 #endif 08617 CASE(4) 08618 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 08619 CALL contract_fdsg(work,& 08620 nl_a, nl_b, nl_c, nl_d, & 08621 sphi_a, sphi_b, sphi_c, sphi_d, & 08622 primitives,& 08623 buffer1,buffer2 ) 08624 #else 08625 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08626 work, nl_a, nl_b, nl_c, nl_d, & 08627 sphi_a, & 08628 sphi_b, & 08629 sphi_c, & 08630 sphi_d, & 08631 primitives, & 08632 buffer1, buffer2) 08633 #endif 08634 CASE DEFAULT 08635 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08636 work, nl_a, nl_b, nl_c, nl_d, & 08637 sphi_a, & 08638 sphi_b, & 08639 sphi_c, & 08640 sphi_d, & 08641 primitives, & 08642 buffer1, buffer2) 08643 END SELECT 08644 CASE(1) 08645 SELECT CASE(n_d) 08646 CASE(0) 08647 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 08648 CALL contract_fdps(work,& 08649 nl_a, nl_b, nl_c, nl_d, & 08650 sphi_a, sphi_b, sphi_c, sphi_d, & 08651 primitives,& 08652 buffer1,buffer2 ) 08653 #else 08654 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08655 work, nl_a, nl_b, nl_c, nl_d, & 08656 sphi_a, & 08657 sphi_b, & 08658 sphi_c, & 08659 sphi_d, & 08660 primitives, & 08661 buffer1, buffer2) 08662 #endif 08663 CASE(1) 08664 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 08665 CALL contract_fdpp(work,& 08666 nl_a, nl_b, nl_c, nl_d, & 08667 sphi_a, sphi_b, sphi_c, sphi_d, & 08668 primitives,& 08669 buffer1,buffer2 ) 08670 #else 08671 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08672 work, nl_a, nl_b, nl_c, nl_d, & 08673 sphi_a, & 08674 sphi_b, & 08675 sphi_c, & 08676 sphi_d, & 08677 primitives, & 08678 buffer1, buffer2) 08679 #endif 08680 CASE(2) 08681 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 08682 CALL contract_fdpd(work,& 08683 nl_a, nl_b, nl_c, nl_d, & 08684 sphi_a, sphi_b, sphi_c, sphi_d, & 08685 primitives,& 08686 buffer1,buffer2 ) 08687 #else 08688 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08689 work, nl_a, nl_b, nl_c, nl_d, & 08690 sphi_a, & 08691 sphi_b, & 08692 sphi_c, & 08693 sphi_d, & 08694 primitives, & 08695 buffer1, buffer2) 08696 #endif 08697 CASE(3) 08698 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 08699 CALL contract_fdpf(work,& 08700 nl_a, nl_b, nl_c, nl_d, & 08701 sphi_a, sphi_b, sphi_c, sphi_d, & 08702 primitives,& 08703 buffer1,buffer2 ) 08704 #else 08705 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08706 work, nl_a, nl_b, nl_c, nl_d, & 08707 sphi_a, & 08708 sphi_b, & 08709 sphi_c, & 08710 sphi_d, & 08711 primitives, & 08712 buffer1, buffer2) 08713 #endif 08714 CASE(4) 08715 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 08716 CALL contract_fdpg(work,& 08717 nl_a, nl_b, nl_c, nl_d, & 08718 sphi_a, sphi_b, sphi_c, sphi_d, & 08719 primitives,& 08720 buffer1,buffer2 ) 08721 #else 08722 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08723 work, nl_a, nl_b, nl_c, nl_d, & 08724 sphi_a, & 08725 sphi_b, & 08726 sphi_c, & 08727 sphi_d, & 08728 primitives, & 08729 buffer1, buffer2) 08730 #endif 08731 CASE DEFAULT 08732 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08733 work, nl_a, nl_b, nl_c, nl_d, & 08734 sphi_a, & 08735 sphi_b, & 08736 sphi_c, & 08737 sphi_d, & 08738 primitives, & 08739 buffer1, buffer2) 08740 END SELECT 08741 CASE(2) 08742 SELECT CASE(n_d) 08743 CASE(0) 08744 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 08745 CALL contract_fdds(work,& 08746 nl_a, nl_b, nl_c, nl_d, & 08747 sphi_a, sphi_b, sphi_c, sphi_d, & 08748 primitives,& 08749 buffer1,buffer2 ) 08750 #else 08751 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08752 work, nl_a, nl_b, nl_c, nl_d, & 08753 sphi_a, & 08754 sphi_b, & 08755 sphi_c, & 08756 sphi_d, & 08757 primitives, & 08758 buffer1, buffer2) 08759 #endif 08760 CASE(1) 08761 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 08762 CALL contract_fddp(work,& 08763 nl_a, nl_b, nl_c, nl_d, & 08764 sphi_a, sphi_b, sphi_c, sphi_d, & 08765 primitives,& 08766 buffer1,buffer2 ) 08767 #else 08768 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08769 work, nl_a, nl_b, nl_c, nl_d, & 08770 sphi_a, & 08771 sphi_b, & 08772 sphi_c, & 08773 sphi_d, & 08774 primitives, & 08775 buffer1, buffer2) 08776 #endif 08777 CASE(2) 08778 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 08779 CALL contract_fddd(work,& 08780 nl_a, nl_b, nl_c, nl_d, & 08781 sphi_a, sphi_b, sphi_c, sphi_d, & 08782 primitives,& 08783 buffer1,buffer2 ) 08784 #else 08785 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08786 work, nl_a, nl_b, nl_c, nl_d, & 08787 sphi_a, & 08788 sphi_b, & 08789 sphi_c, & 08790 sphi_d, & 08791 primitives, & 08792 buffer1, buffer2) 08793 #endif 08794 CASE(3) 08795 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 08796 CALL contract_fddf(work,& 08797 nl_a, nl_b, nl_c, nl_d, & 08798 sphi_a, sphi_b, sphi_c, sphi_d, & 08799 primitives,& 08800 buffer1,buffer2 ) 08801 #else 08802 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08803 work, nl_a, nl_b, nl_c, nl_d, & 08804 sphi_a, & 08805 sphi_b, & 08806 sphi_c, & 08807 sphi_d, & 08808 primitives, & 08809 buffer1, buffer2) 08810 #endif 08811 CASE(4) 08812 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 08813 CALL contract_fddg(work,& 08814 nl_a, nl_b, nl_c, nl_d, & 08815 sphi_a, sphi_b, sphi_c, sphi_d, & 08816 primitives,& 08817 buffer1,buffer2 ) 08818 #else 08819 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08820 work, nl_a, nl_b, nl_c, nl_d, & 08821 sphi_a, & 08822 sphi_b, & 08823 sphi_c, & 08824 sphi_d, & 08825 primitives, & 08826 buffer1, buffer2) 08827 #endif 08828 CASE DEFAULT 08829 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08830 work, nl_a, nl_b, nl_c, nl_d, & 08831 sphi_a, & 08832 sphi_b, & 08833 sphi_c, & 08834 sphi_d, & 08835 primitives, & 08836 buffer1, buffer2) 08837 END SELECT 08838 CASE(3) 08839 SELECT CASE(n_d) 08840 CASE(0) 08841 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 08842 CALL contract_fdfs(work,& 08843 nl_a, nl_b, nl_c, nl_d, & 08844 sphi_a, sphi_b, sphi_c, sphi_d, & 08845 primitives,& 08846 buffer1,buffer2 ) 08847 #else 08848 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08849 work, nl_a, nl_b, nl_c, nl_d, & 08850 sphi_a, & 08851 sphi_b, & 08852 sphi_c, & 08853 sphi_d, & 08854 primitives, & 08855 buffer1, buffer2) 08856 #endif 08857 CASE(1) 08858 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 08859 CALL contract_fdfp(work,& 08860 nl_a, nl_b, nl_c, nl_d, & 08861 sphi_a, sphi_b, sphi_c, sphi_d, & 08862 primitives,& 08863 buffer1,buffer2 ) 08864 #else 08865 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08866 work, nl_a, nl_b, nl_c, nl_d, & 08867 sphi_a, & 08868 sphi_b, & 08869 sphi_c, & 08870 sphi_d, & 08871 primitives, & 08872 buffer1, buffer2) 08873 #endif 08874 CASE(2) 08875 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 08876 CALL contract_fdfd(work,& 08877 nl_a, nl_b, nl_c, nl_d, & 08878 sphi_a, sphi_b, sphi_c, sphi_d, & 08879 primitives,& 08880 buffer1,buffer2 ) 08881 #else 08882 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08883 work, nl_a, nl_b, nl_c, nl_d, & 08884 sphi_a, & 08885 sphi_b, & 08886 sphi_c, & 08887 sphi_d, & 08888 primitives, & 08889 buffer1, buffer2) 08890 #endif 08891 CASE(3) 08892 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 08893 CALL contract_fdff(work,& 08894 nl_a, nl_b, nl_c, nl_d, & 08895 sphi_a, sphi_b, sphi_c, sphi_d, & 08896 primitives,& 08897 buffer1,buffer2 ) 08898 #else 08899 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08900 work, nl_a, nl_b, nl_c, nl_d, & 08901 sphi_a, & 08902 sphi_b, & 08903 sphi_c, & 08904 sphi_d, & 08905 primitives, & 08906 buffer1, buffer2) 08907 #endif 08908 CASE(4) 08909 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 08910 CALL contract_fdfg(work,& 08911 nl_a, nl_b, nl_c, nl_d, & 08912 sphi_a, sphi_b, sphi_c, sphi_d, & 08913 primitives,& 08914 buffer1,buffer2 ) 08915 #else 08916 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08917 work, nl_a, nl_b, nl_c, nl_d, & 08918 sphi_a, & 08919 sphi_b, & 08920 sphi_c, & 08921 sphi_d, & 08922 primitives, & 08923 buffer1, buffer2) 08924 #endif 08925 CASE DEFAULT 08926 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08927 work, nl_a, nl_b, nl_c, nl_d, & 08928 sphi_a, & 08929 sphi_b, & 08930 sphi_c, & 08931 sphi_d, & 08932 primitives, & 08933 buffer1, buffer2) 08934 END SELECT 08935 CASE(4) 08936 SELECT CASE(n_d) 08937 CASE(0) 08938 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 08939 CALL contract_fdgs(work,& 08940 nl_a, nl_b, nl_c, nl_d, & 08941 sphi_a, sphi_b, sphi_c, sphi_d, & 08942 primitives,& 08943 buffer1,buffer2 ) 08944 #else 08945 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08946 work, nl_a, nl_b, nl_c, nl_d, & 08947 sphi_a, & 08948 sphi_b, & 08949 sphi_c, & 08950 sphi_d, & 08951 primitives, & 08952 buffer1, buffer2) 08953 #endif 08954 CASE(1) 08955 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 08956 CALL contract_fdgp(work,& 08957 nl_a, nl_b, nl_c, nl_d, & 08958 sphi_a, sphi_b, sphi_c, sphi_d, & 08959 primitives,& 08960 buffer1,buffer2 ) 08961 #else 08962 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08963 work, nl_a, nl_b, nl_c, nl_d, & 08964 sphi_a, & 08965 sphi_b, & 08966 sphi_c, & 08967 sphi_d, & 08968 primitives, & 08969 buffer1, buffer2) 08970 #endif 08971 CASE(2) 08972 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 08973 CALL contract_fdgd(work,& 08974 nl_a, nl_b, nl_c, nl_d, & 08975 sphi_a, sphi_b, sphi_c, sphi_d, & 08976 primitives,& 08977 buffer1,buffer2 ) 08978 #else 08979 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08980 work, nl_a, nl_b, nl_c, nl_d, & 08981 sphi_a, & 08982 sphi_b, & 08983 sphi_c, & 08984 sphi_d, & 08985 primitives, & 08986 buffer1, buffer2) 08987 #endif 08988 CASE(3) 08989 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 08990 CALL contract_fdgf(work,& 08991 nl_a, nl_b, nl_c, nl_d, & 08992 sphi_a, sphi_b, sphi_c, sphi_d, & 08993 primitives,& 08994 buffer1,buffer2 ) 08995 #else 08996 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 08997 work, nl_a, nl_b, nl_c, nl_d, & 08998 sphi_a, & 08999 sphi_b, & 09000 sphi_c, & 09001 sphi_d, & 09002 primitives, & 09003 buffer1, buffer2) 09004 #endif 09005 CASE(4) 09006 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 09007 CALL contract_fdgg(work,& 09008 nl_a, nl_b, nl_c, nl_d, & 09009 sphi_a, sphi_b, sphi_c, sphi_d, & 09010 primitives,& 09011 buffer1,buffer2 ) 09012 #else 09013 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09014 work, nl_a, nl_b, nl_c, nl_d, & 09015 sphi_a, & 09016 sphi_b, & 09017 sphi_c, & 09018 sphi_d, & 09019 primitives, & 09020 buffer1, buffer2) 09021 #endif 09022 CASE DEFAULT 09023 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09024 work, nl_a, nl_b, nl_c, nl_d, & 09025 sphi_a, & 09026 sphi_b, & 09027 sphi_c, & 09028 sphi_d, & 09029 primitives, & 09030 buffer1, buffer2) 09031 END SELECT 09032 CASE DEFAULT 09033 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09034 work, nl_a, nl_b, nl_c, nl_d, & 09035 sphi_a, & 09036 sphi_b, & 09037 sphi_c, & 09038 sphi_d, & 09039 primitives, & 09040 buffer1, buffer2) 09041 END SELECT 09042 CASE(3) 09043 SELECT CASE(n_c) 09044 CASE(0) 09045 SELECT CASE(n_d) 09046 CASE(0) 09047 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 09048 CALL contract_ffss(work,& 09049 nl_a, nl_b, nl_c, nl_d, & 09050 sphi_a, sphi_b, sphi_c, sphi_d, & 09051 primitives,& 09052 buffer1,buffer2 ) 09053 #else 09054 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09055 work, nl_a, nl_b, nl_c, nl_d, & 09056 sphi_a, & 09057 sphi_b, & 09058 sphi_c, & 09059 sphi_d, & 09060 primitives, & 09061 buffer1, buffer2) 09062 #endif 09063 CASE(1) 09064 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 09065 CALL contract_ffsp(work,& 09066 nl_a, nl_b, nl_c, nl_d, & 09067 sphi_a, sphi_b, sphi_c, sphi_d, & 09068 primitives,& 09069 buffer1,buffer2 ) 09070 #else 09071 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09072 work, nl_a, nl_b, nl_c, nl_d, & 09073 sphi_a, & 09074 sphi_b, & 09075 sphi_c, & 09076 sphi_d, & 09077 primitives, & 09078 buffer1, buffer2) 09079 #endif 09080 CASE(2) 09081 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 09082 CALL contract_ffsd(work,& 09083 nl_a, nl_b, nl_c, nl_d, & 09084 sphi_a, sphi_b, sphi_c, sphi_d, & 09085 primitives,& 09086 buffer1,buffer2 ) 09087 #else 09088 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09089 work, nl_a, nl_b, nl_c, nl_d, & 09090 sphi_a, & 09091 sphi_b, & 09092 sphi_c, & 09093 sphi_d, & 09094 primitives, & 09095 buffer1, buffer2) 09096 #endif 09097 CASE(3) 09098 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 09099 CALL contract_ffsf(work,& 09100 nl_a, nl_b, nl_c, nl_d, & 09101 sphi_a, sphi_b, sphi_c, sphi_d, & 09102 primitives,& 09103 buffer1,buffer2 ) 09104 #else 09105 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09106 work, nl_a, nl_b, nl_c, nl_d, & 09107 sphi_a, & 09108 sphi_b, & 09109 sphi_c, & 09110 sphi_d, & 09111 primitives, & 09112 buffer1, buffer2) 09113 #endif 09114 CASE(4) 09115 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 09116 CALL contract_ffsg(work,& 09117 nl_a, nl_b, nl_c, nl_d, & 09118 sphi_a, sphi_b, sphi_c, sphi_d, & 09119 primitives,& 09120 buffer1,buffer2 ) 09121 #else 09122 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09123 work, nl_a, nl_b, nl_c, nl_d, & 09124 sphi_a, & 09125 sphi_b, & 09126 sphi_c, & 09127 sphi_d, & 09128 primitives, & 09129 buffer1, buffer2) 09130 #endif 09131 CASE DEFAULT 09132 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09133 work, nl_a, nl_b, nl_c, nl_d, & 09134 sphi_a, & 09135 sphi_b, & 09136 sphi_c, & 09137 sphi_d, & 09138 primitives, & 09139 buffer1, buffer2) 09140 END SELECT 09141 CASE(1) 09142 SELECT CASE(n_d) 09143 CASE(0) 09144 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 09145 CALL contract_ffps(work,& 09146 nl_a, nl_b, nl_c, nl_d, & 09147 sphi_a, sphi_b, sphi_c, sphi_d, & 09148 primitives,& 09149 buffer1,buffer2 ) 09150 #else 09151 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09152 work, nl_a, nl_b, nl_c, nl_d, & 09153 sphi_a, & 09154 sphi_b, & 09155 sphi_c, & 09156 sphi_d, & 09157 primitives, & 09158 buffer1, buffer2) 09159 #endif 09160 CASE(1) 09161 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 09162 CALL contract_ffpp(work,& 09163 nl_a, nl_b, nl_c, nl_d, & 09164 sphi_a, sphi_b, sphi_c, sphi_d, & 09165 primitives,& 09166 buffer1,buffer2 ) 09167 #else 09168 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09169 work, nl_a, nl_b, nl_c, nl_d, & 09170 sphi_a, & 09171 sphi_b, & 09172 sphi_c, & 09173 sphi_d, & 09174 primitives, & 09175 buffer1, buffer2) 09176 #endif 09177 CASE(2) 09178 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 09179 CALL contract_ffpd(work,& 09180 nl_a, nl_b, nl_c, nl_d, & 09181 sphi_a, sphi_b, sphi_c, sphi_d, & 09182 primitives,& 09183 buffer1,buffer2 ) 09184 #else 09185 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09186 work, nl_a, nl_b, nl_c, nl_d, & 09187 sphi_a, & 09188 sphi_b, & 09189 sphi_c, & 09190 sphi_d, & 09191 primitives, & 09192 buffer1, buffer2) 09193 #endif 09194 CASE(3) 09195 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 09196 CALL contract_ffpf(work,& 09197 nl_a, nl_b, nl_c, nl_d, & 09198 sphi_a, sphi_b, sphi_c, sphi_d, & 09199 primitives,& 09200 buffer1,buffer2 ) 09201 #else 09202 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09203 work, nl_a, nl_b, nl_c, nl_d, & 09204 sphi_a, & 09205 sphi_b, & 09206 sphi_c, & 09207 sphi_d, & 09208 primitives, & 09209 buffer1, buffer2) 09210 #endif 09211 CASE(4) 09212 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 09213 CALL contract_ffpg(work,& 09214 nl_a, nl_b, nl_c, nl_d, & 09215 sphi_a, sphi_b, sphi_c, sphi_d, & 09216 primitives,& 09217 buffer1,buffer2 ) 09218 #else 09219 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09220 work, nl_a, nl_b, nl_c, nl_d, & 09221 sphi_a, & 09222 sphi_b, & 09223 sphi_c, & 09224 sphi_d, & 09225 primitives, & 09226 buffer1, buffer2) 09227 #endif 09228 CASE DEFAULT 09229 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09230 work, nl_a, nl_b, nl_c, nl_d, & 09231 sphi_a, & 09232 sphi_b, & 09233 sphi_c, & 09234 sphi_d, & 09235 primitives, & 09236 buffer1, buffer2) 09237 END SELECT 09238 CASE(2) 09239 SELECT CASE(n_d) 09240 CASE(0) 09241 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 09242 CALL contract_ffds(work,& 09243 nl_a, nl_b, nl_c, nl_d, & 09244 sphi_a, sphi_b, sphi_c, sphi_d, & 09245 primitives,& 09246 buffer1,buffer2 ) 09247 #else 09248 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09249 work, nl_a, nl_b, nl_c, nl_d, & 09250 sphi_a, & 09251 sphi_b, & 09252 sphi_c, & 09253 sphi_d, & 09254 primitives, & 09255 buffer1, buffer2) 09256 #endif 09257 CASE(1) 09258 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 09259 CALL contract_ffdp(work,& 09260 nl_a, nl_b, nl_c, nl_d, & 09261 sphi_a, sphi_b, sphi_c, sphi_d, & 09262 primitives,& 09263 buffer1,buffer2 ) 09264 #else 09265 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09266 work, nl_a, nl_b, nl_c, nl_d, & 09267 sphi_a, & 09268 sphi_b, & 09269 sphi_c, & 09270 sphi_d, & 09271 primitives, & 09272 buffer1, buffer2) 09273 #endif 09274 CASE(2) 09275 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 09276 CALL contract_ffdd(work,& 09277 nl_a, nl_b, nl_c, nl_d, & 09278 sphi_a, sphi_b, sphi_c, sphi_d, & 09279 primitives,& 09280 buffer1,buffer2 ) 09281 #else 09282 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09283 work, nl_a, nl_b, nl_c, nl_d, & 09284 sphi_a, & 09285 sphi_b, & 09286 sphi_c, & 09287 sphi_d, & 09288 primitives, & 09289 buffer1, buffer2) 09290 #endif 09291 CASE(3) 09292 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 09293 CALL contract_ffdf(work,& 09294 nl_a, nl_b, nl_c, nl_d, & 09295 sphi_a, sphi_b, sphi_c, sphi_d, & 09296 primitives,& 09297 buffer1,buffer2 ) 09298 #else 09299 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09300 work, nl_a, nl_b, nl_c, nl_d, & 09301 sphi_a, & 09302 sphi_b, & 09303 sphi_c, & 09304 sphi_d, & 09305 primitives, & 09306 buffer1, buffer2) 09307 #endif 09308 CASE(4) 09309 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 09310 CALL contract_ffdg(work,& 09311 nl_a, nl_b, nl_c, nl_d, & 09312 sphi_a, sphi_b, sphi_c, sphi_d, & 09313 primitives,& 09314 buffer1,buffer2 ) 09315 #else 09316 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09317 work, nl_a, nl_b, nl_c, nl_d, & 09318 sphi_a, & 09319 sphi_b, & 09320 sphi_c, & 09321 sphi_d, & 09322 primitives, & 09323 buffer1, buffer2) 09324 #endif 09325 CASE DEFAULT 09326 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09327 work, nl_a, nl_b, nl_c, nl_d, & 09328 sphi_a, & 09329 sphi_b, & 09330 sphi_c, & 09331 sphi_d, & 09332 primitives, & 09333 buffer1, buffer2) 09334 END SELECT 09335 CASE(3) 09336 SELECT CASE(n_d) 09337 CASE(0) 09338 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 09339 CALL contract_fffs(work,& 09340 nl_a, nl_b, nl_c, nl_d, & 09341 sphi_a, sphi_b, sphi_c, sphi_d, & 09342 primitives,& 09343 buffer1,buffer2 ) 09344 #else 09345 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09346 work, nl_a, nl_b, nl_c, nl_d, & 09347 sphi_a, & 09348 sphi_b, & 09349 sphi_c, & 09350 sphi_d, & 09351 primitives, & 09352 buffer1, buffer2) 09353 #endif 09354 CASE(1) 09355 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 09356 CALL contract_fffp(work,& 09357 nl_a, nl_b, nl_c, nl_d, & 09358 sphi_a, sphi_b, sphi_c, sphi_d, & 09359 primitives,& 09360 buffer1,buffer2 ) 09361 #else 09362 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09363 work, nl_a, nl_b, nl_c, nl_d, & 09364 sphi_a, & 09365 sphi_b, & 09366 sphi_c, & 09367 sphi_d, & 09368 primitives, & 09369 buffer1, buffer2) 09370 #endif 09371 CASE(2) 09372 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 09373 CALL contract_fffd(work,& 09374 nl_a, nl_b, nl_c, nl_d, & 09375 sphi_a, sphi_b, sphi_c, sphi_d, & 09376 primitives,& 09377 buffer1,buffer2 ) 09378 #else 09379 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09380 work, nl_a, nl_b, nl_c, nl_d, & 09381 sphi_a, & 09382 sphi_b, & 09383 sphi_c, & 09384 sphi_d, & 09385 primitives, & 09386 buffer1, buffer2) 09387 #endif 09388 CASE(3) 09389 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 09390 CALL contract_ffff(work,& 09391 nl_a, nl_b, nl_c, nl_d, & 09392 sphi_a, sphi_b, sphi_c, sphi_d, & 09393 primitives,& 09394 buffer1,buffer2 ) 09395 #else 09396 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09397 work, nl_a, nl_b, nl_c, nl_d, & 09398 sphi_a, & 09399 sphi_b, & 09400 sphi_c, & 09401 sphi_d, & 09402 primitives, & 09403 buffer1, buffer2) 09404 #endif 09405 CASE(4) 09406 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 09407 CALL contract_fffg(work,& 09408 nl_a, nl_b, nl_c, nl_d, & 09409 sphi_a, sphi_b, sphi_c, sphi_d, & 09410 primitives,& 09411 buffer1,buffer2 ) 09412 #else 09413 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09414 work, nl_a, nl_b, nl_c, nl_d, & 09415 sphi_a, & 09416 sphi_b, & 09417 sphi_c, & 09418 sphi_d, & 09419 primitives, & 09420 buffer1, buffer2) 09421 #endif 09422 CASE DEFAULT 09423 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09424 work, nl_a, nl_b, nl_c, nl_d, & 09425 sphi_a, & 09426 sphi_b, & 09427 sphi_c, & 09428 sphi_d, & 09429 primitives, & 09430 buffer1, buffer2) 09431 END SELECT 09432 CASE(4) 09433 SELECT CASE(n_d) 09434 CASE(0) 09435 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 09436 CALL contract_ffgs(work,& 09437 nl_a, nl_b, nl_c, nl_d, & 09438 sphi_a, sphi_b, sphi_c, sphi_d, & 09439 primitives,& 09440 buffer1,buffer2 ) 09441 #else 09442 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09443 work, nl_a, nl_b, nl_c, nl_d, & 09444 sphi_a, & 09445 sphi_b, & 09446 sphi_c, & 09447 sphi_d, & 09448 primitives, & 09449 buffer1, buffer2) 09450 #endif 09451 CASE(1) 09452 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 09453 CALL contract_ffgp(work,& 09454 nl_a, nl_b, nl_c, nl_d, & 09455 sphi_a, sphi_b, sphi_c, sphi_d, & 09456 primitives,& 09457 buffer1,buffer2 ) 09458 #else 09459 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09460 work, nl_a, nl_b, nl_c, nl_d, & 09461 sphi_a, & 09462 sphi_b, & 09463 sphi_c, & 09464 sphi_d, & 09465 primitives, & 09466 buffer1, buffer2) 09467 #endif 09468 CASE(2) 09469 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 09470 CALL contract_ffgd(work,& 09471 nl_a, nl_b, nl_c, nl_d, & 09472 sphi_a, sphi_b, sphi_c, sphi_d, & 09473 primitives,& 09474 buffer1,buffer2 ) 09475 #else 09476 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09477 work, nl_a, nl_b, nl_c, nl_d, & 09478 sphi_a, & 09479 sphi_b, & 09480 sphi_c, & 09481 sphi_d, & 09482 primitives, & 09483 buffer1, buffer2) 09484 #endif 09485 CASE(3) 09486 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 09487 CALL contract_ffgf(work,& 09488 nl_a, nl_b, nl_c, nl_d, & 09489 sphi_a, sphi_b, sphi_c, sphi_d, & 09490 primitives,& 09491 buffer1,buffer2 ) 09492 #else 09493 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09494 work, nl_a, nl_b, nl_c, nl_d, & 09495 sphi_a, & 09496 sphi_b, & 09497 sphi_c, & 09498 sphi_d, & 09499 primitives, & 09500 buffer1, buffer2) 09501 #endif 09502 CASE(4) 09503 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 09504 CALL contract_ffgg(work,& 09505 nl_a, nl_b, nl_c, nl_d, & 09506 sphi_a, sphi_b, sphi_c, sphi_d, & 09507 primitives,& 09508 buffer1,buffer2 ) 09509 #else 09510 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09511 work, nl_a, nl_b, nl_c, nl_d, & 09512 sphi_a, & 09513 sphi_b, & 09514 sphi_c, & 09515 sphi_d, & 09516 primitives, & 09517 buffer1, buffer2) 09518 #endif 09519 CASE DEFAULT 09520 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09521 work, nl_a, nl_b, nl_c, nl_d, & 09522 sphi_a, & 09523 sphi_b, & 09524 sphi_c, & 09525 sphi_d, & 09526 primitives, & 09527 buffer1, buffer2) 09528 END SELECT 09529 CASE DEFAULT 09530 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09531 work, nl_a, nl_b, nl_c, nl_d, & 09532 sphi_a, & 09533 sphi_b, & 09534 sphi_c, & 09535 sphi_d, & 09536 primitives, & 09537 buffer1, buffer2) 09538 END SELECT 09539 CASE(4) 09540 SELECT CASE(n_c) 09541 CASE(0) 09542 SELECT CASE(n_d) 09543 CASE(0) 09544 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 09545 CALL contract_fgss(work,& 09546 nl_a, nl_b, nl_c, nl_d, & 09547 sphi_a, sphi_b, sphi_c, sphi_d, & 09548 primitives,& 09549 buffer1,buffer2 ) 09550 #else 09551 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09552 work, nl_a, nl_b, nl_c, nl_d, & 09553 sphi_a, & 09554 sphi_b, & 09555 sphi_c, & 09556 sphi_d, & 09557 primitives, & 09558 buffer1, buffer2) 09559 #endif 09560 CASE(1) 09561 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 09562 CALL contract_fgsp(work,& 09563 nl_a, nl_b, nl_c, nl_d, & 09564 sphi_a, sphi_b, sphi_c, sphi_d, & 09565 primitives,& 09566 buffer1,buffer2 ) 09567 #else 09568 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09569 work, nl_a, nl_b, nl_c, nl_d, & 09570 sphi_a, & 09571 sphi_b, & 09572 sphi_c, & 09573 sphi_d, & 09574 primitives, & 09575 buffer1, buffer2) 09576 #endif 09577 CASE(2) 09578 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 09579 CALL contract_fgsd(work,& 09580 nl_a, nl_b, nl_c, nl_d, & 09581 sphi_a, sphi_b, sphi_c, sphi_d, & 09582 primitives,& 09583 buffer1,buffer2 ) 09584 #else 09585 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09586 work, nl_a, nl_b, nl_c, nl_d, & 09587 sphi_a, & 09588 sphi_b, & 09589 sphi_c, & 09590 sphi_d, & 09591 primitives, & 09592 buffer1, buffer2) 09593 #endif 09594 CASE(3) 09595 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 09596 CALL contract_fgsf(work,& 09597 nl_a, nl_b, nl_c, nl_d, & 09598 sphi_a, sphi_b, sphi_c, sphi_d, & 09599 primitives,& 09600 buffer1,buffer2 ) 09601 #else 09602 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09603 work, nl_a, nl_b, nl_c, nl_d, & 09604 sphi_a, & 09605 sphi_b, & 09606 sphi_c, & 09607 sphi_d, & 09608 primitives, & 09609 buffer1, buffer2) 09610 #endif 09611 CASE(4) 09612 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 09613 CALL contract_fgsg(work,& 09614 nl_a, nl_b, nl_c, nl_d, & 09615 sphi_a, sphi_b, sphi_c, sphi_d, & 09616 primitives,& 09617 buffer1,buffer2 ) 09618 #else 09619 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09620 work, nl_a, nl_b, nl_c, nl_d, & 09621 sphi_a, & 09622 sphi_b, & 09623 sphi_c, & 09624 sphi_d, & 09625 primitives, & 09626 buffer1, buffer2) 09627 #endif 09628 CASE DEFAULT 09629 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09630 work, nl_a, nl_b, nl_c, nl_d, & 09631 sphi_a, & 09632 sphi_b, & 09633 sphi_c, & 09634 sphi_d, & 09635 primitives, & 09636 buffer1, buffer2) 09637 END SELECT 09638 CASE(1) 09639 SELECT CASE(n_d) 09640 CASE(0) 09641 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 09642 CALL contract_fgps(work,& 09643 nl_a, nl_b, nl_c, nl_d, & 09644 sphi_a, sphi_b, sphi_c, sphi_d, & 09645 primitives,& 09646 buffer1,buffer2 ) 09647 #else 09648 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09649 work, nl_a, nl_b, nl_c, nl_d, & 09650 sphi_a, & 09651 sphi_b, & 09652 sphi_c, & 09653 sphi_d, & 09654 primitives, & 09655 buffer1, buffer2) 09656 #endif 09657 CASE(1) 09658 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 09659 CALL contract_fgpp(work,& 09660 nl_a, nl_b, nl_c, nl_d, & 09661 sphi_a, sphi_b, sphi_c, sphi_d, & 09662 primitives,& 09663 buffer1,buffer2 ) 09664 #else 09665 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09666 work, nl_a, nl_b, nl_c, nl_d, & 09667 sphi_a, & 09668 sphi_b, & 09669 sphi_c, & 09670 sphi_d, & 09671 primitives, & 09672 buffer1, buffer2) 09673 #endif 09674 CASE(2) 09675 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 09676 CALL contract_fgpd(work,& 09677 nl_a, nl_b, nl_c, nl_d, & 09678 sphi_a, sphi_b, sphi_c, sphi_d, & 09679 primitives,& 09680 buffer1,buffer2 ) 09681 #else 09682 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09683 work, nl_a, nl_b, nl_c, nl_d, & 09684 sphi_a, & 09685 sphi_b, & 09686 sphi_c, & 09687 sphi_d, & 09688 primitives, & 09689 buffer1, buffer2) 09690 #endif 09691 CASE(3) 09692 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 09693 CALL contract_fgpf(work,& 09694 nl_a, nl_b, nl_c, nl_d, & 09695 sphi_a, sphi_b, sphi_c, sphi_d, & 09696 primitives,& 09697 buffer1,buffer2 ) 09698 #else 09699 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09700 work, nl_a, nl_b, nl_c, nl_d, & 09701 sphi_a, & 09702 sphi_b, & 09703 sphi_c, & 09704 sphi_d, & 09705 primitives, & 09706 buffer1, buffer2) 09707 #endif 09708 CASE(4) 09709 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 09710 CALL contract_fgpg(work,& 09711 nl_a, nl_b, nl_c, nl_d, & 09712 sphi_a, sphi_b, sphi_c, sphi_d, & 09713 primitives,& 09714 buffer1,buffer2 ) 09715 #else 09716 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09717 work, nl_a, nl_b, nl_c, nl_d, & 09718 sphi_a, & 09719 sphi_b, & 09720 sphi_c, & 09721 sphi_d, & 09722 primitives, & 09723 buffer1, buffer2) 09724 #endif 09725 CASE DEFAULT 09726 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09727 work, nl_a, nl_b, nl_c, nl_d, & 09728 sphi_a, & 09729 sphi_b, & 09730 sphi_c, & 09731 sphi_d, & 09732 primitives, & 09733 buffer1, buffer2) 09734 END SELECT 09735 CASE(2) 09736 SELECT CASE(n_d) 09737 CASE(0) 09738 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 09739 CALL contract_fgds(work,& 09740 nl_a, nl_b, nl_c, nl_d, & 09741 sphi_a, sphi_b, sphi_c, sphi_d, & 09742 primitives,& 09743 buffer1,buffer2 ) 09744 #else 09745 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09746 work, nl_a, nl_b, nl_c, nl_d, & 09747 sphi_a, & 09748 sphi_b, & 09749 sphi_c, & 09750 sphi_d, & 09751 primitives, & 09752 buffer1, buffer2) 09753 #endif 09754 CASE(1) 09755 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 09756 CALL contract_fgdp(work,& 09757 nl_a, nl_b, nl_c, nl_d, & 09758 sphi_a, sphi_b, sphi_c, sphi_d, & 09759 primitives,& 09760 buffer1,buffer2 ) 09761 #else 09762 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09763 work, nl_a, nl_b, nl_c, nl_d, & 09764 sphi_a, & 09765 sphi_b, & 09766 sphi_c, & 09767 sphi_d, & 09768 primitives, & 09769 buffer1, buffer2) 09770 #endif 09771 CASE(2) 09772 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 09773 CALL contract_fgdd(work,& 09774 nl_a, nl_b, nl_c, nl_d, & 09775 sphi_a, sphi_b, sphi_c, sphi_d, & 09776 primitives,& 09777 buffer1,buffer2 ) 09778 #else 09779 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09780 work, nl_a, nl_b, nl_c, nl_d, & 09781 sphi_a, & 09782 sphi_b, & 09783 sphi_c, & 09784 sphi_d, & 09785 primitives, & 09786 buffer1, buffer2) 09787 #endif 09788 CASE(3) 09789 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 09790 CALL contract_fgdf(work,& 09791 nl_a, nl_b, nl_c, nl_d, & 09792 sphi_a, sphi_b, sphi_c, sphi_d, & 09793 primitives,& 09794 buffer1,buffer2 ) 09795 #else 09796 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09797 work, nl_a, nl_b, nl_c, nl_d, & 09798 sphi_a, & 09799 sphi_b, & 09800 sphi_c, & 09801 sphi_d, & 09802 primitives, & 09803 buffer1, buffer2) 09804 #endif 09805 CASE(4) 09806 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 09807 CALL contract_fgdg(work,& 09808 nl_a, nl_b, nl_c, nl_d, & 09809 sphi_a, sphi_b, sphi_c, sphi_d, & 09810 primitives,& 09811 buffer1,buffer2 ) 09812 #else 09813 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09814 work, nl_a, nl_b, nl_c, nl_d, & 09815 sphi_a, & 09816 sphi_b, & 09817 sphi_c, & 09818 sphi_d, & 09819 primitives, & 09820 buffer1, buffer2) 09821 #endif 09822 CASE DEFAULT 09823 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09824 work, nl_a, nl_b, nl_c, nl_d, & 09825 sphi_a, & 09826 sphi_b, & 09827 sphi_c, & 09828 sphi_d, & 09829 primitives, & 09830 buffer1, buffer2) 09831 END SELECT 09832 CASE(3) 09833 SELECT CASE(n_d) 09834 CASE(0) 09835 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 09836 CALL contract_fgfs(work,& 09837 nl_a, nl_b, nl_c, nl_d, & 09838 sphi_a, sphi_b, sphi_c, sphi_d, & 09839 primitives,& 09840 buffer1,buffer2 ) 09841 #else 09842 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09843 work, nl_a, nl_b, nl_c, nl_d, & 09844 sphi_a, & 09845 sphi_b, & 09846 sphi_c, & 09847 sphi_d, & 09848 primitives, & 09849 buffer1, buffer2) 09850 #endif 09851 CASE(1) 09852 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 09853 CALL contract_fgfp(work,& 09854 nl_a, nl_b, nl_c, nl_d, & 09855 sphi_a, sphi_b, sphi_c, sphi_d, & 09856 primitives,& 09857 buffer1,buffer2 ) 09858 #else 09859 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09860 work, nl_a, nl_b, nl_c, nl_d, & 09861 sphi_a, & 09862 sphi_b, & 09863 sphi_c, & 09864 sphi_d, & 09865 primitives, & 09866 buffer1, buffer2) 09867 #endif 09868 CASE(2) 09869 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 09870 CALL contract_fgfd(work,& 09871 nl_a, nl_b, nl_c, nl_d, & 09872 sphi_a, sphi_b, sphi_c, sphi_d, & 09873 primitives,& 09874 buffer1,buffer2 ) 09875 #else 09876 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09877 work, nl_a, nl_b, nl_c, nl_d, & 09878 sphi_a, & 09879 sphi_b, & 09880 sphi_c, & 09881 sphi_d, & 09882 primitives, & 09883 buffer1, buffer2) 09884 #endif 09885 CASE(3) 09886 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 09887 CALL contract_fgff(work,& 09888 nl_a, nl_b, nl_c, nl_d, & 09889 sphi_a, sphi_b, sphi_c, sphi_d, & 09890 primitives,& 09891 buffer1,buffer2 ) 09892 #else 09893 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09894 work, nl_a, nl_b, nl_c, nl_d, & 09895 sphi_a, & 09896 sphi_b, & 09897 sphi_c, & 09898 sphi_d, & 09899 primitives, & 09900 buffer1, buffer2) 09901 #endif 09902 CASE(4) 09903 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 09904 CALL contract_fgfg(work,& 09905 nl_a, nl_b, nl_c, nl_d, & 09906 sphi_a, sphi_b, sphi_c, sphi_d, & 09907 primitives,& 09908 buffer1,buffer2 ) 09909 #else 09910 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09911 work, nl_a, nl_b, nl_c, nl_d, & 09912 sphi_a, & 09913 sphi_b, & 09914 sphi_c, & 09915 sphi_d, & 09916 primitives, & 09917 buffer1, buffer2) 09918 #endif 09919 CASE DEFAULT 09920 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09921 work, nl_a, nl_b, nl_c, nl_d, & 09922 sphi_a, & 09923 sphi_b, & 09924 sphi_c, & 09925 sphi_d, & 09926 primitives, & 09927 buffer1, buffer2) 09928 END SELECT 09929 CASE(4) 09930 SELECT CASE(n_d) 09931 CASE(0) 09932 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 09933 CALL contract_fggs(work,& 09934 nl_a, nl_b, nl_c, nl_d, & 09935 sphi_a, sphi_b, sphi_c, sphi_d, & 09936 primitives,& 09937 buffer1,buffer2 ) 09938 #else 09939 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09940 work, nl_a, nl_b, nl_c, nl_d, & 09941 sphi_a, & 09942 sphi_b, & 09943 sphi_c, & 09944 sphi_d, & 09945 primitives, & 09946 buffer1, buffer2) 09947 #endif 09948 CASE(1) 09949 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 09950 CALL contract_fggp(work,& 09951 nl_a, nl_b, nl_c, nl_d, & 09952 sphi_a, sphi_b, sphi_c, sphi_d, & 09953 primitives,& 09954 buffer1,buffer2 ) 09955 #else 09956 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09957 work, nl_a, nl_b, nl_c, nl_d, & 09958 sphi_a, & 09959 sphi_b, & 09960 sphi_c, & 09961 sphi_d, & 09962 primitives, & 09963 buffer1, buffer2) 09964 #endif 09965 CASE(2) 09966 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 09967 CALL contract_fggd(work,& 09968 nl_a, nl_b, nl_c, nl_d, & 09969 sphi_a, sphi_b, sphi_c, sphi_d, & 09970 primitives,& 09971 buffer1,buffer2 ) 09972 #else 09973 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09974 work, nl_a, nl_b, nl_c, nl_d, & 09975 sphi_a, & 09976 sphi_b, & 09977 sphi_c, & 09978 sphi_d, & 09979 primitives, & 09980 buffer1, buffer2) 09981 #endif 09982 CASE(3) 09983 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 09984 CALL contract_fggf(work,& 09985 nl_a, nl_b, nl_c, nl_d, & 09986 sphi_a, sphi_b, sphi_c, sphi_d, & 09987 primitives,& 09988 buffer1,buffer2 ) 09989 #else 09990 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 09991 work, nl_a, nl_b, nl_c, nl_d, & 09992 sphi_a, & 09993 sphi_b, & 09994 sphi_c, & 09995 sphi_d, & 09996 primitives, & 09997 buffer1, buffer2) 09998 #endif 09999 CASE(4) 10000 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10001 CALL contract_fggg(work,& 10002 nl_a, nl_b, nl_c, nl_d, & 10003 sphi_a, sphi_b, sphi_c, sphi_d, & 10004 primitives,& 10005 buffer1,buffer2 ) 10006 #else 10007 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10008 work, nl_a, nl_b, nl_c, nl_d, & 10009 sphi_a, & 10010 sphi_b, & 10011 sphi_c, & 10012 sphi_d, & 10013 primitives, & 10014 buffer1, buffer2) 10015 #endif 10016 CASE DEFAULT 10017 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10018 work, nl_a, nl_b, nl_c, nl_d, & 10019 sphi_a, & 10020 sphi_b, & 10021 sphi_c, & 10022 sphi_d, & 10023 primitives, & 10024 buffer1, buffer2) 10025 END SELECT 10026 CASE DEFAULT 10027 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10028 work, nl_a, nl_b, nl_c, nl_d, & 10029 sphi_a, & 10030 sphi_b, & 10031 sphi_c, & 10032 sphi_d, & 10033 primitives, & 10034 buffer1, buffer2) 10035 END SELECT 10036 CASE DEFAULT 10037 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10038 work, nl_a, nl_b, nl_c, nl_d, & 10039 sphi_a, & 10040 sphi_b, & 10041 sphi_c, & 10042 sphi_d, & 10043 primitives, & 10044 buffer1, buffer2) 10045 END SELECT 10046 CASE(4) 10047 SELECT CASE(n_b) 10048 CASE(0) 10049 SELECT CASE(n_c) 10050 CASE(0) 10051 SELECT CASE(n_d) 10052 CASE(0) 10053 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10054 CALL contract_gsss(work,& 10055 nl_a, nl_b, nl_c, nl_d, & 10056 sphi_a, sphi_b, sphi_c, sphi_d, & 10057 primitives,& 10058 buffer1,buffer2 ) 10059 #else 10060 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10061 work, nl_a, nl_b, nl_c, nl_d, & 10062 sphi_a, & 10063 sphi_b, & 10064 sphi_c, & 10065 sphi_d, & 10066 primitives, & 10067 buffer1, buffer2) 10068 #endif 10069 CASE(1) 10070 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10071 CALL contract_gssp(work,& 10072 nl_a, nl_b, nl_c, nl_d, & 10073 sphi_a, sphi_b, sphi_c, sphi_d, & 10074 primitives,& 10075 buffer1,buffer2 ) 10076 #else 10077 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10078 work, nl_a, nl_b, nl_c, nl_d, & 10079 sphi_a, & 10080 sphi_b, & 10081 sphi_c, & 10082 sphi_d, & 10083 primitives, & 10084 buffer1, buffer2) 10085 #endif 10086 CASE(2) 10087 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10088 CALL contract_gssd(work,& 10089 nl_a, nl_b, nl_c, nl_d, & 10090 sphi_a, sphi_b, sphi_c, sphi_d, & 10091 primitives,& 10092 buffer1,buffer2 ) 10093 #else 10094 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10095 work, nl_a, nl_b, nl_c, nl_d, & 10096 sphi_a, & 10097 sphi_b, & 10098 sphi_c, & 10099 sphi_d, & 10100 primitives, & 10101 buffer1, buffer2) 10102 #endif 10103 CASE(3) 10104 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10105 CALL contract_gssf(work,& 10106 nl_a, nl_b, nl_c, nl_d, & 10107 sphi_a, sphi_b, sphi_c, sphi_d, & 10108 primitives,& 10109 buffer1,buffer2 ) 10110 #else 10111 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10112 work, nl_a, nl_b, nl_c, nl_d, & 10113 sphi_a, & 10114 sphi_b, & 10115 sphi_c, & 10116 sphi_d, & 10117 primitives, & 10118 buffer1, buffer2) 10119 #endif 10120 CASE(4) 10121 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10122 CALL contract_gssg(work,& 10123 nl_a, nl_b, nl_c, nl_d, & 10124 sphi_a, sphi_b, sphi_c, sphi_d, & 10125 primitives,& 10126 buffer1,buffer2 ) 10127 #else 10128 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10129 work, nl_a, nl_b, nl_c, nl_d, & 10130 sphi_a, & 10131 sphi_b, & 10132 sphi_c, & 10133 sphi_d, & 10134 primitives, & 10135 buffer1, buffer2) 10136 #endif 10137 CASE DEFAULT 10138 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10139 work, nl_a, nl_b, nl_c, nl_d, & 10140 sphi_a, & 10141 sphi_b, & 10142 sphi_c, & 10143 sphi_d, & 10144 primitives, & 10145 buffer1, buffer2) 10146 END SELECT 10147 CASE(1) 10148 SELECT CASE(n_d) 10149 CASE(0) 10150 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10151 CALL contract_gsps(work,& 10152 nl_a, nl_b, nl_c, nl_d, & 10153 sphi_a, sphi_b, sphi_c, sphi_d, & 10154 primitives,& 10155 buffer1,buffer2 ) 10156 #else 10157 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10158 work, nl_a, nl_b, nl_c, nl_d, & 10159 sphi_a, & 10160 sphi_b, & 10161 sphi_c, & 10162 sphi_d, & 10163 primitives, & 10164 buffer1, buffer2) 10165 #endif 10166 CASE(1) 10167 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10168 CALL contract_gspp(work,& 10169 nl_a, nl_b, nl_c, nl_d, & 10170 sphi_a, sphi_b, sphi_c, sphi_d, & 10171 primitives,& 10172 buffer1,buffer2 ) 10173 #else 10174 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10175 work, nl_a, nl_b, nl_c, nl_d, & 10176 sphi_a, & 10177 sphi_b, & 10178 sphi_c, & 10179 sphi_d, & 10180 primitives, & 10181 buffer1, buffer2) 10182 #endif 10183 CASE(2) 10184 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10185 CALL contract_gspd(work,& 10186 nl_a, nl_b, nl_c, nl_d, & 10187 sphi_a, sphi_b, sphi_c, sphi_d, & 10188 primitives,& 10189 buffer1,buffer2 ) 10190 #else 10191 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10192 work, nl_a, nl_b, nl_c, nl_d, & 10193 sphi_a, & 10194 sphi_b, & 10195 sphi_c, & 10196 sphi_d, & 10197 primitives, & 10198 buffer1, buffer2) 10199 #endif 10200 CASE(3) 10201 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10202 CALL contract_gspf(work,& 10203 nl_a, nl_b, nl_c, nl_d, & 10204 sphi_a, sphi_b, sphi_c, sphi_d, & 10205 primitives,& 10206 buffer1,buffer2 ) 10207 #else 10208 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10209 work, nl_a, nl_b, nl_c, nl_d, & 10210 sphi_a, & 10211 sphi_b, & 10212 sphi_c, & 10213 sphi_d, & 10214 primitives, & 10215 buffer1, buffer2) 10216 #endif 10217 CASE(4) 10218 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10219 CALL contract_gspg(work,& 10220 nl_a, nl_b, nl_c, nl_d, & 10221 sphi_a, sphi_b, sphi_c, sphi_d, & 10222 primitives,& 10223 buffer1,buffer2 ) 10224 #else 10225 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10226 work, nl_a, nl_b, nl_c, nl_d, & 10227 sphi_a, & 10228 sphi_b, & 10229 sphi_c, & 10230 sphi_d, & 10231 primitives, & 10232 buffer1, buffer2) 10233 #endif 10234 CASE DEFAULT 10235 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10236 work, nl_a, nl_b, nl_c, nl_d, & 10237 sphi_a, & 10238 sphi_b, & 10239 sphi_c, & 10240 sphi_d, & 10241 primitives, & 10242 buffer1, buffer2) 10243 END SELECT 10244 CASE(2) 10245 SELECT CASE(n_d) 10246 CASE(0) 10247 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10248 CALL contract_gsds(work,& 10249 nl_a, nl_b, nl_c, nl_d, & 10250 sphi_a, sphi_b, sphi_c, sphi_d, & 10251 primitives,& 10252 buffer1,buffer2 ) 10253 #else 10254 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10255 work, nl_a, nl_b, nl_c, nl_d, & 10256 sphi_a, & 10257 sphi_b, & 10258 sphi_c, & 10259 sphi_d, & 10260 primitives, & 10261 buffer1, buffer2) 10262 #endif 10263 CASE(1) 10264 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10265 CALL contract_gsdp(work,& 10266 nl_a, nl_b, nl_c, nl_d, & 10267 sphi_a, sphi_b, sphi_c, sphi_d, & 10268 primitives,& 10269 buffer1,buffer2 ) 10270 #else 10271 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10272 work, nl_a, nl_b, nl_c, nl_d, & 10273 sphi_a, & 10274 sphi_b, & 10275 sphi_c, & 10276 sphi_d, & 10277 primitives, & 10278 buffer1, buffer2) 10279 #endif 10280 CASE(2) 10281 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10282 CALL contract_gsdd(work,& 10283 nl_a, nl_b, nl_c, nl_d, & 10284 sphi_a, sphi_b, sphi_c, sphi_d, & 10285 primitives,& 10286 buffer1,buffer2 ) 10287 #else 10288 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10289 work, nl_a, nl_b, nl_c, nl_d, & 10290 sphi_a, & 10291 sphi_b, & 10292 sphi_c, & 10293 sphi_d, & 10294 primitives, & 10295 buffer1, buffer2) 10296 #endif 10297 CASE(3) 10298 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10299 CALL contract_gsdf(work,& 10300 nl_a, nl_b, nl_c, nl_d, & 10301 sphi_a, sphi_b, sphi_c, sphi_d, & 10302 primitives,& 10303 buffer1,buffer2 ) 10304 #else 10305 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10306 work, nl_a, nl_b, nl_c, nl_d, & 10307 sphi_a, & 10308 sphi_b, & 10309 sphi_c, & 10310 sphi_d, & 10311 primitives, & 10312 buffer1, buffer2) 10313 #endif 10314 CASE(4) 10315 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10316 CALL contract_gsdg(work,& 10317 nl_a, nl_b, nl_c, nl_d, & 10318 sphi_a, sphi_b, sphi_c, sphi_d, & 10319 primitives,& 10320 buffer1,buffer2 ) 10321 #else 10322 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10323 work, nl_a, nl_b, nl_c, nl_d, & 10324 sphi_a, & 10325 sphi_b, & 10326 sphi_c, & 10327 sphi_d, & 10328 primitives, & 10329 buffer1, buffer2) 10330 #endif 10331 CASE DEFAULT 10332 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10333 work, nl_a, nl_b, nl_c, nl_d, & 10334 sphi_a, & 10335 sphi_b, & 10336 sphi_c, & 10337 sphi_d, & 10338 primitives, & 10339 buffer1, buffer2) 10340 END SELECT 10341 CASE(3) 10342 SELECT CASE(n_d) 10343 CASE(0) 10344 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10345 CALL contract_gsfs(work,& 10346 nl_a, nl_b, nl_c, nl_d, & 10347 sphi_a, sphi_b, sphi_c, sphi_d, & 10348 primitives,& 10349 buffer1,buffer2 ) 10350 #else 10351 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10352 work, nl_a, nl_b, nl_c, nl_d, & 10353 sphi_a, & 10354 sphi_b, & 10355 sphi_c, & 10356 sphi_d, & 10357 primitives, & 10358 buffer1, buffer2) 10359 #endif 10360 CASE(1) 10361 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10362 CALL contract_gsfp(work,& 10363 nl_a, nl_b, nl_c, nl_d, & 10364 sphi_a, sphi_b, sphi_c, sphi_d, & 10365 primitives,& 10366 buffer1,buffer2 ) 10367 #else 10368 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10369 work, nl_a, nl_b, nl_c, nl_d, & 10370 sphi_a, & 10371 sphi_b, & 10372 sphi_c, & 10373 sphi_d, & 10374 primitives, & 10375 buffer1, buffer2) 10376 #endif 10377 CASE(2) 10378 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10379 CALL contract_gsfd(work,& 10380 nl_a, nl_b, nl_c, nl_d, & 10381 sphi_a, sphi_b, sphi_c, sphi_d, & 10382 primitives,& 10383 buffer1,buffer2 ) 10384 #else 10385 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10386 work, nl_a, nl_b, nl_c, nl_d, & 10387 sphi_a, & 10388 sphi_b, & 10389 sphi_c, & 10390 sphi_d, & 10391 primitives, & 10392 buffer1, buffer2) 10393 #endif 10394 CASE(3) 10395 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10396 CALL contract_gsff(work,& 10397 nl_a, nl_b, nl_c, nl_d, & 10398 sphi_a, sphi_b, sphi_c, sphi_d, & 10399 primitives,& 10400 buffer1,buffer2 ) 10401 #else 10402 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10403 work, nl_a, nl_b, nl_c, nl_d, & 10404 sphi_a, & 10405 sphi_b, & 10406 sphi_c, & 10407 sphi_d, & 10408 primitives, & 10409 buffer1, buffer2) 10410 #endif 10411 CASE(4) 10412 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10413 CALL contract_gsfg(work,& 10414 nl_a, nl_b, nl_c, nl_d, & 10415 sphi_a, sphi_b, sphi_c, sphi_d, & 10416 primitives,& 10417 buffer1,buffer2 ) 10418 #else 10419 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10420 work, nl_a, nl_b, nl_c, nl_d, & 10421 sphi_a, & 10422 sphi_b, & 10423 sphi_c, & 10424 sphi_d, & 10425 primitives, & 10426 buffer1, buffer2) 10427 #endif 10428 CASE DEFAULT 10429 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10430 work, nl_a, nl_b, nl_c, nl_d, & 10431 sphi_a, & 10432 sphi_b, & 10433 sphi_c, & 10434 sphi_d, & 10435 primitives, & 10436 buffer1, buffer2) 10437 END SELECT 10438 CASE(4) 10439 SELECT CASE(n_d) 10440 CASE(0) 10441 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10442 CALL contract_gsgs(work,& 10443 nl_a, nl_b, nl_c, nl_d, & 10444 sphi_a, sphi_b, sphi_c, sphi_d, & 10445 primitives,& 10446 buffer1,buffer2 ) 10447 #else 10448 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10449 work, nl_a, nl_b, nl_c, nl_d, & 10450 sphi_a, & 10451 sphi_b, & 10452 sphi_c, & 10453 sphi_d, & 10454 primitives, & 10455 buffer1, buffer2) 10456 #endif 10457 CASE(1) 10458 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10459 CALL contract_gsgp(work,& 10460 nl_a, nl_b, nl_c, nl_d, & 10461 sphi_a, sphi_b, sphi_c, sphi_d, & 10462 primitives,& 10463 buffer1,buffer2 ) 10464 #else 10465 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10466 work, nl_a, nl_b, nl_c, nl_d, & 10467 sphi_a, & 10468 sphi_b, & 10469 sphi_c, & 10470 sphi_d, & 10471 primitives, & 10472 buffer1, buffer2) 10473 #endif 10474 CASE(2) 10475 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10476 CALL contract_gsgd(work,& 10477 nl_a, nl_b, nl_c, nl_d, & 10478 sphi_a, sphi_b, sphi_c, sphi_d, & 10479 primitives,& 10480 buffer1,buffer2 ) 10481 #else 10482 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10483 work, nl_a, nl_b, nl_c, nl_d, & 10484 sphi_a, & 10485 sphi_b, & 10486 sphi_c, & 10487 sphi_d, & 10488 primitives, & 10489 buffer1, buffer2) 10490 #endif 10491 CASE(3) 10492 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10493 CALL contract_gsgf(work,& 10494 nl_a, nl_b, nl_c, nl_d, & 10495 sphi_a, sphi_b, sphi_c, sphi_d, & 10496 primitives,& 10497 buffer1,buffer2 ) 10498 #else 10499 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10500 work, nl_a, nl_b, nl_c, nl_d, & 10501 sphi_a, & 10502 sphi_b, & 10503 sphi_c, & 10504 sphi_d, & 10505 primitives, & 10506 buffer1, buffer2) 10507 #endif 10508 CASE(4) 10509 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10510 CALL contract_gsgg(work,& 10511 nl_a, nl_b, nl_c, nl_d, & 10512 sphi_a, sphi_b, sphi_c, sphi_d, & 10513 primitives,& 10514 buffer1,buffer2 ) 10515 #else 10516 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10517 work, nl_a, nl_b, nl_c, nl_d, & 10518 sphi_a, & 10519 sphi_b, & 10520 sphi_c, & 10521 sphi_d, & 10522 primitives, & 10523 buffer1, buffer2) 10524 #endif 10525 CASE DEFAULT 10526 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10527 work, nl_a, nl_b, nl_c, nl_d, & 10528 sphi_a, & 10529 sphi_b, & 10530 sphi_c, & 10531 sphi_d, & 10532 primitives, & 10533 buffer1, buffer2) 10534 END SELECT 10535 CASE DEFAULT 10536 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10537 work, nl_a, nl_b, nl_c, nl_d, & 10538 sphi_a, & 10539 sphi_b, & 10540 sphi_c, & 10541 sphi_d, & 10542 primitives, & 10543 buffer1, buffer2) 10544 END SELECT 10545 CASE(1) 10546 SELECT CASE(n_c) 10547 CASE(0) 10548 SELECT CASE(n_d) 10549 CASE(0) 10550 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10551 CALL contract_gpss(work,& 10552 nl_a, nl_b, nl_c, nl_d, & 10553 sphi_a, sphi_b, sphi_c, sphi_d, & 10554 primitives,& 10555 buffer1,buffer2 ) 10556 #else 10557 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10558 work, nl_a, nl_b, nl_c, nl_d, & 10559 sphi_a, & 10560 sphi_b, & 10561 sphi_c, & 10562 sphi_d, & 10563 primitives, & 10564 buffer1, buffer2) 10565 #endif 10566 CASE(1) 10567 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10568 CALL contract_gpsp(work,& 10569 nl_a, nl_b, nl_c, nl_d, & 10570 sphi_a, sphi_b, sphi_c, sphi_d, & 10571 primitives,& 10572 buffer1,buffer2 ) 10573 #else 10574 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10575 work, nl_a, nl_b, nl_c, nl_d, & 10576 sphi_a, & 10577 sphi_b, & 10578 sphi_c, & 10579 sphi_d, & 10580 primitives, & 10581 buffer1, buffer2) 10582 #endif 10583 CASE(2) 10584 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10585 CALL contract_gpsd(work,& 10586 nl_a, nl_b, nl_c, nl_d, & 10587 sphi_a, sphi_b, sphi_c, sphi_d, & 10588 primitives,& 10589 buffer1,buffer2 ) 10590 #else 10591 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10592 work, nl_a, nl_b, nl_c, nl_d, & 10593 sphi_a, & 10594 sphi_b, & 10595 sphi_c, & 10596 sphi_d, & 10597 primitives, & 10598 buffer1, buffer2) 10599 #endif 10600 CASE(3) 10601 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10602 CALL contract_gpsf(work,& 10603 nl_a, nl_b, nl_c, nl_d, & 10604 sphi_a, sphi_b, sphi_c, sphi_d, & 10605 primitives,& 10606 buffer1,buffer2 ) 10607 #else 10608 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10609 work, nl_a, nl_b, nl_c, nl_d, & 10610 sphi_a, & 10611 sphi_b, & 10612 sphi_c, & 10613 sphi_d, & 10614 primitives, & 10615 buffer1, buffer2) 10616 #endif 10617 CASE(4) 10618 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10619 CALL contract_gpsg(work,& 10620 nl_a, nl_b, nl_c, nl_d, & 10621 sphi_a, sphi_b, sphi_c, sphi_d, & 10622 primitives,& 10623 buffer1,buffer2 ) 10624 #else 10625 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10626 work, nl_a, nl_b, nl_c, nl_d, & 10627 sphi_a, & 10628 sphi_b, & 10629 sphi_c, & 10630 sphi_d, & 10631 primitives, & 10632 buffer1, buffer2) 10633 #endif 10634 CASE DEFAULT 10635 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10636 work, nl_a, nl_b, nl_c, nl_d, & 10637 sphi_a, & 10638 sphi_b, & 10639 sphi_c, & 10640 sphi_d, & 10641 primitives, & 10642 buffer1, buffer2) 10643 END SELECT 10644 CASE(1) 10645 SELECT CASE(n_d) 10646 CASE(0) 10647 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10648 CALL contract_gpps(work,& 10649 nl_a, nl_b, nl_c, nl_d, & 10650 sphi_a, sphi_b, sphi_c, sphi_d, & 10651 primitives,& 10652 buffer1,buffer2 ) 10653 #else 10654 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10655 work, nl_a, nl_b, nl_c, nl_d, & 10656 sphi_a, & 10657 sphi_b, & 10658 sphi_c, & 10659 sphi_d, & 10660 primitives, & 10661 buffer1, buffer2) 10662 #endif 10663 CASE(1) 10664 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10665 CALL contract_gppp(work,& 10666 nl_a, nl_b, nl_c, nl_d, & 10667 sphi_a, sphi_b, sphi_c, sphi_d, & 10668 primitives,& 10669 buffer1,buffer2 ) 10670 #else 10671 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10672 work, nl_a, nl_b, nl_c, nl_d, & 10673 sphi_a, & 10674 sphi_b, & 10675 sphi_c, & 10676 sphi_d, & 10677 primitives, & 10678 buffer1, buffer2) 10679 #endif 10680 CASE(2) 10681 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10682 CALL contract_gppd(work,& 10683 nl_a, nl_b, nl_c, nl_d, & 10684 sphi_a, sphi_b, sphi_c, sphi_d, & 10685 primitives,& 10686 buffer1,buffer2 ) 10687 #else 10688 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10689 work, nl_a, nl_b, nl_c, nl_d, & 10690 sphi_a, & 10691 sphi_b, & 10692 sphi_c, & 10693 sphi_d, & 10694 primitives, & 10695 buffer1, buffer2) 10696 #endif 10697 CASE(3) 10698 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10699 CALL contract_gppf(work,& 10700 nl_a, nl_b, nl_c, nl_d, & 10701 sphi_a, sphi_b, sphi_c, sphi_d, & 10702 primitives,& 10703 buffer1,buffer2 ) 10704 #else 10705 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10706 work, nl_a, nl_b, nl_c, nl_d, & 10707 sphi_a, & 10708 sphi_b, & 10709 sphi_c, & 10710 sphi_d, & 10711 primitives, & 10712 buffer1, buffer2) 10713 #endif 10714 CASE(4) 10715 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10716 CALL contract_gppg(work,& 10717 nl_a, nl_b, nl_c, nl_d, & 10718 sphi_a, sphi_b, sphi_c, sphi_d, & 10719 primitives,& 10720 buffer1,buffer2 ) 10721 #else 10722 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10723 work, nl_a, nl_b, nl_c, nl_d, & 10724 sphi_a, & 10725 sphi_b, & 10726 sphi_c, & 10727 sphi_d, & 10728 primitives, & 10729 buffer1, buffer2) 10730 #endif 10731 CASE DEFAULT 10732 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10733 work, nl_a, nl_b, nl_c, nl_d, & 10734 sphi_a, & 10735 sphi_b, & 10736 sphi_c, & 10737 sphi_d, & 10738 primitives, & 10739 buffer1, buffer2) 10740 END SELECT 10741 CASE(2) 10742 SELECT CASE(n_d) 10743 CASE(0) 10744 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10745 CALL contract_gpds(work,& 10746 nl_a, nl_b, nl_c, nl_d, & 10747 sphi_a, sphi_b, sphi_c, sphi_d, & 10748 primitives,& 10749 buffer1,buffer2 ) 10750 #else 10751 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10752 work, nl_a, nl_b, nl_c, nl_d, & 10753 sphi_a, & 10754 sphi_b, & 10755 sphi_c, & 10756 sphi_d, & 10757 primitives, & 10758 buffer1, buffer2) 10759 #endif 10760 CASE(1) 10761 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10762 CALL contract_gpdp(work,& 10763 nl_a, nl_b, nl_c, nl_d, & 10764 sphi_a, sphi_b, sphi_c, sphi_d, & 10765 primitives,& 10766 buffer1,buffer2 ) 10767 #else 10768 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10769 work, nl_a, nl_b, nl_c, nl_d, & 10770 sphi_a, & 10771 sphi_b, & 10772 sphi_c, & 10773 sphi_d, & 10774 primitives, & 10775 buffer1, buffer2) 10776 #endif 10777 CASE(2) 10778 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10779 CALL contract_gpdd(work,& 10780 nl_a, nl_b, nl_c, nl_d, & 10781 sphi_a, sphi_b, sphi_c, sphi_d, & 10782 primitives,& 10783 buffer1,buffer2 ) 10784 #else 10785 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10786 work, nl_a, nl_b, nl_c, nl_d, & 10787 sphi_a, & 10788 sphi_b, & 10789 sphi_c, & 10790 sphi_d, & 10791 primitives, & 10792 buffer1, buffer2) 10793 #endif 10794 CASE(3) 10795 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10796 CALL contract_gpdf(work,& 10797 nl_a, nl_b, nl_c, nl_d, & 10798 sphi_a, sphi_b, sphi_c, sphi_d, & 10799 primitives,& 10800 buffer1,buffer2 ) 10801 #else 10802 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10803 work, nl_a, nl_b, nl_c, nl_d, & 10804 sphi_a, & 10805 sphi_b, & 10806 sphi_c, & 10807 sphi_d, & 10808 primitives, & 10809 buffer1, buffer2) 10810 #endif 10811 CASE(4) 10812 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10813 CALL contract_gpdg(work,& 10814 nl_a, nl_b, nl_c, nl_d, & 10815 sphi_a, sphi_b, sphi_c, sphi_d, & 10816 primitives,& 10817 buffer1,buffer2 ) 10818 #else 10819 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10820 work, nl_a, nl_b, nl_c, nl_d, & 10821 sphi_a, & 10822 sphi_b, & 10823 sphi_c, & 10824 sphi_d, & 10825 primitives, & 10826 buffer1, buffer2) 10827 #endif 10828 CASE DEFAULT 10829 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10830 work, nl_a, nl_b, nl_c, nl_d, & 10831 sphi_a, & 10832 sphi_b, & 10833 sphi_c, & 10834 sphi_d, & 10835 primitives, & 10836 buffer1, buffer2) 10837 END SELECT 10838 CASE(3) 10839 SELECT CASE(n_d) 10840 CASE(0) 10841 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10842 CALL contract_gpfs(work,& 10843 nl_a, nl_b, nl_c, nl_d, & 10844 sphi_a, sphi_b, sphi_c, sphi_d, & 10845 primitives,& 10846 buffer1,buffer2 ) 10847 #else 10848 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10849 work, nl_a, nl_b, nl_c, nl_d, & 10850 sphi_a, & 10851 sphi_b, & 10852 sphi_c, & 10853 sphi_d, & 10854 primitives, & 10855 buffer1, buffer2) 10856 #endif 10857 CASE(1) 10858 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10859 CALL contract_gpfp(work,& 10860 nl_a, nl_b, nl_c, nl_d, & 10861 sphi_a, sphi_b, sphi_c, sphi_d, & 10862 primitives,& 10863 buffer1,buffer2 ) 10864 #else 10865 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10866 work, nl_a, nl_b, nl_c, nl_d, & 10867 sphi_a, & 10868 sphi_b, & 10869 sphi_c, & 10870 sphi_d, & 10871 primitives, & 10872 buffer1, buffer2) 10873 #endif 10874 CASE(2) 10875 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10876 CALL contract_gpfd(work,& 10877 nl_a, nl_b, nl_c, nl_d, & 10878 sphi_a, sphi_b, sphi_c, sphi_d, & 10879 primitives,& 10880 buffer1,buffer2 ) 10881 #else 10882 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10883 work, nl_a, nl_b, nl_c, nl_d, & 10884 sphi_a, & 10885 sphi_b, & 10886 sphi_c, & 10887 sphi_d, & 10888 primitives, & 10889 buffer1, buffer2) 10890 #endif 10891 CASE(3) 10892 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10893 CALL contract_gpff(work,& 10894 nl_a, nl_b, nl_c, nl_d, & 10895 sphi_a, sphi_b, sphi_c, sphi_d, & 10896 primitives,& 10897 buffer1,buffer2 ) 10898 #else 10899 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10900 work, nl_a, nl_b, nl_c, nl_d, & 10901 sphi_a, & 10902 sphi_b, & 10903 sphi_c, & 10904 sphi_d, & 10905 primitives, & 10906 buffer1, buffer2) 10907 #endif 10908 CASE(4) 10909 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10910 CALL contract_gpfg(work,& 10911 nl_a, nl_b, nl_c, nl_d, & 10912 sphi_a, sphi_b, sphi_c, sphi_d, & 10913 primitives,& 10914 buffer1,buffer2 ) 10915 #else 10916 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10917 work, nl_a, nl_b, nl_c, nl_d, & 10918 sphi_a, & 10919 sphi_b, & 10920 sphi_c, & 10921 sphi_d, & 10922 primitives, & 10923 buffer1, buffer2) 10924 #endif 10925 CASE DEFAULT 10926 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10927 work, nl_a, nl_b, nl_c, nl_d, & 10928 sphi_a, & 10929 sphi_b, & 10930 sphi_c, & 10931 sphi_d, & 10932 primitives, & 10933 buffer1, buffer2) 10934 END SELECT 10935 CASE(4) 10936 SELECT CASE(n_d) 10937 CASE(0) 10938 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10939 CALL contract_gpgs(work,& 10940 nl_a, nl_b, nl_c, nl_d, & 10941 sphi_a, sphi_b, sphi_c, sphi_d, & 10942 primitives,& 10943 buffer1,buffer2 ) 10944 #else 10945 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10946 work, nl_a, nl_b, nl_c, nl_d, & 10947 sphi_a, & 10948 sphi_b, & 10949 sphi_c, & 10950 sphi_d, & 10951 primitives, & 10952 buffer1, buffer2) 10953 #endif 10954 CASE(1) 10955 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10956 CALL contract_gpgp(work,& 10957 nl_a, nl_b, nl_c, nl_d, & 10958 sphi_a, sphi_b, sphi_c, sphi_d, & 10959 primitives,& 10960 buffer1,buffer2 ) 10961 #else 10962 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10963 work, nl_a, nl_b, nl_c, nl_d, & 10964 sphi_a, & 10965 sphi_b, & 10966 sphi_c, & 10967 sphi_d, & 10968 primitives, & 10969 buffer1, buffer2) 10970 #endif 10971 CASE(2) 10972 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10973 CALL contract_gpgd(work,& 10974 nl_a, nl_b, nl_c, nl_d, & 10975 sphi_a, sphi_b, sphi_c, sphi_d, & 10976 primitives,& 10977 buffer1,buffer2 ) 10978 #else 10979 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10980 work, nl_a, nl_b, nl_c, nl_d, & 10981 sphi_a, & 10982 sphi_b, & 10983 sphi_c, & 10984 sphi_d, & 10985 primitives, & 10986 buffer1, buffer2) 10987 #endif 10988 CASE(3) 10989 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 10990 CALL contract_gpgf(work,& 10991 nl_a, nl_b, nl_c, nl_d, & 10992 sphi_a, sphi_b, sphi_c, sphi_d, & 10993 primitives,& 10994 buffer1,buffer2 ) 10995 #else 10996 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 10997 work, nl_a, nl_b, nl_c, nl_d, & 10998 sphi_a, & 10999 sphi_b, & 11000 sphi_c, & 11001 sphi_d, & 11002 primitives, & 11003 buffer1, buffer2) 11004 #endif 11005 CASE(4) 11006 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11007 CALL contract_gpgg(work,& 11008 nl_a, nl_b, nl_c, nl_d, & 11009 sphi_a, sphi_b, sphi_c, sphi_d, & 11010 primitives,& 11011 buffer1,buffer2 ) 11012 #else 11013 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11014 work, nl_a, nl_b, nl_c, nl_d, & 11015 sphi_a, & 11016 sphi_b, & 11017 sphi_c, & 11018 sphi_d, & 11019 primitives, & 11020 buffer1, buffer2) 11021 #endif 11022 CASE DEFAULT 11023 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11024 work, nl_a, nl_b, nl_c, nl_d, & 11025 sphi_a, & 11026 sphi_b, & 11027 sphi_c, & 11028 sphi_d, & 11029 primitives, & 11030 buffer1, buffer2) 11031 END SELECT 11032 CASE DEFAULT 11033 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11034 work, nl_a, nl_b, nl_c, nl_d, & 11035 sphi_a, & 11036 sphi_b, & 11037 sphi_c, & 11038 sphi_d, & 11039 primitives, & 11040 buffer1, buffer2) 11041 END SELECT 11042 CASE(2) 11043 SELECT CASE(n_c) 11044 CASE(0) 11045 SELECT CASE(n_d) 11046 CASE(0) 11047 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11048 CALL contract_gdss(work,& 11049 nl_a, nl_b, nl_c, nl_d, & 11050 sphi_a, sphi_b, sphi_c, sphi_d, & 11051 primitives,& 11052 buffer1,buffer2 ) 11053 #else 11054 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11055 work, nl_a, nl_b, nl_c, nl_d, & 11056 sphi_a, & 11057 sphi_b, & 11058 sphi_c, & 11059 sphi_d, & 11060 primitives, & 11061 buffer1, buffer2) 11062 #endif 11063 CASE(1) 11064 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11065 CALL contract_gdsp(work,& 11066 nl_a, nl_b, nl_c, nl_d, & 11067 sphi_a, sphi_b, sphi_c, sphi_d, & 11068 primitives,& 11069 buffer1,buffer2 ) 11070 #else 11071 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11072 work, nl_a, nl_b, nl_c, nl_d, & 11073 sphi_a, & 11074 sphi_b, & 11075 sphi_c, & 11076 sphi_d, & 11077 primitives, & 11078 buffer1, buffer2) 11079 #endif 11080 CASE(2) 11081 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11082 CALL contract_gdsd(work,& 11083 nl_a, nl_b, nl_c, nl_d, & 11084 sphi_a, sphi_b, sphi_c, sphi_d, & 11085 primitives,& 11086 buffer1,buffer2 ) 11087 #else 11088 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11089 work, nl_a, nl_b, nl_c, nl_d, & 11090 sphi_a, & 11091 sphi_b, & 11092 sphi_c, & 11093 sphi_d, & 11094 primitives, & 11095 buffer1, buffer2) 11096 #endif 11097 CASE(3) 11098 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11099 CALL contract_gdsf(work,& 11100 nl_a, nl_b, nl_c, nl_d, & 11101 sphi_a, sphi_b, sphi_c, sphi_d, & 11102 primitives,& 11103 buffer1,buffer2 ) 11104 #else 11105 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11106 work, nl_a, nl_b, nl_c, nl_d, & 11107 sphi_a, & 11108 sphi_b, & 11109 sphi_c, & 11110 sphi_d, & 11111 primitives, & 11112 buffer1, buffer2) 11113 #endif 11114 CASE(4) 11115 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11116 CALL contract_gdsg(work,& 11117 nl_a, nl_b, nl_c, nl_d, & 11118 sphi_a, sphi_b, sphi_c, sphi_d, & 11119 primitives,& 11120 buffer1,buffer2 ) 11121 #else 11122 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11123 work, nl_a, nl_b, nl_c, nl_d, & 11124 sphi_a, & 11125 sphi_b, & 11126 sphi_c, & 11127 sphi_d, & 11128 primitives, & 11129 buffer1, buffer2) 11130 #endif 11131 CASE DEFAULT 11132 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11133 work, nl_a, nl_b, nl_c, nl_d, & 11134 sphi_a, & 11135 sphi_b, & 11136 sphi_c, & 11137 sphi_d, & 11138 primitives, & 11139 buffer1, buffer2) 11140 END SELECT 11141 CASE(1) 11142 SELECT CASE(n_d) 11143 CASE(0) 11144 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11145 CALL contract_gdps(work,& 11146 nl_a, nl_b, nl_c, nl_d, & 11147 sphi_a, sphi_b, sphi_c, sphi_d, & 11148 primitives,& 11149 buffer1,buffer2 ) 11150 #else 11151 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11152 work, nl_a, nl_b, nl_c, nl_d, & 11153 sphi_a, & 11154 sphi_b, & 11155 sphi_c, & 11156 sphi_d, & 11157 primitives, & 11158 buffer1, buffer2) 11159 #endif 11160 CASE(1) 11161 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11162 CALL contract_gdpp(work,& 11163 nl_a, nl_b, nl_c, nl_d, & 11164 sphi_a, sphi_b, sphi_c, sphi_d, & 11165 primitives,& 11166 buffer1,buffer2 ) 11167 #else 11168 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11169 work, nl_a, nl_b, nl_c, nl_d, & 11170 sphi_a, & 11171 sphi_b, & 11172 sphi_c, & 11173 sphi_d, & 11174 primitives, & 11175 buffer1, buffer2) 11176 #endif 11177 CASE(2) 11178 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11179 CALL contract_gdpd(work,& 11180 nl_a, nl_b, nl_c, nl_d, & 11181 sphi_a, sphi_b, sphi_c, sphi_d, & 11182 primitives,& 11183 buffer1,buffer2 ) 11184 #else 11185 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11186 work, nl_a, nl_b, nl_c, nl_d, & 11187 sphi_a, & 11188 sphi_b, & 11189 sphi_c, & 11190 sphi_d, & 11191 primitives, & 11192 buffer1, buffer2) 11193 #endif 11194 CASE(3) 11195 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11196 CALL contract_gdpf(work,& 11197 nl_a, nl_b, nl_c, nl_d, & 11198 sphi_a, sphi_b, sphi_c, sphi_d, & 11199 primitives,& 11200 buffer1,buffer2 ) 11201 #else 11202 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11203 work, nl_a, nl_b, nl_c, nl_d, & 11204 sphi_a, & 11205 sphi_b, & 11206 sphi_c, & 11207 sphi_d, & 11208 primitives, & 11209 buffer1, buffer2) 11210 #endif 11211 CASE(4) 11212 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11213 CALL contract_gdpg(work,& 11214 nl_a, nl_b, nl_c, nl_d, & 11215 sphi_a, sphi_b, sphi_c, sphi_d, & 11216 primitives,& 11217 buffer1,buffer2 ) 11218 #else 11219 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11220 work, nl_a, nl_b, nl_c, nl_d, & 11221 sphi_a, & 11222 sphi_b, & 11223 sphi_c, & 11224 sphi_d, & 11225 primitives, & 11226 buffer1, buffer2) 11227 #endif 11228 CASE DEFAULT 11229 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11230 work, nl_a, nl_b, nl_c, nl_d, & 11231 sphi_a, & 11232 sphi_b, & 11233 sphi_c, & 11234 sphi_d, & 11235 primitives, & 11236 buffer1, buffer2) 11237 END SELECT 11238 CASE(2) 11239 SELECT CASE(n_d) 11240 CASE(0) 11241 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11242 CALL contract_gdds(work,& 11243 nl_a, nl_b, nl_c, nl_d, & 11244 sphi_a, sphi_b, sphi_c, sphi_d, & 11245 primitives,& 11246 buffer1,buffer2 ) 11247 #else 11248 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11249 work, nl_a, nl_b, nl_c, nl_d, & 11250 sphi_a, & 11251 sphi_b, & 11252 sphi_c, & 11253 sphi_d, & 11254 primitives, & 11255 buffer1, buffer2) 11256 #endif 11257 CASE(1) 11258 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11259 CALL contract_gddp(work,& 11260 nl_a, nl_b, nl_c, nl_d, & 11261 sphi_a, sphi_b, sphi_c, sphi_d, & 11262 primitives,& 11263 buffer1,buffer2 ) 11264 #else 11265 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11266 work, nl_a, nl_b, nl_c, nl_d, & 11267 sphi_a, & 11268 sphi_b, & 11269 sphi_c, & 11270 sphi_d, & 11271 primitives, & 11272 buffer1, buffer2) 11273 #endif 11274 CASE(2) 11275 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11276 CALL contract_gddd(work,& 11277 nl_a, nl_b, nl_c, nl_d, & 11278 sphi_a, sphi_b, sphi_c, sphi_d, & 11279 primitives,& 11280 buffer1,buffer2 ) 11281 #else 11282 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11283 work, nl_a, nl_b, nl_c, nl_d, & 11284 sphi_a, & 11285 sphi_b, & 11286 sphi_c, & 11287 sphi_d, & 11288 primitives, & 11289 buffer1, buffer2) 11290 #endif 11291 CASE(3) 11292 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11293 CALL contract_gddf(work,& 11294 nl_a, nl_b, nl_c, nl_d, & 11295 sphi_a, sphi_b, sphi_c, sphi_d, & 11296 primitives,& 11297 buffer1,buffer2 ) 11298 #else 11299 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11300 work, nl_a, nl_b, nl_c, nl_d, & 11301 sphi_a, & 11302 sphi_b, & 11303 sphi_c, & 11304 sphi_d, & 11305 primitives, & 11306 buffer1, buffer2) 11307 #endif 11308 CASE(4) 11309 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11310 CALL contract_gddg(work,& 11311 nl_a, nl_b, nl_c, nl_d, & 11312 sphi_a, sphi_b, sphi_c, sphi_d, & 11313 primitives,& 11314 buffer1,buffer2 ) 11315 #else 11316 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11317 work, nl_a, nl_b, nl_c, nl_d, & 11318 sphi_a, & 11319 sphi_b, & 11320 sphi_c, & 11321 sphi_d, & 11322 primitives, & 11323 buffer1, buffer2) 11324 #endif 11325 CASE DEFAULT 11326 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11327 work, nl_a, nl_b, nl_c, nl_d, & 11328 sphi_a, & 11329 sphi_b, & 11330 sphi_c, & 11331 sphi_d, & 11332 primitives, & 11333 buffer1, buffer2) 11334 END SELECT 11335 CASE(3) 11336 SELECT CASE(n_d) 11337 CASE(0) 11338 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11339 CALL contract_gdfs(work,& 11340 nl_a, nl_b, nl_c, nl_d, & 11341 sphi_a, sphi_b, sphi_c, sphi_d, & 11342 primitives,& 11343 buffer1,buffer2 ) 11344 #else 11345 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11346 work, nl_a, nl_b, nl_c, nl_d, & 11347 sphi_a, & 11348 sphi_b, & 11349 sphi_c, & 11350 sphi_d, & 11351 primitives, & 11352 buffer1, buffer2) 11353 #endif 11354 CASE(1) 11355 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11356 CALL contract_gdfp(work,& 11357 nl_a, nl_b, nl_c, nl_d, & 11358 sphi_a, sphi_b, sphi_c, sphi_d, & 11359 primitives,& 11360 buffer1,buffer2 ) 11361 #else 11362 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11363 work, nl_a, nl_b, nl_c, nl_d, & 11364 sphi_a, & 11365 sphi_b, & 11366 sphi_c, & 11367 sphi_d, & 11368 primitives, & 11369 buffer1, buffer2) 11370 #endif 11371 CASE(2) 11372 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11373 CALL contract_gdfd(work,& 11374 nl_a, nl_b, nl_c, nl_d, & 11375 sphi_a, sphi_b, sphi_c, sphi_d, & 11376 primitives,& 11377 buffer1,buffer2 ) 11378 #else 11379 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11380 work, nl_a, nl_b, nl_c, nl_d, & 11381 sphi_a, & 11382 sphi_b, & 11383 sphi_c, & 11384 sphi_d, & 11385 primitives, & 11386 buffer1, buffer2) 11387 #endif 11388 CASE(3) 11389 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11390 CALL contract_gdff(work,& 11391 nl_a, nl_b, nl_c, nl_d, & 11392 sphi_a, sphi_b, sphi_c, sphi_d, & 11393 primitives,& 11394 buffer1,buffer2 ) 11395 #else 11396 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11397 work, nl_a, nl_b, nl_c, nl_d, & 11398 sphi_a, & 11399 sphi_b, & 11400 sphi_c, & 11401 sphi_d, & 11402 primitives, & 11403 buffer1, buffer2) 11404 #endif 11405 CASE(4) 11406 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11407 CALL contract_gdfg(work,& 11408 nl_a, nl_b, nl_c, nl_d, & 11409 sphi_a, sphi_b, sphi_c, sphi_d, & 11410 primitives,& 11411 buffer1,buffer2 ) 11412 #else 11413 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11414 work, nl_a, nl_b, nl_c, nl_d, & 11415 sphi_a, & 11416 sphi_b, & 11417 sphi_c, & 11418 sphi_d, & 11419 primitives, & 11420 buffer1, buffer2) 11421 #endif 11422 CASE DEFAULT 11423 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11424 work, nl_a, nl_b, nl_c, nl_d, & 11425 sphi_a, & 11426 sphi_b, & 11427 sphi_c, & 11428 sphi_d, & 11429 primitives, & 11430 buffer1, buffer2) 11431 END SELECT 11432 CASE(4) 11433 SELECT CASE(n_d) 11434 CASE(0) 11435 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11436 CALL contract_gdgs(work,& 11437 nl_a, nl_b, nl_c, nl_d, & 11438 sphi_a, sphi_b, sphi_c, sphi_d, & 11439 primitives,& 11440 buffer1,buffer2 ) 11441 #else 11442 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11443 work, nl_a, nl_b, nl_c, nl_d, & 11444 sphi_a, & 11445 sphi_b, & 11446 sphi_c, & 11447 sphi_d, & 11448 primitives, & 11449 buffer1, buffer2) 11450 #endif 11451 CASE(1) 11452 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11453 CALL contract_gdgp(work,& 11454 nl_a, nl_b, nl_c, nl_d, & 11455 sphi_a, sphi_b, sphi_c, sphi_d, & 11456 primitives,& 11457 buffer1,buffer2 ) 11458 #else 11459 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11460 work, nl_a, nl_b, nl_c, nl_d, & 11461 sphi_a, & 11462 sphi_b, & 11463 sphi_c, & 11464 sphi_d, & 11465 primitives, & 11466 buffer1, buffer2) 11467 #endif 11468 CASE(2) 11469 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11470 CALL contract_gdgd(work,& 11471 nl_a, nl_b, nl_c, nl_d, & 11472 sphi_a, sphi_b, sphi_c, sphi_d, & 11473 primitives,& 11474 buffer1,buffer2 ) 11475 #else 11476 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11477 work, nl_a, nl_b, nl_c, nl_d, & 11478 sphi_a, & 11479 sphi_b, & 11480 sphi_c, & 11481 sphi_d, & 11482 primitives, & 11483 buffer1, buffer2) 11484 #endif 11485 CASE(3) 11486 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11487 CALL contract_gdgf(work,& 11488 nl_a, nl_b, nl_c, nl_d, & 11489 sphi_a, sphi_b, sphi_c, sphi_d, & 11490 primitives,& 11491 buffer1,buffer2 ) 11492 #else 11493 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11494 work, nl_a, nl_b, nl_c, nl_d, & 11495 sphi_a, & 11496 sphi_b, & 11497 sphi_c, & 11498 sphi_d, & 11499 primitives, & 11500 buffer1, buffer2) 11501 #endif 11502 CASE(4) 11503 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11504 CALL contract_gdgg(work,& 11505 nl_a, nl_b, nl_c, nl_d, & 11506 sphi_a, sphi_b, sphi_c, sphi_d, & 11507 primitives,& 11508 buffer1,buffer2 ) 11509 #else 11510 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11511 work, nl_a, nl_b, nl_c, nl_d, & 11512 sphi_a, & 11513 sphi_b, & 11514 sphi_c, & 11515 sphi_d, & 11516 primitives, & 11517 buffer1, buffer2) 11518 #endif 11519 CASE DEFAULT 11520 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11521 work, nl_a, nl_b, nl_c, nl_d, & 11522 sphi_a, & 11523 sphi_b, & 11524 sphi_c, & 11525 sphi_d, & 11526 primitives, & 11527 buffer1, buffer2) 11528 END SELECT 11529 CASE DEFAULT 11530 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11531 work, nl_a, nl_b, nl_c, nl_d, & 11532 sphi_a, & 11533 sphi_b, & 11534 sphi_c, & 11535 sphi_d, & 11536 primitives, & 11537 buffer1, buffer2) 11538 END SELECT 11539 CASE(3) 11540 SELECT CASE(n_c) 11541 CASE(0) 11542 SELECT CASE(n_d) 11543 CASE(0) 11544 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11545 CALL contract_gfss(work,& 11546 nl_a, nl_b, nl_c, nl_d, & 11547 sphi_a, sphi_b, sphi_c, sphi_d, & 11548 primitives,& 11549 buffer1,buffer2 ) 11550 #else 11551 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11552 work, nl_a, nl_b, nl_c, nl_d, & 11553 sphi_a, & 11554 sphi_b, & 11555 sphi_c, & 11556 sphi_d, & 11557 primitives, & 11558 buffer1, buffer2) 11559 #endif 11560 CASE(1) 11561 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11562 CALL contract_gfsp(work,& 11563 nl_a, nl_b, nl_c, nl_d, & 11564 sphi_a, sphi_b, sphi_c, sphi_d, & 11565 primitives,& 11566 buffer1,buffer2 ) 11567 #else 11568 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11569 work, nl_a, nl_b, nl_c, nl_d, & 11570 sphi_a, & 11571 sphi_b, & 11572 sphi_c, & 11573 sphi_d, & 11574 primitives, & 11575 buffer1, buffer2) 11576 #endif 11577 CASE(2) 11578 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11579 CALL contract_gfsd(work,& 11580 nl_a, nl_b, nl_c, nl_d, & 11581 sphi_a, sphi_b, sphi_c, sphi_d, & 11582 primitives,& 11583 buffer1,buffer2 ) 11584 #else 11585 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11586 work, nl_a, nl_b, nl_c, nl_d, & 11587 sphi_a, & 11588 sphi_b, & 11589 sphi_c, & 11590 sphi_d, & 11591 primitives, & 11592 buffer1, buffer2) 11593 #endif 11594 CASE(3) 11595 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11596 CALL contract_gfsf(work,& 11597 nl_a, nl_b, nl_c, nl_d, & 11598 sphi_a, sphi_b, sphi_c, sphi_d, & 11599 primitives,& 11600 buffer1,buffer2 ) 11601 #else 11602 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11603 work, nl_a, nl_b, nl_c, nl_d, & 11604 sphi_a, & 11605 sphi_b, & 11606 sphi_c, & 11607 sphi_d, & 11608 primitives, & 11609 buffer1, buffer2) 11610 #endif 11611 CASE(4) 11612 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11613 CALL contract_gfsg(work,& 11614 nl_a, nl_b, nl_c, nl_d, & 11615 sphi_a, sphi_b, sphi_c, sphi_d, & 11616 primitives,& 11617 buffer1,buffer2 ) 11618 #else 11619 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11620 work, nl_a, nl_b, nl_c, nl_d, & 11621 sphi_a, & 11622 sphi_b, & 11623 sphi_c, & 11624 sphi_d, & 11625 primitives, & 11626 buffer1, buffer2) 11627 #endif 11628 CASE DEFAULT 11629 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11630 work, nl_a, nl_b, nl_c, nl_d, & 11631 sphi_a, & 11632 sphi_b, & 11633 sphi_c, & 11634 sphi_d, & 11635 primitives, & 11636 buffer1, buffer2) 11637 END SELECT 11638 CASE(1) 11639 SELECT CASE(n_d) 11640 CASE(0) 11641 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11642 CALL contract_gfps(work,& 11643 nl_a, nl_b, nl_c, nl_d, & 11644 sphi_a, sphi_b, sphi_c, sphi_d, & 11645 primitives,& 11646 buffer1,buffer2 ) 11647 #else 11648 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11649 work, nl_a, nl_b, nl_c, nl_d, & 11650 sphi_a, & 11651 sphi_b, & 11652 sphi_c, & 11653 sphi_d, & 11654 primitives, & 11655 buffer1, buffer2) 11656 #endif 11657 CASE(1) 11658 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11659 CALL contract_gfpp(work,& 11660 nl_a, nl_b, nl_c, nl_d, & 11661 sphi_a, sphi_b, sphi_c, sphi_d, & 11662 primitives,& 11663 buffer1,buffer2 ) 11664 #else 11665 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11666 work, nl_a, nl_b, nl_c, nl_d, & 11667 sphi_a, & 11668 sphi_b, & 11669 sphi_c, & 11670 sphi_d, & 11671 primitives, & 11672 buffer1, buffer2) 11673 #endif 11674 CASE(2) 11675 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11676 CALL contract_gfpd(work,& 11677 nl_a, nl_b, nl_c, nl_d, & 11678 sphi_a, sphi_b, sphi_c, sphi_d, & 11679 primitives,& 11680 buffer1,buffer2 ) 11681 #else 11682 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11683 work, nl_a, nl_b, nl_c, nl_d, & 11684 sphi_a, & 11685 sphi_b, & 11686 sphi_c, & 11687 sphi_d, & 11688 primitives, & 11689 buffer1, buffer2) 11690 #endif 11691 CASE(3) 11692 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11693 CALL contract_gfpf(work,& 11694 nl_a, nl_b, nl_c, nl_d, & 11695 sphi_a, sphi_b, sphi_c, sphi_d, & 11696 primitives,& 11697 buffer1,buffer2 ) 11698 #else 11699 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11700 work, nl_a, nl_b, nl_c, nl_d, & 11701 sphi_a, & 11702 sphi_b, & 11703 sphi_c, & 11704 sphi_d, & 11705 primitives, & 11706 buffer1, buffer2) 11707 #endif 11708 CASE(4) 11709 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11710 CALL contract_gfpg(work,& 11711 nl_a, nl_b, nl_c, nl_d, & 11712 sphi_a, sphi_b, sphi_c, sphi_d, & 11713 primitives,& 11714 buffer1,buffer2 ) 11715 #else 11716 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11717 work, nl_a, nl_b, nl_c, nl_d, & 11718 sphi_a, & 11719 sphi_b, & 11720 sphi_c, & 11721 sphi_d, & 11722 primitives, & 11723 buffer1, buffer2) 11724 #endif 11725 CASE DEFAULT 11726 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11727 work, nl_a, nl_b, nl_c, nl_d, & 11728 sphi_a, & 11729 sphi_b, & 11730 sphi_c, & 11731 sphi_d, & 11732 primitives, & 11733 buffer1, buffer2) 11734 END SELECT 11735 CASE(2) 11736 SELECT CASE(n_d) 11737 CASE(0) 11738 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11739 CALL contract_gfds(work,& 11740 nl_a, nl_b, nl_c, nl_d, & 11741 sphi_a, sphi_b, sphi_c, sphi_d, & 11742 primitives,& 11743 buffer1,buffer2 ) 11744 #else 11745 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11746 work, nl_a, nl_b, nl_c, nl_d, & 11747 sphi_a, & 11748 sphi_b, & 11749 sphi_c, & 11750 sphi_d, & 11751 primitives, & 11752 buffer1, buffer2) 11753 #endif 11754 CASE(1) 11755 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11756 CALL contract_gfdp(work,& 11757 nl_a, nl_b, nl_c, nl_d, & 11758 sphi_a, sphi_b, sphi_c, sphi_d, & 11759 primitives,& 11760 buffer1,buffer2 ) 11761 #else 11762 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11763 work, nl_a, nl_b, nl_c, nl_d, & 11764 sphi_a, & 11765 sphi_b, & 11766 sphi_c, & 11767 sphi_d, & 11768 primitives, & 11769 buffer1, buffer2) 11770 #endif 11771 CASE(2) 11772 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11773 CALL contract_gfdd(work,& 11774 nl_a, nl_b, nl_c, nl_d, & 11775 sphi_a, sphi_b, sphi_c, sphi_d, & 11776 primitives,& 11777 buffer1,buffer2 ) 11778 #else 11779 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11780 work, nl_a, nl_b, nl_c, nl_d, & 11781 sphi_a, & 11782 sphi_b, & 11783 sphi_c, & 11784 sphi_d, & 11785 primitives, & 11786 buffer1, buffer2) 11787 #endif 11788 CASE(3) 11789 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11790 CALL contract_gfdf(work,& 11791 nl_a, nl_b, nl_c, nl_d, & 11792 sphi_a, sphi_b, sphi_c, sphi_d, & 11793 primitives,& 11794 buffer1,buffer2 ) 11795 #else 11796 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11797 work, nl_a, nl_b, nl_c, nl_d, & 11798 sphi_a, & 11799 sphi_b, & 11800 sphi_c, & 11801 sphi_d, & 11802 primitives, & 11803 buffer1, buffer2) 11804 #endif 11805 CASE(4) 11806 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11807 CALL contract_gfdg(work,& 11808 nl_a, nl_b, nl_c, nl_d, & 11809 sphi_a, sphi_b, sphi_c, sphi_d, & 11810 primitives,& 11811 buffer1,buffer2 ) 11812 #else 11813 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11814 work, nl_a, nl_b, nl_c, nl_d, & 11815 sphi_a, & 11816 sphi_b, & 11817 sphi_c, & 11818 sphi_d, & 11819 primitives, & 11820 buffer1, buffer2) 11821 #endif 11822 CASE DEFAULT 11823 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11824 work, nl_a, nl_b, nl_c, nl_d, & 11825 sphi_a, & 11826 sphi_b, & 11827 sphi_c, & 11828 sphi_d, & 11829 primitives, & 11830 buffer1, buffer2) 11831 END SELECT 11832 CASE(3) 11833 SELECT CASE(n_d) 11834 CASE(0) 11835 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11836 CALL contract_gffs(work,& 11837 nl_a, nl_b, nl_c, nl_d, & 11838 sphi_a, sphi_b, sphi_c, sphi_d, & 11839 primitives,& 11840 buffer1,buffer2 ) 11841 #else 11842 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11843 work, nl_a, nl_b, nl_c, nl_d, & 11844 sphi_a, & 11845 sphi_b, & 11846 sphi_c, & 11847 sphi_d, & 11848 primitives, & 11849 buffer1, buffer2) 11850 #endif 11851 CASE(1) 11852 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11853 CALL contract_gffp(work,& 11854 nl_a, nl_b, nl_c, nl_d, & 11855 sphi_a, sphi_b, sphi_c, sphi_d, & 11856 primitives,& 11857 buffer1,buffer2 ) 11858 #else 11859 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11860 work, nl_a, nl_b, nl_c, nl_d, & 11861 sphi_a, & 11862 sphi_b, & 11863 sphi_c, & 11864 sphi_d, & 11865 primitives, & 11866 buffer1, buffer2) 11867 #endif 11868 CASE(2) 11869 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11870 CALL contract_gffd(work,& 11871 nl_a, nl_b, nl_c, nl_d, & 11872 sphi_a, sphi_b, sphi_c, sphi_d, & 11873 primitives,& 11874 buffer1,buffer2 ) 11875 #else 11876 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11877 work, nl_a, nl_b, nl_c, nl_d, & 11878 sphi_a, & 11879 sphi_b, & 11880 sphi_c, & 11881 sphi_d, & 11882 primitives, & 11883 buffer1, buffer2) 11884 #endif 11885 CASE(3) 11886 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11887 CALL contract_gfff(work,& 11888 nl_a, nl_b, nl_c, nl_d, & 11889 sphi_a, sphi_b, sphi_c, sphi_d, & 11890 primitives,& 11891 buffer1,buffer2 ) 11892 #else 11893 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11894 work, nl_a, nl_b, nl_c, nl_d, & 11895 sphi_a, & 11896 sphi_b, & 11897 sphi_c, & 11898 sphi_d, & 11899 primitives, & 11900 buffer1, buffer2) 11901 #endif 11902 CASE(4) 11903 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11904 CALL contract_gffg(work,& 11905 nl_a, nl_b, nl_c, nl_d, & 11906 sphi_a, sphi_b, sphi_c, sphi_d, & 11907 primitives,& 11908 buffer1,buffer2 ) 11909 #else 11910 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11911 work, nl_a, nl_b, nl_c, nl_d, & 11912 sphi_a, & 11913 sphi_b, & 11914 sphi_c, & 11915 sphi_d, & 11916 primitives, & 11917 buffer1, buffer2) 11918 #endif 11919 CASE DEFAULT 11920 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11921 work, nl_a, nl_b, nl_c, nl_d, & 11922 sphi_a, & 11923 sphi_b, & 11924 sphi_c, & 11925 sphi_d, & 11926 primitives, & 11927 buffer1, buffer2) 11928 END SELECT 11929 CASE(4) 11930 SELECT CASE(n_d) 11931 CASE(0) 11932 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11933 CALL contract_gfgs(work,& 11934 nl_a, nl_b, nl_c, nl_d, & 11935 sphi_a, sphi_b, sphi_c, sphi_d, & 11936 primitives,& 11937 buffer1,buffer2 ) 11938 #else 11939 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11940 work, nl_a, nl_b, nl_c, nl_d, & 11941 sphi_a, & 11942 sphi_b, & 11943 sphi_c, & 11944 sphi_d, & 11945 primitives, & 11946 buffer1, buffer2) 11947 #endif 11948 CASE(1) 11949 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11950 CALL contract_gfgp(work,& 11951 nl_a, nl_b, nl_c, nl_d, & 11952 sphi_a, sphi_b, sphi_c, sphi_d, & 11953 primitives,& 11954 buffer1,buffer2 ) 11955 #else 11956 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11957 work, nl_a, nl_b, nl_c, nl_d, & 11958 sphi_a, & 11959 sphi_b, & 11960 sphi_c, & 11961 sphi_d, & 11962 primitives, & 11963 buffer1, buffer2) 11964 #endif 11965 CASE(2) 11966 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11967 CALL contract_gfgd(work,& 11968 nl_a, nl_b, nl_c, nl_d, & 11969 sphi_a, sphi_b, sphi_c, sphi_d, & 11970 primitives,& 11971 buffer1,buffer2 ) 11972 #else 11973 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11974 work, nl_a, nl_b, nl_c, nl_d, & 11975 sphi_a, & 11976 sphi_b, & 11977 sphi_c, & 11978 sphi_d, & 11979 primitives, & 11980 buffer1, buffer2) 11981 #endif 11982 CASE(3) 11983 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 11984 CALL contract_gfgf(work,& 11985 nl_a, nl_b, nl_c, nl_d, & 11986 sphi_a, sphi_b, sphi_c, sphi_d, & 11987 primitives,& 11988 buffer1,buffer2 ) 11989 #else 11990 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 11991 work, nl_a, nl_b, nl_c, nl_d, & 11992 sphi_a, & 11993 sphi_b, & 11994 sphi_c, & 11995 sphi_d, & 11996 primitives, & 11997 buffer1, buffer2) 11998 #endif 11999 CASE(4) 12000 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 12001 CALL contract_gfgg(work,& 12002 nl_a, nl_b, nl_c, nl_d, & 12003 sphi_a, sphi_b, sphi_c, sphi_d, & 12004 primitives,& 12005 buffer1,buffer2 ) 12006 #else 12007 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12008 work, nl_a, nl_b, nl_c, nl_d, & 12009 sphi_a, & 12010 sphi_b, & 12011 sphi_c, & 12012 sphi_d, & 12013 primitives, & 12014 buffer1, buffer2) 12015 #endif 12016 CASE DEFAULT 12017 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12018 work, nl_a, nl_b, nl_c, nl_d, & 12019 sphi_a, & 12020 sphi_b, & 12021 sphi_c, & 12022 sphi_d, & 12023 primitives, & 12024 buffer1, buffer2) 12025 END SELECT 12026 CASE DEFAULT 12027 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12028 work, nl_a, nl_b, nl_c, nl_d, & 12029 sphi_a, & 12030 sphi_b, & 12031 sphi_c, & 12032 sphi_d, & 12033 primitives, & 12034 buffer1, buffer2) 12035 END SELECT 12036 CASE(4) 12037 SELECT CASE(n_c) 12038 CASE(0) 12039 SELECT CASE(n_d) 12040 CASE(0) 12041 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 12042 CALL contract_ggss(work,& 12043 nl_a, nl_b, nl_c, nl_d, & 12044 sphi_a, sphi_b, sphi_c, sphi_d, & 12045 primitives,& 12046 buffer1,buffer2 ) 12047 #else 12048 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12049 work, nl_a, nl_b, nl_c, nl_d, & 12050 sphi_a, & 12051 sphi_b, & 12052 sphi_c, & 12053 sphi_d, & 12054 primitives, & 12055 buffer1, buffer2) 12056 #endif 12057 CASE(1) 12058 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 12059 CALL contract_ggsp(work,& 12060 nl_a, nl_b, nl_c, nl_d, & 12061 sphi_a, sphi_b, sphi_c, sphi_d, & 12062 primitives,& 12063 buffer1,buffer2 ) 12064 #else 12065 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12066 work, nl_a, nl_b, nl_c, nl_d, & 12067 sphi_a, & 12068 sphi_b, & 12069 sphi_c, & 12070 sphi_d, & 12071 primitives, & 12072 buffer1, buffer2) 12073 #endif 12074 CASE(2) 12075 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 12076 CALL contract_ggsd(work,& 12077 nl_a, nl_b, nl_c, nl_d, & 12078 sphi_a, sphi_b, sphi_c, sphi_d, & 12079 primitives,& 12080 buffer1,buffer2 ) 12081 #else 12082 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12083 work, nl_a, nl_b, nl_c, nl_d, & 12084 sphi_a, & 12085 sphi_b, & 12086 sphi_c, & 12087 sphi_d, & 12088 primitives, & 12089 buffer1, buffer2) 12090 #endif 12091 CASE(3) 12092 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 12093 CALL contract_ggsf(work,& 12094 nl_a, nl_b, nl_c, nl_d, & 12095 sphi_a, sphi_b, sphi_c, sphi_d, & 12096 primitives,& 12097 buffer1,buffer2 ) 12098 #else 12099 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12100 work, nl_a, nl_b, nl_c, nl_d, & 12101 sphi_a, & 12102 sphi_b, & 12103 sphi_c, & 12104 sphi_d, & 12105 primitives, & 12106 buffer1, buffer2) 12107 #endif 12108 CASE(4) 12109 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 12110 CALL contract_ggsg(work,& 12111 nl_a, nl_b, nl_c, nl_d, & 12112 sphi_a, sphi_b, sphi_c, sphi_d, & 12113 primitives,& 12114 buffer1,buffer2 ) 12115 #else 12116 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12117 work, nl_a, nl_b, nl_c, nl_d, & 12118 sphi_a, & 12119 sphi_b, & 12120 sphi_c, & 12121 sphi_d, & 12122 primitives, & 12123 buffer1, buffer2) 12124 #endif 12125 CASE DEFAULT 12126 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12127 work, nl_a, nl_b, nl_c, nl_d, & 12128 sphi_a, & 12129 sphi_b, & 12130 sphi_c, & 12131 sphi_d, & 12132 primitives, & 12133 buffer1, buffer2) 12134 END SELECT 12135 CASE(1) 12136 SELECT CASE(n_d) 12137 CASE(0) 12138 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 12139 CALL contract_ggps(work,& 12140 nl_a, nl_b, nl_c, nl_d, & 12141 sphi_a, sphi_b, sphi_c, sphi_d, & 12142 primitives,& 12143 buffer1,buffer2 ) 12144 #else 12145 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12146 work, nl_a, nl_b, nl_c, nl_d, & 12147 sphi_a, & 12148 sphi_b, & 12149 sphi_c, & 12150 sphi_d, & 12151 primitives, & 12152 buffer1, buffer2) 12153 #endif 12154 CASE(1) 12155 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 12156 CALL contract_ggpp(work,& 12157 nl_a, nl_b, nl_c, nl_d, & 12158 sphi_a, sphi_b, sphi_c, sphi_d, & 12159 primitives,& 12160 buffer1,buffer2 ) 12161 #else 12162 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12163 work, nl_a, nl_b, nl_c, nl_d, & 12164 sphi_a, & 12165 sphi_b, & 12166 sphi_c, & 12167 sphi_d, & 12168 primitives, & 12169 buffer1, buffer2) 12170 #endif 12171 CASE(2) 12172 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 12173 CALL contract_ggpd(work,& 12174 nl_a, nl_b, nl_c, nl_d, & 12175 sphi_a, sphi_b, sphi_c, sphi_d, & 12176 primitives,& 12177 buffer1,buffer2 ) 12178 #else 12179 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12180 work, nl_a, nl_b, nl_c, nl_d, & 12181 sphi_a, & 12182 sphi_b, & 12183 sphi_c, & 12184 sphi_d, & 12185 primitives, & 12186 buffer1, buffer2) 12187 #endif 12188 CASE(3) 12189 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 12190 CALL contract_ggpf(work,& 12191 nl_a, nl_b, nl_c, nl_d, & 12192 sphi_a, sphi_b, sphi_c, sphi_d, & 12193 primitives,& 12194 buffer1,buffer2 ) 12195 #else 12196 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12197 work, nl_a, nl_b, nl_c, nl_d, & 12198 sphi_a, & 12199 sphi_b, & 12200 sphi_c, & 12201 sphi_d, & 12202 primitives, & 12203 buffer1, buffer2) 12204 #endif 12205 CASE(4) 12206 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 12207 CALL contract_ggpg(work,& 12208 nl_a, nl_b, nl_c, nl_d, & 12209 sphi_a, sphi_b, sphi_c, sphi_d, & 12210 primitives,& 12211 buffer1,buffer2 ) 12212 #else 12213 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12214 work, nl_a, nl_b, nl_c, nl_d, & 12215 sphi_a, & 12216 sphi_b, & 12217 sphi_c, & 12218 sphi_d, & 12219 primitives, & 12220 buffer1, buffer2) 12221 #endif 12222 CASE DEFAULT 12223 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12224 work, nl_a, nl_b, nl_c, nl_d, & 12225 sphi_a, & 12226 sphi_b, & 12227 sphi_c, & 12228 sphi_d, & 12229 primitives, & 12230 buffer1, buffer2) 12231 END SELECT 12232 CASE(2) 12233 SELECT CASE(n_d) 12234 CASE(0) 12235 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 12236 CALL contract_ggds(work,& 12237 nl_a, nl_b, nl_c, nl_d, & 12238 sphi_a, sphi_b, sphi_c, sphi_d, & 12239 primitives,& 12240 buffer1,buffer2 ) 12241 #else 12242 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12243 work, nl_a, nl_b, nl_c, nl_d, & 12244 sphi_a, & 12245 sphi_b, & 12246 sphi_c, & 12247 sphi_d, & 12248 primitives, & 12249 buffer1, buffer2) 12250 #endif 12251 CASE(1) 12252 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 12253 CALL contract_ggdp(work,& 12254 nl_a, nl_b, nl_c, nl_d, & 12255 sphi_a, sphi_b, sphi_c, sphi_d, & 12256 primitives,& 12257 buffer1,buffer2 ) 12258 #else 12259 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12260 work, nl_a, nl_b, nl_c, nl_d, & 12261 sphi_a, & 12262 sphi_b, & 12263 sphi_c, & 12264 sphi_d, & 12265 primitives, & 12266 buffer1, buffer2) 12267 #endif 12268 CASE(2) 12269 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 12270 CALL contract_ggdd(work,& 12271 nl_a, nl_b, nl_c, nl_d, & 12272 sphi_a, sphi_b, sphi_c, sphi_d, & 12273 primitives,& 12274 buffer1,buffer2 ) 12275 #else 12276 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12277 work, nl_a, nl_b, nl_c, nl_d, & 12278 sphi_a, & 12279 sphi_b, & 12280 sphi_c, & 12281 sphi_d, & 12282 primitives, & 12283 buffer1, buffer2) 12284 #endif 12285 CASE(3) 12286 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 12287 CALL contract_ggdf(work,& 12288 nl_a, nl_b, nl_c, nl_d, & 12289 sphi_a, sphi_b, sphi_c, sphi_d, & 12290 primitives,& 12291 buffer1,buffer2 ) 12292 #else 12293 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12294 work, nl_a, nl_b, nl_c, nl_d, & 12295 sphi_a, & 12296 sphi_b, & 12297 sphi_c, & 12298 sphi_d, & 12299 primitives, & 12300 buffer1, buffer2) 12301 #endif 12302 CASE(4) 12303 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 12304 CALL contract_ggdg(work,& 12305 nl_a, nl_b, nl_c, nl_d, & 12306 sphi_a, sphi_b, sphi_c, sphi_d, & 12307 primitives,& 12308 buffer1,buffer2 ) 12309 #else 12310 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12311 work, nl_a, nl_b, nl_c, nl_d, & 12312 sphi_a, & 12313 sphi_b, & 12314 sphi_c, & 12315 sphi_d, & 12316 primitives, & 12317 buffer1, buffer2) 12318 #endif 12319 CASE DEFAULT 12320 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12321 work, nl_a, nl_b, nl_c, nl_d, & 12322 sphi_a, & 12323 sphi_b, & 12324 sphi_c, & 12325 sphi_d, & 12326 primitives, & 12327 buffer1, buffer2) 12328 END SELECT 12329 CASE(3) 12330 SELECT CASE(n_d) 12331 CASE(0) 12332 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 12333 CALL contract_ggfs(work,& 12334 nl_a, nl_b, nl_c, nl_d, & 12335 sphi_a, sphi_b, sphi_c, sphi_d, & 12336 primitives,& 12337 buffer1,buffer2 ) 12338 #else 12339 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12340 work, nl_a, nl_b, nl_c, nl_d, & 12341 sphi_a, & 12342 sphi_b, & 12343 sphi_c, & 12344 sphi_d, & 12345 primitives, & 12346 buffer1, buffer2) 12347 #endif 12348 CASE(1) 12349 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 12350 CALL contract_ggfp(work,& 12351 nl_a, nl_b, nl_c, nl_d, & 12352 sphi_a, sphi_b, sphi_c, sphi_d, & 12353 primitives,& 12354 buffer1,buffer2 ) 12355 #else 12356 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12357 work, nl_a, nl_b, nl_c, nl_d, & 12358 sphi_a, & 12359 sphi_b, & 12360 sphi_c, & 12361 sphi_d, & 12362 primitives, & 12363 buffer1, buffer2) 12364 #endif 12365 CASE(2) 12366 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 12367 CALL contract_ggfd(work,& 12368 nl_a, nl_b, nl_c, nl_d, & 12369 sphi_a, sphi_b, sphi_c, sphi_d, & 12370 primitives,& 12371 buffer1,buffer2 ) 12372 #else 12373 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12374 work, nl_a, nl_b, nl_c, nl_d, & 12375 sphi_a, & 12376 sphi_b, & 12377 sphi_c, & 12378 sphi_d, & 12379 primitives, & 12380 buffer1, buffer2) 12381 #endif 12382 CASE(3) 12383 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 12384 CALL contract_ggff(work,& 12385 nl_a, nl_b, nl_c, nl_d, & 12386 sphi_a, sphi_b, sphi_c, sphi_d, & 12387 primitives,& 12388 buffer1,buffer2 ) 12389 #else 12390 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12391 work, nl_a, nl_b, nl_c, nl_d, & 12392 sphi_a, & 12393 sphi_b, & 12394 sphi_c, & 12395 sphi_d, & 12396 primitives, & 12397 buffer1, buffer2) 12398 #endif 12399 CASE(4) 12400 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 12401 CALL contract_ggfg(work,& 12402 nl_a, nl_b, nl_c, nl_d, & 12403 sphi_a, sphi_b, sphi_c, sphi_d, & 12404 primitives,& 12405 buffer1,buffer2 ) 12406 #else 12407 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12408 work, nl_a, nl_b, nl_c, nl_d, & 12409 sphi_a, & 12410 sphi_b, & 12411 sphi_c, & 12412 sphi_d, & 12413 primitives, & 12414 buffer1, buffer2) 12415 #endif 12416 CASE DEFAULT 12417 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12418 work, nl_a, nl_b, nl_c, nl_d, & 12419 sphi_a, & 12420 sphi_b, & 12421 sphi_c, & 12422 sphi_d, & 12423 primitives, & 12424 buffer1, buffer2) 12425 END SELECT 12426 CASE(4) 12427 SELECT CASE(n_d) 12428 CASE(0) 12429 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 12430 CALL contract_gggs(work,& 12431 nl_a, nl_b, nl_c, nl_d, & 12432 sphi_a, sphi_b, sphi_c, sphi_d, & 12433 primitives,& 12434 buffer1,buffer2 ) 12435 #else 12436 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12437 work, nl_a, nl_b, nl_c, nl_d, & 12438 sphi_a, & 12439 sphi_b, & 12440 sphi_c, & 12441 sphi_d, & 12442 primitives, & 12443 buffer1, buffer2) 12444 #endif 12445 CASE(1) 12446 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 12447 CALL contract_gggp(work,& 12448 nl_a, nl_b, nl_c, nl_d, & 12449 sphi_a, sphi_b, sphi_c, sphi_d, & 12450 primitives,& 12451 buffer1,buffer2 ) 12452 #else 12453 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12454 work, nl_a, nl_b, nl_c, nl_d, & 12455 sphi_a, & 12456 sphi_b, & 12457 sphi_c, & 12458 sphi_d, & 12459 primitives, & 12460 buffer1, buffer2) 12461 #endif 12462 CASE(2) 12463 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 12464 CALL contract_gggd(work,& 12465 nl_a, nl_b, nl_c, nl_d, & 12466 sphi_a, sphi_b, sphi_c, sphi_d, & 12467 primitives,& 12468 buffer1,buffer2 ) 12469 #else 12470 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12471 work, nl_a, nl_b, nl_c, nl_d, & 12472 sphi_a, & 12473 sphi_b, & 12474 sphi_c, & 12475 sphi_d, & 12476 primitives, & 12477 buffer1, buffer2) 12478 #endif 12479 CASE(3) 12480 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 12481 CALL contract_gggf(work,& 12482 nl_a, nl_b, nl_c, nl_d, & 12483 sphi_a, sphi_b, sphi_c, sphi_d, & 12484 primitives,& 12485 buffer1,buffer2 ) 12486 #else 12487 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12488 work, nl_a, nl_b, nl_c, nl_d, & 12489 sphi_a, & 12490 sphi_b, & 12491 sphi_c, & 12492 sphi_d, & 12493 primitives, & 12494 buffer1, buffer2) 12495 #endif 12496 CASE(4) 12497 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 12498 CALL contract_gggg(work,& 12499 nl_a, nl_b, nl_c, nl_d, & 12500 sphi_a, sphi_b, sphi_c, sphi_d, & 12501 primitives,& 12502 buffer1,buffer2 ) 12503 #else 12504 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12505 work, nl_a, nl_b, nl_c, nl_d, & 12506 sphi_a, & 12507 sphi_b, & 12508 sphi_c, & 12509 sphi_d, & 12510 primitives, & 12511 buffer1, buffer2) 12512 #endif 12513 CASE DEFAULT 12514 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12515 work, nl_a, nl_b, nl_c, nl_d, & 12516 sphi_a, & 12517 sphi_b, & 12518 sphi_c, & 12519 sphi_d, & 12520 primitives, & 12521 buffer1, buffer2) 12522 END SELECT 12523 CASE DEFAULT 12524 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12525 work, nl_a, nl_b, nl_c, nl_d, & 12526 sphi_a, & 12527 sphi_b, & 12528 sphi_c, & 12529 sphi_d, & 12530 primitives, & 12531 buffer1, buffer2) 12532 END SELECT 12533 CASE DEFAULT 12534 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12535 work, nl_a, nl_b, nl_c, nl_d, & 12536 sphi_a, & 12537 sphi_b, & 12538 sphi_c, & 12539 sphi_d, & 12540 primitives, & 12541 buffer1, buffer2) 12542 END SELECT 12543 CASE DEFAULT 12544 CALL contract_generic(ncoa, ncob, ncoc, ncod, nsoa, nsob, nsoc, nsod,& 12545 work, nl_a, nl_b, nl_c, nl_d, & 12546 sphi_a, & 12547 sphi_b, & 12548 sphi_c, & 12549 sphi_d, & 12550 primitives, & 12551 buffer1, buffer2) 12552 END SELECT 12553 #else 12554 RETURN 12555 #endif 12556 END SUBROUTINE contract 12557 #if defined (__LIBINT) 12558 12559 12560 #if __MAX_CONTR > 0 || __MAX_CONTR == 0 12561 SUBROUTINE contract_ssss(work, & 12562 nl_a, nl_b, nl_c, nl_d,& 12563 sphi_a, sphi_b, sphi_c, sphi_d,& 12564 primitives,& 12565 buffer1,buffer2) 12566 12567 REAL(dp), DIMENSION(1*1*1*1), INTENT(IN) :: work 12568 INTEGER :: nl_a, nl_b, nl_c, nl_d 12569 REAL(dp), DIMENSION(1, 1*nl_a), 12570 INTENT(IN) :: sphi_a 12571 REAL(dp), DIMENSION(1, 1*nl_b), 12572 INTENT(IN) :: sphi_b 12573 REAL(dp), DIMENSION(1, 1*nl_c), 12574 INTENT(IN) :: sphi_c 12575 REAL(dp), DIMENSION(1, 1*nl_d), 12576 INTENT(IN) :: sphi_d 12577 REAL(dp), DIMENSION(1*nl_a, 1*nl_b, 1*& nl_c, 1*nl_d) :: primitives 12578 REAL(dp), DIMENSION(1*1*1*1) :: buffer1, buffer2 12579 12580 INTEGER :: i, i1, i2, i3, ia, ib, ic, 12581 id, imax, kmax, s_offset_a1, 12582 s_offset_b1, s_offset_c1, 12583 s_offset_d1 12584 12585 s_offset_a1 = 0 12586 DO ia = 1,nl_a 12587 s_offset_b1 = 0 12588 DO ib = 1,nl_b 12589 s_offset_c1 = 0 12590 DO ic = 1,nl_c 12591 s_offset_d1 = 0 12592 DO id = 1,nl_d 12593 12594 buffer1 = 0.0_dp 12595 imax=1*1*1 12596 kmax=1 12597 DO i=1,imax 12598 buffer1(i+imax*(1-1)) = buffer1(i+imax*(1-1)) + work(1+(i-1)*kmax) * sphi_a(1,1+s_offset_a1) 12599 ENDDO 12600 12601 buffer2 = 0.0_dp 12602 imax=1*1*1 12603 kmax=1 12604 DO i=1,imax 12605 buffer2(i+imax*(1-1)) = buffer2(i+imax*(1-1)) + buffer1(1+(i-1)*kmax) * sphi_b(1,1+s_offset_b1) 12606 ENDDO 12607 12608 buffer1 = 0.0_dp 12609 imax=1*1*1 12610 kmax=1 12611 DO i=1,imax 12612 buffer1(i+imax*(1-1)) = buffer1(i+imax*(1-1)) + buffer2(1+(i-1)*kmax) * sphi_c(1,1+s_offset_c1) 12613 ENDDO 12614 12615 imax=1*1*1 12616 kmax=1 12617 i = 0 12618 DO i1=1,1 12619 DO i2=1,1 12620 DO i3=1,1 12621 i = i + 1 12622 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+1) =& 12623 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+1) & 12624 + buffer1(1+(i-1)*kmax) * sphi_d(1,1+s_offset_d1) 12625 ENDDO 12626 ENDDO 12627 ENDDO 12628 s_offset_d1 = s_offset_d1 + 1 12629 END DO 12630 s_offset_c1 = s_offset_c1 + 1 12631 END DO 12632 s_offset_b1 = s_offset_b1 + 1 12633 END DO 12634 s_offset_a1 = s_offset_a1 + 1 12635 END DO 12636 END SUBROUTINE contract_ssss 12637 #endif 12638 #if __MAX_CONTR > 1 || __MAX_CONTR == 1 12639 SUBROUTINE contract_sssp(work, & 12640 nl_a, nl_b, nl_c, nl_d,& 12641 sphi_a, sphi_b, sphi_c, sphi_d,& 12642 primitives,& 12643 buffer1,buffer2) 12644 REAL(dp), DIMENSION(1*1*1*3), INTENT(IN) :: work 12645 INTEGER :: nl_a, nl_b, nl_c, nl_d 12646 REAL(dp), DIMENSION(1, 1*nl_a), 12647 INTENT(IN) :: sphi_a 12648 REAL(dp), DIMENSION(1, 1*nl_b), 12649 INTENT(IN) :: sphi_b 12650 REAL(dp), DIMENSION(1, 1*nl_c), 12651 INTENT(IN) :: sphi_c 12652 REAL(dp), DIMENSION(3, 3*nl_d), 12653 INTENT(IN) :: sphi_d 12654 REAL(dp), DIMENSION(1*nl_a, 1*nl_b, 1*& nl_c, 3*nl_d) :: primitives 12655 REAL(dp), DIMENSION(1*1*1*3) :: buffer1, buffer2 12656 12657 INTEGER :: i, i1, i2, i3, ia, ib, ic, 12658 id, imax, kmax, s_offset_a1, 12659 s_offset_b1, s_offset_c1, 12660 s_offset_d1 12661 12662 s_offset_a1 = 0 12663 DO ia = 1,nl_a 12664 s_offset_b1 = 0 12665 DO ib = 1,nl_b 12666 s_offset_c1 = 0 12667 DO ic = 1,nl_c 12668 s_offset_d1 = 0 12669 DO id = 1,nl_d 12670 12671 buffer1 = 0.0_dp 12672 imax=1*1*3 12673 kmax=1 12674 DO i=1,imax 12675 buffer1(i+imax*(1-1)) = buffer1(i+imax*(1-1)) + work(1+(i-1)*kmax) * sphi_a(1,1+s_offset_a1) 12676 ENDDO 12677 12678 buffer2 = 0.0_dp 12679 imax=1*1*3 12680 kmax=1 12681 DO i=1,imax 12682 buffer2(i+imax*(1-1)) = buffer2(i+imax*(1-1)) + buffer1(1+(i-1)*kmax) * sphi_b(1,1+s_offset_b1) 12683 ENDDO 12684 12685 buffer1 = 0.0_dp 12686 imax=1*1*3 12687 kmax=1 12688 DO i=1,imax 12689 buffer1(i+imax*(1-1)) = buffer1(i+imax*(1-1)) + buffer2(1+(i-1)*kmax) * sphi_c(1,1+s_offset_c1) 12690 ENDDO 12691 12692 imax=1*1*1 12693 kmax=3 12694 i = 0 12695 DO i1=1,1 12696 DO i2=1,1 12697 DO i3=1,1 12698 i = i + 1 12699 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+3) =& 12700 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+3) & 12701 + buffer1(1+(i-1)*kmax) * sphi_d(1,3+s_offset_d1) 12702 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+1) =& 12703 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+1) & 12704 + buffer1(2+(i-1)*kmax) * sphi_d(2,1+s_offset_d1) 12705 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+2) =& 12706 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+2) & 12707 + buffer1(3+(i-1)*kmax) * sphi_d(3,2+s_offset_d1) 12708 ENDDO 12709 ENDDO 12710 ENDDO 12711 s_offset_d1 = s_offset_d1 + 3 12712 END DO 12713 s_offset_c1 = s_offset_c1 + 1 12714 END DO 12715 s_offset_b1 = s_offset_b1 + 1 12716 END DO 12717 s_offset_a1 = s_offset_a1 + 1 12718 END DO 12719 END SUBROUTINE contract_sssp 12720 #endif 12721 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 12722 SUBROUTINE contract_sssd(work, & 12723 nl_a, nl_b, nl_c, nl_d,& 12724 sphi_a, sphi_b, sphi_c, sphi_d,& 12725 primitives,& 12726 buffer1,buffer2) 12727 REAL(dp), DIMENSION(1*1*1*6), INTENT(IN) :: work 12728 INTEGER :: nl_a, nl_b, nl_c, nl_d 12729 REAL(dp), DIMENSION(1, 1*nl_a), 12730 INTENT(IN) :: sphi_a 12731 REAL(dp), DIMENSION(1, 1*nl_b), 12732 INTENT(IN) :: sphi_b 12733 REAL(dp), DIMENSION(1, 1*nl_c), 12734 INTENT(IN) :: sphi_c 12735 REAL(dp), DIMENSION(6, 5*nl_d), 12736 INTENT(IN) :: sphi_d 12737 REAL(dp), DIMENSION(1*nl_a, 1*nl_b, 1*& nl_c, 5*nl_d) :: primitives 12738 REAL(dp), DIMENSION(1*1*1*6) :: buffer1, buffer2 12739 12740 INTEGER :: i, i1, i2, i3, ia, ib, ic, 12741 id, imax, kmax, s_offset_a1, 12742 s_offset_b1, s_offset_c1, 12743 s_offset_d1 12744 12745 s_offset_a1 = 0 12746 DO ia = 1,nl_a 12747 s_offset_b1 = 0 12748 DO ib = 1,nl_b 12749 s_offset_c1 = 0 12750 DO ic = 1,nl_c 12751 s_offset_d1 = 0 12752 DO id = 1,nl_d 12753 buffer1 = 0.0_dp 12754 imax=1*1*6 12755 kmax=1 12756 DO i=1,imax 12757 buffer1(i+imax*(1-1)) = buffer1(i+imax*(1-1)) + work(1+(i-1)*kmax) * sphi_a(1,1+s_offset_a1) 12758 ENDDO 12759 buffer2 = 0.0_dp 12760 imax=1*1*6 12761 kmax=1 12762 DO i=1,imax 12763 buffer2(i+imax*(1-1)) = buffer2(i+imax*(1-1)) + buffer1(1+(i-1)*kmax) * sphi_b(1,1+s_offset_b1) 12764 ENDDO 12765 buffer1 = 0.0_dp 12766 imax=1*1*6 12767 kmax=1 12768 DO i=1,imax 12769 buffer1(i+imax*(1-1)) = buffer1(i+imax*(1-1)) + buffer2(1+(i-1)*kmax) * sphi_c(1,1+s_offset_c1) 12770 ENDDO 12771 12772 imax=1*1*1 12773 kmax=6 12774 i = 0 12775 DO i1=1,1 12776 DO i2=1,1 12777 DO i3=1,1 12778 i = i + 1 12779 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+3)= & 12780 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+3)+ & 12781 buffer1(1+(i-1)*kmax) * sphi_d(1,3+s_offset_d1) 12782 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+5)= & 12783 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+5)+ & 12784 buffer1(1+(i-1)*kmax) * sphi_d(1,5+s_offset_d1) 12785 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+1)= & 12786 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+1)+ & 12787 buffer1(2+(i-1)*kmax) * sphi_d(2,1+s_offset_d1) 12788 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+4)= & 12789 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+4)+ & 12790 buffer1(3+(i-1)*kmax) * sphi_d(3,4+s_offset_d1) 12791 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+3)= & 12792 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+3)+ & 12793 buffer1(4+(i-1)*kmax) * sphi_d(4,3+s_offset_d1) 12794 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+5)= & 12795 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+5)+ & 12796 buffer1(4+(i-1)*kmax) * sphi_d(4,5+s_offset_d1) 12797 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+2)= & 12798 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+2)+ & 12799 buffer1(5+(i-1)*kmax) * sphi_d(5,2+s_offset_d1) 12800 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+3)= & 12801 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+3)+ & 12802 buffer1(6+(i-1)*kmax) * sphi_d(6,3+s_offset_d1) 12803 ENDDO 12804 ENDDO 12805 ENDDO 12806 s_offset_d1 = s_offset_d1 + 5 12807 END DO 12808 s_offset_c1 = s_offset_c1 + 1 12809 END DO 12810 s_offset_b1 = s_offset_b1 + 1 12811 END DO 12812 s_offset_a1 = s_offset_a1 + 1 12813 END DO 12814 END SUBROUTINE contract_sssd 12815 #endif 12816 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 12817 SUBROUTINE contract_sssf(work, & 12818 nl_a, nl_b, nl_c, nl_d,& 12819 sphi_a, sphi_b, sphi_c, sphi_d,& 12820 primitives,& 12821 buffer1,buffer2) 12822 REAL(dp), DIMENSION(1*1*1*10), 12823 INTENT(IN) :: work 12824 INTEGER :: nl_a, nl_b, nl_c, nl_d 12825 REAL(dp), DIMENSION(1, 1*nl_a), 12826 INTENT(IN) :: sphi_a 12827 REAL(dp), DIMENSION(1, 1*nl_b), 12828 INTENT(IN) :: sphi_b 12829 REAL(dp), DIMENSION(1, 1*nl_c), 12830 INTENT(IN) :: sphi_c 12831 REAL(dp), DIMENSION(10, 7*nl_d), 12832 INTENT(IN) :: sphi_d 12833 REAL(dp), DIMENSION(1*nl_a, 1*nl_b, 1*& nl_c, 7*nl_d) :: primitives 12834 REAL(dp), DIMENSION(1*1*1*10) :: buffer1, buffer2 12835 12836 INTEGER :: i, i1, i2, i3, ia, ib, ic, 12837 id, imax, kmax, s_offset_a1, 12838 s_offset_b1, s_offset_c1, 12839 s_offset_d1 12840 12841 s_offset_a1 = 0 12842 DO ia = 1,nl_a 12843 s_offset_b1 = 0 12844 DO ib = 1,nl_b 12845 s_offset_c1 = 0 12846 DO ic = 1,nl_c 12847 s_offset_d1 = 0 12848 DO id = 1,nl_d 12849 buffer1 = 0.0_dp 12850 imax=1*1*10 12851 kmax=1 12852 DO i=1,imax 12853 buffer1(i+imax*(1-1)) = buffer1(i+imax*(1-1)) + work(1+(i-1)*kmax) * sphi_a(1,1+s_offset_a1) 12854 ENDDO 12855 buffer2 = 0.0_dp 12856 imax=1*1*10 12857 kmax=1 12858 DO i=1,imax 12859 buffer2(i+imax*(1-1)) = buffer2(i+imax*(1-1)) + buffer1(1+(i-1)*kmax) * sphi_b(1,1+s_offset_b1) 12860 ENDDO 12861 buffer1 = 0.0_dp 12862 imax=1*1*10 12863 kmax=1 12864 DO i=1,imax 12865 buffer1(i+imax*(1-1)) = buffer1(i+imax*(1-1)) + buffer2(1+(i-1)*kmax) * sphi_c(1,1+s_offset_c1) 12866 ENDDO 12867 imax=1*1*1 12868 kmax=10 12869 i = 0 12870 DO i1=1,1 12871 DO i2=1,1 12872 DO i3=1,1 12873 i = i + 1 12874 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+5)= & 12875 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+5)+ & 12876 buffer1(1+(i-1)*kmax) * sphi_d(1,5 +s_offset_d1) 12877 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+7)= & 12878 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+7)+ & 12879 buffer1(1+(i-1)*kmax) * sphi_d(1,7 +s_offset_d1) 12880 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+1)= & 12881 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+1)+ & 12882 buffer1(2+(i-1)*kmax) * sphi_d(2,1 +s_offset_d1) 12883 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+3)= & 12884 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+3)+ & 12885 buffer1(2+(i-1)*kmax) * sphi_d(2,3 +s_offset_d1) 12886 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+4)= & 12887 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+4)+ & 12888 buffer1(3+(i-1)*kmax) * sphi_d(3,4 +s_offset_d1) 12889 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+6)= & 12890 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+6)+ & 12891 buffer1(3+(i-1)*kmax) * sphi_d(3,6 +s_offset_d1) 12892 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+5)= & 12893 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+5)+ & 12894 buffer1(4+(i-1)*kmax) * sphi_d(4,5 +s_offset_d1) 12895 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+7)= & 12896 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+7)+ & 12897 buffer1(4+(i-1)*kmax) * sphi_d(4,7 +s_offset_d1) 12898 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+2)= & 12899 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+2)+ & 12900 buffer1(5+(i-1)*kmax) * sphi_d(5,2 +s_offset_d1) 12901 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+5)= & 12902 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+5)+ & 12903 buffer1(6+(i-1)*kmax) * sphi_d(6,5 +s_offset_d1) 12904 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+1)= & 12905 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+1)+ & 12906 buffer1(7+(i-1)*kmax) * sphi_d(7,1 +s_offset_d1) 12907 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+3)= & 12908 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+3)+ & 12909 buffer1(7+(i-1)*kmax) * sphi_d(7,3 +s_offset_d1) 12910 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+4)= & 12911 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+4)+ & 12912 buffer1(8+(i-1)*kmax) * sphi_d(8,4 +s_offset_d1) 12913 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+6)= & 12914 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+6)+ & 12915 buffer1(8+(i-1)*kmax) * sphi_d(8,6 +s_offset_d1) 12916 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+3)= & 12917 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+3)+ & 12918 buffer1(9+(i-1)*kmax) * sphi_d(9,3 +s_offset_d1) 12919 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+4)= & 12920 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+4)+ & 12921 buffer1(10+(i-1)*kmax) * sphi_d(10,4 +s_offset_d1) 12922 ENDDO 12923 ENDDO 12924 ENDDO 12925 s_offset_d1 = s_offset_d1 + 7 12926 END DO 12927 s_offset_c1 = s_offset_c1 + 1 12928 END DO 12929 s_offset_b1 = s_offset_b1 + 1 12930 END DO 12931 s_offset_a1 = s_offset_a1 + 1 12932 END DO 12933 END SUBROUTINE contract_sssf 12934 #endif 12935 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 12936 SUBROUTINE contract_sssg(work, & 12937 nl_a, nl_b, nl_c, nl_d,& 12938 sphi_a, sphi_b, sphi_c, sphi_d,& 12939 primitives,& 12940 buffer1,buffer2) 12941 REAL(dp), DIMENSION(1*1*1*15), 12942 INTENT(IN) :: work 12943 INTEGER :: nl_a, nl_b, nl_c, nl_d 12944 REAL(dp), DIMENSION(1, 1*nl_a), 12945 INTENT(IN) :: sphi_a 12946 REAL(dp), DIMENSION(1, 1*nl_b), 12947 INTENT(IN) :: sphi_b 12948 REAL(dp), DIMENSION(1, 1*nl_c), 12949 INTENT(IN) :: sphi_c 12950 REAL(dp), DIMENSION(15, 9*nl_d), 12951 INTENT(IN) :: sphi_d 12952 REAL(dp), DIMENSION(1*nl_a, 1*nl_b, 1*& nl_c, 9*nl_d) :: primitives 12953 REAL(dp), DIMENSION(1*1*1*15) :: buffer1, buffer2 12954 12955 INTEGER :: i, i1, i2, i3, ia, ib, ic, 12956 id, imax, kmax, s_offset_a1, 12957 s_offset_b1, s_offset_c1, 12958 s_offset_d1 12959 12960 s_offset_a1 = 0 12961 DO ia = 1,nl_a 12962 s_offset_b1 = 0 12963 DO ib = 1,nl_b 12964 s_offset_c1 = 0 12965 DO ic = 1,nl_c 12966 s_offset_d1 = 0 12967 DO id = 1,nl_d 12968 buffer1 = 0.0_dp 12969 imax=1*1*15 12970 kmax=1 12971 DO i=1,imax 12972 buffer1(i+imax*(1-1)) = buffer1(i+imax*(1-1)) + work(1+(i-1)*kmax) * sphi_a(1,1+s_offset_a1) 12973 ENDDO 12974 buffer2 = 0.0_dp 12975 imax=1*1*15 12976 kmax=1 12977 DO i=1,imax 12978 buffer2(i+imax*(1-1)) = buffer2(i+imax*(1-1)) + buffer1(1+(i-1)*kmax) * sphi_b(1,1+s_offset_b1) 12979 ENDDO 12980 buffer1 = 0.0_dp 12981 imax=1*1*15 12982 kmax=1 12983 DO i=1,imax 12984 buffer1(i+imax*(1-1)) = buffer1(i+imax*(1-1)) + buffer2(1+(i-1)*kmax) * sphi_c(1,1+s_offset_c1) 12985 ENDDO 12986 imax=1*1*1 12987 kmax=15 12988 i = 0 12989 DO i1=1,1 12990 DO i2=1,1 12991 DO i3=1,1 12992 i = i + 1 12993 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+5)= & 12994 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+5)+ & 12995 buffer1(1+(i-1)*kmax) * sphi_d(1,5+s_offset_d1) 12996 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+7)= & 12997 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+7)+ & 12998 buffer1(1+(i-1)*kmax) * sphi_d(1,7+s_offset_d1) 12999 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+9)= & 13000 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+9)+ & 13001 buffer1(1+(i-1)*kmax) * sphi_d(1,9+s_offset_d1) 13002 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+1)= & 13003 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+1)+ & 13004 buffer1(2+(i-1)*kmax) * sphi_d(2,1+s_offset_d1) 13005 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+3)= & 13006 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+3)+ & 13007 buffer1(2+(i-1)*kmax) * sphi_d(2,3+s_offset_d1) 13008 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+6)= & 13009 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+6)+ & 13010 buffer1(3+(i-1)*kmax) * sphi_d(3,6+s_offset_d1) 13011 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+8)= & 13012 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+8)+ & 13013 buffer1(3+(i-1)*kmax) * sphi_d(3,8+s_offset_d1) 13014 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+5)= & 13015 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+5)+ & 13016 buffer1(4+(i-1)*kmax) * sphi_d(4,5+s_offset_d1) 13017 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+9)= & 13018 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+9)+ & 13019 buffer1(4+(i-1)*kmax) * sphi_d(4,9+s_offset_d1) 13020 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+2)= & 13021 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+2)+ & 13022 buffer1(5+(i-1)*kmax) * sphi_d(5,2+s_offset_d1) 13023 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+4)= & 13024 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+4)+ & 13025 buffer1(5+(i-1)*kmax) * sphi_d(5,4+s_offset_d1) 13026 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+5)= & 13027 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+5)+ & 13028 buffer1(6+(i-1)*kmax) * sphi_d(6,5+s_offset_d1) 13029 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+7)= & 13030 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+7)+ & 13031 buffer1(6+(i-1)*kmax) * sphi_d(6,7+s_offset_d1) 13032 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+1)= & 13033 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+1)+ & 13034 buffer1(7+(i-1)*kmax) * sphi_d(7,1+s_offset_d1) 13035 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+3)= & 13036 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+3)+ & 13037 buffer1(7+(i-1)*kmax) * sphi_d(7,3+s_offset_d1) 13038 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+6)= & 13039 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+6)+ & 13040 buffer1(8+(i-1)*kmax) * sphi_d(8,6+s_offset_d1) 13041 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+8)= & 13042 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+8)+ & 13043 buffer1(8+(i-1)*kmax) * sphi_d(8,8+s_offset_d1) 13044 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+3)= & 13045 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+3)+ & 13046 buffer1(9+(i-1)*kmax) * sphi_d(9,3+s_offset_d1) 13047 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+6)= & 13048 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+6)+ & 13049 buffer1(10+(i-1)*kmax) * sphi_d(10,6+s_offset_d1) 13050 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+5)= & 13051 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+5)+ & 13052 buffer1(11+(i-1)*kmax) * sphi_d(11,5+s_offset_d1) 13053 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+7)= & 13054 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+7)+ & 13055 buffer1(11+(i-1)*kmax) * sphi_d(11,7+s_offset_d1) 13056 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+9)= & 13057 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+9)+ & 13058 buffer1(11+(i-1)*kmax) * sphi_d(11,9+s_offset_d1) 13059 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+2)= & 13060 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+2)+ & 13061 buffer1(12+(i-1)*kmax) * sphi_d(12,2+s_offset_d1) 13062 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+4)= & 13063 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+4)+ & 13064 buffer1(12+(i-1)*kmax) * sphi_d(12,4+s_offset_d1) 13065 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+5)= & 13066 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+5)+ & 13067 buffer1(13+(i-1)*kmax) * sphi_d(13,5+s_offset_d1) 13068 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+7)= & 13069 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+7)+ & 13070 buffer1(13+(i-1)*kmax) * sphi_d(13,7+s_offset_d1) 13071 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+4)= & 13072 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+4)+ & 13073 buffer1(14+(i-1)*kmax) * sphi_d(14,4+s_offset_d1) 13074 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+5)= & 13075 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+5)+ & 13076 buffer1(15+(i-1)*kmax) * sphi_d(15,5+s_offset_d1) 13077 ENDDO 13078 ENDDO 13079 ENDDO 13080 s_offset_d1 = s_offset_d1 + 9 13081 END DO 13082 s_offset_c1 = s_offset_c1 + 1 13083 END DO 13084 s_offset_b1 = s_offset_b1 + 1 13085 END DO 13086 s_offset_a1 = s_offset_a1 + 1 13087 END DO 13088 END SUBROUTINE contract_sssg 13089 #endif 13090 #if __MAX_CONTR > 1 || __MAX_CONTR == 1 13091 SUBROUTINE contract_ssps(work, & 13092 nl_a, nl_b, nl_c, nl_d,& 13093 sphi_a, sphi_b, sphi_c, sphi_d,& 13094 primitives,& 13095 buffer1,buffer2) 13096 REAL(dp), DIMENSION(1*1*3*1), INTENT(IN) :: work 13097 INTEGER :: nl_a, nl_b, nl_c, nl_d 13098 REAL(dp), DIMENSION(1, 1*nl_a), 13099 INTENT(IN) :: sphi_a 13100 REAL(dp), DIMENSION(1, 1*nl_b), 13101 INTENT(IN) :: sphi_b 13102 REAL(dp), DIMENSION(3, 3*nl_c), 13103 INTENT(IN) :: sphi_c 13104 REAL(dp), DIMENSION(1, 1*nl_d), 13105 INTENT(IN) :: sphi_d 13106 REAL(dp), DIMENSION(1*nl_a, 1*nl_b, 3*& nl_c, 1*nl_d) :: primitives 13107 REAL(dp), DIMENSION(1*1*3*1) :: buffer1, buffer2 13108 13109 INTEGER :: i, i1, i2, i3, ia, ib, ic, 13110 id, imax, kmax, s_offset_a1, 13111 s_offset_b1, s_offset_c1, 13112 s_offset_d1 13113 13114 s_offset_a1 = 0 13115 DO ia = 1,nl_a 13116 s_offset_b1 = 0 13117 DO ib = 1,nl_b 13118 s_offset_c1 = 0 13119 DO ic = 1,nl_c 13120 s_offset_d1 = 0 13121 DO id = 1,nl_d 13122 buffer1 = 0.0_dp 13123 imax=1*3*1 13124 kmax=1 13125 DO i=1,imax 13126 buffer1(i+imax*(1-1)) = buffer1(i+imax*(1-1)) + work(1+(i-1)*kmax) * sphi_a(1,1+s_offset_a1) 13127 ENDDO 13128 buffer2 = 0.0_dp 13129 imax=1*3*1 13130 kmax=1 13131 DO i=1,imax 13132 buffer2(i+imax*(1-1)) = buffer2(i+imax*(1-1)) + buffer1(1+(i-1)*kmax) * sphi_b(1,1+s_offset_b1) 13133 ENDDO 13134 buffer1 = 0.0_dp 13135 imax=1*1*1 13136 kmax=3 13137 DO i=1,imax 13138 buffer1(i+imax*(3-1)) = buffer1(i+imax*(3-1)) + buffer2(1+(i-1)*kmax) * sphi_c(1,3+s_offset_c1) 13139 buffer1(i+imax*(1-1)) = buffer1(i+imax*(1-1)) + buffer2(2+(i-1)*kmax) * sphi_c(2,1+s_offset_c1) 13140 buffer1(i+imax*(2-1)) = buffer1(i+imax*(2-1)) + buffer2(3+(i-1)*kmax) * sphi_c(3,2+s_offset_c1) 13141 ENDDO 13142 imax=1*1*3 13143 kmax=1 13144 i = 0 13145 DO i1=1,3 13146 DO i2=1,1 13147 DO i3=1,1 13148 i = i + 1 13149 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+1) =& 13150 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+1) & 13151 + buffer1(1+(i-1)*kmax) * sphi_d(1,1+s_offset_d1) 13152 ENDDO 13153 ENDDO 13154 ENDDO 13155 s_offset_d1 = s_offset_d1 + 1 13156 END DO 13157 s_offset_c1 = s_offset_c1 + 3 13158 END DO 13159 s_offset_b1 = s_offset_b1 + 1 13160 END DO 13161 s_offset_a1 = s_offset_a1 + 1 13162 END DO 13163 END SUBROUTINE contract_ssps 13164 #endif 13165 #if __MAX_CONTR > 1 || __MAX_CONTR == 1 13166 SUBROUTINE contract_sspp(work, & 13167 nl_a, nl_b, nl_c, nl_d,& 13168 sphi_a, sphi_b, sphi_c, sphi_d,& 13169 primitives,& 13170 buffer1,buffer2) 13171 REAL(dp), DIMENSION(1*1*3*3), INTENT(IN) :: work 13172 INTEGER :: nl_a, nl_b, nl_c, nl_d 13173 REAL(dp), DIMENSION(1, 1*nl_a), 13174 INTENT(IN) :: sphi_a 13175 REAL(dp), DIMENSION(1, 1*nl_b), 13176 INTENT(IN) :: sphi_b 13177 REAL(dp), DIMENSION(3, 3*nl_c), 13178 INTENT(IN) :: sphi_c 13179 REAL(dp), DIMENSION(3, 3*nl_d), 13180 INTENT(IN) :: sphi_d 13181 REAL(dp), DIMENSION(1*nl_a, 1*nl_b, 3*& nl_c, 3*nl_d) :: primitives 13182 REAL(dp), DIMENSION(1*1*3*3) :: buffer1, buffer2 13183 13184 INTEGER :: i, i1, i2, i3, ia, ib, ic, 13185 id, imax, kmax, s_offset_a1, 13186 s_offset_b1, s_offset_c1, 13187 s_offset_d1 13188 13189 s_offset_a1 = 0 13190 DO ia = 1,nl_a 13191 s_offset_b1 = 0 13192 DO ib = 1,nl_b 13193 s_offset_c1 = 0 13194 DO ic = 1,nl_c 13195 s_offset_d1 = 0 13196 DO id = 1,nl_d 13197 buffer1 = 0.0_dp 13198 imax=1*3*3 13199 kmax=1 13200 DO i=1,imax 13201 buffer1(i+imax*(1-1)) = buffer1(i+imax*(1-1)) + work(1+(i-1)*kmax) * sphi_a(1,1+s_offset_a1) 13202 ENDDO 13203 buffer2 = 0.0_dp 13204 imax=1*3*3 13205 kmax=1 13206 DO i=1,imax 13207 buffer2(i+imax*(1-1)) = buffer2(i+imax*(1-1)) + buffer1(1+(i-1)*kmax) * sphi_b(1,1+s_offset_b1) 13208 ENDDO 13209 buffer1 = 0.0_dp 13210 imax=1*1*3 13211 kmax=3 13212 DO i=1,imax 13213 buffer1(i+imax*(3-1)) = buffer1(i+imax*(3-1)) + buffer2(1+(i-1)*kmax) * sphi_c(1,3+s_offset_c1) 13214 buffer1(i+imax*(1-1)) = buffer1(i+imax*(1-1)) + buffer2(2+(i-1)*kmax) * sphi_c(2,1+s_offset_c1) 13215 buffer1(i+imax*(2-1)) = buffer1(i+imax*(2-1)) + buffer2(3+(i-1)*kmax) * sphi_c(3,2+s_offset_c1) 13216 ENDDO 13217 imax=1*1*3 13218 kmax=3 13219 i = 0 13220 DO i1=1,3 13221 DO i2=1,1 13222 DO i3=1,1 13223 i = i + 1 13224 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+3) =& 13225 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+3) & 13226 + buffer1(1+(i-1)*kmax) * sphi_d(1,3+s_offset_d1) 13227 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+1) =& 13228 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+1) & 13229 + buffer1(2+(i-1)*kmax) * sphi_d(2,1+s_offset_d1) 13230 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+2) =& 13231 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+2) & 13232 + buffer1(3+(i-1)*kmax) * sphi_d(3,2+s_offset_d1) 13233 ENDDO 13234 ENDDO 13235 ENDDO 13236 s_offset_d1 = s_offset_d1 + 3 13237 END DO 13238 s_offset_c1 = s_offset_c1 + 3 13239 END DO 13240 s_offset_b1 = s_offset_b1 + 1 13241 END DO 13242 s_offset_a1 = s_offset_a1 + 1 13243 END DO 13244 END SUBROUTINE contract_sspp 13245 #endif 13246 #if __MAX_CONTR > 2 || __MAX_CONTR == 2 13247 SUBROUTINE contract_sspd(work, & 13248 nl_a, nl_b, nl_c, nl_d,& 13249 sphi_a, sphi_b, sphi_c, sphi_d,& 13250 primitives,& 13251 buffer1,buffer2) 13252 REAL(dp), DIMENSION(1*1*3*6), INTENT(IN) :: work 13253 INTEGER :: nl_a, nl_b, nl_c, nl_d 13254 REAL(dp), DIMENSION(1, 1*nl_a), 13255 INTENT(IN) :: sphi_a 13256 REAL(dp), DIMENSION(1, 1*nl_b), 13257 INTENT(IN) :: sphi_b 13258 REAL(dp), DIMENSION(3, 3*nl_c), 13259 INTENT(IN) :: sphi_c 13260 REAL(dp), DIMENSION(6, 5*nl_d), 13261 INTENT(IN) :: sphi_d 13262 REAL(dp), DIMENSION(1*nl_a, 1*nl_b, 3*& nl_c, 5*nl_d) :: primitives 13263 REAL(dp), DIMENSION(1*1*3*6) :: buffer1, buffer2 13264 13265 INTEGER :: i, i1, i2, i3, ia, ib, ic, 13266 id, imax, kmax, s_offset_a1, 13267 s_offset_b1, s_offset_c1, 13268 s_offset_d1 13269 13270 s_offset_a1 = 0 13271 DO ia = 1,nl_a 13272 s_offset_b1 = 0 13273 DO ib = 1,nl_b 13274 s_offset_c1 = 0 13275 DO ic = 1,nl_c 13276 s_offset_d1 = 0 13277 DO id = 1,nl_d 13278 buffer1 = 0.0_dp 13279 imax=1*3*6 13280 kmax=1 13281 DO i=1,imax 13282 buffer1(i+imax*(1-1)) = buffer1(i+imax*(1-1)) + work(1+(i-1)*kmax) * sphi_a(1,1+s_offset_a1) 13283 ENDDO 13284 buffer2 = 0.0_dp 13285 imax=1*3*6 13286 kmax=1 13287 DO i=1,imax 13288 buffer2(i+imax*(1-1)) = buffer2(i+imax*(1-1)) + buffer1(1+(i-1)*kmax) * sphi_b(1,1+s_offset_b1) 13289 ENDDO 13290 buffer1 = 0.0_dp 13291 imax=1*1*6 13292 kmax=3 13293 DO i=1,imax 13294 buffer1(i+imax*(3-1)) = buffer1(i+imax*(3-1)) + buffer2(1+(i-1)*kmax) * sphi_c(1,3+s_offset_c1) 13295 buffer1(i+imax*(1-1)) = buffer1(i+imax*(1-1)) + buffer2(2+(i-1)*kmax) * sphi_c(2,1+s_offset_c1) 13296 buffer1(i+imax*(2-1)) = buffer1(i+imax*(2-1)) + buffer2(3+(i-1)*kmax) * sphi_c(3,2+s_offset_c1) 13297 ENDDO 13298 imax=1*1*3 13299 kmax=6 13300 i = 0 13301 DO i1=1,3 13302 DO i2=1,1 13303 DO i3=1,1 13304 i = i + 1 13305 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+3)= & 13306 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+3)+ & 13307 buffer1(1+(i-1)*kmax) * sphi_d(1,3+s_offset_d1) 13308 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+5)= & 13309 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+5)+ & 13310 buffer1(1+(i-1)*kmax) * sphi_d(1,5+s_offset_d1) 13311 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+1)= & 13312 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+1)+ & 13313 buffer1(2+(i-1)*kmax) * sphi_d(2,1+s_offset_d1) 13314 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+4)= & 13315 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+4)+ & 13316 buffer1(3+(i-1)*kmax) * sphi_d(3,4+s_offset_d1) 13317 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+3)= & 13318 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+3)+ & 13319 buffer1(4+(i-1)*kmax) * sphi_d(4,3+s_offset_d1) 13320 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+5)= & 13321 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+5)+ & 13322 buffer1(4+(i-1)*kmax) * sphi_d(4,5+s_offset_d1) 13323 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+2)= & 13324 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+2)+ & 13325 buffer1(5+(i-1)*kmax) * sphi_d(5,2+s_offset_d1) 13326 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+3)= & 13327 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+3)+ & 13328 buffer1(6+(i-1)*kmax) * sphi_d(6,3+s_offset_d1) 13329 ENDDO 13330 ENDDO 13331 ENDDO 13332 s_offset_d1 = s_offset_d1 + 5 13333 END DO 13334 s_offset_c1 = s_offset_c1 + 3 13335 END DO 13336 s_offset_b1 = s_offset_b1 + 1 13337 END DO 13338 s_offset_a1 = s_offset_a1 + 1 13339 END DO 13340 END SUBROUTINE contract_sspd 13341 #endif 13342 #if __MAX_CONTR > 3 || __MAX_CONTR == 3 13343 SUBROUTINE contract_sspf(work, & 13344 nl_a, nl_b, nl_c, nl_d,& 13345 sphi_a, sphi_b, sphi_c, sphi_d,& 13346 primitives,& 13347 buffer1,buffer2) 13348 REAL(dp), DIMENSION(1*1*3*10), 13349 INTENT(IN) :: work 13350 INTEGER :: nl_a, nl_b, nl_c, nl_d 13351 REAL(dp), DIMENSION(1, 1*nl_a), 13352 INTENT(IN) :: sphi_a 13353 REAL(dp), DIMENSION(1, 1*nl_b), 13354 INTENT(IN) :: sphi_b 13355 REAL(dp), DIMENSION(3, 3*nl_c), 13356 INTENT(IN) :: sphi_c 13357 REAL(dp), DIMENSION(10, 7*nl_d), 13358 INTENT(IN) :: sphi_d 13359 REAL(dp), DIMENSION(1*nl_a, 1*nl_b, 3*& nl_c, 7*nl_d) :: primitives 13360 REAL(dp), DIMENSION(1*1*3*10) :: buffer1, buffer2 13361 13362 INTEGER :: i, i1, i2, i3, ia, ib, ic, 13363 id, imax, kmax, s_offset_a1, 13364 s_offset_b1, s_offset_c1, 13365 s_offset_d1 13366 13367 s_offset_a1 = 0 13368 DO ia = 1,nl_a 13369 s_offset_b1 = 0 13370 DO ib = 1,nl_b 13371 s_offset_c1 = 0 13372 DO ic = 1,nl_c 13373 s_offset_d1 = 0 13374 DO id = 1,nl_d 13375 buffer1 = 0.0_dp 13376 imax=1*3*10 13377 kmax=1 13378 DO i=1,imax 13379 buffer1(i+imax*(1-1)) = buffer1(i+imax*(1-1)) + work(1+(i-1)*kmax) * sphi_a(1,1+s_offset_a1) 13380 ENDDO 13381 buffer2 = 0.0_dp 13382 imax=1*3*10 13383 kmax=1 13384 DO i=1,imax 13385 buffer2(i+imax*(1-1)) = buffer2(i+imax*(1-1)) + buffer1(1+(i-1)*kmax) * sphi_b(1,1+s_offset_b1) 13386 ENDDO 13387 buffer1 = 0.0_dp 13388 imax=1*1*10 13389 kmax=3 13390 DO i=1,imax 13391 buffer1(i+imax*(3-1)) = buffer1(i+imax*(3-1)) + buffer2(1+(i-1)*kmax) * sphi_c(1,3+s_offset_c1) 13392 buffer1(i+imax*(1-1)) = buffer1(i+imax*(1-1)) + buffer2(2+(i-1)*kmax) * sphi_c(2,1+s_offset_c1) 13393 buffer1(i+imax*(2-1)) = buffer1(i+imax*(2-1)) + buffer2(3+(i-1)*kmax) * sphi_c(3,2+s_offset_c1) 13394 ENDDO 13395 imax=1*1*3 13396 kmax=10 13397 i = 0 13398 DO i1=1,3 13399 DO i2=1,1 13400 DO i3=1,1 13401 i = i + 1 13402 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+5)= & 13403 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+5)+ & 13404 buffer1(1+(i-1)*kmax) * sphi_d(1,5 +s_offset_d1) 13405 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+7)= & 13406 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+7)+ & 13407 buffer1(1+(i-1)*kmax) * sphi_d(1,7 +s_offset_d1) 13408 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+1)= & 13409 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+1)+ & 13410 buffer1(2+(i-1)*kmax) * sphi_d(2,1 +s_offset_d1) 13411 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+3)= & 13412 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+3)+ & 13413 buffer1(2+(i-1)*kmax) * sphi_d(2,3 +s_offset_d1) 13414 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+4)= & 13415 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+4)+ & 13416 buffer1(3+(i-1)*kmax) * sphi_d(3,4 +s_offset_d1) 13417 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+6)= & 13418 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+6)+ & 13419 buffer1(3+(i-1)*kmax) * sphi_d(3,6 +s_offset_d1) 13420 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+5)= & 13421 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+5)+ & 13422 buffer1(4+(i-1)*kmax) * sphi_d(4,5 +s_offset_d1) 13423 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+7)= & 13424 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+7)+ & 13425 buffer1(4+(i-1)*kmax) * sphi_d(4,7 +s_offset_d1) 13426 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+2)= & 13427 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+2)+ & 13428 buffer1(5+(i-1)*kmax) * sphi_d(5,2 +s_offset_d1) 13429 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+5)= & 13430 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+5)+ & 13431 buffer1(6+(i-1)*kmax) * sphi_d(6,5 +s_offset_d1) 13432 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+1)= & 13433 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+1)+ & 13434 buffer1(7+(i-1)*kmax) * sphi_d(7,1 +s_offset_d1) 13435 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+3)= & 13436 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+3)+ & 13437 buffer1(7+(i-1)*kmax) * sphi_d(7,3 +s_offset_d1) 13438 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+4)= & 13439 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+4)+ & 13440 buffer1(8+(i-1)*kmax) * sphi_d(8,4 +s_offset_d1) 13441 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+6)= & 13442 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+6)+ & 13443 buffer1(8+(i-1)*kmax) * sphi_d(8,6 +s_offset_d1) 13444 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+3)= & 13445 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+3)+ & 13446 buffer1(9+(i-1)*kmax) * sphi_d(9,3 +s_offset_d1) 13447 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+4)= & 13448 primitives(s_offset_a1+i3, s_offset_b1+i2, s_offset_c1+i1, s_offset_d1+4)+ & 13449 buffer1(10+(i-1)*kmax) * sphi_d(10,4 +s_offset_d1) 13450 ENDDO 13451 ENDDO 13452 ENDDO 13453 s_offset_d1 = s_offset_d1 + 7 13454 END DO 13455 s_offset_c1 = s_offset_c1 + 3 13456 END DO 13457 s_offset_b1 = s_offset_b1 + 1 13458 END DO 13459 s_offset_a1 = s_offset_a1 + 1 13460 END DO 13461 END SUBROUTINE contract_sspf 13462 #endif 13463 #if __MAX_CONTR > 4 || __MAX_CONTR == 4 13464 SUBROUTINE contract_sspg(work, & 13465 nl_a, nl_b, nl_c, nl_d,& 13466 sphi_a, sphi_b, sphi_c, sphi_d,& 13467 primitives,& 13468 buffer1,buffer2) 13469 REAL(dp), DIMENSION(1*1*3*15), 13470 INTENT(IN) :: work 13471 INTEGER :: nl_a, nl_b, nl_c, nl_d 13472 REAL(dp), DIMENSION(1, 1*nl_a), 13473 INTENT(IN) :: sphi_a 13474 REAL(dp), DIMENSION(1, 1*nl_b), 13475 INTENT(IN) :: sphi_b 13476 REAL(dp), DIMENSION(3, 3*nl_c), 13477 INTENT(IN) :: sphi_c 13478 REAL(dp), DIMENSION(15, 9*nl_d), 13479 INTENT(IN) :: sphi_d 13480 REAL(dp), DIMENSION(1*nl_a, 1*nl_b, 3*& nl_c, 9*nl_d) :: primitives 13481 REAL(dp), DIMENSION(1*1*3*15) :: buffer1, buffer2 13482 13483 INTEGER :: i, i1, i2, i3, ia, ib, ic, 13484 id, imax, kmax, s_offset_a1, 13485 s_offset_b1, s_offset_c1, 13486 s_offset_d1 13487 13488 s_offset_a1 = 0 13489 DO ia = 1,nl_a 13490 s_offset_b1 = 0 13491 DO ib = 1,nl_b 13492 s_offset_c1 = 0 13493 DO ic = 1,nl_c 13494 s_offset_d1 = 0 13495 DO id = 1,nl_d 13496