COPTION DOUBLE,DUMP=1 DIFF ( Y , X , 1 ) = ( 1.0 + C ( TAN ( SQRT ( 2.0 * X + 1.0 ) ) C * TAN( SQRT ( 2.0 * X + 1.0 ) ) ) ) C / SQRT ( 2.0 * X + 1.0 ) $ $ MPRINT = 2 NSTEPS = 1000 START = 1.4d0 END = 2.1d0 DLTXPT = 0.05d0 Y(1) = (DTAN(DSQRT(2.0d0*START + 1.0d0))) WRITE(LIST,120) START,END,DLTXPT,Y(1) 120 FORMAT(8F16.10) $ $ C DIGITS := 32; C MAX_TERMS := 40; C ! C X_START := 1.4; C X_END := 2.1 ; C DIFF(Y,0,EXACT_SOLN_Y(X_START)); C GLOB_LOOK_POLES := TRUE; C GLOB_MAX_H := 0.0001; C #GLOB_MIN_H := 0.01; C C #GLOB_MIN_H := 0.00000000001; C #GLOB_MAX_H := 0.00001; C # C # NOT GIVEN = 0 C # REAL = 1 C # COMPLEX = 2 C # NO POLE = 3 C # IMPOSSIBLE EQ = 4 C # SOME POLE EQ = 5 C # C GLOB_TYPE_GIVEN_POLE := 1; C # REAL PART C ARRAY_GIVEN_RAD_POLES[1,1] := -2.0; C # IMAG PART C ARRAY_GIVEN_RAD_POLES[1,2] := 0.0; C # ORDER C ARRAY_GIVEN_ORD_POLES[1,1] := 0.5; C # NOT USED C ARRAY_GIVEN_ORD_POLES[1,2] := 0.0; C C C ! C EXACT_SOLN_Y := PROC(X) C RETURN(TAN(SQRT(2.0*X + 1.0))); C END;