code 35021;
procedure ERRORFUNCTION(X, ERF, ERFC);
value X; real X, ERF, ERFC;
if X > 26 then begin ERF:= 1; ERFC:= 0 end else
if X < -5.5 then begin ERF:= -1; ERFC:= 2 end else
begin real ABSX, C, P, Q;
ABSX:= ABS(X);
if ABSX <= 0.5 then
begin C:= X * X; P:= ((-0.35609 84370 18154"-1 * C +
0.69963 83488 61914"+1) * C + 0.21979 26161 82942"+2) * C +
0.24266 79552 30532"+3;
Q:= ((C +
0.15082 79763 04078"+2) * C + 0.91164 90540 45149"+2) * C +
0.21505 88758 69861"+3;
ERF:= X * P / Q; ERFC:= 1 - ERF
end else
begin ERFC:= EXP(-X * X) * NONEXPERFC(ABSX);
ERF:= 1 - ERFC;
if X < 0 then
begin ERF:= -ERF; ERFC:= 2 - ERFC end
end
end ERRORFUNCTION;
eop