@@ -150,7 +150,7 @@ function besseli0(z::ComplexF64)
150
150
sinv = sqrt (zinv)/ sqrt (2 * pi )
151
151
p = evalpoly (zinv* zinv, (1.0 , 0.0703125 , 0.112152099609375 , 0.5725014209747314 , 6.074042001273483 , 110.01714026924674 , 3038.090510922384 , 118838.42625678325 , 6.252951493434797e6 , 4.259392165047669e8 , 3.646840080706556e10 , 3.8335346613939443e12 , 4.8540146868529006e14 , 7.286857349377656e16 ))
152
152
p2 = evalpoly (zinv* zinv, (0.125 , 0.0732421875 , 0.22710800170898438 , 1.7277275025844574 , 24.380529699556064 , 551.3358961220206 , 18257.755474293175 , 832859.3040162893 , 5.0069589531988926e7 , 3.8362551802304335e9 , 3.6490108188498334e11 , 4.218971570284097e13 , 5.827244631566907e15 , 9.47628809926011e17 ))
153
- r = zinv * ( e * sinv * muladd (p, z, p2 ) + im * muladd (p, z, - p2 ) * sinv / e)
153
+ r = e * sinv * muladd (p2, zinv, p ) + im * muladd (p2, - zinv, p ) * sinv / e
154
154
elseif abs (z) < 5.2
155
155
r = evalpoly (z* z, (1.0 , 0.25 , 0.015625 , 0.00043402777777777775 , 6.781684027777777e-6 , 6.781684027777778e-8 , 4.709502797067901e-10 , 2.4028075495244395e-12 , 9.385966990329842e-15 , 2.896903392077112e-17 , 7.242258480192779e-20 , 1.4963343967340453e-22 , 2.5978027721077174e-25 , 3.842903509035085e-28 , 4.9016626390753635e-31 , 5.4462918211948485e-34 , 5.318644356635594e-37 ))
156
156
else
@@ -263,7 +263,7 @@ function besseli1(z::ComplexF64)
263
263
sinv = sqrt (zinv) * SQ1O2PI (Float64)
264
264
p = evalpoly (zinv* zinv, (1.0 , - 0.1171875 , - 0.144195556640625 , - 0.6765925884246826 , - 6.883914268109947 , - 121.59789187653587 , - 3302.2722944808525 , - 127641.2726461746 , - 6.656367718817688e6 , - 4.502786003050393e8 , - 3.8338575207427895e10 , - 4.0118385991331978e12 , - 5.060568503314726e14 , - 7.572616461117957e16 , - 1.3262572853205555e19 ))
265
265
p2 = evalpoly (zinv* zinv, (0.375 , 0.1025390625 , 0.2775764465332031 , 1.993531733751297 , 27.248827311268542 , 603.8440767050702 , 19718.37591223663 , 890297.8767070678 , 5.310411010968523e7 , 4.043620325107754e9 , 3.827011346598606e11 , 4.406481417852279e13 , 6.065091351222699e15 , 9.83388387659068e17 ))
266
- r = zinv * ( e * sinv * muladd (p, z, - p2 ) - im * muladd (p, z, p2 ) * sinv / e)
266
+ r = e * sinv * muladd (- p2, zinv, p ) - im * muladd (p2, zinv, p ) * sinv / e
267
267
elseif abs (z) < 5.2
268
268
r = z* evalpoly (z* z, (0.5 , 0.0625 , 0.0026041666666666665 , 5.425347222222222e-5 , 6.781684027777778e-7 , 5.651403356481481e-9 , 3.363930569334215e-11 , 1.5017547184527747e-13 , 5.214426105738801e-16 , 1.4484516960385557e-18 , 3.2919356728148996e-21 , 6.234726653058522e-24 , 9.991549123491221e-27 , 1.3724655389411017e-29 , 1.6338875463584545e-32 , 1.7019661941233902e-35 , 1.564307163716351e-38 ))
269
269
else
0 commit comments