out nn;
off nat;
%load "algint";

%k:=mat((2,-1),(-1,2));
k:=mat((2,-2),(-1,2));
%k:=mat((2,-1),(-2,2));

procedure delta(ii,jj);begin if ii eq jj then return 1 else return 0; end;

%procedure fip(ii,x); rrr:=sp(ii)*e**(sss*x);
%procedure fim(ii,x); rrr:=sm(ii)*e**x;
%procedure fip(ii,x); rrr:=x**-n;
%procedure fim(ii,x); rrr:=x**-n;
%procedure fip(ii,x); rrr:=n;
%procedure fim(ii,x); rrr:=n;

%procedure fip(ii,x); rrr:=sp(ii)*x;
%procedure fim(ii,x); rrr:=sm(ii)*x;
%procedure fip(ii,x); rrr:=delta(1,ii); zle
%procedure fim(ii,x); rrr:=delta(2,ii); zle
%procedure fip(ii,x); rrr:=1;
%procedure fim(ii,x); rrr:=1;

procedure fip(ii,x); rrr:=x**(n);
procedure fim(ii,x); rrr:=x**(n);



%procedure integ(f,x,a,b); rrr:=sub(x=b,int(f,x)) - sub(x=a,int(f,x));
procedure integ(f,x,a,b); rrr:=sub(x=b,int(f,x)) ;


for all ii let ap(ii) = integ(fip(ii,t1),t1,c,zp);
for all ii let am(ii) = integ(fim(ii,t1),t1,c,zm);

for all ii,jj let ap(ii,jj) = integ(fip(ii,t2)*integ(fip(jj,t1),t1,c,t2),t2,c,zp);
for all ii,jj let am(ii,jj) = integ(fim(ii,t2)*integ(fim(jj,t1),t1,c,t2),t2,c,zm);

for all i1,i2,i3 let ap(i1,i2,i3) = 
integ(fip(i1,t3)*integ(fip(i2,t2)*integ(fip(i3,t1),t1,c,t2),t2,c,t3),t3,c,zp);

for all i1,i2,i3 let am(i1,i2,i3) = 
integ(fim(i1,t3)*integ(fim(i2,t2)*integ(fim(i3,t1),t1,c,t2),t2,c,t3),t3,c,zm);

for all i1,i2,i3,i4 let ap(i1,i2,i3,i4) = 
integ(fip(i1,t4)
*integ(fip(i2,t3)
*integ(fip(i3,t2)
*integ(fip(i4,t1),t1,c,t2),t2,c,t3),t3,c,t4),t4,c,zp);

for all i1,i2,i3,i4 let am(i1,i2,i3,i4) = 
integ(fim(i1,t4)
*integ(fim(i2,t3)
*integ(fim(i3,t2)
*integ(fim(i4,t1),t1,c,t2),t2,c,t3),t3,c,t4),t4,c,zm);


%---dla A2 wystarczy --------------------------
%gg1:=1 - ap(1)*am(1) - k(1,2)*ap(1,2)*am(1,2);
%gg2:=1 - ap(2)*am(2) - k(2,1)*ap(2,1)*am(2,1);

%--- dla A2, B2 i C2 wystarczy --------------------------
b121121 := K(1,2)*(K(2,1) + 1);
b122221 := 2*K(1,2)*(K(1,2) + 1);
b12211221:=4;
b12211221 := 2*K(1,2)*( - 2*K(2,1)*K(1,2) - 2*K(2,1) - K(1,2) - 1);

gg1:=1 - ap(1)*am(1) - k(1,2)*ap(1,2)*am(1,2)
- b121121*ap(1,2,1)*am(1,2,1) 
- b122221*ap(1,2,2)*am(2,2,1)
+ b12211221*ap(1,2,2,1)*am(1,2,2,1);



%------------
b211112 := 2*K(2,1)*(K(2,1) + 1);
b212212 := K(2,1)*(K(1,2) + 1);
b21122112 := 2*K(2,1)*( - 2*K(2,1)*K(1,2) - K(2,1) - 2*K(1,2) - 1);

gg2:=1 - ap(2)*am(2) - k(2,1)*ap(2,1)*am(2,1)
- b211112*ap(2,1,1)*am(1,1,2) 
- b212212*ap(2,1,2)*am(2,1,2)
+ b21122112*ap(2,1,1,2)*am(2,1,1,2);

% ------------solution-------------

ro(1):=log( - df(log(gg1),zp,zm) );
ro(2):=log( - df(log(gg2),zp,zm) );

% ------------TL equation-------------

df(ro(1),zp,zm) - k(1,1)*e**ro(1) - k(1,2)*e**ro(2);
df(ro(2),zp,zm) - k(2,1)*e**ro(1) - k(2,2)*e**ro(2);

kk:=1/k;

x(1):=kk(1,1)*ro(1)+kk(1,2)*ro(2);
x(2):=kk(2,1)*ro(1)+kk(2,2)*ro(2);

%a1:=1;
%b1:=1;
%zp:=zpp*e**(b1*e4);
%zm:=zmm*e**(a1*e3);

%al1:=kk(1,1)+kk(1,2);
%al2:=kk(2,1)+kk(2,2);

%x(1):=kk(1,1)*ro(1)+kk(1,2)*ro(2)-al1*(e3*b1+e4*a1);
%x(2):=kk(2,1)*ro(1)+kk(2,2)*ro(2)-al2*(e3*b1+e4*a1);


%df(x(1),zpp,zmm) -e**(k(1,1)*x(1)+k(1,2)*x(2));
%df(x(2),zpp,zmm) -e**(k(2,1)*x(1)+k(2,2)*x(2));


df(x(1),zp,zm) -e**(k(1,1)*x(1)+k(1,2)*x(2));
df(x(2),zp,zm) -e**(k(2,1)*x(1)+k(2,2)*x(2));




ap(1,2);
ap(1);
ap(2);


for i1:=1:2 do for i2:=1:2 do for i3:=1:2 do write ap(i1,i2,i3);
for i1:=1:2 do for i2:=1:2 do for i3:=1:2 do write am(i1,i2,i3);

for i1:=1:2 do for i2:=1:2 do for i3:=1:2 do for i4:=1:2 do write ap(i1,i2,i3,i4);
for i1:=1:2 do for i2:=1:2 do for i3:=1:2 do for i4:=1:2 do write am(i1,i2,i3,i4);


shut nn;
bye;
end;