C*****    PART6    *****************************************************H0002300
C*****                                                                  H0002305
C*****    ANSI FORTRAN   (X3.9-1966)     TEST PROGRAMS                  H0002310
C*****                                                                  H0002315
C*****    PREPARED BY THE NATIONAL BUREAU OF STANDARDS      VERSION 3   H0002320
C*****                                                                  H0002325
C*****    JUNE 1973                                                     H0002330
C*****                                                                  H0002335
C*****    PART 6  OF 14 PARTS                                           H0002340
C*****                                                                  H0002345
C*****    SEGMENTS INCLUDED                                             H0002350
C*****                                                                  H0002355
C*****      IFDIM - 065 DIM, IDIM (POSITIVE DIFFERENCE)                 H0002360
C*****                                                                  H0002365
C*****      IFSGL - 066 SNGL (OBTAIN MOST SIGNIFICANT PART)             H0002370
C*****                                                                  H0002375
C*****      IFREL - 067 REAL (OBTAIN REAL PART OF COMPLEX ARGUMENT)     H0002380
C*****                                                                  H0002385
C*****      IFIMG - 068 AIMAG (OBTAIN IMAGINARY PART OF COMPLEX NO.)    H0002390
C*****                                                                  H0002395
C*****      IFDBL - 069 DBLE (EXPRESS REAL ARGUMENT IN D.P. FORM)       H0002400
C*****                                                                  H0002405
C*****      IFCPX - 070 CMPLX (EXPRESS TWO REAL ARG. IN COMPLEX FORM)   H0002410
C*****                                                                  H0002415
C*****      IFCJG - 071 CONJG (OBTAIN CONJUGATE OF A COMPLEX NUMBER)    H0002420
C*****                                                                  H0002425
C*****      IFBMS - 072  ALL INTRINSIC FUNCTIONS                        H0002430
C*****                                                                  H0002435
C*****      IFFMS - 073  ALL INTRINSIC FUNCTIONS                        H0002440
C*****                                                                  H0012300
C*****  THE FOLLOWING SPECIFICATIONS ARE TO BE USED ONLY WHEN           H0012305
C*****  SEGMENTS 065, 066, 067, 068, 069, 070, 071, 072, 073            H0012310
C*****  ARE RUN AS ONE MAIN PROGRAM.                                    H0012315
C*****                                                                  H0012320
      INTEGER MCA3I(2,3,3)                                              H0012325
      DIMENSION MCA1I(5), AC2S(5,6)                                     H0012330
      DOUBLE PRECISION MCAVD, MCBVD, MCCVD, MCDVD, MCEVD, MCFVD, MCGVD, H0012335
     1        CMAVD, CMBVD, CMCVD , DPA1D(5), FC2D(5,5)                 H0012340
      DOUBLE PRECISION DPAVD, DPBVD, DPCVD, DPDVD, DPEVD, DPFVD, DPGVD  H0012345
      COMPLEX CHAVC, CHBVC, CHCVC, CHDVC, CHEVC, CHFVC,                 H0012350
     1        CHGVC, CHHVC, CHIVC, CHJVC, CHKVC, CHLVC                  H0012355
C*****                                                                  H0012360
C*****  END OF SPECIFICATIONS FOR SEGMENTS                              H0012365
C*****  065, 066, 067, 068, 069, 070, 071, 072, 073                     H0012370
C***********************************************************************H0650010
C*****                                                                  H0650020
C*****                       IFDIM - (065)                              H0650030
C*****                                                                  H0650040
C***********************************************************************H0650050
C*****  GENERAL PURPOSE                                         ASA -EF H0650060
C*****    TEST INTRINSIC FUNCTION DIM AND IDIM--POSITIVE          8.2   H0650070
C*****    DIFFERENCE, WHICH IS DEFINED AS A1 - MIN(A1,A2)      (TABLE 3)H0650080
C*****                                                                  H0650090
C*****  S P E C I F I C A T I O N S  SEGMENT 065                        H0650100
C*****                                                                  H0012375
C*****  WHEN EXECUTING ONLY SEGMENT 065, REMOVE THE PRECEDING           H0012380
C*****  SPECIFICATIONS.  THIS SEGMENT HAS NO SPECIFICATION STATEMENTS.  H0012385
C*****                                                                  H0012390
C*****  I N P U T - O U T P U T  T A P E ASSIGNMENT STATEMENTS.         H0650110
      IRVI = 5                                                          H0072300
      NUVI = 6                                                          H0072305
C*****  IDENTIFY THE SOURCE OF THE TEST PROGRAMS                        H0072310
      WRITE(NUVI,0071)                                                  H0072315
0071  FORMAT (41H1 F O R T R A N  T E S T  P R O G R A M S//            H0072320
     1 42H  PREPARED BY NATIONAL BUREAU OF STANDARDS//                  H0072325
     3 37H  FOR USE ON LARGE FORTRAN PROCESSORS  //                     H0072330
     4 42H  IN ACCORDANCE WITH ASA FORTRAN X3.9-1966//                  H0072335
     5 23H  VERSION 3     PART 6 ///)                                   H0072340
C*****  3 OF 6 INPUT CARDS IDENTIFY THE USERS SYSTEM AND COMPILER       H0072345
C       PREPARED BY USER                                                H0072350
C       READ, NO LIST                                                   H0072355
C       PREPARED BY USER                                                H0072360
C       READ, NO LIST                                                   H0072365
C       PREPARED BY USER                                                H0072370
C       READ, NO LIST                                                   H0072375
C     READ(IRVI,0070)                                                   H0072380
C     READ(IRVI,0072)                                                   H0072385
C     READ(IRVI,0073)                                                   H0072390
0070  FORMAT(40H   BASED ON ASA FORTRAN X3.9-1966       /)              H0072395
0072  FORMAT(40H   TEST PROGRAMS                        /)              H0072400
0073  FORMAT(40H   FORTRAN COMPILER                     /)              H0072405
      WRITE(NUVI,0070)                                                  H0072410
      WRITE(NUVI,0072)                                                  H0072415
      WRITE(NUVI,0073)                                                  H0072420
      WRITE (NUVI,0650)                                                 H0650120
0650  FORMAT (1H1,1X,39HIFDIM - (065) INTRINSIC FUNCTIONS - DIM/12X,    H0650130
     130HAND IDIM (POSITIVE DIFFERENCE)/ 2X,14HASA REF. - 8.2/          H0650140
     2/2X,7HRESULTS)                                                    H0650150
C*****    HEADER FOR SEGMENT 065 WRITTEN                                H0650160
C*****    TEST OF DIM - REAL ARGUMENTS, REAL FUNCTION             8.2/34H0650170
      CMAVS = -4.0                                                      H0650180
      CMBVS = 4.0                                                       H0650190
      CMCVS = 16.25                                                     H0650200
      CMDVS = -64.25                                                    H0650210
      CMEVS = DIM(CMAVS,CMBVS)                                          H0650220
      CMFVS = CMEVS + 0.0                                               H0650230
      WRITE (NUVI,0651) CMFVS                                           H0650240
      CMEVS = DIM(CMCVS,CMDVS)                                          H0650250
      CMFVS = CMEVS - 80.5                                              H0650260
      WRITE (NUVI,0651) CMFVS                                           H0650270
      CMEVS = DIM(CMCVS,CMBVS)                                          H0650280
      CMFVS = CMEVS - 12.25                                             H0650290
      WRITE (NUVI,0651) CMFVS                                           H0650300
      CMEVS = DIM(CMDVS,CMAVS)                                          H0650310
      CMFVS = CMEVS - 0.0                                               H0650320
      WRITE (NUVI,0651) CMFVS                                           H0650330
C*****    TEST OF IDIM - INTEGER ARGUMENTS, INTEGER FUNCTION      8.2/35H0650340
      MCAVI = 02468                                                     H0650350
      MCBVI = +36                                                       H0650360
      MCCVI = -3                                                        H0650370
      MCDVI = -23                                                       H0650380
      MCEVI = IDIM(MCAVI,MCBVI)                                         H0650390
      MCFVI = MCEVI - 2432                                              H0650400
      WRITE (NUVI,0652) MCFVI                                           H0650410
      MCEVI = IDIM(MCBVI,MCCVI)                                         H0650420
      MCFVI = MCEVI - 39                                                H0650430
      WRITE (NUVI,0652) MCFVI                                           H0650440
      MCEVI = IDIM(MCDVI,MCCVI)                                         H0650450
      MCFVI = MCEVI + 0                                                 H0650460
      WRITE (NUVI,0652) MCFVI                                           H0650470
      MCEVI = IDIM(MCCVI,MCCVI)                                         H0650480
      WRITE (NUVI,0652) MCEVI                                           H0650490
      MCEVI = IDIM(MCCVI,MCBVI)                                         H0650500
      WRITE (NUVI,0652) MCEVI                                           H0650510
      WRITE (NUVI,0653)                                                 H0650520
0651  FORMAT (1H0,F17.2)                                                H0650530
0652  FORMAT (1H0,10X,I5)                                               H0650540
0653  FORMAT (1H0,1X,34H ALL ABOVE ANSWERS SHOULD BE 0 FOR/2X,          H0650550
     135HTHIS TEST SEGMENT TO BE SUCCESSFUL.)                           H0650560
C*****    END OF TEST SEGMENT 065                                       H0650570
C*****  WHEN EXECUTING ONLY SEGMENT 065 THE STOP AND END CARDS          H0650580
C*****  WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C=                  H0650590
C*****  IN COLUMNS  1  AND  2  REMOVED.                                 H0650600
C=    STOP                                                              H0650610
C=    END                                                               H0650620
C***********************************************************************H0660010
C*****                                                                  H0660020
C*****                       IFSGL - (066)                              H0660030
C*****                                                                  H0660040
C***********************************************************************H0660050
C*****  GENERAL PURPOSE                                         ASA REF H0660060
C*****    TEST INTRINSIC FUNCTION SNGL - OBTAIN MOST SIGNIFICANT  8.2/36H0660070
C*****    PART OF DOUBLE PRECISION ARGUMENT.                   (TABLE 3)H0660080
C*****  GENERAL COMMENTS                                                H0660090
C*****    ASSIGNED GO TO STATEMENT ASSUMED WORKING.                     H0660100
C*****                                                                  H0660110
C*****  S P E C I F I C A T I O N S  SEGMENT 066                        H0660120
C*****                                                                  H0012395
C*****  WHEN EXECUTING ONLY SEGMENT 066, THE SPECIFICATION STATEMENTS   H0012400
C*****  WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C=                  H0012405
C*****  IN COLUMNS  1  AND  2  REMOVED.                                 H0012410
C*****                                                                  H0012415
C=    DOUBLE PRECISION MCAVD,MCBVD,MCCVD,MCDVD,MCEVD,MCFVD,             H0012420
C=   1                 CMAVD, CMBVD,CMCVD                               H0012425
C*****                                                                  H0012430
C*****  O U T P U T  T A P E  ASSIGNMENT STATEMENT.  NO INPUT TAPE.     H0660130
C*****                                                                  H0072425
C*****  WHEN EXECUTING ONLY SEGMENT 066, THE FOLLOWING STATEMENT        H0072430
C*****  NUVI = 6  MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED.          H0072435
C=    NUVI = 6                                                          H0072440
C*****                                                                  H0072445
      WRITE (NUVI, 0660)                                                H0660140
0660  FORMAT (1H1,1X,39HIFSGL - (066) INTRINSIC FUNCTION SNGL--/16X,    H0660150
     126HOBTAIN MOST SIGNIFICANT PT/16X,                                H0660160
     218H OF D.P. ARGUMENT. //2X,15HASA REFS. - 8.2//2X,7HRESULTS)      H0660170
C*****    HEADER FOR SEGMENT 066 WRITTEN                                H0660180
      MCAVD = .48748748748748D3+.57D-5+.5604645D-6+.31786509547D-7      H0660190
      MCBVD =-39.689539609539D1-.57D-5-.5604645D-6-.31786509547D-7      H0660200
      MCCVD = .33333333333333D0+.57D-5+.5604645D-6+.31786509547D-7      H0660210
      MCDVD =-.66666666666666D0-.57D-5+.5604645D-6-.31786509547D-7      H0660220
      MCEVD = .48748748748748D3+.57D-5+.5604645D-6+.31786509547D-7      H0660230
      MCFVD = -39.689539609539D+1                                       H0660240
      AVS   = 0.0                                                       H0660250
      BVS   = 0.0                                                       H0660260
      CVS   = 0.0                                                       H0660270
      IVI   = 2                                                         H0660280
C*****  EXPRESSION RESULTS ASSIGNED TO D.P. RESULT FOR VISUAL COMPARISONH0660290
C*****  ARGUMENTS OF SNGL - VARIABLE, SIMPLE EXPRESSION                 H0660300
      CMAVD = AVS + SNGL(MCAVD) - BVS                                   H0660310
      WRITE (NUVI,661) MCAVD,CMAVD                                      H0660320
      CMAVD = CVS + SNGL(MCBVD) + AVS                                   H0660330
      WRITE (NUVI,661) MCBVD, CMAVD                                     H0660340
      CMAVD = SNGL(MCCVD)                                               H0660350
      WRITE (NUVI,661) MCCVD,CMAVD                                      H0660360
      CMBVD = -MCBVD                                                    H0660370
      CMAVD = -SNGL(MCBVD - CMBVD)                                      H0660380
      CMCVD = - (MCBVD + MCBVD)                                         H0660390
      WRITE (NUVI,661) CMCVD,CMAVD                                      H0660400
      CMCVD = MCDVD * MCDVD                                             H0660410
      CMAVD = BVS + SNGL(MCDVD**IVI) + CVS                              H0660420
      WRITE (NUVI,661) CMCVD, CMAVD                                     H0660430
C*****  ARGUMENT OF SNGL - INTRINSIC FUNCTION WITH DIFFERENT NO. OF ARG H0660440
      CMAVD = -(CVS + SNGL(DABS(MCDVD)) + BVS)                          H0660450
      WRITE (NUVI,661) MCDVD, CMAVD                                     H0660460
      CMAVD = AVS - BVS + SNGL(DMIN1(MCEVD,MCFVD))                      H0660470
      WRITE (NUVI,661) MCFVD, CMAVD                                     H0660480
      CMAVD = CVS + BVS + SNGL(DMAX1(MCCVD,MCEVD,MCFVD))                H0660490
      WRITE (NUVI,661) MCEVD, CMAVD                                     H0660500
      WRITE (NUVI, 662)                                                 H0660510
661   FORMAT(1H0,1X,6HLINE A,D25.14/2X,6HLINE B,D25.14)                 H0660520
662   FORMAT(33H0 LINE B SHOULD AGREE WITH LINE A /40H  ONLY TO THE PRECH0660530
     AISION OF A REAL DATUM. /37H  REMAINING DIGITS RESULT FROM OUTPUT /H0660540
     B 33H  CONVERSION WHEN A REAL VALUE IS / 32H  ASSIGNED TO D.P. FOR H0660550
     CPRINTING. )                                                       H0660560
C*****    END OF SEGMENT 066                                            H0660570
C*****  WHEN EXECUTING ONLY SEGMENT 066, THE STOP AND END CARDS         H0660580
C*****  WHICH APPEAR AS COMMENT CARDS MUST HAVE THE  C= IN COLUMNS      H0660590
C*****  1  AND  2  REMOVED.                                             H0660600
C=    STOP                                                              H0660610
C=    END                                                               H0660620
C***********************************************************************H0670010
C*****                                                                  H0670020
C*****                       IFREL - (067)                              H0670030
C*****                                                                  H0670040
C***********************************************************************H0670050
C*****  GENERAL PURPOSE                                         ASA REF H0670060
C*****    TEST INTRINSIC FUNCTION REAL (OBTAIN REAL PART OF       8.2/39H0670070
C*****    COMPLEX ARGUMENT ).                                  (TABLE 3)H0670080
C*****                                                                  H0670090
C*****  S P E C I F I C A T I O N S  SEGMENT 067                        H0670100
C*****                                                                  H0012435
C*****  WHEN EXECUTING ONLY SEGMENT 067, THE SPEC+F+CAT+ON STATEMENTS   H0012440
C*****  WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C=                  H0012445
C*****  IN COLUMNS  1  AND  2  REMOVED.                                 H0012450
C*****                                                                  H0012455
C=    COMPLEX CHAVC,CHBVC,CHCVC,CHDVC,CHEVC,CHFVC                       H0012460
C*****                                                                  H0012465
C*****  O U T P U T  T A P E  ASSIGNMENT STATEMENT.  NO INPUT TAPE.     H0670110
C*****                                                                  H0072450
C*****  WHEN EXECUTING ONLY SEGMENT 067, THE FOLLOWING STATEMENT        H0072455
C*****  NUVI = 6  MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED.          H0072460
C=    NUVI = 6                                                          H0072465
C*****                                                                  H0072470
      WRITE (NUVI,0670)                                                 H0670120
0670  FORMAT (1H1,1X,34HIFREL - (067) INTRINSIC FUNCTION--/ 16X, 4HREAL/H0670130
     1 2X,14HASA REF. - 8.2//                                           H0670140
     2 2X,7HRESULTS)                                                    H0670150
C*****    HEADER FOR SEGMENT 067 WRITTEN                                H0670160
      CHAVC = (3.2,1.86)                                                H0670170
      CHBVC = (2.1,0.0)                                                 H0670180
      CHCVC = (3.7,-1.2)                                                H0670190
      CHDVC = (+45.1,+2.2)                                              H0670200
      CHEVC = (-16.0, 0.0)                                              H0670210
      CHFVC = (-32.0, -1.1)                                             H0670220
      CMAVS = REAL(CHAVC)                                               H0670230
      CMBVS = CMAVS - 3.2                                               H0670240
      CMAVS = REAL(CHBVC)                                               H0670250
      CMCVS = CMAVS - 2.1                                               H0670260
      CMAVS = REAL(CHCVC)                                               H0670270
      CMDVS = CMAVS - 3.7                                               H0670280
      CMAVS = REAL(CHDVC)                                               H0670290
      CMEVS = CMAVS - 45.1                                              H0670300
      CMAVS =  ABS(REAL(CHEVC) + REAL(CHFVC))                           H0670310
      CMFVS = CMAVS - 48.0                                              H0670320
      CMAVS = AMAX1(REAL(CHAVC),REAL(CHBVC), REAL(CHEVC-CHFVC))         H0670330
      CMGVS = CMAVS - 16.0                                              H0670340
      WRITE (NUVI,0671) CMBVS,CMCVS,CMDVS,CMEVS,CMFVS,CMGVS             H0670350
C*****    REAL CONSTANTS HAVING ONLY FRACTIONAL PARTS(NO EXPONENT)      H0670360
      CHAVC = (.789,.12)                                                H0670370
      CHBVC = (.13,1.2)                                                 H0670380
      CHCVC = (.507,-2.2)                                               H0670390
      CHDVC = (+.5401,+.5)                                              H0670400
      CHEVC = (-.5,0.25)                                                H0670410
      CHFVC = (-.0625, 1.1)                                             H0670420
      CMAVS = REAL(CHAVC)                                               H0670430
      CMBVS = CMAVS - .789                                              H0670440
      CMAVS = REAL(CHBVC)                                               H0670450
      CMCVS = CMAVS -0.13                                               H0670460
      CMAVS = REAL(CHCVC)                                               H0670470
      CMDVS = CMAVS -0.507                                              H0670480
      CMAVS = REAL(CHDVC)                                               H0670490
      CMEVS = CMAVS -0.5401                                             H0670500
      CMAVS = REAL(CHEVC+CHFVC)                                         H0670510
      CMFVS = CMAVS  + 0.5625                                           H0670520
      CMAVS = REAL(CHEVC) - REAL(CHFVC)                                 H0670530
      CMGVS = CMAVS + 0.4375                                            H0670540
      WRITE (NUVI,0671) CMBVS,CMCVS,CMDVS,CMEVS,CMFVS,CMGVS             H0670550
C*****    REAL CONSTANTS HAVING ONLY INTEGRAL PARTS(NO EXPONENT)        H0670560
C*****                                                        5.1.1.2/22H0670570
      CHAVC = (23.,0.1)                                                 H0670580
      CHBVC = (12.,+1.2)                                                H0670590
      CHCVC = (1.,-2.3)                                                 H0670600
      CHDVC = (+45.,+.6)                                                H0670610
      CHEVC = (19.0, 1.0)                                               H0670620
      CHFVC = (-32.0, 2.0)                                              H0670630
      CMAVS = REAL(CHAVC)                                               H0670640
      CMBVS = CMAVS - 23.0                                              H0670650
      CMAVS = REAL(CHBVC)                                               H0670660
      CMCVS = CMAVS - 12.0                                              H0670670
      CMAVS = REAL(CHCVC)                                               H0670680
      CMDVS = CMAVS - 1.0                                               H0670690
      CMAVS = REAL(CHDVC)                                               H0670700
      CMEVS = CMAVS - 45.0                                              H0670710
      CMAVS = SIGN(DIM(REAL(CHEVC),REAL(CHFVC)),REAL(CHFVC))            H0670720
      CMFVS = CMAVS + 51.0                                              H0670730
      CMAVS = REAL((16.0,1.0) + CHEVC + CHFVC)                          H0670740
      CMGVS = CMAVS - 3.0                                               H0670750
      WRITE (NUVI,0671) CMBVS,CMCVS,CMDVS,CMEVS,CMFVS,CMGVS             H0670760
      WRITE (NUVI,0672)                                                 H0670770
0671  FORMAT (/6(F20.4/))                                               H0670780
0672  FORMAT ( /40H  ALL ABOVE ANSWERS SHOULD BE 0 FOR THIS /           H0670790
     132H  TEST SEGMENT TO BE SUCCESSFUL.)                              H0670800
C*****    END OF TEST SEGMENT 067                                       H0670810
C*****  WHEN EXECUTING ONLY SEGMENT 067, THE  STOP  AND  END  CARDS     H0670820
C*****  WHICH APPEAR AS COMMENT CARDS MUST HAVE THE  C=                 H0670830
C*****  IN COLUMNS  1  AND  2  REMOVED.                                 H0670840
C=    STOP                                                              H0670850
C=    END                                                               H0670860
C***********************************************************************H0680010
C*****                                                                  H0680020
C*****                       IFIMG - (068)                              H0680030
C*****                                                                  H0680040
C***********************************************************************H0680050
C*****  GENERAL PURPOSE                                         ASA REF H0680060
C*****    TEST INTRINSIC FUNCTION AIMAG (OBTAIN IMAGINARY PART    8.2/41H0680070
C*****    OF COMPLEX ARGUMENT )                                (TABLE 3)H0680080
C*****                                                                  H0680090
C*****  S P E C I F I C A T I O N S  SEGMENT 068                        H0680100
C*****                                                                  H0012470
C*****  WHEN EXECUTING ONLY SEGMENT 068, THE SPECIFICATION STATEMENTS   H0012475
C*****  WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C=                  H0012480
C*****  IN COLUMNS  1  AND  2  REMOVED.                                 H0012485
C*****                                                                  H0012490
C=    COMPLEX CHAVC,CHBVC,CHCVC,CHDVC,CHEVC,CHFVC,CHGVC,CHHVC,CHIVC,    H0012495
C=   1CHJVC,CHKVC,CHLVC                                                 H0012500
C*****                                                                  H0012505
C*****  O U T P U T  T A P E  ASSIGNMENT STATEMENT.  NO INPUT TAPE.     H0680110
C*****                                                                  H0072475
C*****  WHEN EXECUTING ONLY SEGMENT 068, THE FOLLOWING STATEMENT        H0072480
C*****  NUVI = 6  MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED.          H0072485
C=    NUVI = 6                                                          H0072490
C*****                                                                  H0072495
      WRITE (NUVI,0680)                                                 H0680120
0680  FORMAT (1H1,1X,40HIFIMG - (068) INTRINSIC FUNCTION - AIMAG/16X,   H0680130
     119HOBTAIN IMAGINARY PT/16X,19HOF COMPLEX ARGUMENT/ 2X,            H0680140
     213HASA REF.- 8.2//2X,7HRESULTS)                                   H0680150
C*****    HEADER FOR SEGMENT 068 WRITTEN                                H0680160
C*****    IMAGINARY PARTS OF COMPLEX NUMBERS HAVING BOTH INTEGRAL       H0680170
C*****    AND FRACTIONAL PARTS. (NO EXPONENT)                           H0680180
      CHAVC = (3.2,1.86)                                                H0680190
      CHBVC = (2.1,0.0)                                                 H0680200
      CHCVC = (37.0,-1.2)                                               H0680210
      CHDVC = (+45.1,+2.2)                                              H0680220
      CMAVS = AIMAG(CHAVC)                                              H0680230
      CMBVS = CMAVS - 1.86                                              H0680240
      CMAVS = AIMAG(CHBVC)                                              H0680250
      CMCVS = CMAVS - 0.0                                               H0680260
      CMAVS = AIMAG(CHCVC)                                              H0680270
      CMDVS = CMAVS + 1.2                                               H0680280
      CMAVS = AIMAG(CHDVC)                                              H0680290
      CMEVS = CMAVS -2.2                                                H0680300
      WRITE (NUVI,0681) CMBVS,CMCVS,CMDVS,CMEVS                         H0680310
C*****    IMAGINARY PARTS OF COMPLEX NUMBERS HAVING ONLY FRACTIONAL     H0680320
C*****    PARTS (NO EXPONENT)                                           H0680330
      CHAVC = (.789,.00)                                                H0680340
      CHBVC = (1.2,.789)                                                H0680350
      CHCVC = (+4.56,-.456)                                             H0680360
      CHDVC = (-12.3,+.001)                                             H0680370
      CMAVS = AIMAG(CHAVC)                                              H0680380
      CMBVS = CMAVS - 0.0                                               H0680390
      CMAVS = AIMAG(CHBVC)                                              H0680400
      CMCVS = CMAVS - .789                                              H0680410
      CMAVS = AIMAG(CHCVC)                                              H0680420
      CMDVS = CMAVS + .456                                              H0680430
      CMAVS = AIMAG(CHDVC)                                              H0680440
      CMEVS = CMAVS - 0.001                                             H0680450
      WRITE (NUVI,0681) CMBVS,CMCVS,CMDVS,CMEVS                         H0680460
C*****    IMAGINARY PARTS OF COMPLEX NUMBERS HAVING ONLY INTEGRAL       H0680470
C*****    PARTS (NO EXPONENT)                                           H0680480
      CHAVC =(-12.,12.)                                                 H0680490
      CHBVC = (+1.23,0.)                                                H0680500
      CHCVC = (0.0, -16.0)                                              H0680510
      CHDVC = (-1.1, -32.0)                                             H0680520
      CMAVS = AIMAG(CHAVC)                                              H0680530
      CMBVS = CMAVS - 12.0                                              H0680540
      CMAVS = AIMAG(CHBVC)                                              H0680550
      CMCVS = CMAVS + 0.0                                               H0680560
      CMAVS = ABS(AIMAG(CHCVC)+AIMAG(CHDVC))                            H0680570
      CMDVS = CMAVS - 48.0                                              H0680580
      CMAVS = AMAX1(AIMAG(CHAVC), AIMAG(CHBVC), AIMAG(CHCVC-CHDVC))     H0680590
      CMEVS = CMAVS - 16.0                                              H0680600
      WRITE (NUVI,0681) CMBVS,CMCVS,CMDVS,CMEVS                         H0680610
C*****    IMAGINARY PARTS OF COMPLEX NUMBERS HAVING A DECIMAL EXPONENT. H0680620
      CHAVC = (2.3E0,1.2E0)                                             H0680630
      CHBVC = (1.2,.56E2)                                               H0680640
      CHCVC = (.24,1.E1)                                                H0680650
      CHDVC = (1.,+7.8E+1)                                              H0680660
      CHEVC = (1.5, 16.0)                                               H0680670
      CHFVC = (1.0, -32.0)                                              H0680680
      CHGVC = (1.E0,-7.99E-1)                                           H0680690
      CHHVC = (27.00,.55E-1)                                            H0680700
      CHIVC = (1.E0,2.E-0)                                              H0680710
      CHJVC = (1.2,1.E+1)                                               H0680720
      CHKVC = (1.E-1,+7.E0)                                             H0680730
      CHLVC = (1.7,-99.E-1)                                             H0680740
      CMAVS = AIMAG(CHAVC)                                              H0680750
      CMBVS = CMAVS - 1.2E0                                             H0680760
      CMAVS = AIMAG(CHBVC)                                              H0680770
      CMCVS = CMAVS - .56E2                                             H0680780
      CMAVS = AIMAG(CHCVC)                                              H0680790
      CMDVS = CMAVS - 1.E1                                              H0680800
      CMAVS = AIMAG(CHDVC)                                              H0680810
      CMEVS = CMAVS - 7.8E+1                                            H0680820
      WRITE (NUVI,0681) CMBVS,CMCVS,CMDVS,CMEVS                         H0680830
      CMAVS = SIGN(DIM(AIMAG(CHEVC),AIMAG(CHFVC)), AIMAG(CHFVC))        H0680840
      CMBVS = CMAVS + 48.0                                              H0680850
      CMAVS = AIMAG((1.0, 16.0) + CHEVC + CHFVC)                        H0680860
      CMCVS = CMAVS + 0.0                                               H0680870
      CMAVS = AIMAG(CHGVC)                                              H0680880
      CMDVS = CMAVS + 7.99E-1                                           H0680890
      CMAVS = AIMAG(CHHVC)                                              H0680900
      CMEVS = CMAVS - .55E-1                                            H0680910
      WRITE (NUVI,0681) CMBVS,CMCVS,CMDVS,CMEVS                         H0680920
      CMAVS = AIMAG(CHIVC)                                              H0680930
      CMBVS = CMAVS - 2.E-0                                             H0680940
      CMAVS = AIMAG(CHJVC)                                              H0680950
      CMCVS = CMAVS - 1.E+1                                             H0680960
      CMAVS = AIMAG(CHKVC)                                              H0680970
      CMDVS = CMAVS - 7.E0                                              H0680980
      CMAVS = AIMAG(CHLVC)                                              H0680990
      CMEVS = CMAVS + 99.E-1                                            H0681000
      WRITE (NUVI,0681) CMBVS,CMCVS,CMDVS,CMEVS                         H0681010
      WRITE (NUVI,0682)                                                 H0681020
0681  FORMAT ( / 4(F20.5 / ))                                           H0681030
0682  FORMAT ( /40H  ALL ABOVE ANSWERS SHOULD BE 0 FOR THIS /           H0681040
     132H  TEST SEGMENT TO BE SUCCESSFUL.)                              H0681050
C*****    END OF TEST SEGMENT 068                                       H0681060
C*****  WHEN EXECUTING ONLY SEGMENT 068, THE  STOP  AND  END  CARDS     H0681070
C*****  WHICH APPEAR AS COMMENT CARDS MUST HAVE THE  C=                 H0681080
C*****  IN COLUMNS  1  AND  2  REMOVED.                                 H0681090
C=    STOP                                                              H0681100
C=    END                                                               H0681110
C***********************************************************************H0690010
C*****                                                                  H0690020
C*****                       IFDBL - (069)                              H0690030
C*****                                                                  H0690040
C***********************************************************************H0690050
C*****  GENERAL PURPOSE                                         ASA REF H0690060
C*****    TEST INTRINSIC FUNCTION DBLE (EXPRESS S.P. ARGUMENT     8.2/43H0690070
C*****    IN DOUBLE PRECISION FORM )                           (TABLE 3)H0690080
C*****    INTRINSIC FUNCTIONS DABS,DSIGN,DMIN1,DMAX1,AMAX1              H0690090
C*****    ASSUMED WORKING.                                              H0690100
C*****                                                                  H0690110
C*****  S P E C I F I C A T I O N S  SEGMENT 069                        H0690120
C*****                                                                  H0012510
C*****  WHEN EXECUTING ONLY SEGMENT 069, THE SPECIFICATION STATEMENTS   H0012515
C*****  WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C=                  H0012520
C*****  IN COLUMNS  1  AND  2  REMOVED.                                 H0012525
C*****                                                                  H0012530
C=    DOUBLE PRECISION  MCAVD,MCBVD,MCCVD,MCDVD,MCEVD,MCFVD,MCGVD       H0012535
C*****                                                                  H0012540
C*****  O U T P U T  T A P E  ASSIGNMENT STATEMENT.  NO INPUT TAPE.     H0690130
C*****                                                                  H0072500
C*****  WHEN EXECUTING ONLY SEGMENT 069, THE FOLLOWING STATEMENT        H0072505
C*****  NUVI = 6  MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED.          H0072510
C=    NUVI = 6                                                          H0072515
C*****                                                                  H0072520
      WRITE (NUVI,0690)                                                 H0690140
0690  FORMAT (1H1,1X,39HIFDBL - (069) INTRINSIC FUNCTION - DBLE/16X,    H0690150
     126HS.P. ARGUMENT IN D.P. FORM / 2X,13HASA REF.- 8.2//2X,7HRESULTS)H0690160
C*****    HEADER FOR SEGMENT 069 WRITTEN                                H0690170
      CMAVS = 0.9765625E-3                                              H0690180
      CMBVS = -.1953125E-2                                              H0690190
      CMCVS = .5859375E-2                                               H0690200
      CMDVS = -.1048576E+7                                              H0690210
      CMEVS = +114688.0                                                 H0690220
      MCAVD = 0.0D0                                                     H0690230
      MCBVD = MCAVD * DBLE(CMAVS)                                       H0690240
      MCCVD = DMIN1(DBLE(CMAVS),DBLE(CMEVS))                            H0690250
      MCDVD = MCAVD * MCBVD - DABS(DBLE(CMBVS))                         H0690260
      MCEVD = MCAVD - DSIGN(DBLE(CMCVS),DBLE(CMBVS))                    H0690270
      MCFVD = - DABS(DBLE(CMDVS)) + MCAVD                               H0690280
      MCGVD = DMAX1(DBLE(AMAX1(CMDVS,CMEVS)),MCBVD)                     H0690290
      WRITE(NUVI,691) CMAVS, MCCVD, CMBVS, MCDVD,                       H0690300
     1                CMCVS, MCEVD, CMDVS, MCFVD, CMEVS, MCGVD          H0690310
691   FORMAT(1H0,1X,6HLINE A, E18.7/ 8H  LINE B, D25.14)                H0690320
      WRITE(NUVI, 692)                                                  H0690330
692   FORMAT(1H0,38H A COMPARISON OF LINE A AGAINST LINE B /1X,         H0690340
     1 40H IS NEEDED TO CHECK THE VALIDITY OF TEST)                     H0690350
C*****    END OF TEST SEGMENT 069                                       H0690360
C*****  WHEN EXECUTING ONLY SEGMENT 069, THE STOP AND END CARDS         H0690370
C*****  WHICH APPEAR AS COMMENT CARDS MUST HAVE THE  C=                 H0690380
C*****  IN COLUMNS  1  AND  2  REMOVED.                                 H0690390
C=    STOP                                                              H0690400
C=    END                                                               H0690410
C***********************************************************************H0700010
C*****                                                                  H0700020
C*****                       IFCPX - (070)                              H0700030
C*****                                                                  H0700040
C***********************************************************************H0700050
C*****  GENERAL PURPOSE                                         ASA REF H0700060
C*****    TEST INTRINSIC FUNCTION CMPLX (EXPRESS TWO REAL         8.2/45H0700070
C*****    ARGUMENTS IN COMPLEX FORM)                           (TABLE 3)H0700080
C*****  GENERAL COMMENTS                                                H0700090
C*****    SUBTRACTION OF COMPLEX NUMBERS ASSUMED WORKING                H0700100
C*****                                                                  H0700110
C*****  S P E C I F I C A T I O N S  SEGMENT 070                        H0700120
C*****                                                                  H0012545
C*****  WHEN EXECUTING ONLY SEGMENT 070, THE SPECIFICATION STATEMENTS   H0012550
C*****  WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C=                  H0012555
C*****  IN COLUMNS  1  AND  2  REMOVED.                                 H0012560
C*****                                                                  H0012565
C=    COMPLEX CHAVC,CHBVC,CHCVC,CHDVC,CHEVC,CHFVC,CHGVC                 H0012570
C*****                                                                  H0012575
C*****  O U T P U T  T A P E  ASSIGNMENT STATEMENT.  NO INPUT TAPE.     H0700130
C*****  WHEN EXECUTING ONLY SEGMENT 070, THE FOLLOWING STATEMENT        H0072525
C*****  NUVI = 6  MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED.          H0072530
C=    NUVI = 6                                                          H0072535
      WRITE (NUVI,0700)                                                 H0700140
0700  FORMAT (1H1, 1X,40HIFCPX - (070) INTRINSIC FUNCTION - CMPLX/16X,  H0700150
     126HEXPRESS TWO REAL ARGUMENTS/16X,15HIN COMPLEX FORM/15H  ASA REF.H0700160
     2- 8.2//2X,7HRESULTS)                                              H0700170
C*****    HEADER FOR SEGMENT 070 WRITTEN                                H0700180
      CMAVS = 23.123                                                    H0700190
      CMBVS = -.78                                                      H0700200
      CMCVS = +17.                                                      H0700210
      CMDVS = 157.E-1                                                   H0700220
      CMEVS = -.985E1                                                   H0700230
      CMFVS = +88.E+0                                                   H0700240
      CHAVC = CMPLX(CMAVS,CMBVS)                                        H0700250
      CHBVC = CHAVC - (23.123,-.78)                                     H0700260
      CHAVC = CMPLX(CMBVS,15.0)                                         H0700270
      CHCVC = CHAVC - (-.78,15.0)                                       H0700280
      CHAVC = CMPLX(CMDVS,CMFVS)                                        H0700290
      CHDVC = CHAVC - (157.E-1,+88.E+0)                                 H0700300
      CHAVC =  CMPLX(0.0,0.E0)                                          H0700310
      CHEVC = CHAVC                                                     H0700320
      CHAVC = CMPLX(CMEVS,CMFVS)                                        H0700330
      CHFVC = CHAVC - (-.985E1,+88.E+0)                                 H0700340
      CHAVC = CMPLX(CMCVS,-0.0E-1)                                      H0700350
      CHGVC = CHAVC - (+17.0,0.0)                                       H0700360
      WRITE (NUVI,0702) CHBVC, CHCVC, CHDVC, CHEVC, CHFVC, CHGVC        H0700370
      WRITE (NUVI,0701)                                                 H0700380
0701  FORMAT   (//2X,37HTHE ABOVE ANSWERS SHOULD ALL BE 0 FOR/1X,       H0700390
     136H THIS TEST SEGMENT TO BE SUCCESSFUL.)                          H0700400
0702  FORMAT (6(/F17.7,F17.7))                                          H0700410
C*****    END OF TEST SEGMENT 070                                       H0700420
C*****  WHEN EXECUTING ONLY SEGMENT 070, THE  STOP  AND  END  CARDS     H0700430
C*****  WHICH APPEAR AS COMMENT CARDS MUST HAVE THE  C=                 H0700440
C*****  IN COLUMNS  1  AND  2  REMOVED.                                 H0700450
C=    STOP                                                              H0700460
C=    END                                                               H0700470
C***********************************************************************H0710010
C*****                                                                  H0710020
C*****                       IFCJG - (071)                              H0710030
C*****                                                                  H0710040
C***********************************************************************H0710050
C*****  GENERAL PURPOSE                                         ASA REF H0710060
C*****    TEST INTRINSIC FUNCTION CONJG (OBTAIN CONJUGATE OF A    8.2/47H0710070
C*****    COMPLEX ARGUMENT)                                    (TABLE 3)H0710080
C*****  GENERAL COMMENTS                                                H0710090
C*****    SUBTRACTION OF COMPLEX NUMBERS ASSUMED WORKING                H0710100
C*****                                                                  H0710110
C*****  S P E C I F I C A T I O N S  SEGMENT 071                        H0710120
C*****                                                                  H0012580
C*****  WHEN EXECUTING ONLY SEGMENT 071, THE SPECIFICATION STATEMENTS   H0012585
C*****  IN COLUMNS  1  AND  2  REMOVED.                                 H0012590
C*****                                                                  H0012595
C=    COMPLEX  CHAVC, CHBVC, CHCVC, CHDVC ,CHEVC                        H0012600
C*****                                                                  H0012605
C*****  O U T P U T  T A P E  ASSIGNMENT STATEMENT.  NO INPUT TAPE.     H0710130
C*****                                                                  H0072540
C*****  WHEN EXECUTING ONLY SEGMENT 071, THE FOLLOWING STATEMENT        H0072545
C*****  NUVI = 6  MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED.          H0072550
C=    NUVI = 6                                                          H0072555
C*****                                                                  H0072560
      WRITE (NUVI,0710)                                                 H0710140
0710  FORMAT (1H1, 1X,40HIFCJG - (071) INTRINSIC FUNCTION - CONJG/16X,  H0710150
     119HOBTAIN CONJUGATE OF/16X,16HA COMPLEX NUMBER/                   H0710160
     217H  ASA REFS. - 8.2//2X,7HRESULTS)                               H0710170
C*****    HEADER FOR SEGMENT 071 WRITTEN                                H0710180
      CHAVC = (1.1,+2.1)                                                H0710190
      CHBVC = CONJG(CHAVC)                                              H0710200
      CHCVC = CHBVC - (1.1,-2.1)                                        H0710210
      CHEVC = (-2.E0, -3.E-1)                                           H0710220
      CHBVC = CONJG(CHEVC)                                              H0710230
      CHDVC = CHBVC - (-2.E0,3.E-1)                                     H0710240
      WRITE (NUVI,0711) CHCVC, CHDVC                                    H0710250
      CHAVC = (-.2,+.3)                                                 H0710260
      CHBVC = CONJG(CHAVC)                                              H0710270
      CHCVC = CHBVC - (-.2,-.3)                                         H0710280
      CHAVC = (23.1E-1,1.E-2)                                           H0710290
      CHBVC = CONJG(CHAVC)                                              H0710300
      CHDVC = CHBVC - (23.1E-1,-1.E-2)                                  H0710310
      WRITE (NUVI,0711) CHCVC,CHDVC                                     H0710320
      CHBVC = CONJG((1.2,2.2))                                          H0710330
      CHCVC = CHBVC - (1.2,-2.2)                                        H0710340
      CHBVC = CONJG((-1.0,2.0E-1))                                      H0710350
      CHDVC = CHBVC - (-1.0,-2.0E-1)                                    H0710360
      WRITE (NUVI,0711) CHCVC, CHDVC                                    H0710370
      CHBVC = CONJG((.1,.2E0))                                          H0710380
      CHCVC = CHBVC - (.1,-.2E0)                                        H0710390
      CHDVC = CONJG((.0,-0.E0))                                         H0710400
      WRITE (NUVI,0711) CHCVC, CHDVC                                    H0710410
      WRITE (NUVI,0712)                                                 H0710420
0711  FORMAT (4(/  F17.7, F10.7))                                       H0710430
0712  FORMAT (//38H  ALL ABOVE ANSWERS MUST BE 0 FOR THIS/1X,           H0710440
     131H TEST SEGMENT TO BE SUCCESSFUL.)                               H0710450
C*****    END OF TEST SEGMENT 071                                       H0710460
C*****  WHEN EXECUTING ONLY SEGMENT 071, THE  STOP  AND  END  CARDS     H0710470
C*****  WHICH APPEAR AS COMMENT CARDS MUST HAVE THE  C=                 H0710480
C*****  IN COLUMNS  1  AND  2  REMOVED.                                 H0710490
C=    STOP                                                              H0710500
C=    END                                                               H0710510
C***********************************************************************H0720010
C*****                                                                  H0720020
C*****                       IFBMS - (072)                              H0720030
C*****                                                                  H0720040
C***********************************************************************H0720050
C*****  GENERAL PURPOSE                                         ASA REF H0720060
C*****    TEST THAT ALL INTRINSIC FUNCTIONS WOULD ACCEPT          8.2/32H0720070
C*****    ANY EXPRESSION OF THE TYPE SPECIFIED IN THE          (TABLE 3)H0720080
C*****    INTRINSIC FUNCTION TABLE - ASA REFS - 8.2/01-47               H0720090
C*****  GENERAL COMMENTS                                                H0720100
C*****    SEGMENTS 055 TO 071 ASSUMED WORKING                           H0720110
C*****                                                                  H0720120
C*****  O U T P U T  T A P E  ASSIGNMENT STATEMENT.  NO INPUT TAPE.     H0720130
C*****                                                                  H0720140
C*****  WHEN EXECUTING ONLY SEGMENT 072, THE FOLLOWING STATEMENT        H0072565
C*****  NUVI = 6  MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED.          H0072570
C=    NUVI = 6                                                          H0072575
C*****                                                                  H0072580
      WRITE (NUVI,0720)                                                 H0720150
0720  FORMAT (1H1,1X,37HIFBMS - (072) BASIC FORTRAN INTRINSIC/10X,      H0720160
     128HFUNCTIONS ACCEPT EXPRESSIONS/10X,30HOF TYPE SPECIFIED IN I.F.TAH0720170
     2BLE//15H  ASA REF.- 8.2//2X,7HRESULTS)                            H0720180
C*****    HEADER FOR SEGMENT 072 WRITTEN                                H0720190
C*****    TEST ABS - ABSOLUTE VALUE OF REAL ARGUMENT              8.2/11H0720200
      CMAVS = 0.5                                                       H0720210
      CMBVS = -.25                                                      H0720220
      CMCVS = 16.0                                                      H0720230
      CMDVS = -4.0                                                      H0720240
      CMEVS = ABS(CMAVS + CMBVS) + 1.0                                  H0720250
      CMFVS = CMEVS - (0.5 - .25) - 1.0                                 H0720260
      CMEVS = ABS(0.0 -ABS(CMAVS - CMCVS+ CMDVS))                       H0720270
      CMGVS = CMEVS + (0.5 - 16.0 - 4.0)                                H0720280
      CMEVS = ABS(CMAVS + 1.0 - (CMCVS + CMDVS) + 0.5 * 8.0)            H0720290
      CMHVS = CMEVS + (0.5 + 1.0 - (16.0 - 4.0) + 4.0)                  H0720300
      CMEVS = ABS(1.0E0 + (1.0 * 1.0 / 1.0) **2)                        H0720310
      CMIVS = CMEVS - 2.0                                               H0720320
      WRITE (NUVI,0721) CMFVS , CMGVS , CMHVS , CMIVS                   H0720330
C*****    TEST OF IABS - ABSOLUTE VALUE OF INTEGER ARGUMENT       8.2/12H0720340
      MCAVI = 2                                                         H0720350
      MCBVI = 10                                                        H0720360
      MCCVI = IABS (MCAVI + MCBVI)                                      H0720370
      MCDVI = MCCVI - 12                                                H0720380
      MCCVI = IABS(MCAVI * 2 + MCBVI / 2) +1                            H0720390
      MCEVI = MCCVI - 10                                                H0720400
      MCCVI = IABS(-MCBVI /(-2) - MCBVI ** 1 + (1 * 2 * 3 / 2 - 3) - 10 H0720410
     1 + 10 + MCBVI / MCAVI - 5)                                        H0720420
      MCFVI = MCCVI - 5                                                 H0720430
      MCCVI = IABS(0 - IABS(-5 * 1 / 5  - 5 * IABS(-1)))                H0720440
      MCGVI = MCCVI - 6                                                 H0720450
      WRITE (NUVI, 0722) MCDVI , MCEVI , MCFVI , MCGVI                  H0720460
C*****    TEST OF FLOAT - CONVERSION FROM INTEGER TO REAL         8.2/29H0720470
      CMEVS = FLOAT (MCAVI + MCBVI)                                     H0720480
      CMFVS = CMEVS - 12.0                                              H0720490
      CMEVS = FLOAT(MCAVI * 2 /4 + MCBVI ** 1)                          H0720500
      CMGVS = CMEVS - 11.0                                              H0720510
      CMEVS = FLOAT((23 + 46)/69 + 10 - MCBVI) *2.0 + 1.5               H0720520
      CMHVS = CMEVS - 3.5                                               H0720530
      CMEVS = (76.5 * 1.0 - FLOAT (76 * 1)) * 4.0                       H0720540
      CMIVS = CMEVS - 2.0                                               H0720550
      WRITE (NUVI,0723) CMFVS, CMGVS, CMHVS, CMIVS                      H0720560
C*****    TEST OF IFIX - CONVERSION FROM REAL TO INTEGER          8.2/30H0720570
      MCCVI = IFIX(CMAVS - CMBVS)                                       H0720580
      MCDVI = MCCVI                                                     H0720590
      MCCVI = IFIX(CMAVS *1.0 + CMBVS/CMBVS - (CMCVS - CMDVS))          H0720600
      MCEVI = MCCVI + 18                                                H0720610
      MCCVI = 1 + IFIX(2.5 * 2.0) - IFIX(10.0 /2.0)                     H0720620
      MCFVI = MCCVI - 1                                                 H0720630
      MCCVI = 2 + IFIX(2.5 ** 1.0 + (10.65 + 3.45))                     H0720640
      MCGVI = MCCVI - 18                                                H0720650
      WRITE (NUVI,0724) MCDVI, MCEVI, MCFVI, MCGVI                      H0720660
C*****    TEST OF SIGN - TRANSFER OF SIGN WITH REAL ARGUMENTS     8.2/31H0720670
      CMEVS = SIGN(CMAVS+CMDVS,CMDVS-CMBVS)                             H0720680
      CMFVS = CMEVS - (CMAVS + CMDVS)                                   H0720690
      CMEVS = SIGN(25.0 + 0.0 * 4.0,-24.4/6.1 * 1.0)                    H0720700
      CMGVS = CMEVS + 25.0                                              H0720710
      CMEVS = SIGN(10.5,SIGN(2.0,-4.5))                                 H0720720
      CMHVS = CMEVS + 10.5                                              H0720730
      CMEVS = SIGN(1.0,SIGN(-2.0,SIGN(2.0,-1.0)))                       H0720740
      CMIVS = CMEVS + 1.0                                               H0720750
      WRITE (NUVI,0725) CMFVS, CMGVS, CMHVS, CMIVS                      H0720760
C*****    TEST OF ISIGN - TRANSFER OF SIGN WITH INTEGER ARGUMENT  8.2/32H0720770
      MCCVI = ISIGN(MCAVI,MCAVI + MCBVI - 13)                           H0720780
      MCDVI = MCCVI + 2                                                 H0720790
      MCCVI = ISIGN(10,-5 - 10/2 + 1**2)                                H0720800
      MCEVI = MCCVI + 10                                                H0720810
      MCCVI = ISIGN( 1 + 2 + 3 , ISIGN(-2,7 + 5))                       H0720820
      MCFVI = MCCVI - 6                                                 H0720830
      MCCVI = ISIGN(1,ISIGN(-1,ISIGN(+1,-1)))                           H0720840
      MCGVI = MCCVI + 1                                                 H0720850
      WRITE (NUVI,0726) MCDVI, MCEVI, MCFVI, MCGVI                      H0720860
C*****    TEST OF COMBINATION OF ABS,IABS,FLOAT,IFIX,SIGN,ISIGN         H0720870
      CMEVS = FLOAT(IABS(IFIX(ABS(-5.0 + SIGN(-1.0,2.0)))))             H0720880
      CMFVS = CMEVS - 4.0                                               H0720890
      MCCVI = IFIX(FLOAT(ISIGN(1+2,IABS(1 + ISIGN(1,-1)))))             H0720900
      MCDVI = MCCVI - 3                                                 H0720910
      CMEVS = SIGN(ABS(1.0 + FLOAT(-20)), FLOAT(IFIX(1.0)))             H0720920
      CMGVS = CMEVS - 19.0                                              H0720930
      MCCVI = ISIGN(IABS(IFIX(1.0) - 2) , -((1 + IFIX(-1.0)) +1))       H0720940
      MCEVI = MCCVI + 1                                                 H0720950
      WRITE (NUVI,0727) CMFVS, CMGVS, MCDVI, MCEVI                      H0720960
      CMEVS = ABS(SIGN(1.0 + 2.0, FLOAT(IABS(-2))))                     H0720970
      CMFVS = CMEVS - 3.0                                               H0720980
      MCCVI = IABS(IFIX(SIGN(-2.0,2.0)))                                H0720990
      MCDVI = MCCVI - 2                                                 H0721000
      CMEVS = 1.2 + FLOAT(1 + 5 - ISIGN(-1,6))                          H0721010
      CMGVS = CMEVS - 6.2                                               H0721020
      MCCVI = 25 - ISIGN(IFIX(2.0),-IABS(-5))                           H0721030
      MCEVI = MCCVI - 27                                                H0721040
      WRITE (NUVI,0728) CMFVS, CMGVS, MCDVI, MCEVI                      H0721050
C*****    END OF TEST STATEMENTS                                        H0721060
0721  FORMAT ( / 30H  TEST OF ABS IN EXPRESSIONS -/ 4(F17.1/))          H0721070
0722  FORMAT (   31H  TEST OF IABS IN EXPRESSIONS -/ 4(I15/))           H0721080
0723  FORMAT (   32H  TEST OF FLOAT IN EXPRESSIONS -/ 4(F17.1/))        H0721090
0724  FORMAT (   31H  TEST OF IFIX IN EXPRESSIONS -/ 4(I15/))           H0721100
0725  FORMAT (   31H  TEST OF SIGN IN EXPRESSIONS -/ 4(F17.1/))         H0721110
0726  FORMAT (   32H  TEST OF ISIGN IN EXPRESSIONS -/ 4(I15/))          H0721120
0727  FORMAT (   40H  COMBINATION OF ALL INTRINSIC FUNCTIONS,           H0721130
     1  2(/F17.1), 2(/I15))                                             H0721140
0728  FORMAT (  2(F17.1/),2(I15/)/ 35H  ALL ABOVE ANSWERS SHOULD BE 0 FOH0721150
     1R/2X,35HTHIS TEST SEGMENT TO BE SUCCESSFUL.)                      H0721160
C*****    END OF TEST SEGMENT 072                                       H0721170
C*****  WHEN EXECUTING ONLY SEGMENT 072, THE  STOP  AND  END  CARDS     H0721180
C*****  WHICH APPEAR AS COMMENT CARDS MUST HAVE THE  C=                 H0721190
C*****  IN COLUMNS  1  AND  2  REMOVED.                                 H0721200
C=    STOP                                                              H0721210
C=    END                                                               H0721220
C***********************************************************************H0730010
C*****                                                                  H0730020
C*****                       IFFMS - (073)                              H0730030
C*****                                                                  H0730040
C***********************************************************************H0730050
C*****  GENERAL PURPOSE                                         ASA REF H0730060
C*****    TEST THAT ALL INTRINSIC FUNCTIONS IN FORTRAN WOULD      8.2/07H0730070
C*****    ACCEPT ANY EXPRESSION OF THE TYPE SPECIFIED IN THE     (PG 24)H0730080
C*****    INTRINSIC FUNCTION TABLE - ASA REFS - 8.2/TABLE 3             H0730090
C*****    SEGMENTS 055 - 071 ASSUMED WORKING.                           H0730100
C*****                                                                  H0730110
C*****  S P E C I F I C A T I O N S  SEGMENT 073                        H0730120
C*****                                                                  H0012610
C*****  WHEN EXECUTING ONLY SEGMENT 073, THE SPECIFICATION STATEMENTS   H0012615
C*****  WHICH APPEAR AS COMMENT CARDS MUST HAVE THE C=                  H0012620
C*****  IN COLUMNS  1  AND  2  REMOVED.                                 H0012625
C*****                                                                  H0012630
C=    DIMENSION MCA1I(5),AC2S(5,6)                                      H0012635
C=    INTEGER MCA3I(2,3,3)                                              H0012640
C=    DOUBLE PRECISION DPAVD,DPBVD,DPCVD,DPDVD,DPEVD,DPFVD,DPGVD,       H0012645
C=   1DPA1D(5),FC2D(5,5)                                                H0012650
C*****                                                                  H0012655
C*****  O U T P U T  T A P E  ASSIGNMENT STATEMENT.  NO INPUT TAPE.     H0730130
C*****                                                                  H0072585
C*****  WHEN EXECUTING ONLY SEGMENT 073, THE FOLLOWING STATEMENT        H0072590
C*****  NUVI = 6  MUST HAVE THE C= IN COLUMNS 1 AND 2 REMOVED.          H0072595
C=    NUVI = 6                                                          H0072600
C*****                                                                  H0072605
      WRITE (NUVI,0730)                                                 H0730140
0730  FORMAT (1H1,1X,41HIFFMS - (073) FORTRAN INTRINSIC FUNCTIONS/16X,  H0730150
     126HACCEPT EXPRESSIONS OF TYPE/16X,22HSPECIFIED IN I.F.TABLE/      H0730160
     223H  ASA REF.- 8.2/TABLE 3//2X,7HRESULTS)                         H0730170
C*****    HEADER FOR SEGMENT 073 WRITTEN                                H0730180
C*****    TEST OF DABS IN EXPRESSIONS                             8.2/13H0730190
      DPAVD = 1.25D0                                                    H0730200
      DPBVD = - 10.0D0                                                  H0730210
      DPCVD = DABS(DPAVD + DPBVD)                                       H0730220
      DPDVD = DPCVD - 10.0D0 + 1.25D0                                   H0730230
      DPCVD = DABS(1.0D0 + 2.D0 - 3.0D0 * 50.D-1)                       H0730240
      DPEVD = DPCVD - 12.D0                                             H0730250
      DPCVD = DABS( DPAVD * 1.D0 - 1.25D0 + DPBVD/2.D0) + 1.D0          H0730260
      DPFVD = DPCVD - 6.0D0                                             H0730270
      DPGVD = 1.0D0 + DABS(2.5D0 - 1.5D0 * 1.0D0) - 2.D0                H0730280
      WRITE (NUVI,0731) DPDVD, DPEVD, DPFVD, DPGVD                      H0730290
C*****    TEST OF AINT IN EXPRESSIONS                             8.2/14H0730300
      CMAVS = 1.23                                                      H0730310
      CMBVS = 27.998                                                    H0730320
      CMCVS = -9.007E0                                                  H0730330
      CMDVS = AINT(CMAVS + CMBVS - CMCVS)                               H0730340
      CMEVS = CMDVS - 38.0                                              H0730350
      CMDVS = AINT(1.0 + 2.0 /1.0 - 3.0 * 2.E0)                         H0730360
      CMFVS = CMDVS + 3.0                                               H0730370
      CMDVS = AINT(4. + AINT(2.E0 + CMCVS))                             H0730380
      CMGVS = CMDVS + 3.0                                               H0730390
      CMDVS = AINT(AINT(AINT( 1.4 - 2.7)))                              H0730400
      CMHVS = CMDVS + 1.0                                               H0730410
      WRITE (NUVI,0732) CMEVS, CMFVS, CMGVS, CMHVS                      H0730420
C*****    TEST OF INT IN EXPRESSIONS                              8.2/15H0730430
      MCAVI = INT(1.0 + 2.1 + 3.2 - 8.4 / 2.5 * 2.6)                    H0730440
      MCBVI = MCAVI + 2                                                 H0730450
      MCAVI = INT(100.0/6.0 - (2.0 **4.0) + (((2.0-3.0)+4.0) * 2.0))    H0730460
      MCCVI = MCAVI - 6                                                 H0730470
      MCAVI = INT((100.2/6.1/5.0+4.10) / 2.0)                           H0730480
      MCDVI = MCAVI - 3                                                 H0730490
      MCAVI = INT(9.0/2.0) + INT(5.1/4.0)                               H0730500
      MCEVI = MCAVI - 5                                                 H0730510
      WRITE (NUVI,0733) MCBVI, MCCVI, MCDVI, MCEVI                      H0730520
C*****    TEST OF IDINT IN EXPRESSIONS                            8.2/16H0730530
      DPA1D(1) = 2.5D1                                                  H0730540
      MCAVI = IDINT(DPBVD / 2.0D0 + 1.5D0)                              H0730550
      MCBVI = MCAVI + 3                                                 H0730560
      MCAVI = IDINT( 1.0D1 + 5.D0 * 2.D1 / 49.D1) + 1                   H0730570
      MCCVI = MCAVI - 11                                                H0730580
      MCAVI = IDINT(DPA1D(1))                                           H0730590
      MCDVI = MCAVI - 25                                                H0730600
      MCAVI = IDINT(DPA1D(1) + DPA1D(1)/4.0D0)                          H0730610
      MCEVI = MCAVI - 31                                                H0730620
      WRITE (NUVI,0734) MCBVI, MCCVI, MCDVI, MCEVI                      H0730630
C*****    TEST OF AMOD, MOD IN EXPRESSIONS                     8.2/17-18H0730640
      AC2S(1,1) = 27.0                                                  H0730650
      CMDVS =AMOD(25.0 + AC2S(1,1), 1.0 * 5.0)                          H0730660
      CMEVS = CMDVS - 2.0                                               H0730670
      CMDVS =AMOD(99.0,AMOD(25.0+ 27.0, 5.0))                           H0730680
      CMFVS = CMDVS - 1.0                                               H0730690
      MCA3I(1,2,3) = 5                                                  H0730700
      MCAVI = MOD(98 + 1, MOD(25 + 27,5))                               H0730710
      MCBVI = MCAVI - 1                                                 H0730720
      MCAVI = MOD (MCA3I (1,2,3), 2)                                    H0730730
      MCCVI = MCAVI - 1                                                 H0730740
      WRITE (NUVI,0735) CMEVS, CMFVS, MCBVI, MCCVI                      H0730750
C*****    TEST OF AMAX0, AMAX1, MAX0, MAX1 AND DMAX1 IN EXPRESSIONS     H0730760
C*****                                                         8.2/19-23H0730770
      FC2D(1,1) = 27.0D0                                                H0730780
      CMDVS = AMAX0(5 + 9, MAX0(14 * 2, MAX1( 2.0 /1.0,1.0)))           H0730790
      CMEVS = CMDVS - 28.0                                              H0730800
      CMDVS = AMAX1((AMAX0((MAX0(29,-100)),5 + 10)), 2.0 * 2.0)         H0730810
      CMFVS = CMDVS - 29.0                                              H0730820
      MCAVI = MAX1((AMAX0(25, -(1 * 5))),100.0)                         H0730830
      MCBVI = MCAVI - 100                                               H0730840
      DPCVD = DMAX1(FC2D(1,1),DMAX1(1.0D0, 0.D0 * FC2D(1,1)))           H0730850
      DPDVD = DPCVD - 27.0D0                                            H0730860
      WRITE (NUVI,0736) CMEVS, CMFVS, MCBVI, DPDVD                      H0730870
C*****    TEST OF AMIN0, AMIN1, MIN0, MIN1 AND DMIN1 IN EXPRESSIONS     H0730880
C*****                                                         8.2/24-27H0730890
      CMDVS = AMIN1(2.5 + AC2S(1,1), AMIN0(-5, MIN0(0,1)))              H0730900
      CMEVS = CMDVS + 5.0                                               H0730910
      MCAVI = MIN0((MIN1( -99., 100.0 - 1.0 * 99.)), 2)                 H0730920
      MCBVI = MCAVI + 99                                                H0730930
      MCAVI = MIN1( 2.0,AMIN1( 5. * 3.0, -9.0 /(-9.0)))                 H0730940
      MCCVI = MCAVI - 1                                                 H0730950
      DPCVD = DMIN1(FC2D(1,1), DMIN1(2.0D-1,0.0D0))                     H0730960
      DPDVD = DPCVD - 0.0D0                                             H0730970
      WRITE (NUVI,0737) CMEVS, MCBVI, MCCVI, DPDVD                      H0730980
C*****    TEST OF DSIGN,AND DBLE IN EXPRESSIONS            8.2/33,8.2/43H0730990
      DPCVD= DSIGN(FC2D(1,1) * 1.0D1, - 1.0D0)                          H0731000
      DPDVD = DPCVD + 27.0D1                                            H0731010
      DPCVD = DSIGN((DSIGN(2.0D0, -1.0D0) + 0.0D0), 9.0D0)              H0731020
      DPEVD = DPCVD - 2.0D0                                             H0731030
      DPCVD = DBLE( 2.0 * 4.0 + AC2S(1,1))                              H0731040
      DPFVD = DPCVD - 35.0D0                                            H0731050
      DPCVD = DBLE(-32.00 / 8.0) * DBLE(-2.0)                           H0731060
      DPGVD = DPCVD - 8.0D0                                             H0731070
      WRITE (NUVI,0738) DPDVD, DPEVD, DPFVD, DPGVD                      H0731080
C*****    TEST OF DIM AND IDIM IN EXPRESSIONS                  8.2/34-35H0731090
      CMDVS = DIM( 2.0 * 3.5 /7.0, AC2S(1,1))                           H0731100
      CMEVS = CMDVS - 0.0                                               H0731110
      CMDVS = DIM(DIM(9.0,-5.5), DIM(6.0,0.0))                          H0731120
      CMFVS = CMDVS - 8.5                                               H0731130
      MCA1I(1)=8                                                        H0731140
      MCCVI = IDIM(MCA1I(1) * 1, - (IDIM(0, -3)))                       H0731150
      MCDVI = MCCVI - 11                                                H0731160
      MCCVI = IDIM(((4 + 2 + 3)/3), - 2)                                H0731170
      MCEVI = MCCVI - 5                                                 H0731180
      WRITE (NUVI,9995) CMEVS, CMFVS, MCDVI, MCEVI                      H0731190
C*****    TEST OF SNGL, REAL , AIMAG, CMPLX AND CONJG IN EXPRESSIONS    H0731200
C*****                                                         8.2/36-47H0731210
      CMEVS = SNGL (1.0D0 * 2.D1 + AC2S(1,1))                           H0731220
      CMFVS = CMEVS - 47.0                                              H0731230
      CMEVS = REAL( CONJG((1.0, -2.0)))+ AIMAG((99.0, -7.0))            H0731240
      CMGVS = CMEVS + 6.0                                               H0731250
      CMEVS = AIMAG(CMPLX(REAL((2.0,1.0)), SNGL (1.0D0)))               H0731260
      CMHVS = CMEVS - 1.0D0                                             H0731270
      WRITE (NUVI,0739) CMFVS, CMGVS, CMHVS                             H0731280
C*****    SOME COMBINATIONS OF ABOVE INTRINSIC FUNCTIONS                H0731290
      CMEVS = AMIN1((FLOAT(IDIM(1+2,0))),(AIMAG(CMPLX(1.0,2.0))))       H0731300
      CMFVS = CMEVS - 2.0                                               H0731310
      CMEVS = REAL(CMPLX(SNGL(DABS(-DSIGN(DBLE(2.0),1.0D0))),CMAVS))    H0731320
      CMGVS = CMEVS - 2.0                                               H0731330
      WRITE (NUVI,9994) CMFVS, CMGVS                                    H0731340
C*****    END OF TEST STATEMENTS FOR SEGMENT 073                        H0731350
0731  FORMAT (/ 30H  TEST OF DABS IN EXPRESSIONS //4(D23.8/))           H0731360
0732  FORMAT (  30H  TEST OF AINT IN EXPRESSIONS //4(E19.6/))           H0731370
0733  FORMAT (  30H  TEST OF INT IN EXPRESSIONS  //4(I10/))             H0731380
0734  FORMAT (  30H  TEST OF IDINT IN EXPRESSIONS//4(I10/))             H0731390
0735  FORMAT (  35H  TEST OF AMOD, MOD IN EXPRESSIONS //                H0731400
     1 2(E19.6/), 2(I10/))                                              H0731410
0736  FORMAT (  40H  TEST OF AMAX0,AMAX1,MAX0,MAX1 AND DMAX//           H0731420
     1 2(E19.6/), I10/ D23.8)                                           H0731430
0737  FORMAT (  40H1 TEST OF AMIN0,AMIN1,MIN0,MIN1 AND DMIN//           H0731440
     1 E19.6/ 2(I10/), D23.8)                                           H0731450
0738  FORMAT (/ 39H  TEST OF DSIGN AND DBLE IN EXPRESSIONS//4(D23.8/))  H0731460
0739  FORMAT (  35H  TEST OF SNGL,REAL,AIMAG,CMPLX AND /                H0731470
     123H  CONJG IN EXPRESSIONS //3(E19.6/))                            H0731480
9994  FORMAT (  36H  TEST OF SOME COMBINATIONS OF ABOVE/                H0731490
     122H  INTRINSIC FUNCTIONS //2(E19.6/) /40H  ALL ABOVE ANSWERS SHOULH0731500
     2D BE 0 FOR THIS/27H  SEGMENT TO BE SUCCESSFUL.)                   H0731510
9995  FORMAT ( /37H  TEST OF DIM AND IDIM IN EXPRESSIONS/2(E19.6/),     H0731520
     1 2(I10/))                                                         H0731530
C*****    END OF TEST SEGMENT 073                                       H0731540
C*****  WHEN EXECUTING ONLY SEGMENT 073, THE  STOP  AND  END  CARDS     H0731550
C*****  WHICH APPEAR AS COMMENT CARDS MUST HAVE THE  C=                 H0731560
C*****  IN COLUMNS  1  AND  2  REMOVED.                                 H0731570
C=    STOP                                                              H0731580
C=    END                                                               H0731590
      STOP                                                              H9999995
      END                                                               H9999999