nfTlWNl rn Ѻq$³*%yNk9Sؒ=ŕgG:tHVO}i#ƴ6qʇs:|!H1gf\Ƶ tUG9)\fG;j}L+V\2C?P8빂N ĢQ$3pag?>y Ibk{y`#eIj NJΝp @0|ӠHw;]"C+%YnTA= aa̬BN̵oB.Z]ȅ*Wط8{|"cO ZXhL2fRS(lrE2SZǝ*x|nB?͒eʋ5n,DoNc,e|Ü(e)bT'4;c.ezw ĢQ$3 f E1<"Eɡ}Ȱ[t7H$/b@L-ByPKܝָ X$o(U}E q2+,IP_/[kvay.t7`Cp4bԶ,2SM_&3 I]C63O3tQ%`ߌ;뱎0_C&A[lJs`}XF#Jph1Z0אe=ECjD¯hZ3 :@Z>HA󰷗H)ʤy /Gxsm {ey{߅)JT6&èY%dTQ0"ĢWx[fmn!KoۥD%_I!E2hnuꩩΝW ȿGod9c6fRK*ǛtQŸ;&\ȌBk<V v%!+=ōDL Kc3jg:~K cOUÈu~n2X$1]\I]>iΗ`fC(UEՖFÚ{/AHT0TjJ(mYvn4zcSax\!1[zsm-&%ɼswcuWl 컅\>ݪ}P aٛZhGYu;"Snbl}-IX~Dh&w۷ʩﻼR{ ˀ"L~3ZVE2ZQK \4@:|P,vxS)ҠW~VM65HǷobX`~"OWBms޹ XG㮘F3N a_ 7a7T*cŶStlK8ρqȔ#y:RQ9 "'_)PB$*i<17 GLJ7pc(1hJ?_B y?o-;ur.U 7S#J9'Xj:'wĵ'k)+EYpWqç鄢&bQR_ONPNq l}g i#^C" w-UpǓܼ|@3 ĢQ$3PIa{bypĴMFZY֘GXj=5uz@.xM@ g+c KuݶdiB4ѭZn{Dj)JZ"#}|JG9SQu ~HMpz#2 Jf@?Dz7?r{ԖtV)ݼ|^j1`}īoБwH7ڢa1E³E!r"ɜmm80#0Yp)+;zϦJ|QT fll3So0C _o.$x, 1) * log($x) - 1 / $x); } $z = 8.0 / $x; $y = $z * $z; $xx = $x - 2.356194491; $ans1 = 1.0 + $y * (0.183105e-2 + $y * (-0.3516396496e-4 + $y * (0.2457520174e-5 + $y * (-0.240337019e-6)))); $ans2 = 0.04687499995 + $y * (-0.2002690873e-3 + $y * (0.8449199096e-5 + $y * (-0.88228987e-6 + $y * 0.105787412e-6))); return sqrt(0.636619772 / $x) * (sin($xx) * $ans1 + $z * cos($xx) * $ans2); } private static function besselY2(float $x, int $ord): float { $fTox = 2.0 / $x; $fBym = self::besselY0($x); $fBy = self::besselY1($x); for ($n = 1; $n < $ord; ++$n) { $fByp = $n * $fTox * $fBy - $fBym; $fBym = $fBy; $fBy = $fByp; } return $fBy; } }