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

1.1       root        1:       PROGRAM FM253                                                     00010253
                      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                                                                       00020253
                      6: C                                                                       00030253
                      7: C                                                                       00040253
                      8: C        THIS ROUTINE IS A TEST OF THE IF-BLOCK.  TESTS WITHIN THIS     00050253
                      9: C     ROUTINE ARE FOR THE SYNTAX OF THE BASIC IF ( )  THEN  THROUGH     00060253
                     10: C     END IF BLOCK STRUCTURE.                                           00070253
                     11: C                                                                       00080253
                     12: C        THERE IS ALSO A SERIES OF TESTS TO CHECK THE HIERARCHY AND     00090253
                     13: C     ORDER OF EVALUATION IN EXPRESSIONS THAT CONTAIN A COMBINATION OF  00100253
                     14: C     ARITHMETIC, RELATIONAL, AND LOGICAL OPERATORS.                    00110253
                     15: C                                                                       00120253
                     16: C     REFERENCES                                                        00130253
                     17: C        AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN,       00140253
                     18: C             X3.9-1978                                                 00150253
                     19: C        SECTION 11.6,       BLOCK IF STATEMENT                         00160253
                     20: C        SECTION 11.6.1,     IF-LEVEL                                   00170253
                     21: C        SECTION 11.6.2,     IF-BLOCK                                   00180253
                     22: C        SECTION 11.6.3,     EXECUTION OF A BLOCK IF STATEMENT          00190253
                     23: C                                                                       00200253
                     24: C                                                                       00210253
                     25: C                                                                       00220253
                     26: C                                                                       00230253
                     27: C     ******************************************************************00240253
                     28: C         A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE         00250253
                     29: C     BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN STANDARD FORTRAN   00260253
                     30: C     X3.9-1978, HAS BEEN DEVELOPED BY THE DEPARTMENT OF THE NAVY.  THE 00270253
                     31: C     FORTRAN COMPILER VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT       00280253
                     32: C     ROUTINES, THEIR RELATED DATA, AND AN EXECUTIVE SYSTEM.  EACH AUDIT00290253
                     33: C     ROUTINE IS A FORTRAN PROGRAM OR SUBPROGRAM WHICH INCLUDES TESTS   00300253
                     34: C     OF SPECIFIC LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING00310253
                     35: C     THE RESULT OF EXECUTING THESE TESTS.                              00320253
                     36: C                                                                       00330253
                     37: C     THIS PARTICULAR PROGRAM OR SUBPROGRAM CONTAINS ONLY FEATURES      00340253
                     38: C     FOUND IN THE SUBSET LEVEL OF THE STANDARD.                        00350253
                     39: C                                                                       00360253
                     40: C           SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO             00370253
                     41: C                    DEPARTMENT OF THE NAVY                             00380253
                     42: C                    FEDERAL COBOL COMPILER TESTING SERVICE             00390253
                     43: C                    WASHINGTON, D.C.   20376                           00400253
                     44: C                                                                       00410253
                     45: C     ******************************************************************00420253
                     46: C                                                                       00430253
                     47: C                                                                       00440253
                     48:       IMPLICIT LOGICAL (L)                                              00450253
                     49:       IMPLICIT CHARACTER*14 (C)                                         00460253
                     50: C                                                                       00470253
                     51:       DIMENSION LADN11(2)                                               00480253
                     52:       LOGICAL LVTN01, LVTN02, LATN11(2), LADN11                         00490253
                     53:       DATA LADN11/.TRUE., .FALSE./                                      00500253
                     54: C                                                                       00510253
                     55: C                                                                       00520253
                     56: C     **** LOGICAL STATEMENT FUNCTION REFERENCED IN TEST 20 ****        00530253
                     57: C                                                                       00540253
                     58:       LFIS01 ( L ) = .NOT. L                                            00550253
                     59: C                                                                       00560253
                     60: C                                                                       00570253
                     61: C                                                                       00580253
                     62: C                                                                       00590253
                     63: C                                                                       00600253
                     64: C     INITIALIZATION SECTION.                                           00610253
                     65: C                                                                       00620253
                     66: C     INITIALIZE CONSTANTS                                              00630253
                     67: C     ********************                                              00640253
                     68: C     I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER          00650253
                     69:       I01 = 5                                                           00660253
                     70: C     I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER              00670253
                     71:       I02 = 6                                                           00680253
                     72: C     SYSTEM ENVIRONMENT SECTION                                        00690253
                     73: C                                                                       00700253
                     74:       I01 = 5                                                           00710253
                     75: C     THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5      00720253
                     76: C     (UNIT NUMBER FOR CARD READER).                                    00730253
                     77: CX011      THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD00740253
                     78: C     THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            00750253
                     79: C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE.         00760253
                     80: C                                                                       00770253
                     81:       I02 = 6                                                           00780253
                     82: C     THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6      00790253
                     83: C     (UNIT NUMBER FOR PRINTER).                                        00800253
                     84: CX021     THIS CARD IS PEPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD.00810253
                     85: C     THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            00820253
                     86: C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE.         00830253
                     87: C                                                                       00840253
                     88:       IVPASS = 0                                                        00850253
                     89:       IVFAIL = 0                                                        00860253
                     90:       IVDELE = 0                                                        00870253
                     91:       ICZERO = 0                                                        00880253
                     92: C                                                                       00890253
                     93: C     WRITE OUT PAGE HEADERS                                            00900253
                     94: C                                                                       00910253
                     95:       WRITE (I02,90002)                                                 00920253
                     96:       WRITE (I02,90006)                                                 00930253
                     97:       WRITE (I02,90008)                                                 00940253
                     98:       WRITE (I02,90004)                                                 00950253
                     99:       WRITE (I02,90010)                                                 00960253
                    100:       WRITE (I02,90004)                                                 00970253
                    101:       WRITE (I02,90016)                                                 00980253
                    102:       WRITE (I02,90001)                                                 00990253
                    103:       WRITE (I02,90004)                                                 01000253
                    104:       WRITE (I02,90012)                                                 01010253
                    105:       WRITE (I02,90014)                                                 01020253
                    106:       WRITE (I02,90004)                                                 01030253
                    107: C                                                                       01040253
                    108: C                                                                       01050253
                    109: C     ****  FCVS PROGRAM 253  -  TEST 001  ****                         01060253
                    110: C                                                                       01070253
                    111: C        TEST 001 USES A VERY SIMPLE BLOCK IF STATEMENT.  THE EXPRESSION01080253
                    112: C     WITHIN THE PARENTHESES IS THE LOGICAL CONSTANT  .TRUE.  AND THE   01090253
                    113: C     EXECUTABLE STATEMENT WITHIN THE IF-BLOCK OF LEVEL ONE IS AN       01100253
                    114: C     INTEGER ARITHMETIC ASSIGNMENT STATEMENT. SINCE THE LOGICAL        01110253
                    115: C     EXPRESSION IS TRUE, THEN THE INTEGER ASSIGNMENT STATEMENT ( TRUE  01120253
                    116: C     PATH ) SHOULD BE EXECUTED.                                        01130253
                    117: C                                                                       01140253
                    118: C        THIS IS A SYNTAX CHECK FOR THE BLOCK IF STATEMENT.  SHOULD A   01150253
                    119: C     COMPILER NOT BE ABLE TO ACCEPT THE SYNTAX OF THIS BASIC TEST,     01160253
                    120: C     THEN ROUTINES FM253, THRU FMXXX NEED NOT BE RUN.                  01170253
                    121: C                                                                       01180253
                    122: C                                                                       01190253
                    123:       IVTNUM =   1                                                      01200253
                    124:       IF (ICZERO) 30010, 0010, 30010                                    01210253
                    125:  0010 CONTINUE                                                          01220253
                    126:       IVCOMP = 0                                                        01230253
                    127:       IF ( .TRUE. ) THEN                                                01240253
                    128:            IVCOMP = 1                                                   01250253
                    129:       END IF                                                            01260253
                    130:       IVCORR = 1                                                        01270253
                    131: 40010 IF ( IVCOMP - 1 )  20010, 10010, 20010                            01280253
                    132: 30010 IVDELE = IVDELE + 1                                               01290253
                    133:       WRITE (I02,80000) IVTNUM                                          01300253
                    134:       IF (ICZERO) 10010, 0021, 20010                                    01310253
                    135: 10010 IVPASS = IVPASS + 1                                               01320253
                    136:       WRITE (I02,80002) IVTNUM                                          01330253
                    137:       GO TO 0021                                                        01340253
                    138: 20010 IVFAIL = IVFAIL + 1                                               01350253
                    139:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          01360253
                    140:  0021 CONTINUE                                                          01370253
                    141: C                                                                       01380253
                    142: C     ****  FCVS PROGRAM 253  -  TEST 002  ****                         01390253
                    143: C                                                                       01400253
                    144: C        TEST 002 USES A LOGICAL VARIABLE SET .FALSE. AS THE LOGICAL    01410253
                    145: C     EXPRESSION IN THE BLOCK IF STATEMENT.   BECAUSE THE EXPRESSION    01420253
                    146: C     IS FALSE, THE IF-BLOCK (WHICH IS AN INTEGER ARITHMETIC ASSIGNMENT 01430253
                    147: C     STATEMENT AND A LOGICAL ASSIGNMENT STATEMENT) SHOULD NOT BE       01440253
                    148: C     EXECUTED.                                                         01450253
                    149: C                                                                       01460253
                    150: C                                                                       01470253
                    151:       IVTNUM =   2                                                      01480253
                    152:       IF (ICZERO) 30020, 0020, 30020                                    01490253
                    153:  0020 CONTINUE                                                          01500253
                    154:       IVCOMP = 0                                                        01510253
                    155:       IVON01 = 1                                                        01520253
                    156:       LVON01 = .FALSE.                                                  01530253
                    157:       LVTN01 = .FALSE.                                                  01540253
                    158:       IF ( LVON01 )  THEN                                               01550253
                    159:            IVON01 = 0                                                   01560253
                    160:            LVTN01 = .TRUE.                                              01570253
                    161:       END IF                                                            01580253
                    162:       IVCORR = 1                                                        01590253
                    163: 40020 IF ( IVON01 .EQ. 1 )  IVCOMP = 1                                  01600253
                    164: 40021 IF ( IVCOMP - 1 )  20020, 10020, 20020                            01610253
                    165: 30020 IVDELE = IVDELE + 1                                               01620253
                    166:       WRITE (I02,80000) IVTNUM                                          01630253
                    167:       IF (ICZERO) 10020, 0031, 20020                                    01640253
                    168: 10020 IVPASS = IVPASS + 1                                               01650253
                    169:       WRITE (I02,80002) IVTNUM                                          01660253
                    170:       GO TO 0031                                                        01670253
                    171: 20020 IVFAIL = IVFAIL + 1                                               01680253
                    172:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          01690253
                    173:  0031 CONTINUE                                                          01700253
                    174: C                                                                       01710253
                    175: C     ****  FCVS PROGRAM 253  -  TEST 003  ****                         01720253
                    176: C                                                                       01730253
                    177: C        TEST 003 IS A BLOCK IF STATEMENT WITH AN EMPTY IF-BLOCK.  THE  01740253
                    178: C     LOGICAL EXPRESSION IS A LOGICAL ARRAY ELEMENT REFERENCE SET TO    01750253
                    179: C     .TRUE.  SECTION 11.6.2 STATES THAT,  AN IF-BLOCK MAY BE EMPTY.    01760253
                    180: C     BECAUSE THE LOGICAL EXPRESSION IS TRUE, THE IF-BLOCK SHOULD BE    01770253
                    181: C     EXECUTED.  IF THE VALUE OF THE EXPRESSION IS TRUE AND THE IF-BLOCK01780253
                    182: C     IS EMPTY, CONTROL IS TRANSFERRED TO THE NEXT END IF STATEMENT     01790253
                    183: C     THAT HAS THE SAME IF-LEVEL AS THE BLOCK IF STATEMENT ACCORDING    01800253
                    184: C     TO SECTION 11.6.3. IN THIS TEST THE EMPTY IF-BLOCK IS OF LEVEL ONE01810253
                    185: C                                                                       01820253
                    186: C                                                                       01830253
                    187:       IVTNUM =   3                                                      01840253
                    188:       IF (ICZERO) 30030, 0030, 30030                                    01850253
                    189:  0030 CONTINUE                                                          01860253
                    190:       IVCOMP = 0                                                        01870253
                    191:       LATN11(1) = .TRUE.                                                01880253
                    192:       IF ( LATN11(1) )  THEN                                            01890253
                    193:       END IF                                                            01900253
                    194:       IVCOMP = 1                                                        01910253
                    195:       IVCORR = 1                                                        01920253
                    196: 40030 IF ( IVCOMP - 1 )  20030, 10030, 20030                            01930253
                    197: 30030 IVDELE = IVDELE + 1                                               01940253
                    198:       WRITE (I02,80000) IVTNUM                                          01950253
                    199:       IF (ICZERO) 10030, 0041, 20030                                    01960253
                    200: 10030 IVPASS = IVPASS + 1                                               01970253
                    201:       WRITE (I02,80002) IVTNUM                                          01980253
                    202:       GO TO 0041                                                        01990253
                    203: 20030 IVFAIL = IVFAIL + 1                                               02000253
                    204:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          02010253
                    205:  0041 CONTINUE                                                          02020253
                    206: C                                                                       02030253
                    207: C     ****  FCVS PROGRAM 253  -  TEST 004  ****                         02040253
                    208: C                                                                       02050253
                    209: C        TEST 004 IS LIKE THE PREVIOUS TEST USING A LOGICAL ARRAY       02060253
                    210: C     ELEMENT REFERENCE AS THE LOGICAL EXPRESSION OF THE BLOCK IF       02070253
                    211: C     STATEMENT THAT HAS AN EMPTY IF-BLOCK STRUCTURE OF LEVEL ONE.      02080253
                    212: C     IN THIS TEST THE LOGICAL EXPRESSION IS FALSE SO CONTROL SHOULD    02090253
                    213: C     BE TRANSFERRED TO THE END IF STATEMENT THAT HAS THE SAME IF-LEVEL 02100253
                    214: C     AS THE BLOCK IF STATEMENT ACCORDING TO SECTION 11.6.3.            02110253
                    215: C                                                                       02120253
                    216: C     THE LOGICAL ARRAY ELEMENT REFERENCE  LADN11(2) IS SET TO .FALSE.  02130253
                    217: C     IN THE DATA STATEMENT AS FOLLOWS                                  02140253
                    218: C                                                                       02150253
                    219: C                  DATA LADN11/.TRUE., .FALSE./                         02160253
                    220: C                                                                       02170253
                    221: C                                                                       02180253
                    222:       IVTNUM =   4                                                      02190253
                    223:       IF (ICZERO) 30040, 0040, 30040                                    02200253
                    224:  0040 CONTINUE                                                          02210253
                    225:       IVCOMP = 0                                                        02220253
                    226:       IF ( LADN11(2) )  THEN                                            02230253
                    227:       END IF                                                            02240253
                    228:       IVCOMP = 1                                                        02250253
                    229:       IVCORR = 1                                                        02260253
                    230: 40040 IF ( IVCOMP - 1 )  20040, 10040, 20040                            02270253
                    231: 30040 IVDELE = IVDELE + 1                                               02280253
                    232:       WRITE (I02,80000) IVTNUM                                          02290253
                    233:       IF (ICZERO) 10040, 0051, 20040                                    02300253
                    234: 10040 IVPASS = IVPASS + 1                                               02310253
                    235:       WRITE (I02,80002) IVTNUM                                          02320253
                    236:       GO TO 0051                                                        02330253
                    237: 20040 IVFAIL = IVFAIL + 1                                               02340253
                    238:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          02350253
                    239:  0051 CONTINUE                                                          02360253
                    240: C                                                                       02370253
                    241: C                                                                       02380253
                    242: C        THE NEXT FOUR TESTS ARE FOR A BLOCK IF STRUCTURE OF LEVEL      02390253
                    243: C     TWO IN THE INNERMOST IF-BLOCK.  THIS STRUCTURE IS SHOWN BELOW -   02400253
                    244: C                                                                       02410253
                    245: C                  IF ( E1 )  THEN                                      02420253
                    246: C                       IF-BLOCK 1                                      02430253
                    247: C                       IF ( E2 )  THEN                                 02440253
                    248: C                            IF-BLOCK 2                                 02450253
                    249: C                       END IF                                          02460253
                    250: C                  END IF                                               02470253
                    251: C     TESTS WILL USE THE FOUR COMBINATIONS OF TRUE AND FALSE FOR E1 AND 02480253
                    252: C     E2 RESPECTIVELY TO TEST THE TRANSFER OF CONTROL AS DESCRIBED      02490253
                    253: C     IN SECTION 11.6.3.                                                02500253
                    254: C                                                                       02510253
                    255: C                                                                       02520253
                    256: C                                                                       02530253
                    257: C     ****  FCVS PROGRAM 253  -  TEST 005  ****                         02540253
                    258: C                                                                       02550253
                    259: C        TEST 005 USES A FALSE VALUE FOR E1 AND A FALSE VALUE FOR E2.   02560253
                    260: C     CONTROL SHOULD BE TRANSFERRED TO THE END IF STATEMENT OF LEVEL 1  02570253
                    261: C     WHICH MEANS IF-BLOCK 1 AND IF-BLOCK 2 SHOULD NOT BE EXECUTED.     02580253
                    262: C                                                                       02590253
                    263: C                                                                       02600253
                    264:       IVTNUM =   5                                                      02610253
                    265:       IF (ICZERO) 30050, 0050, 30050                                    02620253
                    266:  0050 CONTINUE                                                          02630253
                    267:       IVCOMP = 1                                                        02640253
                    268:       LADN11(2) = .FALSE.                                               02650253
                    269:       IF ( 76 .LT. 3 )  THEN                                            02660253
                    270:            IVCOMP = IVCOMP * 2                                          02670253
                    271:            IF ( ( LADN11(2) ) )  THEN                                   02680253
                    272:                 IVCOMP = IVCOMP * 3                                     02690253
                    273:            END IF                                                       02700253
                    274:       END IF                                                            02710253
                    275:       IVCORR = 1                                                        02720253
                    276: 40051 IF ( IVCOMP - 1 )  20050, 10050, 20050                            02730253
                    277: 30050 IVDELE = IVDELE + 1                                               02740253
                    278:       WRITE (I02,80000) IVTNUM                                          02750253
                    279:       IF (ICZERO) 10050, 0061, 20050                                    02760253
                    280: 10050 IVPASS = IVPASS + 1                                               02770253
                    281:       WRITE (I02,80002) IVTNUM                                          02780253
                    282:       GO TO 0061                                                        02790253
                    283: 20050 IVFAIL = IVFAIL + 1                                               02800253
                    284:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          02810253
                    285:  0061 CONTINUE                                                          02820253
                    286: C                                                                       02830253
                    287: C     ****  FCVS PROGRAM 253  -  TEST 006  ****                         02840253
                    288: C                                                                       02850253
                    289: C        TEST 006 USES A FALSE VALUE FOR E1 AND A TRUE VALUE FOR E2.    02860253
                    290: C     CONTROL SHOULD BE TRANSFERRED TO THE END IF STATEMENT OF LEVEL 1  02870253
                    291: C     WHICH MEANS IF-BLOCK 1 AND IF-BLOCK 2 SHOULD NOT BE EXECUTED.     02880253
                    292: C                                                                       02890253
                    293: C                                                                       02900253
                    294:       IVTNUM =   6                                                      02910253
                    295:       IF (ICZERO) 30060, 0060, 30060                                    02920253
                    296:  0060 CONTINUE                                                          02930253
                    297:       IVCOMP = 1                                                        02940253
                    298:       IVON03 = 32767                                                    02950253
                    299:       LVTN01 = .TRUE.                                                   02960253
                    300:       LVON01 = .TRUE.                                                   02970253
                    301:       IF ( .NOT. LVTN01 )  THEN                                         02980253
                    302:            IVCOMP = IVCOMP * 2                                          02990253
                    303:            IF ( LVON01 .AND. IVON03 .GE. 587 )  THEN                    03000253
                    304:                 IVCOMP = IVCOMP * 3                                     03010253
                    305:            END IF                                                       03020253
                    306:       END IF                                                            03030253
                    307:       IVCORR = 1                                                        03040253
                    308: 40061 IF ( IVCOMP - 1 )  20060, 10060, 20060                            03050253
                    309: 30060 IVDELE = IVDELE + 1                                               03060253
                    310:       WRITE (I02,80000) IVTNUM                                          03070253
                    311:       IF (ICZERO) 10060, 0071, 20060                                    03080253
                    312: 10060 IVPASS = IVPASS + 1                                               03090253
                    313:       WRITE (I02,80002) IVTNUM                                          03100253
                    314:       GO TO 0071                                                        03110253
                    315: 20060 IVFAIL = IVFAIL + 1                                               03120253
                    316:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          03130253
                    317:  0071 CONTINUE                                                          03140253
                    318: C                                                                       03150253
                    319: C     ****  FCVS PROGRAM 253  -  TEST 007  ****                         03160253
                    320: C                                                                       03170253
                    321: C        TEST 007 USES A TRUE VALUE FOR E1 AND A FALSE VALUE FOR E2.    03180253
                    322: C     IF-BLOCK 1 SHOULD BE EXECUTED, BUT IF-BLOCK 2 SHOULD NOT BE       03190253
                    323: C     EXECUTED.                                                         03200253
                    324: C                                                                       03210253
                    325: C        IF-BLOCK 1 ALSO CONTAINS AN UNCONDITIONAL GO TO AND A CONTINUE 03220253
                    326: C     STATEMENT WHICH SHOULD BOTH BE EXECUTED.                          03230253
                    327: C                                                                       03240253
                    328: C                                                                       03250253
                    329:       IVTNUM =   7                                                      03260253
                    330:       IF (ICZERO) 30070, 0070, 30070                                    03270253
                    331:  0070 CONTINUE                                                          03280253
                    332:       IVCOMP = 1                                                        03290253
                    333:       IVON03 = 587                                                      03300253
                    334:       IVON04 = 3                                                        03310253
                    335:       LATN11(1) = .TRUE.                                                03320253
                    336:       LATN11(2) = .FALSE.                                               03330253
                    337:       IF ( (LATN11(1)) .OR. ((7 * IVON04) .EQ. 21) )  THEN              03340253
                    338:            IVCOMP = IVCOMP * 2                                          03350253
                    339:            GO TO 0072                                                   03360253
                    340:  0072      CONTINUE                                                     03370253
                    341:            IF ( 7 .GT. IVON03 .OR. LATN11(2) )  THEN                    03380253
                    342:                 IVCOMP = IVCOMP * 3                                     03390253
                    343:            END IF                                                       03400253
                    344:       END IF                                                            03410253
                    345: C                                                                       03420253
                    346: C        **** IVCOMP IS DETERMINED BY IVCOMP = 2 = 1 * 2        ****    03430253
                    347: C                                                                       03440253
                    348:       IVCORR = 2                                                        03450253
                    349: 40070 IF ( IVCOMP - 2 )  20070, 10070, 20070                            03460253
                    350: 30070 IVDELE = IVDELE + 1                                               03470253
                    351:       WRITE (I02,80000) IVTNUM                                          03480253
                    352:       IF (ICZERO) 10070, 0081, 20070                                    03490253
                    353: 10070 IVPASS = IVPASS + 1                                               03500253
                    354:       WRITE (I02,80002) IVTNUM                                          03510253
                    355:       GO TO 0081                                                        03520253
                    356: 20070 IVFAIL = IVFAIL + 1                                               03530253
                    357:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          03540253
                    358:  0081 CONTINUE                                                          03550253
                    359: C                                                                       03560253
                    360: C     ****  FCVS PROGRAM 253  -  TEST 008  ****                         03570253
                    361: C                                                                       03580253
                    362: C        TEST 008 USES A TRUE VALUE FOR E1 AND A TRUE VALUE FOR E2.     03590253
                    363: C     BOTH IF-BLOCK 1 AND IF-BLOCK 2 SHOULD BE EXECUTED.                03600253
                    364: C                                                                       03610253
                    365: C        IF-BLOCK 1 CONTAINS AN ASSIGN STATEMENT PLUS AN ASSIGNED GO TO 03620253
                    366: C     STATEMENT WHICH SHOULD BOTH BE EXECUTED.                          03630253
                    367: C                                                                       03640253
                    368: C                                                                       03650253
                    369:       IVTNUM =   8                                                      03660253
                    370:       IF (ICZERO) 30080, 0080, 30080                                    03670253
                    371:  0080 CONTINUE                                                          03680253
                    372:       IVCOMP = 1                                                        03690253
                    373:       IVON04 = 4                                                        03700253
                    374:       IVON05 = 2                                                        03710253
                    375:       LVON01 = .FALSE.                                                  03720253
                    376:       LVTN01 = LVON01                                                   03730253
                    377: C                                                                       03740253
                    378:       IF ( IVON04 - 1 .LE. 6 .AND. 7 .GE. 5 / IVON05 )  THEN            03750253
                    379:            IVCOMP = IVCOMP * 2                                          03760253
                    380:            ASSIGN 0083 TO I                                             03770253
                    381:            GO TO 0084                                                   03780253
                    382:  0082      IVCOMP = IVCOMP * 3                                          03790253
                    383:            GO TO 0085                                                   03800253
                    384:  0083      IVCOMP = IVCOMP * 5                                          03810253
                    385:            GO TO 0085                                                   03820253
                    386:  0084      GO TO I, ( 0082, 0083 )                                      03830253
                    387:  0085      IF ( .NOT. ( LVTN01 ) )  THEN                                03840253
                    388:                 IVCOMP = IVCOMP * 7                                     03850253
                    389:            END IF                                                       03860253
                    390:       END IF                                                            03870253
                    391: C                                                                       03880253
                    392: C        **** IVCOMP IS DETERMINED BY IVCOMP = 70 = 1 * 2 * 5 * 7   ****03890253
                    393: C                                                                       03900253
                    394:       IVCORR = 70                                                       03910253
                    395: 40080 IF ( IVCOMP - 70 )  20080, 10080, 20080                           03920253
                    396: 30080 IVDELE = IVDELE + 1                                               03930253
                    397:       WRITE (I02,80000) IVTNUM                                          03940253
                    398:       IF (ICZERO) 10080, 0091, 20080                                    03950253
                    399: 10080 IVPASS = IVPASS + 1                                               03960253
                    400:       WRITE (I02,80002) IVTNUM                                          03970253
                    401:       GO TO 0091                                                        03980253
                    402: 20080 IVFAIL = IVFAIL + 1                                               03990253
                    403:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          04000253
                    404:  0091 CONTINUE                                                          04010253
                    405: C                                                                       04020253
                    406: C        THE NEXT FIVE TESTS ARE FOR A BLOCK IF STRUCTURE OF LEVEL      04030253
                    407: C     THREE IN THE INNERMOST IF-BLOCK.  THIS STRUCTURE IS SHOWN BELOW - 04040253
                    408: C                                                                       04050253
                    409: C             IF ( E1 )  THEN                                           04060253
                    410: C                  IF-BLOCK 1                                           04070253
                    411: C                  IF ( E2 )  THEN                                      04080253
                    412: C                       IF-BLOCK 2                                      04090253
                    413: C                       IF ( E3 )  THEN                                 04100253
                    414: C                            IF-BLOCK 3                                 04110253
                    415: C                       END IF                                          04120253
                    416: C                  END IF                                               04130253
                    417: C             END IF                                                    04140253
                    418: C                                                                       04150253
                    419: C     THE FIVE TESTS WILL USE THE FOLLOWING COMBINATIONS OF TRUE AND    04160253
                    420: C     FALSE FOR E1, E2, AND E3 AS SHOWN BELOW -                         04170253
                    421: C        TEST NUMBER    9   10   11   12   13                           04180253
                    422: C             E1        T    T    T    T    F                           04190253
                    423: C             E2        T    T    F    F    T                           04200253
                    424: C             E3        T    F    T    F    T                           04210253
                    425: C                                                                       04220253
                    426: C     CONTROL SHOULD BE AS DESCRIBED IN SECTION 11.6.3.                 04230253
                    427: C                                                                       04240253
                    428: C                                                                       04250253
                    429: C                                                                       04260253
                    430: C     ****  FCVS PROGRAM 253  -  TEST 009  ****                         04270253
                    431: C                                                                       04280253
                    432: C        TEST 009 HAS E1, E2, AND E3 AS TRUE.  IF-BLOCK 1, 2, AND 3     04290253
                    433: C     SHOULD BE EXECUTED.  IF-BLOCK 1 HAS A COMPUTED GO TO STATEMENT    04300253
                    434: C     WHICH SHOULD BE EXECUTED.                                         04310253
                    435: C                                                                       04320253
                    436: C                                                                       04330253
                    437:       IVTNUM =   9                                                      04340253
                    438:       IF (ICZERO) 30090, 0090, 30090                                    04350253
                    439:  0090 CONTINUE                                                          04360253
                    440:       IVCOMP = 1                                                        04370253
                    441:       IVON01 = 4                                                        04380253
                    442:       IVON02 = 3                                                        04390253
                    443: C                                                                       04400253
                    444:       IF ( .NOT. IVON01 .EQ. 3 .OR. .NOT. IVON02 .EQ. 4 )  THEN         04410253
                    445:            IVCOMP = IVCOMP * 2                                          04420253
                    446:            J = 2                                                        04430253
                    447:            GO TO 0095                                                   04440253
                    448:  0092      IVCOMP = IVCOMP * 3                                          04450253
                    449:            GO TO 0096                                                   04460253
                    450:  0093      IVCOMP = IVCOMP * 5                                          04470253
                    451:            GO TO 0096                                                   04480253
                    452:  0094      IVCOMP = IVCOMP * 7                                          04490253
                    453:            GO TO 0096                                                   04500253
                    454:  0095      GO TO ( 0092, 0093, 0094 ), J                                04510253
                    455:  0096      IF ( IVON01 .EQ. 4 .AND. IVON02 .NE. 2 )  THEN               04520253
                    456:                 IVCOMP = IVCOMP * 11                                    04530253
                    457:                 IF ( IVON01 .EQ. 4 .AND. .NOT. IVON02 .EQ. 2 )  THEN    04540253
                    458:                      IVCOMP = IVCOMP * 13                               04550253
                    459:                 END IF                                                  04560253
                    460:            END IF                                                       04570253
                    461:       END IF                                                            04580253
                    462: C                                                                       04590253
                    463: C        **** IVCOMP IS DETERMINED BY IVCOMP = 1430 = 1*2*5*11*13   ****04600253
                    464: C                                                                       04610253
                    465:       IVCORR = 1430                                                     04620253
                    466: 40090 IF ( IVCOMP - 1430 )  20090, 10090, 20090                         04630253
                    467: 30090 IVDELE = IVDELE + 1                                               04640253
                    468:       WRITE (I02,80000) IVTNUM                                          04650253
                    469:       IF (ICZERO) 10090, 0101, 20090                                    04660253
                    470: 10090 IVPASS = IVPASS + 1                                               04670253
                    471:       WRITE (I02,80002) IVTNUM                                          04680253
                    472:       GO TO 0101                                                        04690253
                    473: 20090 IVFAIL = IVFAIL + 1                                               04700253
                    474:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          04710253
                    475:  0101 CONTINUE                                                          04720253
                    476: C                                                                       04730253
                    477: C     ****  FCVS PROGRAM 253  -  TEST 010  ****                         04740253
                    478: C                                                                       04750253
                    479: C                                                                       04760253
                    480: C        TEST 010 HAS E1 AND E2 AS TRUE.  E3 IS FALSE.  IF-BLOCK 1 HAS  04770253
                    481: C     A LOGICAL IF STATEMENT WHICH SHOULD BE EXECUTED BY TAKING THE     04780253
                    482: C     TRUE PATH.  IF-BLOCK 2 HAS AN ARITHMETIC IF STATEMENT WITH THE    04790253
                    483: C     VALUE INSIDE THE PARENTHESIS EQUAL TO ZERO.  IF-BLOCK 3 SHOULD NOT04800253
                    484: C     BE EXECUTED.                                                      04810253
                    485: C                                                                       04820253
                    486: C                                                                       04830253
                    487:       IVTNUM =  10                                                      04840253
                    488:       IF (ICZERO) 30100, 0100, 30100                                    04850253
                    489:  0100 CONTINUE                                                          04860253
                    490:       IVCOMP = 1                                                        04870253
                    491:       IVON01 = +3                                                       04880253
                    492:       LVON01 = .FALSE.                                                  04890253
                    493: C                                                                       04900253
                    494:       IF ( .NOT. LVON01 .AND. .TRUE. .OR. .TRUE. .AND. .NOT. LVON01 )   04910253
                    495:      1THEN                                                              04920253
                    496:            IVCOMP = IVCOMP * 2                                          04930253
                    497:            IF ( 3 .LE. IVON01 )  IVCOMP = IVCOMP * 3                    04940253
                    498:            IF ( .NOT.(LVON01.AND..TRUE.).OR.(.TRUE..AND..NOT.LVON01) )  04950253
                    499:      1     THEN                                                         04960253
                    500:                 IF ( 3 - IVON01 )  0103, 0102, 0103                     04970253
                    501:  0102           IVCOMP = IVCOMP * 5                                     04980253
                    502:                 GO TO 0104                                              04990253
                    503:  0103           IVCOMP = IVCOMP * 7                                     05000253
                    504:  0104           CONTINUE                                                05010253
                    505:                 IF ( .NOT.(.NOT.(LVON01.AND..TRUE.)).OR..FALSE..AND.    05020253
                    506:      1          .NOT.LVON01 )  THEN                                     05030253
                    507:                      IVCOMP = IVCOMP * 11                               05040253
                    508:                 END IF                                                  05050253
                    509:            END IF                                                       05060253
                    510:       END IF                                                            05070253
                    511: C                                                                       05080253
                    512: C        **** IVCOMP IS DETERMINED BY IVCOMP = 30 = 1 * 2 * 3 * 5   ****05090253
                    513: C                                                                       05100253
                    514:       IVCORR = 30                                                       05110253
                    515: 40100 IF ( IVCOMP - 30 )  20100, 10100, 20100                           05120253
                    516: 30100 IVDELE = IVDELE + 1                                               05130253
                    517:       WRITE (I02,80000) IVTNUM                                          05140253
                    518:       IF (ICZERO) 10100, 0111, 20100                                    05150253
                    519: 10100 IVPASS = IVPASS + 1                                               05160253
                    520:       WRITE (I02,80002) IVTNUM                                          05170253
                    521:       GO TO 0111                                                        05180253
                    522: 20100 IVFAIL = IVFAIL + 1                                               05190253
                    523:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          05200253
                    524:  0111 CONTINUE                                                          05210253
                    525: C                                                                       05220253
                    526: C     ****  FCVS PROGRAM 253  -  TEST 011  ****                         05230253
                    527: C                                                                       05240253
                    528: C                                                                       05250253
                    529: C        TEST 011 HAS E1 AND E3 AS TRUE.  E2 IS FALSE.  ONLY IF-BLOCK 1 05260253
                    530: C     SHOULD BE EXECUTED.  THIS SET OF BLOCK IF STATEMENTS HAS INTEGER  05270253
                    531: C     ASSIGNMENT STATEMENTS BETWEEN THE END IF STATEMENTS.  A CHECK IS  05280253
                    532: C     MADE TO DETERMINE IF THESE STATEMENTS HAVE BEEN EXECUTED.         05290253
                    533: C                                                                       05300253
                    534: C                                                                       05310253
                    535:       IVTNUM =  11                                                      05320253
                    536:       IF (ICZERO) 30110, 0110, 30110                                    05330253
                    537:  0110 CONTINUE                                                          05340253
                    538:       IVCOMP = 1                                                        05350253
                    539:       LVON01 = .TRUE.                                                   05360253
                    540:       LVON02 = .FALSE.                                                  05370253
                    541:       LVON03 = .TRUE.                                                   05380253
                    542: C                                                                       05390253
                    543:       IF ( LVON01 )  THEN                                               05400253
                    544:            IVCOMP = IVCOMP * 2                                          05410253
                    545:            IF ( LVON02 )  THEN                                          05420253
                    546:                 IVCOMP = IVCOMP * 3                                     05430253
                    547:                 IF ( LVON03 )  THEN                                     05440253
                    548:                      IVCOMP = IVCOMP * 5                                05450253
                    549:                 END IF                                                  05460253
                    550:                 IVCOMP = IVCOMP * 7                                     05470253
                    551:            END IF                                                       05480253
                    552:            IVCOMP = IVCOMP * 11                                         05490253
                    553:       END IF                                                            05500253
                    554:       IVCOMP = IVCOMP * 13                                              05510253
                    555: C                                                                       05520253
                    556: C        **** IVCOMP IS DETERMINED BY IVCOMP = 286 = 1*2*11*13      ****05530253
                    557: C                                                                       05540253
                    558:       IVCORR = 286                                                      05550253
                    559: 40110 IF ( IVCOMP - 286 )  20110, 10110, 20110                          05560253
                    560: 30110 IVDELE = IVDELE + 1                                               05570253
                    561:       WRITE (I02,80000) IVTNUM                                          05580253
                    562:       IF (ICZERO) 10110, 0121, 20110                                    05590253
                    563: 10110 IVPASS = IVPASS + 1                                               05600253
                    564:       WRITE (I02,80002) IVTNUM                                          05610253
                    565:       GO TO 0121                                                        05620253
                    566: 20110 IVFAIL = IVFAIL + 1                                               05630253
                    567:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          05640253
                    568:  0121 CONTINUE                                                          05650253
                    569: C                                                                       05660253
                    570: C     ****  FCVS PROGRAM 253  -  TEST 012  ****                         05670253
                    571: C                                                                       05680253
                    572: C                                                                       05690253
                    573: C        TEST 012 HAS E1 AS TRUE.  E2 AND E3 ARE FALSE.  ONLY IF-BLOCK 105700253
                    574: C     SHOULD BE EXECUTED.  INTEGER ASSIGNMENT STATEMENTS ARE USED TO    05710253
                    575: C     DETERMINE THE FLOW OF LOGIC THROUGH THE BLOCK IF STRUCTURE.       05720253
                    576: C                                                                       05730253
                    577: C                                                                       05740253
                    578:       IVTNUM =  12                                                      05750253
                    579:       IF (ICZERO) 30120, 0120, 30120                                    05760253
                    580:  0120 CONTINUE                                                          05770253
                    581:       IVCOMP = 1                                                        05780253
                    582:       LVON01 = .TRUE.                                                   05790253
                    583:       LVON02 = .FALSE.                                                  05800253
                    584:       LVON03 = .FALSE.                                                  05810253
                    585: C                                                                       05820253
                    586:       IF ( LVON01 )  THEN                                               05830253
                    587:            IVCOMP = IVCOMP * 2                                          05840253
                    588:            IF ( LVON02 )  THEN                                          05850253
                    589:                 IVCOMP = IVCOMP * 3                                     05860253
                    590:                 IF ( LVON03 )  THEN                                     05870253
                    591:                      IVCOMP = IVCOMP * 5                                05880253
                    592:                 END IF                                                  05890253
                    593:                 IVCOMP = IVCOMP * 7                                     05900253
                    594:            END IF                                                       05910253
                    595:            IVCOMP = IVCOMP * 11                                         05920253
                    596:       END IF                                                            05930253
                    597:       IVCOMP = IVCOMP * 13                                              05940253
                    598: C                                                                       05950253
                    599: C        **** IVCOMP IS DETERMINED BY IVCOMP = 286 = 1*2*11*13      ****05960253
                    600: C                                                                       05970253
                    601:       IVCORR = 286                                                      05980253
                    602: 40120 IF ( IVCOMP - 286 )  20120, 10120, 20120                          05990253
                    603: 30120 IVDELE = IVDELE + 1                                               06000253
                    604:       WRITE (I02,80000) IVTNUM                                          06010253
                    605:       IF (ICZERO) 10120, 0131, 20120                                    06020253
                    606: 10120 IVPASS = IVPASS + 1                                               06030253
                    607:       WRITE (I02,80002) IVTNUM                                          06040253
                    608:       GO TO 0131                                                        06050253
                    609: 20120 IVFAIL = IVFAIL + 1                                               06060253
                    610:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          06070253
                    611:  0131 CONTINUE                                                          06080253
                    612: C                                                                       06090253
                    613: C     ****  FCVS PROGRAM 253  -  TEST 013  ****                         06100253
                    614: C                                                                       06110253
                    615: C                                                                       06120253
                    616: C        TEST 013 HAS E1 FALSE.  E2 AND E3 ARE TRUE.  NONE OF THE IF-   06130253
                    617: C     BLOCKS SHOULD BE EXECUTED.  INTEGER ASSIGNMENT STATEMENTS ARE     06140253
                    618: C     USED TO TRACE THE FLOW OF LOGIC THROUGH THE BLOCK IF STRUCTURE.   06150253
                    619: C                                                                       06160253
                    620: C                                                                       06170253
                    621:       IVTNUM =  13                                                      06180253
                    622:       IF (ICZERO) 30130, 0130, 30130                                    06190253
                    623:  0130 CONTINUE                                                          06200253
                    624:       IVCOMP = 1                                                        06210253
                    625:       LVON01 = .FALSE.                                                  06220253
                    626:       LVON02 = .TRUE.                                                   06230253
                    627:       LVON03 = .TRUE.                                                   06240253
                    628: C                                                                       06250253
                    629:       IF ( LVON01 )  THEN                                               06260253
                    630:            IVCOMP = IVCOMP * 2                                          06270253
                    631:            IF ( LVON02 )  THEN                                          06280253
                    632:                 IVCOMP = IVCOMP * 3                                     06290253
                    633:                 IF ( LVON03 )  THEN                                     06300253
                    634:                      IVCOMP = IVCOMP * 5                                06310253
                    635:                 END IF                                                  06320253
                    636:                 IVCOMP = IVCOMP * 7                                     06330253
                    637:            END IF                                                       06340253
                    638:            IVCOMP = IVCOMP * 11                                         06350253
                    639:       END IF                                                            06360253
                    640:       IVCOMP = IVCOMP * 13                                              06370253
                    641: C                                                                       06380253
                    642: C        **** IVCOMP IS DETERMINED BY IVCOMP = 13 = 1 * 13          ****06390253
                    643: C                                                                       06400253
                    644:       IVCORR = 13                                                       06410253
                    645: 40130 IF ( IVCOMP - 13 )  20130, 10130, 20130                           06420253
                    646: 30130 IVDELE = IVDELE + 1                                               06430253
                    647:       WRITE (I02,80000) IVTNUM                                          06440253
                    648:       IF (ICZERO) 10130, 0141, 20130                                    06450253
                    649: 10130 IVPASS = IVPASS + 1                                               06460253
                    650:       WRITE (I02,80002) IVTNUM                                          06470253
                    651:       GO TO 0141                                                        06480253
                    652: 20130 IVFAIL = IVFAIL + 1                                               06490253
                    653:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          06500253
                    654:  0141 CONTINUE                                                          06510253
                    655: C                                                                       06520253
                    656: C     ****  FCVS PROGRAM 253  -  TEST 014  ****                         06530253
                    657: C                                                                       06540253
                    658: C        TEST 014 IS TO CHECK FOR PROPER TRANSFER OF CONTROL USING      06550253
                    659: C     LOGICAL IF STATEMENTS WITHIN IF-BLOCKS AND BRANCHING TO THE       06560253
                    660: C     OUTERMOST IF-LEVEL FROM THE INNERMOST IF-LEVEL IN A CONTROLLED    06570253
                    661: C     LOOP.  THE INNERMOST IF-LEVEL SHOULD BE EXECUTED 10 TIMES.  A     06580253
                    662: C     LOGICAL IF STATEMENT IS USED IN EACH OF THE IF-LEVELS IN CASE     06590253
                    663: C     THE EXECUTION LOGIC BRANCHES INCORRECTLY.  THIS SHOULD PREVENT    06600253
                    664: C     AN INFINITE LOOP DURING THE EXECUTION OF THIS ROUTINE.            06610253
                    665: C                                                                       06620253
                    666: C                                                                       06630253
                    667:       IVTNUM =  14                                                      06640253
                    668:       IF (ICZERO) 30140, 0140, 30140                                    06650253
                    669:  0140 CONTINUE                                                          06660253
                    670:       IVCOMP = 0                                                        06670253
                    671:       IVON01 = 0                                                        06680253
                    672:       IVON02 = 0                                                        06690253
                    673:       IVON03 = 0                                                        06700253
                    674:  0142 IF ( IVON03 .LT. 10 )  THEN                                       06710253
                    675:            IVON01 = IVON01 + 1                                          06720253
                    676:            IF ( IVON01 .GT. 11 )  GO TO 0143                            06730253
                    677:            IF ( IVON03 .LT. 10 )  THEN                                  06740253
                    678:                 IVON02 = IVON02 + 1                                     06750253
                    679:                 IF ( IVON02 .GT. 11 )  GO TO 0143                       06760253
                    680:                 IF ( IVON03 .LT. 10 )  THEN                             06770253
                    681:                      IVON03 = IVON03 + 1                                06780253
                    682:                      IF ( IVON03 .GT. 11 )  GO TO 0143                  06790253
                    683:                      IF ( IVON03 .LE. 10 )  GO TO 0142                  06800253
                    684:                 END IF                                                  06810253
                    685:            END IF                                                       06820253
                    686:       END IF                                                            06830253
                    687:  0143 CONTINUE                                                          06840253
                    688:       IVCOMP = IVON01                                                   06850253
                    689:       IVCORR = 10                                                       06860253
                    690: 40140 IF ( IVCOMP - 10 ) 20140, 10140, 20140                            06870253
                    691: 30140 IVDELE = IVDELE + 1                                               06880253
                    692:       WRITE (I02,80000) IVTNUM                                          06890253
                    693:       IF (ICZERO) 10140, 0151, 20140                                    06900253
                    694: 10140 IVPASS = IVPASS + 1                                               06910253
                    695:       WRITE (I02,80002) IVTNUM                                          06920253
                    696:       GO TO 0151                                                        06930253
                    697: 20140 IVFAIL = IVFAIL + 1                                               06940253
                    698:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          06950253
                    699:  0151 CONTINUE                                                          06960253
                    700: C                                                                       06970253
                    701: C        THE NEXT TWO TESTS ARE TO CHECK THE COUNTERS IN IF-LEVEL 2 AND 06980253
                    702: C     IF-LEVEL 3 RESPECTIVELY IN THE PREVIOUS TEST.                     06990253
                    703: C                                                                       07000253
                    704: C                                                                       07010253
                    705: C                                                                       07020253
                    706: C     ****  FCVS PROGRAM 253  -  TEST 015  ****                         07030253
                    707: C                                                                       07040253
                    708: C     TEST 015 CHECKS THAT THE INTEGER COUNTER IN IF-LEVEL 2 IN THE     07050253
                    709: C     PREVIOUS TEST IS EQUAL TO TEN (10).                               07060253
                    710: C                                                                       07070253
                    711: C                                                                       07080253
                    712:       IVTNUM =  15                                                      07090253
                    713:       IF (ICZERO) 30150, 0150, 30150                                    07100253
                    714:  0150 CONTINUE                                                          07110253
                    715:       IVCOMP = IVON02                                                   07120253
                    716:       IVCORR = 10                                                       07130253
                    717: 40150 IF ( IVCOMP - 10 ) 20150, 10150, 20150                            07140253
                    718: 30150 IVDELE = IVDELE + 1                                               07150253
                    719:       WRITE (I02,80000) IVTNUM                                          07160253
                    720:       IF (ICZERO) 10150, 0161, 20150                                    07170253
                    721: 10150 IVPASS = IVPASS + 1                                               07180253
                    722:       WRITE (I02,80002) IVTNUM                                          07190253
                    723:       GO TO 0161                                                        07200253
                    724: 20150 IVFAIL = IVFAIL + 1                                               07210253
                    725:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          07220253
                    726:  0161 CONTINUE                                                          07230253
                    727: C                                                                       07240253
                    728: C     ****  FCVS PROGRAM 253  -  TEST 016  ****                         07250253
                    729: C                                                                       07260253
                    730: C        TEST 016 CHECKS THAT THE INTEGER COUNTER IN IF-LEVEL 3 IN THE  07270253
                    731: C     PREVIOUS TEST IS EQUAL TO TEN (10).                               07280253
                    732: C                                                                       07290253
                    733: C                                                                       07300253
                    734:       IVTNUM =  16                                                      07310253
                    735:       IF (ICZERO) 30160, 0160, 30160                                    07320253
                    736:  0160 CONTINUE                                                          07330253
                    737:       IVCOMP = IVON03                                                   07340253
                    738:       IVCORR = 10                                                       07350253
                    739: 40160 IF ( IVCOMP - 10 )  20160, 10160, 20160                           07360253
                    740: 30160 IVDELE = IVDELE + 1                                               07370253
                    741:       WRITE (I02,80000) IVTNUM                                          07380253
                    742:       IF (ICZERO) 10160, 0171, 20160                                    07390253
                    743: 10160 IVPASS = IVPASS + 1                                               07400253
                    744:       WRITE (I02,80002) IVTNUM                                          07410253
                    745:       GO TO 0171                                                        07420253
                    746: 20160 IVFAIL = IVFAIL + 1                                               07430253
                    747:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          07440253
                    748:  0171 CONTINUE                                                          07450253
                    749: C                                                                       07460253
                    750: C        THE NEXT THREE TESTS ARE SIMILAR TO THE PREVIOUS THREE TESTS   07470253
                    751: C     IN THAT THEY TEST THE TRANSFER OF CONTROL WITHIN A THREE LEVEL    07480253
                    752: C     BLOCK IF STRUCTURE.  EACH OF THE IF-LEVELS ARE EXECUTED AS IF THEY07490253
                    753: C     WERE A LOOP USING LOGICAL IF STATEMENTS WITHIN EACH IF-LEVEL.     07500253
                    754: C                                                                       07510253
                    755: C                                                                       07520253
                    756: C                                                                       07530253
                    757: C     ****  FCVS PROGRAM 253  -  TEST 017  ****                         07540253
                    758: C                                                                       07550253
                    759: C        TEST 017 CHECKS THAT THE VALUE OF THE INTEGER COUNTER IVON04 IN07560253
                    760: C     IF-LEVEL 1 IN THIS TEST EQUALS 10.                                07570253
                    761: C                                                                       07580253
                    762: C                                                                       07590253
                    763:       IVTNUM =  17                                                      07600253
                    764:       IF (ICZERO) 30170, 0170, 30170                                    07610253
                    765:  0170 CONTINUE                                                          07620253
                    766:       IVCOMP = 0                                                        07630253
                    767:       IVON01 = 0                                                        07640253
                    768:       IVON02 = 0                                                        07650253
                    769:       IVON03 = 0                                                        07660253
                    770:       IVON04 = 0                                                        07670253
                    771:       IVON05 = 0                                                        07680253
                    772:       IVON06 = 0                                                        07690253
                    773: C                                                                       07700253
                    774:  0172 IF ( IVON01 .LT. 10 )  THEN                                       07710253
                    775:            IVON01 = IVON01 + 1                                          07720253
                    776:            IVON04 = IVON04 + 1                                          07730253
                    777:            IF ( IVON01 .GT. 11 )  GO TO 0175                            07740253
                    778:  0173      IF ( IVON02 .LT. 10 )  THEN                                  07750253
                    779:                 IVON02 = IVON02 + 1                                     07760253
                    780:                 IVON05 = IVON05 + 1                                     07770253
                    781:                IF ( IVON02 .GT. 11 )  GO TO 0175                        07780253
                    782:  0174           IF ( IVON03 .LT. 10 )  THEN                             07790253
                    783:                      IVON03 = IVON03 + 1                                07800253
                    784:                      IVON06 = IVON06 + 1                                07810253
                    785:                      IF ( IVON03 .GT. 11 )  GO TO 0175                  07820253
                    786:                      IF ( IVON03 .LE. 10 )  GO TO 0174                  07830253
                    787:                 END IF                                                  07840253
                    788:                 IVON03 = 0                                              07850253
                    789:                 IF ( IVON02 .LE. 10 )  GO TO 0173                       07860253
                    790:            END IF                                                       07870253
                    791:            IVON02 = 0                                                   07880253
                    792:            IF ( IVON01 .LE. 10 )  GO TO 0172                            07890253
                    793:       END IF                                                            07900253
                    794:  0175 CONTINUE                                                          07910253
                    795:       IVCOMP = IVON04                                                   07920253
                    796:       IVCORR = 10                                                       07930253
                    797: 40170 IF ( IVCOMP - 10 )  20170, 10170, 20170                           07940253
                    798: 30170 IVDELE = IVDELE + 1                                               07950253
                    799:       WRITE (I02,80000) IVTNUM                                          07960253
                    800:       IF (ICZERO) 10170, 0181, 20170                                    07970253
                    801: 10170 IVPASS = IVPASS + 1                                               07980253
                    802:       WRITE (I02,80002) IVTNUM                                          07990253
                    803:       GO TO 0181                                                        08000253
                    804: 20170 IVFAIL = IVFAIL + 1                                               08010253
                    805:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          08020253
                    806:  0181 CONTINUE                                                          08030253
                    807: C                                                                       08040253
                    808: C     ****  FCVS PROGRAM 253  -  TEST 018  ****                         08050253
                    809: C                                                                       08060253
                    810: C        TEST 018 CHECKS THAT THE VALUE OF THE INTEGER COUNTER IVON05 IN08070253
                    811: C     IF-LEVEL 2 OF THE PREVIOUS TEST EQUALS 100.                       08080253
                    812: C                                                                       08090253
                    813: C                                                                       08100253
                    814:       IVTNUM =  18                                                      08110253
                    815:       IF (ICZERO) 30180, 0180, 30180                                    08120253
                    816:  0180 CONTINUE                                                          08130253
                    817:       IVCOMP = IVON05                                                   08140253
                    818:       IVCORR = 100                                                      08150253
                    819: 40180 IF ( IVCOMP - 100 )  20180, 10180, 20180                          08160253
                    820: 30180 IVDELE = IVDELE + 1                                               08170253
                    821:       WRITE (I02,80000) IVTNUM                                          08180253
                    822:       IF (ICZERO) 10180, 0191, 20180                                    08190253
                    823: 10180 IVPASS = IVPASS + 1                                               08200253
                    824:       WRITE (I02,80002) IVTNUM                                          08210253
                    825:       GO TO 0191                                                        08220253
                    826: 20180 IVFAIL = IVFAIL + 1                                               08230253
                    827:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          08240253
                    828:  0191 CONTINUE                                                          08250253
                    829: C                                                                       08260253
                    830: C     ****  FCVS PROGRAM 253  -  TEST 019  ****                         08270253
                    831: C                                                                       08280253
                    832: C        TEST 019 CHECKS THAT THE VALUE OF THE INTEGER COUNTER IVON06 IN08290253
                    833: C     IF-LEVEL 3 OF THE PREVIOUS TEST EQUALS 1000.                      08300253
                    834: C                                                                       08310253
                    835: C                                                                       08320253
                    836:       IVTNUM =  19                                                      08330253
                    837:       IF (ICZERO) 30190, 0190, 30190                                    08340253
                    838:  0190 CONTINUE                                                          08350253
                    839:       IVCOMP = IVON06                                                   08360253
                    840:       IVCORR = 1000                                                     08370253
                    841: 40190 IF ( IVCOMP - 1000 )  20190, 10190, 20190                         08380253
                    842: 30190 IVDELE = IVDELE + 1                                               08390253
                    843:       WRITE (I02,80000) IVTNUM                                          08400253
                    844:       IF (ICZERO) 10190, 0201, 20190                                    08410253
                    845: 10190 IVPASS = IVPASS + 1                                               08420253
                    846:       WRITE (I02,80002) IVTNUM                                          08430253
                    847:       GO TO 0201                                                        08440253
                    848: 20190 IVFAIL = IVFAIL + 1                                               08450253
                    849:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          08460253
                    850:  0201 CONTINUE                                                          08470253
                    851: C                                                                       08480253
                    852: C     ****  FCVS PROGRAM 253  -  TEST 020  ****                         08490253
                    853: C                                                                       08500253
                    854: C        TEST 020 USES A LOGICAL STATEMENT FUNCTION  LFIS01(L) AS       08510253
                    855: C     THE LOGICAL EXPRESSION IN A BLOCK IF STRUCTURE.  THE LOGICAL      08520253
                    856: C     STATEMENT FUNCTION TAKES THE LOGICAL COMPLEMENT OF THE LOGICAL    08530253
                    857: C     VALUE SUPPLIED.  THE VALUE OF .FALSE. IS SUPPLIED AND THE LOGICAL 08540253
                    858: C     VALUE OF .TRUE. SHOULD BE RETURNED AS THE LOGICAL FUNCTION        08550253
                    859: C     REFERENCE.  THE IF-BLOCK OF LEVEL ONE SHOULD BE EXECUTED.         08560253
                    860: C                                                                       08570253
                    861: C                                                                       08580253
                    862:       IVTNUM =  20                                                      08590253
                    863:       IF (ICZERO) 30200, 0200, 30200                                    08600253
                    864:  0200 CONTINUE                                                          08610253
                    865:       IVCOMP = 0                                                        08620253
                    866:       LVON01 = .FALSE.                                                  08630253
                    867:       IF ( LFIS01( LVON01 ) )  THEN                                     08640253
                    868:            IVCOMP = 1                                                   08650253
                    869:       END IF                                                            08660253
                    870:       IVCORR = 1                                                        08670253
                    871: 40200 IF ( IVCOMP - 1 )  20200, 10200, 20200                            08680253
                    872: 30200 IVDELE = IVDELE + 1                                               08690253
                    873:       WRITE (I02,80000) IVTNUM                                          08700253
                    874:       IF (ICZERO) 10200, 0211, 20200                                    08710253
                    875: 10200 IVPASS = IVPASS + 1                                               08720253
                    876:       WRITE (I02,80002) IVTNUM                                          08730253
                    877:       GO TO 0211                                                        08740253
                    878: 20200 IVFAIL = IVFAIL + 1                                               08750253
                    879:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          08760253
                    880:  0211 CONTINUE                                                          08770253
                    881: C                                                                       08780253
                    882: C                                                                       08790253
                    883: C        THE FOLLOWING SERIES OF TESTS ARE TO CHECK THE PRECEDENCE OF   08800253
                    884: C     OPERATORS.  THESE INCLUDE ARITHMETIC, RELATIONAL, AND LOGICAL     08810253
                    885: C     OPERATORS.  ARITHMETIC OPERATORS ARE CHECKED FIRST FROM THE       08820253
                    886: C     EVALUATION OF CERTAIN ARITHMETIC EXPRESSIONS THAT USE ONLY INTEGER08830253
                    887: C     VALUES IN THE COMPUTATIONS.  ALL INTERMEDIATE AND FINAL VALUES ARE08840253
                    888: C     LESS THAN 32767.  AFTER EACH OF THE STATEMENTS IS TESTED BY ITSELF08850253
                    889: C     THEN THE RELATIONAL OPERATORS ARE TESTED USING THE INTEGER VALUES 08860253
                    890: C     OBTAINED IN EACH OF THE ARITHMETIC EXPRESSIONS.  IN THIS TEST THE 08870253
                    891: C     RELATIONAL EXPRESSIONS ARE COMBINED WITH LOGICAL OPERATORS TO     08880253
                    892: C     PRODUCE A LOGICAL EXPRESSION.  FINALLY THE ENTIRE SET OF SIX (6)  08890253
                    893: C     ARITHMETIC , RELATIONAL, AND LOGICAL EXPRESSIONS IS COMBINED INTO 08900253
                    894: C     ONE LOGICAL IF STATEMENT.                                         08910253
                    895: C                                                                       08920253
                    896: C                                                                       08930253
                    897: C                                                                       08940253
                    898: C     ****  FCVS PROGRAM 253  -  TEST 021  ****                         08950253
                    899: C                                                                       08960253
                    900: C        TEST 021 CHECKS THE ORDER OF EVALUATION WHEN AN ARITHMETIC     08970253
                    901: C     EXPRESSION HAS PARENTHESES AND A SERIES OF EXPONENTIATION.  THE   08980253
                    902: C     ORDER OF EVALUATION IS SHOWN BELOW -                              08990253
                    903: C                                                                       09000253
                    904: C        1 + 2 * ( 4 - 2 ) ** 2 ** 3 - 4 / 2                            09010253
                    905: C        1 + 2 * ( 2 ) ** 2 ** 3 - 4 / 2                                09020253
                    906: C        1 + 2 * 2 ** 8 - 4 / 2                                         09030253
                    907: C        1 + 2 * 256 - 4 / 2                                            09040253
                    908: C        1 + 512 - 2                                                    09050253
                    909: C        513 - 2                                                        09060253
                    910: C        511                                                            09070253
                    911: C                                                                       09080253
                    912:       IVTNUM =  21                                                      09090253
                    913:       IF (ICZERO) 30210, 0210, 30210                                    09100253
                    914:  0210 CONTINUE                                                          09110253
                    915:       IVON01 = 1                                                        09120253
                    916:       IVON02 = 2                                                        09130253
                    917:       IVON03 = 4                                                        09140253
                    918:       IVON04 = 2                                                        09150253
                    919:       IVON05 = 4                                                        09160253
                    920:       IVON06 = 2                                                        09170253
                    921:       IVCOMP = IVON01 + IVON02 * ( IVON03 - IVON04 ) ** 2 ** 3 - IVON05 09180253
                    922:      1         / IVON06                                                 09190253
                    923:       IVCORR = 511                                                      09200253
                    924: 40210 IF ( IVCOMP - 511 )  20210, 10210, 20210                          09210253
                    925: 30210 IVDELE = IVDELE + 1                                               09220253
                    926:       WRITE (I02,80000) IVTNUM                                          09230253
                    927:       IF (ICZERO) 10210, 0221, 20210                                    09240253
                    928: 10210 IVPASS = IVPASS + 1                                               09250253
                    929:       WRITE (I02,80002) IVTNUM                                          09260253
                    930:       GO TO 0221                                                        09270253
                    931: 20210 IVFAIL = IVFAIL + 1                                               09280253
                    932:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          09290253
                    933:  0221 CONTINUE                                                          09300253
                    934: C                                                                       09310253
                    935: C     ****  FCVS PROGRAM 253  -  TEST 022  ****                         09320253
                    936: C                                                                       09330253
                    937: C        TEST 022 IS A SERIES OF DIVISIONS FOLLOWED BY A SERIES OF      09340253
                    938: C     MULTIPLICATIONS ALL WITHOUT ANY PARENTHESES.                      09350253
                    939: C                                                                       09360253
                    940: C        16 / 2 / 2 / 2 * 4 * 8                                         09370253
                    941: C        8 / 2 / 2 * 4 * 8                                              09380253
                    942: C        4 / 2 * 4 * 8                                                  09390253
                    943: C        2 * 4 * 8                                                      09400253
                    944: C        8 * 8                                                          09410253
                    945: C        64                                                             09420253
                    946: C                                                                       09430253
                    947: C                                                                       09440253
                    948:       IVTNUM =  22                                                      09450253
                    949:       IF (ICZERO) 30220, 0220, 30220                                    09460253
                    950:  0220 CONTINUE                                                          09470253
                    951:       IVON07 = 16                                                       09480253
                    952:       IVON08 = 2                                                        09490253
                    953:       IVON09 = 2                                                        09500253
                    954:       IVON10 = 2                                                        09510253
                    955:       IVON11 = 4                                                        09520253
                    956:       IVON12 = 8                                                        09530253
                    957:       IVCOMP = IVON07 / IVON08 / IVON09 / IVON10 * IVON11 * IVON12      09540253
                    958:       IVCORR = 64                                                       09550253
                    959: 40220 IF ( IVCOMP - 64 ) 20220, 10220, 20220                            09560253
                    960: 30220 IVDELE = IVDELE + 1                                               09570253
                    961:       WRITE (I02,80000) IVTNUM                                          09580253
                    962:       IF (ICZERO) 10220, 0231, 20220                                    09590253
                    963: 10220 IVPASS = IVPASS + 1                                               09600253
                    964:       WRITE (I02,80002) IVTNUM                                          09610253
                    965:       GO TO 0231                                                        09620253
                    966: 20220 IVFAIL = IVFAIL + 1                                               09630253
                    967:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          09640253
                    968:  0231 CONTINUE                                                          09650253
                    969: C                                                                       09660253
                    970: C     ****  FCVS PROGRAM 253  -  TEST 023  ****                         09670253
                    971: C                                                                       09680253
                    972: C        TEST 023 HAS ONE SUBTRACTION IMBEDDED IN A SERIES OF ADDITIONS 09690253
                    973: C     WITHOUT ANY PARENTHESES.                                          09700253
                    974: C                                                                       09710253
                    975: C        3 + 4 - 1 + 5                                                  09720253
                    976: C        7 - 1 + 5                                                      09730253
                    977: C        6 + 5                                                          09740253
                    978: C        11                                                             09750253
                    979: C                                                                       09760253
                    980: C                                                                       09770253
                    981:       IVTNUM =  23                                                      09780253
                    982:       IF (ICZERO) 30230, 0230, 30230                                    09790253
                    983:  0230 CONTINUE                                                          09800253
                    984:       IVON13 = 3                                                        09810253
                    985:       IVON14 = 4                                                        09820253
                    986:       IVON15 = 1                                                        09830253
                    987:       IVON16 = 5                                                        09840253
                    988:       IVCOMP = IVON13 + IVON14 - IVON15 + IVON16                        09850253
                    989:       IVCORR = 11                                                       09860253
                    990: 40230 IF ( IVCOMP - 11 )  20230, 10230, 20230                           09870253
                    991: 30230 IVDELE = IVDELE + 1                                               09880253
                    992:       WRITE (I02,80000) IVTNUM                                          09890253
                    993:       IF (ICZERO) 10230, 0241, 20230                                    09900253
                    994: 10230 IVPASS = IVPASS + 1                                               09910253
                    995:       WRITE (I02,80002) IVTNUM                                          09920253
                    996:       GO TO 0241                                                        09930253
                    997: 20230 IVFAIL = IVFAIL + 1                                               09940253
                    998:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          09950253
                    999:  0241 CONTINUE                                                          09960253
                   1000: C                                                                       09970253
                   1001: C     ****  FCVS PROGRAM 253  -  TEST 024  ****                         09980253
                   1002: C                                                                       09990253
                   1003: C        TEST 024 HAS ADDITION, SUBTRACTION, MULTIPLICATION, DIVISION,  10000253
                   1004: C     AND EXPONENTIATION WITHOUT PARENTHESES.                           10010253
                   1005: C                                                                       10020253
                   1006: C        4 + 4 - 6 * 3 / 3 ** 2                                         10030253
                   1007: C        4 + 4 - 6 * 3 / 9                                              10040253
                   1008: C        4 + 4 - 18 / 9                                                 10050253
                   1009: C        4 + 4 - 2                                                      10060253
                   1010: C        8 - 2                                                          10070253
                   1011: C        6                                                              10080253
                   1012: C                                                                       10090253
                   1013: C                                                                       10100253
                   1014:       IVTNUM =  24                                                      10110253
                   1015:       IF (ICZERO) 30240, 0240, 30240                                    10120253
                   1016:  0240 CONTINUE                                                          10130253
                   1017:       IVON17 = 4                                                        10140253
                   1018:       IVON18 = 4                                                        10150253
                   1019:       IVON19 = 6                                                        10160253
                   1020:       IVON20 = 3                                                        10170253
                   1021:       IVON21 = 3                                                        10180253
                   1022:       IVON22 = 2                                                        10190253
                   1023:       IVCOMP = IVON17 + IVON18 - IVON19 * IVON20 / IVON21 ** IVON22     10200253
                   1024:       IVCORR = 6                                                        10210253
                   1025: 40240 IF ( IVCOMP - 6 )  20240, 10240, 20240                            10220253
                   1026: 30240 IVDELE = IVDELE + 1                                               10230253
                   1027:       WRITE (I02,80000) IVTNUM                                          10240253
                   1028:       IF (ICZERO) 10240, 0251, 20240                                    10250253
                   1029: 10240 IVPASS = IVPASS + 1                                               10260253
                   1030:       WRITE (I02,80002) IVTNUM                                          10270253
                   1031:       GO TO 0251                                                        10280253
                   1032: 20240 IVFAIL = IVFAIL + 1                                               10290253
                   1033:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          10300253
                   1034:  0251 CONTINUE                                                          10310253
                   1035: C                                                                       10320253
                   1036: C     ****  FCVS PROGRAM 253  -  TEST 025  ****                         10330253
                   1037: C                                                                       10340253
                   1038: C        TEST 025 IS LIKE TEST NUMBER 021 EXCEPT THAT THE PARENTHESES   10350253
                   1039: C     HAVE BEEN REMOVED.  THE INTEGER VALUES USED AS INPUT ARE THE SAME.10360253
                   1040: C     REMOVAL OF THE PARENTHESES CHANGES THE ORDER OF EVALUATION SO THE 10370253
                   1041: C     FINAL INTEGER RESULT IS DIFFERENT.                                10380253
                   1042: C                                                                       10390253
                   1043: C        1 + 2 * 4 - 2 ** 2 ** 3 - 4 / 2                                10400253
                   1044: C        1 + 2 * 4 - 2 ** 8 - 4 / 2                                     10410253
                   1045: C        1 + 2 * 4 - 256 - 4 / 2                                        10420253
                   1046: C        1 + 8 - 256 - 2                                                10430253
                   1047: C        9 - 256 - 2                                                    10440253
                   1048: C        -247 - 2                                                       10450253
                   1049: C        -249                                                           10460253
                   1050: C                                                                       10470253
                   1051:       IVTNUM =  25                                                      10480253
                   1052:       IF (ICZERO) 30250, 0250, 30250                                    10490253
                   1053:  0250 CONTINUE                                                          10500253
                   1054:       IVON23 = 1                                                        10510253
                   1055:       IVON24 = 2                                                        10520253
                   1056:       IVON25 = 4                                                        10530253
                   1057:       IVON26 = 2                                                        10540253
                   1058:       IVON27 = 4                                                        10550253
                   1059:       IVON28 = 2                                                        10560253
                   1060:       IVCOMP = IVON23 + IVON24 * IVON25 - IVON26 ** 2 ** 3 - IVON27     10570253
                   1061:      1          / IVON28                                                10580253
                   1062:       IVCORR = -249                                                     10590253
                   1063: 40250 IF ( IVCOMP + 249 )  20250, 10250, 20250                          10600253
                   1064: 30250 IVDELE = IVDELE + 1                                               10610253
                   1065:       WRITE (I02,80000) IVTNUM                                          10620253
                   1066:       IF (ICZERO) 10250, 0261, 20250                                    10630253
                   1067: 10250 IVPASS = IVPASS + 1                                               10640253
                   1068:       WRITE (I02,80002) IVTNUM                                          10650253
                   1069:       GO TO 0261                                                        10660253
                   1070: 20250 IVFAIL = IVFAIL + 1                                               10670253
                   1071:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          10680253
                   1072:  0261 CONTINUE                                                          10690253
                   1073: C                                                                       10700253
                   1074: C     ****  FCVS PROGRAM 253  -  TEST 026  ****                         10710253
                   1075: C                                                                       10720253
                   1076: C        TEST 026 IS JUST LIKE TEST NUMBER 022 EXCEPT THAT PARENTHESES  10730253
                   1077: C     HAVE BEEN ADDED.  ALTHOUGH THE INTEGER VALUES ARE THE SAME, THE   10740253
                   1078: C     PARENTHESES CHANGE THE ORDER OF EVALUATION SO THAT THE FINAL      10750253
                   1079: C     INTEGER RESULT IS DIFFERENT.                                      10760253
                   1080: C                                                                       10770253
                   1081: C        16 / ( 2 / 2 ) / 2 * ( 4 * 8 )                                 10780253
                   1082: C        16 / ( 1 ) / 2 * ( 32 )                                        10790253
                   1083: C        16 / 2 * 32                                                    10800253
                   1084: C        8 * 32                                                         10810253
                   1085: C        256                                                            10820253
                   1086: C                                                                       10830253
                   1087:       IVTNUM =  26                                                      10840253
                   1088:       IF (ICZERO) 30260, 0260, 30260                                    10850253
                   1089:  0260 CONTINUE                                                          10860253
                   1090:       IVON29 = 16                                                       10870253
                   1091:       IVON30 = 2                                                        10880253
                   1092:       IVON31 = 2                                                        10890253
                   1093:       IVON32 = 2                                                        10900253
                   1094:       IVON33 = 4                                                        10910253
                   1095:       IVON34 = 8                                                        10920253
                   1096:       IVCOMP = IVON29 / ( IVON30 / IVON31 ) / IVON32 * ( IVON33 *       10930253
                   1097:      1          IVON34 )                                                10940253
                   1098:       IVCORR = 256                                                      10950253
                   1099: 40260 IF ( IVCOMP - 256 )  20260, 10260, 20260                          10960253
                   1100: 30260 IVDELE = IVDELE + 1                                               10970253
                   1101:       WRITE (I02,80000) IVTNUM                                          10980253
                   1102:       IF (ICZERO) 10260, 0271, 20260                                    10990253
                   1103: 10260 IVPASS = IVPASS + 1                                               11000253
                   1104:       WRITE (I02,80002) IVTNUM                                          11010253
                   1105:       GO TO 0271                                                        11020253
                   1106: 20260 IVFAIL = IVFAIL + 1                                               11030253
                   1107:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          11040253
                   1108:  0271 CONTINUE                                                          11050253
                   1109: C                                                                       11060253
                   1110: C     ****  FCVS PROGRAM 253  -  TEST 027  ****                         11070253
                   1111: C                                                                       11080253
                   1112: C        TEST 027 COMBINES THE INTEGER RESULTS OBTAINED IN THE PREVIOUS 11090253
                   1113: C     SIX TESTS AND USES RELATIONAL AND LOGICAL OPERATORS IN ONE        11100253
                   1114: C     LOGICAL EXPRESSION.  RELATIONAL EXPRESSIONS ARE EVALUATED FIRST   11110253
                   1115: C     FOLLOWED BY THE LOGICAL OPERATORS .NOT. , .AND., AND .OR. IN THAT 11120253
                   1116: C     ORDER.                                                            11130253
                   1117: C                                                                       11140253
                   1118: C        511 .LT. 64 .OR. .NOT. 11 .LE. 6 .AND. -249 .LE. 256           11150253
                   1119: C        F .OR. .NOT. F .AND. T                                         11160253
                   1120: C        F .OR. T .AND. T                                               11170253
                   1121: C        F .OR. T                                                       11180253
                   1122: C        T                                                              11190253
                   1123: C                                                                       11200253
                   1124: C                                                                       11210253
                   1125:       IVTNUM =  27                                                      11220253
                   1126:       IF (ICZERO) 30270, 0270, 30270                                    11230253
                   1127:  0270 CONTINUE                                                          11240253
                   1128:       IVON35 = 511                                                      11250253
                   1129:       IVON36 = 64                                                       11260253
                   1130:       IVON37 = 11                                                       11270253
                   1131:       IVON38 = 6                                                        11280253
                   1132:       IVON39 = -249                                                     11290253
                   1133:       IVON40 = 256                                                      11300253
                   1134:       IVCOMP = 0                                                        11310253
                   1135:       LVON01 = IVON35 .LT. IVON36 .OR. .NOT. IVON37 .LE. IVON38 .AND.   11320253
                   1136:      1          IVON39 .LE. IVON40                                      11330253
                   1137:       IF ( LVON01 )  IVCOMP = 1                                         11340253
                   1138:       IVCORR = 1                                                        11350253
                   1139: 40270 IF ( IVCOMP - 1 )  20270, 10270, 20270                            11360253
                   1140: 30270 IVDELE = IVDELE + 1                                               11370253
                   1141:       WRITE (I02,80000) IVTNUM                                          11380253
                   1142:       IF (ICZERO) 10270, 0281, 20270                                    11390253
                   1143: 10270 IVPASS = IVPASS + 1                                               11400253
                   1144:       WRITE (I02,80002) IVTNUM                                          11410253
                   1145:       GO TO 0281                                                        11420253
                   1146: 20270 IVFAIL = IVFAIL + 1                                               11430253
                   1147:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          11440253
                   1148:  0281 CONTINUE                                                          11450253
                   1149: C                                                                       11460253
                   1150: C     ****  FCVS PROGRAM 253  -  TEST 028  ****                         11470253
                   1151: C                                                                       11480253
                   1152: C        TEST 028 IS THE BIGGIE.  IT COMBINES ALL OF THE INTEGER VALUES 11490253
                   1153: C     AND RESULTS IN THE PREVIOUS SEVEN (7) TESTS.  IF THERE WERE ANY   11500253
                   1154: C     ERRORS IN ANY OF THE PREVIOUS SEVEN TESTS, THEN THIS TEST SHOULD  11510253
                   1155: C     ALSO FAIL.                                                        11520253
                   1156: C                                                                       11530253
                   1157: C                                                                       11540253
                   1158:       IVTNUM =  28                                                      11550253
                   1159:       IF (ICZERO) 30280, 0280, 30280                                    11560253
                   1160:  0280 CONTINUE                                                          11570253
                   1161:       IVCOMP = 0                                                        11580253
                   1162:       IF ( IVON01 + IVON02 * ( IVON03 - IVON04 ) ** 2 ** 3 - IVON05 /   11590253
                   1163:      1IVON06 .LT. IVON07 / IVON08 / IVON09 / IVON10 * IVON11 * IVON12   11600253
                   1164:      2.OR. .NOT. IVON13 + IVON14 - IVON15 + IVON16 .LE. IVON17 + IVON18 11610253
                   1165:      3- IVON19 * IVON20 / IVON21 ** IVON22 .AND. IVON23 + IVON24 *      11620253
                   1166:      4IVON25 - IVON26 ** 2 ** 3 - IVON27 / IVON28 .LE. IVON29 / ( IVON3011630253
                   1167:      5 / IVON31 ) / IVON32 * ( IVON33 * IVON34 ) )  IVCOMP = 1          11640253
                   1168:       IVCORR = 1                                                        11650253
                   1169: 40280 IF ( IVCOMP - 1 )  20280, 10280, 20280                            11660253
                   1170: 30280 IVDELE = IVDELE + 1                                               11670253
                   1171:       WRITE (I02,80000) IVTNUM                                          11680253
                   1172:       IF (ICZERO) 10280, 0291, 20280                                    11690253
                   1173: 10280 IVPASS = IVPASS + 1                                               11700253
                   1174:       WRITE (I02,80002) IVTNUM                                          11710253
                   1175:       GO TO 0291                                                        11720253
                   1176: 20280 IVFAIL = IVFAIL + 1                                               11730253
                   1177:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          11740253
                   1178:  0291 CONTINUE                                                          11750253
                   1179: C                                                                       11760253
                   1180: C                                                                       11770253
                   1181: C     WRITE OUT TEST SUMMARY                                            11780253
                   1182: C                                                                       11790253
                   1183:       WRITE (I02,90004)                                                 11800253
                   1184:       WRITE (I02,90014)                                                 11810253
                   1185:       WRITE (I02,90004)                                                 11820253
                   1186:       WRITE (I02,90000)                                                 11830253
                   1187:       WRITE (I02,90004)                                                 11840253
                   1188:       WRITE (I02,90020) IVFAIL                                          11850253
                   1189:       WRITE (I02,90022) IVPASS                                          11860253
                   1190:       WRITE (I02,90024) IVDELE                                          11870253
                   1191:       STOP                                                              11880253
                   1192: 90001 FORMAT (1H ,24X,5HFM253)                                          11890253
                   1193: 90000 FORMAT (1H ,20X,20HEND OF PROGRAM FM253)                          11900253
                   1194: C                                                                       11910253
                   1195: C     FORMATS FOR TEST DETAIL LINES                                     11920253
                   1196: C                                                                       11930253
                   1197: 80000 FORMAT (1H ,4X,I5,6X,7HDELETED)                                   11940253
                   1198: 80002 FORMAT (1H ,4X,I5,7X,4HPASS)                                      11950253
                   1199: 80010 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6)                         11960253
                   1200: 80012 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5)                    11970253
                   1201: 80018 FORMAT (1H ,4X,I5,7X,4HFAIL,2X,A14,1X,A14)                        11980253
                   1202: C                                                                       11990253
                   1203: C     FORMAT STATEMENTS FOR PAGE HEADERS                                12000253
                   1204: C                                                                       12010253
                   1205: 90002 FORMAT (1H1)                                                      12020253
                   1206: 90004 FORMAT (1H )                                                      12030253
                   1207: 90006 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM)            12040253
                   1208: 90008 FORMAT (1H ,21X,11HVERSION 1.0)                                   12050253
                   1209: 90010 FORMAT (1H ,8X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978)         12060253
                   1210: 90012 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL,5X,8HCOMPUTED,8X,7HCORRECT)  12070253
                   1211: 90014 FORMAT (1H ,5X,46H----------------------------------------------) 12080253
                   1212: 90016 FORMAT (1H ,18X,17HSUBSET LEVEL TEST)                             12090253
                   1213: C                                                                       12100253
                   1214: C     FORMAT STATEMENTS FOR RUN SUMMARY                                 12110253
                   1215: C                                                                       12120253
                   1216: 90020 FORMAT (1H ,19X,I5,13H TESTS FAILED)                              12130253
                   1217: 90022 FORMAT (1H ,19X,I5,13H TESTS PASSED)                              12140253
                   1218: 90024 FORMAT (1H ,19X,I5,14H TESTS DELETED)                             12150253
                   1219:       END                                                               12160253

unix.superglobalmegacorp.com

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