00001 SUBROUTINE ZUNHJ(ZR, ZI, FNU, IPMTR, TOL, PHIR, PHII, ARGR, ARGI,
00002 * ZETA1R, ZETA1I, ZETA2R, ZETA2I, ASUMR, ASUMI, BSUMR, BSUMI)
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 DOUBLE PRECISION ALFA, ANG, AP, AR, ARGI, ARGR, ASUMI, ASUMR,
00038 * ATOL, AW2, AZTH, BETA, BR, BSUMI, BSUMR, BTOL, C, CONEI, CONER,
00039 * CRI, CRR, DRI, DRR, EX1, EX2, FNU, FN13, FN23, GAMA, GPI, HPI,
00040 * PHII, PHIR, PI, PP, PR, PRZTHI, PRZTHR, PTFNI, PTFNR, RAW, RAW2,
00041 * RAZTH, RFNU, RFNU2, RFN13, RTZTI, RTZTR, RZTHI, RZTHR, STI, STR,
00042 * SUMAI, SUMAR, SUMBI, SUMBR, TEST, TFNI, TFNR, THPI, TOL, TZAI,
00043 * TZAR, T2I, T2R, UPI, UPR, WI, WR, W2I, W2R, ZAI, ZAR, ZBI, ZBR,
00044 * ZCI, ZCR, ZEROI, ZEROR, ZETAI, ZETAR, ZETA1I, ZETA1R, ZETA2I,
00045 * ZETA2R, ZI, ZR, ZTHI, ZTHR, XZABS, AC, D1MACH
00046 INTEGER IAS, IBS, IPMTR, IS, J, JR, JU, K, KMAX, KP1, KS, L, LR,
00047 * LRP1, L1, L2, M, IDUM
00048 DIMENSION AR(14), BR(14), C(105), ALFA(180), BETA(210), GAMA(30),
00049 * AP(30), PR(30), PI(30), UPR(14), UPI(14), CRR(14), CRI(14),
00050 * DRR(14), DRI(14)
00051 DATA AR(1), AR(2), AR(3), AR(4), AR(5), AR(6), AR(7), AR(8),
00052 1 AR(9), AR(10), AR(11), AR(12), AR(13), AR(14)/
00053 2 1.00000000000000000D+00, 1.04166666666666667D-01,
00054 3 8.35503472222222222D-02, 1.28226574556327160D-01,
00055 4 2.91849026464140464D-01, 8.81627267443757652D-01,
00056 5 3.32140828186276754D+00, 1.49957629868625547D+01,
00057 6 7.89230130115865181D+01, 4.74451538868264323D+02,
00058 7 3.20749009089066193D+03, 2.40865496408740049D+04,
00059 8 1.98923119169509794D+05, 1.79190200777534383D+06/
00060 DATA BR(1), BR(2), BR(3), BR(4), BR(5), BR(6), BR(7), BR(8),
00061 1 BR(9), BR(10), BR(11), BR(12), BR(13), BR(14)/
00062 2 1.00000000000000000D+00, -1.45833333333333333D-01,
00063 3 -9.87413194444444444D-02, -1.43312053915895062D-01,
00064 4 -3.17227202678413548D-01, -9.42429147957120249D-01,
00065 5 -3.51120304082635426D+00, -1.57272636203680451D+01,
00066 6 -8.22814390971859444D+01, -4.92355370523670524D+02,
00067 7 -3.31621856854797251D+03, -2.48276742452085896D+04,
00068 8 -2.04526587315129788D+05, -1.83844491706820990D+06/
00069 DATA C(1), C(2), C(3), C(4), C(5), C(6), C(7), C(8), C(9), C(10),
00070 1 C(11), C(12), C(13), C(14), C(15), C(16), C(17), C(18),
00071 2 C(19), C(20), C(21), C(22), C(23), C(24)/
00072 3 1.00000000000000000D+00, -2.08333333333333333D-01,
00073 4 1.25000000000000000D-01, 3.34201388888888889D-01,
00074 5 -4.01041666666666667D-01, 7.03125000000000000D-02,
00075 6 -1.02581259645061728D+00, 1.84646267361111111D+00,
00076 7 -8.91210937500000000D-01, 7.32421875000000000D-02,
00077 8 4.66958442342624743D+00, -1.12070026162229938D+01,
00078 9 8.78912353515625000D+00, -2.36408691406250000D+00,
00079 A 1.12152099609375000D-01, -2.82120725582002449D+01,
00080 B 8.46362176746007346D+01, -9.18182415432400174D+01,
00081 C 4.25349987453884549D+01, -7.36879435947963170D+00,
00082 D 2.27108001708984375D-01, 2.12570130039217123D+02,
00083 E -7.65252468141181642D+02, 1.05999045252799988D+03/
00084 DATA C(25), C(26), C(27), C(28), C(29), C(30), C(31), C(32),
00085 1 C(33), C(34), C(35), C(36), C(37), C(38), C(39), C(40),
00086 2 C(41), C(42), C(43), C(44), C(45), C(46), C(47), C(48)/
00087 3 -6.99579627376132541D+02, 2.18190511744211590D+02,
00088 4 -2.64914304869515555D+01, 5.72501420974731445D-01,
00089 5 -1.91945766231840700D+03, 8.06172218173730938D+03,
00090 6 -1.35865500064341374D+04, 1.16553933368645332D+04,
00091 7 -5.30564697861340311D+03, 1.20090291321635246D+03,
00092 8 -1.08090919788394656D+02, 1.72772750258445740D+00,
00093 9 2.02042913309661486D+04, -9.69805983886375135D+04,
00094 A 1.92547001232531532D+05, -2.03400177280415534D+05,
00095 B 1.22200464983017460D+05, -4.11926549688975513D+04,
00096 C 7.10951430248936372D+03, -4.93915304773088012D+02,
00097 D 6.07404200127348304D+00, -2.42919187900551333D+05,
00098 E 1.31176361466297720D+06, -2.99801591853810675D+06/
00099 DATA C(49), C(50), C(51), C(52), C(53), C(54), C(55), C(56),
00100 1 C(57), C(58), C(59), C(60), C(61), C(62), C(63), C(64),
00101 2 C(65), C(66), C(67), C(68), C(69), C(70), C(71), C(72)/
00102 3 3.76327129765640400D+06, -2.81356322658653411D+06,
00103 4 1.26836527332162478D+06, -3.31645172484563578D+05,
00104 5 4.52187689813627263D+04, -2.49983048181120962D+03,
00105 6 2.43805296995560639D+01, 3.28446985307203782D+06,
00106 7 -1.97068191184322269D+07, 5.09526024926646422D+07,
00107 8 -7.41051482115326577D+07, 6.63445122747290267D+07,
00108 9 -3.75671766607633513D+07, 1.32887671664218183D+07,
00109 A -2.78561812808645469D+06, 3.08186404612662398D+05,
00110 B -1.38860897537170405D+04, 1.10017140269246738D+02,
00111 C -4.93292536645099620D+07, 3.25573074185765749D+08,
00112 D -9.39462359681578403D+08, 1.55359689957058006D+09,
00113 E -1.62108055210833708D+09, 1.10684281682301447D+09/
00114 DATA C(73), C(74), C(75), C(76), C(77), C(78), C(79), C(80),
00115 1 C(81), C(82), C(83), C(84), C(85), C(86), C(87), C(88),
00116 2 C(89), C(90), C(91), C(92), C(93), C(94), C(95), C(96)/
00117 3 -4.95889784275030309D+08, 1.42062907797533095D+08,
00118 4 -2.44740627257387285D+07, 2.24376817792244943D+06,
00119 5 -8.40054336030240853D+04, 5.51335896122020586D+02,
00120 6 8.14789096118312115D+08, -5.86648149205184723D+09,
00121 7 1.86882075092958249D+10, -3.46320433881587779D+10,
00122 8 4.12801855797539740D+10, -3.30265997498007231D+10,
00123 9 1.79542137311556001D+10, -6.56329379261928433D+09,
00124 A 1.55927986487925751D+09, -2.25105661889415278D+08,
00125 B 1.73951075539781645D+07, -5.49842327572288687D+05,
00126 C 3.03809051092238427D+03, -1.46792612476956167D+10,
00127 D 1.14498237732025810D+11, -3.99096175224466498D+11,
00128 E 8.19218669548577329D+11, -1.09837515608122331D+12/
00129 DATA C(97), C(98), C(99), C(100), C(101), C(102), C(103), C(104),
00130 1 C(105)/
00131 2 1.00815810686538209D+12, -6.45364869245376503D+11,
00132 3 2.87900649906150589D+11, -8.78670721780232657D+10,
00133 4 1.76347306068349694D+10, -2.16716498322379509D+09,
00134 5 1.43157876718888981D+08, -3.87183344257261262D+06,
00135 6 1.82577554742931747D+04/
00136 DATA ALFA(1), ALFA(2), ALFA(3), ALFA(4), ALFA(5), ALFA(6),
00137 1 ALFA(7), ALFA(8), ALFA(9), ALFA(10), ALFA(11), ALFA(12),
00138 2 ALFA(13), ALFA(14), ALFA(15), ALFA(16), ALFA(17), ALFA(18),
00139 3 ALFA(19), ALFA(20), ALFA(21), ALFA(22)/
00140 4 -4.44444444444444444D-03, -9.22077922077922078D-04,
00141 5 -8.84892884892884893D-05, 1.65927687832449737D-04,
00142 6 2.46691372741792910D-04, 2.65995589346254780D-04,
00143 7 2.61824297061500945D-04, 2.48730437344655609D-04,
00144 8 2.32721040083232098D-04, 2.16362485712365082D-04,
00145 9 2.00738858762752355D-04, 1.86267636637545172D-04,
00146 A 1.73060775917876493D-04, 1.61091705929015752D-04,
00147 B 1.50274774160908134D-04, 1.40503497391269794D-04,
00148 C 1.31668816545922806D-04, 1.23667445598253261D-04,
00149 D 1.16405271474737902D-04, 1.09798298372713369D-04,
00150 E 1.03772410422992823D-04, 9.82626078369363448D-05/
00151 DATA ALFA(23), ALFA(24), ALFA(25), ALFA(26), ALFA(27), ALFA(28),
00152 1 ALFA(29), ALFA(30), ALFA(31), ALFA(32), ALFA(33), ALFA(34),
00153 2 ALFA(35), ALFA(36), ALFA(37), ALFA(38), ALFA(39), ALFA(40),
00154 3 ALFA(41), ALFA(42), ALFA(43), ALFA(44)/
00155 4 9.32120517249503256D-05, 8.85710852478711718D-05,
00156 5 8.42963105715700223D-05, 8.03497548407791151D-05,
00157 6 7.66981345359207388D-05, 7.33122157481777809D-05,
00158 7 7.01662625163141333D-05, 6.72375633790160292D-05,
00159 8 6.93735541354588974D-04, 2.32241745182921654D-04,
00160 9 -1.41986273556691197D-05, -1.16444931672048640D-04,
00161 A -1.50803558053048762D-04, -1.55121924918096223D-04,
00162 B -1.46809756646465549D-04, -1.33815503867491367D-04,
00163 C -1.19744975684254051D-04, -1.06184319207974020D-04,
00164 D -9.37699549891194492D-05, -8.26923045588193274D-05,
00165 E -7.29374348155221211D-05, -6.44042357721016283D-05/
00166 DATA ALFA(45), ALFA(46), ALFA(47), ALFA(48), ALFA(49), ALFA(50),
00167 1 ALFA(51), ALFA(52), ALFA(53), ALFA(54), ALFA(55), ALFA(56),
00168 2 ALFA(57), ALFA(58), ALFA(59), ALFA(60), ALFA(61), ALFA(62),
00169 3 ALFA(63), ALFA(64), ALFA(65), ALFA(66)/
00170 4 -5.69611566009369048D-05, -5.04731044303561628D-05,
00171 5 -4.48134868008882786D-05, -3.98688727717598864D-05,
00172 6 -3.55400532972042498D-05, -3.17414256609022480D-05,
00173 7 -2.83996793904174811D-05, -2.54522720634870566D-05,
00174 8 -2.28459297164724555D-05, -2.05352753106480604D-05,
00175 9 -1.84816217627666085D-05, -1.66519330021393806D-05,
00176 A -1.50179412980119482D-05, -1.35554031379040526D-05,
00177 B -1.22434746473858131D-05, -1.10641884811308169D-05,
00178 C -3.54211971457743841D-04, -1.56161263945159416D-04,
00179 D 3.04465503594936410D-05, 1.30198655773242693D-04,
00180 E 1.67471106699712269D-04, 1.70222587683592569D-04/
00181 DATA ALFA(67), ALFA(68), ALFA(69), ALFA(70), ALFA(71), ALFA(72),
00182 1 ALFA(73), ALFA(74), ALFA(75), ALFA(76), ALFA(77), ALFA(78),
00183 2 ALFA(79), ALFA(80), ALFA(81), ALFA(82), ALFA(83), ALFA(84),
00184 3 ALFA(85), ALFA(86), ALFA(87), ALFA(88)/
00185 4 1.56501427608594704D-04, 1.36339170977445120D-04,
00186 5 1.14886692029825128D-04, 9.45869093034688111D-05,
00187 6 7.64498419250898258D-05, 6.07570334965197354D-05,
00188 7 4.74394299290508799D-05, 3.62757512005344297D-05,
00189 8 2.69939714979224901D-05, 1.93210938247939253D-05,
00190 9 1.30056674793963203D-05, 7.82620866744496661D-06,
00191 A 3.59257485819351583D-06, 1.44040049814251817D-07,
00192 B -2.65396769697939116D-06, -4.91346867098485910D-06,
00193 C -6.72739296091248287D-06, -8.17269379678657923D-06,
00194 D -9.31304715093561232D-06, -1.02011418798016441D-05,
00195 E -1.08805962510592880D-05, -1.13875481509603555D-05/
00196 DATA ALFA(89), ALFA(90), ALFA(91), ALFA(92), ALFA(93), ALFA(94),
00197 1 ALFA(95), ALFA(96), ALFA(97), ALFA(98), ALFA(99), ALFA(100),
00198 2 ALFA(101), ALFA(102), ALFA(103), ALFA(104), ALFA(105),
00199 3 ALFA(106), ALFA(107), ALFA(108), ALFA(109), ALFA(110)/
00200 4 -1.17519675674556414D-05, -1.19987364870944141D-05,
00201 5 3.78194199201772914D-04, 2.02471952761816167D-04,
00202 6 -6.37938506318862408D-05, -2.38598230603005903D-04,
00203 7 -3.10916256027361568D-04, -3.13680115247576316D-04,
00204 8 -2.78950273791323387D-04, -2.28564082619141374D-04,
00205 9 -1.75245280340846749D-04, -1.25544063060690348D-04,
00206 A -8.22982872820208365D-05, -4.62860730588116458D-05,
00207 B -1.72334302366962267D-05, 5.60690482304602267D-06,
00208 C 2.31395443148286800D-05, 3.62642745856793957D-05,
00209 D 4.58006124490188752D-05, 5.24595294959114050D-05,
00210 E 5.68396208545815266D-05, 5.94349820393104052D-05/
00211 DATA ALFA(111), ALFA(112), ALFA(113), ALFA(114), ALFA(115),
00212 1 ALFA(116), ALFA(117), ALFA(118), ALFA(119), ALFA(120),
00213 2 ALFA(121), ALFA(122), ALFA(123), ALFA(124), ALFA(125),
00214 3 ALFA(126), ALFA(127), ALFA(128), ALFA(129), ALFA(130)/
00215 4 6.06478527578421742D-05, 6.08023907788436497D-05,
00216 5 6.01577894539460388D-05, 5.89199657344698500D-05,
00217 6 5.72515823777593053D-05, 5.52804375585852577D-05,
00218 7 5.31063773802880170D-05, 5.08069302012325706D-05,
00219 8 4.84418647620094842D-05, 4.60568581607475370D-05,
00220 9 -6.91141397288294174D-04, -4.29976633058871912D-04,
00221 A 1.83067735980039018D-04, 6.60088147542014144D-04,
00222 B 8.75964969951185931D-04, 8.77335235958235514D-04,
00223 C 7.49369585378990637D-04, 5.63832329756980918D-04,
00224 D 3.68059319971443156D-04, 1.88464535514455599D-04/
00225 DATA ALFA(131), ALFA(132), ALFA(133), ALFA(134), ALFA(135),
00226 1 ALFA(136), ALFA(137), ALFA(138), ALFA(139), ALFA(140),
00227 2 ALFA(141), ALFA(142), ALFA(143), ALFA(144), ALFA(145),
00228 3 ALFA(146), ALFA(147), ALFA(148), ALFA(149), ALFA(150)/
00229 4 3.70663057664904149D-05, -8.28520220232137023D-05,
00230 5 -1.72751952869172998D-04, -2.36314873605872983D-04,
00231 6 -2.77966150694906658D-04, -3.02079514155456919D-04,
00232 7 -3.12594712643820127D-04, -3.12872558758067163D-04,
00233 8 -3.05678038466324377D-04, -2.93226470614557331D-04,
00234 9 -2.77255655582934777D-04, -2.59103928467031709D-04,
00235 A -2.39784014396480342D-04, -2.20048260045422848D-04,
00236 B -2.00443911094971498D-04, -1.81358692210970687D-04,
00237 C -1.63057674478657464D-04, -1.45712672175205844D-04,
00238 D -1.29425421983924587D-04, -1.14245691942445952D-04/
00239 DATA ALFA(151), ALFA(152), ALFA(153), ALFA(154), ALFA(155),
00240 1 ALFA(156), ALFA(157), ALFA(158), ALFA(159), ALFA(160),
00241 2 ALFA(161), ALFA(162), ALFA(163), ALFA(164), ALFA(165),
00242 3 ALFA(166), ALFA(167), ALFA(168), ALFA(169), ALFA(170)/
00243 4 1.92821964248775885D-03, 1.35592576302022234D-03,
00244 5 -7.17858090421302995D-04, -2.58084802575270346D-03,
00245 6 -3.49271130826168475D-03, -3.46986299340960628D-03,
00246 7 -2.82285233351310182D-03, -1.88103076404891354D-03,
00247 8 -8.89531718383947600D-04, 3.87912102631035228D-06,
00248 9 7.28688540119691412D-04, 1.26566373053457758D-03,
00249 A 1.62518158372674427D-03, 1.83203153216373172D-03,
00250 B 1.91588388990527909D-03, 1.90588846755546138D-03,
00251 C 1.82798982421825727D-03, 1.70389506421121530D-03,
00252 D 1.55097127171097686D-03, 1.38261421852276159D-03/
00253 DATA ALFA(171), ALFA(172), ALFA(173), ALFA(174), ALFA(175),
00254 1 ALFA(176), ALFA(177), ALFA(178), ALFA(179), ALFA(180)/
00255 2 1.20881424230064774D-03, 1.03676532638344962D-03,
00256 3 8.71437918068619115D-04, 7.16080155297701002D-04,
00257 4 5.72637002558129372D-04, 4.42089819465802277D-04,
00258 5 3.24724948503090564D-04, 2.20342042730246599D-04,
00259 6 1.28412898401353882D-04, 4.82005924552095464D-05/
00260 DATA BETA(1), BETA(2), BETA(3), BETA(4), BETA(5), BETA(6),
00261 1 BETA(7), BETA(8), BETA(9), BETA(10), BETA(11), BETA(12),
00262 2 BETA(13), BETA(14), BETA(15), BETA(16), BETA(17), BETA(18),
00263 3 BETA(19), BETA(20), BETA(21), BETA(22)/
00264 4 1.79988721413553309D-02, 5.59964911064388073D-03,
00265 5 2.88501402231132779D-03, 1.80096606761053941D-03,
00266 6 1.24753110589199202D-03, 9.22878876572938311D-04,
00267 7 7.14430421727287357D-04, 5.71787281789704872D-04,
00268 8 4.69431007606481533D-04, 3.93232835462916638D-04,
00269 9 3.34818889318297664D-04, 2.88952148495751517D-04,
00270 A 2.52211615549573284D-04, 2.22280580798883327D-04,
00271 B 1.97541838033062524D-04, 1.76836855019718004D-04,
00272 C 1.59316899661821081D-04, 1.44347930197333986D-04,
00273 D 1.31448068119965379D-04, 1.20245444949302884D-04,
00274 E 1.10449144504599392D-04, 1.01828770740567258D-04/
00275 DATA BETA(23), BETA(24), BETA(25), BETA(26), BETA(27), BETA(28),
00276 1 BETA(29), BETA(30), BETA(31), BETA(32), BETA(33), BETA(34),
00277 2 BETA(35), BETA(36), BETA(37), BETA(38), BETA(39), BETA(40),
00278 3 BETA(41), BETA(42), BETA(43), BETA(44)/
00279 4 9.41998224204237509D-05, 8.74130545753834437D-05,
00280 5 8.13466262162801467D-05, 7.59002269646219339D-05,
00281 6 7.09906300634153481D-05, 6.65482874842468183D-05,
00282 7 6.25146958969275078D-05, 5.88403394426251749D-05,
00283 8 -1.49282953213429172D-03, -8.78204709546389328D-04,
00284 9 -5.02916549572034614D-04, -2.94822138512746025D-04,
00285 A -1.75463996970782828D-04, -1.04008550460816434D-04,
00286 B -5.96141953046457895D-05, -3.12038929076098340D-05,
00287 C -1.26089735980230047D-05, -2.42892608575730389D-07,
00288 D 8.05996165414273571D-06, 1.36507009262147391D-05,
00289 E 1.73964125472926261D-05, 1.98672978842133780D-05/
00290 DATA BETA(45), BETA(46), BETA(47), BETA(48), BETA(49), BETA(50),
00291 1 BETA(51), BETA(52), BETA(53), BETA(54), BETA(55), BETA(56),
00292 2 BETA(57), BETA(58), BETA(59), BETA(60), BETA(61), BETA(62),
00293 3 BETA(63), BETA(64), BETA(65), BETA(66)/
00294 4 2.14463263790822639D-05, 2.23954659232456514D-05,
00295 5 2.28967783814712629D-05, 2.30785389811177817D-05,
00296 6 2.30321976080909144D-05, 2.28236073720348722D-05,
00297 7 2.25005881105292418D-05, 2.20981015361991429D-05,
00298 8 2.16418427448103905D-05, 2.11507649256220843D-05,
00299 9 2.06388749782170737D-05, 2.01165241997081666D-05,
00300 A 1.95913450141179244D-05, 1.90689367910436740D-05,
00301 B 1.85533719641636667D-05, 1.80475722259674218D-05,
00302 C 5.52213076721292790D-04, 4.47932581552384646D-04,
00303 D 2.79520653992020589D-04, 1.52468156198446602D-04,
00304 E 6.93271105657043598D-05, 1.76258683069991397D-05/
00305 DATA BETA(67), BETA(68), BETA(69), BETA(70), BETA(71), BETA(72),
00306 1 BETA(73), BETA(74), BETA(75), BETA(76), BETA(77), BETA(78),
00307 2 BETA(79), BETA(80), BETA(81), BETA(82), BETA(83), BETA(84),
00308 3 BETA(85), BETA(86), BETA(87), BETA(88)/
00309 4 -1.35744996343269136D-05, -3.17972413350427135D-05,
00310 5 -4.18861861696693365D-05, -4.69004889379141029D-05,
00311 6 -4.87665447413787352D-05, -4.87010031186735069D-05,
00312 7 -4.74755620890086638D-05, -4.55813058138628452D-05,
00313 8 -4.33309644511266036D-05, -4.09230193157750364D-05,
00314 9 -3.84822638603221274D-05, -3.60857167535410501D-05,
00315 A -3.37793306123367417D-05, -3.15888560772109621D-05,
00316 B -2.95269561750807315D-05, -2.75978914828335759D-05,
00317 C -2.58006174666883713D-05, -2.41308356761280200D-05,
00318 D -2.25823509518346033D-05, -2.11479656768912971D-05,
00319 E -1.98200638885294927D-05, -1.85909870801065077D-05/
00320 DATA BETA(89), BETA(90), BETA(91), BETA(92), BETA(93), BETA(94),
00321 1 BETA(95), BETA(96), BETA(97), BETA(98), BETA(99), BETA(100),
00322 2 BETA(101), BETA(102), BETA(103), BETA(104), BETA(105),
00323 3 BETA(106), BETA(107), BETA(108), BETA(109), BETA(110)/
00324 4 -1.74532699844210224D-05, -1.63997823854497997D-05,
00325 5 -4.74617796559959808D-04, -4.77864567147321487D-04,
00326 6 -3.20390228067037603D-04, -1.61105016119962282D-04,
00327 7 -4.25778101285435204D-05, 3.44571294294967503D-05,
00328 8 7.97092684075674924D-05, 1.03138236708272200D-04,
00329 9 1.12466775262204158D-04, 1.13103642108481389D-04,
00330 A 1.08651634848774268D-04, 1.01437951597661973D-04,
00331 B 9.29298396593363896D-05, 8.40293133016089978D-05,
00332 C 7.52727991349134062D-05, 6.69632521975730872D-05,
00333 D 5.92564547323194704D-05, 5.22169308826975567D-05,
00334 E 4.58539485165360646D-05, 4.01445513891486808D-05/
00335 DATA BETA(111), BETA(112), BETA(113), BETA(114), BETA(115),
00336 1 BETA(116), BETA(117), BETA(118), BETA(119), BETA(120),
00337 2 BETA(121), BETA(122), BETA(123), BETA(124), BETA(125),
00338 3 BETA(126), BETA(127), BETA(128), BETA(129), BETA(130)/
00339 4 3.50481730031328081D-05, 3.05157995034346659D-05,
00340 5 2.64956119950516039D-05, 2.29363633690998152D-05,
00341 6 1.97893056664021636D-05, 1.70091984636412623D-05,
00342 7 1.45547428261524004D-05, 1.23886640995878413D-05,
00343 8 1.04775876076583236D-05, 8.79179954978479373D-06,
00344 9 7.36465810572578444D-04, 8.72790805146193976D-04,
00345 A 6.22614862573135066D-04, 2.85998154194304147D-04,
00346 B 3.84737672879366102D-06, -1.87906003636971558D-04,
00347 C -2.97603646594554535D-04, -3.45998126832656348D-04,
00348 D -3.53382470916037712D-04, -3.35715635775048757D-04/
00349 DATA BETA(131), BETA(132), BETA(133), BETA(134), BETA(135),
00350 1 BETA(136), BETA(137), BETA(138), BETA(139), BETA(140),
00351 2 BETA(141), BETA(142), BETA(143), BETA(144), BETA(145),
00352 3 BETA(146), BETA(147), BETA(148), BETA(149), BETA(150)/
00353 4 -3.04321124789039809D-04, -2.66722723047612821D-04,
00354 5 -2.27654214122819527D-04, -1.89922611854562356D-04,
00355 6 -1.55058918599093870D-04, -1.23778240761873630D-04,
00356 7 -9.62926147717644187D-05, -7.25178327714425337D-05,
00357 8 -5.22070028895633801D-05, -3.50347750511900522D-05,
00358 9 -2.06489761035551757D-05, -8.70106096849767054D-06,
00359 A 1.13698686675100290D-06, 9.16426474122778849D-06,
00360 B 1.56477785428872620D-05, 2.08223629482466847D-05,
00361 C 2.48923381004595156D-05, 2.80340509574146325D-05,
00362 D 3.03987774629861915D-05, 3.21156731406700616D-05/
00363 DATA BETA(151), BETA(152), BETA(153), BETA(154), BETA(155),
00364 1 BETA(156), BETA(157), BETA(158), BETA(159), BETA(160),
00365 2 BETA(161), BETA(162), BETA(163), BETA(164), BETA(165),
00366 3 BETA(166), BETA(167), BETA(168), BETA(169), BETA(170)/
00367 4 -1.80182191963885708D-03, -2.43402962938042533D-03,
00368 5 -1.83422663549856802D-03, -7.62204596354009765D-04,
00369 6 2.39079475256927218D-04, 9.49266117176881141D-04,
00370 7 1.34467449701540359D-03, 1.48457495259449178D-03,
00371 8 1.44732339830617591D-03, 1.30268261285657186D-03,
00372 9 1.10351597375642682D-03, 8.86047440419791759D-04,
00373 A 6.73073208165665473D-04, 4.77603872856582378D-04,
00374 B 3.05991926358789362D-04, 1.60315694594721630D-04,
00375 C 4.00749555270613286D-05, -5.66607461635251611D-05,
00376 D -1.32506186772982638D-04, -1.90296187989614057D-04/
00377 DATA BETA(171), BETA(172), BETA(173), BETA(174), BETA(175),
00378 1 BETA(176), BETA(177), BETA(178), BETA(179), BETA(180),
00379 2 BETA(181), BETA(182), BETA(183), BETA(184), BETA(185),
00380 3 BETA(186), BETA(187), BETA(188), BETA(189), BETA(190)/
00381 4 -2.32811450376937408D-04, -2.62628811464668841D-04,
00382 5 -2.82050469867598672D-04, -2.93081563192861167D-04,
00383 6 -2.97435962176316616D-04, -2.96557334239348078D-04,
00384 7 -2.91647363312090861D-04, -2.83696203837734166D-04,
00385 8 -2.73512317095673346D-04, -2.61750155806768580D-04,
00386 9 6.38585891212050914D-03, 9.62374215806377941D-03,
00387 A 7.61878061207001043D-03, 2.83219055545628054D-03,
00388 B -2.09841352012720090D-03, -5.73826764216626498D-03,
00389 C -7.70804244495414620D-03, -8.21011692264844401D-03,
00390 D -7.65824520346905413D-03, -6.47209729391045177D-03/
00391 DATA BETA(191), BETA(192), BETA(193), BETA(194), BETA(195),
00392 1 BETA(196), BETA(197), BETA(198), BETA(199), BETA(200),
00393 2 BETA(201), BETA(202), BETA(203), BETA(204), BETA(205),
00394 3 BETA(206), BETA(207), BETA(208), BETA(209), BETA(210)/
00395 4 -4.99132412004966473D-03, -3.45612289713133280D-03,
00396 5 -2.01785580014170775D-03, -7.59430686781961401D-04,
00397 6 2.84173631523859138D-04, 1.10891667586337403D-03,
00398 7 1.72901493872728771D-03, 2.16812590802684701D-03,
00399 8 2.45357710494539735D-03, 2.61281821058334862D-03,
00400 9 2.67141039656276912D-03, 2.65203073395980430D-03,
00401 A 2.57411652877287315D-03, 2.45389126236094427D-03,
00402 B 2.30460058071795494D-03, 2.13684837686712662D-03,
00403 C 1.95896528478870911D-03, 1.77737008679454412D-03,
00404 D 1.59690280765839059D-03, 1.42111975664438546D-03/
00405 DATA GAMA(1), GAMA(2), GAMA(3), GAMA(4), GAMA(5), GAMA(6),
00406 1 GAMA(7), GAMA(8), GAMA(9), GAMA(10), GAMA(11), GAMA(12),
00407 2 GAMA(13), GAMA(14), GAMA(15), GAMA(16), GAMA(17), GAMA(18),
00408 3 GAMA(19), GAMA(20), GAMA(21), GAMA(22)/
00409 4 6.29960524947436582D-01, 2.51984209978974633D-01,
00410 5 1.54790300415655846D-01, 1.10713062416159013D-01,
00411 6 8.57309395527394825D-02, 6.97161316958684292D-02,
00412 7 5.86085671893713576D-02, 5.04698873536310685D-02,
00413 8 4.42600580689154809D-02, 3.93720661543509966D-02,
00414 9 3.54283195924455368D-02, 3.21818857502098231D-02,
00415 A 2.94646240791157679D-02, 2.71581677112934479D-02,
00416 B 2.51768272973861779D-02, 2.34570755306078891D-02,
00417 C 2.19508390134907203D-02, 2.06210828235646240D-02,
00418 D 1.94388240897880846D-02, 1.83810633800683158D-02,
00419 E 1.74293213231963172D-02, 1.65685837786612353D-02/
00420 DATA GAMA(23), GAMA(24), GAMA(25), GAMA(26), GAMA(27), GAMA(28),
00421 1 GAMA(29), GAMA(30)/
00422 2 1.57865285987918445D-02, 1.50729501494095594D-02,
00423 3 1.44193250839954639D-02, 1.38184805735341786D-02,
00424 4 1.32643378994276568D-02, 1.27517121970498651D-02,
00425 5 1.22761545318762767D-02, 1.18338262398482403D-02/
00426 DATA EX1, EX2, HPI, GPI, THPI /
00427 1 3.33333333333333333D-01, 6.66666666666666667D-01,
00428 2 1.57079632679489662D+00, 3.14159265358979324D+00,
00429 3 4.71238898038468986D+00/
00430 DATA ZEROR,ZEROI,CONER,CONEI / 0.0D0, 0.0D0, 1.0D0, 0.0D0 /
00431
00432 RFNU = 1.0D0/FNU
00433
00434
00435
00436 TEST = D1MACH(1)*1.0D+3
00437 AC = FNU*TEST
00438 IF (DABS(ZR).GT.AC .OR. DABS(ZI).GT.AC) GO TO 15
00439 ZETA1R = 2.0D0*DABS(DLOG(TEST))+FNU
00440 ZETA1I = 0.0D0
00441 ZETA2R = FNU
00442 ZETA2I = 0.0D0
00443 PHIR = 1.0D0
00444 PHII = 0.0D0
00445 ARGR = 1.0D0
00446 ARGI = 0.0D0
00447 RETURN
00448 15 CONTINUE
00449 ZBR = ZR*RFNU
00450 ZBI = ZI*RFNU
00451 RFNU2 = RFNU*RFNU
00452
00453
00454
00455 FN13 = FNU**EX1
00456 FN23 = FN13*FN13
00457 RFN13 = 1.0D0/FN13
00458 W2R = CONER - ZBR*ZBR + ZBI*ZBI
00459 W2I = CONEI - ZBR*ZBI - ZBR*ZBI
00460 AW2 = XZABS(W2R,W2I)
00461 IF (AW2.GT.0.25D0) GO TO 130
00462
00463
00464
00465 K = 1
00466 PR(1) = CONER
00467 PI(1) = CONEI
00468 SUMAR = GAMA(1)
00469 SUMAI = ZEROI
00470 AP(1) = 1.0D0
00471 IF (AW2.LT.TOL) GO TO 20
00472 DO 10 K=2,30
00473 PR(K) = PR(K-1)*W2R - PI(K-1)*W2I
00474 PI(K) = PR(K-1)*W2I + PI(K-1)*W2R
00475 SUMAR = SUMAR + PR(K)*GAMA(K)
00476 SUMAI = SUMAI + PI(K)*GAMA(K)
00477 AP(K) = AP(K-1)*AW2
00478 IF (AP(K).LT.TOL) GO TO 20
00479 10 CONTINUE
00480 K = 30
00481 20 CONTINUE
00482 KMAX = K
00483 ZETAR = W2R*SUMAR - W2I*SUMAI
00484 ZETAI = W2R*SUMAI + W2I*SUMAR
00485 ARGR = ZETAR*FN23
00486 ARGI = ZETAI*FN23
00487 CALL XZSQRT(SUMAR, SUMAI, ZAR, ZAI)
00488 CALL XZSQRT(W2R, W2I, STR, STI)
00489 ZETA2R = STR*FNU
00490 ZETA2I = STI*FNU
00491 STR = CONER + EX2*(ZETAR*ZAR-ZETAI*ZAI)
00492 STI = CONEI + EX2*(ZETAR*ZAI+ZETAI*ZAR)
00493 ZETA1R = STR*ZETA2R - STI*ZETA2I
00494 ZETA1I = STR*ZETA2I + STI*ZETA2R
00495 ZAR = ZAR + ZAR
00496 ZAI = ZAI + ZAI
00497 CALL XZSQRT(ZAR, ZAI, STR, STI)
00498 PHIR = STR*RFN13
00499 PHII = STI*RFN13
00500 IF (IPMTR.EQ.1) GO TO 120
00501
00502
00503
00504 SUMBR = ZEROR
00505 SUMBI = ZEROI
00506 DO 30 K=1,KMAX
00507 SUMBR = SUMBR + PR(K)*BETA(K)
00508 SUMBI = SUMBI + PI(K)*BETA(K)
00509 30 CONTINUE
00510 ASUMR = ZEROR
00511 ASUMI = ZEROI
00512 BSUMR = SUMBR
00513 BSUMI = SUMBI
00514 L1 = 0
00515 L2 = 30
00516 BTOL = TOL*(DABS(BSUMR)+DABS(BSUMI))
00517 ATOL = TOL
00518 PP = 1.0D0
00519 IAS = 0
00520 IBS = 0
00521 IF (RFNU2.LT.TOL) GO TO 110
00522 DO 100 IS=2,7
00523 ATOL = ATOL/RFNU2
00524 PP = PP*RFNU2
00525 IF (IAS.EQ.1) GO TO 60
00526 SUMAR = ZEROR
00527 SUMAI = ZEROI
00528 DO 40 K=1,KMAX
00529 M = L1 + K
00530 SUMAR = SUMAR + PR(K)*ALFA(M)
00531 SUMAI = SUMAI + PI(K)*ALFA(M)
00532 IF (AP(K).LT.ATOL) GO TO 50
00533 40 CONTINUE
00534 50 CONTINUE
00535 ASUMR = ASUMR + SUMAR*PP
00536 ASUMI = ASUMI + SUMAI*PP
00537 IF (PP.LT.TOL) IAS = 1
00538 60 CONTINUE
00539 IF (IBS.EQ.1) GO TO 90
00540 SUMBR = ZEROR
00541 SUMBI = ZEROI
00542 DO 70 K=1,KMAX
00543 M = L2 + K
00544 SUMBR = SUMBR + PR(K)*BETA(M)
00545 SUMBI = SUMBI + PI(K)*BETA(M)
00546 IF (AP(K).LT.ATOL) GO TO 80
00547 70 CONTINUE
00548 80 CONTINUE
00549 BSUMR = BSUMR + SUMBR*PP
00550 BSUMI = BSUMI + SUMBI*PP
00551 IF (PP.LT.BTOL) IBS = 1
00552 90 CONTINUE
00553 IF (IAS.EQ.1 .AND. IBS.EQ.1) GO TO 110
00554 L1 = L1 + 30
00555 L2 = L2 + 30
00556 100 CONTINUE
00557 110 CONTINUE
00558 ASUMR = ASUMR + CONER
00559 PP = RFNU*RFN13
00560 BSUMR = BSUMR*PP
00561 BSUMI = BSUMI*PP
00562 120 CONTINUE
00563 RETURN
00564
00565
00566
00567 130 CONTINUE
00568 CALL XZSQRT(W2R, W2I, WR, WI)
00569 IF (WR.LT.0.0D0) WR = 0.0D0
00570 IF (WI.LT.0.0D0) WI = 0.0D0
00571 STR = CONER + WR
00572 STI = WI
00573 CALL ZDIV(STR, STI, ZBR, ZBI, ZAR, ZAI)
00574 CALL XZLOG(ZAR, ZAI, ZCR, ZCI, IDUM)
00575 IF (ZCI.LT.0.0D0) ZCI = 0.0D0
00576 IF (ZCI.GT.HPI) ZCI = HPI
00577 IF (ZCR.LT.0.0D0) ZCR = 0.0D0
00578 ZTHR = (ZCR-WR)*1.5D0
00579 ZTHI = (ZCI-WI)*1.5D0
00580 ZETA1R = ZCR*FNU
00581 ZETA1I = ZCI*FNU
00582 ZETA2R = WR*FNU
00583 ZETA2I = WI*FNU
00584 AZTH = XZABS(ZTHR,ZTHI)
00585 ANG = THPI
00586 IF (ZTHR.GE.0.0D0 .AND. ZTHI.LT.0.0D0) GO TO 140
00587 ANG = HPI
00588 IF (ZTHR.EQ.0.0D0) GO TO 140
00589 ANG = DATAN(ZTHI/ZTHR)
00590 IF (ZTHR.LT.0.0D0) ANG = ANG + GPI
00591 140 CONTINUE
00592 PP = AZTH**EX2
00593 ANG = ANG*EX2
00594 ZETAR = PP*DCOS(ANG)
00595 ZETAI = PP*DSIN(ANG)
00596 IF (ZETAI.LT.0.0D0) ZETAI = 0.0D0
00597 ARGR = ZETAR*FN23
00598 ARGI = ZETAI*FN23
00599 CALL ZDIV(ZTHR, ZTHI, ZETAR, ZETAI, RTZTR, RTZTI)
00600 CALL ZDIV(RTZTR, RTZTI, WR, WI, ZAR, ZAI)
00601 TZAR = ZAR + ZAR
00602 TZAI = ZAI + ZAI
00603 CALL XZSQRT(TZAR, TZAI, STR, STI)
00604 PHIR = STR*RFN13
00605 PHII = STI*RFN13
00606 IF (IPMTR.EQ.1) GO TO 120
00607 RAW = 1.0D0/DSQRT(AW2)
00608 STR = WR*RAW
00609 STI = -WI*RAW
00610 TFNR = STR*RFNU*RAW
00611 TFNI = STI*RFNU*RAW
00612 RAZTH = 1.0D0/AZTH
00613 STR = ZTHR*RAZTH
00614 STI = -ZTHI*RAZTH
00615 RZTHR = STR*RAZTH*RFNU
00616 RZTHI = STI*RAZTH*RFNU
00617 ZCR = RZTHR*AR(2)
00618 ZCI = RZTHI*AR(2)
00619 RAW2 = 1.0D0/AW2
00620 STR = W2R*RAW2
00621 STI = -W2I*RAW2
00622 T2R = STR*RAW2
00623 T2I = STI*RAW2
00624 STR = T2R*C(2) + C(3)
00625 STI = T2I*C(2)
00626 UPR(2) = STR*TFNR - STI*TFNI
00627 UPI(2) = STR*TFNI + STI*TFNR
00628 BSUMR = UPR(2) + ZCR
00629 BSUMI = UPI(2) + ZCI
00630 ASUMR = ZEROR
00631 ASUMI = ZEROI
00632 IF (RFNU.LT.TOL) GO TO 220
00633 PRZTHR = RZTHR
00634 PRZTHI = RZTHI
00635 PTFNR = TFNR
00636 PTFNI = TFNI
00637 UPR(1) = CONER
00638 UPI(1) = CONEI
00639 PP = 1.0D0
00640 BTOL = TOL*(DABS(BSUMR)+DABS(BSUMI))
00641 KS = 0
00642 KP1 = 2
00643 L = 3
00644 IAS = 0
00645 IBS = 0
00646 DO 210 LR=2,12,2
00647 LRP1 = LR + 1
00648
00649
00650
00651
00652 DO 160 K=LR,LRP1
00653 KS = KS + 1
00654 KP1 = KP1 + 1
00655 L = L + 1
00656 ZAR = C(L)
00657 ZAI = ZEROI
00658 DO 150 J=2,KP1
00659 L = L + 1
00660 STR = ZAR*T2R - T2I*ZAI + C(L)
00661 ZAI = ZAR*T2I + ZAI*T2R
00662 ZAR = STR
00663 150 CONTINUE
00664 STR = PTFNR*TFNR - PTFNI*TFNI
00665 PTFNI = PTFNR*TFNI + PTFNI*TFNR
00666 PTFNR = STR
00667 UPR(KP1) = PTFNR*ZAR - PTFNI*ZAI
00668 UPI(KP1) = PTFNI*ZAR + PTFNR*ZAI
00669 CRR(KS) = PRZTHR*BR(KS+1)
00670 CRI(KS) = PRZTHI*BR(KS+1)
00671 STR = PRZTHR*RZTHR - PRZTHI*RZTHI
00672 PRZTHI = PRZTHR*RZTHI + PRZTHI*RZTHR
00673 PRZTHR = STR
00674 DRR(KS) = PRZTHR*AR(KS+2)
00675 DRI(KS) = PRZTHI*AR(KS+2)
00676 160 CONTINUE
00677 PP = PP*RFNU2
00678 IF (IAS.EQ.1) GO TO 180
00679 SUMAR = UPR(LRP1)
00680 SUMAI = UPI(LRP1)
00681 JU = LRP1
00682 DO 170 JR=1,LR
00683 JU = JU - 1
00684 SUMAR = SUMAR + CRR(JR)*UPR(JU) - CRI(JR)*UPI(JU)
00685 SUMAI = SUMAI + CRR(JR)*UPI(JU) + CRI(JR)*UPR(JU)
00686 170 CONTINUE
00687 ASUMR = ASUMR + SUMAR
00688 ASUMI = ASUMI + SUMAI
00689 TEST = DABS(SUMAR) + DABS(SUMAI)
00690 IF (PP.LT.TOL .AND. TEST.LT.TOL) IAS = 1
00691 180 CONTINUE
00692 IF (IBS.EQ.1) GO TO 200
00693 SUMBR = UPR(LR+2) + UPR(LRP1)*ZCR - UPI(LRP1)*ZCI
00694 SUMBI = UPI(LR+2) + UPR(LRP1)*ZCI + UPI(LRP1)*ZCR
00695 JU = LRP1
00696 DO 190 JR=1,LR
00697 JU = JU - 1
00698 SUMBR = SUMBR + DRR(JR)*UPR(JU) - DRI(JR)*UPI(JU)
00699 SUMBI = SUMBI + DRR(JR)*UPI(JU) + DRI(JR)*UPR(JU)
00700 190 CONTINUE
00701 BSUMR = BSUMR + SUMBR
00702 BSUMI = BSUMI + SUMBI
00703 TEST = DABS(SUMBR) + DABS(SUMBI)
00704 IF (PP.LT.BTOL .AND. TEST.LT.BTOL) IBS = 1
00705 200 CONTINUE
00706 IF (IAS.EQ.1 .AND. IBS.EQ.1) GO TO 220
00707 210 CONTINUE
00708 220 CONTINUE
00709 ASUMR = ASUMR + CONER
00710 STR = -BSUMR*RFN13
00711 STI = -BSUMI*RFN13
00712 CALL ZDIV(STR, STI, RTZTR, RTZTI, BSUMR, BSUMI)
00713 GO TO 120
00714 END