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