code 41531; real procedure STUDENTINV(PROB, DF); value PROB, DF; real PROB, DF; begin if PROB < 10-10 ∨ PROB > 1 - 10-10 then STATAL3 ERROR(“STUDENTINV”, 1, PROB) else if DF ≤ 0 then STATAL3 ERROR(“STUDENTINV”, 2, DF) else begin real X, U, U2; U:= PHINV(PROB); U2:= U × U; X:= U × (1 + (U2 + 1) / 4 / DF + (3 + U2 × (U2 × 5 + 16)) / 96 / DF / DF); STUDENTINV:= INVERSE(X, STUDENT(X, DF), PROB, 10-10) end end STUDENTINV; eop