code 35122;
real procedure ARCCOS(X); value X; real X;
begin real U,V; U:= ABS(X); V:= (1-U)/(1+U);
V:= if V =0 then 0 else
if U+1=1 then 1.57079632679489 else
2*ARCTAN(SQRT(V));
ARCCOS:= if X>0 then V else 3.14159265358979 - V
end ARCCOS;
eop