% Relation Number Number
% 
% fact
% fact
fact_fact(_x,_y,_upvals):-_upvals=[],(((_x = 0.0,_y = 1.0);(dif(_x,0.0),{_x-1.0=T2},call(fact_fact(T2,_T1),_upvals),{_x*_T1=T3},_y = T3))).
% main
fact(X):-_fact = clos([],fact_fact),call_cl(_fact,[2.0,_y]),writeln_(_y),X=_fact.