I have a code in Fortran IV that I need to run. I was told to try to compile it in Fortran 77 and fix the error. So I named the file with a .f extension and tried to compile it with gfortran. I got the next error referring to the Fortran IV function copied below:

```
abel.f:432.24:

      REAL FUNCTION DGDT*8(IX,NV,XNG,FNG,GNG,X)
                        1
Error: Expected formal argument list in function definition at (1)

```

Since I'm not too familiar with Fortran I'd appreciate if someone can tell me how to fix this problem .

```
      REAL FUNCTION DGDT*8(IX,NV,XNG,FNG,GNG,X)                         AAOK0429
C                                                                       AAOK0430
C     THIS SUBROUTINE COMPUTES THE VALUE OF THE DERIVATIVE OF THE       AAOK0431
C     G-FUNCTION FOR A SLIT TRANSMISSION FUNCTION GIVEN BY A            AAOK0432
C     PIECE-WISE CUBIC SPLINE , WHOSE PARAMETERS ARE                    AAOK0433
C     CONTAINED IN XNG,FNG AND GNG.                                     AAOK0434
C                                                                       AAOK0435
      IMPLICIT REAL*8(A-H,O-Z)                                          AAOK0436
C                                                                       AAOK0437
C     ALLOWABLE ROUNDING ERROR ON POINTS AT EXTREAMS OF KNOT RANGE      AAOK0438
C     IS 2**IEPS*MAX(!XNG(1)!,!XNG(NV)!).                               AAOK0439
      INTEGER*4 IFLG/0/,IEPS/-50/                                       AAOK0440
      DIMENSION XNG(1),FNG(1),GNG(1)                                    AAOK0441
C                                                                       AAOK0442
C       TEST WETHER POINT IN RANGE.                                     AAOK0443
      IF(X.LT.XNG(1)) GO TO 990                                         AAOK0444
      IF(X.GT.XNG(NV)) GO TO 991                                        AAOK0445
C                                                                       AAOK0446
C       ESTIMATE KNOT INTERVAL BY ASSUMING EQUALLY SPACED KNOTS.        AAOK0447
   12 J=DABS(X-XNG(1))/(XNG(NV)-XNG(1))*(NV-1)+1                        AAOK0448
C       ENSURE CASE X=XNG(NV) GIVES J=NV-1                              AAOK0449
      J=MIN0(J,NV-1)                                                    AAOK0450
C       INDICATE THAT KNOT INTERVAL INSIDE RANGE HAS BEEN USED.         AAOK0451
      IFLG=1                                                            AAOK0452
C       SEARCH FOR KNOT INTERVAL CONTAINING X.                          AAOK0453
      IF(X.LT.XNG(J)) GO TO 2                                           AAOK0454
C       LOOP TILL INTERVAL FOUND.                                       AAOK0455
    1 J=J+1                                                             AAOK0456
   11 IF(X.GT.XNG(J+1)) GO TO 1                                         AAOK0457
      GO TO 7                                                           AAOK0458
    2 J=J-1                                                             AAOK0459
      IF(X.LT.XNG(J)) GO TO 2                                           AAOK0460
C                                                                       AAOK0461
C       CALCULATE SPLINE PARAMETERS FOR JTH INTERVAL.                   AAOK0462
    7 H=XNG(J+1)-XNG(J)                                                 AAOK0463
      Q1=H*GNG(J)                                                       AAOK0464
      Q2=H*GNG(J+1)                                                     AAOK0465
      SS=FNG(J+1)-FNG(J)                                                AAOK0466
      B=3D0*SS-2D0*Q1-Q2                                                AAOK0467
      A=Q1+Q2-2D0*SS                                                    AAOK0468
C                                                                       AAOK0469
C       CALCULATE SPLINE VALUE.                                         AAOK0470
    8 Z=(X-XNG(J))/H                                                    AAOK0471
C     TF=((A*Z+B)*Z+Q1)*Z+FNG(J)                                        AAOK0472
C     TG=((3.*A*Z+2.*B)*Z+Q1)/H                                         AAOK0473
C     DGDT=(TG-TF/X)/X                                                  AAOK0474
      DGDT=(3.*A*Z*Z+2.*B*Z+Q1)/H                                       AAOK0475
      RETURN                                                            AAOK0476
C       TEST IF X WITHIN ROUNDING ERROR OF XNG(1).                      AAOK0477
  990 IF(X.LE.XNG(1)-2D0**IEPS*DMAX1(DABS(XNG(1)),DABS(XNG(NV)))) GO    AAOK0478
     1 TO 99                                                            AAOK0479
      J=1                                                               AAOK0480
      GO TO 7                                                           AAOK0481
C       TEST IF X WITHIN ROUNDING ERROR OF XNG(NV).                     AAOK0482
  991 IF(X.GE.XNG(NV)+2D0**IEPS*DMAX1(DABS(XNG(1)),DABS(XNG(NV)))) GO   AAOK0483
     1 TO 99                                                            AAOK0484
      J=NV-1                                                            AAOK0485
      GO TO 7                                                           AAOK0486
   99 IFLG=0                                                            AAOK0487
C       FUNCTION VALUE SET TO ZERO FOR POINTS OUTSIDE THE RANGE.        AAOK0488
      DGDT=0D0                                                          AAOK0489
      RETURN                                                            AAOK0490
      END                                                               AAOK0491

```