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