code 31110;
procedure LNG POW(A,AA,EXPON,C,CC);
value A,AA,EXPON;integer EXPON;real A,AA,C,CC;
begin integer OLDEX,NEWEX;real D,DD;
D:=A;DD:=AA;C:=1;CC:=0;NEWEX:=ABS(EXPON);
for OLDEX:=NEWEX"WHILE"NEWEX^=0do
begin NEWEX:=OLDEX//2;
if NEWEX+NEWEX^=OLDEX
then LNG MUL(C,CC,D,DD,C,CC);
if NEWEX^=0
then LNG MUL(D,DD,D,DD,D,DD)
end;
if EXPON<0then LNG DIV(1,0,C,CC,C,CC)
end LNG POW;
eop