real procedure tDistr(m,t);value m,t;integer m;real t; begin integer i; real x,s,u,v; x:=arctan(abs(t)/sqrt(m));v:=cos(x)**2; if m%2*2=m then begin s:=u:=sin(x)/2; i:=0 end else begin u:=4*arctan(1);s:=x/u;u:=sin(2*x)/u/2; if m>=3 then s:=s+u;i:=1 end; m:=m-2; L: if i>=m then go to out;i:=i+2;u:=u*v*(i-1)/i;s:=s+u;go to L; out: tDistr:= if t<=0 then .5-s else .5+s end tDistr;