code 35165;
    procedure BESS PQ0(X, P0, Q0);
    value X; real X, P0, Q0;
    if X < 8 then 
    begin real B, COSX, SINX, J0X, Y0;
      B:= SQRT(X) * 1.2533 14137 31550;
      BESS Y01(X, Y0, J0X); J0X:= BESS J0(X);
      X:= X-.78539 81633 97448; COSX:= COS(X); SINX:= SIN(X);
      P0:= B * (Y0 * SINX + J0X * COSX);
      Q0:= B * (Y0 * COSX - J0X * SINX)
    end else 
    begin real X2, AR, B0, B1, B2, Y;
            Y:= 8/X; X:= 2*Y*Y-1; X2:= X+X; B1:= B2:= 0;
            for AR:=
            -.10012          "-15, +.67481          "-15,
            -.506903         "-14, +.4326596        "-13,
            -.43045789       "-12, +.516826239      "-11,
            -.7864091377     "-10, +.163064646352   "- 8,
            -.5170594537606  "- 7, +.30751847875195 "- 5,
            -.536522046813212"- 3 do 
            begin B0:= X2 * B1 - B2 + AR;
               B2:= B1; B1:= B0
            end;
            P0:= X * B1 - B2 + .99946034934752;
            comment COMPUTATION OF Q0;
            B1:= B2:= 0;
            for AR:=
            -.60999          "-15, +.425523         "-14,
            -.3336328        "-13, +.30061451       "-12,
            -.320674742      "-11, +.4220121905     "-10,
            -.72719159369    "- 9, +.1797245724797  "- 7,
            -.74144984110606 "- 6, +.683851994261165"- 4
            do 
            begin B0:= X2 * B1 - B2 + AR;
                B2:= B1; B1:= B0
            end;
            Q0:=(X * B1 - B2 -.015555854605337) * Y
    end BESS PQ0

        eop