code 35166;
procedure BESS PQ1(X, P1, Q1);
value X; real X, P1, Q1;
if X < 8 then
begin real B, COSX, SINX, J1X, Y1;
BESS Y01(X, J1X, Y1); J1X:= BESS J1(X);
X:= X-.78539 81633 97448; COSX:= COS(X); SINX:= SIN(X);
P1:= B * (J1X * SINX - Y1 * COSX);
Q1:= B * (J1X * COSX + Y1 * SINX)
end else
begin real X2, AR, B0, B1, B2, Y;
Y:= 8 / X; X:= 2 * Y * Y - 1; X2 := X + X;
comment COMPUTATION OF P1;
B1:= B2:= 0;
for AR:= +.10668"-15,
-.72212 "-15, +.545267 "-14,
-.4684224 "-13, +.46991955 "-12,
-.570486364 "-11, +.881689866 "-10,
-.187189074911 "- 8, +.6177633960644 "- 7,
-.39872843004889 "- 5, +.89898983308594 "- 3
do
begin B0:= B1 * X2 - B2 + AR;
B2:= B1; B1:= B0
end;
P1:= X * B1 - B2 + 1.0009030408600137;
comment COMPUTATION OF Q1;
B1:= B2:= 0;
for AR:=
-.10269 "-15, +.65083 "-15,
-.456125 "-14, +.3596777 "-13,
-.32643157 "-12, +.351521879 "-11,
-.4686363688 "-10, +.82291933277 "- 9,
-.2095978138408 "- 7, +.91386152579555 "- 6,
-.96277235491571 "- 4 do
begin B0:= X2 * B1 - B2 + AR;
B2:= B1; B1:= B0
end;
Q1:=(X * B1 - B2 + .46777787069535" -1) * Y
end BESS PQ1;
eop