code 41534; real procedure NCSTUDENTINVC(PROB, DF, DELTA); value PROB, DF, DELTA; real PROB, DF, DELTA; begin real X, Y, TOL; procedure CORNISH FISHER EXPANSION; begin real UA, UA2, UA3, UA4, UA5; integer DF4, DFDF; UA:=PHINV(PROB); UA2:=UA×UA; UA3:=UA2×UA; UA4:=UA2×UA2; UA5:=UA4×UA; DF4:=DF×4; DFDF:=DF×DF; X:=-UA/DFDF/32; X:=X×DELTA - (UA2 - 1)/DFDF/24; X:=X×DELTA + UA/DF4 + (UA3 + UA×4)/DFDF/16; X:=X×DELTA + 1 + (UA2×2 + 1)/DF4 + (UA4×4 + UA2×12 + 1)/DFDF/32; X:=X×DELTA + UA + (UA3 + UA)/DF4 + (UA5×5 + UA3×16 + UA×3)/DFDF/96; end INITIAL APPROXIMATION BY CORNISH-FISHER METHOD; TOL:= 10-7; if PROB < TOL ∨ PROB > 1 - TOL then STATAL3 ERROR(“NCSTUDENTINV”, 1, PROB); if DF < 1 ∨ ENTIER(DF) ≠ DF then STATAL3 ERROR(“NCSTUDENTINV”, 2, DF); CORNISH FISHER EXPANSION; NCSTUDENTINV:= INVERSE(X, NCSTUDENT(X, DF, DELTA), PROB, TOL) end NCSTUDENTINV; eop