FORTRAN-86 COMPILER                                  03/01/95 12:08:18 PAGE   1
SRTEST.FTN

DOS 5.0 (046-N) FORTRAN-86 COMPILER  X420
COMPILER INVOKED BY: D:\F86\FORT86.EXE SRTEST.FTN CO XR PW(80) PL(63) MOD387 S
R(I4) IE


   1   c    SRTEST.FTN:  A  Fortran  program to test any  SRT  divider's logic
   2   c                 for quotient-digit selection,  usually in a  PLA,
   3   c                 regardless of most internal details of the divider.
   4   c    This version runs under MS-DOS on Intel-compatible floating-point.
   5   c    My compiler provides no access to the  DOS  command tail,  so input
   6   c    parameters come from four integers in four-line file  SRTEST.DTA :
   7   c         0 < n < 17 ,  0 < Lx < 17 ,  ix < 17 ,  and odd  dvd > 0 .
   8   c
   9   c ...   Parameter  n  says how many leading bits of divisors  1.xxxxx...
  10   c :           enter into  SRT  quotient-selection:          ->   n   <-
  11   c :           Over-estimating  n  will slow  SRTEST  exponentially.
  12   c : ======>   Under-estimating  n  will  Invalidate  SRTEST .  <========
  13   c :                                      ~~~~~~~~~~
  14   c :     Parameter  Lx = Log2(Radix) > 0 ,  so  Radix = 2**Lx > 1 .
  15   c :           Over-estimating  Lx  slows  SRTEST  proportionately.
  16   c :           Under-estimating  Lx  may speed  SRTEST  up a bit or slow
  17   c :                 it drastically.  If unknown,  try  Lx = 1  first.
  18   c :
  19   c :     Parameter  ix  increments and decrements dividends by  2**ix .
  20   c :           It is still subject to experimental investigation.  If on
  21   c :           input  ix < 0  it defaults to  ix = Lx - 1 ;  else try  0.
  22   c :
  23   c :           For  Intel's Pentium,  n = 5 ,  Lx = 2 ,  ix = 1 .
  24   c :
  25   c :     Parameter  dvd  should start at  1  but may be set to any bigger
  26   c :..         odd integer to resume  SRTESTing  aborted by  Ctrl-Break.
  27   c
  28   c ... Every variable has a declared type:
  29          IMPLICIT NONE
  30          CHARACTER*48  aargh
  31          DATA  aargh / '   TO ABORT THIS TEST,  PRESS  [Ctrl][Break] .' /
  32   c
  33   c ... The next few declarations are determined by the format of the
  34   c :   machine's floating-point arithmetic.  Intel's  is  five  2-byte
  35   c :   words wide,  with sign bit and biased exponent in the first word,
  36   c :   and with an explicit leading  1  in its  2*m = 64  sig. bits.
  37   c :   Later the program will set  tm = 2.0**m  and  tmn = tm/2.0**n  in
  38   c :   a way invulnerable to the compiler's whimsies.  The  EQUIVALENCEd
  39   c :.. variables  iq(...), qe, qh, dq, sq  are used for bit-twiddling:
  40          INTEGER*2  m,  iq(5)
  41          PARAMETER (  m = 32  )
  42          REAL*10  qe,  qh,  tm,  tmn
  43          REAL*8  dq
  44          REAL*4  sq
  45          EQUIVALENCE  ( dq, iq, qe, qh, sq )
  46   c ---   <- qh's exp.-><---   qh's sig. bits  --->  Little-Endian.
  47   c ---                              <--   sq   -->  To be set to  +0.0 .
  48   c ---                 <------     dq      ------>  To be set to  -0.0 .
  49   c ---   <- qe's exp.-><1000 ...          ... 000>  To expose exponent.
  50   c ---   <-   iq(5)  ->< iq(4),iq(3),iq(2),iq(1) >  To adjust exponent.
  51   c
  52   c ... Glossary:
  53   c :     count = count of divisions tested so far.
  54   c :     dvd = unperturbed small odd integer dividend;  0 < dvd < dvdend.
  55   c :     dvdend = 2.0**(m - 1 - ix)
FORTRAN-86 COMPILER                                  03/01/95 12:08:18 PAGE   2
SRTEST.FTN                                                           @MAIN

  56   c :     dvdn0 = normalized  dvd ,  an  m-bit  integer.
  57   c :     dvdn = dvdn0 + idn ,  an actual dividend.
  58   c :     dvdx = dvdn  at worst failure found so far.
  59   c :     dvr0  runs through  i2n1 + 1  singular divisors.
  60   c :     dvr  =  dvr0 + s(k)  is a perturbed singular divisor.
  61   c :     dvrx = dvr  at worst failure found so far.
  62   c :     i2n1 = 2**(n-1)
  63   c :     icw = integer to set  Intel's  Floating-Point Control Word.
  64   c :     iem1 = biased exponent of  +2.0**(m-1)
  65   c :     k = index that runs from  k0  to  kl ;
  66   c :     k0 = -Lx  typically;  kl = Lx  typically.
  67   c :     kount = count of failed divisions so far.
  68   c :     kountx = kount  at worst failure found so far.
  69   c :     L  counts down to print every  L0-th  value  dvd .
  70   c :     quo  =  quotient under test  =  qh + qt  when split in halves.
  71   c :     quox = quo  at worst failure found so far.
  72   c :     r  =  remainder  dvdn - quo*dvr  exactly.
  73   c :     rx = r  at worst failure found so far.
  74   c :     s(...) = divisor perturbations  {..., -2, -1, 0, 1, 2, 4, ...} .
  75   c :     sd = 2.0**ix
  76   c :     sdn = -sd, 0, sd  to perturb dividends  dvdn = dvdn0 + sdn .
  77   c :     tm = 2.0**m ;  tmn = 2.0**(n-m) .
  78   c :     zer0m  =  -0.0 D0 .
  79   c :..
  80   c
  81          INTEGER*2  icw, iem1, i2n1, ix, j, k, k0, kl
  82          INTEGER*2  L, L0, Lx, m2, n
  83          INTEGER*4  kount, kountx, i2
  84          PARAMETER  (  i2 = 2,  L0 = 500,  m2 = m*2  )
  85          REAL*10  count
  86          REAL*10  dvd, dvdend, dvdn, dvdn0, dvdx, dvr, dvr0, dvrx
  87          REAL*10  quo, quox, qt, r, rx
  88          REAL*8   zer0m
  89          REAL*4   s(-16 : 16),  sd, sdn
  90   c
  91   c < < < < < < < < < < <  for DEBUGGING  < < < < < < < < < < < < < < < <
  92          LOGICAL*2  L1, L2, L3
  93          DATA       L1, L2, L3 / .FALSE., .FALSE., .FALSE. /
  94   c > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
  95   c
  96   c ... Initializations:
  97          DATA  count, kount, kountx, rx / 0.0, 0, 0, 0.0 /
  98          DATA  dvdx, L, sq / 1.0, 1, 1.0 /
  99   c
 100         OPEN( *, CARRIAGE='FORTRAN' )
 101         OPEN( UNIT=3, FILE='SRTFAILU.RES' )
 102         OPEN( UNIT=4, FILE='SRTEST.DTA' )
 103         READ (4,*)  n
 104           IF ( (n .LE. 0) .OR. (n .GE. 17) )  THEN
 105                 PRINT *, '  SRTEST  requires  0 < n < 17 ,  not', n
 106                 STOP
 107              END IF
 108         READ (4,*)  Lx
 109           IF ( (Lx .LE. 0) .OR. (Lx .GE. 17) )  THEN
 110                 PRINT *, '  SRTEST  needs  0 < Lx < 17 ,  not', Lx
 111                 STOP
 112              END IF
 113         READ (4,*)  ix
 114           IF ( ix .LT. 0 )  ix = Lx-1
 115           IF ( ix .GE. 17 )  THEN
FORTRAN-86 COMPILER                                  03/01/95 12:08:18 PAGE   3
SRTEST.FTN                                                           @MAIN

 116                 PRINT *, '  SRTEST  requires  ix < 17 ,  not', ix
 117                 STOP
 118              END IF
 119         sd = i2**ix
 120         READ (4,*)  dvd
 121           dvd = RINT( ABS(dvd) )
 122           IF ( RINT(0.5*dvd)*2.0 .EQ. dvd )  THEN
 123                 PRINT *, '  SRTEST  needs an odd integer  dvd ,  not', dvd
 124                 STOP
 125              END IF
 126         CLOSE( UNIT=4 )
 127         WRITE(3,*) '  SRTEST:  with  n =', n, ',  Lx =', Lx
 128         WRITE(3,*) '     and  with  ix =', ix, ' ,  has these failures:'
 129         WRITE(3,*) ' (#, Dividend, Divisor, Quotient, Remainder, Count)'
 130   c ... This  CLOSE  and subsequent  OPEN etc.  flush the disk buffer:
 131         CLOSE( UNIT=3 )
 132         PRINT *, '  Program running now is  SRTEST,  a test of  Intel''s'
 133         PRINT *, '  Rounded Floating-Point Division upon integers chosen'
 134         PRINT *, '  to explore  ANY   SRT-divider''s  quotient-selection'
 135         PRINT 1, n
 136       1 FORMAT( '  logic assuming that it samples only the first ', I5 )
 137         PRINT *, '  sig. bits of a divisor,  and assuming that all other'
 138         PRINT *, '  floating-point operations and conversions are  O. K.'
 139         PRINT *, '  A guess at the divider''s  Radix =', i2**Lx
 140         PRINT *, '  The dividend increment  sd =', sd
 141         PRINT *,    aargh
 142         PRINT *
 143         PRINT *
 144   c ... Set Floating-Point Control-Word to default round-to-nearest 64 :
 145           icw = #033Dh
 146   c < < < < <   DEBUGGING TEST for FAILURE by rounding to 53  < < < < < <
 147           IF (L1)  icw = #023Dh
 148   c > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
 149         CALL  LDCW87( icw )
 150   c
 151   c ... Initialize  array  s(...)  of divisor perturbations:
 152   c       s(...)  =  {-Radix/2, ..., -2, -1, 0, 1, 2, 4, ..., Radix/2 }.
 153           s(0) = 0.0
 154           DO  100,  k = 1, 16
 155             s(k) = sq
 156             s(-k) = -sq
 157             sq = sq+sq
 158     100    END DO
 159           i2n1 = s(n)
 160   c
 161   c ... Create  tm = 2.0**m  to help produce divisors with at most  m
 162   c     nonzero leading bits and to split quotients with  2*m  explicit
 163   c     sig. bits into two  m-bit  numbers;  also  tmn = 2.0**(m-n) :
 164            qh = dvdx
 165            iq(5) = iq(5) + m
 166            tm = qh
 167            iem1 = iq(5) - 1
 168            iq(5) = iq(5) - n
 169            tmn = qh
 170            iq(5) = iem1 - ix
 171            dvdend = qh
 172   c ... Create  zer0m = -0.0 D0  despite the compiler :
 173            zer0m = dq
 174   c < < < < < < < < < < <  for DEBUGGING  < < < < < < < < < < < < < < < <
 175         IF (L2) THEN
FORTRAN-86 COMPILER                                  03/01/95 12:08:18 PAGE   4
SRTEST.FTN                                                           @MAIN

 176                PRINT *, ' i2n1 = ', i2n1
 177                PRINT *, ' tm = ', tm
 178                PRINT *, ' tmn = ', tmn
 179                PRINT *, ' zer0m = ', zer0m
 180                PRINT *, ' dvd = ', dvd
 181                PRINT *, ' dvdend = ', dvdend
 182                dvdend = 2
 183                PRINT *, ' dvdend = ', dvdend
 184                PRINT *, s
 185                PRINT *
 186           END IF
 187   c > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
 188         OPEN( UNIT=3, FILE='SRTFAILU.RES' )
 189         REWIND(3)
 190         DO 200,  k = 1, 3
 191             READ(3,*)
 192     200   END DO
 193   c ...   Ends  DO-loop  with  UNIT 3  positioned just before file's end.
 194   c
 195         DO  600  WHILE ( dvd .LT. dvdend )
 196   c ...   Dividend   dvd = 1.0, 3.0, 5.0, 7.0, 9.0, ..., dvdend - 1 :
 197           L = L-1
 198           IF  ( L .EQ. 0 )  THEN
 199                  PRINT 2,   dvd
 200   c ...          This line overwrites itself continually:
 201       2          FORMAT( '+   Currently testing at   dvd  >', F20.1 )
 202                  L = L0
 203               END IF
 204   c ...   Normalize dividend  dvd  to an  m-bit  integer  dvdn0 :
 205            qh = dvd
 206            iq(5) = iem1
 207            dvdn0 = qh
 208           k0 = 0
 209           kl = Lx
 210           DO  500,  j = i2n1, 0, -1
 211   c ...     Run  dvr0  through singular divisors:
 212              dvr0 = tm - j*tmn
 213             IF ( j .EQ. 0 )  kl = -1
 214             DO  400,  sdn = -sd, sd, sd
 215   c           For each of three perturbed dividends  dvdn = ... :
 216                dvdn = dvdn0 + sdn
 217               DO  300,  k = k0, kl
 218   c ...         Run  dvr  through (typically)  2*Lx+1  perturbations:
 219                  dvr = dvr0 + s(k)
 220   c ... ####  Here is the division operation to be tested:  ####
 221                 quo = dvdn/dvr
 222                 count = count + 1.0
 223                 qh = quo
 224   c ...         Split  quo  into  half-precision  qh + qt :
 225                  sq = 0.0
 226                  qt = quo - qh
 227   c ...         Remainder  r = dvdn - dvr*quo  EXACTLY :
 228                  r = ( dvdn - dvr*qh ) - dvr*qt
 229   c < < < < < < < < < <  for DEBUGGING  < < < < < < < < < < < < < < < < <
 230                 IF (L3) THEN
 231                   PRINT *, ' count = ', count,  '    dvd = ', dvd
 232                   PRINT 3, 'dvdn = ', dvdn, dvdn
 233       3           FORMAT( 1X, A7, G25.15, '=  ', Z20 )
 234                   PRINT 3, 'dvr  = ', dvr, dvr
 235                   PRINT *, ' quo = ', quo,      '    r = ', r
FORTRAN-86 COMPILER                                  03/01/95 12:08:18 PAGE   5
SRTEST.FTN                                                           @MAIN

 236                  END IF
 237   c > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
 238   c ...         Expose and decrease exponent of  quo  by  2*m
 239                  dq = zer0m
 240                  iq(5) = iq(5) - m2
 241   c ...         Test remainder against rounding error bound:
 242                  IF ( ABS(r) .GE. qe*dvr )  THEN
 243   c ...            Test has failed:
 244                    kount = kount + 1
 245                    PRINT *
 246                    PRINT *, '   Division Test has  FAILED  for the'
 247                    PRINT *, '   #', kount, 'th time after', count
 248                    PRINT *, '   divisions at  dvd =', dvd, ',  and ...'
 249                    PRINT 4, 'Dividend ', dvdn, dvdn
 250       4            FORMAT( 5X, A9, ' =  ', F20.1, '  =  ', Z20 )
 251                    PRINT 4, 'Divisor  ', dvr, dvr
 252                    PRINT 5, 'Remainder', r
 253       5            FORMAT( 5X, A9, ' =  ', 1PE26.17 )
 254                    PRINT 5, 'Quotient ', quo
 255                    WRITE(3,6) kount, dvdn, dvr, quo, r, count
 256       6            FORMAT( 1X, I8, 2F13.0, F22.17, 1PE22.12, 0PF15.0 )
 257                    IF ( ABS(r*dvdx) .GT. ABS(rx*dvdn) ) THEN
 258                       rx = r
 259                       dvdx = dvdn
 260                       dvrx = dvr
 261                       quox = quo
 262                       kountx = kount
 263                     END IF
 264                PRINT *, ' Relatively worst remainder so far is  #', kountx
 265                    PRINT 5, 'Remainder', rx
 266                    PRINT 4, 'Dividend ', dvdx, dvdx
 267                    PRINT 4, 'Divisor  ', dvrx, dvrx
 268                    PRINT 5, 'Quotient ', quox
 269                    PRINT *,  aargh
 270                    PRINT *
 271                    PRINT *
 272                   END IF
 273     300        END DO
 274   c ...        Ends  DO-loop on  k  from  k0  to  kl .
 275     400      END DO
 276   c ...      Ends  DO-loop on  sdn = -sd to +sd .
 277             k0 = -Lx
 278     500    END DO
 279   c ...    Ends  DO-loop on  j = i2n1  to  0 .
 280           dvd = dvd + 2.0
 281     600  END DO
 282   c ...  Ends  WHILE-loop on  dvd < dvdend .
 283         PRINT *, count, ' divisions have been tested;'
 284         IF ( kount .EQ. 0 ) THEN
 285                PRINT *, '    all  PASSED  the test.'
 286            ELSE
 287                PRINT *, kount, ' divisions  FAILED  the test;'
 288           END IF
 289         PRINT *, '    Copyright (C) W. Kahan,   1 March 1995'
 290         CLOSE( UNIT=3 )
 291         END
FORTRAN-86 COMPILER                                  03/01/95 12:08:18 PAGE   6
SRTEST.FTN                                                           @MAIN

 292   
FORTRAN-86 COMPILER       PROGRAM CROSS-REFERENCE    03/01/95 12:08:18 PAGE   7
SRTEST.FTN                                                           @MAIN

DEFN NAME                            ADDRESS  DATA TYPE     ATTRIBUTES
---- ----                            -------  ---------     ----------
  29 @MAIN . . . . . . . . . . . . .                        PROGRAM UNIT NAME
                                                               29
  30 AARGH . . . . . . . . . . . . .  162H D  CHARACTER*48  VARIABLE, INITIALIZE
                                                           -D   30   31  141
                                                              269
     ABS . . . . . . . . . . . . . .          REAL*4        FUNCTION, GENERIC, I
                                                           -NTRINSIC  121  242
                                                              257  257
  85 COUNT . . . . . . . . . . . . .   CCH D  TEMPREAL      VARIABLE, INITIALIZE
                                                           -D   85   97  222
                                                              222  231  247  255
                                                              283
  43 DQ. . . . . . . . . . . . . . .  126H D  REAL*8        VARIABLE, EQUIVALENC
                                                           -ED   43   45  173
                                                              239
  86 DVD . . . . . . . . . . . . . .  11CH D  TEMPREAL      VARIABLE   86  120
                                                              121  121  122  122
                                                              123  180  195  199
                                                              205  231  248  280
                                                              280
  86 DVDEND. . . . . . . . . . . . .   EAH D  TEMPREAL      VARIABLE   86  171
                                                              181  182  183  195
  86 DVDN. . . . . . . . . . . . . .  14EH D  TEMPREAL      VARIABLE   86  216
                                                              221  228  232  232
                                                              249  249  255  257
                                                              259
  86 DVDN0 . . . . . . . . . . . . .  144H D  TEMPREAL      VARIABLE   86  207
                                                              216
  86 DVDX. . . . . . . . . . . . . .  13AH D  TEMPREAL      VARIABLE, INITIALIZE
                                                           -D   86   98  164
                                                              257  259  266  266
  86 DVR . . . . . . . . . . . . . .  112H D  TEMPREAL      VARIABLE   86  219
                                                              221  228  228  234
                                                              234  242  251  251
                                                              255  260
  86 DVR0. . . . . . . . . . . . . .  108H D  TEMPREAL      VARIABLE   86  212
                                                              219
  86 DVRX. . . . . . . . . . . . . .   B8H D  TEMPREAL      VARIABLE   86  260
                                                              267  267
  83 I2. . . . . . . . . . . . . . .          INTEGER*4     SYMBOLIC CONSTANT
                                                               83   84  119  139
  81 I2N1. . . . . . . . . . . . . .   A8H D  INTEGER*2     VARIABLE   81  159
                                                              176  210
  81 ICW . . . . . . . . . . . . . .   AAH D  INTEGER*2     VARIABLE   81  145
                                                              147  149
  81 IEM1. . . . . . . . . . . . . .   AEH D  INTEGER*2     VARIABLE   81  167
                                                              170  206
  40 IQ. . . . . . . . . . . . . . .  126H D  INTEGER*2     VARIABLE, DIMENSIONE
                                                           -D, EQUIVALENCED   40
                                                               45  165  165  167
                                                              168  168  170  206
                                                              240  240
  81 IX. . . . . . . . . . . . . . .   A2H D  INTEGER*2     VARIABLE   81  113
                                                              114  114  115  116
                                                              119  128  170
  81 J . . . . . . . . . . . . . . .   B2H D  INTEGER*2     VARIABLE   81  210
                                                              212  213
  81 K . . . . . . . . . . . . . . .   A0H D  INTEGER*2     VARIABLE   81  154
FORTRAN-86 COMPILER       PROGRAM CROSS-REFERENCE    03/01/95 12:08:18 PAGE   8
SRTEST.FTN                                                           @MAIN

                                                              155  156  190  217
                                                              219
  81 K0. . . . . . . . . . . . . . .   ACH D  INTEGER*2     VARIABLE   81  208
                                                              217  277
  81 KL. . . . . . . . . . . . . . .   9CH D  INTEGER*2     VARIABLE   81  209
                                                              213  217
  83 KOUNT . . . . . . . . . . . . .   10H D  INTEGER*4     VARIABLE, INITIALIZE
                                                           -D   83   97  244
                                                              244  247  255  262
                                                              284  287
  83 KOUNTX. . . . . . . . . . . . .    CH D  INTEGER*4     VARIABLE, INITIALIZE
                                                           -D   83   97  262
                                                              264
  82 L . . . . . . . . . . . . . . .   9EH D  INTEGER*2     VARIABLE, INITIALIZE
                                                           -D   82   98  197
                                                              197  198  202
  82 L0. . . . . . . . . . . . . . .          INTEGER*2     SYMBOLIC CONSTANT
                                                               82   84  202
  92 L1. . . . . . . . . . . . . . .   B4H D  LOGICAL*2     VARIABLE, INITIALIZE
                                                           -D   92   93  147
  92 L2. . . . . . . . . . . . . . .   B6H D  LOGICAL*2     VARIABLE, INITIALIZE
                                                           -D   92   93  175
  92 L3. . . . . . . . . . . . . . .   B0H D  LOGICAL*2     VARIABLE, INITIALIZE
                                                           -D   92   93  230
     LDCW87. . . . . . . . . . . . .                        SUBROUTINE, INTRINSI
                                                           -C  149
  82 LX. . . . . . . . . . . . . . .   A6H D  INTEGER*2     VARIABLE   82  108
                                                              109  109  110  114
                                                              127  139  209  277
  40 M . . . . . . . . . . . . . . .          INTEGER*2     SYMBOLIC CONSTANT
                                                               40   41   84  165
  82 M2. . . . . . . . . . . . . . .          INTEGER*2     SYMBOLIC CONSTANT
                                                               82   84  240
  82 N . . . . . . . . . . . . . . .   A4H D  INTEGER*2     VARIABLE   82  103
                                                              104  104  105  127
                                                              135  159  168
  42 QE. . . . . . . . . . . . . . .  126H D  TEMPREAL      VARIABLE, EQUIVALENC
                                                           -ED   42   45  242
  42 QH. . . . . . . . . . . . . . .  126H D  TEMPREAL      VARIABLE, EQUIVALENC
                                                           -ED   42   45  164
                                                              166  169  171  205
                                                              207  223  226  228
  87 QT. . . . . . . . . . . . . . .   D6H D  TEMPREAL      VARIABLE   87  226
                                                              228
  87 QUO . . . . . . . . . . . . . .   FEH D  TEMPREAL      VARIABLE   87  221
                                                              223  226  235  254
                                                              255  261
  87 QUOX. . . . . . . . . . . . . .  130H D  TEMPREAL      VARIABLE   87  261
                                                              268
  87 R . . . . . . . . . . . . . . .  158H D  TEMPREAL      VARIABLE   87  228
                                                              235  242  252  255
                                                              257  258
     RINT. . . . . . . . . . . . . .          REAL*4        FUNCTION, GENERIC, I
                                                           -NTRINSIC  121  122
  87 RX. . . . . . . . . . . . . . .   C2H D  TEMPREAL      VARIABLE, INITIALIZE
                                                           -D   87   97  257
                                                              258  265
  89 S . . . . . . . . . . . . . . .   18H D  REAL*4        VARIABLE, DIMENSIONE
                                                           -D   89  153  155
                                                              156  159  184  219
FORTRAN-86 COMPILER       PROGRAM CROSS-REFERENCE    03/01/95 12:08:18 PAGE   9
SRTEST.FTN                                                           @MAIN

  89 SD. . . . . . . . . . . . . . .    8H D  REAL*4        VARIABLE   89  119
                                                              140  214  214  214
  89 SDN . . . . . . . . . . . . . .   14H D  REAL*4        VARIABLE   89  214
                                                              216
  44 SQ. . . . . . . . . . . . . . .  126H D  REAL*4        VARIABLE, INITIALIZE
                                                           -D, EQUIVALENCED   44
                                                               45   98  155  156
                                                              157  157  157  225
  42 TM. . . . . . . . . . . . . . .   E0H D  TEMPREAL      VARIABLE   42  166
                                                              177  212
  42 TMN . . . . . . . . . . . . . .   F4H D  TEMPREAL      VARIABLE   42  169
                                                              178  212
  88 ZER0M . . . . . . . . . . . . .    0H D  REAL*8        VARIABLE   88  173
                                                              179  239
FORTRAN-86 COMPILER       GENERATED CODE             03/01/95 12:08:18 PAGE  10
SRTEST.FTN                                                           @MAIN

                                                      ; STATEMENT # 1
000004A4  8BEC                    MOV     BP,SP
000004A6  81EC1000                SUB     SP,10H
000004AA  9A00000000              CALL    INITFP
000004AF  9A00000000              CALL    TQ_001
000004B4  FB                      STI
                                                      ; STATEMENT # 100
000004B5  680600                  PUSH    6H
000004B8  B80000                  MOV     AX,0H
000004BB  8EC0                    MOV     ES,AX
000004BD  06                      PUSH    ES          ; 2
000004BE  50                      PUSH    AX          ; 3
000004BF  06                      PUSH    ES          ; 4
000004C0  50                      PUSH    AX          ; 5
000004C1  06                      PUSH    ES          ; 6
000004C2  50                      PUSH    AX          ; 7
000004C3  50                      PUSH    AX          ; 8
000004C4  50                      PUSH    AX          ; 9
000004C5  B82010                  MOV     AX,1020H
000004C8  9A00000000              CALL    FQ_010
                                                      ; STATEMENT # 101
000004CD  680300                  PUSH    3H
000004D0  B80000                  MOV     AX,0H
000004D3  8EC0                    MOV     ES,AX
000004D5  06                      PUSH    ES          ; 2
000004D6  50                      PUSH    AX          ; 3
000004D7  06                      PUSH    ES          ; 4
000004D8  50                      PUSH    AX          ; 5
000004D9  0E                      PUSH    CS          ; 6
000004DA  68A800                  PUSH    OFFSET @CONST+0A8H; 7
000004DD  680C00                  PUSH    0CH
000004E0  50                      PUSH    AX          ; 9
000004E1  9A00000000              CALL    FQ_010
                                                      ; STATEMENT # 102
000004E6  680400                  PUSH    4H
000004E9  B80000                  MOV     AX,0H
000004EC  8EC0                    MOV     ES,AX
000004EE  06                      PUSH    ES          ; 2
000004EF  50                      PUSH    AX          ; 3
000004F0  06                      PUSH    ES          ; 4
000004F1  50                      PUSH    AX          ; 5
000004F2  0E                      PUSH    CS          ; 6
000004F3  68B400                  PUSH    OFFSET @CONST+0B4H; 7
000004F6  680A00                  PUSH    0AH
000004F9  50                      PUSH    AX          ; 9
000004FA  9A00000000              CALL    FQ_010
                                                      ; STATEMENT # 103
000004FF  B004                    MOV     AL,4H
00000501  9A00000000              CALL    FQ_120
00000506  9A00000000              CALL    FQ_410
0000050B  1E                      PUSH    DS          ; 1
0000050C  07                      POP     ES          ; 1
0000050D  8D36A400                LEA     SI,N
00000511  7203                    JC      $+5H
00000513  268904                  MOV     ES:[SI],AX
00000516  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 104
0000051B  8B06A400                MOV     AX,N
0000051F  09C0                    OR      AX,AX
00000521  7F03                    JG      $+5H
FORTRAN-86 COMPILER       GENERATED CODE             03/01/95 12:08:18 PAGE  11
SRTEST.FTN                                                           @MAIN

00000523  E90C00                  JMP     @@000001
                  @@000002:
00000526  81F81100                CMP     AX,11H
0000052A  7C03                    JL      $+5H
0000052C  E90300                  JMP     @@000001
                  @@000003:
0000052F  E92F00                  JMP     @@000000
                  @@000001:
                                                      ; STATEMENT # 105
00000532  B006                    MOV     AL,6H
00000534  9A00000000              CALL    FQ_121
00000539  0E                      PUSH    CS          ; 1
0000053A  07                      POP     ES          ; 1
0000053B  8D1EBE00                LEA     BX,@CONST+0BEH
0000053F  B82500                  MOV     AX,25H
00000542  9A00000000              CALL    FQ_401
00000547  8B06A400                MOV     AX,N
0000054B  9A00000000              CALL    FQ_411
00000550  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 106
00000555  BE0000                  MOV     SI,0H
00000558  89F0                    MOV     AX,SI
0000055A  8EC0                    MOV     ES,AX
0000055C  9A00000000              CALL    FQ_911
                                                      ; STATEMENT # 107
                  @@000000:
                                                      ; STATEMENT # 108
00000561  B004                    MOV     AL,4H
00000563  9A00000000              CALL    FQ_120
00000568  9A00000000              CALL    FQ_410
0000056D  1E                      PUSH    DS          ; 1
0000056E  07                      POP     ES          ; 1
0000056F  8D36A600                LEA     SI,LX
00000573  7203                    JC      $+5H
00000575  268904                  MOV     ES:[SI],AX
00000578  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 109
0000057D  8B06A600                MOV     AX,LX
00000581  09C0                    OR      AX,AX
00000583  7F03                    JG      $+5H
00000585  E90C00                  JMP     @@000005
                  @@000006:
00000588  81F81100                CMP     AX,11H
0000058C  7C03                    JL      $+5H
0000058E  E90300                  JMP     @@000005
                  @@000007:
00000591  E92F00                  JMP     @@000004
                  @@000005:
                                                      ; STATEMENT # 110
00000594  B006                    MOV     AL,6H
00000596  9A00000000              CALL    FQ_121
0000059B  0E                      PUSH    CS          ; 1
0000059C  07                      POP     ES          ; 1
0000059D  8D1EE300                LEA     BX,@CONST+0E3H
000005A1  B82300                  MOV     AX,23H
000005A4  9A00000000              CALL    FQ_401
000005A9  8B06A600                MOV     AX,LX
000005AD  9A00000000              CALL    FQ_411
000005B2  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 111
FORTRAN-86 COMPILER       GENERATED CODE             03/01/95 12:08:18 PAGE  12
SRTEST.FTN                                                           @MAIN

000005B7  BE0000                  MOV     SI,0H
000005BA  89F0                    MOV     AX,SI
000005BC  8EC0                    MOV     ES,AX
000005BE  9A00000000              CALL    FQ_911
                                                      ; STATEMENT # 112
                  @@000004:
                                                      ; STATEMENT # 113
000005C3  B004                    MOV     AL,4H
000005C5  9A00000000              CALL    FQ_120
000005CA  9A00000000              CALL    FQ_410
000005CF  1E                      PUSH    DS          ; 1
000005D0  07                      POP     ES          ; 1
000005D1  8D36A200                LEA     SI,IX
000005D5  7203                    JC      $+5H
000005D7  268904                  MOV     ES:[SI],AX
000005DA  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 114
000005DF  813EA2000000            CMP     IX,0H
000005E5  7C03                    JL      $+5H
000005E7  E90900                  JMP     @@000008
                  @@000009:
000005EA  8B06A600                MOV     AX,LX
000005EE  48                      DEC     AX
000005EF  8906A200                MOV     IX,AX
                  @@000008:
                                                      ; STATEMENT # 115
000005F3  813EA2001100            CMP     IX,11H
000005F9  7D03                    JGE     $+5H
000005FB  E92F00                  JMP     @@000010
                  @@000011:
                                                      ; STATEMENT # 116
000005FE  B006                    MOV     AL,6H
00000600  9A00000000              CALL    FQ_121
00000605  0E                      PUSH    CS          ; 1
00000606  07                      POP     ES          ; 1
00000607  8D1E0601                LEA     BX,@CONST+106H
0000060B  B82200                  MOV     AX,22H
0000060E  9A00000000              CALL    FQ_401
00000613  8B06A200                MOV     AX,IX
00000617  9A00000000              CALL    FQ_411
0000061C  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 117
00000621  BE0000                  MOV     SI,0H
00000624  89F0                    MOV     AX,SI
00000626  8EC0                    MOV     ES,AX
00000628  9A00000000              CALL    FQ_911
                                                      ; STATEMENT # 118
                  @@000010:
                                                      ; STATEMENT # 119
0000062D  8B06A200                MOV     AX,IX
00000631  99                      CWD
00000632  87D8                    XCHG    BX,AX
00000634  87CA                    XCHG    CX,DX
00000636  B80200                  MOV     AX,2H
00000639  BA0000                  MOV     DX,0H
0000063C  9A00000000              CALL    TQ_140
00000641  8956F2                  MOV     [BP].@TEMP3+2H,DX
00000644  8946F0                  MOV     [BP].@TEMP3+4H,AX
00000647  DB46F0                  FLD     [BP].@TEMP3+4H
0000064A  D91E0800                FSTP    SD          ; 7
FORTRAN-86 COMPILER       GENERATED CODE             03/01/95 12:08:18 PAGE  13
SRTEST.FTN                                                           @MAIN

0000064E  9B                      WAIT
                                                      ; STATEMENT # 120
0000064F  B004                    MOV     AL,4H
00000651  9A00000000              CALL    FQ_120
00000656  9A00000000              CALL    FQ_422
0000065B  1E                      PUSH    DS          ; 1
0000065C  07                      POP     ES          ; 1
0000065D  8D361C01                LEA     SI,DVD
00000661  7204                    JC      $+6H
00000663  26DB3C                  FSTP    ES:[SI]     ; 7
00000666  9B                      WAIT
00000667  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 121
0000066C  DB2E1C01                FLD     DVD         ; 7
00000670  D9E1                    FABS                ; 7
00000672  9A00000000              CALL    MQERRNT
00000677  DDD1                    FST     @TOS+1H
00000679  DB3E1C01                FSTP    DVD         ; 7
0000067D  9B                      WAIT
                                                      ; STATEMENT # 122
0000067E  DDD1                    FST     @TOS+1H
00000680  2ED80E2801              FMUL    CS:@CONST+128H
00000685  9A00000000              CALL    MQERRNT
0000068A  2ED80E2C01              FMUL    CS:@CONST+12CH
0000068F  DAE9                    FUCOMPP TOS,@TOS+1H
00000691  9B                      WAIT
00000692  DFE0                    FSTSW   AX
00000694  250041                  AND     AX,4100H
00000697  350040                  XOR     AX,4000H
0000069A  7403                    JE      $+5H
0000069C  E92F00                  JMP     @@000012
                  @@000013:
                                                      ; STATEMENT # 123
0000069F  B006                    MOV     AL,6H
000006A1  9A00000000              CALL    FQ_121
000006A6  0E                      PUSH    CS          ; 1
000006A7  07                      POP     ES          ; 1
000006A8  8D1E3001                LEA     BX,@CONST+130H
000006AC  B82A00                  MOV     AX,2AH
000006AF  9A00000000              CALL    FQ_401
000006B4  DB2E1C01                FLD     DVD         ; 7
000006B8  9A00000000              CALL    FQ_424
000006BD  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 124
000006C2  BE0000                  MOV     SI,0H
000006C5  89F0                    MOV     AX,SI
000006C7  8EC0                    MOV     ES,AX
000006C9  9A00000000              CALL    FQ_911
                                                      ; STATEMENT # 125
                  @@000012:
                                                      ; STATEMENT # 126
000006CE  680400                  PUSH    4H
000006D1  B80000                  MOV     AX,0H
000006D4  8EC0                    MOV     ES,AX
000006D6  06                      PUSH    ES          ; 2
000006D7  50                      PUSH    AX          ; 3
000006D8  06                      PUSH    ES          ; 4
000006D9  50                      PUSH    AX          ; 5
000006DA  9A00000000              CALL    FQ_020
                                                      ; STATEMENT # 127
FORTRAN-86 COMPILER       GENERATED CODE             03/01/95 12:08:18 PAGE  14
SRTEST.FTN                                                           @MAIN

000006DF  B003                    MOV     AL,3H
000006E1  9A00000000              CALL    FQ_121
000006E6  0E                      PUSH    CS          ; 1
000006E7  07                      POP     ES          ; 1
000006E8  8D1E5A01                LEA     BX,@CONST+15AH
000006EC  B81400                  MOV     AX,14H
000006EF  9A00000000              CALL    FQ_401
000006F4  8B06A400                MOV     AX,N
000006F8  9A00000000              CALL    FQ_411
000006FD  0E                      PUSH    CS          ; 1
000006FE  07                      POP     ES          ; 1
000006FF  8D1E6E01                LEA     BX,@CONST+16EH
00000703  B80700                  MOV     AX,7H
00000706  9A00000000              CALL    FQ_401
0000070B  8B06A600                MOV     AX,LX
0000070F  9A00000000              CALL    FQ_411
00000714  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 128
00000719  B003                    MOV     AL,3H
0000071B  9A00000000              CALL    FQ_121
00000720  0E                      PUSH    CS          ; 1
00000721  07                      POP     ES          ; 1
00000722  8D1E7501                LEA     BX,@CONST+175H
00000726  B81400                  MOV     AX,14H
00000729  9A00000000              CALL    FQ_401
0000072E  8B06A200                MOV     AX,IX
00000732  9A00000000              CALL    FQ_411
00000737  0E                      PUSH    CS          ; 1
00000738  07                      POP     ES          ; 1
00000739  8D1E8901                LEA     BX,@CONST+189H
0000073D  B81700                  MOV     AX,17H
00000740  9A00000000              CALL    FQ_401
00000745  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 129
0000074A  B003                    MOV     AL,3H
0000074C  9A00000000              CALL    FQ_121
00000751  0E                      PUSH    CS          ; 1
00000752  07                      POP     ES          ; 1
00000753  8D1EA001                LEA     BX,@CONST+1A0H
00000757  B83300                  MOV     AX,33H
0000075A  9A00000000              CALL    FQ_401
0000075F  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 131
00000764  680300                  PUSH    3H
00000767  B80000                  MOV     AX,0H
0000076A  8EC0                    MOV     ES,AX
0000076C  06                      PUSH    ES          ; 2
0000076D  50                      PUSH    AX          ; 3
0000076E  06                      PUSH    ES          ; 4
0000076F  50                      PUSH    AX          ; 5
00000770  9A00000000              CALL    FQ_020
                                                      ; STATEMENT # 132
00000775  B006                    MOV     AL,6H
00000777  9A00000000              CALL    FQ_121
0000077C  0E                      PUSH    CS          ; 1
0000077D  07                      POP     ES          ; 1
0000077E  8D1ED301                LEA     BX,@CONST+1D3H
00000782  B83500                  MOV     AX,35H
00000785  9A00000000              CALL    FQ_401
0000078A  9A00000000              CALL    FQ_902
FORTRAN-86 COMPILER       GENERATED CODE             03/01/95 12:08:18 PAGE  15
SRTEST.FTN                                                           @MAIN

                                                      ; STATEMENT # 133
0000078F  B006                    MOV     AL,6H
00000791  9A00000000              CALL    FQ_121
00000796  0E                      PUSH    CS          ; 1
00000797  07                      POP     ES          ; 1
00000798  8D1E0802                LEA     BX,@CONST+208H
0000079C  B83600                  MOV     AX,36H
0000079F  9A00000000              CALL    FQ_401
000007A4  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 134
000007A9  B006                    MOV     AL,6H
000007AB  9A00000000              CALL    FQ_121
000007B0  0E                      PUSH    CS          ; 1
000007B1  07                      POP     ES          ; 1
000007B2  8D1E3E02                LEA     BX,@CONST+23EH
000007B6  B83500                  MOV     AX,35H
000007B9  9A00000000              CALL    FQ_401
000007BE  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 135
000007C3  0E                      PUSH    CS          ; 1
000007C4  07                      POP     ES          ; 1
000007C5  8D360000                LEA     SI,?1
000007C9  B006                    MOV     AL,6H
000007CB  9A00000000              CALL    FQ_112
000007D0  8B06A400                MOV     AX,N
000007D4  9A00000000              CALL    FQ_311
000007D9  9A00000000              CALL    FQ_901
                                                      ; STATEMENT # 137
000007DE  B006                    MOV     AL,6H
000007E0  9A00000000              CALL    FQ_121
000007E5  0E                      PUSH    CS          ; 1
000007E6  07                      POP     ES          ; 1
000007E7  8D1E7302                LEA     BX,@CONST+273H
000007EB  B83600                  MOV     AX,36H
000007EE  9A00000000              CALL    FQ_401
000007F3  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 138
000007F8  B006                    MOV     AL,6H
000007FA  9A00000000              CALL    FQ_121
000007FF  0E                      PUSH    CS          ; 1
00000800  07                      POP     ES          ; 1
00000801  8D1EA902                LEA     BX,@CONST+2A9H
00000805  B83600                  MOV     AX,36H
00000808  9A00000000              CALL    FQ_401
0000080D  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 139
00000812  B006                    MOV     AL,6H
00000814  9A00000000              CALL    FQ_121
00000819  0E                      PUSH    CS          ; 1
0000081A  07                      POP     ES          ; 1
0000081B  8D1EDF02                LEA     BX,@CONST+2DFH
0000081F  B82300                  MOV     AX,23H
00000822  9A00000000              CALL    FQ_401
00000827  8B06A600                MOV     AX,LX
0000082B  99                      CWD
0000082C  87D8                    XCHG    BX,AX
0000082E  87CA                    XCHG    CX,DX
00000830  B80200                  MOV     AX,2H
00000833  BA0000                  MOV     DX,0H
00000836  9A00000000              CALL    TQ_140
FORTRAN-86 COMPILER       GENERATED CODE             03/01/95 12:08:18 PAGE  16
SRTEST.FTN                                                           @MAIN

0000083B  9A00000000              CALL    FQ_413
00000840  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 140
00000845  B006                    MOV     AL,6H
00000847  9A00000000              CALL    FQ_121
0000084C  0E                      PUSH    CS          ; 1
0000084D  07                      POP     ES          ; 1
0000084E  8D1E0203                LEA     BX,@CONST+302H
00000852  B81E00                  MOV     AX,1EH
00000855  9A00000000              CALL    FQ_401
0000085A  D9060800                FLD     SD          ; 7
0000085E  9A00000000              CALL    FQ_416
00000863  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 141
00000868  B006                    MOV     AL,6H
0000086A  9A00000000              CALL    FQ_121
0000086F  1E                      PUSH    DS          ; 1
00000870  07                      POP     ES          ; 1
00000871  8D1E6201                LEA     BX,AARGH
00000875  B83000                  MOV     AX,30H
00000878  9A00000000              CALL    FQ_401
0000087D  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 142
00000882  B006                    MOV     AL,6H
00000884  9A00000000              CALL    FQ_121
00000889  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 143
0000088E  B006                    MOV     AL,6H
00000890  9A00000000              CALL    FQ_121
00000895  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 145
0000089A  C706AA003D03            MOV     ICW,33DH
                                                      ; STATEMENT # 147
000008A0  F606B40001              TEST    L1,1H
000008A5  7503                    JNZ     $+5H
000008A7  E90600                  JMP     @@000014
                  @@000015:
000008AA  C706AA003D02            MOV     ICW,23DH
                  @@000014:
                                                      ; STATEMENT # 149
000008B0  8D36AA00                LEA     SI,ICW
000008B4  D92C                    FLDCW   [SI]
000008B6  9B                      WAIT
                                                      ; STATEMENT # 153
000008B7  D9EE                    FLDZ                ; 7
000008B9  D91E5800                FSTP    S+40H       ; 7
000008BD  9B                      WAIT
                                                      ; STATEMENT # 154
000008BE  C706A0000100            MOV     K,1H
000008C4  C746FE1000              MOV     [BP].@TEMP1+2H,10H
                  @@000016:
                                                      ; STATEMENT # 155
000008C9  8B36A000                MOV     SI,K
000008CD  D1E6                    SAL     SI,1
000008CF  D1E6                    SAL     SI,1
000008D1  D9062601                FLD     SQ          ; 7
000008D5  D99C5800                FSTP    S[SI]+40H   ; 7
000008D9  9B                      WAIT
                                                      ; STATEMENT # 156
000008DA  D9062601                FLD     SQ          ; 7
FORTRAN-86 COMPILER       GENERATED CODE             03/01/95 12:08:18 PAGE  17
SRTEST.FTN                                                           @MAIN

000008DE  D9E0                    FCHS                ; 7
000008E0  8B36A000                MOV     SI,K
000008E4  F7DE                    NEG     SI
000008E6  D1E6                    SAL     SI,1
000008E8  D1E6                    SAL     SI,1
000008EA  D99C5800                FSTP    S[SI]+40H   ; 7
000008EE  9B                      WAIT
                                                      ; STATEMENT # 157
000008EF  D9062601                FLD     SQ          ; 7
000008F3  D8C0                    FADD    TOS,@TOS    ; 7
000008F5  D91E2601                FSTP    SQ          ; 7
000008F9  9B                      WAIT
                                                      ; STATEMENT # 158
                  ?100:
000008FA  FF06A000                INC     K
000008FE  FF4EFE                  DEC     [BP].@TEMP1+2H
00000901  7403                    JZ      $+5H
00000903  E9C3FF                  JMP     @@000016
                  @@000017:
                                                      ; STATEMENT # 159
00000906  8B36A400                MOV     SI,N
0000090A  D1E6                    SAL     SI,1
0000090C  D1E6                    SAL     SI,1
0000090E  D9845800                FLD     S[SI]+40H
00000912  9A00000000              CALL    MQERCI2
00000917  8906A800                MOV     I2N1,AX
                                                      ; STATEMENT # 164
0000091B  DB2E3A01                FLD     DVDX        ; 7
0000091F  DB3E2601                FSTP    QH          ; 7
00000923  9B                      WAIT
                                                      ; STATEMENT # 165
00000924  81062E012000            ADD     IQ+8H,20H
                                                      ; STATEMENT # 166
0000092A  DB2E2601                FLD     QH          ; 7
0000092E  DB3EE000                FSTP    TM          ; 7
00000932  9B                      WAIT
                                                      ; STATEMENT # 167
00000933  8B062E01                MOV     AX,IQ+8H
00000937  48                      DEC     AX
00000938  8906AE00                MOV     IEM1,AX
                                                      ; STATEMENT # 168
0000093C  8B1EA400                MOV     BX,N
00000940  291E2E01                SUB     IQ+8H,BX
                                                      ; STATEMENT # 169
00000944  DB2E2601                FLD     QH          ; 7
00000948  DB3EF400                FSTP    TMN         ; 7
0000094C  9B                      WAIT
                                                      ; STATEMENT # 170
0000094D  2B06A200                SUB     AX,IX
00000951  89062E01                MOV     IQ+8H,AX
                                                      ; STATEMENT # 171
00000955  DB2E2601                FLD     QH          ; 7
00000959  DB3EEA00                FSTP    DVDEND      ; 7
0000095D  9B                      WAIT
                                                      ; STATEMENT # 173
0000095E  DD062601                FLD     DQ          ; 7
00000962  DD1E0000                FSTP    ZER0M       ; 7
00000966  9B                      WAIT
                                                      ; STATEMENT # 175
00000967  F606B60001              TEST    L2,1H
FORTRAN-86 COMPILER       GENERATED CODE             03/01/95 12:08:18 PAGE  18
SRTEST.FTN                                                           @MAIN

0000096C  7503                    JNZ     $+5H
0000096E  E93901                  JMP     @@000018
                  @@000019:
                                                      ; STATEMENT # 176
00000971  B006                    MOV     AL,6H
00000973  9A00000000              CALL    FQ_121
00000978  0E                      PUSH    CS          ; 1
00000979  07                      POP     ES          ; 1
0000097A  8D1E2003                LEA     BX,@CONST+320H
0000097E  B80800                  MOV     AX,8H
00000981  9A00000000              CALL    FQ_401
00000986  8B06A800                MOV     AX,I2N1
0000098A  9A00000000              CALL    FQ_411
0000098F  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 177
00000994  B006                    MOV     AL,6H
00000996  9A00000000              CALL    FQ_121
0000099B  0E                      PUSH    CS          ; 1
0000099C  07                      POP     ES          ; 1
0000099D  8D1E2803                LEA     BX,@CONST+328H
000009A1  B80600                  MOV     AX,6H
000009A4  9A00000000              CALL    FQ_401
000009A9  DB2EE000                FLD     TM          ; 7
000009AD  9A00000000              CALL    FQ_424
000009B2  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 178
000009B7  B006                    MOV     AL,6H
000009B9  9A00000000              CALL    FQ_121
000009BE  0E                      PUSH    CS          ; 1
000009BF  07                      POP     ES          ; 1
000009C0  8D1E2E03                LEA     BX,@CONST+32EH
000009C4  B80700                  MOV     AX,7H
000009C7  9A00000000              CALL    FQ_401
000009CC  DB2EF400                FLD     TMN         ; 7
000009D0  9A00000000              CALL    FQ_424
000009D5  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 179
000009DA  B006                    MOV     AL,6H
000009DC  9A00000000              CALL    FQ_121
000009E1  0E                      PUSH    CS          ; 1
000009E2  07                      POP     ES          ; 1
000009E3  8D1E3503                LEA     BX,@CONST+335H
000009E7  B80900                  MOV     AX,9H
000009EA  9A00000000              CALL    FQ_401
000009EF  DD060000                FLD     ZER0M       ; 7
000009F3  9A00000000              CALL    FQ_420
000009F8  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 180
000009FD  B006                    MOV     AL,6H
000009FF  9A00000000              CALL    FQ_121
00000A04  0E                      PUSH    CS          ; 1
00000A05  07                      POP     ES          ; 1
00000A06  8D1E3E03                LEA     BX,@CONST+33EH
00000A0A  B80700                  MOV     AX,7H
00000A0D  9A00000000              CALL    FQ_401
00000A12  DB2E1C01                FLD     DVD         ; 7
00000A16  9A00000000              CALL    FQ_424
00000A1B  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 181
00000A20  B006                    MOV     AL,6H
FORTRAN-86 COMPILER       GENERATED CODE             03/01/95 12:08:18 PAGE  19
SRTEST.FTN                                                           @MAIN

00000A22  9A00000000              CALL    FQ_121
00000A27  0E                      PUSH    CS          ; 1
00000A28  07                      POP     ES          ; 1
00000A29  8D1E4503                LEA     BX,@CONST+345H
00000A2D  B80A00                  MOV     AX,0AH
00000A30  9A00000000              CALL    FQ_401
00000A35  DB2EEA00                FLD     DVDEND      ; 7
00000A39  9A00000000              CALL    FQ_424
00000A3E  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 182
00000A43  2EDF064F03              FLD     CS:@CONST+34FH
00000A48  DB3EEA00                FSTP    DVDEND      ; 7
00000A4C  9B                      WAIT
                                                      ; STATEMENT # 183
00000A4D  B006                    MOV     AL,6H
00000A4F  9A00000000              CALL    FQ_121
00000A54  0E                      PUSH    CS          ; 1
00000A55  07                      POP     ES          ; 1
00000A56  8D1E4503                LEA     BX,@CONST+345H
00000A5A  B80A00                  MOV     AX,0AH
00000A5D  9A00000000              CALL    FQ_401
00000A62  DB2EEA00                FLD     DVDEND      ; 7
00000A66  9A00000000              CALL    FQ_424
00000A6B  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 184
00000A70  B006                    MOV     AL,6H
00000A72  9A00000000              CALL    FQ_121
00000A77  B82100                  MOV     AX,21H
00000A7A  D1E0                    SAL     AX,1
00000A7C  D1E0                    SAL     AX,1
00000A7E  F7D8                    NEG     AX
00000A80  8946FE                  MOV     [BP].@TEMP1+2H,AX
                  @@000020:
00000A83  8B5EFE                  MOV     BX,[BP].@TEMP1+2H
00000A86  D9879C00                FLD     S[BX]+84H
00000A8A  9A00000000              CALL    FQ_416
00000A8F  8146FE0400              ADD     [BP].@TEMP1+2H,4H
00000A94  7403                    JZ      $+5H
00000A96  E9EAFF                  JMP     @@000020
                  @@000021:
00000A99  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 185
00000A9E  B006                    MOV     AL,6H
00000AA0  9A00000000              CALL    FQ_121
00000AA5  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 186
                  @@000018:
                                                      ; STATEMENT # 188
00000AAA  680300                  PUSH    3H
00000AAD  B80000                  MOV     AX,0H
00000AB0  8EC0                    MOV     ES,AX
00000AB2  06                      PUSH    ES          ; 2
00000AB3  50                      PUSH    AX          ; 3
00000AB4  06                      PUSH    ES          ; 4
00000AB5  50                      PUSH    AX          ; 5
00000AB6  0E                      PUSH    CS          ; 6
00000AB7  68A800                  PUSH    OFFSET @CONST+0A8H; 7
00000ABA  680C00                  PUSH    0CH
00000ABD  50                      PUSH    AX          ; 9
00000ABE  9A00000000              CALL    FQ_010
FORTRAN-86 COMPILER       GENERATED CODE             03/01/95 12:08:18 PAGE  20
SRTEST.FTN                                                           @MAIN

                                                      ; STATEMENT # 189
00000AC3  680300                  PUSH    3H
00000AC6  B80000                  MOV     AX,0H
00000AC9  8EC0                    MOV     ES,AX
00000ACB  06                      PUSH    ES          ; 2
00000ACC  50                      PUSH    AX          ; 3
00000ACD  06                      PUSH    ES          ; 4
00000ACE  50                      PUSH    AX          ; 5
00000ACF  9A00000000              CALL    FQ_040
                                                      ; STATEMENT # 190
00000AD4  C706A0000100            MOV     K,1H
00000ADA  C746FE0300              MOV     [BP].@TEMP1+2H,3H
                  @@000022:
                                                      ; STATEMENT # 191
00000ADF  B003                    MOV     AL,3H
00000AE1  9A00000000              CALL    FQ_120
00000AE6  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 192
                  ?200:
00000AEB  FF06A000                INC     K
00000AEF  FF4EFE                  DEC     [BP].@TEMP1+2H
00000AF2  7403                    JZ      $+5H
00000AF4  E9E8FF                  JMP     @@000022
                  @@000023:
                                                      ; STATEMENT # 195
                  @@000024:
00000AF7  DB2EEA00                FLD     DVDEND      ; 7
00000AFB  DB2E1C01                FLD     DVD         ; 6
00000AFF  D9C9                    FXCH    @TOS+1H
00000B01  DED9                    FCOMPP              ; 6
00000B03  9B                      WAIT
00000B04  DFE0                    FSTSW   AX
00000B06  9E                      SAHF
00000B07  7703                    JA      $+5H
00000B09  E9F705                  JMP     @@000025
                  @@000026:
                                                      ; STATEMENT # 197
00000B0C  FF0E9E00                DEC     L
                                                      ; STATEMENT # 198
00000B10  7403                    JZ      $+5H
00000B12  E92100                  JMP     @@000027
                  @@000028:
                                                      ; STATEMENT # 199
00000B15  0E                      PUSH    CS          ; 1
00000B16  07                      POP     ES          ; 1
00000B17  8D363500                LEA     SI,?2
00000B1B  B006                    MOV     AL,6H
00000B1D  9A00000000              CALL    FQ_112
00000B22  DB2E1C01                FLD     DVD         ; 7
00000B26  9A00000000              CALL    FQ_324
00000B2B  9A00000000              CALL    FQ_901
                                                      ; STATEMENT # 202
00000B30  C7069E00F401            MOV     L,1F4H
                                                      ; STATEMENT # 203
                  @@000027:
                                                      ; STATEMENT # 205
00000B36  DB2E1C01                FLD     DVD         ; 7
00000B3A  DB3E2601                FSTP    QH          ; 7
00000B3E  9B                      WAIT
                                                      ; STATEMENT # 206
FORTRAN-86 COMPILER       GENERATED CODE             03/01/95 12:08:18 PAGE  21
SRTEST.FTN                                                           @MAIN

00000B3F  8B06AE00                MOV     AX,IEM1
00000B43  89062E01                MOV     IQ+8H,AX
                                                      ; STATEMENT # 207
00000B47  DB2E2601                FLD     QH          ; 7
00000B4B  DB3E4401                FSTP    DVDN0       ; 7
00000B4F  9B                      WAIT
                                                      ; STATEMENT # 208
00000B50  C706AC000000            MOV     K0,0H
                                                      ; STATEMENT # 209
00000B56  8B06A600                MOV     AX,LX
00000B5A  89069C00                MOV     KL,AX
                                                      ; STATEMENT # 210
00000B5E  8B06A800                MOV     AX,I2N1
00000B62  99                      CWD
00000B63  8906B200                MOV     J,AX
00000B67  81C00100                ADD     AX,1H
00000B6B  81D20000                ADC     DX,0H
00000B6F  BB0000                  MOV     BX,0H
00000B72  89D9                    MOV     CX,BX
00000B74  2BD8                    SUB     BX,AX
00000B76  1BCA                    SBB     CX,DX
00000B78  87C3                    XCHG    AX,BX
00000B7A  87D1                    XCHG    DX,CX
00000B7C  9A00000000              CALL    TQ_160
00000B81  50                      PUSH    AX          ; 1
00000B82  8946FE                  MOV     [BP].@TEMP1+2H,AX
00000B85  58                      POP     AX          ; 1
00000B86  9A00000000              CALL    TQ_152
00000B8B  7F03                    JG      $+5H
00000B8D  E96205                  JMP     @@000030
                  @@000029:
                                                      ; STATEMENT # 212
00000B90  DF06B200                FLD     J
00000B94  DB2EF400                FLD     TMN         ; 6
00000B98  DEC9                    FMULP               ; 6
00000B9A  DB2EE000                FLD     TM          ; 6
00000B9E  DEE1                    FSUBRP              ; 6
00000BA0  DB3E0801                FSTP    DVR0        ; 7
00000BA4  9B                      WAIT
                                                      ; STATEMENT # 213
00000BA5  813EB2000000            CMP     J,0H
00000BAB  7403                    JZ      $+5H
00000BAD  E90600                  JMP     @@000031
                  @@000032:
00000BB0  C7069C00FFFF            MOV     KL,0FFFFH
                  @@000031:
                                                      ; STATEMENT # 214
00000BB6  D9060800                FLD     SD          ; 7
00000BBA  D9E0                    FCHS                ; 7
00000BBC  DDD1                    FST     @TOS+1H
00000BBE  D91E1400                FSTP    SDN         ; 7
00000BC2  9B                      WAIT
00000BC3  D9060800                FLD     SD          ; 7
00000BC7  D95EFA                  FSTP    [BP].@TEMP1+6H; 7
00000BCA  9B                      WAIT
00000BCB  D866FA                  FSUB    [BP].@TEMP1+6H
00000BCE  D9060800                FLD     SD          ; 7
00000BD2  DEE1                    FSUBRP              ; 7
00000BD4  D876FA                  FDIV    [BP].@TEMP1+6H
00000BD7  9A00000000              CALL    MQERINT
FORTRAN-86 COMPILER       GENERATED CODE             03/01/95 12:08:18 PAGE  22
SRTEST.FTN                                                           @MAIN

00000BDC  8946F6                  MOV     [BP].@TEMP1+0AH,AX
00000BDF  8956F8                  MOV     [BP].@TEMP1+8H,DX
00000BE2  9A00000000              CALL    TQ_152
00000BE7  7F03                    JG      $+5H
00000BE9  E9F004                  JMP     @@000034
                  @@000033:
                                                      ; STATEMENT # 216
00000BEC  DB2E4401                FLD     DVDN0
00000BF0  D8061400                FADD    SDN
00000BF4  DB3E4E01                FSTP    DVDN
00000BF8  9B                      WAIT
                                                      ; STATEMENT # 217
00000BF9  8B06AC00                MOV     AX,K0
00000BFD  99                      CWD
00000BFE  8906A000                MOV     K,AX
00000C02  50                      PUSH    AX          ; 1
00000C03  8B069C00                MOV     AX,KL
00000C07  52                      PUSH    DX          ; 2
00000C08  99                      CWD
00000C09  59                      POP     CX          ; 2
00000C0A  5B                      POP     BX          ; 1
00000C0B  81EB0100                SUB     BX,1H
00000C0F  81D90000                SBB     CX,0H
00000C13  2BC3                    SUB     AX,BX
00000C15  1BD1                    SBB     DX,CX
00000C17  50                      PUSH    AX          ; 1
00000C18  8946F4                  MOV     [BP].@TEMP1+0CH,AX
00000C1B  58                      POP     AX          ; 1
00000C1C  9A00000000              CALL    TQ_152
00000C21  7F03                    JG      $+5H
00000C23  E98C04                  JMP     @@000036
                  @@000035:
                                                      ; STATEMENT # 219
00000C26  8B36A000                MOV     SI,K
00000C2A  D1E6                    SAL     SI,1
00000C2C  D1E6                    SAL     SI,1
00000C2E  DB2E0801                FLD     DVR0
00000C32  D8845800                FADD    S[SI]+40H
00000C36  DDD1                    FST     @TOS+1H
00000C38  DB3E1201                FSTP    DVR
00000C3C  9B                      WAIT
                                                      ; STATEMENT # 221
00000C3D  DB2E4E01                FLD     DVDN
00000C41  D8F1                    FDIV    TOS,@TOS+1H
00000C43  DDD2                    FST     @TOS+2H
00000C45  DB3EFE00                FSTP    QUO
00000C49  9B                      WAIT
                                                      ; STATEMENT # 222
00000C4A  DB2ECC00                FLD     COUNT
00000C4E  D9E8                    FLD1                ; 7
00000C50  DEC1                    FADDP               ; 7
00000C52  DB3ECC00                FSTP    COUNT
00000C56  9B                      WAIT
                                                      ; STATEMENT # 223
00000C57  D9C1                    FLD     @TOS+1H     ; 1
00000C59  DB3E2601                FSTP    QH
00000C5D  9B                      WAIT
                                                      ; STATEMENT # 225
00000C5E  D9EE                    FLDZ
00000C60  D91E2601                FSTP    SQ
FORTRAN-86 COMPILER       GENERATED CODE             03/01/95 12:08:18 PAGE  23
SRTEST.FTN                                                           @MAIN

00000C64  9B                      WAIT
                                                      ; STATEMENT # 226
00000C65  DB2E2601                FLD     QH
00000C69  D8EA                    FSUBR   TOS,@TOS+2H
00000C6B  DDC2                    FFREE   @TOS+2H
00000C6D  DDD2                    FST     @TOS+2H
00000C6F  DB3ED600                FSTP    QT
00000C73  9B                      WAIT
                                                      ; STATEMENT # 228
00000C74  DB2E2601                FLD     QH
00000C78  D8C9                    FMUL    TOS,@TOS+1H
00000C7A  DB2E4E01                FLD     DVDN        ; 7
00000C7E  DEE1                    FSUBRP              ; 7
00000C80  D9C9                    FXCH    @TOS+1H
00000C82  D8CA                    FMUL    TOS,@TOS+2H
00000C84  DDC2                    FFREE   @TOS+2H
00000C86  DEE9                    FSUBP
00000C88  DB3E5801                FSTP    R           ; 1
00000C8C  9B                      WAIT
                                                      ; STATEMENT # 230
00000C8D  F606B00001              TEST    L3,1H
00000C92  7503                    JNZ     $+5H
00000C94  E9D800                  JMP     @@000037
                  @@000038:
                                                      ; STATEMENT # 231
00000C97  B006                    MOV     AL,6H
00000C99  9A00000000              CALL    FQ_121
00000C9E  0E                      PUSH    CS          ; 1
00000C9F  07                      POP     ES          ; 1
00000CA0  8D1E5303                LEA     BX,@CONST+353H
00000CA4  B80900                  MOV     AX,9H
00000CA7  9A00000000              CALL    FQ_401
00000CAC  DB2ECC00                FLD     COUNT       ; 7
00000CB0  9A00000000              CALL    FQ_424
00000CB5  0E                      PUSH    CS          ; 1
00000CB6  07                      POP     ES          ; 1
00000CB7  8D1E5C03                LEA     BX,@CONST+35CH
00000CBB  B80A00                  MOV     AX,0AH
00000CBE  9A00000000              CALL    FQ_401
00000CC3  DB2E1C01                FLD     DVD         ; 7
00000CC7  9A00000000              CALL    FQ_424
00000CCC  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 232
00000CD1  0E                      PUSH    CS          ; 1
00000CD2  07                      POP     ES          ; 1
00000CD3  8D365C00                LEA     SI,?3
00000CD7  B006                    MOV     AL,6H
00000CD9  9A00000000              CALL    FQ_112
00000CDE  0E                      PUSH    CS          ; 1
00000CDF  07                      POP     ES          ; 1
00000CE0  8D1E6603                LEA     BX,@CONST+366H
00000CE4  B80700                  MOV     AX,7H
00000CE7  9A00000000              CALL    FQ_301
00000CEC  DB2E4E01                FLD     DVDN        ; 7
00000CF0  9A00000000              CALL    FQ_324
00000CF5  DB2E4E01                FLD     DVDN        ; 7
00000CF9  9A00000000              CALL    FQ_324
00000CFE  9A00000000              CALL    FQ_901
                                                      ; STATEMENT # 234
00000D03  0E                      PUSH    CS          ; 1
FORTRAN-86 COMPILER       GENERATED CODE             03/01/95 12:08:18 PAGE  24
SRTEST.FTN                                                           @MAIN

00000D04  07                      POP     ES          ; 1
00000D05  8D365C00                LEA     SI,?3
00000D09  B006                    MOV     AL,6H
00000D0B  9A00000000              CALL    FQ_112
00000D10  0E                      PUSH    CS          ; 1
00000D11  07                      POP     ES          ; 1
00000D12  8D1E6D03                LEA     BX,@CONST+36DH
00000D16  B80700                  MOV     AX,7H
00000D19  9A00000000              CALL    FQ_301
00000D1E  DB2E1201                FLD     DVR         ; 7
00000D22  9A00000000              CALL    FQ_324
00000D27  DB2E1201                FLD     DVR         ; 7
00000D2B  9A00000000              CALL    FQ_324
00000D30  9A00000000              CALL    FQ_901
                                                      ; STATEMENT # 235
00000D35  B006                    MOV     AL,6H
00000D37  9A00000000              CALL    FQ_121
00000D3C  0E                      PUSH    CS          ; 1
00000D3D  07                      POP     ES          ; 1
00000D3E  8D1E7403                LEA     BX,@CONST+374H
00000D42  B80700                  MOV     AX,7H
00000D45  9A00000000              CALL    FQ_401
00000D4A  DB2EFE00                FLD     QUO         ; 7
00000D4E  9A00000000              CALL    FQ_424
00000D53  0E                      PUSH    CS          ; 1
00000D54  07                      POP     ES          ; 1
00000D55  8D1E7B03                LEA     BX,@CONST+37BH
00000D59  B80800                  MOV     AX,8H
00000D5C  9A00000000              CALL    FQ_401
00000D61  DB2E5801                FLD     R           ; 7
00000D65  9A00000000              CALL    FQ_424
00000D6A  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 236
                  @@000037:
                                                      ; STATEMENT # 239
00000D6F  DD060000                FLD     ZER0M       ; 7
00000D73  DD1E2601                FSTP    DQ          ; 7
00000D77  9B                      WAIT
                                                      ; STATEMENT # 240
00000D78  812E2E014000            SUB     IQ+8H,40H
                                                      ; STATEMENT # 242
00000D7E  DB2E5801                FLD     R           ; 7
00000D82  D9E1                    FABS                ; 7
00000D84  DB2E1201                FLD     DVR         ; 6
00000D88  DB2E2601                FLD     QE          ; 5
00000D8C  DEC9                    FMULP               ; 5
00000D8E  D9C9                    FXCH    @TOS+1H
00000D90  DED9                    FCOMPP              ; 6
00000D92  9B                      WAIT
00000D93  DFE0                    FSTSW   AX
00000D95  9E                      SAHF
00000D96  7303                    JAE     $+5H
00000D98  E90B03                  JMP     @@000039
                  @@000040:
                                                      ; STATEMENT # 244
00000D9B  810610000100            ADD     KOUNT,1H
00000DA1  811612000000            ADC     KOUNT+2H,0H
                                                      ; STATEMENT # 245
00000DA7  B006                    MOV     AL,6H
00000DA9  9A00000000              CALL    FQ_121
FORTRAN-86 COMPILER       GENERATED CODE             03/01/95 12:08:18 PAGE  25
SRTEST.FTN                                                           @MAIN

00000DAE  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 246
00000DB3  B006                    MOV     AL,6H
00000DB5  9A00000000              CALL    FQ_121
00000DBA  0E                      PUSH    CS          ; 1
00000DBB  07                      POP     ES          ; 1
00000DBC  8D1E8303                LEA     BX,@CONST+383H
00000DC0  B82500                  MOV     AX,25H
00000DC3  9A00000000              CALL    FQ_401
00000DC8  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 247
00000DCD  B006                    MOV     AL,6H
00000DCF  9A00000000              CALL    FQ_121
00000DD4  0E                      PUSH    CS          ; 1
00000DD5  07                      POP     ES          ; 1
00000DD6  8D1EA803                LEA     BX,@CONST+3A8H
00000DDA  B80400                  MOV     AX,4H
00000DDD  9A00000000              CALL    FQ_401
00000DE2  8B061000                MOV     AX,KOUNT
00000DE6  8B161200                MOV     DX,KOUNT+2H
00000DEA  9A00000000              CALL    FQ_413
00000DEF  0E                      PUSH    CS          ; 1
00000DF0  07                      POP     ES          ; 1
00000DF1  8D1EAC03                LEA     BX,@CONST+3ACH
00000DF5  B80D00                  MOV     AX,0DH
00000DF8  9A00000000              CALL    FQ_401
00000DFD  DB2ECC00                FLD     COUNT       ; 7
00000E01  9A00000000              CALL    FQ_424
00000E06  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 248
00000E0B  B006                    MOV     AL,6H
00000E0D  9A00000000              CALL    FQ_121
00000E12  0E                      PUSH    CS          ; 1
00000E13  07                      POP     ES          ; 1
00000E14  8D1EB903                LEA     BX,@CONST+3B9H
00000E18  B81600                  MOV     AX,16H
00000E1B  9A00000000              CALL    FQ_401
00000E20  DB2E1C01                FLD     DVD         ; 7
00000E24  9A00000000              CALL    FQ_424
00000E29  0E                      PUSH    CS          ; 1
00000E2A  07                      POP     ES          ; 1
00000E2B  8D1ECF03                LEA     BX,@CONST+3CFH
00000E2F  B80A00                  MOV     AX,0AH
00000E32  9A00000000              CALL    FQ_401
00000E37  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 249
00000E3C  0E                      PUSH    CS          ; 1
00000E3D  07                      POP     ES          ; 1
00000E3E  8D366B00                LEA     SI,?4
00000E42  B006                    MOV     AL,6H
00000E44  9A00000000              CALL    FQ_112
00000E49  0E                      PUSH    CS          ; 1
00000E4A  07                      POP     ES          ; 1
00000E4B  8D1ED903                LEA     BX,@CONST+3D9H
00000E4F  B80900                  MOV     AX,9H
00000E52  9A00000000              CALL    FQ_301
00000E57  DB2E4E01                FLD     DVDN        ; 7
00000E5B  9A00000000              CALL    FQ_324
00000E60  DB2E4E01                FLD     DVDN        ; 7
00000E64  9A00000000              CALL    FQ_324
FORTRAN-86 COMPILER       GENERATED CODE             03/01/95 12:08:18 PAGE  26
SRTEST.FTN                                                           @MAIN

00000E69  9A00000000              CALL    FQ_901
                                                      ; STATEMENT # 251
00000E6E  0E                      PUSH    CS          ; 1
00000E6F  07                      POP     ES          ; 1
00000E70  8D366B00                LEA     SI,?4
00000E74  B006                    MOV     AL,6H
00000E76  9A00000000              CALL    FQ_112
00000E7B  0E                      PUSH    CS          ; 1
00000E7C  07                      POP     ES          ; 1
00000E7D  8D1EE203                LEA     BX,@CONST+3E2H
00000E81  B80900                  MOV     AX,9H
00000E84  9A00000000              CALL    FQ_301
00000E89  DB2E1201                FLD     DVR         ; 7
00000E8D  9A00000000              CALL    FQ_324
00000E92  DB2E1201                FLD     DVR         ; 7
00000E96  9A00000000              CALL    FQ_324
00000E9B  9A00000000              CALL    FQ_901
                                                      ; STATEMENT # 252
00000EA0  0E                      PUSH    CS          ; 1
00000EA1  07                      POP     ES          ; 1
00000EA2  8D368200                LEA     SI,?5
00000EA6  B006                    MOV     AL,6H
00000EA8  9A00000000              CALL    FQ_112
00000EAD  0E                      PUSH    CS          ; 1
00000EAE  07                      POP     ES          ; 1
00000EAF  8D1EEB03                LEA     BX,@CONST+3EBH
00000EB3  B80900                  MOV     AX,9H
00000EB6  9A00000000              CALL    FQ_301
00000EBB  DB2E5801                FLD     R           ; 7
00000EBF  9A00000000              CALL    FQ_324
00000EC4  9A00000000              CALL    FQ_901
                                                      ; STATEMENT # 254
00000EC9  0E                      PUSH    CS          ; 1
00000ECA  07                      POP     ES          ; 1
00000ECB  8D368200                LEA     SI,?5
00000ECF  B006                    MOV     AL,6H
00000ED1  9A00000000              CALL    FQ_112
00000ED6  0E                      PUSH    CS          ; 1
00000ED7  07                      POP     ES          ; 1
00000ED8  8D1EF403                LEA     BX,@CONST+3F4H
00000EDC  B80900                  MOV     AX,9H
00000EDF  9A00000000              CALL    FQ_301
00000EE4  DB2EFE00                FLD     QUO         ; 7
00000EE8  9A00000000              CALL    FQ_324
00000EED  9A00000000              CALL    FQ_901
                                                      ; STATEMENT # 255
00000EF2  0E                      PUSH    CS          ; 1
00000EF3  07                      POP     ES          ; 1
00000EF4  8D369200                LEA     SI,?6
00000EF8  B003                    MOV     AL,3H
00000EFA  9A00000000              CALL    FQ_112
00000EFF  8B061000                MOV     AX,KOUNT
00000F03  8B161200                MOV     DX,KOUNT+2H
00000F07  9A00000000              CALL    FQ_313
00000F0C  DB2E4E01                FLD     DVDN        ; 7
00000F10  9A00000000              CALL    FQ_324
00000F15  DB2E1201                FLD     DVR         ; 7
00000F19  9A00000000              CALL    FQ_324
00000F1E  DB2EFE00                FLD     QUO         ; 7
00000F22  9A00000000              CALL    FQ_324
FORTRAN-86 COMPILER       GENERATED CODE             03/01/95 12:08:18 PAGE  27
SRTEST.FTN                                                           @MAIN

00000F27  DB2E5801                FLD     R           ; 7
00000F2B  9A00000000              CALL    FQ_324
00000F30  DB2ECC00                FLD     COUNT       ; 7
00000F34  9A00000000              CALL    FQ_324
00000F39  9A00000000              CALL    FQ_901
                                                      ; STATEMENT # 257
00000F3E  DB2E3A01                FLD     DVDX        ; 7
00000F42  DB2E5801                FLD     R           ; 6
00000F46  DEC9                    FMULP               ; 6
00000F48  D9E1                    FABS                ; 7
00000F4A  DB2E4E01                FLD     DVDN        ; 6
00000F4E  DB2EC200                FLD     RX          ; 5
00000F52  DEC9                    FMULP               ; 5
00000F54  D9E1                    FABS                ; 6
00000F56  D9C9                    FXCH    @TOS+1H
00000F58  DED9                    FCOMPP              ; 6
00000F5A  9B                      WAIT
00000F5B  DFE0                    FSTSW   AX
00000F5D  9E                      SAHF
00000F5E  7703                    JA      $+5H
00000F60  E93400                  JMP     @@000041
                  @@000042:
                                                      ; STATEMENT # 258
00000F63  DB2E5801                FLD     R           ; 7
00000F67  DB3EC200                FSTP    RX          ; 7
00000F6B  9B                      WAIT
                                                      ; STATEMENT # 259
00000F6C  DB2E4E01                FLD     DVDN        ; 7
00000F70  DB3E3A01                FSTP    DVDX        ; 7
00000F74  9B                      WAIT
                                                      ; STATEMENT # 260
00000F75  DB2E1201                FLD     DVR         ; 7
00000F79  DB3EB800                FSTP    DVRX        ; 7
00000F7D  9B                      WAIT
                                                      ; STATEMENT # 261
00000F7E  DB2EFE00                FLD     QUO         ; 7
00000F82  DB3E3001                FSTP    QUOX        ; 7
00000F86  9B                      WAIT
                                                      ; STATEMENT # 262
00000F87  8B061000                MOV     AX,KOUNT
00000F8B  8B161200                MOV     DX,KOUNT+2H
00000F8F  89060C00                MOV     KOUNTX,AX
00000F93  89160E00                MOV     KOUNTX+2H,DX
                                                      ; STATEMENT # 263
                  @@000041:
                                                      ; STATEMENT # 264
00000F97  B006                    MOV     AL,6H
00000F99  9A00000000              CALL    FQ_121
00000F9E  0E                      PUSH    CS          ; 1
00000F9F  07                      POP     ES          ; 1
00000FA0  8D1EFD03                LEA     BX,@CONST+3FDH
00000FA4  B82800                  MOV     AX,28H
00000FA7  9A00000000              CALL    FQ_401
00000FAC  8B060C00                MOV     AX,KOUNTX
00000FB0  8B160E00                MOV     DX,KOUNTX+2H
00000FB4  9A00000000              CALL    FQ_413
00000FB9  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 265
00000FBE  0E                      PUSH    CS          ; 1
00000FBF  07                      POP     ES          ; 1
FORTRAN-86 COMPILER       GENERATED CODE             03/01/95 12:08:18 PAGE  28
SRTEST.FTN                                                           @MAIN

00000FC0  8D368200                LEA     SI,?5
00000FC4  B006                    MOV     AL,6H
00000FC6  9A00000000              CALL    FQ_112
00000FCB  0E                      PUSH    CS          ; 1
00000FCC  07                      POP     ES          ; 1
00000FCD  8D1EEB03                LEA     BX,@CONST+3EBH
00000FD1  B80900                  MOV     AX,9H
00000FD4  9A00000000              CALL    FQ_301
00000FD9  DB2EC200                FLD     RX          ; 7
00000FDD  9A00000000              CALL    FQ_324
00000FE2  9A00000000              CALL    FQ_901
                                                      ; STATEMENT # 266
00000FE7  0E                      PUSH    CS          ; 1
00000FE8  07                      POP     ES          ; 1
00000FE9  8D366B00                LEA     SI,?4
00000FED  B006                    MOV     AL,6H
00000FEF  9A00000000              CALL    FQ_112
00000FF4  0E                      PUSH    CS          ; 1
00000FF5  07                      POP     ES          ; 1
00000FF6  8D1ED903                LEA     BX,@CONST+3D9H
00000FFA  B80900                  MOV     AX,9H
00000FFD  9A00000000              CALL    FQ_301
00001002  DB2E3A01                FLD     DVDX        ; 7
00001006  9A00000000              CALL    FQ_324
0000100B  DB2E3A01                FLD     DVDX        ; 7
0000100F  9A00000000              CALL    FQ_324
00001014  9A00000000              CALL    FQ_901
                                                      ; STATEMENT # 267
00001019  0E                      PUSH    CS          ; 1
0000101A  07                      POP     ES          ; 1
0000101B  8D366B00                LEA     SI,?4
0000101F  B006                    MOV     AL,6H
00001021  9A00000000              CALL    FQ_112
00001026  0E                      PUSH    CS          ; 1
00001027  07                      POP     ES          ; 1
00001028  8D1EE203                LEA     BX,@CONST+3E2H
0000102C  B80900                  MOV     AX,9H
0000102F  9A00000000              CALL    FQ_301
00001034  DB2EB800                FLD     DVRX        ; 7
00001038  9A00000000              CALL    FQ_324
0000103D  DB2EB800                FLD     DVRX        ; 7
00001041  9A00000000              CALL    FQ_324
00001046  9A00000000              CALL    FQ_901
                                                      ; STATEMENT # 268
0000104B  0E                      PUSH    CS          ; 1
0000104C  07                      POP     ES          ; 1
0000104D  8D368200                LEA     SI,?5
00001051  B006                    MOV     AL,6H
00001053  9A00000000              CALL    FQ_112
00001058  0E                      PUSH    CS          ; 1
00001059  07                      POP     ES          ; 1
0000105A  8D1EF403                LEA     BX,@CONST+3F4H
0000105E  B80900                  MOV     AX,9H
00001061  9A00000000              CALL    FQ_301
00001066  DB2E3001                FLD     QUOX        ; 7
0000106A  9A00000000              CALL    FQ_324
0000106F  9A00000000              CALL    FQ_901
                                                      ; STATEMENT # 269
00001074  B006                    MOV     AL,6H
00001076  9A00000000              CALL    FQ_121
FORTRAN-86 COMPILER       GENERATED CODE             03/01/95 12:08:18 PAGE  29
SRTEST.FTN                                                           @MAIN

0000107B  1E                      PUSH    DS          ; 1
0000107C  07                      POP     ES          ; 1
0000107D  8D1E6201                LEA     BX,AARGH
00001081  B83000                  MOV     AX,30H
00001084  9A00000000              CALL    FQ_401
00001089  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 270
0000108E  B006                    MOV     AL,6H
00001090  9A00000000              CALL    FQ_121
00001095  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 271
0000109A  B006                    MOV     AL,6H
0000109C  9A00000000              CALL    FQ_121
000010A1  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 272
                  @@000039:
                                                      ; STATEMENT # 273
                  ?300:
000010A6  FF06A000                INC     K
000010AA  FF4EF4                  DEC     [BP].@TEMP1+0CH
000010AD  7403                    JZ      $+5H
000010AF  E974FB                  JMP     @@000035
                  @@000036:
                                                      ; STATEMENT # 275
                  ?400:
000010B2  D946FA                  FLD     [BP].@TEMP1+6H; 7
000010B5  D8061400                FADD    SDN         ; 7
000010B9  D91E1400                FSTP    SDN         ; 7
000010BD  9B                      WAIT
000010BE  8B46F6                  MOV     AX,[BP].@TEMP1+0AH
000010C1  8B56F8                  MOV     DX,[BP].@TEMP1+8H
000010C4  81E80100                SUB     AX,1H
000010C8  81DA0000                SBB     DX,0H
000010CC  8946F6                  MOV     [BP].@TEMP1+0AH,AX
000010CF  8956F8                  MOV     [BP].@TEMP1+8H,DX
000010D2  9A00000000              CALL    TQ_152
000010D7  7403                    JZ      $+5H
000010D9  E910FB                  JMP     @@000033
                  @@000034:
                                                      ; STATEMENT # 277
000010DC  8B06A600                MOV     AX,LX
000010E0  F7D8                    NEG     AX
000010E2  8906AC00                MOV     K0,AX
                                                      ; STATEMENT # 278
                  ?500:
000010E6  FF0EB200                DEC     J
000010EA  FF4EFE                  DEC     [BP].@TEMP1+2H
000010ED  7403                    JZ      $+5H
000010EF  E99EFA                  JMP     @@000029
                  @@000030:
                                                      ; STATEMENT # 280
000010F2  DB2E1C01                FLD     DVD         ; 7
000010F6  2ED8062C01              FADD    CS:@CONST+12CH; 7
000010FB  DB3E1C01                FSTP    DVD         ; 7
000010FF  9B                      WAIT
                                                      ; STATEMENT # 281
                  ?600:
00001100  E9F4F9                  JMP     @@000024
                  @@000025:
                                                      ; STATEMENT # 283
FORTRAN-86 COMPILER       GENERATED CODE             03/01/95 12:08:18 PAGE  30
SRTEST.FTN                                                           @MAIN

00001103  B006                    MOV     AL,6H
00001105  9A00000000              CALL    FQ_121
0000110A  DB2ECC00                FLD     COUNT       ; 7
0000110E  9A00000000              CALL    FQ_424
00001113  0E                      PUSH    CS          ; 1
00001114  07                      POP     ES          ; 1
00001115  8D1E2504                LEA     BX,@CONST+425H
00001119  B81C00                  MOV     AX,1CH
0000111C  9A00000000              CALL    FQ_401
00001121  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 284
00001126  8B061000                MOV     AX,KOUNT
0000112A  8B161200                MOV     DX,KOUNT+2H
0000112E  9A00000000              CALL    TQ_152
00001133  7403                    JZ      $+5H
00001135  E91D00                  JMP     @@000043
                  @@000044:
                                                      ; STATEMENT # 285
00001138  B006                    MOV     AL,6H
0000113A  9A00000000              CALL    FQ_121
0000113F  0E                      PUSH    CS          ; 1
00001140  07                      POP     ES          ; 1
00001141  8D1E4104                LEA     BX,@CONST+441H
00001145  B81A00                  MOV     AX,1AH
00001148  9A00000000              CALL    FQ_401
0000114D  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 286
00001152  E92700                  JMP     @@000045
                  @@000043:
                                                      ; STATEMENT # 287
00001155  B006                    MOV     AL,6H
00001157  9A00000000              CALL    FQ_121
0000115C  8B061000                MOV     AX,KOUNT
00001160  8B161200                MOV     DX,KOUNT+2H
00001164  9A00000000              CALL    FQ_413
00001169  0E                      PUSH    CS          ; 1
0000116A  07                      POP     ES          ; 1
0000116B  8D1E5B04                LEA     BX,@CONST+45BH
0000116F  B81D00                  MOV     AX,1DH
00001172  9A00000000              CALL    FQ_401
00001177  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 288
                  @@000045:
                                                      ; STATEMENT # 289
0000117C  B006                    MOV     AL,6H
0000117E  9A00000000              CALL    FQ_121
00001183  0E                      PUSH    CS          ; 1
00001184  07                      POP     ES          ; 1
00001185  8D1E7804                LEA     BX,@CONST+478H
00001189  B82A00                  MOV     AX,2AH
0000118C  9A00000000              CALL    FQ_401
00001191  9A00000000              CALL    FQ_902
                                                      ; STATEMENT # 290
00001196  680300                  PUSH    3H
00001199  B80000                  MOV     AX,0H
0000119C  8EC0                    MOV     ES,AX
0000119E  06                      PUSH    ES          ; 2
0000119F  50                      PUSH    AX          ; 3
000011A0  06                      PUSH    ES          ; 4
000011A1  50                      PUSH    AX          ; 5
FORTRAN-86 COMPILER       GENERATED CODE             03/01/95 12:08:18 PAGE  31
SRTEST.FTN                                                           @MAIN

000011A2  9A00000000              CALL    FQ_020
                                                      ; STATEMENT # 291
000011A7  9A00000000              CALL    TQ_999
FORTRAN-86 COMPILER       LABELS, STATEMENT FUNCTIONS03/01/95 12:08:18 PAGE  32
SRTEST.FTN                                                           @MAIN

DEFN LABEL                           ADDRESS                ATTRIBUTES
----------                           -------                ----------
 136 1 . . . . . . . . . . . . . . .    0H                  FORMAT LABEL  135
                                                              136
 201 2 . . . . . . . . . . . . . . .   35H                  FORMAT LABEL  199
                                                              201
 233 3 . . . . . . . . . . . . . . .   5CH                  FORMAT LABEL  232
                                                              233  234
 250 4 . . . . . . . . . . . . . . .   6BH                  FORMAT LABEL  249
                                                              250  251  266  267
 253 5 . . . . . . . . . . . . . . .   82H                  FORMAT LABEL  252
                                                              253  254  265  268
 256 6 . . . . . . . . . . . . . . .   92H                  FORMAT LABEL  255
                                                              256
 158 100 . . . . . . . . . . . . . .  8FAH                  LABEL  154  158
 192 200 . . . . . . . . . . . . . .  AEBH                  LABEL  190  192
 273 300 . . . . . . . . . . . . . . 10A6H                  LABEL  217  273
 275 400 . . . . . . . . . . . . . . 10B2H                  LABEL  214  275
 278 500 . . . . . . . . . . . . . . 10E6H                  LABEL  210  278
 281 600 . . . . . . . . . . . . . . 1100H                  LABEL  195  281


     EXTERNAL SYSTEM ROUTINES                               REFERENCES
     ------------------------                               ----------
     FQ_010. . . . . . . . . . . . .                          100  101  102  188
     FQ_020. . . . . . . . . . . . .                          126  131  290
     FQ_040. . . . . . . . . . . . .                          189
     FQ_112. . . . . . . . . . . . .                          135  199  232  234
                                                              249  251  252  254
                                                              255  265  266  267
                                                              268
     FQ_120. . . . . . . . . . . . .                          103  108  113  120
                                                              191
     FQ_121. . . . . . . . . . . . .                          105  110  116  123
                                                              127  128  129  132
                                                              133  134  137  138
                                                              139  140  141  142
                                                              143  176  177  178
                                                              179  180  181  183
                                                              184  185  231  235
                                                              245  246  247  248
                                                              264  269  270  271
                                                              283  285  287  289
     FQ_301. . . . . . . . . . . . .                          232  234  249  251
                                                              252  254  265  266
                                                              267  268
     FQ_311. . . . . . . . . . . . .                          135
     FQ_313. . . . . . . . . . . . .                          255
     FQ_324. . . . . . . . . . . . .                          199  232  234  249
                                                              251  252  254  255
                                                              265  266  267  268
     FQ_401. . . . . . . . . . . . .                          105  110  116  123
                                                              127  128  129  132
                                                              133  134  137  138
                                                              139  140  141  176
                                                              177  178  179  180
                                                              181  183  231  235
                                                              246  247  248  264
                                                              269  283  285  287
                                                              289
FORTRAN-86 COMPILER       LABELS, STATEMENT FUNCTIONS03/01/95 12:08:18 PAGE  33
SRTEST.FTN                                                           @MAIN

     FQ_410. . . . . . . . . . . . .                          103  108  113
     FQ_411. . . . . . . . . . . . .                          105  110  116  127
                                                              128  176
     FQ_413. . . . . . . . . . . . .                          139  247  264  287
     FQ_416. . . . . . . . . . . . .                          140  184
     FQ_420. . . . . . . . . . . . .                          179
     FQ_422. . . . . . . . . . . . .                          120
     FQ_424. . . . . . . . . . . . .                          123  177  178  180
                                                              181  183  231  235
                                                              247  248  283
     FQ_733. . . . . . . . . . . . .                          136  201  233  250
                                                              253  256
     FQ_745. . . . . . . . . . . . .                          136  201  233  250
                                                              253
     FQ_747. . . . . . . . . . . . .                          136  256
     FQ_748. . . . . . . . . . . . .                          233  250  253
     FQ_750. . . . . . . . . . . . .                          253  256
     FQ_754. . . . . . . . . . . . .                          233  250  253  256
     FQ_755. . . . . . . . . . . . .                          233  250
     FQ_758. . . . . . . . . . . . .                          201  250  256
     FQ_759. . . . . . . . . . . . .                          253  256
     FQ_761. . . . . . . . . . . . .                          233
     FQ_901. . . . . . . . . . . . .                          135  199  232  234
                                                              249  251  252  254
                                                              255  265  266  267
                                                              268
     FQ_902. . . . . . . . . . . . .                          103  108  113  120
                                                              191
     FQ_902. . . . . . . . . . . . .                          105  110  116  123
                                                              127  128  129  132
                                                              133  134  137  138
                                                              139  140  141  142
                                                              143  176  177  178
                                                              179  180  181  183
                                                              184  185  231  235
                                                              245  246  247  248
                                                              264  269  270  271
                                                              283  285  287  289
     FQ_911. . . . . . . . . . . . .                          106  111  117  124
     INITFP. . . . . . . . . . . . .                        -----
     MQERCI2 . . . . . . . . . . . .                          159
     MQERINT . . . . . . . . . . . .                          214
     MQERRNT . . . . . . . . . . . .                          121  122
     TQ_001. . . . . . . . . . . . .                        -----
     TQ_140. . . . . . . . . . . . .                          119  139
     TQ_152. . . . . . . . . . . . .                          210  214  217  275
                                                              284
     TQ_160. . . . . . . . . . . . .                          210
     TQ_999. . . . . . . . . . . . .                        -----
FORTRAN-86 COMPILER       ERROR MESSAGES AND SUMMARY 03/01/95 12:08:18 PAGE  34
SRTEST.FTN                                                           @MAIN

STORAGE REQUIREMENTS FOR MODULE @MAIN:

    CODE AREA SIZE              D0AH           3338D
    CONSTANT AREA SIZE          4A2H           1186D
    VARIABLE AREA SIZE          192H            402D
    MAXIMUM STACK SIZE           2AH             42D

0 ERRORS DETECTED.
0 WARNINGS ISSUED.
ENTRY POINT IS 4A4H
FLOATING-POINT OPERATIONS WERE GENERATED.
COMPILATION OF @MAIN COMPLETE.


 0 TOTAL ERRORS DETECTED.
 0 TOTAL WARNINGS ISSUED.

DICTIONARY SUMMARY:
    46FH  LAST OBJECT ID
    404KB MEMORY AVAILABLE
     16KB MEMORY USED   (3%)
      0KB DISK SPACE USED

END OF FORTRAN-86 COMPILATION OF SRTEST.FTN