code 35175;
    real procedure NONEXP BESS I0(X);
    value X; real X;
    if X= 0 then 
    NONEXP BESS I0:=1 else 
    if ABS(X) <= 15.0 then 
    begin 
      NONEXP BESS I0:= EXP(-ABS(X))*BESS I0(X)
    end else 
    begin real SQRTX, AR, BR, BR1, BR2, Z, Z2, NUMERATOR,
      DENOMINATOR;
      X:=ABS(X); SQRTX:= SQRT(X);
      BR1:= BR2:= 0; Z:= 30/X-1; Z2:= Z+Z;
      for AR:= .24392  60769  778,
      -.11559  19781  04435  "3,
      +.78403  42490  05088  "4,
      -.14346  46313  13583  "6  do 
      begin BR:= Z2*BR1-BR2+AR; BR2:= BR1; BR1:= BR end;
      NUMERATOR:= Z*BR1-BR2+.34651  98333  57379  "6;
      BR1:= BR2:= 0;
      for AR:= 1, -.32519  73333  69824  "3,
      +.20312  84361  00794  "5,
      -.36184  77792  19653  "6  do 
      begin BR:= Z2*BR1 - BR2 + AR;
          BR2:= BR1; BR1:= BR
      end;
      DENOMINATOR:= Z*BR1 - BR2 +.86566  52748  32055  "6;
      NONEXP BESS I0:= (NUMERATOR/DENOMINATOR)/SQRTX;
    end;
        eop