Annotation of cci/usr/src/usr.bin/f77/testf77/tests/FM351.f, revision 1.1.1.1

1.1       root        1:       PROGRAM FM351                                                     00010351
                      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                                                                       00020351
                      6: C                                                                       00030351
                      7: C          THIS PROGRAM CONTAINS TESTS FOR COMPOUND ARITHMETIC          00040351
                      8: C     EXPRESSIONS WHICH NECESSITATE THE APPLICATION OF THE RULES        00050351
                      9: C     FOR ARITHMETIC OPERATOR PRECEDENCE.  THESE TESTS INCLUDE ONES     00060351
                     10: C     WHICH EXERCIZE THE                                                00070351
                     11: C                                                                       00080351
                     12: C     (1)  USE OF ALL ARITHMETIC OPERATOR TYPES IN THE SAME STATEMENT.  00090351
                     13: C     (2)  USE OF PARENTHESES TO OVERRIDE DEFAULT PRECEDENCES.          00100351
                     14: C     (3)  USE OF ALL CLASSES OF PRIMARY OPERANDS.                      00110351
                     15: C     (4)  USE OF NESTED FUNCTION REFERENCES.                           00120351
                     16: C     (5)  USE OF MIXED DATA TYPES.                                     00130351
                     17: C                                                                       00140351
                     18: C     REFERENCES -                                                      00150351
                     19: C                                                                       00160351
                     20: C     AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN, X3.9-197700170351
                     21: C                                                                       00180351
                     22: C          SECTION 6.1  ARITHMETIC EXPRESSIONS                          00190351
                     23: C          SECTION 6.5  PRECEDENCE OF OPERATORS                         00200351
                     24: C          SECTION 6.6  EVALUATION OF EXPRESSIONS                       00210351
                     25: C                                                                       00220351
                     26: C                                                                       00230351
                     27: C     ******************************************************************00240351
                     28: C         A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE         00250351
                     29: C     BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN STANDARD FORTRAN   00260351
                     30: C     X3.9-1978, HAS BEEN DEVELOPED BY THE DEPARTMENT OF THE NAVY.  THE 00270351
                     31: C     FORTRAN COMPILER VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT       00280351
                     32: C     ROUTINES, THEIR RELATED DATA, AND AN EXECUTIVE SYSTEM.  EACH AUDIT00290351
                     33: C     ROUTINE IS A FORTRAN PROGRAM OR SUBPROGRAM WHICH INCLUDES TESTS   00300351
                     34: C     OF SPECIFIC LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING00310351
                     35: C     THE RESULT OF EXECUTING THESE TESTS.                              00320351
                     36: C                                                                       00330351
                     37: C     THIS PARTICULAR PROGRAM OR SUBPROGRAM CONTAINS ONLY FEATURES      00340351
                     38: C     FOUND IN THE SUBSET LEVEL OF THE STANDARD.                        00350351
                     39: C                                                                       00360351
                     40: C           SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO             00370351
                     41: C                    DEPARTMENT OF THE NAVY                             00380351
                     42: C                    FEDERAL COBOL COMPILER TESTING SERVICE             00390351
                     43: C                    WASHINGTON, D.C.   20376                           00400351
                     44: C                                                                       00410351
                     45: C     ******************************************************************00420351
                     46: C                                                                       00430351
                     47: C                                                                       00440351
                     48:       IMPLICIT LOGICAL (L)                                              00450351
                     49:       IMPLICIT CHARACTER*14 (C)                                         00460351
                     50: C                                                                       00470351
                     51:       DIMENSION IADN11(5), RADN11(5)                                    00480351
                     52:       IFOS01(IDON01,IDON02,IDON03) = IDON01 ** IDON02 ** IDON03         00490351
                     53:       IFOS02(IDON04,IDON05) = IADN11(IDON04) / IADN11(IDON05)           00500351
                     54:       IFOS04(IDON09,IDON10) = IADN11(IDON09) + IABS(IDON10)             00510351
                     55:       IFOS03(IDON06,IDON07,IDON08) = IFOS04(IDON06,IDON07) * IDON08     00520351
                     56:       RFOS01(RDON01,RDON02,RDON03) = RDON01 ** RDON02 ** RDON03         00530351
                     57:       RFOS02(IDON11,IDON12) = RADN11(IDON11) / RADN11(IDON12)           00540351
                     58:       RFOS04(IDON13,RDON10) = RADN11(IDON13) + ABS(RDON10)              00550351
                     59:       RFOS03(RDON06,RDON07,RDON08) = RFOS04(INT(RDON06),RDON07) * RDON0800560351
                     60:       IFOS05(IDON14,IDON16) = RADN11(IDON14) + IABS(IDON16)             00570351
                     61:       RFOS06(RDON17,IDON18,RDON19) = IFOS05(INT(RDON17),IDON18) * RDON1900580351
                     62: C                                                                       00590351
                     63: C                                                                       00600351
                     64: C                                                                       00610351
                     65: C     INITIALIZATION SECTION.                                           00620351
                     66: C                                                                       00630351
                     67: C     INITIALIZE CONSTANTS                                              00640351
                     68: C     ********************                                              00650351
                     69: C     I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER          00660351
                     70:       I01 = 5                                                           00670351
                     71: C     I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER              00680351
                     72:       I02 = 6                                                           00690351
                     73: C     SYSTEM ENVIRONMENT SECTION                                        00700351
                     74: C                                                                       00710351
                     75:       I01 = 5                                                           00720351
                     76: C     THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5      00730351
                     77: C     (UNIT NUMBER FOR CARD READER).                                    00740351
                     78: CX011      THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD00750351
                     79: C     THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            00760351
                     80: C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE.         00770351
                     81: C                                                                       00780351
                     82:       I02 = 6                                                           00790351
                     83: C     THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6      00800351
                     84: C     (UNIT NUMBER FOR PRINTER).                                        00810351
                     85: CX021     THIS CARD IS PEPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD.00820351
                     86: C     THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            00830351
                     87: C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE.         00840351
                     88: C                                                                       00850351
                     89:       IVPASS = 0                                                        00860351
                     90:       IVFAIL = 0                                                        00870351
                     91:       IVDELE = 0                                                        00880351
                     92:       ICZERO = 0                                                        00890351
                     93: C                                                                       00900351
                     94: C     WRITE OUT PAGE HEADERS                                            00910351
                     95: C                                                                       00920351
                     96:       WRITE (I02,90002)                                                 00930351
                     97:       WRITE (I02,90006)                                                 00940351
                     98:       WRITE (I02,90008)                                                 00950351
                     99:       WRITE (I02,90004)                                                 00960351
                    100:       WRITE (I02,90010)                                                 00970351
                    101:       WRITE (I02,90004)                                                 00980351
                    102:       WRITE (I02,90016)                                                 00990351
                    103:       WRITE (I02,90001)                                                 01000351
                    104:       WRITE (I02,90004)                                                 01010351
                    105:       WRITE (I02,90012)                                                 01020351
                    106:       WRITE (I02,90014)                                                 01030351
                    107:       WRITE (I02,90004)                                                 01040351
                    108: C                                                                       01050351
                    109: C                                                                       01060351
                    110: C          TESTS 1 THROUGH 10 DEAL ENTIRELY WITH INTEGER EXPRESSIONS.   01070351
                    111: C                                                                       01080351
                    112: C                                                                       01090351
                    113: C     ****  FCVS PROGRAM 351  -  TEST 001  ****                         01100351
                    114: C                                                                       01110351
                    115: C     TEST 1 CHECKS AN INTEGER EXPRESSION WHERE ALL FIVE ARITHMETIC     01120351
                    116: C     OPERATORS ARE USED AND ALL OPERAND PRIMARIES ARE SIMPLE INTEGER   01130351
                    117: C     VARIABLES.  NO PARENTHESES ARE USED TO UPSET DEFAULT PRECEDENCES. 01140351
                    118: C                                                                       01150351
                    119:       IVTNUM =   1                                                      01160351
                    120:       IF (ICZERO) 30010, 0010, 30010                                    01170351
                    121:  0010 CONTINUE                                                          01180351
                    122:       IVON01 = 7                                                        01190351
                    123:       IVON02 = 3                                                        01200351
                    124:       IVON03 = 573                                                      01210351
                    125:       IVON04 = 23                                                       01220351
                    126:       IVON05 = 3                                                        01230351
                    127:       IVON06 = -7                                                       01240351
                    128:       IVCOMP = IVON01 ** IVON02 + IVON03 - IVON04 * IVON05 / IVON06     01250351
                    129:       IVCORR = 925                                                      01260351
                    130: 40010 IF (IVCOMP - 925) 20010, 10010, 20010                             01270351
                    131: 30010 IVDELE = IVDELE + 1                                               01280351
                    132:       WRITE (I02,80000) IVTNUM                                          01290351
                    133:       IF (ICZERO) 10010, 0021, 20010                                    01300351
                    134: 10010 IVPASS = IVPASS + 1                                               01310351
                    135:       WRITE (I02,80002) IVTNUM                                          01320351
                    136:       GO TO 0021                                                        01330351
                    137: 20010 IVFAIL = IVFAIL + 1                                               01340351
                    138:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          01350351
                    139:  0021 CONTINUE                                                          01360351
                    140: C                                                                       01370351
                    141: C     ****  FCVS PROGRAM 351  -  TEST 002  ****                         01380351
                    142: C                                                                       01390351
                    143: C          TEST 2, LIKE TEST 1, CHECKS AN INTEGER EXPRESSION WHERE ALL  01400351
                    144: C     FIVE ARITHMETIC OPERATORS ARE USED AND ALL OPERANDS ARE SIMPLE    01410351
                    145: C     INTEGER VARIABLES; BUT IN THIS TEST, PARENTHESES ARE USED, AS IS  01420351
                    146: C     A UNARY OPERATOR.                                                 01430351
                    147: C                                                                       01440351
                    148:       IVTNUM =   2                                                      01450351
                    149:       IF (ICZERO) 30020, 0020, 30020                                    01460351
                    150:  0020 CONTINUE                                                          01470351
                    151:       IVON01 = 7                                                        01480351
                    152:       IVON02 = 3                                                        01490351
                    153:       IVON03 = 5                                                        01500351
                    154:       IVON04 = -3                                                       01510351
                    155:       IVON05 = 3                                                        01520351
                    156:       IVCOMP = -(IVON01 / IVON02) + (IVON03 * IVON04 ** IVON05)         01530351
                    157:       IVCORR = -137                                                     01540351
                    158: 40020 IF (IVCOMP + 137) 20020, 10020, 20020                             01550351
                    159: 30020 IVDELE = IVDELE + 1                                               01560351
                    160:       WRITE (I02,80000) IVTNUM                                          01570351
                    161:       IF (ICZERO) 10020, 0031, 20020                                    01580351
                    162: 10020 IVPASS = IVPASS + 1                                               01590351
                    163:       WRITE (I02,80002) IVTNUM                                          01600351
                    164:       GO TO 0031                                                        01610351
                    165: 20020 IVFAIL = IVFAIL + 1                                               01620351
                    166:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          01630351
                    167:  0031 CONTINUE                                                          01640351
                    168: C                                                                       01650351
                    169: C     ****  FCVS PROGRAM 351  -  TEST 003  ****                         01660351
                    170: C                                                                       01670351
                    171: C          TEST 3 IS SIMILAR TO TEST 2 EXCEPT THAT IT EMPLOYS NESTED    01680351
                    172: C     PARENTHESES.                                                      01690351
                    173: C                                                                       01700351
                    174:       IVTNUM =   3                                                      01710351
                    175:       IF (ICZERO) 30030, 0030, 30030                                    01720351
                    176:  0030 CONTINUE                                                          01730351
                    177:       IVON01 = 5                                                        01740351
                    178:       IVON02 = 3                                                        01750351
                    179:       IVON03 = 5                                                        01760351
                    180:       IVON04 = 17                                                       01770351
                    181:       IVON05 = 14                                                       01780351
                    182:       IVON06 = 3                                                        01790351
                    183:       IVCOMP = IVON01 ** (-(IVON02 + (IVON03 - IVON04)) - (IVON05 /     01800351
                    184:      1         IVON06))                                                 01810351
                    185:       IVCORR = 3125                                                     01820351
                    186: 40030 IF (IVCOMP - 3125) 20030, 10030, 20030                            01830351
                    187: 30030 IVDELE = IVDELE + 1                                               01840351
                    188:       WRITE (I02,80000) IVTNUM                                          01850351
                    189:       IF (ICZERO) 10030, 0041, 20030                                    01860351
                    190: 10030 IVPASS = IVPASS + 1                                               01870351
                    191:       WRITE (I02,80002) IVTNUM                                          01880351
                    192:       GO TO 0041                                                        01890351
                    193: 20030 IVFAIL = IVFAIL + 1                                               01900351
                    194:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          01910351
                    195:  0041 CONTINUE                                                          01920351
                    196: C                                                                       01930351
                    197: C     ****  FCVS PROGRAM 351  -  TEST 004  ****                         01940351
                    198: C                                                                       01950351
                    199: C          TEST 4 IS SIMILAR TO TEST 2 AND 3 EXCEPT THAT THE            01960351
                    200: C     PARENTHESES USED ARE EFFECTIVELY EXTRANEOUS.                      01970351
                    201: C                                                                       01980351
                    202:       IVTNUM =   4                                                      01990351
                    203:       IF (ICZERO) 30040, 0040, 30040                                    02000351
                    204:  0040 CONTINUE                                                          02010351
                    205:       IVON01 = 3                                                        02020351
                    206:       IVON02 = 4                                                        02030351
                    207:       IVON03 = 5                                                        02040351
                    208:       IVON04 = 2                                                        02050351
                    209:       IVON05 = 3                                                        02060351
                    210:       IVON06 = 4                                                        02070351
                    211:       IVCOMP = ((IVON01) ** (IVON02) + (IVON03) - (IVON04) *            02080351
                    212:      1         (IVON05) / (IVON06))                                     02090351
                    213:       IVCORR = 85                                                       02100351
                    214: 40040 IF (IVCOMP - 85) 20040, 10040, 20040                              02110351
                    215: 30040 IVDELE = IVDELE + 1                                               02120351
                    216:       WRITE (I02,80000) IVTNUM                                          02130351
                    217:       IF (ICZERO) 10040, 0051, 20040                                    02140351
                    218: 10040 IVPASS = IVPASS + 1                                               02150351
                    219:       WRITE (I02,80002) IVTNUM                                          02160351
                    220:       GO TO 0051                                                        02170351
                    221: 20040 IVFAIL = IVFAIL + 1                                               02180351
                    222:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          02190351
                    223:  0051 CONTINUE                                                          02200351
                    224: C                                                                       02210351
                    225: C     ****  FCVS PROGRAM 351  -  TEST 005  ****                         02220351
                    226: C                                                                       02230351
                    227: C          TEST 5 CONTINUES THE TESTING OF EXPRESSIONS USING ONLY       02240351
                    228: C     INTEGER VARIABLE OPERANDS CONNECTED BY ARITHMETIC OPERATORS,      02250351
                    229: C     AND USING PARENTHESES TO OVERRIDE PRECEDENCES.                    02260351
                    230: C                                                                       02270351
                    231:       IVTNUM =   5                                                      02280351
                    232:       IF (ICZERO) 30050, 0050, 30050                                    02290351
                    233:  0050 CONTINUE                                                          02300351
                    234:       IVON01 = 57                                                       02310351
                    235:       IVON02 = -3                                                       02320351
                    236:       IVON03 = 4                                                        02330351
                    237:       IVON04 = -1                                                       02340351
                    238:       IVON05 = -5                                                       02350351
                    239:       IVON06 = -2                                                       02360351
                    240:       IVCOMP = -IVON01 ** (IVON02 + IVON03 - IVON04) *                  02370351
                    241:      1         (IVON05 / IVON06)                                        02380351
                    242:       IVCORR = -6498                                                    02390351
                    243: 40050 IF (IVCOMP + 6498) 20050, 10050, 20050                            02400351
                    244: 30050 IVDELE = IVDELE + 1                                               02410351
                    245:       WRITE (I02,80000) IVTNUM                                          02420351
                    246:       IF (ICZERO) 10050, 0061, 20050                                    02430351
                    247: 10050 IVPASS = IVPASS + 1                                               02440351
                    248:       WRITE (I02,80002) IVTNUM                                          02450351
                    249:       GO TO 0061                                                        02460351
                    250: 20050 IVFAIL = IVFAIL + 1                                               02470351
                    251:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          02480351
                    252:  0061 CONTINUE                                                          02490351
                    253: C                                                                       02500351
                    254: C     ****  FCVS PROGRAM 351  -  TEST 006  ****                         02510351
                    255: C                                                                       02520351
                    256: C          TEST 6 CONTINUES THE TESTING OF EXPRESSIONS USING ONLY       02530351
                    257: C     INTEGER VARIABLE OPERANDS CONNECTED BY ARITHMETIC OPERATORS,      02540351
                    258: C     AND USING PARENTHESES TO OVERRIDE PRECEDENCES.                    02550351
                    259: C                                                                       02560351
                    260:       IVTNUM =   6                                                      02570351
                    261:       IF (ICZERO) 30060, 0060, 30060                                    02580351
                    262:  0060 CONTINUE                                                          02590351
                    263:       IVON01 = 5                                                        02600351
                    264:       IVON02 = 3                                                        02610351
                    265:       IVON03 = 4                                                        02620351
                    266:       IVON04 = 5496                                                     02630351
                    267:       IVON05 = 7                                                        02640351
                    268:       IVON06 = -3                                                       02650351
                    269:       IVCOMP = ((IVON01 * (IVON02 / IVON03)) + IVON04) / IVON05 -       02660351
                    270:      1         (-IVON06)                                                02670351
                    271:       IVCORR = 782                                                      02680351
                    272: 40060 IF (IVCOMP - 782) 20060, 10060, 20060                             02690351
                    273: 30060 IVDELE = IVDELE + 1                                               02700351
                    274:       WRITE (I02,80000) IVTNUM                                          02710351
                    275:       IF (ICZERO) 10060, 0071, 20060                                    02720351
                    276: 10060 IVPASS = IVPASS + 1                                               02730351
                    277:       WRITE (I02,80002) IVTNUM                                          02740351
                    278:       GO TO 0071                                                        02750351
                    279: 20060 IVFAIL = IVFAIL + 1                                               02760351
                    280:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          02770351
                    281:  0071 CONTINUE                                                          02780351
                    282: C                                                                       02790351
                    283: C     ****  FCVS PROGRAM 351  -  TEST 007  ****                         02800351
                    284: C                                                                       02810351
                    285: C          IN TEST 7, AN INTEGER EXPRESSION INVOLVING ALL FIVE          02820351
                    286: C     ARITHMETIC OPERATORS TOGETHER WITH PARENTHESES IS EVALUATED,      02830351
                    287: C     BUT UNLIKE TESTS 1 THROUGH 6 WHERE ALL OPERANDS WERE INTEGER      02840351
                    288: C     VARIABLES, THE OPERANDS IN TEST 7 ARE CLASSED AS INTEGER          02850351
                    289: C     VARIABLES, INTEGER CONSTANTS, INTEGER ARRAY ELEMENTS, AND INTEGER 02860351
                    290: C     FUNCTION REFERENCES.                                              02870351
                    291: C                                                                       02880351
                    292:       IVTNUM =   7                                                      02890351
                    293:       IF (ICZERO) 30070, 0070, 30070                                    02900351
                    294:  0070 CONTINUE                                                          02910351
                    295:       IVON01 = 573                                                      02920351
                    296:       IVON02 = 1                                                        02930351
                    297:       IVON03 = 3                                                        02940351
                    298:       IVON04 = 2                                                        02950351
                    299:       IVON05 = 3                                                        02960351
                    300:       IADN11(3) = 3071                                                  02970351
                    301:       IVCOMP = (IVON01 + 1) - (5 + IADN11(IVON03)) /                    02980351
                    302:      1         (IFOS01(IVON03,IVON04,IVON05) ** IVON02)                 02990351
                    303:       IVCORR = 574                                                      03000351
                    304: 40070 IF (IVCOMP - 574) 20070, 10070, 20070                             03010351
                    305: 30070 IVDELE = IVDELE + 1                                               03020351
                    306:       WRITE (I02,80000) IVTNUM                                          03030351
                    307:       IF (ICZERO) 10070, 0081, 20070                                    03040351
                    308: 10070 IVPASS = IVPASS + 1                                               03050351
                    309:       WRITE (I02,80002) IVTNUM                                          03060351
                    310:       GO TO 0081                                                        03070351
                    311: 20070 IVFAIL = IVFAIL + 1                                               03080351
                    312:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          03090351
                    313:  0081 CONTINUE                                                          03100351
                    314: C                                                                       03110351
                    315: C     ****  FCVS PROGRAM 351  -  TEST 008  ****                         03120351
                    316: C                                                                       03130351
                    317: C          TEST 8 IS IDENTICAL TO TEST 7 EXCEPT THAT PARENTHESES ARE    03140351
                    318: C     USED TO CHANGE THE ORDER OF SUB-EXPRESSION EVALUATION.            03150351
                    319: C                                                                       03160351
                    320:       IVTNUM =   8                                                      03170351
                    321:       IF (ICZERO) 30080, 0080, 30080                                    03180351
                    322:  0080 CONTINUE                                                          03190351
                    323:       IVON01 = 573                                                      03200351
                    324:       IVON02 = 1                                                        03210351
                    325:       IVON03 = 3                                                        03220351
                    326:       IVON04 = 2                                                        03230351
                    327:       IVON05 = 3                                                        03240351
                    328:       IADN11(3) = 3071                                                  03250351
                    329:       IVCOMP = ((IVON01 + 1) - (5 + IADN11(IVON03))) /                  03260351
                    330:      1         IFOS01(IVON03,IVON04,IVON05) ** IVON02                   03270351
                    331:       IVCORR = 0                                                        03280351
                    332: 40080 IF (IVCOMP) 20080, 10080, 20080                                   03290351
                    333: 30080 IVDELE = IVDELE + 1                                               03300351
                    334:       WRITE (I02,80000) IVTNUM                                          03310351
                    335:       IF (ICZERO) 10080, 0091, 20080                                    03320351
                    336: 10080 IVPASS = IVPASS + 1                                               03330351
                    337:       WRITE (I02,80002) IVTNUM                                          03340351
                    338:       GO TO 0091                                                        03350351
                    339: 20080 IVFAIL = IVFAIL + 1                                               03360351
                    340:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          03370351
                    341:  0091 CONTINUE                                                          03380351
                    342: C                                                                       03390351
                    343: C     ****  FCVS PROGRAM 351  -  TEST 009  ****                         03400351
                    344: C                                                                       03410351
                    345: C          TEST 9 IS SIMILAR TO TESTS 7 AND 8 EXCEPT THAT THE           03420351
                    346: C     FUNCTION REFERENCE IN TURN EVALUATES ARRAY ELEMENTS.              03430351
                    347: C                                                                       03440351
                    348:       IVTNUM =   9                                                      03450351
                    349:       IF (ICZERO) 30090, 0090, 30090                                    03460351
                    350:  0090 CONTINUE                                                          03470351
                    351:       IVON01 = 7                                                        03480351
                    352:       IVON02 = 3                                                        03490351
                    353:       IVON03 = 2                                                        03500351
                    354:       IVON04 = 1                                                        03510351
                    355:       IVON05 = 4                                                        03520351
                    356:       IADN11(1) = 5                                                     03530351
                    357:       IADN11(2) = 2                                                     03540351
                    358:       IADN11(4) = 2                                                     03550351
                    359:       IVCOMP = (IVON01 - 8 * IFOS02(IVON04,IVON03)) / IADN11(IVON05) +  03560351
                    360:      1         13 ** IVON02                                             03570351
                    361:       IVCORR = 2193                                                     03580351
                    362: 40090 IF (IVCOMP - 2193) 20090, 10090, 20090                            03590351
                    363: 30090 IVDELE = IVDELE + 1                                               03600351
                    364:       WRITE (I02,80000) IVTNUM                                          03610351
                    365:       IF (ICZERO) 10090, 0101, 20090                                    03620351
                    366: 10090 IVPASS = IVPASS + 1                                               03630351
                    367:       WRITE (I02,80002) IVTNUM                                          03640351
                    368:       GO TO 0101                                                        03650351
                    369: 20090 IVFAIL = IVFAIL + 1                                               03660351
                    370:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          03670351
                    371:  0101 CONTINUE                                                          03680351
                    372: C                                                                       03690351
                    373: C     ****  FCVS PROGRAM 351  -  TEST 010  ****                         03700351
                    374: C                                                                       03710351
                    375: C          TEST 10 EVALUATES AN INTEGER EXPRESSION WHICH CONTAINS       03720351
                    376: C     FUNCTION REFERENCES NESTED TO THREE LEVELS.  THE OUTER TWO        03730351
                    377: C     LEVELS ARE STATEMENT FUNCTION REFERENCES AND THE INNERMOST LEVEL  03740351
                    378: C     IS AN INTRINSIC FUNCTION REFERENCE.                               03750351
                    379: C                                                                       03760351
                    380:       IVTNUM =  10                                                      03770351
                    381:       IF (ICZERO) 30100, 0100, 30100                                    03780351
                    382:  0100 CONTINUE                                                          03790351
                    383:       IVON01 = -51                                                      03800351
                    384:       IVON02 = 4                                                        03810351
                    385:       IVON03 = -101                                                     03820351
                    386:       IVON04 = 13                                                       03830351
                    387:       IVON05 = 3                                                        03840351
                    388:       IVON06 = 5                                                        03850351
                    389:       IVON07 = -37                                                      03860351
                    390:       IADN11(4) = 87                                                    03870351
                    391:       IADN11(5) = 409                                                   03880351
                    392:       IVCOMP = (IVON01 + IFOS03(IVON02,IVON03,IVON04)) * IVON05 -       03890351
                    393:      1         IFOS04(IVON06,IVON07)                                    03900351
                    394:       IVCORR = 6733                                                     03910351
                    395: 40100 IF (IVCOMP - 6733) 20100, 10100, 20100                            03920351
                    396: 30100 IVDELE = IVDELE + 1                                               03930351
                    397:       WRITE (I02,80000) IVTNUM                                          03940351
                    398:       IF (ICZERO) 10100, 0111, 20100                                    03950351
                    399: 10100 IVPASS = IVPASS + 1                                               03960351
                    400:       WRITE (I02,80002) IVTNUM                                          03970351
                    401:       GO TO 0111                                                        03980351
                    402: 20100 IVFAIL = IVFAIL + 1                                               03990351
                    403:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          04000351
                    404:  0111 CONTINUE                                                          04010351
                    405: C                                                                       04020351
                    406: C          TESTS 11 THROUGH 20 REPEAT TESTS 1 THROUGH 10 EXCEPT THAT    04030351
                    407: C     TESTS 11 THROUGH 20 DEAL ENTIRELY WITH REAL ARITHMETIC            04040351
                    408: C     EXPRESSIONS.                                                      04050351
                    409: C                                                                       04060351
                    410: C                                                                       04070351
                    411: C     ****  FCVS PROGRAM 351  -  TEST 011  ****                         04080351
                    412: C                                                                       04090351
                    413: C          TEST 11 TESTS A REAL EXPRESSION WHERE ALL FIVE ARITHMETIC    04100351
                    414: C     OPERATORS ARE USED AND ALL OPERAND PRIMARIES ARE SIMPLE REAL      04110351
                    415: C     VARIABLES.                                                        04120351
                    416: C                                                                       04130351
                    417:       IVTNUM =  11                                                      04140351
                    418:       IF (ICZERO) 30110, 0110, 30110                                    04150351
                    419:  0110 CONTINUE                                                          04160351
                    420:       RVON01 = 3.2                                                      04170351
                    421:       RVON02 = 23.051                                                   04180351
                    422:       RVON03 = 1545 E7                                                  04190351
                    423:       RVON04 = -23.457                                                  04200351
                    424:       RVON05 = .02 E3                                                   04210351
                    425:       RVON06 = 7.210745323 E-10                                         04220351
                    426:       RVCOMP = RVON01 ** RVON02 + RVON03 - RVON04 * RVON05 / RVON06     04230351
                    427:       RVCORR = 1.10683 E12                                              04240351
                    428: 40110 IF (RVCOMP - 1.1063 E12)  20110, 10110, 40111                     04250351
                    429: 40111 IF (RVCOMP - 1.1073 E12)  10110, 10110, 20110                     04260351
                    430: 30110 IVDELE = IVDELE + 1                                               04270351
                    431:       WRITE (I02,80000) IVTNUM                                          04280351
                    432:       IF (ICZERO) 10110, 0121, 20110                                    04290351
                    433: 10110 IVPASS = IVPASS + 1                                               04300351
                    434:       WRITE (I02,80002) IVTNUM                                          04310351
                    435:       GO TO 0121                                                        04320351
                    436: 20110 IVFAIL = IVFAIL + 1                                               04330351
                    437:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          04340351
                    438:  0121 CONTINUE                                                          04350351
                    439: C                                                                       04360351
                    440: C     ****  FCVS PROGRAM 351  -  TEST 012  ****                         04370351
                    441: C                                                                       04380351
                    442: C          TEST 12, LIKE TEST 11, CHECKS A REAL EXPRESSION WHERE ALL    04390351
                    443: C     FIVE ARITHMETIC OPERATORS ARE USED AND ALL OPERANDS ARE REAL      04400351
                    444: C     VARIABLES, BUT IN TEST 12, PARENTHESES ARE USED, AS IS ALSO A     04410351
                    445: C     UNARY OPERATOR.                                                   04420351
                    446: C                                                                       04430351
                    447:       IVTNUM =  12                                                      04440351
                    448:       IF (ICZERO) 30120, 0120, 30120                                    04450351
                    449:  0120 CONTINUE                                                          04460351
                    450:       RVON01 = 3.2                                                      04470351
                    451:       RVON02 = 23.051                                                   04480351
                    452:       RVON03 = 1545 E-3                                                 04490351
                    453:       RVON04 = 5.75 E-1                                                 04500351
                    454:       RVON05 = 2.22 E+1                                                 04510351
                    455:       RVCOMP = -(RVON01 / RVON02) + (RVON03 * RVON04 ** RVON05)         04520351
                    456:       RVCORR = -.13882                                                  04530351
                    457: 40120 IF (RVCOMP + .13887) 20120, 10120, 40121                          04540351
                    458: 40121 IF (RVCOMP + .13877) 10120, 10120, 20120                          04550351
                    459: 30120 IVDELE = IVDELE + 1                                               04560351
                    460:       WRITE (I02,80000) IVTNUM                                          04570351
                    461:       IF (ICZERO) 10120, 0131, 20120                                    04580351
                    462: 10120 IVPASS = IVPASS + 1                                               04590351
                    463:       WRITE (I02,80002) IVTNUM                                          04600351
                    464:       GO TO 0131                                                        04610351
                    465: 20120 IVFAIL = IVFAIL + 1                                               04620351
                    466:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          04630351
                    467:  0131 CONTINUE                                                          04640351
                    468: C                                                                       04650351
                    469: C     ****  FCVS PROGRAM 351  -  TEST 013  ****                         04660351
                    470: C                                                                       04670351
                    471: C          TEST 13 IS SIMILAR TO TEST 12 EXCEPT THAT TEST 13 EMPLOYS    04680351
                    472: C     NESTED PARENTHESES.                                               04690351
                    473: C                                                                       04700351
                    474:       IVTNUM =  13                                                      04710351
                    475:       IF (ICZERO) 30130, 0130, 30130                                    04720351
                    476:  0130 CONTINUE                                                          04730351
                    477:       RVON01 = 3.2                                                      04740351
                    478:       RVON02 = -63.051                                                  04750351
                    479:       RVON03 = 1545 E-3                                                 04760351
                    480:       RVON04 = 5.75 E-1                                                 04770351
                    481:       RVON05 = 2.22 E1                                                  04780351
                    482:       RVON06 = 0.523                                                    04790351
                    483:       RVCOMP = RVON01 ** (-(RVON02 + (RVON03 - RVON04)) -               04800351
                    484:      1         (RVON05 / RVON06))                                       04810351
                    485:       RVCORR = 8.27757 E9                                               04820351
                    486: 40130 IF (RVCOMP - 8.2770 E9) 20130, 10130, 40131                       04830351
                    487: 40131 IF (RVCOMP - 8.2780 E9) 10130, 10130, 20130                       04840351
                    488: 30130 IVDELE = IVDELE + 1                                               04850351
                    489:       WRITE (I02,80000) IVTNUM                                          04860351
                    490:       IF (ICZERO) 10130, 0141, 20130                                    04870351
                    491: 10130 IVPASS = IVPASS + 1                                               04880351
                    492:       WRITE (I02,80002) IVTNUM                                          04890351
                    493:       GO TO 0141                                                        04900351
                    494: 20130 IVFAIL = IVFAIL + 1                                               04910351
                    495:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          04920351
                    496:  0141 CONTINUE                                                          04930351
                    497: C                                                                       04940351
                    498: C     ****  FCVS PROGRAM 351  -  TEST 014  ****                         04950351
                    499: C                                                                       04960351
                    500: C          TEST 14 IS SIMILAR TO TESTS 12 AND 13 EXCEPT THAT THE        04970351
                    501: C     PARENTHESES USED ARE EFFECTIVELY EXTRANEOUS.                      04980351
                    502: C                                                                       04990351
                    503:       IVTNUM =  14                                                      05000351
                    504:       IF (ICZERO) 30140, 0140, 30140                                    05010351
                    505:  0140 CONTINUE                                                          05020351
                    506:       RVON01 = 5.4515 E18                                               05030351
                    507:       RVON02 = .076923                                                  05040351
                    508:       RVON03 = 23 E-2                                                   05050351
                    509:       RVON04 = 7 E7                                                     05060351
                    510:       RVON05 = 45.23 E5                                                 05070351
                    511:       RVON06 = 5.65375 E12                                              05080351
                    512:       RVCOMP = ((RVON01) ** (RVON02) + (RVON03) - (RVON04) * (RVON05) / 05090351
                    513:      1         (RVON06))                                                05100351
                    514:       RVCORR = -28.147                                                  05110351
                    515: 40140 IF (RVCOMP + 28.152) 20140, 10140, 40141                          05120351
                    516: 40141 IF (RVCOMP + 28.142) 10140, 10140, 20140                          05130351
                    517: 30140 IVDELE = IVDELE + 1                                               05140351
                    518:       WRITE (I02,80000) IVTNUM                                          05150351
                    519:       IF (ICZERO) 10140, 0151, 20140                                    05160351
                    520: 10140 IVPASS = IVPASS + 1                                               05170351
                    521:       WRITE (I02,80002) IVTNUM                                          05180351
                    522:       GO TO 0151                                                        05190351
                    523: 20140 IVFAIL = IVFAIL + 1                                               05200351
                    524:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          05210351
                    525:  0151 CONTINUE                                                          05220351
                    526: C                                                                       05230351
                    527: C     ****  FCVS PROGRAM 351  -  TEST 015  ****                         05240351
                    528: C                                                                       05250351
                    529: C          TEST 15 CONTINUES THE TESTING OF EXPRESSIONS USING ONLY      05260351
                    530: C     REAL VARIABLE OPERANDS CONNECTED BY ARITHMETIC OPERATORS, AND     05270351
                    531: C     USING PARENTHESES TO OVERRIDE PRECEDENCES.                        05280351
                    532: C                                                                       05290351
                    533:       IVTNUM =  15                                                      05300351
                    534:       IF (ICZERO) 30150, 0150, 30150                                    05310351
                    535:  0150 CONTINUE                                                          05320351
                    536:       RVON01 = .11341 E1                                                05330351
                    537:       RVON02 = 7.1417                                                   05340351
                    538:       RVON03 = 5.2113 E1                                                05350351
                    539:       RVON04 = 10.001                                                   05360351
                    540:       RVON05 = 7.241 E5                                                 05370351
                    541:       RVON06 = 5.7777 E-3                                               05380351
                    542:       RVCOMP = -RVON01 ** (RVON02 + RVON03 - RVON04) * (RVON05 / RVON06)05390351
                    543:       RVCORR = -6.1635 E10                                              05400351
                    544: 40150 IF (RVCOMP + 6.1640 E10) 20150, 10150, 40151                      05410351
                    545: 40151 IF (RVCOMP + 6.1630 E10) 10150, 10150, 20150                      05420351
                    546: 30150 IVDELE = IVDELE + 1                                               05430351
                    547:       WRITE (I02,80000) IVTNUM                                          05440351
                    548:       IF (ICZERO) 10150, 0161, 20150                                    05450351
                    549: 10150 IVPASS = IVPASS + 1                                               05460351
                    550:       WRITE (I02,80002) IVTNUM                                          05470351
                    551:       GO TO 0161                                                        05480351
                    552: 20150 IVFAIL = IVFAIL + 1                                               05490351
                    553:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          05500351
                    554:  0161 CONTINUE                                                          05510351
                    555: C                                                                       05520351
                    556: C     ****  FCVS PROGRAM 351  -  TEST 016  ****                         05530351
                    557: C                                                                       05540351
                    558: C          TEST 16 CONTINUES THE TESTING OF EXPRESSIONS USING ONLY      05550351
                    559: C     REAL VARIABLE OPERANDS CONNECTED BY ARITHMETIC OPERATORS, AND     05560351
                    560: C     USING PARENTHESES TO OVERRIDE PRECEDENCES.                        05570351
                    561: C                                                                       05580351
                    562:       IVTNUM =  16                                                      05590351
                    563:       IF (ICZERO) 30160, 0160, 30160                                    05600351
                    564:  0160 CONTINUE                                                          05610351
                    565:       RVON01 = 6.4003 E18                                               05620351
                    566:       RVON02 = -3.7717 E-2                                              05630351
                    567:       RVON03 = -5.1195 E3                                               05640351
                    568:       RVON04 = 1.7521 E14                                               05650351
                    569:       RVON05 = 1.0533 E3                                                05660351
                    570:       RVON06 = -9.4207 E11                                              05670351
                    571:       RVCOMP = ((RVON01 * (RVON02 / RVON03)) + RVON04) / RVON05 -       05680351
                    572:      1         (-RVON06)                                                05690351
                    573:       RVCORR = -7.3096 E11                                              05700351
                    574: 40160 IF (RVCOMP + 7.3101 E11) 20160, 10160, 40161                      05710351
                    575: 40161 IF (RVCOMP + 7.3091 E11) 10160, 10160, 20160                      05720351
                    576: 30160 IVDELE = IVDELE + 1                                               05730351
                    577:       WRITE (I02,80000) IVTNUM                                          05740351
                    578:       IF (ICZERO) 10160, 0171, 20160                                    05750351
                    579: 10160 IVPASS = IVPASS + 1                                               05760351
                    580:       WRITE (I02,80002) IVTNUM                                          05770351
                    581:       GO TO 0171                                                        05780351
                    582: 20160 IVFAIL = IVFAIL + 1                                               05790351
                    583:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          05800351
                    584:  0171 CONTINUE                                                          05810351
                    585: C                                                                       05820351
                    586: C     ****  FCVS PROGRAM 351  -  TEST 017  ****                         05830351
                    587: C                                                                       05840351
                    588: C          IN TEST 17, A REAL EXPRESSION INVOLVING ALL FIVE ARITHMETIC  05850351
                    589: C     OPERATORS IS EVALUATED, BUT UNLIKE TESTS 11 THROUGH 16 WHERE      05860351
                    590: C     ALL OPERANDS WERE REAL VARIABLES, THE OPERANDS IN TEST 17 ARE     05870351
                    591: C     CLASSED AS REAL VARIABLES, REAL CONSTANTS, REAL ARRAY ELEMENTS,   05880351
                    592: C     AND REAL FUNCTION REFERENCES.                                     05890351
                    593: C                                                                       05900351
                    594:       IVTNUM =  17                                                      05910351
                    595:       IF (ICZERO) 30170, 0170, 30170                                    05920351
                    596:  0170 CONTINUE                                                          05930351
                    597:       RVON01 = 5.247 E10                                                05940351
                    598:       IVON01 = 3                                                        05950351
                    599:       RVON02 = 1.07 E1                                                  05960351
                    600:       RVON03 = 5.23                                                     05970351
                    601:       RVON04 = 1.001                                                    05980351
                    602:       RVON05 = 1.573                                                    05990351
                    603:       RADN11(3) = 0.3947 E18                                            06000351
                    604:       RVCOMP = (RVON01 + 3.491 E10) - (4 E17 + RADN11(IVON01)) /        06010351
                    605:      1         (RFOS01(RVON03,RVON04,RVON05) ** RVON02)                 06020351
                    606:       RVCORR = 7.1526 E10                                               06030351
                    607: 40170 IF (RVCOMP - 7.1521 E10) 20170, 10170, 40171                      06040351
                    608: 40171 IF (RVCOMP - 7.1531 E10) 10170, 10170, 20170                      06050351
                    609: 30170 IVDELE = IVDELE + 1                                               06060351
                    610:       WRITE (I02,80000) IVTNUM                                          06070351
                    611:       IF (ICZERO) 10170, 0181, 20170                                    06080351
                    612: 10170 IVPASS = IVPASS + 1                                               06090351
                    613:       WRITE (I02,80002) IVTNUM                                          06100351
                    614:       GO TO 0181                                                        06110351
                    615: 20170 IVFAIL = IVFAIL + 1                                               06120351
                    616:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          06130351
                    617:  0181 CONTINUE                                                          06140351
                    618: C                                                                       06150351
                    619: C     ****  FCVS PROGRAM 351  -  TEST 018  ****                         06160351
                    620: C                                                                       06170351
                    621: C          TEST 18 IS IDENTICAL TO TEST 17 EXCEPT THAT PARENTHESES ARE  06180351
                    622: C     USED TO CHANGE THE ORDER OF SUB-EXPRESSION EVALUATION.            06190351
                    623: C                                                                       06200351
                    624:       IVTNUM =  18                                                      06210351
                    625:       IF (ICZERO) 30180, 0180, 30180                                    06220351
                    626:  0180 CONTINUE                                                          06230351
                    627:       RVON01 = 5.247 E10                                                06240351
                    628:       IVON01 = 3                                                        06250351
                    629:       RVON02 = 1.07 E1                                                  06260351
                    630:       RVON03 = 5.23                                                     06270351
                    631:       RVON04 = 1.001                                                    06280351
                    632:       RVON05 = 1.573                                                    06290351
                    633:       RADN11(3) = 0.3947 E18                                            06300351
                    634:       RVCOMP = ((RVON01 + 3.491 E10) - (4 E17 + RADN11(IVON01))) /      06310351
                    635:      1         RFOS01(RVON03,RVON04,RVON05) ** RVON02                   06320351
                    636:       RVCORR = -1.5854 E10                                              06330351
                    637: 40180 IF (RVCOMP + 1.5859 E10) 20180, 10180, 40181                      06340351
                    638: 40181 IF (RVCOMP + 1.5849 E10) 10180, 10180, 20180                      06350351
                    639: 30180 IVDELE = IVDELE + 1                                               06360351
                    640:       WRITE (I02,80000) IVTNUM                                          06370351
                    641:       IF (ICZERO) 10180, 0191, 20180                                    06380351
                    642: 10180 IVPASS = IVPASS + 1                                               06390351
                    643:       WRITE (I02,80002) IVTNUM                                          06400351
                    644:       GO TO 0191                                                        06410351
                    645: 20180 IVFAIL = IVFAIL + 1                                               06420351
                    646:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          06430351
                    647:  0191 CONTINUE                                                          06440351
                    648: C                                                                       06450351
                    649: C     ****  FCVS PROGRAM 351  -  TEST 019  ****                         06460351
                    650: C                                                                       06470351
                    651: C          TEST 19 IS SIMILAR TO TESTS 17 AND 18 EXCEPT THAT THE        06480351
                    652: C     FUNCTION REFERENCES IN TURN EVALUATE ARRAY ELEMENTS.              06490351
                    653: C                                                                       06500351
                    654:       IVTNUM =  19                                                      06510351
                    655:       IF (ICZERO) 30190, 0190, 30190                                    06520351
                    656:  0190 CONTINUE                                                          06530351
                    657:       RVON01 = 5.026 E2                                                 06540351
                    658:       RVON02 = 1.386 E1                                                 06550351
                    659:       IVON03 = 2                                                        06560351
                    660:       RVON04 = 1.9999                                                   06570351
                    661:       RVON05 = 4.0127                                                   06580351
                    662:       RADN11(1) = 3.004 E18                                             06590351
                    663:       RADN11(2) = 2.5705 E-1                                            06600351
                    664:       RADN11(4) = 7.993 E16                                             06610351
                    665:       RVCOMP = (RVON01 - 5.902 * RFOS02(INT(RVON04),INT(RVON05))) /     06620351
                    666:      1         RADN11(IVON03) + 1.5372 ** RVON02                        06630351
                    667:       RVCORR = 1.4797 E3                                                06640351
                    668: 40190 IF (RVCORR - 1.4792 E3) 20190, 10190, 40191                       06650351
                    669: 40191 IF (RVCORR - 1.4802 E3) 10190, 10190, 20190                       06660351
                    670: 30190 IVDELE = IVDELE + 1                                               06670351
                    671:       WRITE (I02,80000) IVTNUM                                          06680351
                    672:       IF (ICZERO) 10190, 0201, 20190                                    06690351
                    673: 10190 IVPASS = IVPASS + 1                                               06700351
                    674:       WRITE (I02,80002) IVTNUM                                          06710351
                    675:       GO TO 0201                                                        06720351
                    676: 20190 IVFAIL = IVFAIL + 1                                               06730351
                    677:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          06740351
                    678:  0201 CONTINUE                                                          06750351
                    679: C                                                                       06760351
                    680: C     ****  FCVS PROGRAM 351  -  TEST 020  ****                         06770351
                    681: C                                                                       06780351
                    682: C          TEST 20 EVALUATES A REAL EXPRESSION WHICH CONTAINS FUNCTION  06790351
                    683: C     REFERENCES NESTED TO THREE LEVELS.  THE OUTER TWO LEVELS ARE      06800351
                    684: C     STATEMENT FUNCTION REFERENCES AND THE INNERMOST LEVEL IS AN       06810351
                    685: C     INTRINSIC FUNCTION REFERENCE.                                     06820351
                    686: C                                                                       06830351
                    687:       IVTNUM =  20                                                      06840351
                    688:       IF (ICZERO) 30200, 0200, 30200                                    06850351
                    689:  0200 CONTINUE                                                          06860351
                    690:       RVON01 = 4.7117 E05                                               06870351
                    691:       RVON02 = 5.987                                                    06880351
                    692:       RVON03 = 2.00000 E5                                               06890351
                    693:       RVON04 = 1.0 E2                                                   06900351
                    694:       RVON05 = 1.5222 E9                                                06910351
                    695:       IVON06 = 4                                                        06920351
                    696:       RVON07 = -3.2107 E14                                              06930351
                    697:       RADN11(4) = 7.425 E14                                             06940351
                    698:       RADN11(5) = -2.4015 E5                                            06950351
                    699:       RVCOMP = (RVON01 + RFOS03(RVON02,RVON03,RVON04)) * RVON05 -       06960351
                    700:      1         RFOS04(IVON06,RVON07)                                    06970351
                    701:       RVCORR = -6.4580 E15                                              06980351
                    702: 40200 IF (RVCOMP + 6.4585 E15) 20200, 10200, 40201                      06990351
                    703: 40201 IF (RVCOMP + 6.4575 E15) 10200, 10200, 20200                      07000351
                    704: 30200 IVDELE = IVDELE + 1                                               07010351
                    705:       WRITE (I02,80000) IVTNUM                                          07020351
                    706:       IF (ICZERO) 10200, 0211, 20200                                    07030351
                    707: 10200 IVPASS = IVPASS + 1                                               07040351
                    708:       WRITE (I02,80002) IVTNUM                                          07050351
                    709:       GO TO 0211                                                        07060351
                    710: 20200 IVFAIL = IVFAIL + 1                                               07070351
                    711:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          07080351
                    712:  0211 CONTINUE                                                          07090351
                    713: C                                                                       07100351
                    714: C          TESTS 21 THROUGH 25 DEAL WITH MIXTURES OF REAL AND INTEGER   07110351
                    715: C     EXPRESSIONS; I.E., THESE ARE TESTS WHICH EVALUATE EXPRESSIONS     07120351
                    716: C     CONTAINING BOTH REAL SUB-EXPRESSIONS AND INTEGER SUB-EXPRESSIONS  07130351
                    717: C     AND THEN ASSIGN THE RESULTS TO EITHER AN INTEGER OR A REAL        07140351
                    718: C     VARIABLE.                                                         07150351
                    719: C                                                                       07160351
                    720: C                                                                       07170351
                    721: C     ****  FCVS PROGRAM 351  -  TEST 021  ****                         07180351
                    722: C                                                                       07190351
                    723: C          TEST 21 USES ALL FIVE ARITHMETIC OPERATORS AND A COMBINATION 07200351
                    724: C     OF INTEGER AND REAL VARIABLES.  NO PARENTHESES ARE USED.  FINAL   07210351
                    725: C     ASSIGNMENT IS TO AN INTEGER VARIABLE.                             07220351
                    726: C                                                                       07230351
                    727:       IVTNUM =  21                                                      07240351
                    728:       IF (ICZERO) 30210, 0210, 30210                                    07250351
                    729:  0210 CONTINUE                                                          07260351
                    730:       IVON01 = 17                                                       07270351
                    731:       IVON02 = 3                                                        07280351
                    732:       RVON03 = 5.4732 E+2                                               07290351
                    733:       RVON04 = 1.523                                                    07300351
                    734:       IVON05 = 798                                                      07310351
                    735:       IVCOMP = IVON01 ** IVON02 + RVON03 - RVON04 * IVON05 / IVON01     07320351
                    736:       IVCORR = 5388                                                     07330351
                    737: 40210 IF (IVCOMP - 5388) 20210, 10210, 20210                            07340351
                    738: 30210 IVDELE = IVDELE + 1                                               07350351
                    739:       WRITE (I02,80000) IVTNUM                                          07360351
                    740:       IF (ICZERO) 10210, 0221, 20210                                    07370351
                    741: 10210 IVPASS = IVPASS + 1                                               07380351
                    742:       WRITE (I02,80002) IVTNUM                                          07390351
                    743:       GO TO 0221                                                        07400351
                    744: 20210 IVFAIL = IVFAIL + 1                                               07410351
                    745:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          07420351
                    746:  0221 CONTINUE                                                          07430351
                    747: C                                                                       07440351
                    748: C     ****  FCVS PROGRAM 351  -  TEST 022  ****                         07450351
                    749: C                                                                       07460351
                    750: C          TEST 22 IS LIKE TEST 21 EXCEPT THAT PARENTHESES ARE USED,    07470351
                    751: C     AS IS A UNARY OPERATOR.  FINAL ASSIGNMENT IS TO A REAL VARIABLE.  07480351
                    752: C                                                                       07490351
                    753:       IVTNUM =  22                                                      07500351
                    754:       IF (ICZERO) 30220, 0220, 30220                                    07510351
                    755:  0220 CONTINUE                                                          07520351
                    756:       IVON01 = 798                                                      07530351
                    757:       IVON02 = 17                                                       07540351
                    758:       RVON03 = 9.34578 E-2                                              07550351
                    759:       IVON04 = 15985                                                    07560351
                    760:       RVON05 = 0.72357                                                  07570351
                    761:       RVCOMP = -(IVON01 / IVON02) + (RVON03 * IVON04 ** RVON05)         07580351
                    762:       RVCORR = 5.68717 E1                                               07590351
                    763: 40220 IF (RVCOMP - 5.6866 E1) 20220, 10220, 40221                       07600351
                    764: 40221 IF (RVCOMP - 5.6876 E1) 10220, 10220, 20220                       07610351
                    765: 30220 IVDELE = IVDELE + 1                                               07620351
                    766:       WRITE (I02,80000) IVTNUM                                          07630351
                    767:       IF (ICZERO) 10220, 0231, 20220                                    07640351
                    768: 10220 IVPASS = IVPASS + 1                                               07650351
                    769:       WRITE (I02,80002) IVTNUM                                          07660351
                    770:       GO TO 0231                                                        07670351
                    771: 20220 IVFAIL = IVFAIL + 1                                               07680351
                    772:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          07690351
                    773:  0231 CONTINUE                                                          07700351
                    774: C                                                                       07710351
                    775: C     ****  FCVS PROGRAM 351  -  TEST 023  ****                         07720351
                    776: C                                                                       07730351
                    777: C          TEST 23 IS SIMILAR TO TEST 22 EXCEPT THAT IT EMPLOYS NESTED  07740351
                    778: C     PARENTHESES.                                                      07750351
                    779: C                                                                       07760351
                    780:       IVTNUM =  23                                                      07770351
                    781:       IF (ICZERO) 30230, 0230, 30230                                    07780351
                    782:  0230 CONTINUE                                                          07790351
                    783:       IVON01 = 2                                                        07800351
                    784:       IVON02 = 183                                                      07810351
                    785:       RVON03 = 58.7025                                                  07820351
                    786:       IVON04 = 197                                                      07830351
                    787:       IVON05 = 87                                                       07840351
                    788:       RVON06 = 2.4611 E15                                               07850351
                    789:       RVCOMP = IVON01 ** (-(IVON02 + (RVON03 - IVON04)) -               07860351
                    790:      1         (IVON05 / RVON06))                                       07870351
                    791:       RVCORR = 3.4931 E-14                                              07880351
                    792: 40230 IF (RVCOMP - 3.4926 E-14) 20230, 10230, 40231                     07890351
                    793: 40231 IF (RVCOMP - 3.4936 E-14) 10230, 10230, 20230                     07900351
                    794: 30230 IVDELE = IVDELE + 1                                               07910351
                    795:       WRITE (I02,80000) IVTNUM                                          07920351
                    796:       IF (ICZERO) 10230, 0241, 20230                                    07930351
                    797: 10230 IVPASS = IVPASS + 1                                               07940351
                    798:       WRITE (I02,80002) IVTNUM                                          07950351
                    799:       GO TO 0241                                                        07960351
                    800: 20230 IVFAIL = IVFAIL + 1                                               07970351
                    801:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          07980351
                    802:  0241 CONTINUE                                                          07990351
                    803: C                                                                       08000351
                    804: C     ****  FCVS PROGRAM 351  -  TEST 024  ****                         08010351
                    805: C                                                                       08020351
                    806: C          TEST 24 IS IDENTICAL TO TEST 23 EXCEPT THAT THE FINAL        08030351
                    807: C     ASSIGNMENT IS TO AN INTEGER VARIABLE INSTEAD OF A REAL VARIABLE.  08040351
                    808: C                                                                       08050351
                    809:       IVTNUM =  24                                                      08060351
                    810:       IF (ICZERO) 30240, 0240, 30240                                    08070351
                    811:  0240 CONTINUE                                                          08080351
                    812:       IVON01 = 2                                                        08090351
                    813:       IVON02 = 183                                                      08100351
                    814:       RVON03 = 58.7025                                                  08110351
                    815:       IVON04 = 197                                                      08120351
                    816:       IVON05 = 87                                                       08130351
                    817:       RVON06 = 2.4611 E15                                               08140351
                    818:       IVCOMP = IVON01 ** (-(IVON02 + (RVON03 - IVON04)) -               08150351
                    819:      1         (IVON05 / RVON06))                                       08160351
                    820:       IVCORR = 0                                                        08170351
                    821: 40240 IF (IVCOMP) 20240, 10240, 20240                                   08180351
                    822: 30240 IVDELE = IVDELE + 1                                               08190351
                    823:       WRITE (I02,80000) IVTNUM                                          08200351
                    824:       IF (ICZERO) 10240, 0251, 20240                                    08210351
                    825: 10240 IVPASS = IVPASS + 1                                               08220351
                    826:       WRITE (I02,80002) IVTNUM                                          08230351
                    827:       GO TO 0251                                                        08240351
                    828: 20240 IVFAIL = IVFAIL + 1                                               08250351
                    829:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          08260351
                    830:  0251 CONTINUE                                                          08270351
                    831: C                                                                       08280351
                    832: C     ****  FCVS PROGRAM 351  -  TEST 025  ****                         08290351
                    833: C                                                                       08300351
                    834: C          TEST 25 IS SIMILAR TO TESTS 9 AND 19 EXCEPT THAT A MIXTURE   08310351
                    835: C     OF REAL AND INTEGER OPERANDS ARE USED, AND FINAL ASSIGNMENT IS    08320351
                    836: C     TO A REAL VARIABLE.                                               08330351
                    837: C                                                                       08340351
                    838:       IVTNUM =  25                                                      08350351
                    839:       IF (ICZERO) 30250, 0250, 30250                                    08360351
                    840:  0250 CONTINUE                                                          08370351
                    841:       RVON01 = 4.7117                                                   08380351
                    842:       RVON02 = 5.998                                                    08390351
                    843:       IVON03 = 2                                                        08400351
                    844:       RVON04 = 1E2                                                      08410351
                    845:       IVON05 = 20                                                       08420351
                    846:       IVON06 = 4                                                        08430351
                    847:       IVON07 = -3                                                       08440351
                    848:       RADN11(4) = 7.425                                                 08450351
                    849:       RADN11(5) = -2.4015                                               08460351
                    850:       RVCOMP = (RVON01 + RFOS06(AINT(RVON02),IVON03,RVON04)) * IVON05 - 08470351
                    851:      1         IFOS05(IVON06,IVON07)                                    08480351
                    852:       RVCORR =  84.234                                                  08490351
                    853: 40250 IF (RVCOMP - 84.229) 20250, 10250, 40251                          08500351
                    854: 40251 IF (RVCOMP - 84.239) 10250, 10250, 20250                          08510351
                    855: 30250 IVDELE = IVDELE + 1                                               08520351
                    856:       WRITE (I02,80000) IVTNUM                                          08530351
                    857:       IF (ICZERO) 10250, 0261, 20250                                    08540351
                    858: 10250 IVPASS = IVPASS + 1                                               08550351
                    859:       WRITE (I02,80002) IVTNUM                                          08560351
                    860:       GO TO 0261                                                        08570351
                    861: 20250 IVFAIL = IVFAIL + 1                                               08580351
                    862:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          08590351
                    863:  0261 CONTINUE                                                          08600351
                    864: C                                                                       08610351
                    865: C                                                                       08620351
                    866: C     WRITE OUT TEST SUMMARY                                            08630351
                    867: C                                                                       08640351
                    868:       WRITE (I02,90004)                                                 08650351
                    869:       WRITE (I02,90014)                                                 08660351
                    870:       WRITE (I02,90004)                                                 08670351
                    871:       WRITE (I02,90000)                                                 08680351
                    872:       WRITE (I02,90004)                                                 08690351
                    873:       WRITE (I02,90020) IVFAIL                                          08700351
                    874:       WRITE (I02,90022) IVPASS                                          08710351
                    875:       WRITE (I02,90024) IVDELE                                          08720351
                    876:       STOP                                                              08730351
                    877: 90001 FORMAT (1H ,24X,5HFM351)                                          08740351
                    878: 90000 FORMAT (1H ,20X,20HEND OF PROGRAM FM351)                          08750351
                    879: C                                                                       08760351
                    880: C     FORMATS FOR TEST DETAIL LINES                                     08770351
                    881: C                                                                       08780351
                    882: 80000 FORMAT (1H ,4X,I5,6X,7HDELETED)                                   08790351
                    883: 80002 FORMAT (1H ,4X,I5,7X,4HPASS)                                      08800351
                    884: 80010 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6)                         08810351
                    885: 80012 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5)                    08820351
                    886: 80018 FORMAT (1H ,4X,I5,7X,4HFAIL,2X,A14,1X,A14)                        08830351
                    887: C                                                                       08840351
                    888: C     FORMAT STATEMENTS FOR PAGE HEADERS                                08850351
                    889: C                                                                       08860351
                    890: 90002 FORMAT (1H1)                                                      08870351
                    891: 90004 FORMAT (1H )                                                      08880351
                    892: 90006 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM)            08890351
                    893: 90008 FORMAT (1H ,21X,11HVERSION 1.0)                                   08900351
                    894: 90010 FORMAT (1H ,8X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978)         08910351
                    895: 90012 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL,5X,8HCOMPUTED,8X,7HCORRECT)  08920351
                    896: 90014 FORMAT (1H ,5X,46H----------------------------------------------) 08930351
                    897: 90016 FORMAT (1H ,18X,17HSUBSET LEVEL TEST)                             08940351
                    898: C                                                                       08950351
                    899: C     FORMAT STATEMENTS FOR RUN SUMMARY                                 08960351
                    900: C                                                                       08970351
                    901: 90020 FORMAT (1H ,19X,I5,13H TESTS FAILED)                              08980351
                    902: 90022 FORMAT (1H ,19X,I5,13H TESTS PASSED)                              08990351
                    903: 90024 FORMAT (1H ,19X,I5,14H TESTS DELETED)                             09000351
                    904:       END                                                               09010351

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.