10  COM S[300],B[300],C[300],R[300],F[300],G[300]
20  COM T[25],G0,G1,G2,G3,G4,G5,G6,G7,G8,G9
30  COM H[100],I[100],M0,M1,A0
40  COM J[20],K[20],M[20],N[20]
50  COM R$[7],R9
60  COM S1
70  COM H2,H3,H4,H5,H6,H7,H8,H9,P1
80  COM J1,J2,J3,J4,J5,J6,J7,J8
100  COM C$[4],Z[4],E$[4],Y[4]
110  COM Q$[7],Q9
120  COM N0,N1
130  COM I9,I0
140  COM I2
150  COM P[9],Q[9],O[9],U[9]
160  COM D[200,10]
170  COM A[9,9],E[9]
180  COM F1,F2,F3,S2,T1,I1
190  COM I
200  COM S6
205  IF F1>1 THEN 780
210  MAT A=ZER[P1,P1]
780  FOR I=1 TO P1
790  FOR J=1 TO I
800  LET S2=0
810  FOR K=I2 TO G0
820  LET S2=S2+D[K,I]*D[K,J]
830  NEXT K
840  LET T1=S2/(P[I]*P[J])
850  A[J,I]=T1
860  A[I,J]=T1
870  NEXT J
880  LET E[I]=SQR(A[I,I])
890  NEXT I
930  FOR I=1 TO P1
940  FOR J=1 TO I
950  LET D[I,J]=A[I,J]
960  D[J,I]=D[I,J]
970  LET A[I,J]=D[I,J]/(E[I]*E[J])
980  A[J,I]=A[I,J]
990  NEXT J
1000  NEXT I
1040  FOR I=1 TO P1
1050  LET P[I]=Q[I]/E[I]
1060  A[I,I]=A[I,I]+F3
1070  NEXT I
1080  MAT A=INV(A)
1090  LET S2=1
1100  LET T1=1
1110  FOR I=1 TO P1
1120  U[I]=(P[I]*(S2/E[I]))+T[I]
1130  O[I]=T[I]
1140  T[I]=U[I]
1150  NEXT I
1210  FOR I=1 TO P1
1220  NEXT I
1230  LET S6=S1
1235  Q$="$IDA53E"
1240  LET Q9=1260
1250  CHAIN "$IDA53A"
1260  LET S3=S1
1270  S1=S6
1280  S6=S3
1290  FOR I=1 TO P1
1300  LET U[I]=T[I]
1310  T[I]=O[I]
1320  NEXT I
1330  IF (S6<S1) THEN 1430
1340  IF (T1>20) THEN 1390
1350  LET S2=S2/2
1360  I1=I1+1
1370  IF (I1<10) THEN 1110
1380  CHAIN "$IDA53F",1680
1390  F3=F3*F2
1400  I1=I1+1
1410  IF (I1<10) THEN 930
1420  CHAIN "$IDA53F",1680
1430  CHAIN "$IDA53F"
1440  END 
