FM352.f Source File


Contents

Source Code


Source Code

      PROGRAM FM352                                                     00010352
C                                                                       00020352
C                                                                       00030352
C          THIS PROGRAM CHECKS BASIC RELATIONAL EXPRESSIONS INVOLVING   00040352
C     OPERANDS OF REAL DATA TYPE.  IN EACH TEST, NOT ONLY THE RELATIONAL00050352
C     EXPRESSION IS TESTED, BUT THE TRICHOTOMY LAW OF MATHEMATICAL      00060352
C     RELATIONSHIPS IS ALSO TESTED (E.G., IF A .LT. B, THEN A CAN NOT   00070352
C     BE .GT. THAN B, AND A CAN NOT BE .EQ. B).  A TEST VARIABLE        00080352
C     (IVCOMP) IS USED TO REPORT THE RESULT OF THE TEST AS FOLLOWS,     00090352
C          IVCOMP = 0  IF BOTH THE TESTED RELATIONAL OPERATOR AND THE   00100352
C                      TRICHOTOMY TEST PASS.                            00110352
C          IVCOMP = 1  IF THE RELATIONAL TEST FAILS AND THE TRICHOTOMY  00120352
C                      TEST PASSES (WHICH WOULD INDICATE THAT A TESTED  00130352
C                      NOT .LT., .GT., OR .EQ. B).                      00140352
C          IVCOMP = 2  IF THE RELATIONAL TEST PASSES AND THE TRICHOTOMY 00150352
C                      TEST FAILS (WHICH WOULD INDICATE THAT A TESTED   00160352
C                      .LT., .GT., AND .EQ. B).                         00170352
C          IVCOMP = 3  IF BOTH THE RELATIONAL TEST AND THE TRICHOTOMY   00180352
C                      TEST FAIL (WHICH WOULD INDICATE THE RELATIONAL   00190352
C                      EXPRESSION TESTED OPPOSITE TO THAT EXPECTED      00200352
C                      (E.G., WHERE A WAS SUPPOSED TO BE .LT. B, IN     00210352
C                      FACT A .LT. B WAS FOUND TO BE FALSE AND A .GE. B 00220352
C                      WAS FOUND TO BE TRUE).                           00230352
C                                                                       00240352
C                                                                       00250352
C     REFERENCES -                                                      00260352
C                                                                       00270352
C     AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN, X3.9-197700280352
C          SECTION 4.4,  REAL TYPE                                      00290352
C          SECTION 6.3,  RELATIONAL EXPRESSIONS                         00300352
C          SECTION 6.5,  PRECEDENCE OF OPERATORS                        00310352
C          SECTION 6.6,  EVALUATION OF EXPRESSIONS                      00320352
C                                                                       00330352
C                                                                       00340352
C     ******************************************************************00350352
C         A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE         00360352
C     BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN STANDARD FORTRAN   00370352
C     X3.9-1978, HAS BEEN DEVELOPED BY THE DEPARTMENT OF THE NAVY.  THE 00380352
C     FORTRAN COMPILER VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT       00390352
C     ROUTINES, THEIR RELATED DATA, AND AN EXECUTIVE SYSTEM.  EACH AUDIT00400352
C     ROUTINE IS A FORTRAN PROGRAM OR SUBPROGRAM WHICH INCLUDES TESTS   00410352
C     OF SPECIFIC LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING00420352
C     THE RESULT OF EXECUTING THESE TESTS.                              00430352
C                                                                       00440352
C     THIS PARTICULAR PROGRAM OR SUBPROGRAM CONTAINS ONLY FEATURES      00450352
C     FOUND IN THE SUBSET LEVEL OF THE STANDARD.                        00460352
C                                                                       00470352
C           SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO             00480352
C              NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY           00490352
C                   SOFTWARE STANDARDS VALIDATION GROUP                 00500352
C                          BUILDING 225  RM A266                        00510352
C                         GAITHERSBURG, MD  20899                       00520352
C     ******************************************************************00530352
C                                                                       00540352
C                                                                       00550352
      IMPLICIT LOGICAL (L)                                              00560352
      IMPLICIT CHARACTER*14 (C)                                         00570352
C                                                                       00580352
      DIMENSION RADN11(2)                                               00590352
      RFOS01(RDON01,RDON02) = RDON01 + RDON02                           00600352
C                                                                       00610352
C                                                                       00620352
C                                                                       00630352
C     INITIALIZATION SECTION.                                           00640352
C                                                                       00650352
C     INITIALIZE CONSTANTS                                              00660352
C     ********************                                              00670352
C     I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER          00680352
      I01 = 5                                                           00690352
C     I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER              00700352
      I02 = 6                                                           00710352
C     SYSTEM ENVIRONMENT SECTION                                        00720352
C                                                                       00730352
CX010     THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-010 CONTROL CARD.00740352
C     THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5      00750352
C     (UNIT NUMBER FOR CARD READER).                                    00760352
CX011      THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD00770352
C     THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            00780352
C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE.         00790352
C                                                                       00800352
CX020     THIS CARD IS PEPLACED BY CONTENTS OF FEXEC X-020 CONTROL CARD.00810352
C     THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6      00820352
C     (UNIT NUMBER FOR PRINTER).                                        00830352
CX021     THIS CARD IS PEPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD.00840352
C     THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            00850352
C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE.         00860352
C                                                                       00870352
      IVPASS = 0                                                        00880352
      IVFAIL = 0                                                        00890352
      IVDELE = 0                                                        00900352
      ICZERO = 0                                                        00910352
C                                                                       00920352
C     WRITE OUT PAGE HEADERS                                            00930352
C                                                                       00940352
      WRITE (I02,90002)                                                 00950352
      WRITE (I02,90006)                                                 00960352
      WRITE (I02,90008)                                                 00970352
      WRITE (I02,90004)                                                 00980352
      WRITE (I02,90010)                                                 00990352
      WRITE (I02,90004)                                                 01000352
      WRITE (I02,90016)                                                 01010352
      WRITE (I02,90001)                                                 01020352
      WRITE (I02,90004)                                                 01030352
      WRITE (I02,90012)                                                 01040352
      WRITE (I02,90014)                                                 01050352
      WRITE (I02,90004)                                                 01060352
C                                                                       01070352
C                                                                       01080352
C          TESTS 1 THROUGH 13 CHECK BASIC RELATIONAL EXPRESSIONS USING  01090352
C     ONLY REAL VARIABLE OPERANDS.  ALL THE VARIABLES ARE ASSIGNED REAL 01100352
C     CONSTANTS WITH EXPONENTIAL FORMAT.                                01110352
C                                                                       01120352
C                                                                       01130352
C     ****  FCVS PROGRAM 352  -  TEST 001  ****                         01140352
C                                                                       01150352
C          TEST 1 CHECKS THE .LT. OPERATOR USING TWO REAL OPERANDS      01160352
C     WHERE THE MANTISSAS ARE EQUAL BUT THE EXPONENTS ARE DIFFERENT.    01170352
C                                                                       01180352
      IVTNUM =   1                                                      01190352
      IF (ICZERO) 30010, 0010, 30010                                    01200352
 0010 CONTINUE                                                          01210352
      RVON01 = 1.0001 E17                                               01220352
      RVON02 = 1.0001 E18                                               01230352
      IVCOMP = 0                                                        01240352
      IVCORR = 0                                                        01250352
40010 IF(RVON01 .LT. RVON02)  GO TO 40011                               01260352
      IVCOMP = 1                                                        01270352
40011 IF (RVON01 .GE. RVON02)  IVCOMP = IVCOMP + 2                      01280352
      IF (IVCOMP) 20010, 10010, 20010                                   01290352
30010 IVDELE = IVDELE + 1                                               01300352
      WRITE (I02,80000) IVTNUM                                          01310352
      IF (ICZERO) 10010, 0021, 20010                                    01320352
10010 IVPASS = IVPASS + 1                                               01330352
      WRITE (I02,80002) IVTNUM                                          01340352
      GO TO 0021                                                        01350352
20010 IVFAIL = IVFAIL + 1                                               01360352
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          01370352
 0021 CONTINUE                                                          01380352
C                                                                       01390352
C     ****  FCVS PROGRAM 352  -  TEST 002  ****                         01400352
C                                                                       01410352
C          TEST 2 CHECKS THE .LT. OPERATOR USING TWO REAL OPERANDS      01420352
C     WHERE THE EXPONENTS ARE EQUAL BUT THE MANTISSAS ARE DIFFERENT.    01430352
C                                                                       01440352
      IVTNUM =   2                                                      01450352
      IF (ICZERO) 30020, 0020, 30020                                    01460352
 0020 CONTINUE                                                          01470352
      RVON01 = 1.0001 E17                                               01480352
      RVON02 = 1.9999 E17                                               01490352
      IVCOMP = 0                                                        01500352
      IVCORR = 0                                                        01510352
40020 IF (RVON01 .LT. RVON02)  GO TO 40021                              01520352
      IVCOMP = 1                                                        01530352
40021 IF (RVON01 .GE. RVON02)  IVCOMP = IVCOMP + 2                      01540352
      IF (IVCOMP)  20020, 10020, 20020                                  01550352
30020 IVDELE = IVDELE + 1                                               01560352
      WRITE (I02,80000) IVTNUM                                          01570352
      IF (ICZERO) 10020, 0031, 20020                                    01580352
10020 IVPASS = IVPASS + 1                                               01590352
      WRITE (I02,80002) IVTNUM                                          01600352
      GO TO 0031                                                        01610352
20020 IVFAIL = IVFAIL + 1                                               01620352
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          01630352
 0031 CONTINUE                                                          01640352
C                                                                       01650352
C     ****  FCVS PROGRAM 352  -  TEST 003  ****                         01660352
C                                                                       01670352
C          TEST 3 CHECKS THE .LE. OPERATOR USING TWO REAL OPERANDS      01680352
C     WHERE THE MANTISSAS ARE EQUAL BUT THE EXPONENTS ARE DIFFERENT.    01690352
C                                                                       01700352
      IVTNUM =   3                                                      01710352
      IF (ICZERO) 30030, 0030, 30030                                    01720352
 0030 CONTINUE                                                          01730352
      RVON01 = 1.0001 E17                                               01740352
      RVON02 = 1.0001 E18                                               01750352
      IVCOMP = 0                                                        01760352
      IVCORR = 0                                                        01770352
40030 IF (RVON01 .LE. RVON02)  GO TO 40031                              01780352
      IVCOMP = 1                                                        01790352
40031 IF (RVON01 .GT. RVON02)  IVCOMP = IVCOMP + 2                      01800352
      IF (IVCOMP)  20030, 10030, 20030                                  01810352
30030 IVDELE = IVDELE + 1                                               01820352
      WRITE (I02,80000) IVTNUM                                          01830352
      IF (ICZERO) 10030, 0041, 20030                                    01840352
10030 IVPASS = IVPASS + 1                                               01850352
      WRITE (I02,80002) IVTNUM                                          01860352
      GO TO 0041                                                        01870352
20030 IVFAIL = IVFAIL + 1                                               01880352
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          01890352
 0041 CONTINUE                                                          01900352
C                                                                       01910352
C     ****  FCVS PROGRAM 352  -  TEST 004  ****                         01920352
C                                                                       01930352
C          TEST 4 CHECKS THE .LE. OPERATOR USING TWO REAL OPERANDS      01940352
C     WHERE THE EXPONENTS ARE EQUAL BUT THE MANTISSAS ARE DIFFERENT.    01950352
C                                                                       01960352
      IVTNUM =   4                                                      01970352
      IF (ICZERO) 30040, 0040, 30040                                    01980352
 0040 CONTINUE                                                          01990352
      RVON01 = 1.0001 E17                                               02000352
      RVON02 = 1.9999 E17                                               02010352
      IVCOMP = 0                                                        02020352
      IVCORR = 0                                                        02030352
40040 IF (RVON01 .LE. RVON02)  GO TO 40041                              02040352
      IVCOMP = 1                                                        02050352
40041 IF (RVON01 .GT. RVON02)  IVCOMP = IVCOMP + 2                      02060352
      IF (IVCOMP)  20040, 10040, 20040                                  02070352
30040 IVDELE = IVDELE + 1                                               02080352
      WRITE (I02,80000) IVTNUM                                          02090352
      IF (ICZERO) 10040, 0051, 20040                                    02100352
10040 IVPASS = IVPASS + 1                                               02110352
      WRITE (I02,80002) IVTNUM                                          02120352
      GO TO 0051                                                        02130352
20040 IVFAIL = IVFAIL + 1                                               02140352
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          02150352
 0051 CONTINUE                                                          02160352
C                                                                       02170352
C     ****  FCVS PROGRAM 352  -  TEST 005  ****                         02180352
C                                                                       02190352
C          TEST 5 CHECKS THE .LE. OPERATOR USING TWO REAL OPERANDS      02200352
C     WHICH HAVE BEEN ASSIGNED THE SAME REAL CONSTANT.                  02210352
C                                                                       02220352
      IVTNUM =   5                                                      02230352
      IF (ICZERO) 30050, 0050, 30050                                    02240352
 0050 CONTINUE                                                          02250352
      RVON01 = 1.0001 E17                                               02260352
      RVON02 = 1.0001 E17                                               02270352
      IVCOMP = 0                                                        02280352
      IVCORR = 0                                                        02290352
40050 IF (RVON01 .LE. RVON02)  GO TO 40051                              02300352
      IVCOMP = 1                                                        02310352
40051 IF (RVON01 .GT. RVON02) IVCOMP = IVCOMP + 2                       02320352
      IF (IVCOMP)  20050, 10050, 20050                                  02330352
30050 IVDELE = IVDELE + 1                                               02340352
      WRITE (I02,80000) IVTNUM                                          02350352
      IF (ICZERO) 10050, 0061, 20050                                    02360352
10050 IVPASS = IVPASS + 1                                               02370352
      WRITE (I02,80002) IVTNUM                                          02380352
      GO TO 0061                                                        02390352
20050 IVFAIL = IVFAIL + 1                                               02400352
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          02410352
 0061 CONTINUE                                                          02420352
C                                                                       02430352
C     ****  FCVS PROGRAM 352  -  TEST 006  ****                         02440352
C                                                                       02450352
C          TEST 6 CHECKS THE .NE. OPERATOR USING TWO REAL OPERANDS      02460352
C     WHERE THE MANTISSAS ARE EQUAL BUT THE EXPONENTS ARE DIFFERENT.    02470352
C                                                                       02480352
      IVTNUM =   6                                                      02490352
      IF (ICZERO) 30060, 0060, 30060                                    02500352
 0060 CONTINUE                                                          02510352
      RVON01 = 1.0001 E17                                               02520352
      RVON02 = 1.0001 E18                                               02530352
      IVCOMP = 0                                                        02540352
      IVCORR = 0                                                        02550352
40060 IF (RVON01 .NE. RVON02)  GO TO 40061                              02560352
      IVCOMP = 1                                                        02570352
40061 IF (RVON01 .EQ. RVON02)  IVCOMP = IVCOMP + 2                      02580352
      IF (IVCOMP)  20060, 10060, 20060                                  02590352
30060 IVDELE = IVDELE + 1                                               02600352
      WRITE (I02,80000) IVTNUM                                          02610352
      IF (ICZERO) 10060, 0071, 20060                                    02620352
10060 IVPASS = IVPASS + 1                                               02630352
      WRITE (I02,80002) IVTNUM                                          02640352
      GO TO 0071                                                        02650352
20060 IVFAIL = IVFAIL + 1                                               02660352
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          02670352
 0071 CONTINUE                                                          02680352
C                                                                       02690352
C     ****  FCVS PROGRAM 352  -  TEST 007  ****                         02700352
C                                                                       02710352
C          TEST 7 CHECKS THE .NE. OPERATOR USING TWO REAL OPERANDS      02720352
C     WHERE THE EXPONENTS ARE EQUAL BUT THE MANTISSAS ARE DIFFERENT.    02730352
C                                                                       02740352
      IVTNUM =   7                                                      02750352
      IF (ICZERO) 30070, 0070, 30070                                    02760352
 0070 CONTINUE                                                          02770352
      RVON01 = 1.0001 E17                                               02780352
      RVON02 = 1.9999 E17                                               02790352
      IVCOMP = 0                                                        02800352
      IVCORR = 0                                                        02810352
40070 IF (RVON01 .NE. RVON02)  GO TO 40071                              02820352
      IVCOMP = 1                                                        02830352
40071 IF (RVON01 .EQ. RVON02)  IVCOMP = IVCOMP + 2                      02840352
      IF (IVCOMP)  20070, 10070, 20070                                  02850352
30070 IVDELE = IVDELE + 1                                               02860352
      WRITE (I02,80000) IVTNUM                                          02870352
      IF (ICZERO) 10070, 0081, 20070                                    02880352
10070 IVPASS = IVPASS + 1                                               02890352
      WRITE (I02,80002) IVTNUM                                          02900352
      GO TO 0081                                                        02910352
20070 IVFAIL = IVFAIL + 1                                               02920352
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          02930352
 0081 CONTINUE                                                          02940352
C                                                                       02950352
C     ****  FCVS PROGRAM 352  -  TEST 008  ****                         02960352
C                                                                       02970352
C          TEST 8 CHECKS THE .EQ. OPERATOR USING TWO REAL OPERANDS      02980352
C     WHICH HAVE BEEN ASSIGNED THE SAME REAL CONSTANT.                  02990352
C                                                                       03000352
      IVTNUM =   8                                                      03010352
      IF (ICZERO) 30080, 0080, 30080                                    03020352
 0080 CONTINUE                                                          03030352
      RVON01 = 1.0001 E17                                               03040352
      RVON02 = 1.0001 E17                                               03050352
      IVCOMP = 0                                                        03060352
      IVCORR = 0                                                        03070352
40080 IF (RVON01 .EQ. RVON02)  GO TO 40081                              03080352
      IVCOMP = 1                                                        03090352
40081 IF (RVON01 .NE. RVON02)  IVCOMP = IVCOMP + 2                      03100352
      IF (IVCOMP)  20080, 10080, 20080                                  03110352
30080 IVDELE = IVDELE + 1                                               03120352
      WRITE (I02,80000) IVTNUM                                          03130352
      IF (ICZERO) 10080, 0091, 20080                                    03140352
10080 IVPASS = IVPASS + 1                                               03150352
      WRITE (I02,80002) IVTNUM                                          03160352
      GO TO 0091                                                        03170352
20080 IVFAIL = IVFAIL + 1                                               03180352
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          03190352
 0091 CONTINUE                                                          03200352
C                                                                       03210352
C     ****  FCVS PROGRAM 352  -  TEST 009  ****                         03220352
C                                                                       03230352
C          TEST 9 CHECKS THE .GT. OPERATOR USING TWO REAL OPERANDS      03240352
C     WHERE THE MANTISSAS ARE EQUAL BUT THE EXPONENTS ARE DIFFERENT.    03250352
C                                                                       03260352
      IVTNUM =   9                                                      03270352
      IF (ICZERO) 30090, 0090, 30090                                    03280352
 0090 CONTINUE                                                          03290352
      RVON01 = 1.0001 E18                                               03300352
      RVON02 = 1.0001 E17                                               03310352
      IVCOMP = 0                                                        03320352
      IVCORR = 0                                                        03330352
40090 IF(RVON01 .GT. RVON02)  GO TO 40091                               03340352
      IVCOMP = 1                                                        03350352
40091 IF (RVON01 .LE. RVON02)  IVCOMP = IVCOMP + 2                      03360352
      IF (IVCOMP)  20090, 10090, 20090                                  03370352
30090 IVDELE = IVDELE + 1                                               03380352
      WRITE (I02,80000) IVTNUM                                          03390352
      IF (ICZERO) 10090, 0101, 20090                                    03400352
10090 IVPASS = IVPASS + 1                                               03410352
      WRITE (I02,80002) IVTNUM                                          03420352
      GO TO 0101                                                        03430352
20090 IVFAIL = IVFAIL + 1                                               03440352
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          03450352
 0101 CONTINUE                                                          03460352
C                                                                       03470352
C     ****  FCVS PROGRAM 352  -  TEST 010  ****                         03480352
C                                                                       03490352
C          TEST 10 CHECKS THE .GT. OPERATOR USING TWO REAL OPERANDS     03500352
C     WHERE THE EXPONENTS ARE EQUAL BUT THE MANTISSAS ARE DIFFERENT.    03510352
C                                                                       03520352
      IVTNUM =  10                                                      03530352
      IF (ICZERO) 30100, 0100, 30100                                    03540352
 0100 CONTINUE                                                          03550352
      RVON01 = 1.9999 E17                                               03560352
      RVON02 = 1.0001 E17                                               03570352
      IVCOMP = 0                                                        03580352
      IVCORR = 0                                                        03590352
40100 IF (RVON01 .GT. RVON02)  GO TO 40101                              03600352
      IVCOMP = 1                                                        03610352
40101 IF (RVON01 .LE. RVON02)  IVCOMP = IVCOMP + 2                      03620352
      IF (IVCOMP)  20100, 10100, 20100                                  03630352
30100 IVDELE = IVDELE + 1                                               03640352
      WRITE (I02,80000) IVTNUM                                          03650352
      IF (ICZERO) 10100, 0111, 20100                                    03660352
10100 IVPASS = IVPASS + 1                                               03670352
      WRITE (I02,80002) IVTNUM                                          03680352
      GO TO 0111                                                        03690352
20100 IVFAIL = IVFAIL + 1                                               03700352
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          03710352
 0111 CONTINUE                                                          03720352
C                                                                       03730352
C     ****  FCVS PROGRAM 352  -  TEST 011  ****                         03740352
C                                                                       03750352
C          TEST 11 CHECKS THE .GE. OPERATOR USING TWO REAL OPERANDS     03760352
C     WHERE THE MANTISSAS ARE EQUAL BUT THE EXPONENTS ARE DIFFERENT.    03770352
C                                                                       03780352
      IVTNUM =  11                                                      03790352
      IF (ICZERO) 30110, 0110, 30110                                    03800352
 0110 CONTINUE                                                          03810352
      RVON01 = 1.0001 E18                                               03820352
      RVON02 = 1.0001 E17                                               03830352
      IVCOMP = 0                                                        03840352
      IVCORR = 0                                                        03850352
40110 IF (RVON01 .GE. RVON02)  GO TO 40111                              03860352
      IVCOMP = 1                                                        03870352
40111 IF (RVON01 .LT. RVON02)  IVCOMP = IVCOMP + 2                      03880352
      IF (IVCOMP)  20110, 10110, 20110                                  03890352
30110 IVDELE = IVDELE + 1                                               03900352
      WRITE (I02,80000) IVTNUM                                          03910352
      IF (ICZERO) 10110, 0121, 20110                                    03920352
10110 IVPASS = IVPASS + 1                                               03930352
      WRITE (I02,80002) IVTNUM                                          03940352
      GO TO 0121                                                        03950352
20110 IVFAIL = IVFAIL + 1                                               03960352
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          03970352
 0121 CONTINUE                                                          03980352
C                                                                       03990352
C     ****  FCVS PROGRAM 352  -  TEST 012  ****                         04000352
C                                                                       04010352
C          TEST 12 CHECKS THE .GE. OPERATOR USING TWO REAL OPERANDS     04020352
C     WHERE THE EXPONENTS ARE EQUAL BUT THE MANTISSAS ARE DIFFERENT.    04030352
C                                                                       04040352
      IVTNUM =  12                                                      04050352
      IF (ICZERO) 30120, 0120, 30120                                    04060352
 0120 CONTINUE                                                          04070352
      RVON01 = 1.9999 E17                                               04080352
      RVON02 = 1.0001 E17                                               04090352
      IVCOMP = 0                                                        04100352
      IVCORR = 0                                                        04110352
40120 IF (RVON01 .GE. RVON02)  GO TO 40121                              04120352
      IVCOMP = 1                                                        04130352
40121 IF (RVON01 .LT. RVON02)  IVCOMP = IVCOMP + 2                      04140352
      IF (IVCOMP)  20120, 10120, 20120                                  04150352
30120 IVDELE = IVDELE + 1                                               04160352
      WRITE (I02,80000) IVTNUM                                          04170352
      IF (ICZERO) 10120, 0131, 20120                                    04180352
10120 IVPASS = IVPASS + 1                                               04190352
      WRITE (I02,80002) IVTNUM                                          04200352
      GO TO 0131                                                        04210352
20120 IVFAIL = IVFAIL + 1                                               04220352
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          04230352
 0131 CONTINUE                                                          04240352
C                                                                       04250352
C     ****  FCVS PROGRAM 352  -  TEST 013  ****                         04260352
C                                                                       04270352
C          TEST 13 CHECKS THE .GE. OPERATOR USING TWO REAL OPERANDS     04280352
C     WHERE EACH HAS BEEN ASSIGNED THE SAME REAL CONSTANT.              04290352
C                                                                       04300352
      IVTNUM =  13                                                      04310352
      IF (ICZERO) 30130, 0130, 30130                                    04320352
 0130 CONTINUE                                                          04330352
      RVON01 = 1.0001 E17                                               04340352
      RVON02 = 1.0001 E17                                               04350352
      IVCOMP = 0                                                        04360352
      IVCORR = 0                                                        04370352
40130 IF (RVON01 .GE. RVON02)  GO TO 40131                              04380352
      IVCOMP = 1                                                        04390352
40131 IF (RVON01 .LT. RVON02)  IVCOMP = IVCOMP + 2                      04400352
      IF (IVCOMP)  20130, 10130, 20130                                  04410352
30130 IVDELE = IVDELE + 1                                               04420352
      WRITE (I02,80000) IVTNUM                                          04430352
      IF (ICZERO) 10130, 0141, 20130                                    04440352
10130 IVPASS = IVPASS + 1                                               04450352
      WRITE (I02,80002) IVTNUM                                          04460352
      GO TO 0141                                                        04470352
20130 IVFAIL = IVFAIL + 1                                               04480352
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          04490352
 0141 CONTINUE                                                          04500352
C                                                                       04510352
C          TESTS 14 THROUGH 28 REPETITIVELY CHECK THE .LT. RELATIONSHIP 04520352
C     USING ALL TYPES AND ORDERINGS OF TWO REAL OPERANDS.               04530352
C                                                                       04540352
C                                                                       04550352
C          TESTS 14 THROUGH 16 CHECK REAL-VARIABLE .LT OTHER-REAL-TYPES.04560352
C                                                                       04570352
C                                                                       04580352
C     ****  FCVS PROGRAM 352  -  TEST 014  ****                         04590352
C                                                                       04600352
C          TEST 14 CHECKS REAL-VARIABLE .LT. REAL-CONSTANT              04610352
C                                                                       04620352
      IVTNUM =  14                                                      04630352
      IF (ICZERO) 30140, 0140, 30140                                    04640352
 0140 CONTINUE                                                          04650352
      RVON01 = 1.0001 E17                                               04660352
      IVCOMP = 0                                                        04670352
      IVCORR = 0                                                        04680352
40140 IF (RVON01 .LT. 1.9999 E17) GO TO 40141                           04690352
      IVCOMP = 1                                                        04700352
40141 IF (RVON01 .GE. 1.9999 E17)  IVCOMP = IVCOMP + 2                  04710352
      IF (IVCOMP)  20140, 10140, 20140                                  04720352
30140 IVDELE = IVDELE + 1                                               04730352
      WRITE (I02,80000) IVTNUM                                          04740352
      IF (ICZERO) 10140, 0151, 20140                                    04750352
10140 IVPASS = IVPASS + 1                                               04760352
      WRITE (I02,80002) IVTNUM                                          04770352
      GO TO 0151                                                        04780352
20140 IVFAIL = IVFAIL + 1                                               04790352
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          04800352
 0151 CONTINUE                                                          04810352
C                                                                       04820352
C     ****  FCVS PROGRAM 352  -  TEST 015  ****                         04830352
C                                                                       04840352
C          TEST 15 CHECKS REAL-VARIABLE .LT. ARRAY-ELEMENT              04850352
C                                                                       04860352
      IVTNUM =  15                                                      04870352
      IF (ICZERO) 30150, 0150, 30150                                    04880352
 0150 CONTINUE                                                          04890352
      RADN11(1) = 1.9999 E17                                            04900352
      RVON01 = 1.0001 E17                                               04910352
      IVCOMP = 0                                                        04920352
      IVCORR = 0                                                        04930352
40150 IF (RVON01 .LT. RADN11(1)) GO TO 40151                            04940352
      IVCOMP = 1                                                        04950352
40151 IF (RVON01 .GE. RADN11(1)) IVCOMP = IVCOMP + 2                    04960352
      IF (IVCOMP)  20150, 10150, 20150                                  04970352
30150 IVDELE = IVDELE + 1                                               04980352
      WRITE (I02,80000) IVTNUM                                          04990352
      IF (ICZERO) 10150, 0161, 20150                                    05000352
10150 IVPASS = IVPASS + 1                                               05010352
      WRITE (I02,80002) IVTNUM                                          05020352
      GO TO 0161                                                        05030352
20150 IVFAIL = IVFAIL + 1                                               05040352
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          05050352
 0161 CONTINUE                                                          05060352
C                                                                       05070352
C     ****  FCVS PROGRAM 352  -  TEST 016  ****                         05080352
C                                                                       05090352
C          TEST 16 CHECKS REAL-VARIABLE .LT. FUNCTION-REFERENCE         05100352
C                                                                       05110352
      IVTNUM =  16                                                      05120352
      IF (ICZERO) 30160, 0160, 30160                                    05130352
 0160 CONTINUE                                                          05140352
      RVON01 = 1.0001 E17                                               05150352
      RVON02 = 1 E17                                                    05160352
      RVON03 = 0.9999 E17                                               05170352
      IVCOMP = 0                                                        05180352
      IVCORR = 0                                                        05190352
40160 IF (RVON01 .LT. RFOS01(RVON02,RVON03)) GO TO 40161                05200352
      IVCOMP = 1                                                        05210352
40161 IF (RVON01 .GE. RFOS01(RVON02,RVON03)) IVCOMP = IVCOMP + 2        05220352
      IF (IVCOMP)  20160, 10160, 20160                                  05230352
30160 IVDELE = IVDELE + 1                                               05240352
      WRITE (I02,80000) IVTNUM                                          05250352
      IF (ICZERO) 10160, 0171, 20160                                    05260352
10160 IVPASS = IVPASS + 1                                               05270352
      WRITE (I02,80002) IVTNUM                                          05280352
      GO TO 0171                                                        05290352
20160 IVFAIL = IVFAIL + 1                                               05300352
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          05310352
 0171 CONTINUE                                                          05320352
C                                                                       05330352
C          TESTS 17 THROUGH 20 CHECK REAL-CONSTANT .LT. OTHER-REAL-TYPES05340352
C                                                                       05350352
C                                                                       05360352
C     ****  FCVS PROGRAM 352  -  TEST 017  ****                         05370352
C                                                                       05380352
C          TEST 17 CHECKS REAL-CONSTANT .LT. REAL-CONSTANT              05390352
C                                                                       05400352
      IVTNUM =  17                                                      05410352
      IF (ICZERO) 30170, 0170, 30170                                    05420352
 0170 CONTINUE                                                          05430352
      IVCOMP = 0                                                        05440352
      IVCORR = 0                                                        05450352
40170 IF (1.0001 E17 .LT. 1.9999 E17)  GO TO 40171                      05460352
      IVCOMP = 1                                                        05470352
40171 IF (1.0001 E17 .GE. 1.9999 E17)  IVCOMP = IVCOMP + 2              05480352
      IF (IVCOMP)  20170, 10170, 20170                                  05490352
30170 IVDELE = IVDELE + 1                                               05500352
      WRITE (I02,80000) IVTNUM                                          05510352
      IF (ICZERO) 10170, 0181, 20170                                    05520352
10170 IVPASS = IVPASS + 1                                               05530352
      WRITE (I02,80002) IVTNUM                                          05540352
      GO TO 0181                                                        05550352
20170 IVFAIL = IVFAIL + 1                                               05560352
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          05570352
 0181 CONTINUE                                                          05580352
C                                                                       05590352
C     ****  FCVS PROGRAM 352  -  TEST 018  ****                         05600352
C                                                                       05610352
C          TEST 18 CHECKS REAL-CONSTANT .LT. REAL-ARRAY-ELEMENT         05620352
C                                                                       05630352
      IVTNUM =  18                                                      05640352
      IF (ICZERO) 30180, 0180, 30180                                    05650352
 0180 CONTINUE                                                          05660352
      RADN11(1) = 1.9999 E17                                            05670352
      IVCOMP = 0                                                        05680352
      IVCORR = 0                                                        05690352
40180 IF (1.0001 E17 .LT. RADN11(1))  GO TO 40181                       05700352
      IVCOMP = 1                                                        05710352
40181 IF (1.0001 E17 .GE. RADN11(1))  IVCOMP = IVCOMP + 2               05720352
      IF (IVCOMP)  20180, 10180, 20180                                  05730352
30180 IVDELE = IVDELE + 1                                               05740352
      WRITE (I02,80000) IVTNUM                                          05750352
      IF (ICZERO) 10180, 0191, 20180                                    05760352
10180 IVPASS = IVPASS + 1                                               05770352
      WRITE (I02,80002) IVTNUM                                          05780352
      GO TO 0191                                                        05790352
20180 IVFAIL = IVFAIL + 1                                               05800352
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          05810352
 0191 CONTINUE                                                          05820352
C                                                                       05830352
C     ****  FCVS PROGRAM 352  -  TEST 019  ****                         05840352
C                                                                       05850352
C          TEST 19 CHECKS REAL-CONSTANT .LT. REAL-VARIABLE              05860352
C                                                                       05870352
      IVTNUM =  19                                                      05880352
      IF (ICZERO) 30190, 0190, 30190                                    05890352
 0190 CONTINUE                                                          05900352
      RVON01 = 1.9999 E17                                               05910352
      IVCOMP = 0                                                        05920352
      IVCORR = 0                                                        05930352
40190 IF (1.0001 E17 .LT. RVON01)  GO TO 40191                          05940352
      IVCOMP = 1                                                        05950352
40191 IF (1.0001 E17 .GE. RVON01)  IVCOMP = IVCOMP + 2                  05960352
      IF (IVCOMP) 20190, 10190, 20190                                   05970352
30190 IVDELE = IVDELE + 1                                               05980352
      WRITE (I02,80000) IVTNUM                                          05990352
      IF (ICZERO) 10190, 0201, 20190                                    06000352
10190 IVPASS = IVPASS + 1                                               06010352
      WRITE (I02,80002) IVTNUM                                          06020352
      GO TO 0201                                                        06030352
20190 IVFAIL = IVFAIL + 1                                               06040352
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          06050352
 0201 CONTINUE                                                          06060352
C                                                                       06070352
C     ****  FCVS PROGRAM 352  -  TEST 020  ****                         06080352
C                                                                       06090352
C          TEST 20 CHECKS REAL-CONSTANT .LT. REAL-FUNCTION-REFERENCE    06100352
C                                                                       06110352
      IVTNUM =  20                                                      06120352
      IF (ICZERO) 30200, 0200, 30200                                    06130352
 0200 CONTINUE                                                          06140352
      RVON01 = 1 E17                                                    06150352
      RVON02 = 0.9999 E17                                               06160352
      IVCOMP = 0                                                        06170352
      IVCORR = 0                                                        06180352
40200 IF (1.0001 E17 .LT. RFOS01(RVON01,RVON02))  GO TO 40201           06190352
      IVCOMP = 1                                                        06200352
40201 IF (1.0001 E17 .GE. RFOS01(RVON01,RVON02))  IVCOMP = IVCOMP + 2   06210352
      IF (IVCOMP)  20200, 10200, 20200                                  06220352
30200 IVDELE = IVDELE + 1                                               06230352
      WRITE (I02,80000) IVTNUM                                          06240352
      IF (ICZERO) 10200, 0211, 20200                                    06250352
10200 IVPASS = IVPASS + 1                                               06260352
      WRITE (I02,80002) IVTNUM                                          06270352
      GO TO 0211                                                        06280352
20200 IVFAIL = IVFAIL + 1                                               06290352
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          06300352
 0211 CONTINUE                                                          06310352
C                                                                       06320352
C          TESTS 21 THROUGH 24 CHECK REAL-ARRAY-ELEMENT .LT. OTHER-REALS06330352
C                                                                       06340352
C                                                                       06350352
C     ****  FCVS PROGRAM 352  -  TEST 021  ****                         06360352
C                                                                       06370352
C          TEST 21 CHECKS REAL-ARRAY-ELEMENT .LT. REAL-CONSTANT         06380352
C                                                                       06390352
      IVTNUM =  21                                                      06400352
      IF (ICZERO) 30210, 0210, 30210                                    06410352
 0210 CONTINUE                                                          06420352
      RADN11(1) = 1.0001 E17                                            06430352
      IVCOMP = 0                                                        06440352
      IVCORR = 0                                                        06450352
40210 IF (RADN11(1) .LT. 1.9999 E17)  GO TO 40211                       06460352
      IVCOMP = 1                                                        06470352
40211 IF (RADN11(1) .GE. 1.9999 E17)  IVCOMP = IVCOMP + 2               06480352
      IF (IVCOMP)  20210, 10210, 20210                                  06490352
30210 IVDELE = IVDELE + 1                                               06500352
      WRITE (I02,80000) IVTNUM                                          06510352
      IF (ICZERO) 10210, 0221, 20210                                    06520352
10210 IVPASS = IVPASS + 1                                               06530352
      WRITE (I02,80002) IVTNUM                                          06540352
      GO TO 0221                                                        06550352
20210 IVFAIL = IVFAIL + 1                                               06560352
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          06570352
 0221 CONTINUE                                                          06580352
C                                                                       06590352
C     ****  FCVS PROGRAM 352  -  TEST 022  ****                         06600352
C                                                                       06610352
C          TEST 22 CHECKS REAL-ARRAY-ELEMENT .LT. REAL-ARRAY-ELEMENT    06620352
C                                                                       06630352
      IVTNUM =  22                                                      06640352
      IF (ICZERO) 30220, 0220, 30220                                    06650352
 0220 CONTINUE                                                          06660352
      RADN11(1) = 1.0001 E17                                            06670352
      RADN11(2) = 1.9999 E17                                            06680352
      IVCOMP = 0                                                        06690352
      IVCORR = 0                                                        06700352
40220 IF (RADN11(1) .LT. RADN11(2))  GO TO 40221                        06710352
      IVCOMP = 1                                                        06720352
40221 IF (RADN11(1) .GE. RADN11(2))  IVCOMP = IVCOMP + 2                06730352
      IF (IVCOMP)  20220, 10220, 20220                                  06740352
30220 IVDELE = IVDELE + 1                                               06750352
      WRITE (I02,80000) IVTNUM                                          06760352
      IF (ICZERO) 10220, 0231, 20220                                    06770352
10220 IVPASS = IVPASS + 1                                               06780352
      WRITE (I02,80002) IVTNUM                                          06790352
      GO TO 0231                                                        06800352
20220 IVFAIL = IVFAIL + 1                                               06810352
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          06820352
 0231 CONTINUE                                                          06830352
C                                                                       06840352
C     ****  FCVS PROGRAM 352  -  TEST 023  ****                         06850352
C                                                                       06860352
C          TEST 23 CHECKS REAL-ARRAY-ELEMENT .LT. REAL-VARIABLE         06870352
C                                                                       06880352
      IVTNUM =  23                                                      06890352
      IF (ICZERO) 30230, 0230, 30230                                    06900352
 0230 CONTINUE                                                          06910352
      RVON01 = 1.9999 E17                                               06920352
      RADN11(1) = 1.0001 E17                                            06930352
      IVCORR = 0                                                        06940352
      IVCOMP = 0                                                        06950352
40230 IF (RADN11(1) .LT. RVON01)  GO TO 40231                           06960352
      IVCOMP = 1                                                        06970352
40231 IF (RADN11(1) .GE. RVON01)  IVCOMP = IVCOMP + 2                   06980352
      IF (IVCOMP)  20230, 10230, 20230                                  06990352
30230 IVDELE = IVDELE + 1                                               07000352
      WRITE (I02,80000) IVTNUM                                          07010352
      IF (ICZERO) 10230, 0241, 20230                                    07020352
10230 IVPASS = IVPASS + 1                                               07030352
      WRITE (I02,80002) IVTNUM                                          07040352
      GO TO 0241                                                        07050352
20230 IVFAIL = IVFAIL + 1                                               07060352
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          07070352
 0241 CONTINUE                                                          07080352
C                                                                       07090352
C     ****  FCVS PROGRAM 352  -  TEST 024  ****                         07100352
C                                                                       07110352
C          TEST 24 CHECKS REAL-ARRAY-ELEMENT .LT. REAL-FUNCTION-REF.    07120352
C                                                                       07130352
      IVTNUM =  24                                                      07140352
      IF (ICZERO) 30240, 0240, 30240                                    07150352
 0240 CONTINUE                                                          07160352
      RVON01 = 1.0000 E17                                               07170352
      RVON02 = 0.9999 E17                                               07180352
      RADN11(1) = 1.0001 E17                                            07190352
      IVCORR = 0                                                        07200352
      IVCOMP = 0                                                        07210352
40240 IF (RADN11(1) .LT. RFOS01(RVON01,RVON02))  GO TO 40241            07220352
      IVCOMP = 1                                                        07230352
40241 IF (RADN11(1) .GE. RFOS01(RVON01,RVON02))  IVCOMP = IVCOMP + 2    07240352
      IF (IVCOMP)  20240, 10240, 20240                                  07250352
30240 IVDELE = IVDELE + 1                                               07260352
      WRITE (I02,80000) IVTNUM                                          07270352
      IF (ICZERO) 10240, 0251, 20240                                    07280352
10240 IVPASS = IVPASS + 1                                               07290352
      WRITE (I02,80002) IVTNUM                                          07300352
      GO TO 0251                                                        07310352
20240 IVFAIL = IVFAIL + 1                                               07320352
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          07330352
 0251 CONTINUE                                                          07340352
C                                                                       07350352
C          TESTS 25 THROUGH 28 CHECK REAL-FUNCTION-REFERENCE .LT.       07360352
C                                    OTHER-REAL-TYPES                   07370352
C                                                                       07380352
C                                                                       07390352
C     ****  FCVS PROGRAM 352  -  TEST 025  ****                         07400352
C                                                                       07410352
C          TEST 25 CHECKS REAL-FUNCTION-REFERENCE .LT. REAL-CONSTANT    07420352
C                                                                       07430352
      IVTNUM =  25                                                      07440352
      IF (ICZERO) 30250, 0250, 30250                                    07450352
 0250 CONTINUE                                                          07460352
      RVON01 = 1.0000 E17                                               07470352
      RVON02 = 0.0001 E17                                               07480352
      IVCOMP = 0                                                        07490352
      IVCORR = 0                                                        07500352
40250 IF (RFOS01(RVON01,RVON02) .LT. 1.9999 E17)  GO TO 40251           07510352
      IVCOMP = 1                                                        07520352
40251 IF (RFOS01(RVON01,RVON02) .GE. 1.9999 E17)  IVCOMP = IVCOMP + 2   07530352
      IF (IVCOMP)  20250, 10250, 20250                                  07540352
30250 IVDELE = IVDELE + 1                                               07550352
      WRITE (I02,80000) IVTNUM                                          07560352
      IF (ICZERO) 10250, 0261, 20250                                    07570352
10250 IVPASS = IVPASS + 1                                               07580352
      WRITE (I02,80002) IVTNUM                                          07590352
      GO TO 0261                                                        07600352
20250 IVFAIL = IVFAIL + 1                                               07610352
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          07620352
 0261 CONTINUE                                                          07630352
C                                                                       07640352
C     ****  FCVS PROGRAM 352  -  TEST 026  ****                         07650352
C                                                                       07660352
C          TEST 26 CHECKS REAL-FUNCTION-REFERENCE .LT. REAL-ARRAY-ELEMNT07670352
C                                                                       07680352
      IVTNUM =  26                                                      07690352
      IF (ICZERO) 30260, 0260, 30260                                    07700352
 0260 CONTINUE                                                          07710352
      RVON01 = 1 E17                                                    07720352
      RVON02 = 0.0001 E17                                               07730352
      RADN11(1) = 1.9999 E17                                            07740352
      IVCOMP = 0                                                        07750352
      IVCORR = 0                                                        07760352
40260 IF (RFOS01(RVON01,RVON02) .LT. RADN11(1))  GO TO 40261            07770352
      IVCOMP = 1                                                        07780352
40261 IF (RFOS01(RVON01,RVON02) .GE. RADN11(1))  IVCOMP = IVCOMP + 2    07790352
      IF (IVCOMP)  20260, 10260, 20260                                  07800352
30260 IVDELE = IVDELE + 1                                               07810352
      WRITE (I02,80000) IVTNUM                                          07820352
      IF (ICZERO) 10260, 0271, 20260                                    07830352
10260 IVPASS = IVPASS + 1                                               07840352
      WRITE (I02,80002) IVTNUM                                          07850352
      GO TO 0271                                                        07860352
20260 IVFAIL = IVFAIL + 1                                               07870352
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          07880352
 0271 CONTINUE                                                          07890352
C                                                                       07900352
C     ****  FCVS PROGRAM 352  -  TEST 027  ****                         07910352
C                                                                       07920352
C          TEST 27 CHECKS REAL-FUNCTION-REFERENCE .LT. REAL-VARIABLE    07930352
C                                                                       07940352
      IVTNUM =  27                                                      07950352
      IF (ICZERO) 30270, 0270, 30270                                    07960352
 0270 CONTINUE                                                          07970352
      RVON01 = 1 E17                                                    07980352
      RVON02 = 0.0001 E17                                               07990352
      RVON03 = 1.9999 E17                                               08000352
      IVCOMP = 0                                                        08010352
      IVCORR = 0                                                        08020352
40270 IF (RFOS01(RVON01,RVON02) .LT. RVON03)  GO TO 40271               08030352
      IVCOMP = 1                                                        08040352
40271 IF (RFOS01(RVON01,RVON02) .GE. RVON03)  IVCOMP = IVCOMP + 2       08050352
      IF (IVCOMP)  20270, 10270, 20270                                  08060352
30270 IVDELE = IVDELE + 1                                               08070352
      WRITE (I02,80000) IVTNUM                                          08080352
      IF (ICZERO) 10270, 0281, 20270                                    08090352
10270 IVPASS = IVPASS + 1                                               08100352
      WRITE (I02,80002) IVTNUM                                          08110352
      GO TO 0281                                                        08120352
20270 IVFAIL = IVFAIL + 1                                               08130352
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          08140352
 0281 CONTINUE                                                          08150352
C                                                                       08160352
C     ****  FCVS PROGRAM 352  -  TEST 028  ****                         08170352
C                                                                       08180352
C          TEST 28 CHECKS REAL-FUNCTION-REFERENCE .LT REAL-FUNCTION-REF.08190352
C                                                                       08200352
      IVTNUM =  28                                                      08210352
      IF (ICZERO) 30280, 0280, 30280                                    08220352
 0280 CONTINUE                                                          08230352
      RVON01 = 1 E17                                                    08240352
      RVON02 = 0.0001 E17                                               08250352
      RVON03 = 0.9999 E17                                               08260352
      IVCOMP = 0                                                        08270352
      IVCORR = 0                                                        08280352
40280 IF (RFOS01(RVON01,RVON02) .LT. RFOS01(RVON01,RVON03)) GO TO 40281 08290352
      IVCOMP = 1                                                        08300352
40281 IF (RFOS01(RVON01,RVON02) .GE. RFOS01(RVON01,RVON03))             08310352
     1         IVCOMP = IVCOMP + 2                                      08320352
      IF (IVCOMP)  20280, 10280, 20280                                  08330352
30280 IVDELE = IVDELE + 1                                               08340352
      WRITE (I02,80000) IVTNUM                                          08350352
      IF (ICZERO) 10280, 0291, 20280                                    08360352
10280 IVPASS = IVPASS + 1                                               08370352
      WRITE (I02,80002) IVTNUM                                          08380352
      GO TO 0291                                                        08390352
20280 IVFAIL = IVFAIL + 1                                               08400352
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          08410352
 0291 CONTINUE                                                          08420352
C                                                                       08430352
C                                                                       08440352
C     WRITE OUT TEST SUMMARY                                            08450352
C                                                                       08460352
      WRITE (I02,90004)                                                 08470352
      WRITE (I02,90014)                                                 08480352
      WRITE (I02,90004)                                                 08490352
      WRITE (I02,90000)                                                 08500352
      WRITE (I02,90004)                                                 08510352
      WRITE (I02,90020) IVFAIL                                          08520352
      WRITE (I02,90022) IVPASS                                          08530352
      WRITE (I02,90024) IVDELE                                          08540352
      STOP                                                              08550352
90001 FORMAT (" ",24X,"FM352")                                          08560352
90000 FORMAT (" ",20X,"END OF PROGRAM FM352" )                          08570352
C                                                                       08580352
C     FORMATS FOR TEST DETAIL LINES                                     08590352
C                                                                       08600352
80000 FORMAT (" ",4X,I5,6X,"DELETED")                                   08610352
80002 FORMAT (" ",4X,I5,7X,"PASS")                                      08620352
80010 FORMAT (" ",4X,I5,7X,"FAIL",10X,I6,9X,I6)                         08630352
80012 FORMAT (" ",4X,I5,7X,"FAIL",4X,E12.5,3X,E12.5)                    08640352
80018 FORMAT (" ",4X,I5,7X,"FAIL",2X,A14,1X,A14)                        08650352
C                                                                       08660352
C     FORMAT STATEMENTS FOR PAGE HEADERS                                08670352
C                                                                       08680352
90002 FORMAT ("1")                                                      08690352
90004 FORMAT (" ")                                                      08700352
90006 FORMAT (" ",10X,"FORTRAN COMPILER VALIDATION SYSTEM" )            08710352
90008 FORMAT (" ",21X,"VERSION 2.1" )                                   08720352
90010 FORMAT (" ",8X,"FOR OFFICIAL USE ONLY - COPYRIGHT 1978" )         08730352
90012 FORMAT (" ",5X,"TEST",5X,"PASS/FAIL",5X,"COMPUTED",8X,"CORRECT")  08740352
90014 FORMAT (" ",5X,"----------------------------------------------" ) 08750352
90016 FORMAT (" ",18X,"SUBSET LEVEL TEST" )                             08760352
C                                                                       08770352
C     FORMAT STATEMENTS FOR RUN SUMMARY                                 08780352
C                                                                       08790352
90020 FORMAT (" ",19X,I5," TESTS FAILED" )                              08800352
90022 FORMAT (" ",19X,I5," TESTS PASSED" )                              08810352
90024 FORMAT (" ",19X,I5," TESTS DELETED" )                             08820352
      END                                                               08830352