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