C #PNORB V1A 29-JUN-73. C LAST UPDATE: 18-JUL-73. C FUNCTION PNORB(X) C C *PURPOSE. C TO CALCULATE THE NORMAL PROBABILITY FUNCTION. "PNORB" C RETURNS THE PROBABILITY THAT A RANDOM VARIABLE WITH ZERO MEAN C AND UNIT STANDARD DEVIATION LIES BELOW X. EXPLICITLY THE VALUE C IS THE INTEGRAL OF: C (2*PI)**(-0.5) * EXP(-T**2/2.) C C BETWEEN MINUS INFINITY AND X. THE CORRESPONDING PROBABILITY FOR C MEAN "A" AND STANDARD DEVIATION "V" WOULD BE OBTAINED FROM: C C V*PNORB( (X-A)/V ) C C *PARAMETERS: C X - THE DIMENSIONLESS LIMIT FOR THE PROBABILITY INTEGRAL. C C INPUT PARAMETERS: C X C OUTPUT PARAMETERS: C (THE FUNCTION VALUE) C C *METHOD. C AN APPROXIMATION DUE ORIGINALLY TO C.HASTINGS AND GIVEN C BY M.ABRAMOWITZ AND I.STEGUN, "HANDBOOK OF MATHEMATICAL C FUNCTIONS", FORMULA 26.2.19, IS USED. C C *ACCURACY. C THE MAXIMUM ABSOLUTE ERROR GIVEN FOR THIS APPROXIMATION IN C THE ENTIRE RANGE -INFINITY TO +INFINITY IS 1.5E-7. C THIS ERROR MAY BE INCREASED BY MACHINE ROUNDING HOWEVER! C C *RESTRICTIONS. C C *ERROR CONDITIONS. C C *NON STANDARD ROUTINES CALLED. C C *TYPICAL TIMES. C C *ORIGIN. M.R.MANNING FROM ABRAMOWITZ AND STEGUN. C C *COMMENTS. C THIS ROUTINE IS A LITTLE FASTER THAN "PNORA" POSSIBLY C 30% FASTER ON SOME MACHINES AT THE EXPENSE OF A SLIGHT LOSS C IN ACCURACY. C C C #END. C C CONSTANTS FROM "A&S". DATA D1/ 0.0498673470/ DATA D2/ 0.0211410061/ DATA D3/ 0.0032776263/ DATA D4/ 0.0000380036/ DATA D5/ 0.0000488906/ DATA D6/ 0.0000053830/ C PNORB= 0. XT= ABS(X) IF (XT .GT. 5.5) GO TO 10 Q= 1./(1.+XT*(D1+XT*(D2+XT*(D3+XT*(D4+XT*(D5+XT*D6) ) ) ) ) ) PNORB= Q**16/2. 10 IF (X .GT. 0.) PNORB= 1. - PNORB C RETURN END