IMPLICIT REAL*8 (A-H,O-Z)
      EXTERNAL FUNCA,FUNCB
      REAL*8 XFU(3,2),WF(3)
      INTEGER NN(3),NK(3)
      D12=0.2
      XFU(1,1)=-D12
      XFU(2,1)=-D12
      XFU(3,1)=-D12
      XFU(1,2)=D12
      XFU(2,2)=D12
      XFU(3,2)=D12
      SIZE=100.0
      WF(1)=SIZE
      WF(2)=SIZE
      WF(3)=SIZE
C
      IFL=70
      AF=25.0
      BT=0.0
      GM=-20.0
      ED=150.0
      EL=1500.0
      CALL AYPSTR(IFL)
      CALL AYORIG(20.0,20.0)
      CALL TPERSP(XFU,WF,AF,BT,GM,ED,EL)
      CALL TPTRAC(1)   
      CALL TPSCHG(-1)
      EF=0.0      
      CALL TPHILP(EF)
      CALL TPHILD(0.0, 0,0,0,0)
      N161=161      
      DO 11 I=1,3
      NN(I)=N161
      NK(I)=2
   11 CONTINUE
      CALL LINEWD(0.5)
      CALL TPFXYZ(FUNCB,EF,NN,NK,0)
      CALL PTIME(TA)
      TE=(TA-TB)*60.0*60.0
      TB=TA
      WRITE(6,*) ' END OF TPFXYZ MINUS',TE
      CALL LINEWD(0.1)
      CALL TPFXYZ(FUNCA,EF,NN,NK,0)
      CALL PTIME(TA)
      TE=(TA-TB)*60.0*60.0
      TB=TA
      WRITE(6,*) ' END OF TPFXYZ PLUS',TE
      CALL LINEWD(1.2)
      X1=-D12
      Y1=0.0
      Z1=0.0
      X2=D12
      Y2=0.0
      Z2=0.0
      CALL TPLINE(X1,Y1,Z1,X2,Y2,Z2,30)
      X1=0.0
      X2=0.0
      Y1=-D12
      Y2=D12
      CALL TPLINE(X1,Y1,Z1,X2,Y2,Z2,30)
      Y1=0.0
      Y2=0.0
      Z1=-D12
      Z2=D12
      CALL TPLINE(X1,Y1,Z1,X2,Y2,Z2,30)
      CALL AYPEND
      WRITE(6,*) ' END'
      STOP
      END
      FUNCTION FUNCD(XA)
      IMPLICIT REAL*8(A-H,O-Z)
      DIMENSION XA(3)
       FUNCD=0.0
      RETURN
      END
      INTEGER FUNCTION LFUNC(X)
      IMPLICIT REAL*8(A-H,O-Z)
      REAL*4 X(3)
      LFUNC=0
      RETURN
      END
      FUNCTION FUNC(XX)
      REAL*4 XX(3)
      WA=FUNCA(XX)
      WB=FUNCB(XX)
      IF(WA.GE.WB) THEN
        FUNC=WA
      ELSE
        FUNC=WB
      END IF
      RETURN
      END
      FUNCTION FUNCB(XX)
      IMPLICIT REAL*8(A-H,O-Z)
      REAL*8 KB
      DIMENSION XX(3)
      RR=XX(1)**2+XX(2)**2+XX(3)**2
      R4=RR*RR
      FUNCB=XX(1)*XX(2)*XX(3)-R4
      RETURN                                                                   
      END                                                                      
      FUNCTION FUNCA(XX)
      IMPLICIT REAL*8(A-H,O-Z)
      REAL*8 KB
      DIMENSION XX(3)
      RR=XX(1)**2+XX(2)**2+XX(3)**2
      R4=RR*RR
      FUNCA=-XX(1)*XX(2)*XX(3)-R4
      RETURN                                                                   
      END                                                                      
      SUBROUTINE CLOCKM(ITIME)
C
C       FOR UNIX
C
      DIMENSION TERY(2)
C
C     etime for AIX FORTRAN
      CALL ETIME_(TERY)
C     etime for SUN FORTARAN
C     CALL ETIME(TERY)
      ITIME=TERY(1)*1000
      RETURN
      END
      SUBROUTINE PTIME(T)
      REAL*8 T
      CALL CLOCKM(IT)
      T=IT/3600000.0
      RETURN
      END