|
|
1.1 ! root 1: C***********************************************************************00010375 ! 2: C DATE***82/08/02*18.33.46 ! 3: C OWNER PRE/850703/TC-85- -410/ /FSTC/278FCVS*F78UBP20/ ! 4: C AUDIT FCVS78 V2.0 ! 5: C***** FORTRAN 77 00020375 ! 6: C***** FM375 00030375 ! 7: C***** XASIN - (193) 00040375 ! 8: C***** 00050375 ! 9: C***********************************************************************00060375 ! 10: C***** GENERAL PURPOSE SUBSET REF 00070375 ! 11: C***** TEST INTRINSIC FUNCTION ASIN, ACOS 15.3 00080375 ! 12: C***** TABLE 5 00090375 ! 13: C***** 00100375 ! 14: CBB** ********************** BBCCOMNT **********************************00110375 ! 15: C**** 00120375 ! 16: C**** 1978 FORTRAN COMPILER VALIDATION SYSTEM 00130375 ! 17: C**** VERSION 2.0 00140375 ! 18: C**** 00150375 ! 19: C**** 00160375 ! 20: C**** SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00170375 ! 21: C**** GENERAL SERVICES ADMINISTRATION 00180375 ! 22: C**** FEDERAL SOFTWARE TESTING CENTER 00190375 ! 23: C**** 5203 LEESBURG PIKE, SUITE 1100 00200375 ! 24: C**** FALLS CHURCH, VA. 22041 00210375 ! 25: C**** 00220375 ! 26: C**** (703) 756-6153 00230375 ! 27: C**** 00240375 ! 28: CBE** ********************** BBCCOMNT **********************************00250375 ! 29: CBB** ********************** BBCINITA **********************************00260375 ! 30: C**** SPECIFICATION STATEMENTS 00270375 ! 31: C**** 00280375 ! 32: CHARACTER ZVERS*13, ZVERSD*17, ZDATE*17, ZPROG*5, ZCOMPL*20, 00290375 ! 33: 1 ZNAME*20, ZTAPE*10, ZPROJ*13, REMRKS*31, ZTAPED*13 00300375 ! 34: CBE** ********************** BBCINITA **********************************00310375 ! 35: CBB** ********************** BBCINITB **********************************00320375 ! 36: C**** INITIALIZE SECTION 00330375 ! 37: DATA ZVERS, ZVERSD, ZDATE 00340375 ! 38: 1 /'VERSION 2.0 ', '82/08/02*18.33.46', '*NO DATE*TIME'/ 00350375 ! 39: DATA ZCOMPL, ZNAME, ZTAPE 00360375 ! 40: 1 /'*NONE SPECIFIED*', '*NO COMPANY NAME*', '*NO TAPE*'/ 00370375 ! 41: DATA ZPROJ, ZTAPED, ZPROG 00380375 ! 42: 1 /'*NO PROJECT*', '*NO TAPE DATE', 'XXXXX'/ 00390375 ! 43: DATA REMRKS /' '/ 00400375 ! 44: C**** THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED 00410375 ! 45: C**** FOR IDENTIFYING THE TEST ENVIRONMENT 00420375 ! 46: C**** 00430375 ! 47: CZ01 ZVERS = 'VERSION OF THE COMPILER VALIDATION SYSTEM' 00440375 ! 48: CZ02 ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM' 00450375 ! 49: CZ03 ZPROG = 'PROGRAM NAME' 00460375 ! 50: ZDATE = '07-Nov-85 ' *RP ! 51: ZCOMPL = 'CCI 5.2 ' *RP ! 52: ZPROJ = 'TC-85- -410' *RP ! 53: ZNAME = ' ' *RP ! 54: ZTAPE = ' ' *RP ! 55: ZTAPED = '850703 ' *RP ! 56: C 00530375 ! 57: IVPASS = 0 00540375 ! 58: IVFAIL = 0 00550375 ! 59: IVDELE = 0 00560375 ! 60: IVINSP = 0 00570375 ! 61: IVTOTL = 0 00580375 ! 62: IVTOTN = 0 00590375 ! 63: ICZERO = 0 00600375 ! 64: C 00610375 ! 65: C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00620375 ! 66: I01 = 05 00630375 ! 67: C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00640375 ! 68: I02 = 06 00650375 ! 69: C 00660375 ! 70: I01 = 5 00670375 ! 71: C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00680375 ! 72: CX011 REPLACED BY FEXEC X-011 CONTROL CARD. CX011 IS FOR SYSTEMS 00690375 ! 73: C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX010. 00700375 ! 74: C 00710375 ! 75: I02 = 6 00720375 ! 76: C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02= 6 00730375 ! 77: CX021 REPLACED BY FEXEC X-021 CONTROL CARD. CX021 IS FOR SYSTEMS 00740375 ! 78: C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX020. 00750375 ! 79: C 00760375 ! 80: CBE** ********************** BBCINITB **********************************00770375 ! 81: NUVI = I02 00780375 ! 82: IVTOTL = 12 00790375 ! 83: ZPROG = 'FM375' 00800375 ! 84: CBB** ********************** BBCHED0A **********************************00810375 ! 85: C**** 00820375 ! 86: C**** WRITE REPORT TITLE 00830375 ! 87: C**** 00840375 ! 88: WRITE (I02, 90002) 00850375 ! 89: WRITE (I02, 90006) 00860375 ! 90: WRITE (I02, 90007) 00870375 ! 91: WRITE (I02, 90008) ZVERS, ZVERSD 00880375 ! 92: WRITE (I02, 90009) ZPROG, ZPROG 00890375 ! 93: WRITE (I02, 90010) ZDATE, ZCOMPL 00900375 ! 94: CBE** ********************** BBCHED0A **********************************00910375 ! 95: C***** 00920375 ! 96: C***** HEADER FOR SEGMENT 193 00930375 ! 97: WRITE(NUVI,19300) 00940375 ! 98: 19300 FORMAT(1H , / 35H XASIN - (193) INTRINSIC FUNCTIONS// 00950375 ! 99: 1 34H ASIN, ACOS (ARCSIN, ARCCOSINE) // 00960375 ! 100: 2 20H SUBSET REF. - 15.3) 00970375 ! 101: CBB** ********************** BBCHED0B **********************************00980375 ! 102: C**** WRITE DETAIL REPORT HEADERS 00990375 ! 103: C**** 01000375 ! 104: WRITE (I02,90004) 01010375 ! 105: WRITE (I02,90004) 01020375 ! 106: WRITE (I02,90013) 01030375 ! 107: WRITE (I02,90014) 01040375 ! 108: WRITE (I02,90015) IVTOTL 01050375 ! 109: CBE** ********************** BBCHED0B **********************************01060375 ! 110: C***** 01070375 ! 111: WRITE(NUVI,19301) 01080375 ! 112: 19301 FORMAT(1H0,8X,12HTEST OF ASIN) 01090375 ! 113: C***** 01100375 ! 114: CT001* TEST 1 -1 TO CHECK PRINCIPAL VALUE AT ENDPOINTS 01110375 ! 115: IVTNUM = 1 01120375 ! 116: BVS = -1.0 01130375 ! 117: AVS = ASIN(BVS) 01140375 ! 118: IF (AVS + 0.15709E+01) 20010, 10010, 40010 01150375 ! 119: 40010 IF (AVS + 0.15707E+01) 10010, 10010, 20010 01160375 ! 120: 10010 IVPASS = IVPASS + 1 01170375 ! 121: WRITE (NUVI, 80002) IVTNUM 01180375 ! 122: GO TO 0011 01190375 ! 123: 20010 IVFAIL = IVFAIL + 1 01200375 ! 124: RVCORR = -1.57079632679490 01210375 ! 125: WRITE (NUVI, 80012) IVTNUM, AVS, RVCORR 01220375 ! 126: 0011 CONTINUE 01230375 ! 127: CT002* TEST 2 +1 TO CHECK PRINCIPAL VALUE AT ENDPOINTS 01240375 ! 128: IVTNUM = 2 01250375 ! 129: AVS = ASIN(1.0) 01260375 ! 130: IF (AVS - 0.15707E+01) 20020, 10020, 40020 01270375 ! 131: 40020 IF (AVS - 0.15709E+01) 10020, 10020, 20020 01280375 ! 132: 10020 IVPASS = IVPASS + 1 01290375 ! 133: WRITE (NUVI, 80002) IVTNUM 01300375 ! 134: GO TO 0021 01310375 ! 135: 20020 IVFAIL = IVFAIL + 1 01320375 ! 136: RVCORR = 1.57079632679490 01330375 ! 137: WRITE (NUVI, 80012) IVTNUM, AVS, RVCORR 01340375 ! 138: 0021 CONTINUE 01350375 ! 139: CT003* TEST 3 THE VALUE -SQRT(0.5) 01360375 ! 140: IVTNUM = 3 01370375 ! 141: BVS = -SQRT(2.0) / 2.0 01380375 ! 142: AVS = ASIN(BVS) 01390375 ! 143: IF (AVS + 0.78544E+00) 20030, 10030, 40030 01400375 ! 144: 40030 IF (AVS + 0.78535E+00) 10030, 10030, 20030 01410375 ! 145: 10030 IVPASS = IVPASS + 1 01420375 ! 146: WRITE (NUVI, 80002) IVTNUM 01430375 ! 147: GO TO 0031 01440375 ! 148: 20030 IVFAIL = IVFAIL + 1 01450375 ! 149: RVCORR = -0.78539816339745 01460375 ! 150: WRITE (NUVI, 80012) IVTNUM, AVS, RVCORR 01470375 ! 151: 0031 CONTINUE 01480375 ! 152: CT004* TEST 4 THE VALUE 0.5 01490375 ! 153: IVTNUM = 4 01500375 ! 154: AVS = ASIN(1.0 / 2.0) 01510375 ! 155: IF (AVS - 0.52357E+00) 20040, 10040, 40040 01520375 ! 156: 40040 IF (AVS - 0.52363E+00) 10040, 10040, 20040 01530375 ! 157: 10040 IVPASS = IVPASS + 1 01540375 ! 158: WRITE (NUVI, 80002) IVTNUM 01550375 ! 159: GO TO 0041 01560375 ! 160: 20040 IVFAIL = IVFAIL + 1 01570375 ! 161: RVCORR = 0.52359877559830 01580375 ! 162: WRITE (NUVI, 80012) IVTNUM, AVS, RVCORR 01590375 ! 163: 0041 CONTINUE 01600375 ! 164: CT005* TEST 5 AN ARGUMENT OF LOW MAGNITUDE 01610375 ! 165: IVTNUM = 5 01620375 ! 166: AVS = ASIN(-1.0E-33) 01630375 ! 167: IF (AVS + 0.10001E-32) 20050, 10050, 40050 01640375 ! 168: 40050 IF (AVS + 0.99995E-33) 10050, 10050, 20050 01650375 ! 169: 10050 IVPASS = IVPASS + 1 01660375 ! 170: WRITE (NUVI, 80002) IVTNUM 01670375 ! 171: GO TO 0051 01680375 ! 172: 20050 IVFAIL = IVFAIL + 1 01690375 ! 173: RVCORR = -1.00000000000000E-33 01700375 ! 174: WRITE (NUVI, 80012) IVTNUM, AVS, RVCORR 01710375 ! 175: 0051 CONTINUE 01720375 ! 176: C***** 01730375 ! 177: WRITE(NUVI,19307) 01740375 ! 178: 19307 FORMAT(1H0,8X,12HTEST OF ACOS) 01750375 ! 179: C***** 01760375 ! 180: CT006* TEST 6 -1 TO TEST PRINCIPAL VALUE AT ENDPOINTS 01770375 ! 181: IVTNUM = 6 01780375 ! 182: BVS = -1.0 01790375 ! 183: AVS = ACOS(BVS) 01800375 ! 184: IF (AVS - 0.31414E+01) 20060, 10060, 40060 01810375 ! 185: 40060 IF (AVS - 0.31418E+01) 10060, 10060, 20060 01820375 ! 186: 10060 IVPASS = IVPASS + 1 01830375 ! 187: WRITE (NUVI, 80002) IVTNUM 01840375 ! 188: GO TO 0061 01850375 ! 189: 20060 IVFAIL = IVFAIL + 1 01860375 ! 190: RVCORR = 3.14159265358980 01870375 ! 191: WRITE (NUVI, 80012) IVTNUM, AVS, RVCORR 01880375 ! 192: 0061 CONTINUE 01890375 ! 193: CT007* TEST 7 01900375 ! 194: IVTNUM = 7 01910375 ! 195: AVS = ACOS(1.0) 01920375 ! 196: IF (AVS + 0.50000E-04) 20070, 10070, 40070 01930375 ! 197: 40070 IF (AVS - 0.50000E-04) 10070, 10070, 20070 01940375 ! 198: 10070 IVPASS = IVPASS + 1 01950375 ! 199: WRITE (NUVI, 80002) IVTNUM 01960375 ! 200: GO TO 0071 01970375 ! 201: 20070 IVFAIL = IVFAIL + 1 01980375 ! 202: RVCORR = 0.00000000000000 01990375 ! 203: WRITE (NUVI, 80012) IVTNUM, AVS, RVCORR 02000375 ! 204: 0071 CONTINUE 02010375 ! 205: CT008* TEST 8 02020375 ! 206: IVTNUM = 8 02030375 ! 207: BVS = -SQRT(2.0) / 2.0 02040375 ! 208: AVS = ACOS(BVS) 02050375 ! 209: IF (AVS - 0.23560E+01) 20080, 10080, 40080 02060375 ! 210: 40080 IF (AVS - 0.23564E+01) 10080, 10080, 20080 02070375 ! 211: 10080 IVPASS = IVPASS + 1 02080375 ! 212: WRITE (NUVI, 80002) IVTNUM 02090375 ! 213: GO TO 0081 02100375 ! 214: 20080 IVFAIL = IVFAIL + 1 02110375 ! 215: RVCORR = 2.35619449019234 02120375 ! 216: WRITE (NUVI, 80012) IVTNUM, AVS, RVCORR 02130375 ! 217: 0081 CONTINUE 02140375 ! 218: CT009* TEST 9 02150375 ! 219: IVTNUM = 9 02160375 ! 220: AVS = ACOS(1.0 / 2.0) 02170375 ! 221: IF (AVS - 0.10471E+01) 20090, 10090, 40090 02180375 ! 222: 40090 IF (AVS - 0.10473E+01) 10090, 10090, 20090 02190375 ! 223: 10090 IVPASS = IVPASS + 1 02200375 ! 224: WRITE (NUVI, 80002) IVTNUM 02210375 ! 225: GO TO 0091 02220375 ! 226: 20090 IVFAIL = IVFAIL + 1 02230375 ! 227: RVCORR = 1.04719755119660 02240375 ! 228: WRITE (NUVI, 80012) IVTNUM, AVS, RVCORR 02250375 ! 229: 0091 CONTINUE 02260375 ! 230: CT010* TEST 10 AN ARGUMENT OF LOW MAGNITUDE 02270375 ! 231: IVTNUM = 10 02280375 ! 232: AVS = ACOS(-1.0E-33) 02290375 ! 233: IF (AVS - 0.15707E+01) 20100, 10100, 40100 02300375 ! 234: 40100 IF (AVS - 0.15709E+01) 10100, 10100, 20100 02310375 ! 235: 10100 IVPASS = IVPASS + 1 02320375 ! 236: WRITE (NUVI, 80002) IVTNUM 02330375 ! 237: GO TO 0101 02340375 ! 238: 20100 IVFAIL = IVFAIL + 1 02350375 ! 239: RVCORR = 1.57079632679490 02360375 ! 240: WRITE (NUVI, 80012) IVTNUM, AVS, RVCORR 02370375 ! 241: 0101 CONTINUE 02380375 ! 242: CT011* TEST 11 COMPARISON OF ASIN AND ACOS TO TEST RELATIONSHIP 02390375 ! 243: IVTNUM = 11 02400375 ! 244: BVS = ASIN(SQRT(3.0) / 3.0) 02410375 ! 245: CVS = ACOS(SQRT(3.0) / 3.0) 02420375 ! 246: AVS = (BVS + CVS) * 2.0 02430375 ! 247: IF (AVS - 0.31414E+01) 20110, 10110, 40110 02440375 ! 248: 40110 IF (AVS - 0.31418E+01) 10110, 10110, 20110 02450375 ! 249: 10110 IVPASS = IVPASS + 1 02460375 ! 250: WRITE (NUVI, 80002) IVTNUM 02470375 ! 251: GO TO 0111 02480375 ! 252: 20110 IVFAIL = IVFAIL + 1 02490375 ! 253: RVCORR = 3.14159265358979 02500375 ! 254: WRITE (NUVI, 80012) IVTNUM, AVS, RVCORR 02510375 ! 255: 0111 CONTINUE 02520375 ! 256: CT012* TEST 12 COMPARISON OF ASIN AND ACOS TO TEST RELATIONSHIP 02530375 ! 257: IVTNUM = 12 02540375 ! 258: AVS = (ASIN(+0.25) + ACOS(+0.25)) * 2.0 02550375 ! 259: IF (AVS - 0.31414E+01) 20120, 10120, 40120 02560375 ! 260: 40120 IF (AVS - 0.31418E+01) 10120, 10120, 20120 02570375 ! 261: 10120 IVPASS = IVPASS + 1 02580375 ! 262: WRITE (NUVI, 80002) IVTNUM 02590375 ! 263: GO TO 0121 02600375 ! 264: 20120 IVFAIL = IVFAIL + 1 02610375 ! 265: RVCORR = 3.14159265358979 02620375 ! 266: WRITE (NUVI, 80012) IVTNUM, AVS, RVCORR 02630375 ! 267: 0121 CONTINUE 02640375 ! 268: C***** 02650375 ! 269: CBB** ********************** BBCSUM0 **********************************02660375 ! 270: C**** WRITE OUT TEST SUMMARY 02670375 ! 271: C**** 02680375 ! 272: IVTOTN = IVPASS + IVFAIL + IVDELE + IVINSP 02690375 ! 273: WRITE (I02, 90004) 02700375 ! 274: WRITE (I02, 90014) 02710375 ! 275: WRITE (I02, 90004) 02720375 ! 276: WRITE (I02, 90020) IVPASS 02730375 ! 277: WRITE (I02, 90022) IVFAIL 02740375 ! 278: WRITE (I02, 90024) IVDELE 02750375 ! 279: WRITE (I02, 90026) IVINSP 02760375 ! 280: WRITE (I02, 90028) IVTOTN, IVTOTL 02770375 ! 281: CBE** ********************** BBCSUM0 **********************************02780375 ! 282: CBB** ********************** BBCFOOT0 **********************************02790375 ! 283: C**** WRITE OUT REPORT FOOTINGS 02800375 ! 284: C**** 02810375 ! 285: WRITE (I02,90016) ZPROG, ZPROG 02820375 ! 286: WRITE (I02,90018) ZPROJ, ZNAME, ZTAPE, ZTAPED 02830375 ! 287: WRITE (I02,90019) 02840375 ! 288: CBE** ********************** BBCFOOT0 **********************************02850375 ! 289: CBB** ********************** BBCFMT0A **********************************02860375 ! 290: C**** FORMATS FOR TEST DETAIL LINES 02870375 ! 291: C**** 02880375 ! 292: 80000 FORMAT (1H ,2X,I3,4X,7HDELETED,32X,A31) 02890375 ! 293: 80002 FORMAT (1H ,2X,I3,4X,7H PASS ,32X,A31) 02900375 ! 294: 80004 FORMAT (1H ,2X,I3,4X,7HINSPECT,32X,A31) 02910375 ! 295: 80008 FORMAT (1H ,2X,I3,4X,7H FAIL ,32X,A31) 02920375 ! 296: 80010 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,15X,10HCOMPUTED= , 02930375 ! 297: 1I6,/,1H ,15X,10HCORRECT= ,I6) 02940375 ! 298: 80012 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 02950375 ! 299: 1E12.5,/,1H ,16X,10HCORRECT= ,E12.5) 02960375 ! 300: 80018 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 02970375 ! 301: 1A21,/,1H ,16X,10HCORRECT= ,A21) 02980375 ! 302: 80020 FORMAT (1H ,16X,10HCOMPUTED= ,A21,1X,A31) 02990375 ! 303: 80022 FORMAT (1H ,16X,10HCORRECT= ,A21,1X,A31) 03000375 ! 304: 80024 FORMAT (1H ,16X,10HCOMPUTED= ,I6,16X,A31) 03010375 ! 305: 80026 FORMAT (1H ,16X,10HCORRECT= ,I6,16X,A31) 03020375 ! 306: 80028 FORMAT (1H ,16X,10HCOMPUTED= ,E12.5,10X,A31) 03030375 ! 307: 80030 FORMAT (1H ,16X,10HCORRECT= ,E12.5,10X,A31) 03040375 ! 308: 80050 FORMAT (1H ,48X,A31) 03050375 ! 309: CBE** ********************** BBCFMT0A **********************************03060375 ! 310: CBB** ********************** BBCFMT0B **********************************03070375 ! 311: C**** FORMAT STATEMENTS FOR PAGE HEADERS 03080375 ! 312: C**** 03090375 ! 313: 90002 FORMAT (1H1) 03100375 ! 314: 90004 FORMAT (1H ) 03110375 ! 315: 90006 FORMAT (1H ,20X,31HFEDERAL SOFTWARE TESTING CENTER) 03120375 ! 316: 90007 FORMAT (1H ,19X,34HFORTRAN COMPILER VALIDATION SYSTEM) 03130375 ! 317: 90008 FORMAT (1H ,21X,A13,A17) 03140375 ! 318: 90009 FORMAT (1H ,/,2H *,A5,6HBEGIN*,12X,15HTEST RESULTS - ,A5,/) 03150375 ! 319: 90010 FORMAT (1H ,8X,16HTEST DATE*TIME= ,A17,15H - COMPILER= ,A20) 03160375 ! 320: 90013 FORMAT (1H ,8H TEST ,10HPASS/FAIL ,6X,17HDISPLAYED RESULTS, 03170375 ! 321: 1 7X,7HREMARKS,24X) 03180375 ! 322: 90014 FORMAT (1H ,46H----------------------------------------------, 03190375 ! 323: 1 33H---------------------------------) 03200375 ! 324: 90015 FORMAT (1H ,48X,17HTHIS PROGRAM HAS ,I3,6H TESTS,/) 03210375 ! 325: C**** 03220375 ! 326: C**** FORMAT STATEMENTS FOR REPORT FOOTINGS 03230375 ! 327: C**** 03240375 ! 328: 90016 FORMAT (1H ,/,2H *,A5,4HEND*,14X,14HEND OF TEST - ,A5,/) 03250375 ! 329: 90018 FORMAT (1H ,A13,13X,A20,7H * ,A10,1H/, 03260375 ! 330: 1 A13) 03270375 ! 331: 90019 FORMAT (1H ,26HFOR OFFICIAL USE ONLY ,35X,15HCOPYRIGHT 1982) 03280375 ! 332: C**** 03290375 ! 333: C**** FORMAT STATEMENTS FOR RUN SUMMARY 03300375 ! 334: C**** 03310375 ! 335: 90020 FORMAT (1H ,21X,I5,13H TESTS PASSED) 03320375 ! 336: 90022 FORMAT (1H ,21X,I5,13H TESTS FAILED) 03330375 ! 337: 90024 FORMAT (1H ,21X,I5,14H TESTS DELETED) 03340375 ! 338: 90026 FORMAT (1H ,21X,I5,25H TESTS REQUIRE INSPECTION) 03350375 ! 339: 90028 FORMAT (1H ,21X,I5,4H OF ,I3,15H TESTS EXECUTED) 03360375 ! 340: CBE** ********************** BBCFMT0B **********************************03370375 ! 341: C***** 03380375 ! 342: C***** END OF TEST SEGMENT 193 03390375 ! 343: STOP 03400375 ! 344: END 03410375
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.