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