//JOB(ERCC07,STEPHENS,T=200,L=10000)
//OPTIONS(QUOTES,OPT)
//ALGOL
'COMMENT'
                         ***************
                         *             *
                         *   ALGG052   *
                         *             *
                         ***************
;
 'BEGIN'
'BEGIN' 'COMMENT' A0,A6; 'REAL' CHI,MU,NU,S,DX,ZETAE,ZETA,
A,B,LCHI,SCHI,UCHI,LMU,SMU,UMU,THETAIG,PHI,LAMDA,ETA;
'INTEGER' M,X,I,J,CHOICE;
'REAL' 'PROCEDURE' EM(Y,L); 'VALUE' Y,L; 'REAL' Y; 'INTEGER' L;
'BEGIN' 'REAL' S, Q; 'INTEGER' R;
'IF' L = 0 'THEN' S:=1 'ELSE' 'BEGIN' S:=1; Q:=1;
'FOR' R:=1 'STEP' 1'UNTIL' L 'DO' 'BEGIN' Q:=Q*Y/R; S:=S+Q 'END';
EM:=S 'END'; 'END' OF PROCEDURE EM;
'INTEGER' 'PROCEDURE' FA(X); 'VALUE' X; 'INTEGER' X; 'BEGIN'
'INTEGER' I,P; 'IF' X = 0 'THEN' P:=1'ELSE' 'BEGIN' P:=1;
'FOR' I:=1'STEP' 1'UNTIL' X 'DO' P:=P*I 'END'; FA:=P 'END' 0F FA;
'REAL' 'PROCEDURE' INTA(U,Z,L); 'VALUE' U,Z,L; 'REAL' U,Z;
'INTEGER' L; 'BEGIN' 'REAL' Q,S;
'IF' U = 0'THEN' S:=(1-(1+Z)**(1+L))/(1+L) 'ELSE' 'BEGIN'
Q:= EXP(U*Z)* EM(-U*(1+Z),L)-EM(-U,L);
S:=FA(L)*Q/(-U)**(1+L) 'END'; INTA:=S 'END' OF INTA;
'REAL' 'PROCEDURE' INTB(V,Z,L);'VALUE' V,Z,L;'REAL' V,Z;
'INTEGER' L; 'BEGIN' 'REAL' S, Q;'IF' V = 0 'THEN'
S:=(1-(1+Z)**(1+L))/(1+L) 'ELSE' 'BEGIN'
Q:=EXP(-V*Z)*EM(V*(1+Z),L)-EM(V,L);S:=FA(L)*Q/V**(1+L) 'END';
INTB:=S 'END' OF PROC INTB;
M:=READ;LCHI:=READ;
SCHI:=READ;UCHI:=READ;LMU:=READ;SMU:=READ;
UMU:=READ;J:=READ;CHOICE:=READ;
PHI:=1+M;
WRITETEXT('('N = ')');
PRINT(M,0,3); NEWLINES(1);
'FOR' CHI:=LCHI 'STEP' SCHI'UNTIL' UCHI'DO' 'BEGIN'
WRITETEXT('(''('P')'CHI = ')');
PRINT(CHI,0,3);   NEWLINES(1);
WRITE TEXT('(''('2S')'MU'('8S')'ETA'('8S')'SQRT(ETA)'('5S')'ZETAE
'('7S')'THETAIG'('7S')'LAMDA'('2S2C')'')');
'FOR' MU:=LMU'STEP' SMU'UNTIL' UMU'DO' 'BEGIN'
'IF' MU=0'AND' CHI=0 'THEN' 'GOTO' SPECIAL;
I:=0;
X:=-1;NU:='IF' MU=0'OR' CHI =0'THEN' 0'ELSE' MU*CHI/(MU+CHI);
A:=INTA(MU,X,M);B:=INTB(NU,X,M);S:=EXP(NU*X)*B-A;
'IF' S> 0'THEN' 'GOTO' ONE;
ZETA:=0;DX:= -1;
LOOP:ZETA:=ZETA+DX;
A:=INTA(MU,ZETA,M);B:=INTB(NU,ZETA,M);
S:=EXP(NU*ZETA)*B-A;ZETAE:=ZETA;
'IF' S>0'THEN' 'GOTO' LOOP;ZETA:=ZETAE-DX;I:=I+1;
'IF' I =J 'THEN' 'GOTO' TWO;DX:=DX/10;'GOTO' LOOP;
SPECIAL:  PRINT(MU,1,2);
WRITE TEXT('(''('7S')'0.0'('9S')'0.0'('8S')'-1.00000'('5S')'
+1.00000'('C')'')');'GOTO' FINAL;
ONE:ZETA:=-1;THETAIG:=MU*PHI*A/(MU+2*CHI);
ETA:=MU*MU/(MU+CHI);
PRINT(MU,1,2); SPACES(4); PRINT(ETA,2,5); SPACES(4);
PRINT(SQRT(ETA),2,5); SPACES(4); PRINT(ZETA,1,5);
SPACES(4); PRINT(THETAIG,2,5); NEWLINES(1);
'GOTO' FINAL;
TWO:THETAIG:=MU*PHI*A/(MU+2*CHI);
LAMDA:=(1+ZETA)**PHI;
ETA:=MU*MU/(MU+CHI);
PRINT(MU,1,2); SPACES(4); PRINT(ETA,2,5); SPACES(4);
PRINT(SQRT(ETA),2,5); SPACES(4); PRINT(ZETA,1,5);
SPACES(4); PRINT(THETAIG,2,5); SPACES(4);
PRINT(LAMDA,2,5); NEWLINES(1);
FINAL:'END';'END';
'IF' CHOICE = 0'THEN' 'GOTO' HELL;
'FOR' CHI:=SCHI 'STEP' SCHI 'UNTIL' UCHI 'DO' 'BEGIN'
SMU:=READ;UMU:=READ;WRITE TEXT('(''('P')'CHI%=%')');
PRINT(CHI,2,3);
NEWLINES(1);
WRITE TEXT('(''('2S')'MU'('8S')'ETA'('6S')'SQRT(ETA)'('5S')'THETAIG'('7S
2C')'')');
'FOR' MU:=0'STEP' SMU 'UNTIL' UMU 'DO' 'BEGIN'
'IF' MU=0'AND' CHI=0'THEN' 'BEGIN' PRINT(MU,1,2);
WRITE TEXT('(''('7S')'0.0'('9S')'0.0'('6S')'+1.00000'('C')'')');
'GOTO' LAST;
'END'; ZETAE:=-1;A:=INTA(MU,ZETAE,M);THETAIG:=MU*A
*PHI/(MU+2*CHI);ETA:=MU*MU/(MU+CHI);PRINT(MU,1,2);
SPACES(4); PRINT(ETA,2,5);  SPACES(4); PRINT(SQRT(ETA),2,5);
SPACES(4); PRINT(THETAIG,2,5); NEWLINES(1);
LAST:'END'; 'END';HELL:
'END'
 'END';
//RUN
1;0.2;0.2;2.0;
0.0;0.1;6.0;6;1;0.03;0.3;0.05;0.5;0.07;0.7;0.09;0.9;0.1;1.2;
0.1;1.5;0.1;1.8;0.1;2.4;
0.1;1.5;0.1;1.8;0.1;2.4;